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で回せば良いような気もしますが、とてもお利口なフィルタなので上記を手動で
やらせるだけで満足しています。
高村のホームに戻る