ベイジアンスパムフィルタ
とってもいまさら感がありますが(笑)、これまた現在試行運用中。
qmail+imapという環境を使ってるところで導入する場合、bsfilterでSPAM撲滅というページが参考になります。
それでもやっぱり気になるところがあって調べたので、それのメモ。
以下のような2つのファイルを作る。
- ~/.qmailの内容(2行)
/var/qmail/bin/condredirect アカウント名-spam /home/アカウント名/bsfilter |
./Maildir/
./Maildir/
これらのファイルの意味は以下のとおり。
- .qmailの内容
- .qmailに記述された内容は、上からシーケンシャルに解釈される。
- condredirectは、CONDition REDIRECTの略と推定。
- condredirectの第一引数はメールアドレス(ローカル配送なので、これだけで済む)
- condredirectの第二引数は、動く際にメールを標準入力から食べるコマンド(今回はbsfilterが指定される)。
- まず最初の行が評価(というか実行)される。
- 今回の場合、bsfilterにメールの内容を食べさせ、Spam判定されるとステータス0が返り、そうでない場合はそれ以外の値が返る。この場合、condredirectの第二引数に与えたコマンドのステータスが0になる(Spam判定された)場合は、第一引数に与えたアドレスにメールを転送し、それ以降の行は実行しない。→.qmail-spamの内容が有効に。
- 非Spam判定された場合は、順当にMaildir配下のメールボックス(inbox相当のところ)にメールは入る。
- 参考:condredirectのマニュアル
- .qmailに記述された内容は、上からシーケンシャルに解釈される。
- .qmail-spamの内容
- ~/.qmail-hogehogeというファイルを作ると、例えばそのホームディレクトリがwakatonoというユーザの持ち物だった場合、そのマシン上のwakatono-hogehogeというメールアドレスが有効になる。例えば、そのマシンがexample.comというドメインのメールサーバだった場合、wakatonoというユーザがそのメールサーバ上にあれば、wakatono@example.comというメールアドレスが存在し、さらにそのホームディレクトリ直下に.qmail-hogehogeというファイルがあった場合には、wakatono-hogehoge@example.comというメールアドレスができる。そのメールアドレスにメールが来た場合の実際の配送先(転送先のメールアドレスとかメールボックスとか)は、.qmail-hogehogeファイルの中に記述することになる。
- 今回の場合、配送先に./Maildir/.SPAM/とかかれてるので、配送されてきたメールは全部このディレクトリ配下(要はSPAMフォルダ)に格納される。
…結構しんどい(笑)