我在 Debian 上运行 dovecot/postfix 邮件服务器,遇到了一些问题。一切正常,只是发往 @aol.com 的所有电子邮件都被推迟了。
错误代码显示给我:“您的 IP 地址的反向 DNS 查找失败。”
我在服务器 A 上运行一个站点(在本文中我将称之为 site.com)。然后我在服务器 B 上运行这个邮件服务器。在我的域 DNS 中我有一个指向服务器 B 的 mail.site.com A 记录,以及一个指向 mail.site.com 的 MX 记录。
我已将我的邮件服务器的 PTR 记录设置为 site.com,这是 dig 的输出:
*我已经替换60.70.80.90我的邮件服务器的 IP
和1.2.3.4作为我的主服务器 IP
dig -x 60.70.80.90 @8.8.8.8
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> -x 60.70.80.90 @8.8.8.8
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48367
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;90.80.70.60.in-addr.arpa. IN PTR
;; ANSWER SECTION:
90.80.70.60.in-addr.arpa. 21599 IN PTR site.com.
;; Query time: 58 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Jul 22 14:30:23 2014
;; MSG SIZE rcvd: 75
在 site.com 的域 DNS 设置中我有:
A | site.com -> 1.2.3.4 (main server ip)
A | mail.site.com -> 60.70.80.90 (mail server ip)
MX | mail.site.com -> mail.site.com
我没有任何 SPF 或 TXT 记录。当我 ping mail.site.com 时,它正确返回了我的邮件服务器的 IP。
为什么我仍然会收到退回邮件?
解决方案:
我变了
MX | mail.site.com -> mail.site.com
到
MX | site.com -> mail.site.com
此外,正如@sebix 建议的那样,我必须确认我的 HELO 设置为 mail.site.com(它被设置为 site.com),并确认我的邮件服务器的 PTR 设置为 mail.site.com(它被设置为 site.com)
答案1
是的,你需要确保
- 您的 HELO 字符串是解析为您的 IP 的域。
- 您的发送邮件服务器的 IP 有一个可解析至该域的 PTR 记录。
PTR 中的域名和你的 helo 必须对应。这并不完全符合 RFC,但 AOL 等大型提供商早已期待这一点。它确实有助于防止垃圾邮件。
答案2
快速搜索将引导您到美国在线邮政局长错误 421 后面应该跟着一个附加错误代码,指示您的连接(暂时)被拒绝的实际原因:
421 DNS:NR
The Reverse DNS lookup for your IP address is failing.
421 RLY:B3
The IP address you are sending from has been temporarily rate limited due
poor reputation.
421 RLY:CH
A computer or computer(s) on your network may be compromised and is sending mail
that matches the signature of known spam.
421 RLY:CH2
Your IP address has generated AOL member complaints
421 RLY:NW
The IP address you are sending from has been temporarily rate limited because the
IP is new or has been idle for a long time
421 RLY:SN
This error indicates you are sending email using a disallowed AOL.COM screenname as
your FROM or REPLY-TO address
etc. etc.
添加完整的错误响应后进行编辑:421 DNS:NR
对于您的问题,我们可以得出结论您的 IP 地址的反向 DNS 查找失败。
通常,您需要联系托管服务提供商,为您的邮件服务器 (serverB) 的 IP 地址设置正确的反向 DNS 记录。简单检查dig -x <your-ip> @8.8.8.8
应该会返回7.8.9.10-.in-addr.arpa. 599 IN PTR mail.example.com
mail.example.com 当然是 serverB 的正确主机名。