SPF 规范说:
给定域名的已发布 SPF 记录应保持足够小,以使其查询结果适合 512 个八位字节。否则,可能会超出 DNS 协议限制。
…
请注意,在计算对 TXT 格式查询的回复大小时,必须考虑在域名上发布的任何其他 TXT 记录。
它还指出,最近的 DNS 规范允许更大的 UDP 响应(限制的原因,因为 SPF 规范暗示您不应该依赖 DNS over TCP 工作),但这似乎并没有真正覆盖“应该” .
问题在于,许多组织需要同一域上的 TXT 记录用于验证目的(例如facebook-domain-verification
、google-site-verification
、atlassian-domain-verification
、adobe-sign-verification
等),并且可以快速将 TXT RRset 的总大小超过 512 字节。
看起来大多数大型组织都在遵守这一点,但也有一些超越了:
% dig +noall +stats netflix.com TXT | grep 'MSG SIZE'
;; MSG SIZE rcvd: 593
% dig +noall +stats linkedin.com TXT | grep 'MSG SIZE'
;; MSG SIZE rcvd: 632
% dig +noall +stats twitter.com TXT | grep 'MSG SIZE'
;; MSG SIZE rcvd: 642
% dig +noall +stats microsoft.com TXT | grep 'MSG SIZE'
;; MSG SIZE rcvd: 1459
(您可以通过运行类似的内容来查看可能发生的截断dig +notcp +noedns +ignore microsoft.com TXT
。)
六个月以来,我一直处于边缘,现在我需要为新供应商添加另一条验证记录,这将使我远远超过 512 字节。我已尽我所能整合我的 SPF 记录,并确保我无法删除现有的验证记录。
我应该在这里做什么?我不能没有验证记录,但我也不想忽略 SPF 规范。也就是说,微软似乎忽略了它,我不认为他们的邮件被拒绝了。