bsfilterをqmail/imap4で使う

rootになってportsでrubyをインストール

cd /usr/ports/lang/ruby
make install

以下メールアカウントユーザになり

http://www.h2.dion.ne.jp/~nabeken/bsfilter/
から
http://www.h2.dion.ne.jp/~nabeken/bsfilter/bsfilter.1.33
をホームディレクトリに持ってきて

cd ~
mv bsfilter.1.33 bsfilter
chmod 755 bsfilter
というように名前を変え実行権限をあたえておきます。

次に当面のスパムメイルパターン・クリーンメイルパターンを学習させておきます。

事前準備としてSPAMと言うフォルダをimap4サーバに作っておいて、日頃からメンテ
ナンスしている事を前提としています。(inboxはクリーンな状態であること。)

~/Maildir/cur/*
にあるクリーンメイル(非スパム)を

./bsfilter -c ~/Maildir/cur/*

と学習させ

スパムメイル学習は

./bsfilter -s Maildir/.SPAM/cur/*

とします。curと言うぐらいだからとりあえず全て既読にしておくこと。

他に

http://www.flcl.org/~yoh/spam9xxxx.tar.gz
spamをかき集めたデータもあるので

cd ~
mkdir spamexamples
cd spamexamples
fetch http://www.flcl.org/~yoh/spam9xxxx.tar.gz
tar zxvf spam9xxxx.tar.gz

./bsfilter -s spamexamples/*
とやって勉強をさらにしてもらいます。

次に

./bsfilter -u
でデータベースをアップデートして、さしあたっての準備は完了。

方針として
・クリーンなメールは通常通り ./Maildir/以下に格納
・SPAMの疑いのあるものは SPAMディレクトリに押し込める。(~/Maildir/.SPAM/以下)
・誤認逮捕されたメイルは ./Maildir/cur/以下に手動で移してあげて再度
 クリーンDBに学習させる。
・捕捉できなかったものは ./Maildir/.SPAM/cur/以下に移動しておいて
 さらに学習させる。

と言うようにします。

~/.qmailに

| /var/qmail/bin/condredirect アカウント名-spam /home/アカウント名/bsfilter
./Maildir/

~/.qmail-spam に
./Maildir/.SPAM/

と書いておいけば作業終了です。

あとは学習の日々(メンテ)となるのですが、

./bsfilter -c Maildir/cur/*
./bsfilter -s Maildir/.SPAM/cur/*
./bsfilter -u

をcronで回せば良いような気もしますが、とてもお利口なフィルタなので上記を手動で
やらせるだけで満足しています。

高村のホームに戻る