DMARCbis 如何处理 DMARC 报告中的第三方投递(third-party sending)场景?
第三方投递(Third-Party Sending)是指域所有者委托外部服务商(如 Mailchimp、SendGrid、Amazon SES 等 ESP)代发邮件。这是当前邮件生态中最常见的场景之一,也是 DMARC 部署中最容易出现对齐问题的领域。DMARCbis 对这一场景提供了新的明确指导和报告增强。
一、第三方投递的认证挑战
当 ESP 代客户发信时,本质上面临的问题是:邮件"物理上"来自 ESP 的服务基础设施(IP、服务器),但"逻辑上"代表客户域。这种分离在认证层面会导致:
- SPF 方面:发件 IP 属于 ESP,客户域 SPF 记录中通常不包含这些 IP
- DKIM 方面:ESP 以自己的 d= 域签名,客户域的 DKIM 不匹配
- DMARC 方面:SPF 和 DKIM 均未对齐 Header.From 中的客户域,导致 DMARC 失败
二、DMARCbis 的解决方案
2.1 SPF 对齐方案
DMARCbis 确认以下两种 SPF 对齐方案:
- include 机制:客户将 ESP 的 SPF include 到自己的 SPF 记录中,使客户域的 SPF 允许 ESP IP 发送
- Return-Path 重写:ESP 将 Return-Path(MailFrom)改为客户域的子域(如 bounce.customer.com),确保 SPF 验证的域与 Header.From 对齐
; 方案 1:include ESP 的 SPF
example.com. TXT "v=spf1 include:spf.sendgrid.net include:_spf.google.com ~all"
; 方案 2:Return-Path 重写
; ESP 将 Return-Path 写为 bounce@bounce.example.com
; 客户配置 _dmarc.bounce.example.com 的 SPF 记录
2.2 DKIM 对齐方案
DMARCbis 明确推荐以下 DKIM 方案:
- 客户域签名(推荐):ESP 使用客户域私钥对邮件进行 DKIM 签名。DMARCbis 新增了详细指导:客户将自己的 DKIM 私有选择器名称告知 ESP,ESP 使用该选择器在客户 DNS 中发布的公钥对应的私钥签名
- 双签(Dual Signing):ESP 同时使用自己的域名和客户域名的私钥各签名一次。接收方只需一个签名对齐即可
- ARC 补充:如果 ESP 无法更改签名域,部署 ARC 保存原始认证结果
双签示例(邮件头):
DKIM-Signature: v=1; a=rsa-sha256; d=sendgrid.net; s=sg1; ... ← ESP 签名
DKIM-Signature: v=1; a=rsa-sha256; d=customer.com; s=s2026; ... ← 客户域签名
三、DMARCbis 报告中的第三方投递标记
RFC 9991 的聚合报告格式中新增了第三方投递的识别字段:
<record>
<row>
<source_ip>198.51.100.1</source_ip>
<count>15</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>pass</dkim>
<spf>pass</spf>
</policy_evaluated>
<third_party>yes</third_party> <!-- 新增 -->
<third_party_domain>sendgrid.net</third_party_domain> <!-- 新增 -->
</row>
<third_party> 字段标记该记录是否来自第三方投递服务商,<third_party_domain> 记录该服务商的域名。这帮助域所有者区分自有投递和第三方投递。
四、DMARCbis 中 ESP 配置要求
DMARCbis 对 ESP(第三方发信服务商)提出了以下配置要求:
- 必须支持客户域 DKIM 签名(customer-domain signing)
- 应支持双签机制
- 应在邮件头中添加 DKIM 签名过程相关的诊断信息
- 应向客户提供 SPF include 信息(推荐
-all而不是~all) - 应支持 ARC 部署
五、常见问题与排查
- 问题:ESP 没有配置客户域签名,DMARC 总失败 → 要求 ESP 启用客户域签名或双签
- 问题:SPF include 了 ESP 仍失败 → 检查 include 是否正确拼写,且 ESP 的 SPF 记录未超过 DNS 查询上限
- 问题:DKIM 签名中的 d= 是 ESP 域而非客户域 → 即使 DKIM 验证通过,对齐失败,DMARC 仍 fail
- 问题:多个 ESP 同时使用 → 建议为每个 ESP 配置独立的子域并使用 sps= 分策略管理
参考文献
- RFC 9989 Section 8.4 — Third-party sending guidance
- RFC 9991 — third_party fields
- BIMI Guidelines — ESP requirements for BIMI compatibility
- M3AAWG Sender Best Common Practices
引用格式:ztpop.net 邮件技术知识库. "DMARCbis 第三方投递场景处理." https://www.ztpop.net/kb/faq/dmarcbis-faq-11.html. 2026-07-29. CC-BY 4.0