让我说我有一个domain.com的带有SPF信息的TXT记录
也说我为subdomain.domain.com拥有一个单独的电子邮件域
domain.com的SPF政策/信息是否也适用于子域?还是我也需要为此添加单独的TXT记录?
#1 楼
对于每个要发送邮件的子域,您都需要有单独的SPF记录。以下内容最初发布在openspf.org上,它曾经是此类事情的重要资源。
恶魔问题:子域如何?
如果我收到来自
pielovers.demon.co.uk的邮件,并且没有用于Pielovers的SPF数据,我应该
回到上一级并测试demon.co的SPF。 .uk?否。
Demon的每个子域都是一个不同的客户,每个客户可能都有自己的
策略。默认情况下,Demon的政策不适用于其所有
客户,这是没有道理的;如果Demon想要这样做,则可以为每个子域设置SPF
记录。
因此,给SPF发布者的建议是:您应该为每个子域添加一个SPF记录
。具有A或MX记录的子域或主机名。
具有通配符A或MX记录的站点也应具有通配符SPF
记录,其格式为:* IN TXT“ v = spf1-全部”
这很有意义-子域很可能位于不同的地理位置,并且具有非常不同的SPF定义。
SPF的'include:'指令可用于为所有子域提供相同的条目。例如,在子域mailfrom.example.com的SPF记录中,输入“ include:example.com”。以这种方式,只要您更新example.com的定义,您的子域就会自动选择更新后的值。
评论
链接到openspf不适用于我的atm,但是幸运的是,互联网档案馆涵盖了我们:web.archive.org/web/20190129091342/http://www.openspf.org/FAQ/…
– Legolas
19年3月19日在8:34
#2 楼
除了其他答案外,如果将子域创建为CNAME记录,则SPF记录就是其指向的域的子记录,例如。sub.domain.com
是otherdomain.com
的CNAME,邮件服务器在查找时将获得的SPF mail@sub.domain.com
在otherdomain.com
的DNS记录中。如果CNAME记录说sub.domain.com,则实际上是相同的=> othersub.domain.com,因此您的TXT记录需要为othersub,而不是sub。这与DKIM相反,后者需要一个单独的TXT记录来存储公钥,即使您的子域是CNAME也是如此。
#3 楼
但是请注意,正如在接受的答案中引用的FAQ中所说的那样,您可以为通配符A或MX记录的域使用通配符SPF。我有通配符MX域,它对我有用:*.mydomain.org. 3600 IN TXT "v=spf1 ip4:IPADDR -all"
,其中IPADDR替换为您的IP地址/范围。
#4 楼
否,但是您可以使用include:maindomain.invalid
指令将其短路。评论
您能详细说明一下吗?我很好奇...该指令如何工作?
– Mike B
2011年10月19日在17:55
#5 楼
如果垃圾邮件发送者使用dDNS中已经存在的子域,则上述*.mydomain.org. 3600 IN TXT "v=spf1 ip4:IPADDR -all"
不起作用。例如,在这种情况下,www.domain.com A A记录了通配符。
#6 楼
请注意,include语句仅包含来自指定域的A记录,也不包含子域。因此,它不会从子域中拾取A记录,因此仅当所有子域都在同一服务器上或从同一服务器发送时,它才起作用。评论
我认为这个答案根本与问题无关(涉及SPF记录,即TXT)?
–费利克斯·弗兰克(Felix Frank)
14年6月16日在11:48
我认为此答案中的警告是关于以下情况的:1)顶级域指定了包含“ a”的SPF记录2)子域包括了顶级域SPF,希望获得完全相同的一组IP地址,但实际上提取了子域A记录。
–亚当斯
17年3月18日在16:38
@AdamS,实际上相反。假设:•example.com A返回192.168.0.10; •example.com TXT返回v = spf1 a -all; •sub.example.com A返回192.168.0.20; •sub.example.com TXT返回v = spf1 include:example.com -all。然后,允许sub.example.com的邮件仅从192.168.0.10发送。
–Jivan Pal
20 Dec 30'0:19
评论
请注意,您可以为子域设置通配符SPF:在下面搜索通配符。