SpamAssassin on cygwin
数多くのスパムメールが飛び交う昨今、近年ではメールサーバ側でスパムフィルタを適応することがよくありこの hatotech.org でも SpamAssassin が適応されています。会社でも適応したいねえと ITEMAN とも話しているのですがなかなか時間が取れないということで導入至らずな現状なもののどうにかしたいと思い MDA レベルで導入してみることに。cygwin で。
まずは SpamAssassin の導入。perl で動いているプログラムですが、CPAN で導入することができます。
CPAN> install Mail::Spamassassin
以上。cygwin ながらもアッサリ導入できました。素晴らしい。構築に若干時間はかかりました。
続いて適応。私は fetchamil + procmail の黄金パターンでメール取り込みを行っており、procmail にてフィルタリングする形になります。.procmailrc で以下のような感じ。
# procmail 初期セッティング PATH=/usr/bin:/usr/local/bin:/bin MAILDIR=$HOME/Mail DEFAULT=$MAILDIR/inbox/. LOGFILE=$MAILDIR/from-log LOCKFILE=$HOME/.lockmail # Spamassassin 適応 :0fw | /usr/bin/spamc # spam と認定されたら spam へ :0 * ^X-Spam-Status: Yes* spam/.
SpamAssassin 側で各メールの Header に
X-Spam-Checker-Version:
X-Spam-Level:
X-Spam-Status:
というラインが追加されますので、その値を使ってあとはお好きなようにという感じです。X-Spam-Status: の Yes/No で判断するのが良さそうです。
あとは spamd コマンドで SpamAssassin デーモンを立ち上げておきます。
spam も日々進化していますので spam と認識できないメールもあるでしょうし、逆に Spam と判断されてしまったメールもあるかと思います。そんなときのために sa-learn というコマンドが別途準備されています。これを使うことで SpamAssssin に勉強させることができます。
目的のメールを仮に ~/Mail/spam-learn に置いたとして、
メールを spam として勉強させる
sa-learn --spam ~/Mail/spam-learn
メールを非 spam として勉強させる
sa-learn --ham ~/Mail/spam-learn
あとは /etc/mail/spamassassin/local.cf に別途 spam ワードとして登録できる模様。実際やってないですが、日本語も JIS コードに変換した状態で記載すれば適応できるようです。
トラックバック(0)
このブログ記事を参照しているブログ一覧: SpamAssassin on cygwin
このブログ記事に対するトラックバックURL: http://hatotech.org/mt-admin/mt-tb.cgi/407

コメントする