邮件送达率:SPF、DKIM 与 DMARC 详解
邮件送达率详解:SPF、DKIM、DMARC 及 DNS 记录示例,Gmail、Yahoo、Outlook 的发件人规则,一键退订、域名预热和上线前检查清单。
作者: OmniChannels.ai Editorial Team · 审阅: BroadNet Messaging Solutions Team
全渠道
简短回答
邮件送达率指邮件能否进入收件箱,而不是被拒收或进入垃圾邮件箱。它依赖三条 DNS 记录:SPF 列出允许为您的域名发信的服务器,DKIM 为每封邮件签名,DMARC 告诉收件方验证失败时怎么处理并向您发送报告。此外还要有一键退订、干净的名单、逐步放量,并把垃圾邮件投诉率控制在 0.3% 以下。
本页内容
要点速览
- 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 的指引只是要求逐步增加发送量并监控收件人的垃圾邮件举报,所以请使用由数据驱动的计划,而不是某个公开的时间表。
- 先做认证。 发布 SPF、DKIM 和 DMARC,并在首次发送前确认它们通过。
- 从最活跃的人开始: 近期购买者、近期打开过邮件的人,或刚刚订阅的人。
- 仅在退信和投诉保持较低时才分阶段提高发送量。
- 保持稳定的节奏。 从沉寂的域名突然暴增发送,看起来像滥用。
- 一旦出现退信、拦截或投诉上升的迹象就暂停增加,找出原因并修复后再继续。
- 最后再加入较冷的分群,并剔除那些从不互动的人。
如果您使用共享平台的发件地址,就是在继承别人的信誉;使用您自己已认证的域名发信,则让信誉归您所有,无论好坏。
如何保持名单干净?
干净的名单是成本最低的送达率工具。只发给同意接收您邮件的人,并清除无法接收的地址。
- 规范地收集同意并保留记录:参见我们的跨渠道 opt-in 与同意指南和免费的 opt-in 同意文案生成器。
- 立即清除硬退信。 反复向无效地址发信会损害您的信誉。
- 在所有工具中屏蔽退订者和垃圾邮件投诉者。
- 让不活跃的联系人退出。 为您的业务定义不活跃(例如在您选定的时期内没有点击或购买),停止向他们发信,或先发一封重新获取许可的邮件。
- 不要购买名单。 购买的地址没有用户同意,往往引发投诉。
- 把事务类和营销类流量分开,让营销投诉激增不影响收据和密码重置。我们在事务类邮件与营销邮件中对此有介绍。
如何监控送达率?
关注三个来源:您自己的退信和投递数据、邮箱服务商的仪表盘,以及您的 DMARC 报告。
- Google Postmaster Tools 显示发往 Gmail 用户的邮件的垃圾邮件率、认证结果,以及域名和 IP 信誉。Google 的指南要求发件人用它来监控垃圾邮件举报、投递问题和认证。
- DMARC 汇总报告发送到您的
rua地址,列出每个以您域名发信的来源。在切换到p=reject之前,它能帮您找到被遗忘的 CRM 或开票工具。 - 退信处理: 硬退信是永久性失败,应当清除;软退信是暂时性的,应当在停止之前重试几次。在邮件 API中,您可以扫描邮箱中的退信邮件并启动退信监控。
- 种子测试: 每次营销活动前,向您在主要服务商处的自有地址发送邮件,检查所在文件夹、邮件头和认证结果。
邮件送达率检查清单
每次启用新域名、新平台或进行大型营销活动前,请逐项检查。
- SPF 记录只发布一次,覆盖每个发送服务,且查询次数在 10 次以内。
- 为您的域名启用 DKIM,在支持的情况下使用 2048 位密钥。
- 发布带
rua地址的 DMARC 记录;只有在报告干净之后才提升策略。 - From 域名与 SPF 或 DKIM 域名对齐。
- 发信 IP 的正向与反向 DNS 一致,并启用 TLS。
- 营销邮件带一键退订邮件头和可见的退订链接。
- 自动处理退订,远在 2 天之内。
- 为每位收件人记录用户同意;不使用购买的名单。
- 清除硬退信;让不活跃联系人退出。
- 逐步提高发送量;在 Postmaster Tools 中关注垃圾邮件率。
- 营销邮件和事务类邮件走不同的流量通道。
- 在主要邮箱服务商处检查测试发送。
实际案例:迪拜的网上药房开始发送营销活动
“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 可能失败。
资料来源
- Email sender guidelines, Google Workspace Admin Help
- Email sender guidelines FAQ, Google Workspace Admin Help
- Sender best practices, Yahoo Sender Hub
- Strengthening the email ecosystem: Outlook's new requirements for high-volume senders, Microsoft Tech Community
- RFC 9989: Domain-Based Message Authentication, Reporting, and Conformance (DMARC), RFC Editor
继续阅读
更多指南全渠道
事务类邮件与营销邮件:区别与规则
事务类邮件与营销邮件对比:定义、CAN-SPAM 与欧盟的用户同意规则、分开发送通道、收据和密码重置模板,以及混合邮件的陷阱。
9 分钟阅读
全渠道
全渠道与多渠道:真正的业务差异
从客户身份、授权合规、回复处理和数据分析四个维度,讲清全渠道与多渠道沟通的区别,附对比表、迪拜诊所集团的实战示例和决策清单,帮助出海企业判断现有的多个消息工具是否已经不够用、何时该升级为真正互联互通的全渠道平台,少走弯路。
8 分钟阅读
集成
如何通过 Webhook 将 CRM 接入全渠道收件箱
通过 Webhook 将 CRM 接入全渠道收件箱的技术指南:应该同步哪些事件、如何做幂等处理与失败重试、如何匹配联系人、如何满足数据隐私合规要求,并附参考架构,帮助出海企业打通客户沟通与客户管理数据,减少人工录入,并附吉达诊所集团的实操案例。
8 分钟阅读
