跳转到正文
OmniChannels.ai

邮件送达率:SPF、DKIM 与 DMARC 详解

邮件送达率详解:SPF、DKIM、DMARC 及 DNS 记录示例,Gmail、Yahoo、Outlook 的发件人规则,一键退订、域名预热和上线前检查清单。

更新于 10 分钟阅读

作者: OmniChannels.ai Editorial Team · 审阅: BroadNet Messaging Solutions Team

全渠道

简短回答

邮件送达率指邮件能否进入收件箱,而不是被拒收或进入垃圾邮件箱。它依赖三条 DNS 记录:SPF 列出允许为您的域名发信的服务器,DKIM 为每封邮件签名,DMARC 告诉收件方验证失败时怎么处理并向您发送报告。此外还要有一键退订、干净的名单、逐步放量,并把垃圾邮件投诉率控制在 0.3% 以下。

本页内容
  1. 什么是邮件送达率?
  2. SPF、DKIM 和 DMARC 各起什么作用?
  3. DNS 记录是什么样子的?
  4. 什么是 DMARC 对齐?为什么它会导致失败?
  5. Gmail、Yahoo 和 Outlook.com 对批量发件人有哪些要求?
  6. 如何设置一键退订?
  7. 如何预热新域名或新 IP?
  8. 如何保持名单干净?
  9. 如何监控送达率?
  10. 邮件送达率检查清单
  11. 实际案例:迪拜的网上药房开始发送营销活动
  12. 本指南有哪些局限?
  13. OmniChannels.ai 如何提供帮助

要点速览

  • SPF、DKIM 和 DMARC 用来证明邮件确实来自您的域名;只有当 SPF 或 DKIM 在与可见发件人(From)地址对齐的域名上通过时,DMARC 才算通过。
  • Google 的指南对每天向 Gmail 地址发送超过 5,000 封邮件的发件人适用更严格的规则:SPF、DKIM 和 DMARC,营销邮件的一键退订,以及垃圾邮件率保持在 0.30% 以下。
  • Yahoo 要求批量发件人配置 SPF、DKIM 和至少 p=none 的 DMARC 策略,并要求在 2 天内处理退订;Outlook.com 对每天发送超过 5,000 封邮件的域名适用认证规则。
  • 一旦 Google 认定您为批量发件人,该身份不会过期,所以请在达到阈值之前就建好认证和退订机制。
  • DMARC 先从 p=none 开始并设置报告地址,通过报告找出所有合法的发信来源,然后再收紧策略。

本指南面向用自己的域名发送邮件、并希望邮件进入收件箱的营销、CRM 和工程团队。内容包括什么是邮件送达率、SPF、DKIM 和 DMARC 如何工作(附 DNS 记录示例)、Gmail、Yahoo 和 Outlook.com 对批量发件人的要求,以及一份在营销活动前使用的检查清单。

什么是邮件送达率?

邮件送达率是指您的邮件到达收件人收件箱、而不是被拒收或被过滤进垃圾邮件箱的能力。它取决于认证、发件人信誉、名单质量、投诉率和内容。简短定义见我们的邮件送达率术语表词条。

有两件事常被混淆。收件服务器接受邮件,称为已投递。只有在邮箱服务商的过滤器随后信任它时,邮件才会进入收件箱。一次营销活动可能显示 99% 的接受率,却仍然落入垃圾箱,所以您既需要服务器端的信号(退信),也需要邮箱服务商的信号(垃圾邮件率、信誉)。

SPF、DKIM 和 DMARC 各起什么作用?

SPF 说明哪些服务器可以为您的域名发信,DKIM 对邮件签名,使篡改可以被发现,DMARC 把二者与您显示的 From 地址绑定,并告诉收件方验证失败时怎么处理。另见 SPF、DKIM 和 DMARC 术语表词条。

标准 检查什么 位置 何时失败
SPF (RFC 7208) 连接的服务器在您的允许列表上 域名上的 TXT 记录 某个发送服务不在记录中,或记录的 DNS 查询超过 10 次
DKIM (RFC 6376) 邮件签名与公钥匹配 selector._domainkey.yourdomain 处的 TXT 记录 邮件被改动、密钥错误,或平台没有为您的域名签名
DMARC SPF 或 DKIM 在与 From 地址对齐的域名上通过 _dmarc.yourdomain 处的 TXT 记录 SPF 和 DKIM 均未在对齐的前提下通过

