
私はPostfix 2.9.6とSpamassassin 3.3.2を搭載したDebian 7.9サーバーを実行しています。
Received: from ...
Spamassassin が行う標準的なチェックの 1 つは、rDNS レコードをチェックすることです。Postfixから渡されたメッセージのヘッダーからその情報を取得するものと想定しています。
現在、Postfix は IP アドレスのホスト名を解決できないことが非常に多く、ほとんどの場合、ホスト名は実際に存在するため、不必要に本来の値よりも悪いスコアが与えられます。これらのメッセージを手動で確認すると、前述のヘッダーに次のように表示されることがよくありますが、Received: from example.com (unknown [1.2.3.4]) by ...
同時に、自分で (サーバーのシェルで) IP アドレスを解決しようとすると、問題なく動作します。
ここで何が問題なのでしょうか? タイムアウトが長すぎて時間が足りないということでしょうか? もしそうなら、このタイムアウトを調整する方法はありますか? 私のサーバーは 1 分間に何千ものメッセージを受け取っているわけではないので、あと数秒待っても問題ありません。DNS over TCP に切り替えると、この問題は改善されるでしょうか? もしそうなら、DNS クエリに TCP を使用するように Postfix に指示するにはどうすればよいでしょうか?
答え1
結局のところ、私は chroot 設定をデフォルトの「yes」に設定して Postfix インストールを実行していました。これを「no」に設定した後 (chroot で実行していないため)、問題は解決したようです。
以前は問題がなかったのに、なぜ今は動作するのか、いまだに理解できません。
問題の設定は/etc/postfix/master.cf:
(ソース)
# =============================================================
# service type private unpriv chroot wakeup maxproc command
# (yes) (yes) (yes) (never) (100)
# =============================================================
smtp inet n - n - - smtpd
# This had to be set to "n": ^