重要提示:谷歌和雅虎将从 2024 年 4 月起要求使用 DMARC。
权力管理机构

可以拥有多个 SPF 记录吗?

多项SPF记录
阅读时间 6 分钟

域名上可以有多个 SPF 记录吗?答案可能会让您大吃一惊!SPF 记录对于电子邮件验证至关重要,但拥有多个 SPF 记录实际上会损害您的邮件发送能力。

拥有多个 SPF 记录是域名所有者最常遇到的 SPF 错误之一。它会使 SPF 完全失效并导致 SPF PermError。要了解为什么会发生这种情况,我们需要了解 SPF 的功能,以及为什么拥有多个 SPF 记录会导致验证问题。 

*专业提示:进行 域名记录检查以查找 SPF 记录配置中的错误。

SPF 记录的功能

发件人策略框架或 SPF是一种流行的电子邮件验证协议,其工作原理是列出允许代表你的域发送电子邮件的所有授权发送源。

SPF 检查过程中,接收 MTA 会执行 DNS 查询请求或 DNS 查找,将电子邮件的返回路径地址与 SPF 记录中提到的 IP 地址列表进行匹配,以验证电子邮件的返回路径地址。如果找到匹配,则电子邮件通过 SPF,否则 SPF 失败。

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

多重 SPF 记录的神话

虽然有些服务可能会建议添加单独的 SPF 记录,但事实上一个域只能有一条 SPF 记录。这是因为 SPF 标准 (RFC 4408) 严格禁止拥有多个记录。

在 SPF 检查过程中,遇到多条记录会导致 "PermError",基本上会使接收服务器感到困惑。

当接收 MTA 开始对电子邮件执行 SPF 验证时,它会获取所有以 "v=spf1 "开头的 DNS TXT 记录。如果发送域未配置 SPF,且在 DNS 中未发现 SPF 记录,则会返回 "无 "结果。相反,如果发现同一域存在多个以 "v=spf1 "开头的 SPF 记录,则会返回一个 SPF PermError结果。

多个 SPF 记录的问题 

使用多个 SPF 记录或仅仅为一个域设置多个 SPF 记录可能会造成严重后果,例如:..:

这是一个非常普遍的问题。几个 域名分析报告显示,域名所有者最常犯的错误之一就是每个域名拥有超过 1 条 SPF 记录。这一错误是造成 SPF 配置错误的主要原因之一。

多个 SPF 记录示例

下面是为同一域发布多个独立 SPF 记录的示例。 

错误的方式。 

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

在此示例中,对于域名 exampledomain.com,域的 DNS 中发布了 2 条独立的 SPF DNS TXT 记录。在这种情况下,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 记录问题? 

使用 PowerDMARC 可以轻松修复多 SPF 记录错误!请按照以下步骤为您的域正确配置 SPF 多重包含: 

步骤 1:确认 SPF 多条记录错误 

第一步是检查 SPF 多重记录。在 PowerDMARC 上免费注册并使用我们的 SPF 记录生成器工具来确认是否存在此错误。

 

或者,您也可以在 DNS 中手动查找您的记录。如果您使用的是 Cloudflare、CloudDNS、DNS Made Easy、Namecheap 或其他 DNS 托管服务提供商,每个提供商的操作步骤都不一样。不过,通常的一般步骤是进入 DNS 管理控制台,访问 DNS 区域编辑器,然后单击 "管理域"。您可以在域名的 DNS 区域中找到 SPF 的 DNS 记录。 

步骤 2:删除单个域的多个 SPF 记录

如果您的域名包含多条 SPF 记录,则需要编辑 DNS 记录并删除除一条记录外的所有记录。确保每个域只剩下一条 SPF 记录。

步骤 3:合并 SPF 记录 

最后,编辑剩余的单个 SPF 记录以合并多个包含。这种方法既能轻松修复错误,又能在单个记录中包含多个 SPF 记录。 

  1. 进入 DNS 管理控制台 
  2. 单击编辑 SPF 记录 
  3. 在语法中,使用 SPF "include "机制包含您希望授权的多个域。下面是将 SPF 记录合并为 1 的示例:

您可以继续向同一 SPF 记录添加更多 "包含",以授权所有第三方服务。完成后,请确保将记录保存在 DNS 中。 

注意:您可以配置 (~all) 来代替执行策略 (-all),以便在 SPF 失效时采用更宽松、更灵活的方法。 

添加多个 SPF 记录的步骤

如果您在单个域中使用多个电子邮件供应商,为它们配置多个单独的 SPF 记录是错误的 SPF 设置方法。您需要这样做:

1.PowerDMARC 可以帮助您轻松地为域名添加多个 SPF 记录。使用我们的 SPF 记录生成器工具创建一个免费记录。

 

2.在标有 "授权代表此域发送电子邮件的域或第三方服务 "的字段中输入您希望授权的所有第三方供应商。 您希望授权的所有第三方供应商。这是 合并 SPF 记录.

3.在 DNS 中复制并粘贴单个生成的 SPF 记录,其中包含授权发件人的多个 SPF 记录。保存记录。 

带有多个包含项的 SPF 记录的问题 

多次包含 SPF 并不总是正确的方法。虽然以这种方式组合 SPF 记录有助于消除 SPF 多记录错误,但可能会导致其他错误。每个电子邮件服务提供商都会在 SPF 验证过程中添加 DNS 查询。在 SPF 记录中包含多个记录就等于进行了多次查询。不过,RFC 规定 SPF 的最大查询次数限制为 10 次。 

超过 SPF 10 的查询限制,也会返回 SPF PermError 并破坏 SPF。

为了不超过 SPF 的 10 次 DNS 查询限制: 

  1. 您可以手动调整 SPF 记录。不过,如果通过手动扁平化来提取包含机制后面的所有 IP 地址,可能会导致记录冗长,超出 SPF 的字符串限制。 
  2. 或者,您可以选择 SPF 宏.宏可以帮助您遵守查找和字符长度限制。

为了避免多重 SPF 记录和其他常见错误,请使用 PowerDMARC 的托管 SPF 解决方案。我们在 SPF 记录中集成了宏,以确保您享受优化和更新的无差错 SPF。 

此外,您还可以配置我们的 DMARC 分析器为您的域配置 DMARC。 DMARC可帮助您防范网络钓鱼攻击、欺骗和域名滥用。

最后的话

拥有一个配置良好的单一 SPF 记录对于优化电子邮件的可送达性至关重要。在这篇博客中,我们介绍了如何将 SPF 记录合二为一,以实现无差错的 SPF 设置。虽然 SPF 是很好的第一步,但也可以考虑探索其他电子邮件验证方法,如 DKIM 和 DMARC,以获得更好的保护。 

欲了解更多此类域名安全解决方案,以简化您的电子邮件安全 - 请 联系我们今天就联系我们!

退出手机版