DMARC 规范最初是 RFC 7489。IETF 此后发布了 RFC 9989,这是一份标准轨道文档,它废止了 RFC 7489 和 RFC 9091,所以需要引用当前版本时请引用 RFC 9989。本文用到的基本标签(v、p、rua)含义没有变化。

DNS 记录是什么样子的?

下面是文档专用域名 example.com 的简化记录。请把 include 和密钥替换为您的邮件服务商提供的值;切勿照抄其他公司的值。

SPF(每个域名一条记录):

example.com.  IN TXT  "v=spf1 include:_spf.mailprovider.example ~all"

DKIM(由您的服务商创建密钥对,并给您选择器和公钥):

s1._domainkey.example.com.  IN TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkq...public-key-here..."

DMARC(从监控模式开始):

_dmarc.example.com.  IN TXT  "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"

各项说明:

  • SPF: 只发布一条 SPF 记录。两条记录会导致 SPF 失败。每个以您域名发信的服务(营销平台、客服系统、CRM、消息平台)都需要由 include 或 IP 条目覆盖,且总查询次数必须在 10 次 DNS 查询以内。
  • DKIM: Google 表示,向个人 Gmail 账号发信需要 1024 位或更长的 DKIM 密钥,如果您的服务商支持,建议使用 2048 位。
  • DMARC: p=none 告诉收件方对验证失败的邮件不采取任何措施,但仍向 rua 地址发送报告。这是正确的第一步。之后再升级到 p=quarantine,再到 p=reject。

什么是 DMARC 对齐?为什么它会导致失败?

对齐是指通过 SPF 或 DKIM 的域名与可见 From 地址中的域名一致。当二者中至少有一个在对齐的前提下通过时,DMARC 才通过。这是人们最容易忽略的一步。

假设您的新闻简报平台以 news@example.com 发信,但 SPF 使用的是它自己的退信域名,DKIM 签名也使用它自己的域名。SPF 和 DKIM 都“通过”了,但两个域名都与 example.com 不一致,所以 DMARC 失败。解决办法是与该平台设置自定义域名认证,让它用发布在您域名下的密钥签名,并使用您域名下的退信域名。Google 还指出,转发邮件或邮件列表邮件不要求 DMARC 对齐。

Gmail、Yahoo 和 Outlook.com 对批量发件人有哪些要求?

Gmail、Yahoo 和 Outlook.com 都要求大量发信的发件人进行认证,Gmail 和 Yahoo 还增加了一键退订和垃圾邮件率限制。请查看各服务商页面的最新文本,因为执行细节会变化。

要求 Google (Gmail) Yahoo Microsoft (Outlook.com)
适用对象 基本要求适用于所有发件人;每天向 Gmail 账号发送超过 5,000 封的另有额外规则 基本要求适用于所有发件人;批量发件人另有额外规则 每天发送超过 5,000 封邮件的域名
认证 所有人需 SPF 或 DKIM;批量发件人需 SPF、DKIM 和 DMARC 所有人需 SPF 或 DKIM;批量发件人需两者并加 DMARC SPF 和 DKIM 必须通过;DMARC 至少 p=none,且对齐
DMARC 策略 必须通过,并与 From 域名对齐 至少 p=none 且必须通过;强烈建议配置 rua 至少 p=none,与 SPF 或 DKIM 对齐
一键退订 批量发件人的营销和订阅类邮件必须提供,另需可见链接 批量发件人必须提供,另需可见链接;2 天内处理 不在所引用的要求之内
垃圾邮件率 低于 0.10%,绝不达到或超过 0.30% 低于 0.3% 所引用的文章中未说明

Google 指南中的其他要点:发信 IP 需要正向与反向 DNS 一致(有效的 PTR 记录),邮件必须通过 TLS 发送,邮件需要有效的 Message-ID 和规范的 RFC 5322 格式,HTML 不应隐藏内容。曾经达到批量阈值的发件人会被永久视为批量发件人;该身份没有有效期。Google 还说,不合规的邮件可能被拒收或送入垃圾箱。

在 Outlook.com 方面,Microsoft 的文章称,大量发信域名的不合规邮件会被送入垃圾邮件文件夹,拒收(错误 550; 5.7.515 Access denied)计划在之后宣布的日期实施。依赖这一点之前请重新查看 Microsoft 的页面,因为执行阶段可能已经变化。

如何设置一键退订?

为每封营销邮件添加两个邮件头,同时在正文中放一个可见的退订链接。这些邮件头在 RFC 2369 和 RFC 8058 中定义。

