パスワードを忘れた? アカウント作成
650713 journal

minakajiの日記: fetchmail+procmail+bogofilter

日記 by minakaji
液晶ディスプレイが壊れた使い古しの libretto 100 に imap server を立て、家庭内 LAN のどの PC からでもメールが読めるようにしていたが、ハードディスク障害で立ち上がらなくなってしまった。 ディスクの復旧が可能かもしれないので、libretto 100 はそのまま置いてあるが、とりあえずメールの 読み書きができないのは不便なので、Linux が入っている Note PC 単独で読み書きできるよう、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 からでもメールを読むことができるよ うになるだろう。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

アレゲは一日にしてならず -- アレゲ見習い

読み込み中...