我正在尝试在服务器上设置 SPF - 邮件工作正常,并根据 mxtoolbox 和其他在线检查进行验证,但当我使用http://www.kitterman.com/spf/validate.html我收到一个错误:
PermError SPF Permanent Error: Void lookup limit of 2 exceeded
我知道查找次数的限制是 10 次,但是之前没有见过这个错误。
SPF 记录是:
v=spf1 a mx ip4:IP1 ip4:IP2 ip6:IP3 include:spf-a.outlook.com
include:spf-b.outlook.com include:spf-c.outlook.com
include:spf.messaging.microsoft.com include:_spf.zdsys.com
include:spf.mail.intercom.io -all
无效查找限制指的是什么?
答案1
无效查找限制为在 RFC 7208 中引入指的是返回空响应(无错误,无答案)或 NXDOMAIN 响应的 DNS 查找。这是与 10 个 DNS 查找总计数不同的计数。
正如结尾所述第 11.1 节,在某些情况下,限制 DNS 查询返回肯定答案 (RCODE 0)(答案计数为 0)或“名称错误”(RCODE 3)答案的“术语”数量很有用。这些有时统称为“无效查找”。SPF 实现应将“无效查找”限制为两个。实现可以选择使此类限制可配置。在这种情况下,建议使用默认值 2。超过限制会产生“permerror”结果。
这是为了帮助防止错误或恶意的 SPF 记录导致基于 DNS 的拒绝服务攻击。
就您而言,有问题的部分似乎是:
include:spf.messaging.microsoft.com
其 SPF 记录为:
v=spf1 ptr:protection.outlook.com ptr:messaging.microsoft.com ptr:o365filtering.com -all
如果查找所有这三个记录,则会返回没有记录的 NOERROR 或 NXDOMAIN。
由于三条记录没有返回任何内容,因此您超出了 2 的空查找限制,并且 SPF 记录失败。