Helo command rejected: Host not found;
因此,我在 中看到以下错误/var/log/syslog
,但当我对相关主机进行正向和反向查找时,DNS 记录似乎合理。相关邮件服务器endor
似乎可以正常接收邮件。
为什么 Postfix 会这样说(第二个附加问题,我应该更改什么设置来解决这个问题?
出于隐私原因更改的电子邮件地址:
Jul 20 23:35:20 endor postfix/smtpd[1503]: NOQUEUE: reject: RCPT from
bdmrob01-2.metavante.com[206.71.18.21]: 450 4.7.1
<bdmrob02.metavante.com>: Helo command rejected: Host not found;
from=<[email protected]>
to=<[email protected]> proto=ESMTP
helo=<bdmrob02.metavante.com>
但 DNS 看起来没问题:
endor% dig bdmrob01-2.metavante.com
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> bdmrob01-2.metavante.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32487
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;bdmrob01-2.metavante.com. IN A
;; ANSWER SECTION:
bdmrob01-2.metavante.com. 600 IN A 206.71.18.21
endor% dig -x 206.71.18.21
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> -x 206.71.18.21
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40586
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;21.18.71.206.in-addr.arpa. IN PTR
;; ANSWER SECTION:
21.18.71.206.in-addr.arpa. 600 IN PTR bdmrob01-2.metavante.com.
我应该提一下,main.cf 说:
smtpd_helo_restrictions =
reject_non_fqdn_helo_hostname,reject_invalid_helo_hostname,reject_unknown_helo_hostname
答案1
答案一直就在我们眼前。
Postfix 正在寻找主机向其发出问候的A
和记录。或者更准确地说,PTR
HELO
主持人说它在其 HELO 消息中。让我们分解一下:
Jul 20 23:35:20 endor postfix/smtpd[1503]: NOQUEUE: reject: RCPT from
bdmrob01-2.metavante.com[206.71.18.21]:
bdmrob01-2.metavante.com
解析 IP 地址的主机名206.71.18.21
与您的邮件服务器建立 TCP 连接。
因此,您检查了 IP 地址是否有 A 记录:
endor% dig bdmrob01-2.metavante.com
[...]
;; ANSWER SECTION:
bdmrob01-2.metavante.com. 600 IN A 206.71.18.21
然后你检查了 PTR 记录:
endor% dig -x 206.71.18.21
;; ANSWER SECTION:
21.18.71.206.in-addr.arpa. 600 IN PTR bdmrob01-2.metavante.com.
一切看起来都很好。那么问题是什么?连接的主机肯定是由上述主机名和 IP 地址标识的,但它没有说明它是谁。它说:
helo=<bdmrob02.metavante.com>
该主机有 A 记录:
$ dig a bdmrob02.metavante.com
[...]
;; ANSWER SECTION:
bdmrob02.metavante.com. 0 IN A 92.242.140.2
但是,其 IP 地址没有PTR
记录:
$ dig -x 92.242.140.2
[...]
;; ANSWER SECTION:
2.140.242.92.in-addr.arpa. 84155 IN PTR unallocated.barefruit.co.uk.
这是他们那边的问题。在那之前你要么忍受它,要么更改你的 postfix 服务器,使其不再费心进行HELO
命令的正向和反向查找。
答案2
本着将有用的信息集中在一个地方的精神,我想在@wesley的正确答案中添加一些内容,即在不进行正向查找和反向查找之间有一个中间点,即白名单,如下所述: