无法解释邮件日志 DNS 错误

无法解释邮件日志 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) 为什么显示“来自未知的连接”?此 IP 显然解析为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) 如果上述 IP 解析为server.oovavoohosting.co.uk,它从哪里获取主机名server.thehostingserver.co.uk?我可以看到这个主机名不存在,这就是它返回 的原因SERVFAIL,我只是不知道它来自哪里。

答案1

1)unknown日志中的 表示 IP 的反向名称(server.oovavoohosting.co.uk)没有转发解析到原始 IP 地址。

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

我查了资料才知道为什么 SPF 测试要用到这个在维基百科上看来这现在是一项强制性测试:

对于错误消息和其他自动回复中使用的空返回路径,必须进行 HELO 身份的 SPF 检查。

对于伪造的 HELO 身份,结果 NONE 不会有帮助,但对于有效的主机名,SPF 还可以保护 HELO 身份。此 SPF 功能始终作为接收方的选项得到支持,后来的 SPF 草案(包括最终规范)建议始终检查 HELO。

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

HELO server.thehostingserver.co.uk

在问候语中。然后,您的服务器查找 SPF 记录,如果未找到此服务器的 DNS 条目,则拒绝该邮件。

相关内容