如果你想了解如何设置 DMARC,不要直接采用 p=reject。先观察,再验证每个真实发信系统的 SPF 或 DKIM 是否同时通过认证并与 From 对齐,最后分阶段收紧策略。这有助于限制域名冒用,同时减少账单、密码重置和被遗漏的 SaaS 邮件受到影响的风险。
现实中的邮件架构往往很复杂:邮箱使用 Microsoft 365,账单来自第三方应用,营销采用另一平台,仓库复印机还在发送扫描件。漏掉一个发信源,就可能让限制策略影响业务。搭建域名邮箱时,也可参考设置自有域名邮箱和更全面的商务邮箱指南。
下面按实际运维顺序展开:观察、收集可核查的结果、修复对齐,再请求限制处理。发布记录并不意味着这些验证工作已经完成。
DMARC 实际做什么
DMARC 通过 DNS 向接收服务器说明:声称来自你的域名、却未通过对齐认证的邮件,应如何处理。它基于 SPF 和 DKIM。至少有一项认证通过,而且该项认证域名与可见 From 域名对齐,DMARC 才能通过。
DMARC 的全称是 Domain-based Message Authentication, Reporting, and Conformance。它允许域名所有者发布认证失败时的处理策略,并请求报告。基础规范是 RFC 7489。认证成功并不证明内容安全,也不保证邮件送达。
设置时应理解以下关系:
- SPF 可以通过但不与 From 对齐。只有同时缺少通过且对齐的 DKIM 时,DMARC 才会因此失败。
- DKIM 通过却未对齐也不够;不过,通过且对齐的 SPF 仍可以让 DMARC 通过。
- SPF 或 DKIM 中任何一项同时满足认证通过和域名对齐,DMARC 就可以通过。
Google 所说明的批量发件人要求包括 SPF、DKIM,以及至少采用 p=none 的 DMARC 记录。适用发件人还需通过 SPF 或 DKIM 满足 From 对齐要求。请在 Google 发件人指南常见问题中核对当前适用条件。
设置 DMARC 前的准备
先检查发信架构。SPF 配置错误、缺少 DKIM,或使用不匹配的签名域名,都可能在请求限制后影响正常邮件。观察策略本身不会制造这些认证错误,但可以帮助发现问题。
首先检查三个方面。
- SPF:为实际信封发件域名维护一条适用记录。10 的限制计算的是需要 DNS 查询的机制和修饰符,包括嵌套求值,不是所有 DNS 查询的总数。
- DKIM:在支持的发信系统上启用并验证。如果服务商支持适当配置,可使用 2048 位密钥。
- 发信清单:列出所有使用你的 From 域名的系统,包括邮箱、CRM、账单、客服、表单、扫描仪和营销工具。
TrekMail 域名的基础说明见必需的 DNS 记录和添加域名。DNS 检查可以帮助识别缺失或重复记录,但真实邮件的认证仍需单独测试。
账单应用使用
billing@yourdomain.com发信,却采用服务商的签名域名和 Return-Path。SPF、DKIM 可以对服务商通过,但没有与你的 From 对齐。若没有其他通过且对齐的认证结果,DMARC 就会失败。
这类对齐问题,是部分邮件在实施限制后出现故障的原因。
步骤 1:发布仅用于观察的 DMARC 记录
发信路径尚未充分验证时,可以先观察。p=none 不请求接收方按 DMARC 隔离或拒收邮件。收到的报告有助于分析,但报告并不保证提供,接收方本地过滤仍可能生效。
在 _dmarc.yourdomain.com 创建 TXT,值如下:
v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com下面是同一记录的区域文件写法,不是额外发布的一条记录:
_dmarc IN TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com"这采用了 RFC 7489 示例的基本形式。报告应发往专门管理的邮箱或别名,而非个人收件箱。聚合报告使用 XML,可能迅速积累。应检查访问权限;外部报告地址还可能需要目标域名的 DNS 授权。
在实际管理 DNS 的服务处发布记录,再验证其他认证配置。TrekMail 的邮件进入垃圾邮件的常见问题也有助于分析转发带来的正常变化,以及需要进一步测试的故障。
步骤 2:分析报告并确认真实发信来源
不要跳过报告分析。报告能提示发信来源和配置问题,但不覆盖所有邮件,也不能单独可靠地判断正常邮件与滥用。
报告中可能包含:
- 报告接收方观察到的发信源 IP
- SPF 认证结果
- DKIM 认证结果
- 与 From 域名对齐的检查结果
- 接收方报告的处理方式
排查时可以先分成两类。
已知正常系统的对齐失败需要修复。未知来源则需要先核实:它可能是冒用,也可能是转发服务器或共享发信服务。认证通过并不证明邮件内容安全。
下表是可能出现的示例,不代表服务商的固定默认行为:
| 发信来源 | SPF | DKIM | 对齐 | 如何理解 |
|---|---|---|---|---|
| 正确配置的 Microsoft 365 或 TrekMail 邮箱 | Pass | Pass | Pass | 符合预期;更改配置后仍需重新验证。 |
| 尚未完成匹配域名配置的 Mailchimp 或 SendGrid | Pass | Pass | Fail | 认证通过,但没有与你的 From 域名对齐。 |
| 保留有效对齐 DKIM 签名的转发邮件 | Fail | Pass | Pass via DKIM | 可能是正常的转发结果。 |
| 使用负责人地址、可能存在冒用的未知来源 | Fail | Fail | Fail | 需要核实;后续策略可请求限制处理。 |
管理很多域名时,每个新增 SaaS 工具都会增加发信配置工作。统一流程有助于管理,多域名邮箱托管介绍了相关方案,但不保证特定的工单减少幅度。
步骤 3:修复对齐,而不只是认证
需要的是至少一项通过且对齐的 SPF 或 DKIM,而不是单纯认证通过。在宽松模式下,认证域名必须与可见 From 具有相同的组织域名;严格模式则要求精确匹配。
RFC 7489 使用 RFC5322.From 域名定义宽松对齐。Google 的发件人常见问题说明,DMARC 只需要 SPF 或 DKIM 中有一项通过且对齐;两种认证机制的配置应同时符合适用的发件要求。
常见修复包括:
- 营销平台:启用并验证使用自有域名的 DKIM 签名。
- 退信处理:在服务商支持时,配置自有 Return-Path 或品牌退信域名。
- Microsoft 365:在请求限制前,为自有域名启用并测试 DKIM。
- TrekMail 托管发信:准确发布实际发信渠道所显示的 SPF 和 DKIM 记录。
集中管理不代表可以省略 DNS 验证。TrekMail 可提供配置记录,并按套餐提供托管 SMTP 或 Nano 的自备 SMTP。邮箱和出站发信服务仍应分别核对。
Nano 使用你自己的 SMTP 服务商,适用的付费套餐则包含托管 SMTP。TrekMail 的价格参考为每月 $3.50 起,并提供付费套餐的 14 天试用。Nano 有无需银行卡的免费选项。当前功能和条件请查看 TrekMail 价格。
步骤 4:考虑以 quarantine 作为中间阶段
完成观察和测试后,可以考虑 quarantine。它已经是限制请求,要求接收方将失败邮件作为可疑邮件处理。不保证放入某个垃圾邮件文件夹,也不保证可以恢复。低频正常发信尤其需要验证。
确认适合推进后,用以下记录替换原有策略:
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@yourdomain.com为什么可以先考虑 quarantine,再考虑 reject?
- 它请求限制未通过域名认证的邮件。
- 某些接收方的处理可能没有直接拒收那么彻底。
- 可以继续观察实际结果,但正常邮件仍面临风险。
停留时间取决于发信周期。几周可以作为规划参考,30 天也只是示例。少见的关键邮件,包括季度邮件,需要专门测试或更长观察。
这时常会发现未记录的 WordPress 插件、CRM 测试环境、旧复印机或每月才发信的供应商。Quarantine 不替代这些系统的验证,也不保证无损缓冲。
步骤 5:验证结果后考虑 reject
p=reject 请求接收方拒收失败邮件,而不只是标为可疑。这有助于限制直接冒用域名,但接收方的本地策略会影响最终决定。
下面的记录替换之前的策略,不要作为附加记录发布:
v=DMARC1; p=reject; rua=mailto:dmarc-reports@yourdomain.comRFC 7489 说明了 p=reject 对 DMARC 失败邮件提出的拒收请求。接收方可以采用本地例外;它不能阻止所有欺骗,也不证明内容安全。
推进前至少确认:
- 主要邮箱服务的发信认证通过且与 From 对齐
- 营销和事务邮件的认证通过且与 From 对齐
- 分析了数周可用报告,并测试低频关键流程
- 理解剩余失败的原因
推进后仍应分析报告和测试真实邮件。新增服务和发信配置变更,都应经过相同的验证流程。
容易影响邮件的常见错误
遗漏的发信源、重复 SPF、缺少 DKIM 和未调整的服务商认证域名,都可能在严格策略下引发问题。应排查实际发信配置,而不只是更改 DMARC 请求。
- 尚未启用并测试 DKIM 就请求限制处理
- 发布多条 SPF,而不是维护一条核对过的记录
- 把 SPF pass 当作 DMARC pass
- 遗漏低频发信供应商
- 未经验证就直接采用
p=reject - 将报告发到无人管理的地址
转发可能让 SPF 失败,而仍然有效且对齐的 DKIM 签名可以让 DMARC 通过,前提是签名覆盖的数据在规范化规则下得到保留。更多运维背景见邮箱别名转发和安全的商务邮箱。
DMARC 设置简明清单
以下清单概括分阶段流程,应按真实发信来源和业务周期调整。
- 梳理所有使用你的 From 域名的系统。
- 为实际信封域名配置一条有效 SPF。
- 在支持的发信平台启用并验证 DKIM。
- 发布
v=DMARC1; p=none; rua=mailto:...。 - 将报告与已知系统核对,并调查未知流量。
- 为每个正常发信源验证通过且对齐的认证。
- 测试后考虑
p=quarantine。 - 再次分析报告并测试重要邮件。
- 确认结果后考虑
p=reject。
总结:有控制地设置 DMARC
实用流程从 p=none 开始,将报告与发信清单核对,并修复 SPF 和 DKIM 对齐。测试后可考虑 p=quarantine,再考虑 p=reject。这减少配置错误风险,但不保证送达或完全阻止冒用。
管理大量域名时,统一工具更有帮助。TrekMail 可按套餐提供自有域名、IMAP 邮箱、catch-all、转发、迁移及自备或托管 SMTP。IMAP 迁移复制现有邮件,不替代完整的 MX、应用和发信切换。固定费用套餐仍有资源限制,DMARC 也仍需正确配置。
这就是设置 DMARC 的实际方法:先验证,再有依据地收紧策略,并持续将报告与真实邮件测试相互核对。