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

コメントする

このブログ記事について

このページは、が2005年1月19日 10:37に書いたブログ記事です。

ひとつ前のブログ記事は「cygwin perl の @INC」です。

次のブログ記事は「Subversion」です。

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

Powered by Movable Type 4.01