SPF“包括:”MX保留为包含域的MX,还是转换为包含者的MX?

SPFlogging允许您在自己的范围内包含他人的域名SPFlogging。 例如, example.com可以在其SPFlogging中包含include:_spf.google.com ,以包含_spf.google.com所有SPF规则。

对于mx ,发生了什么事情,并且为example.com包含了哪些规则(无:hostname )?

mx会被parsing为_spf.google.comexample.com的MXlogging吗?

(是的,我知道有_spf.google.com没有MXlogging,但我只是想用一个明显的include:例子,但是有一个情况)

首先,为了澄清include , RFC 4408的s5.2说 :

只使用被引用的SPFlogging的评估结果,而不是像被引用的SPFlogging被字面地包含在第一个中一样。

至于include dlogging中的MX RR是指您的MX还是include d域的MX ,我高兴地承认OpenSPF的协议页面对这个主题非常没有帮助, 因为他们的例子使用相同的域来源和包括logging 。 但是RFC(稍微更清楚一些)在写入时(在s5.2中):

“include”机制触发check_host()的recursion评估。 domain-spec按照第8节进行扩展。然后check_host()用得到的string作为<domain>进行求值 。 <ip>和<sender>参数与当前对check_host()的评估保持不变。

我已经强调了一点,我解释为mx和类似的logging在include d域的上下文中被评估。 但是由于没有什么比真实数据好,我在我家的一个域中定义了下面的子域( waide.me.uk ,感谢临时贷款!):

 foo IN TXT "v=spf1 include:bar.waide.me.uk -all" foo IN A 10.5.5.5 bar IN TXT "v=spf1 mx -all" bar IN MX 5 baz.bar baz.bar IN A 78.46.204.154 

当我使用Beveridgetesting仪 (openspf.org推荐)时,它说来自[email protected]邮件从[email protected]到达是SPF通行证。 请注意, foo.waide.me.uk 任何地方都没有提及该地址。 bar.waide.me.uk includedlogging中有一个MX引用,但foo.waide.me.uk没有MX 。 如果include dlogging中的MX没有在include d域( bar.waide.me.uk )的上下文中进行评估,则根本无法parsing。

为了完整foo.waide.me.uk ,当我从foo.waide.me.uk的SPFlogging中删除include时,正如我们现在所期望的那样,Beveridge报告失败。