[Linux] Debian GNU/Linux 等に関する Unix 系の設定メモ

メールフィルタリング

Last Update: 2007--0-2- (Wed) 19: 2

IMAP を本格的に運用するため、spam チェックと procmail の振り分けを全てサーバ上で行なおうと思います。

うちは Debian に慣れる前にメールサーバの構築を行ったので、全て(qmail+vpopmail+courier-imap)がソースからインストールされている状態になっています。

今回やる事は、(1)fetchmail でプロバイダのメール受信 → (2)procmail でローカルのアカウントに配信 → (3)bsfilter で spam チェック → (4)procmail で振り分け、です。

fetchmail はメールの受信を行なうプログラム。procmail はメールの振り分けを行なうプログラム。bsfilter は spam チェック用のベイジアンフィルタ。大雑把に、こんな感じの機能が付いています。

何でこんなに大袈裟な事をするのかと言うと、プロバイダの複数のメールとサーバに直接届くメールとを同じ bsfilter で処理させたかったからです。アカウントが少ない人はこんな大袈裟な事をする必要はありません。

まず、(1)と(2)の設定から。~/.fetchmailrc を用意して普通に受信する設定と procmail に渡す設定をします。簡単なので省略。~/.procmailrc はローカルに適当に作ったアカウントに転送するだけの設定を記述しました。こんな感じ。

:0
*
! hogehoge@example.com

これで、(1)(2)は完了。次は(3)。

hogehoge@example.com に到着したメールを bsfilter でフィルタリングします。.qmail を使って設定するのですが、vpopmail の .qmail は、/var/vpopmail/domains/example.com/hogehoge/ に配置するみたいです。内容はこんな感じ。bsfilter でチェックして、spam なら、spam アカウントへ転送。そうでなければ、procmail に渡す。

| /var/qmail/bin/condredirect spam /usr/local/bin/bsfilter --auto-update
| /usr/bin/procmail -m ./.procmailrc

でもって、最後の(4)。.procmailrc も、.qmail と同じディレクトリに配置します。ここ /var/vpopmail/domains/example.com/hogehoge/.procmailrc 。内容はこんな感じ。

PATH=/usr/bin:/bin:/usr/local/bin
HOME=/var/vpopmail/domains/example.com/hogehoge
MAILDIR=$HOME/Maildir
DEFAULT=$HOME/Maildir/
LOGFILE=$MAILDIR/procmail.log
LOCKFILE=$MAILDIR/procmail.lock

:0
* ^X-ML-Name:.*vim-jp
$HOME/Maildir/.vim-jp/

振り分けの設定は適当にご自由に。上記の設定は vim-jp という ML 用のメールを vim-jp というディレクトリに移動するというものです。どれにもマッチしないメールは DEFAULT ディレクトリにいきます。

仕上げに spam メール受信用の spam@ドメイン というアカウントを作っておきます。spam メールはどんどんここに入って来る事でしょう。判定ミスがあった場合は、サーバにログインして処理させないといけなくてちょっと面倒なので、自動で更新出来るような設定をしたい所ですが、今回はもう燃え尽きたのでまた今度。

ちなみに、bsfilter の学習ファイルは、 /var/vpopmail/domains/example.com/.bsfilter/ に配置されるようです。上述の .qmail の設定を行なっておけば、全てのアカウントで同じ学習ファイルが再利用出来るので、一人でしか使っていない場合は結構便利なんじゃないかなと思っています。ていうか、今回はそれが目的だったわけだし。

これで fetchmail を cron で動かすようにすれば、プロバイダのメールが spam チェックされつつ IMAP で利用出来るようになります。便利!

で、色々テストしていた所、spam 判定されたメールが queue に戻って暫く待ってからまた再送されるという謎の現象が発生してしまいました。同じ spam メールがいっぱい届く。ムキー。

色々苦労して調べた所、うちで使ってる vpopmail が 5.3.8 とかいうやたら古いバージョンだったので、それが原因の様子。早速最新の 5.4.0 を落としてきてコンパイルしてインストールしました。ちゃんと動くようになった。よかった。

Posted by Kyosuke Takayama at 2004-07-22 (Thu) 21:36 printable version

この記事へのコメント

コメントはお気軽にどうぞ

Cookie に保存しますか?


・スパム対策のため、http:// を含むコメントの投稿は出来ません。
・スパムチェックのため、投稿がすぐに反映されない場合があります。
・メールアドレス入力欄には何も入力しないでください。

トラックバック

トラックバックURL: http://espion.just-size.jp/mt-tb.cgi/288

鷹の島: SMTP-AUTH (2004-07-23 (Fri) 13:14) 0%

昨日 vpopmail のバージョンアップをした 影響で、SMTP AUTH の CRAM-MD5 の認証に失敗してしまうという不具合が発生してしまいました。普通の平文パスワードなら通るようです。せっかく受信が CRAM-MD5 なのに、送信が平文だなんて何て意味がないんだろう…。 最初に設定...


鷹の島: IMAP の接続制限 (2004-07-26 (Mon) 21:49) 0%

この前 IMAP を本格的に運用し始めましたが、早速何とも鬱陶しいトラブルが発生しました。Sylpheed というメーラを常用しているのですが、暫く使っていると「接続を確立中…。」のまま処理が停止してしまう事があるのです。 こいつはクマったと思って色々と調べてみた所、...


OpenMediaLaboratory: bsfilter+qmail+vpopmailの設定 (2007-06-05 (Tue) 13:46) 0%

やっと設定できたような気がする・・・・ 忘れないうちに備忘録として。 bsfilter本体はこちらから bsfilterオフィシャルサイト rubyで動作するので事前にrubyのインストールが必要 bsfilterを...



 
Copyright (C) Kyosuke Takayama, All rights reserved.