多个 SPF 记录:如何合并它们(简单的方法)

已发表: 2021-02-17

您是否需要修复域中的多个 SPF 记录?

SPF 记录是以v=spf1开头的TXT类型记录。 多个 SPF 记录会导致您的电子邮件被拒绝或作为垃圾邮件归档。

在本文中,我们将解释:

  • 您可以拥有超过 1 条 SPF 记录吗?
  • 如何检查您的 SPF 记录
    • Cloudflare
    • 蓝主机
  • 如何合并多个 SPF 记录
  • 如何测试您的 SPF 记录

立即修复您的 WordPress 电子邮件

您可以拥有超过 1 条 SPF 记录吗?

不,您不能拥有超过 1 条 SPF 记录。 如果您确实有两个单独的 SPF TXT 记录条目,您的电子邮件将无法通过 SPF 身份验证并返回 PermError。

Multiple SPF records in Cloudflare

如果您有多个 SPF 记录,简单的解决方法是将这些条目合并到一个记录中。

根据 Alexa 的说法,每 6 个具有 SPF 记录的域中就有一个使用了错误的格式。 因此,绝对值得检查以确保您没有任何额外或不需要的 SPF 记录。

如何修复多个 SPF 记录

如果您有多个 SPF 记录,好消息是:这是一个很容易解决的问题,只需几分钟即可合并您的 SPF 记录。

首先,我们将使用免费的在线工具检查您的 DNS 记录。

SPF 记录有什么作用?

SPF 会验证您发出的电子邮件,以防止域欺骗。 域欺骗是指垃圾邮件发送者在发送网络钓鱼或恶意软件电子邮件时冒充您。

当接收服务器收到您的电子邮件时,它会根据 SPF 记录检查发件人域。 如果 SPF 检查失败,接收服务器可以将其标记为垃圾邮件或拒绝它。

检查多个 SPF 记录

有时很难发现多个 SPF 记录。 事实上,您甚至可能不知道需要合并 SPF 记录,因为您的接收电子邮件主机可能会自动忽略它们。 但是拥有多个仍然不是一个好主意。

我们可以使用 MXToolbox 扫描您的 DNS 记录以查找超过 1 条 SPF 记录。 为此,请在字段中输入您的域名,然后单击SPF 记录查找按钮。

Check MXToolbox for multiple SPF records

如果您设置了超过 1 条 SPF 规则,您将看到消息找到多个记录。 SPF 记录显示在顶部的红色条中。

Multiple SPF records error in MXToolbox

我们有 2 行以v=spf1开头,因此这可能会导致电子邮件传递出现问题,因为接收电子邮件服务器可能会忽略这两条记录。

为了解决您的 SPF 记录问题,我们将编辑您域的 DNS 记录并结合这两个规则,从而消除多个 txt 记录。

DNS 记录通常由以下人员持有:

  • 您的域名注册商
  • 您正在使用的网络托管公司,如果您购买了您的托管和域作为一个包
  • CDN 提供商,如果您选择使用其中之一。

在为交易电子邮件提供商创建 DMARC、SPF 和 DKIM 记录时,您可能已经编辑了 DNS。 我们将回顾该过程,以便您现在可以合并您的 SPF 记录。

在 Cloudflare 中编辑 SPF

我们将首先向您展示如何使用 Cloudflare 修复多个 SPF 记录。

首先,登录并选择要编辑的域。

Open DNS in Cloudflare

您将看到列出的整个 DNS。 查找 TXT 记录以查找重复项。

Multiple SPF records in Cloudflare

如果您的 DNS 看起来不是这样,让我们​​尝试另一种查找正确记录的方法。

在 Bluehost 中编辑 SPF 记录

如果您的域由 Bluehost 托管,请登录到您的控制面板开始。

从左侧菜单中,单击Domains

Edit Bluehost domains

从列表中,单击您需要编辑的域旁边的管理下拉菜单。

