Mac OS X Server について Tiger 以降を想定、メールサーバの構成は postfix, cyrus-imap となっている。よってここでは、Mac OS X Server に適した abmail の運用方法を紹介する。他の cyrus-imap ベースのメールサーバにおいても参考になるだろう。
スパムの隔離を行なう場合に重要となるのは、隔離されたメールを確認する手段である。IMAP はまさにそうした用途に最適である。一方で、隔離は行なわず、スパムの判定のみをヘッダ情報に記しておけば事足りるというのであれば IMAP は不要であるし、 POP しか提供しないポリシーのメールサーバもあり得るだろう。よって、前者を「選択肢: IMAP と POP」でスパムを隔離、 後者を「選択肢: POP のみ」でスパムを検知、これら両者の手順を紹介する。 また、迷惑対策ツール abmail は適切にインストールされているものとする。
% cp /path/to/abmail-1.2.0/dot-procmailrc.cyrus ~/.procmailrc
% sed 's/taiji/foo/' /path/to/abmail-1.2.0/dot-forward.procmail > ~/.forward
これで foo 宛メールについて MDA としてまず procmail が動作するが、~/.procmailrc ではまだ abmail の機能は有効になっておらず、普段のメールボックスと変わらないように見えているはずである。
% /usr/bin/cyrus/admin/cyradm localhost
Password: ********
localhost> cm abmail
localhost> quit
以下のように ~/.procmailrc の編集を開始
% emacs ~/.procmailrc
そこに SW_ANTISPAM=off という行の off を onとする。
スパムが到着すれば次々とそのメールボックスに隔離されていく。しかしそれを確認するには、次に準備する「IMAP対応メーラ」等が必要になる。
ここで、既に osx-server の POP アカウントを持っており、かつ、サーバから受信メールを削除しない設定の場合、 削除されていないメールはこれから作成する IMAP のメールボックスに重複して保持することになる。大量のメールをサーバから改めて受信すること、 削除せず放置されていたジャンクメールを改めて受信することを躊躇されるのであれば、予め整理しておくのも一考である。
Mail.app で新規 IMAP アカウントを作成する。但し、既に POP アカウントを持っているなら、名前を違えておくとよい。
IMAP アカウントが正しく無事作成されれば、通常のメールは通常の「INBOX」メールボックスへ格納される。そして、スパムが一通でも到達すれば「abmail」メールボックスがメーラに出現し、 そこに abmail が隔離したスパムが格納されることになる。
以下のように ~/.procmailrc の編集を開始
% emacs ~/.procmailrc
SW_ANTISPAM=off という行の off を on とし、さらに SW_ANTISPAM_ADD_HEADER=off という行の off を on とする。
abmail が見つけたスパムは「X-Abmail-Flag: Yes」というヘッダが付くので、それをメーラの振り分け機能等で利用する。
Mac OS X Server では POP、IMAP のいずれも無効とした場合に /var/mail での運用を選択することが出来る。これについては特に Mac OS X Server に限った紹介も無いので他に譲るが、基本的には abmail-1.2.0/dot-procmailrc 及び隔離スパム報告及び誤判定救済用ツール abmailsreports での運用が可能である。