我正在运行带有 Postfix 2.9.6 和 Spamassassin 3.3.2 的 Debian 7.9 服务器。
Spamassassin 执行的标准检查之一是检查 rDNS 记录。我假设它从Received: from ...
Postfix 传递的消息的标头中获取该信息。
现在,Postfix 经常无法解析 IP 地址的主机名,这不必要地给出了比它应得的更低的分数,因为几乎所有情况下,主机名都是存在的。如果我手动检查这些消息,我可以看到提到的标题经常显示,Received: from example.com (unknown [1.2.3.4]) by ...
而同时,如果我尝试自己解析 IP 地址(在服务器的 shell 中),它会正常工作。
这里的问题是什么?是不是超时时间太长,导致时间不够?如果是这样,有没有办法调整这个超时时间?我的服务器每分钟不会收到数千条消息,所以再等几秒钟也没什么坏处。切换到 DNS over TCP 能解决这个问题吗?如果是这样,我该如何告诉 Postfix 使用 TCP 进行 DNS 查询?
答案1
事实证明,我在运行 Postfix 安装时,chroot 设置设置为默认的“是”。在我将其设置为“否”之后(因为我没有在 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": ^