读懂 DMARC 报告并用 Gmail 过滤器自动整理
某天早上,你的邮箱收到一封来自 Google 的邮件,主题为「Report domain: votre-domaine.fr Submitter: google.com Report-ID: …」,还附有压缩文件。第二天 Microsoft 也发来类似邮件,接着是 Yahoo 和其他服务商。没有正文解释,只有附件。是钓鱼邮件?还是账号被入侵?都不是:这些是DMARC 汇总报告,通常反而是好消息。
下面介绍这些报告的含义、如何在两分钟内读懂它们,以及怎样利用 Gmail 一项鲜为人知的功能——从 XML 文件导入过滤器——让报告离开收件箱,同时又不会丢失。
30 秒了解 DMARC
当服务器收到一封声称来自 votre-domaine.fr 的邮件时,会检查两件事:
- SPF:发件 IP 是否列在该域名授权的服务器名单中?
- DKIM:邮件是否带有有效的加密签名,且由持有域名密钥的服务器签署?
DMARC 统筹这两项检查。至少一项必须通过,并且满足「对齐」要求,即验证的域名与收件人看到的「发件人」域名一致。它还通过位于 _dmarc.votre-domaine.fr 的简单 DNS TXT 记录,规定验证失败时的处理方式:
v=DMARC1; p=none; rua=mailto:dmarc@votre-domaine.frp 参数指定策略:none(仅观察)、quarantine(放入垃圾邮件)或 reject(直接拒收)。而解释这些神秘邮件来源的正是 rua 参数。
为什么会收到这些报告
rua 是 reporting URI for aggregate reports 的缩写。它要求主要邮件服务商通常每天发送一次汇总,统计它们收到的、声称来自你域名的邮件。如果你收到了报告,说明你的地址被写入了这个参数。
这项设置往往不是你亲自添加的。自 2024 年 2 月起,Gmail 和 Yahoo 要求大量发送邮件的发件人配置 DMARC 记录,因此许多主机商、服务商或配置向导会自动创建记录,并将域名联系邮箱填入 rua。报告于是突然出现。
请记住:报告不等于警报。即使一切正常,Google 也会发送报告。这是统计记录,而不是故障通知。
不用专用工具也能读懂报告
附件是压缩的 XML 文件:Google 通常使用 .zip,Microsoft 和大多数其他服务商使用 .gz。解压后用浏览器或文本编辑器打开。文件头部标明报告发送方和统计时段(Unix 时间戳可通过在线工具转换成日期),其下每个 <record> 块大致如下:
<record>
<row>
<source_ip>203.0.113.25</source_ip>
<count>14</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>pass</dkim>
<spf>fail</spf>
</policy_evaluated>
</row>
<identifiers>
<header_from>votre-domaine.fr</header_from>
</identifiers>
</record>这表示 IP 地址 203.0.113.25 以你的域名发送了 14 封邮件。DKIM 签名有效,SPF 检查失败,但只要其中一项满足要求,DMARC 就能通过。disposition 表示收件服务器采取的处理方式:none 意味着邮件正常投递。
需要识别的三种情况
- 邮件服务商的 IP 全部显示
pass:这是正常情况,无需处理。 - SPF 失败、DKIM 通过:自动转发和邮件列表中很常见,因为它们会通过自己的服务器转发邮件。只要 DKIM 仍有效,邮件就能通过。
- 未知 IP 全部显示
fail:可能是忘记登记的合法发送工具(邮件营销、CRM、网站通知),也可能有人冒用你的域名。查询 IP 通常能帮助判断。
如果管理多个域名或邮件量很大,Postmark、dmarcian、EasyDMARC 等专业服务可将文件转换为直观的仪表板,通常还提供免费方案。只需把 rua 指向服务商提供的地址即可。
技巧:从 XML 文件导入 Gmail 过滤器
出现异常时,报告非常有用,但没必要每天堆满收件箱。手动创建过滤器是一种办法,不过还有更快捷、便于分享的方式:Gmail 支持从 XML 文件导入现成过滤器。这与导出过滤器使用同一种格式,几次点击就能在另一个账号重新安装规则。
复制下面的内容,保存为名叫 filtre-dmarc.xml 的文本文件:
<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='[http://www.w3.org/2005/Atom](http://www.w3.org/2005/Atom)' xmlns:apps='[http://schemas.google.com/apps/2006](http://schemas.google.com/apps/2006)'>
<title>Mail Filters</title>
<id>tag:mail.google.com,2008:filters:1</id>
<updated>2026-11-06T12:00:00Z</updated>
<entry>
<category term='filter'></category>
<title>Mail Filter</title>
<id>tag:mail.google.com,2008:filter:1</id>
<updated>2026-11-06T12:00:00Z</updated>
<content></content>
<apps:property name='subject' value='"Report domain"'/>
<apps:property name='hasAttachment' value='true'/>
<apps:property name='label' value='Rapports DMARC'/>
<apps:property name='shouldArchive' value='true'/>
<apps:property name='shouldMarkAsRead' value='true'/>
<apps:property name='shouldNeverSpam' value='true'/>
</entry>
</feed>过滤条件结合了 DMARC 标准推荐、Google、Microsoft 及大多数服务商采用的主题「Report domain」,以及存在附件这一要求。执行动作包括添加「Rapports DMARC」标签、归档、标记为已读,并避免被归入垃圾邮件。
导入过滤器
- 先在 Gmail 左侧「标签」旁点击 +,创建 Rapports DMARC 标签。
- 点击右上角齿轮,再选择查看所有设置。
- 打开过滤器和屏蔽的地址标签页。
- 在页面底部点击导入过滤器,选择
filtre-dmarc.xml,再点击打开文件。 - Gmail 会显示找到的过滤器。勾选同时将新过滤器应用于现有会话,一次整理已经收到的报告,然后点击创建过滤器。
同一个文件可以包含多个 <entry> 块,让你集中保存所有规则,并一次性导入新账号。想查看真实示例,可以在同一标签页选中现有过滤器,点击导出,Gmail 就会生成对应的 XML 文件。
如果完全不想再收到报告呢?
千万不要删除 DMARC 记录本身:它能防止域名被冒用,也关系到邮件能否顺利投递到 Gmail 和 Yahoo。只需在域名 DNS 区域的 _dmarc TXT 记录中移除 rua=…,或将其改为专用邮箱。修改传播完成后,报告通常会在 24 至 48 小时内停止。
不过建议至少保留几周报告,并按标签归档。这样才能在将策略从 p=none 收紧为 p=quarantine、最终改为 p=reject 之前,确认所有发信工具均已正确配置。最后一步才是真正阻止域名冒用的关键。
French
German
English
Spanish
Hindi
Italian
Japanese
Korean
Norwegian
Chinese

