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

在你的域名上有多个 SPF 记录可以吗?答案是否定的,因为拥有多个 SPF 记录是域名所有者最常遇到的 SPF 错误之一,它可以使你的 SPF 完全失效,并导致 SPF PermError。要了解为什么会发生这种情况,我们需要了解 SPF 的功能,以及为什么拥有多条 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 记录,将返回PermError结果。

错误的方式。 

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

在这个例子中,对于域名 exampledomain.com 来说,有 2 个独立的 DNS TXT 记录被公布在该域名的 DNS 中。在这种情况下,由于 SPF PermError,SPF 认证失败。

 

正确的方式。 

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

在这个例子中,域名 exampledomain.com 通过在一条记录中加入所有的包含机制,在 DNS 中只发布了一条 SPF DNS TXT 记录。这条记录是有效的,在这种情况下,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记录可能包含语法错误

为了避免上述错误,使用PowerSPF来自动平整你的SPF记录,并保持在10个DNS查询限制之下。

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