このブログを検索
2016/12/24
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 としたら書かれなかったのでフルパスを指定した。