Postfix は NetInfo を参照する。 aliases のみならず参照が可能である。
最新の版の $postfix/INSTALL に NEXTSTEP 3.x 対応とあるが、 これは誤りで、NEXTSTEP でソースに手を加えずにインストール 可能なのは現時点(2000年6月)では若干古い版である postfix-19990906-pl05 まで である。 (この記述はもはや古く、最新の postfix のリリースも パッチを当てれば、 make 可能である。 このドキュメントの最新版も こちらに用意している。)
postfix-19990906-pl05 は、SPAM 対策(source routing 制限)が デフォルトの設定として施されていないので、それを踏まえた上で、 postfix-19990906-pl05 のインストールについて述べる。
Postfix は正規表現を用いたテーブルを参照する機能を有する。 この機能は Postfix の長所のひとつと言えるが、 これを有効にするためには POSIX の正規表現ライブラリ、 または PCRE (Perl-compatible regular expression library) が必要である。 NEXTSTEP においては PCRE を make して利用することにする。 (PCRE は exim の作者が作ったパッケージ。 現在のところ、exim の方が PCRE を使った 柔軟なメッセージ作りができるようだ。)
PCRE の最新版は ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ で配布されている。 今回は、現時点での最新版である pcre-3.2.tar.gz を用いた。 手順は以下の通り。
Postfix の運用にあたっては様々なケースがあると 思うが、基本的にパッケージ付属の文書にしたがって /etc/postfix/main.cf, /etc/postfix/master.cf を編集する だけである。さしあたって読むべきドキュメントはそれほど多くはない。 (WWW 上のドキュメントへのリンクは こちら。)
しかし、今回は古い版を使っているために、最新版ではしなくていい 設定をしなくてはならないところがあった。 また、ドキュメントにはもちろん書いてあるが、NeXT 固有の設定を 必要とする部分もあるので、ここでは、それらについて述べることにする。
telnet mail-abuse.org による検査をクリアするための設定。 main.cf の $mynetworks や $relay_domain には信頼できる ホスト(あるいはネットワーク)が指定されているものとする。 もちろん、smtpd を止めるのが SPAM 対策としては最も有効である。 (しかも、ほとんどのクライアントのマシンでは、止めて困ることはないだろう。) その他にも有効な方法はあると思われるが、ここでは、あくまで telnet mail-abuse.org による検査をクリアすることだけにこだわることにする。)
○main.cf に以下の一行を追加
smtpd_recipient_restrictions = pcre:/etc/postfix/recipient_check,permit_mynetworks,check_relay_domainstcpwrapper 同様、始めにマッチしたものに対し処理がなされるので、 pcre: の記述は一番始めに書かないと機能しないことに注意。 (pcre は、 PCRE つきで compile した postfix を使用する場合にのみ有効。 regexp が使えるのであれば、そちらを使っても良いと思われる。)
/%/ 554 No % routing permitted /[@%!].*[@%!]/ 550 Sender-specified routing rejected一行目は、 user%domain1 が無条件に relayhost にリレーされるのを防ぐため。 二行目は無用な source routing を防ぐためのもの。
設定が完了したら、
% /usr/bin/postfix start
(Postfix が起動済みであれば、 /usr/bin/postfix reload)
% telnet mail-abuse.org
をして SPAM 対策のチェックを実施。