为什么 SPF 认证会失败?如何解决 SPF 失败的问题?
你见过SPF失败的邮件吗?如果你见过,那么我将告诉你SPF认证失败的确切原因。发件人政策框架,或称SPF,是我们多年来用来阻止垃圾邮件的电子邮件验证标准之一。即使你没有意识到这一点,我敢打赌,如果我检查你在Facebook的登录账户设置,很可能会显示你 "选择加入 "了 "仅来自朋友的电子邮件"。这实际上与SPF是一回事。
什么是SPF认证?
SPF 是一种电子邮件验证协议,用于验证电子邮件发件人是否与邮件 "发件人:"字段中的域名相符。发送 MTA 将使用 DNS 查询预先配置的 SPF 服务器列表,以检查发送 IP 是否被授权为该域名发送电子邮件。SPF 记录的设置方式可能存在不一致的地方,这对于理解为什么电子邮件可能无法通过 SPF 验证,以及如何确保在自己的 电子邮件营销工作中或发送 营销电子邮件以赢得客户。
为什么SPF认证会失败。无,中性,硬失败,软失败,TempError,和PermError
SPF 认证失败可能是由于以下原因发生的。
- 接收 MTA 无法在您的 DNS 中找到已发布的 SPF 记录。
- 您为同一个域配置了多个 SPF 记录。
- 您的电子邮件服务提供商修改或添加了新的 IP 地址,而这些地址没有反映在您的 SPF 记录中。
- 您已超过 SPF 的 10 次 DNS 查询限制。
- 您超出了允许的 2 次无效查询上限。
- 您的扁平化 SPF 记录长度超过了 255 个 SPF 字符的限制。
以上是 SPF 验证失败的各种情况。您可以使用我们的 DMARC 分析器以获取 SPF 验证失败的报告。当您的 DMARC报告时,接收 MTA 会根据邮件 SPF 失败的原因,返回以下任一邮件的 SPF 验证失败结果。让我们进一步了解它们:
SPF失败限定词的类型
以下是 SPF 失败限定符的类型,每个限定符都作为前缀添加到 SPF 失败机制之前。
"+""通过"
"-" "失败"
"~" "软失败"
"?""中立"
这些有什么关系呢?在你的邮件没有通过 SPF 的情况下,你可以选择你希望接收者如何严格地处理它。你可以指定一个限定词来 "通过 "未通过检查的邮件(送达),"失败 "送达,或者采取 "中立 "的立场(什么都不做)。
案例1:返回SPF无的结果
在第一种情况下,如果接收邮件的服务器进行了 DNS 查询,但无法在 DNS 中找到该域名,就会返回一个无的结果。如果在发件人的 DNS 中没有发现 SPF 记录,也会返回 None,这意味着发件人没有为这个域名配置 SPF 认证。在这种情况下,你的邮件的 SPF 认证就会失败。
使用我们的 免费 SPF 记录生成器工具来避免这种情况。
案例2:返回SPF中立的结果
在为你的域名配置 SPF 时,如果你在你的 SPF 记录中加入了 "所有 "机制,这意味着无论你的出站邮件的 SPF 认证检查得出什么结论,接收的 MTA 都会返回一个中立的结果。这是因为当你的 SPF 处于中立模式时,你没有指定授权代表你发送邮件的 IP 地址,而是允许未经授权的 IP 地址也发送邮件。
案例3:SPF软失败的结果
与 SPF neutral 类似,SPF softfail 是通过 ~all 机制来识别的,这意味着接收的 MTA 会接受邮件并将其送入收件人的收件箱,但如果 IP 地址没有被列入 DNS 中的 SPF 记录,它就会被标记为垃圾邮件,这可能是你的邮件 SPF 认证失败的一个原因。下面是一个 SPF 软失败的例子。
v=spf1 include:spf.google.com ~all
案例4:SPF硬失败的结果
SPF hardfail,也被称为 SPF fail,是指接收的 MTA 会丢弃来自任何不在你 SPF 记录中的发送源的邮件。我们建议你在你的 SPF 记录中配置 SPF hardfail,如果你想获得对域名冒充和邮件欺骗的保护。下面是一个 SPF Hardfail 的例子。
v=spf1 include:spf.google.com -all
案例5:SPF TempError(SPF临时错误)。
SPF TempError(临时错误)是 SPF 身份验证失败的常见原因之一,通常也是无害的原因。 DNS 超时在接收 MTA 执行 SPF 身份验证检查时发生的 DNS 错误(如 DNS 超时)。因此,顾名思义,它通常是一种临时错误,返回 4xx 状态代码,可能导致 SPF 暂时失败,但稍后再次尝试时会产生 SPF 通过结果。
案例 6:SPF PermError(SPF永久错误)。
域名错误面临的另一个常见结果是 SPF PermError。这就是为什么在大多数情况下,SPF 认证会失败。这发生在你的 SPF 记录被接收的 MTA 无效的时候。在执行 DNS 查询时,SPF 可能会出现故障并被 MTA 宣布无效,这有很多原因。
- 超过了10个SPF查询的限制
- SPF记录的语法不正确
- 同一域名有一个以上的SPF记录
- 超过SPF记录长度限制的255个字符
- 如果你的SPF记录没有随着你的ESPs的变化而更新
注意当 MTA 执行 SPF 检查时,会查询 DNS 或进行 DNS 查找,以检查电子邮件源的真实性。理想情况下,SPF 最多允许 10 次 DNS 查询,超过此次数将导致 SPF 失败并返回 PermError 结果。
动态SPF扁平化如何解决SPF PermError?
与其他 SPF 错误不同,SPF PermError 解决起来更加棘手和复杂。PowerSPF 通过自动 SPF 扁平化.它可以帮助您
- 保持在SPF的硬限值之下
- 即时优化你的SPF记录
- 将你的记录扁平化为一个单一的包括声明
- 确保你的SPF记录总是在你的ESP所做的改变中得到更新
想测试您的域名是否正确配置了 SPF?试试我们免费的 SPF 检查器工具!
- 修复 SPF 错误克服 SPF DNS 查询次数过多限制- 2024 年 4 月 26 日
- 如何用三个步骤发布 DMARC 记录?- 2024 年 4 月 2 日
- DMARC 为什么会失败?在 2024 年修复 DMARC 故障- 2024 年 4 月 2 日