带有REDIRECT和INCLUDE的SPF记录

kju*_*bus 6 dns record spf

因此,我必须为共享域做一个SPF记录-2个邮件系统,其中一个是Office365。通常看起来像这样:

“v=spf1 mx include:MAIL_SERVER include:spf.protection.outlook.com ~all”
Run Code Online (Sandbox Code Playgroud)

如果事先进行了如下配置,这将非常简单:

“v=spf1 mx include:MAIL_SERVER ~all"
Run Code Online (Sandbox Code Playgroud)

但是我有一个不同的情况,它是这样的:

“v=spf1 mx redirect:_spf.PROVIDERSERVER.COM"
Run Code Online (Sandbox Code Playgroud)

我不确定,我可以这样做吗:

“v=spf1 mx redirect:_spf.PROVIDERSERVER.COM include:spf.protection.outlook.com ~all”
Run Code Online (Sandbox Code Playgroud)

它会像这样工作吗?如果没有,那应该改变什么?

Gav*_*son 6

重定向是一种改性剂,而不是一个机构,而所有其他后才会被认为是机制进行了检验。与include不同的是,一旦浏览了重定向,它将不会返回以评估其他条件;尽管为了清晰起见,您的定位也不是无效的,但它应作为记录中的最后一项出现,因为它将仅在所有其他条件之后进行评估经过测试并通过。即,它在SPF记录中的位置不会确定其处理顺序。

如果记录中满足任何替代机制术语,则处理将在该术语处停止并返回评估的条件,这包括所有可能存在的机制。因此,您不能将重定向all结合使用,因为all机制将始终被首先测试和满足,并且重定向将永远不会被处理。当然,重定向域的SPF中的所有所有机制(如果到达)仍将适用,与包含中的-all不同,在包含中-all将通过将不匹配的内容返回给include机制调用而被忽略。(注意:如果+全部在遍历包含中遇到它会返回match,并触发任何包含在该包含之前的结果,通常是默认+。)

值得注意的是,任何重定向域自己的SPF可能包含其他重定向,并且它们将按预期级联。但是,每个重定向都计入查找计数限制。

因此总而言之,您可能想要使用类似...

“v=spf1 mx include:spf.protection.outlook.com redirect:_spf.PROVIDERSERVER.COM”
Run Code Online (Sandbox Code Playgroud)

  • 您能否澄清一下,为什么 MX 部分位于包含之后? (2认同)