サーバ側の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
そんなバカみたいな話もありつつ。