Mik*_*e B 70 domain-name-system email email-server smtp spf
我有一个关于 SPF 记录的快速问题:它们是否需要存在于所有子域中?
假设我有一个包含 domain.com SPF 信息的 TXT 记录
假设我有一个单独的电子邮件域 subdomain.domain.com
domain.com 的 SPF 政策/信息是否也适用于子域?还是我也需要为此添加单独的 TXT 记录?
Tim*_*ham 73
您需要为要从中发送邮件的每个子域拥有单独的 SPF 记录。
以下内容最初发布在 openspf.org 上,它曾经是此类事情的绝佳资源。
最新链接http://www.open-spf.org/FAQ/The_demon_question/
恶魔问题:子域呢?
如果我从 pielovers.demon.co.uk 收到邮件,但没有 pielovers 的 SPF 数据,我是否应该返回一级并测试 Demon.co.uk 的 SPF?不可以。Demon 的每个子域都是不同的客户,每个客户可能有自己的策略。Demon 的政策默认适用于所有客户是没有意义的;如果 Demon 想这样做,它可以为每个子域设置 SPF 记录。
因此,对 SPF 发布者的建议是:您应该为每个具有 A 或 MX 记录的子域或主机名添加 SPF 记录。
具有通配符 A 或 MX 记录的站点还应具有通配符 SPF 记录,格式为:* IN TXT "v=spf1 -all"
这是有道理的 - 子域很可能位于不同的地理位置并且具有非常不同的 SPF 定义。
SPF 的“include:”指令可用于为所有子域提供相同的条目。例如,在子域 mailfrom.example.com 的 SPF 记录上输入“include:example.com”。以这种方式,每当您更新 example.com 的定义时,您的子域将自动获取更新后的值。
小智 29
除了其他答案之外,如果将子域创建为 CNAME 记录,则 SPF 记录是它指向的域的记录,例如sub.domain.com是 CNAME 的otherdomain.com,邮件服务器在查找时将获得的 SPFmail@sub.domain.com在 DNS 中记录otherdomain.com.
如果 CNAME 记录显示 sub.domain.com => othersub.domain.com,这在实践中是相同的,因此您的 TXT 记录需要是 othersub,而不是 sub。这与 DKIM 形成对比,DKIM 需要一个单独的公钥 TXT 记录,即使您的子域是 CNAME。
但请注意,正如在接受的答案中引用的常见问题解答中所说,您可以为通配符 A 或 MX 记录的域设置通配符 SPF。我有通配符 MX 域,这对我有用:
*.mydomain.org. 3600 IN TXT "v=spf1 ip4:IPADDR -all"
Run Code Online (Sandbox Code Playgroud)
将 IPADDR 替换为您的 IP 地址/范围。