我读对于具有自己的 SPF 的域名,拥有 CNAME 是无效的,因为所有记录都来自 CNAME 指向的域名。
然而,这似乎不是我遇到的情况。我已将pi.dantup.com
CNAME 设置为dantuppi.dynv6.net
,但我的 SPF 记录似乎工作正常(域上没有 SPF dynv6.net
:
https://toolbox.googleapps.com/apps/dig/#CNAME/pi.dantup.com https://toolbox.googleapps.com/apps/dig/#TXT/pi.dantup.com
这似乎工作良好测试此工具。但是,一位朋友的设置非常相似,但似乎不起作用。在深入研究之前,我想了解我的做法是否正确?
答案1
您提到的讨论描述了将 TLD(顶级域名)CNAME 到另一个域名。这不是一个好主意。
但将子域名 CNAME 转交给第三方实际上是首选设置,例如由第三方(营销工具等)处理退回。例如,通过托管在 的营销工具通过 的子域名发送新闻稿newsletters.example.com
,您可以使用指向 的newsmailers.org
CNAME 记录,主动将子域名的 SPF 和 MX 记录的责任委托给外部方。但是,根据 RFC 1912,您不能向 DNS 添加具有相同名称的其他 RR(TXT / MX / A)。newsletters.example.com
example_com.newsmailers.org
newsletters.example.com
RFC 1034 第 3.6 节规定,CNAME 的 RDATA 包含域名(通常是 SPF TXT 记录所在的位置),而 MX 或 NS 记录的 RDATA 应包含主机名。
另外,要小心指向其他 CNAME 的 CNAME。这通常会失败。请参阅 RFC 1912 第 2.4 节
如果您看一下 DMARCIAN 的以下文章,我希望您能找到更多您正在寻找的详细信息:
https://dmarcian.com/how-to-send-dmarc-compatible-email-on-behalf-of-others/
如果你想了解 DNS 上发生的情况,只需检查: https://dns.google.com/query?name=pi.dantup.com&type=TXT&dnssec=true
如果您设置了 CNAME,您将首先看到类型 5 (CNAME) 的答案和类型 16 (TXT) 的第二个答案。
答案2
如果您不担心递归搜索(考虑到 SPF 最多可管理 10 个),则可以使用重定向 SPF,在我看来,这比 CNAME 更好,因为 SPF 本质上是域根目录上的 TXT 记录,CNAME 可能会破坏您的系统并在创建根目录上的其他 TXT 记录(例如现在似乎每个人都在使用的验证记录)时导致问题
您可以在根“v=spf1 redirect=_spf.mailhostbox.com”上实现此 SPF。
其中 _spf.mailhostbox.com 是您的重定向位置