Manage domain to merge SPF in Bluehost

从弹出的菜单中,单击DNS

Bluehost edit DNS

现在向下滚动,直到找到您的 TXT 记录。 您将在本节中看到 SPF 记录。

Multiple SPF TXT records in Bluehost

同样,您的 DNS 可能看起来不同,但这应该可以让您找到正确的位置。

如何包含多个 SPF 记录

现在我们将使用正确的语法来合并多个 SPF 记录。 这将允许您在 1 行中使用多个 IP 或域。

我们将在此示例中使用 Cloudflare,但大多数主机和注册商的步骤相似。

查看 DNS 区域并找到第一个 SPF 规则。

Edit multiple SPF records in Cloudflare

将现有规则复制到剪贴板。 您可能希望将其粘贴到文本文档中,以便稍后再次抓取它。

现在从您的 DNS 中删除该记录。

Delete duplicate SPF record

在 Bluehost 中,您可以使用右侧带有 3 个点的图标删除记录。

Delete SPF Bluehost

对于这些步骤的其余部分,我们将切换回 Cloudflare。

现在单击剩余 SPF 记录旁边的编辑

Edit SPF record in Cloudflare

SPF 记录包含 3 个部分:声明、允许的 IP 或域以及执行规则。 所以我们将像这样组合记录:

  • 声明:以v=spf1开始记录(不要在规则中再次使用它 - 它只能出现在开头)
  • 允许的域:为每个域添加一个include
  • 执行规则:以一个~all语句结束记录(同样,只在最后使用这个)

一旦我们组合了 SPF 规则,我们的组合记录如下所示:

v=spf1 include:zoho.eu include:mailgun.org ~all

继续编辑您的 SPF 规则,使其结合两个域。

Combined SPF rule in Cloudflare

只要您只有 1 个声明和 1 个强制执行规则,您就可以根据需要包含更多域,只要它们位于单个字符串中即可。