List-Unsubscribe: <https://example.com/unsubscribe?t=abc123>
List-Unsubscribe-Post: List-Unsubscribe=One-Click

该 URL 必须接受 POST 请求,并在无需登录或进一步询问的情况下让收件人退订。Yahoo 表示强烈推荐使用 POST 方法,mailto 方法也可接受。Yahoo 还要求发件人在 2 天内处理退订,所以请自动处理,并让您使用的所有营销工具共用一份屏蔽名单。

如何预热新域名或新 IP?

预热是指分阶段提高发送量,让邮箱服务商可以通过良好的互动来了解您的信誉。Google 的指引只是要求逐步增加发送量并监控收件人的垃圾邮件举报,所以请使用由数据驱动的计划,而不是某个公开的时间表。

  1. 先做认证。 发布 SPF、DKIM 和 DMARC,并在首次发送前确认它们通过。
  2. 从最活跃的人开始: 近期购买者、近期打开过邮件的人,或刚刚订阅的人。
  3. 仅在退信和投诉保持较低时才分阶段提高发送量。
  4. 保持稳定的节奏。 从沉寂的域名突然暴增发送,看起来像滥用。
  5. 一旦出现退信、拦截或投诉上升的迹象就暂停增加,找出原因并修复后再继续。
  6. 最后再加入较冷的分群,并剔除那些从不互动的人。

如果您使用共享平台的发件地址,就是在继承别人的信誉;使用您自己已认证的域名发信,则让信誉归您所有,无论好坏。

如何保持名单干净?

干净的名单是成本最低的送达率工具。只发给同意接收您邮件的人,并清除无法接收的地址。

  • 规范地收集同意并保留记录:参见我们的跨渠道 opt-in 与同意指南和免费的 opt-in 同意文案生成器。
  • 立即清除硬退信。 反复向无效地址发信会损害您的信誉。
  • 在所有工具中屏蔽退订者和垃圾邮件投诉者。
  • 让不活跃的联系人退出。 为您的业务定义不活跃(例如在您选定的时期内没有点击或购买),停止向他们发信,或先发一封重新获取许可的邮件。
  • 不要购买名单。 购买的地址没有用户同意,往往引发投诉。
  • 把事务类和营销类流量分开,让营销投诉激增不影响收据和密码重置。我们在事务类邮件与营销邮件中对此有介绍。

如何监控送达率?

关注三个来源:您自己的退信和投递数据、邮箱服务商的仪表盘,以及您的 DMARC 报告。

  • Google Postmaster Tools 显示发往 Gmail 用户的邮件的垃圾邮件率、认证结果,以及域名和 IP 信誉。Google 的指南要求发件人用它来监控垃圾邮件举报、投递问题和认证。
  • DMARC 汇总报告发送到您的 rua 地址,列出每个以您域名发信的来源。在切换到 p=reject 之前,它能帮您找到被遗忘的 CRM 或开票工具。
  • 退信处理: 硬退信是永久性失败,应当清除;软退信是暂时性的,应当在停止之前重试几次。在邮件 API中,您可以扫描邮箱中的退信邮件并启动退信监控。
  • 种子测试: 每次营销活动前,向您在主要服务商处的自有地址发送邮件,检查所在文件夹、邮件头和认证结果。

邮件送达率检查清单

每次启用新域名、新平台或进行大型营销活动前,请逐项检查。

  1. SPF 记录只发布一次,覆盖每个发送服务,且查询次数在 10 次以内。
  2. 为您的域名启用 DKIM,在支持的情况下使用 2048 位密钥。
  3. 发布带 rua 地址的 DMARC 记录;只有在报告干净之后才提升策略。
  4. From 域名与 SPF 或 DKIM 域名对齐。
  5. 发信 IP 的正向与反向 DNS 一致,并启用 TLS。
  6. 营销邮件带一键退订邮件头和可见的退订链接。
  7. 自动处理退订,远在 2 天之内。
  8. 为每位收件人记录用户同意;不使用购买的名单。
  9. 清除硬退信;让不活跃联系人退出。
  10. 逐步提高发送量;在 Postmaster Tools 中关注垃圾邮件率。
  11. 营销邮件和事务类邮件走不同的流量通道。
  12. 在主要邮箱服务商处检查测试发送。

实际案例:迪拜的网上药房开始发送营销活动

“Noor Pharmacy”是虚构的迪拜零售商,通过网店用 orders@noorpharmacy.example 发送订单收据,现在想用营销平台增加每月一期的新闻简报。审计时它发现网店已被 SPF 覆盖,但新闻简报平台是用自己的域名签名。

