无法解释邮件日志DNS错误

我在Debian上有一个postfix邮件服务器。 我的一个客户刚通知我他们无法发送邮件给我,而且他们的邮件服务器出现问题。 我想回到他们的实际问题,但我无法弄清楚这一点。 这是在反弹电子邮件:

The address to which the message has not yet been delivered is: [email protected] Delay reason: SMTP error from remote mail server after RCPT TO:: host dog.myhostname.com [{server_ip}]: 450 4.7.1 : Recipient address rejected: SPF-Result=server.thehostingserver.co.uk: 'SERVFAIL' error on DNS 'TXT' lookup of 'server.thehostingserver.co.uk' 

检查/var/log/mail.log文件我看到以下几行与退回电子邮件一致:

 Dec 6 10:32:16 dog postfix/smtpd[366]: connect from unknown[37.26.106.210] Dec 6 10:32:16 dog postfix/smtpd[366]: setting up TLS connection from unknown[37.26.106.210] Dec 6 10:32:16 dog postfix/smtpd[366]: Anonymous TLS connection established from unknown[37.26.106.210]: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits) Dec 6 10:32:18 dog postfix/policy-spf[421]: Policy action=DEFER_IF_PERMIT SPF-Result=server.thehostingserver.co.uk: 'SERVFAIL' error on DNS 'TXT' lookup of 'server.thehostingserver.co.uk' Dec 6 10:32:18 dog postfix/smtpd[366]: NOQUEUE: reject: RCPT from unknown[37.26.106.210]: 450 4.7.1 <[email protected]>: Recipient address rejected: SPF-Result=server.thehostingserver.co.uk: 'SERVFAIL' error on DNS 'TXT' lookup of 'server.thehostingserver.co.uk'; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<server.thehostingserver.co.uk> 

我在理解这件事上有点麻烦。

1)为什么说“连接未知”? 这个知识产权明确解决server.oovavoohosting.co.uk 。 (请注意,其他传入连接确实显示与他们的主机名正确)

 # nslookup 37.26.106.210 Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: 210.106.26.37.in-addr.arpa name = server.oovavoohosting.co.uk. Authoritative answers can be found from: 106.26.37.in-addr.arpa nameserver = ns1.racksrv.com. 106.26.37.in-addr.arpa nameserver = ns2.racksrv.com. ns1.racksrv.com internet address = 37.26.104.214 ns2.racksrv.com internet address = 37.26.105.214 

2)如果上述IPparsing为server.oovavoohosting.co.uk ,它从哪里得到主机名server.thehostingserver.co.uk ? 我可以看到这个主机名不存在,这就是为什么它返回一个SERVFAIL ,我只是不知道它来自哪里。

1)日志中的unknown意味着IP( server.oovavoohosting.co.uk )的反向名称不会转发parsing为原始IP地址。

2)它看起来像远程服务器介绍自己作为server.thehostingserver.co.uk 。 看看日志,我看到helo=server.thehostingserver.co.uk ,我将其解释为服务器在SMTP问候语中使用的内容。

为什么在SPFtesting中使用它,直到我在维基百科上查找它才知道,现在看来这是一个强制性的testing:

对于在错误消息和其他自动回复中使用的空Return-Path,必须对HELO标识进行SPF检查。

以一个假HELO身份结果NONE不会帮助,但是对于有效的主机名称SPF也保护HELO身份。 这个SPFfunction一直被支持作为接收器的选项,后来的SPF草案包括最终规范build议总是检查HELO。

总之,一台连接到你的邮件服务器的服务器说

 HELO server.thehostingserver.co.uk 

在其问候。 您的服务器然后查找SPFlogging,并找不到此服务器的DNS条目拒绝邮件。