Postfixでspamass-milter

インストール

# cd /usr/ports/mail/spamass-milter
# make install

コンパイルオプションはIPv4環境でpostfixとの組み合わせならDOCS以外要らない。

/var/run/spamass-milter.sockが無ければ作成する。ファイルの所有権は下の設定の内容に合わせる。

# touch /var/run/spamass-milter.sock
# chown postfix:vmail /var/run/spamass-milter.sock
# chmod 0660 /var/run/spamass-milter.sock

設定

portsで入れると設定ファイルは無し。替わりに/etc/rc.confに必要なものを追記。

1
2
3
4
5
spamass_milter_enable="YES"
spamass_milter_socket_owner="postfix"
spamass_milter_socket_group="vmail"
spamass_milter_socket_mode="0660"
spamass_milter_localflags="-i 127.0.0.1,192.168.0.0/24"

socketの所有権はpostfixの利用構成によっては違うかもしれないので、上の例のまま使うのは要注意。
最後のspamass_milter_localflagsにはspamass-milterで追加したいオプションを記載する。上の例ではSpamAssassinでメールを判定しない送信元IPアドレス(範囲)を指定している。メール受信ではSpamAssassinによる判定は必要だけど、メール送信ではSpamAssassinによる判定は要らないという場合に指定すると良いかと。
(SpamAssassin使っていないメールサーバで受信したメールにSpamAssassinのSpam判定フラグとか付いてたら「えっ?」ってなるよね。)
他のオプションを追加する場合も全てをspamass_milter_localflagsに1行で。

postfixにも設定を追記。
/usr/local/etc/postfix/main.cf

1
2
3
4
5
6
7
milter_default_action = accept
milter_protocol = 2
smtpd_milters =
    inet:127.0.0.1:10025
    unix:/var/run/spamass-milter.sock
    unix:/var/run/clamav/clmilter.sock           #これはspamass-milterとは関係ない
    unix:/var/run/milterdkim/dkim-filter.sock    #これはspamass-milterとは関係ない

必要に応じてnon_smtpd_miltersも同様に。

起動/停止

# service spamass-milter start      #起動
# service spamass-milter stop       #停止