?all-DNS(spf)配置中的all和~all

?all-DNS(spf)配置中的all和~all,dns,cpanel,spf,Dns,Cpanel,Spf,我尝试使用电子邮件营销服务配置/验证我的域DNS。为了验证SPF,我应该添加一些代码 我想使用各种服务,在它们提供的TXT中,最后,一些使用“-all”others“~all”和一些“?all” like:v=spf1 include:spf.mailjet.com include:spf.sendinblue.com mx~all 我想知道这两个记录是否相互排斥,它们之间的区别是什么?all-all和~all所有的all机制是SPF记录中列出的最后一个,并告诉检查者如果没有其他机制匹配传入的I

我尝试使用电子邮件营销服务配置/验证我的域DNS。为了验证SPF,我应该添加一些代码

我想使用各种服务,在它们提供的TXT中,最后,一些使用“-all”others“~all”和一些“?all” like:v=spf1 include:spf.mailjet.com include:spf.sendinblue.com mx~all


我想知道这两个记录是否相互排斥,它们之间的区别是什么?all-all和~all

所有的
all
机制是SPF记录中列出的最后一个,并告诉检查者如果没有其他机制匹配传入的IP,该怎么办<代码>-all表示默认结果为硬失败,
~all
表示“软失败”,表示传达这不是通过,但也不是硬拒绝(可能表示您应该将其放在垃圾邮件文件夹中-尽管这应由DMARC决定)<代码>?all表示它是“中性的”,这与根本没有任何东西是一样的

当这样的服务推荐
?all
时,他们非常保守,不想增加任何风险-这是一个“故障安全”选项,提供最小的中断,但也没有保护。我想说,这会适得其反,最终导致伪造的发生,根本无法使用SPF。看

“正确的方法”是使用
~all
默认值,并将DMARC记录配置为需要DKIM和SPF“通过”结果。这有一个历史原因:早期的SPF过滤器实现如果遇到了<代码> -<所有/代码>,将停止电子邮件处理,并且DMACC处理不会有机会做它的事情,所以给出软故障是安全的,然后让DMACC认为失败。 简言之,如果您没有使用DMARC,请瞄准
-all
,如果您正在使用,请使用
~all