设想:
mydomain.com是主要网站,我们使用 [email protected] 发送/接收邮件。mydomain.com DNS 已获得 SPF 记录
"v=spf1 a mx ~all"
mydomain.net只是 mydomain.com 的别名,但我们不会使用 [email protected] 发送邮件。因此 mydomain.net DNS 有一个 SPF 记录
"v=spf1 -all"
来确认它不发送邮件的每个人
由于 mydomain.net 是 mydomain.com 的别名,我想在 DNS 中使用 CNAME,因此:
mydomain.net -> CNAME -> mydomain.com
www.mydomain.net -> CNAME -> mydomain.com
但是通过这样做,我注意到当使用这样的 DNS 工具测试 mydomain.net的 SPF 时,返回的 SPF 是 mydomain.com 中的那个,"v=spf1 a mx ~all"
而不是我所期望的"v=spf1 -all"
有没有办法通过仍然使用 CNAME 为两个域使用不同的 SPF
CNAME 意味着主机名与所有记录类型的目标主机名完全相同。如果这不是您想要的,那么您不能使用 CNAME。
您也不应该对域的根(即 mydomain.net)进行 CNAME,因为这意味着 mydomain.net 的 SOA 实际上是 mydomain.com 的 SOA。
从纯 DNS 的角度来看(即不知道 cPanel),您可以在 mydomain.net 中使用 DNAME 记录重定向到 mydomain.com。
在这种情况下,对 SPF 的查询将返回相应域中的条目,但其他条目将使用别名:
cPanel 实际上并没有使用 CNAME;那将是一个无效的配置。我不确定 DNS 服务器将如何响应它,但我怀疑它根本行不通。BIND 肯定有直接拒绝无效数据的倾向。
几乎可以肯定的是,cPanel 软件在第二个域中设置了原始域中所有记录的副本。这肯定会“覆盖”您的 SPF 记录。