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