主域的SPF记录是否适用于子域?


52

我对SPF记录有一个简短的问题:所有子域都需要它们吗?

假设我有一个TXT记录,其中包含domain.com的SPF信息

假设我为subdomain.domain.com有一个单独的电子邮件域

domain.com的SPF政策/信息是否也适用于子域?还是我也需要为此添加单独的TXT记录?


2
请注意,您可以为子域设置通配符SPF:在下面搜索通配符。
EML 2015年

Answers:


59

对于每个要发送邮件的子域,您都需要有单独的SPF记录。 http://www.openspf.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的定义,您的子域就会自动选择更新后的值。


链接openspf不为我工作大气压,但幸运的是互联网档案馆已覆盖我们:web.archive.org/web/20190129091342/http://www.openspf.org/FAQ/...
莱格拉斯

18

除其他答案外,如果将子域创建为CNAME记录,则SPF记录是其指向的域的子记录,例如sub.domain.comCNAME为otherdomain.com,则是当邮件服务器mail@sub.domain.com在DNS中查找时将获得的SPF的SPF 记录otherdomain.com

如果CNAME记录显示为sub.domain.com => othersub.domain.com,则实际上是相同的,因此您的TXT记录需要为othersub,而不是sub。这与DKIM相反,后者需要一个单独的TXT记录作为公共密钥,即使您的子域是CNAME也是如此。


4

但是请注意,正如在接受的答案中引用的FAQ中所说的那样,您可以为通配符A或MX记录的域使用通配符SPF。我有通配符MX域,这对我有用:

*.mydomain.org. 3600 IN  TXT  "v=spf1 ip4:IPADDR -all"

将IPADDR替换为您的IP地址/范围。


3

不,但是您可以使用include:maindomain.invalid指令将它们短路。


您能详细说明一下吗?我很好奇...该指令如何工作?
Mike B

2
*.mydomain.org. 3600 IN  TXT  "v=spf1 ip4:IPADDR -all" 

如果垃圾邮件发送者使用了dDNS中已经存在的子域,则上述内容将无法正常工作。例如,在这种情况下,AA记录www.domain.com AA排除了通配符。


0

请注意,include语句仅包含来自指定域的A记录,也不包含子域。因此,它不会从子域中拾取A记录,因此,仅当所有子域都在同一服务器上或从同一服务器发送时,它才起作用。


我认为这个答案根本与问题(涉及SPF记录,即TXT)无关吗?
菲利克斯·弗兰克

我认为此答案中的警告是关于以下情况的:1)顶级域指定了包含“ a”的SPF记录2)子域包括了顶级域SPF,希望完全相同的一组IP地址,但实际上提取了子域A记录。
亚当斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.