amavisd-new

amavisd-newとspamassassinの連携でバーチャルドメイン運用のメールのヘッダにスパム情報をつける

なにやらタイトルが長くなってしまったのですがこれ以外書きようがないのでご容赦を。。。

Centos5のpostfixのバーチャルドメイン運用環境でamavisd-newにてclamavとspamassassinを使うために各種設定を行ったのですが、spamassassinの判断結果がメールヘッダに付加されないという状況に四苦八苦したので解決方法をメモしておきます。

amavisd-newでspamassassinの処理結果をメールヘッダに付加するためには通常
$sa_tag_level_defltの値をあり得ない値(マイナス値)にしておき、$mydomainを運用ドメイン名にしておけば必ず付加されるのですが、

(設定例)
/etc/amavisd.conf
$sa_tag_level_deflt = -999;
$mydomain = example.com

マルチドメイン運用の場合はその名の通り複数のドメインを扱うことになるのでこれでは設定できません。そこで@local_domains_mapsに運用ドメインを追加することになるのですが、ドメインが増える毎に都度ここを変更するのは面倒&変更漏れがあるといけないので、何とかならないかと思ってたどり着いた結果

@local_domains_maps = ( 1 );

とすればよいという結論に。
これと先の設定を行うことですべてのメールにspamassassinの処理結果がメールヘッダに付与されるようになります。

(メールヘッダ例)
X-Spam-Flag: NO
X-Spam-Score: 5.119
X-Spam-Level: *****
X-Spam-Status: No, score=5.119 required=13 tests=[AWL=0.388,
CONTENT_TYPE_PRESENT=-0.1, DNS_FROM_OPENWHOIS=2.431,
ISO2022JP_CHARSET=-0.1, ONLY1HOPDIRECT=1, RCVD_NUMERIC_HELO2=1.5]
autolearn=no

この設定は「すべて」のメールにspamassassinの処理結果を付加するので、メール転送の場合にも処理結果が付加されてしまうと思われますので、これが嫌な場合は、粛々とドメイン名を素直に追加していくしかないでしょうね。

下記が今回の確認環境ですが、今回の例はほかのOS等でも汎用的に適用できるものと思います。

運用環境
 CentOS 5.5
 Postfix 2.3.3
 Dovecot 1.0.7
 MySQL 5.0.77
 Amavisd-new
 clamav
 spamassassin

コンテンツの配信