请记住,SPF 记录存在限制:

  • 该语句最多可以有 10 个域查找(例如include
  • 该语句的长度必须少于 255 个字符。

在继续之前不要忘记保存

测试合并的 SPF 记录

尽管 Cloudflare 更改通常会在几分钟内生效,但 DNS 更改可能需要长达 48 小时才能传播。

等待一段时间后,在 MXToolbox 中再次检查您的域名。

您现在应该会看到与此类似的通过消息。

Valid merged SPF records in MXToolbox

就是这样! 您成功解决了域中多个 SPF 记录的问题。

立即修复您的 WordPress 电子邮件

有关 SPF 记录的常见问题

让我们以更多关于 SPF 记录的背景信息结束。

SPF 是什么意思?

SPF 代表发件人策略框架。 完整的规范在名为 RFC4408 的技术文档中定义。

WP Mail SMTP 中的每个邮件程序都需要 SPF 吗?

许多邮件都需要 SPF,包括:

  • SMTP.com
  • 森丁蓝
  • 邮筒
  • 发送网格
  • G-套房
  • Outlook,如果与您自己的自定义域一起使用
  • Zoho Mail,如果与您自己的自定义域一起使用

在 WP Mail SMTP 中,以下情况不需要SPF:

  • gmail.comgooglemail.com结尾的 Gmail 地址(换句话说,不受 G-Suite 订阅或自定义域控制的 Google 电子邮件地址)
  • outlook.com结尾的 Hotmail 或 Microsoft 电子邮件地址
  • zohomail.com结尾的 Zoho Mail 地址。
  • 邮戳中设置的任何发件人。

如果您没有在需要时添加 SPF,WP Mail SMTP 可能会向您显示警告:

Action Needed: It doesn't look like the SPF record required by Google has been added to your domain. Please check out Google's SPF guide for details on how to add this record to your domain's DNS.

如果我没有 SPF 记录会怎样?

一些电子邮件提供商不需要 SPF 记录,因此这可能不是问题。 例如,Postmark 只需要您设置 DKIM。

如果您这样做了,但您还没有设置,邮件服务器将查找 DMARC 记录以确定如何处理电子邮件。 这可能会导致您的电子邮件被归档到垃圾邮件文件夹中。

我是如何获得多个 SPF 记录的?

多个 SPF 记录通常是偶然添加的。 例如,您可能有超过 1 个,因为:

  • 您切换了邮件服务:如果您更换您的电子邮件服务提供商(例如,您从 SMTP.com 迁移到 Sendinblue),您可能忘记在添加新记录之前删除第一个 SPF 记录。
  • 您为不同类型的电子邮件使用不同的服务:例如,您可能需要使用 Sendinblue 使用 WP Mail SMTP 发送 WordPress 电子邮件,并使用 SMTP.com 等其他提供商来处理电子邮件营销列表的电子邮件。

如果我有多个 SPF 记录,我在 WP Mail SMTP 中的测试电子邮件是否仍然有效?

有时即使您有多个 SPF 记录(或根本没有),您仍会在 WP Mail SMTP 中收到测试电子邮件。 这可能是因为:

  • 接收服务器在后台自动处理多个 SPF 记录,因此您不会注意到问题
  • 您的邮件服务不需要 SPF 记录,因此它已经忽略了它们。

SPF 是否适用于我的子域?

不。与 DMARC 不同,SPF 不适用于子域。 您需要在主机上为子域创建单独的 SPF 记录。

“过多的 DNS 查找”是什么意思?

SPF 通过检查规则中的每个域来工作。 这称为 DNS 查找。 因此,如果您的 SPF 记录中包含的域太多,那么如果您的域超过 10 个,它将失败。

您可能会看到错误Too many lookupsMaximum hop count exceeded

如果您需要向 SPF 规则添加超过 10 次查找,您可以添加一个子域并为该子域创建一个新的 SPF 规则以绕过此限制。

此外,请咨询您的提供商。 如果您使用他们的一项以上的服务,他们可能会提供不同的 SPF 规则。

-all vs ~all 是什么意思?

在 SPF 记录中, - all表示任何与域不匹配的电子邮件都将无法传递。 ~ all强制执行规则稍微不那么严格,并将寻求进一步的验证。

一些电子邮件提供商会推荐使用? all ? all (给出中性结果)。

如果您需要将语句与不同的执行规则结合起来,您可以使用~ all ,除非您的电子邮件提供商推荐不同的方法。

请勿使用+ all非常重要,因为这将允许 Internet 上的任何人使用您的域发送垃圾邮件。

我需要 PTR 记录吗?

是的,您还需要 PTR 记录,但您可能不需要自己创建它。 要了解更多信息,请查看本指南:什么是 DNS PTR 记录?

SPF PermError 是什么意思?

当电子邮件服务提供商无法验证您域的 SPF 记录时,会发生 PermError。 如果您在 SPF 记录条目中使用了不正确的语法,或者您有多个 SPF 记录,则可能会发生这种情况。 要修复 PermError,请检查您的语法,如果您有多个 SPF 记录,请确保合并您的 SPF 记录。

立即修复您的 WordPress 电子邮件

下一步:检查您的 DMARC 记录

SPF 是 3 种电子邮件身份验证方法之一,可帮助提高可传递性并阻止垃圾邮件。 大多数电子邮件服务提供商将 SPF 与 DKIM 和 DMARC 一起使用。

现在您已经设置了 SPF 记录,请查看我们关于如何创建 DMARC 记录的简单指南。 它包含一个 DMARC 示例,您可以快速复制和粘贴该示例。

准备好修复您的电子邮件了吗? 立即开始使用最好的 WordPress SMTP 插件。 WP Mail SMTP Elite 包括完整的白手套设置并提供 14 天退款保证。

如果本文对您有所帮助,请在 Facebook 和 Twitter 上关注我们以获取更多 WordPress 提示和教程。