Spamフィルタの盲点?
サーバ側のspamフィルタをSpamAssassinに変えたと言ったけど、 なぜかspamと判定していないものも含めて全部のメールをJunkフォルダに放り込みはじめたので、なんだこりゃと思っていた。 まあほとんどがspamなのでそれもいいかなという気もするけど、それじゃフィルタをかける意味がない。 ヘッダを眺めていると、 SpamAssassinはうまく動いていることがわかった。 しかしSpamAssassinがHamと判定したメールまでprocmailがJunkフォルダに放り込んでしまう。 書いていたprocmailのルールはこのようなもの。
:0fw *!^X-Spam.*
|/usr/bin/spamc
:0 * ?formail -x "X-Spam-Status:" | grep -qi YES
Junk
そして、
X-Spam-Status: No, score=10.4 required=13.0 tests=BAYES_99,
CONTENT_TYPE_PRESENT,DATE_IN_FUTURE_03_06,FAKEDWORD_ZERO,FUZZY_PHARMACY, TEXT_NOCHARSET
autolearn=no version=3.2.4
これが「grep -qi YES」でtrueを返すのですよ。
X-Spam-Status: No, score=10.4 required=13.0 tests=BAYES_99,
CONTENT_TYPE_PRESENT,DATE_IN_FUTURE_03_06,FAKEDWORD_ZERO,FUZZY_PHARMACY, TEXT_NOCHARSET
autolearn=no version=3.2.4
そんなバカみたいな話もありつつ。