行动:把该平台加入现有的 SPF 记录,而不是创建第二条;启用自定义域名 DKIM;发布 p=none 并设置 rua 邮箱,阅读两周的报告。报告显示,一个旧的客服工具也在以该域名发信,于是对它进行认证。新闻简报迁到子域名 news.noorpharmacy.example,这样促销的投诉激增不会影响收据。然后药房先给最活跃的客户发送,并分阶段扩大受众,同时关注垃圾邮件率。

本指南有哪些局限?

认证让您进门,但不保证进入收件箱。邮箱服务商还会权衡互动、内容和历史记录,这些是任何 DNS 记录都无法控制的,而且它们的规则会变化,所以除所引用的阈值外,我们链接到服务商自己的页面,而不是引用固定阈值。没有人能承诺进入收件箱。以上为一般性指导,不构成法律意见;营销邮件同样有用户同意规则,见事务类邮件与营销邮件。

OmniChannels.ai 如何提供帮助

OmniChannels.ai 从您自己的发件人发送邮件:您可以通过 SMTP 和 IMAP 连接邮箱,或通过邮件 API发送,并提供对您域名 SPF 和 DMARC 记录的检查以及沙盒测试发送。营销活动支持 Excel 或 CSV 上传、重复过滤、预览和定时发送,回复会进入 Omni Inbox,与 WhatsApp 和其他渠道并列。送达报告可导出为 CSV。请查看邮件渠道,或预约开发者讲解。了解为什么邮件只是组合的一部分,请阅读短信与邮件营销。

常见问题

SPF、DKIM 和 DMARC 有什么区别?

SPF 是列出允许为某个域名发信的服务器的 DNS 记录。DKIM 为每封邮件添加加密签名,收件方用 DNS 中的公钥来校验。DMARC 建立在这两者之上:它设定验证失败邮件的处理策略,要求与可见的 From 域名对齐,并请求发送报告。要稳定进入收件箱,三者缺一不可。

如果我每天发送不到 5,000 封邮件,还需要 DMARC 吗?

Google 要求所有发件人至少配置 SPF 或 DKIM,并对每天向 Gmail 发送超过 5,000 封邮件的批量发件人增加 DMARC 要求。即使低于这条线,发布 p=none 的 DMARC 成本很低,还能让您通过报告了解谁在以您的域名发信,也为业务增长做好准备。一旦达到批量阈值,Google 会永久把您视为批量发件人。

多高的垃圾邮件投诉率算正常?

Google 的指引是把 Postmaster Tools 中报告的垃圾邮件率保持在 0.10% 以下,绝不要达到 0.30%。Yahoo 要求发件人保持在 0.3% 以下。请把它们当作上限,而不是目标。只发给主动要求收到您邮件的人,让退订变得容易,并清除不活跃的地址,让投诉保持在很低的水平。

什么是一键退订,我需要它吗?

一键退订让收件人无需打开页面,直接在邮件客户端中退订。您需要添加两个邮件头:带 URL 的 List-Unsubscribe,以及设置为 List-Unsubscribe=One-Click 的 List-Unsubscribe-Post,定义见 RFC 8058。Google 和 Yahoo 要求批量发件人的营销和订阅类邮件提供一键退订,同时正文中还要有可见的退订链接。

新发信域名需要多久来预热?

没有固定的时间表。Google 只说要在监控垃圾邮件举报的同时逐步增加发送量。从最活跃的收件人开始,分阶段提高发送量,如果退信或投诉上升就暂停增加。名单越大,需要的阶段越多。请以 Postmaster Tools 的数据和退信率来判断进度,而不是日历。

已配置 SPF、DKIM 和 DMARC,为什么邮件仍进垃圾箱?

认证证明的是身份,而不是质量。邮件仍可能因为发件人信誉差、投诉率或退信率高、购买的或过期的名单、误导性主题、损坏的 HTML,或指向低信誉域名的链接而被过滤。还要检查对齐:用自己域名签名的第三方平台能通过 DKIM,但对您的品牌来说 DMARC 可能失败。

资料来源

  1. Email sender guidelines, Google Workspace Admin Help
  2. Email sender guidelines FAQ, Google Workspace Admin Help
  3. Sender best practices, Yahoo Sender Hub
  4. Strengthening the email ecosystem: Outlook's new requirements for high-volume senders, Microsoft Tech Community
  5. RFC 9989: Domain-Based Message Authentication, Reporting, and Conformance (DMARC), RFC Editor