“include:”SPF 条目中的嵌套 hardfail 语句是否优先于父条目中的 softfail?

“include:”SPF 条目中的嵌套 hardfail 语句是否优先于父条目中的 softfail?

假设我有一条 SPF 记录,内容如下:

v=spf1 include:_foo.example.com ~all

假设_foo.example.com有以下内容:

vspf1 ip4:1.1.1.1 -all

嵌套 spf 记录中的条目是否-all优先?还是~all父记录中的条目优先?

答案1

简而言之:~all,但不是因为优先权。include只能Pass

这在以下文档中有描述:include机制

事后看来,“include”这个名字选得不太好。只使用引用的 SPF 记录的评估结果,而不是表现得好像引用的 SPF 记录实际上包含在第一个记录中。例如,评估-all引用记录中的指令不会终止整体处理,也不一定会导致整体Fail。(这种机制的更好名称应该是“if-pass”、“on-pass”等。)

换句话说,这不是优先级的问题,而是处理顺序的问题:如果include不存在Pass(不仅仅是因为 ,-all还因为其中的其他任何原因),它就不能像 一样被用作Pass,但它也不会导致整体问题Fail。因此,它将回退到~all原始 SPF 记录中的 。

相关内容