spamassassinに学習させる



spamassassinはほぼ完ぺきにspamを駆除していたが、

数か月たつとすり抜けるメールが増えてきたので、
学習させることにした。

#spamを学習
/usr/bin/sa-learn --spam /home/*/Maildir/.INBOX.spam/cur

#spamでないメールを学習
/usr/bin/sa-learn --ham /home/*/Maildir/cur


当然、学習させるspamメールは手動でフォルダに移動させねばならない。

私はspamassassinでspam判定したメールはspamフォルダに移動したりせず
いきなり消している。

誤判定をチェックできないがまあ、ほとんど試験的なアカウントなので。

普通はspamフォルダを作ってそこに移動させると思うが、
そのフォルダを作るには

maildirmake というコマンドを使うらしいが、そんなコマンドがない。

makedirで作ればいいのだろうがわざわざコマンド(スクリプトらしい)を使うくらいだから、
複数作ったり何か規則があったりするのだろう。

面倒くさいのでthunderbirdでspamフォルダを作った。

INBOXのしたに「spam」というフォルダを作った場合、
下記のように指定する。

/home/hoge/Maildir/.INBOX.spam/cur



これを毎日cronで動かすようにする。

0 3 * * * root /home/hoge/spamlearn.sh


中身

------------------------------------------

#! /bin/sh

# スパムメールの学習
/usr/bin/sa-learn --spam /home/*/Maildir/.INBOX.spam/cur

# 通常のメールを学習
/usr/bin/sa-learn --ham /home/*/Maildir/cur

echo done:`date`>> /home/hoge/log.txt

--------------------------------------

最後のechoは実行したかどうかわかるようにするためのもの。

コマンドをバッククォートで囲むと実行結果をechoできる。

最初 ./log.txt としたら書かれなかったのでフルパスを指定した。