minakajiの日記: fetchmail+procmail+bogofilter
こんなことを書くと、どこぞのマニュアル絶対主義信仰者にお叱りを受けるかもしれないが、手っ取り 早いので、google で適当な設定をいくつか拾ってきて自分向けにアレンジし、意味の分からないところ を拾ってマニュアルで読む。
.fetchmailrc は fetchmail を daemon モードで動かし、プロバイダの POP サーバからメール を取得してきたら、procmail にデリバリーを任せるように設定。
set daemon 300
set nobouncemail
poll (POP SERVER)
proto pop3
user (USERNAME)
password (PASSWORD)
no mimedecode
mda "/usr/bin/procmail"
.procmailrc では、Maildir 方式でメールを配送させることと、主に bogofilter を使用して spam を選別し、$HOME/Mail/spambox ディレクトリに MH 形式で spam 容疑メールを放り込むように設 定。改めて procmail の設定ファイルの文法の複雑さに頭を痛める。
PATH=$HOME/bin:/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR
LOGFILE=$HOME/Mail/procmail.log
LOCKFILE=$HOME/tmp/.procmail
SPAMDIR=$HOME/Mail/spambox/.
## Silently drop all completely unreadable mail
:0:
* 1^0 ^\/Subject:.*=\?(.*big5|ISO-2022-KR|euc-kr|gb2312|ks_c_5601-1987|windows-1251|windows-1256)\?
* 1^0 ^\/Content-Type:.*charset="(.*big5|ISO-2022-KR|euc-kr|gb2312|ks_c_5601-1987|windows-1251|windows-1256)
$SPAMDIR
:0fw
| bogofilter -f -p -e -v
#| bogofilter -f -p -u -l -e -v
# -f)isher, -p)assthrough -u)pdate, -l)og -e)xitcode 0 for spam and ham
# -v)erbose
:0e { EXITCODE=75 HOST }
:0:
* ^X-Bogosity: (Spam|Yes)
$SPAMDIR
ハングルや中国語のメールはそれぞれの国に知り合いもいないしどうせ読めないので、bogofilter で
チェックするまでもなく $HOME/Mail/spambox に移動 (これで弊害なければ /dev/null 直行でも問題
いぐらいか)。 SPAMDIR の値の終わりに . を付けないとメールを MH 形式で保存してくれない
のには参った。
また、bogofilter に関連する日本語の web page が意外にも極く少ないのには驚いた。
小野さんのページから bogofilter の日本
語パッチを入手して bogofilter を remake。 これは kakasi ライブラリを使用してわかち書きされな
い日本語を単語に分解して goodlist.db, badlist.db に登録してくれるものだ。まぁオレの場合は 90%
以上が英語、中国語、ハングルの spam なんだが。
後は $HOME/Mail/spambox に溜った容疑者をちょくちょくチェックしながら、goodlist.db,
badlist.db を更新してゆけば spam を拝む日も日に日に減ってゆくことだろう。落ち着いたらこの
マシンに imap サーバを立てれば LAN の他のマシンや Palm からでもメールを読むことができるよ
うになるだろう。
fetchmail+procmail+bogofilter More ログイン