MHpopd なページ


拙作の MH 形式メイル用 POP3/SMTP サーバ MHpopd のページです。
読み物 MHpopd って何?
ソース MHpopd-1.02b.tar.gz (MD5: bcabeda91868958d9ce9b761d8805985)
差分(1.02a → 1.02b) MHpopd-1.02b.patch.gz (MD5: da30f376720a17bc33a9b2ddb7b68f04)
FTP アーカイブ ftp.unixusers.net (MD5: 一覧)
各種ドキュメント README(英文)
HISTORY(英文)
マニュアル(英文)
マニュアル (mhpasswd)(英文)
Install(英文)
TECHKNOW(英文)
LICENSES(英文)

spam filter との併用:

一般的には、 spam filter は .forward に記述した procmail のようなメイル振分けソフトと併用しますが、 MHpopd は MHfolder へのメイル振分け機能を実装しているので、 spam filter を使うためにメール振分けソフトを別途用意する必要がありません。 この機能を有効にするには pick(1) 相当のコマンドの登録が必要ですが、 このコマンドとして spam filter を登録すれば、 spam と識別されたメイルを特定の MHfolder に振分けることが出来ます。 メイル振分けソフトの導入には root 権限が必要となるケースもありますので、 そういう場合には役に立つかも知れません。

spam filter が pick(1) のように該当ファイル名を列挙する機能を持っていない場合、 inbox に溜まったメイルを一通毎に処理させてやるような shell script を書く必要があります。 例えば spamassassin の場合はこんな感じの shell script になります。

#!/bin/sh

FILTER=/usr/bin/spamassassin

for i in [1-9]*; do
	case "$i" in
	"[1-9]*")
		;;
	*)
		$FILTER --exit-code < "$i" >/dev/null 2>&1 || echo $i
		;;
	esac
done

spam filter が pick(1) のようにファイル名を列挙する機能を持っている場合、 shell script の記述はもう少し簡単になります。 更に、 .forward による処理では一通毎の処理になるのに対し、 MHpopd による処理では複数のメイルをまとめて spam filter に処理させることが出来るので、 spam filter の負荷が軽減されるというメリットもあります。 例えば bsfilter の場合はこんな感じの shell script になります。

#!/bin/sh

FILTER=/usr/bin/bsfilter

set - [1-9]*
case "$*" in
"[1-9]*")
	;;
*)
	$FILTER --auto-update --list-spam "$@" 2>/dev/null
	;;
esac

どちらの場合も、 ~/Mail/.pick に記述する場合は引数なしでこの shell script の fullpath 名を書きます。 因みに、 MHpopd はこの shell script を起動する前に current directory を ~/Mail/inbox に移動しますので、 MH folder を指定する必要はありません。

また、 MHpopd-1.01 からはコマンド登録時に「&」を使ってバックグラウンド処理を指示出来るようになりました。 振分けた後にクライアント側への配送を期待する場合はコマンド完了を待つ必要がありますが、 どうせ読むつもりもない spam 用フォルダであれば、 接続が終わった後も延々と作業を続けて貰って問題ないでしょう。 spam 解析には時間がかかりますので、 不必要に接続時間を割かなくて済むように是非ともバックグラウンドで実行させましょう。


苦情・問い合わせはこちらまで。 shirai@unixusers.net

トップページ