?all -all和〜all在DNSspf配置中

问题描述

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

我想使用各种服务,最后它们在TXT中提供一些服务,其中一些使用“ -all”,其他使用“〜all”,有些使用“?all” 像:v = spf1 include:spf.mailjet.com include:spf.sendinblue.com mx〜all

我想知道两个这样的记录是否互斥,以及?all -all和〜all

有什么区别?

解决方法

all机制是SPF记录中列出的最后一个机制,它告诉检查者如果没有其他机制与传入IP匹配,该怎么办。 -all表示默认结果是一次硬失败,~all表示“软失败”,表示这不是通过,但也不是硬拒绝(也许表明您应该将其放入垃圾邮件文件夹-尽管这应该是DMARC的决定)。 ?all的意思是“中立”,等同于根本没有任何东西。

当类似的服务推荐?all时,它们就非常保守,并且不希望增加任何风险-这是一种“故障安全”选项,可将中断降到最低,但也没有保护措施。我会说这适得其反,并且最终只会导致伪造的发生,完全打败了使用SPF的整个观点。参见my own service's recommendations

“正确的方法”是使用~all默认值,并将DMARC记录配置为同时要求DKIM和SPF“通过”结果。有一个历史原因:早期的SPF过滤器实现会在遇到-all时完全停止电子邮件处理,而DMARC处理将无法做到这一点,因此提供软失败更为安全,并且然后让DMARC认为失败。

简而言之,如果您不使用DMARC,则瞄准-all,如果您使用DMARC,则使用~all

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...