我可以在我的域名上有多个SPF记录吗?

在你的域名上有多个 SPF 记录可以吗?答案是否定的,因为拥有多个 SPF 记录是域名所有者最常遇到的 SPF 错误之一,它可以使你的 SPF 完全失效,并导致 SPF PermError。要了解为什么会发生这种情况,我们需要知道SPF的功能,以及为什么拥有多条SPF记录会导致认证中的问题。今天就进行你的域名记录检查,找出你的 SPF 记录配置中的错误。

SPF是如何工作的?

发件人策略框架或SPF是一个流行的电子邮件认证协议,它通过列出所有允许代表你的域名发送电子邮件的授权发送源而发挥作用。SPF通过执行DNS查询请求或DNS查找来工作,其中接收的MTA通过与驻扎在你的域名DNS中的SPF记录中提到的IP地址列表相匹配,来查找并验证你的电子邮件的返回路径地址

如果发现有匹配的,该邮件就能通过SPF,否则就不能通过SPF。

因此,配置SPF只是发布一个以 "v=spf1 "语法开头的DNS TXT记录。

什么是 SPF PermError?

当一个接收的 MTA 开始对一封邮件进行 SPF 认证时,它会获取所有以 "v=spf1 "开头的 DNS TXT 记录。如果发送域没有配置 SPF,并且在 DNS 中没有发现 SPF 记录,那么就会返回一个 None 的结果。相反,如果发现同一域名有多条以 "v=spf1 "开头的 SPF 记录,将返回SPF PermError结果。

SPF 记录中包含多个。哪个是发布记录的正确方式?

错误的方式。 

记录类型域名记录值TTL
TXT考试网v=spf1 include:_spf.zoho.com -all违约
TXT考试网v=spf1 include:_spf.google.com -all违约

在这个例子中,对于域名 exampledomain.com 来说,有 2 个独立的 DNS TXT 记录被发布在该域名的 DNS 中,分别纳入 SPF 的多个包含。在这种情况下,SPF 认证失败,并为你的域名返回一个永久错误结果。这些包含中的每一个都被当作独立的记录,导致同一域名上有多个 SPF 记录。

 

正确的方式。 

记录类型域名记录值TTL
TXT考试网v=spf1 include:_spf.zoho.com include:_spf.google.com -all违约

在这个例子中,域名 exampledomain.com 只有一个 SPF DNS TXT 记录,而不是多个 SPF 记录。这是通过在一条记录中加入 SPF 多重包含机制实现的。这条记录是有效的,在这种情况下,SPF 不会返回一个 PermError 的结果。了解如何以正确的方式优化你的 SPF记录,以避免将来出现 SPF 记录错误。

影响SPF的其他因素:SPF错误的类型

如上所述,拥有多个 SPF 记录是一个常见的 SPF 错误,会导致你的 SPF 记录无效,无法通过 SPF 认证。所以,"我的域名上可以有多个 SPF 记录吗?"答案很简单:不可以。在确保你的DNS中只发布了一条SPF记录之后,仍有可能有其他因素导致SPF错误。

  • 超过 SPF 10 的查询限制,也会返回 SPF PermError 并破坏 SPF。
  • 手动平铺你的SPF记录,拉出你的包含机制背后的所有IP地址,会导致记录过长,可能超过255个字符的限制。
  • 你的电子邮件服务提供商,如Zoho、Gmail或Outlook,可以改变或添加到他们的IP地址,使你的SPF记录无效
  • 你的SPF记录可能包含语法错误

为了避免多个 SPF 记录和其他常见的错误,使用 PowerSPF 来自动平整你的 SPF 记录,并保持在 10 个 DNS 查询限制之下。想知道你是否遵守了所有的 SPF 规则?使用我们的SPF 记录检查器免费检查你的 SPF 记录。

你可以使用我们免费的SPF记录生成器生成你的无错误的SPF记录。今天就注册DMARC分析器,为你的域名正确配置SPF,避免所有SPF错误。