Postfix+SpamAssassin

VineLinux3.2の場合、apt-get spamassassin で入る。でもちょっとバージョンが古いので、気にする人はソースとってきてコンパイルするなりしてください。

/usr/share/doc/spamassassin-2.64/sample-japanese-local.cf に日本語環境向けの設定ファイルがある、でもデフォルトのままではあまりよくないような気がする。(でも私はほぼそのまま使う)
/etc/mail/spamassassin/local.cfへコピーしてちょこちょこ編集

vi /etc/mail/spamassassin/local.cf
report_header 1
rewrite_subject 0
bayes_auto_learn 1
bayes_path /var/spool/bayes/bayes
bayes_file_mode = 777
などなど。
/var/spool/bayes/bayesをベイズ理論による学習に用いる設定にしてる。みなで共有する場合は、777で作ってあげましょう。

/sbin/chkconfig spamassassin on
/etc/init.d/spamassassin start

spamc < /usr/share/doc/spamassassin-2.64/sample-spam.txt |less
で動作確認、ちゃんと
X-Spam-Flag: YES
X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on yuika
X-Spam-Level: **************************************************
X-Spam-Status: Yes, hits=1000.0 required=5.5 tests=GTUBE autolearn=no
version=2.64
などのヘッダが入っていればOK

/etc/postfix/master.cfの編集
# 既存の設定を書き換え
#smtp inet n - n - - smtpd
smtp inet n - n - - smtpd -o content_filter=spamassassin
# 新しく項目を追加
spamassassin unix - n n - - pipe
user=rarul argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

このmaster.cfの書き換えにより、Postfixがローカル配送する前にSpamAssassinをフィルタとして通すようになる。書き換えた後「/etc/init.d/postfix restart」で/var/log/maillogにエラーがないか確認。少なくとも私は、コンソール上では「起動成功!!」みたいに表示されておきながら実は動いていない(ログにもエラーあり)なんて状況になったもんで。

あとは、正データ・負データから学習してやればOK
sa-learn --spam /home/rarul/spam
sa-learn --ham /home/rarul/ham

でも、学習の甲斐なく、今のところスパムが素通りの模様。何が悪いんだろ。

このブログ記事について

このページは、らるるが2005年12月11日 05:28に書いたブログ記事です。

ひとつ前のブログ記事は「イルミネーションの罠」です。

次のブログ記事は「ルータがお亡くなりになられました」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

ウェブページ

Powered by Movable Type 7.5.0