BIMI 配置指南:SVG 徽标、VMC 证书与 DMARC 前提
手把手完成 BIMI:DMARC 强制策略前提、制作 SVG Tiny PS 徽标、在 VMC 与 CMC 证书间选择、发布 BIMI 记录,以及各邮箱客户端的实际展示现状。
DKIM 配置指南:选择器、密钥与 DNS 记录
完整讲解 DKIM 配置:selector 与 _domainkey 记录的配合、2048 位密钥、规范化方式、双选择器安全轮换,以及让签名失效的常见错误。
DMARC 配置指南:记录、策略与分阶段上线
正确发布 DMARC 记录:各标签语法、对齐判定规则、外部报告授权,以及从 none 到 quarantine 再到 reject 的安全上线节奏,避免拦掉自己的正常邮件。
邮件认证指南:按正确顺序配置 SPF、DKIM 与 DMARC
邮件认证早已不是可选项。自 2024 年 2 月起,Gmail 和 Yahoo 要求所有日投递量超过 5,000 封的发件人配置 SPF、DKIM 与 DMARC,微软也随即对 Outlook.com 的批量发件人提出类似要求。缺少三者之一会直接丢失收件箱位置;而配置顺序不对,则可能把自己的正常邮件也拦下来。
本指南说明三个协议各自解决什么问题、避免事故的配置顺序,以及如何用免费工具逐条验证。
三个协议分别做什么
面对每一封邮件,接收服务器会问三个不同的问题,三个协议各答一个:
- SPF 回答的是这台服务器有权代表这个域名发信吗?它是一条 DNS TXT 记录,列出授权的 IP 地址和 include 域名。
- DKIM 回答的是这封邮件在传输途中有没有被篡改?它真的来自声称的发件方吗?它为邮件加上加密签名,接收方用 DNS 中的公钥即可验证。
- DMARC 回答的是SPF 或 DKIM 校验失败时,接收方应该怎么处理?它还要求对齐:通过 SPF 或 DKIM 的域名必须与信头 From 域名一致——正是这一条挫败了直接伪造。
一个常见误解是"配了 SPF 就能防伪造"。并不能。SPF 校验的是信封发件人(Return-Path),而攻击者可以随意控制它,与收件人看到的 From 信头无关。只有 DMARC 的对齐机制才把校验结果绑定到收件人实际看到的域名上。
正确的配置顺序
顺序很重要,因为 DMARC 的评估建立在 SPF 和 DKIM 之上。基础没打好就上强制策略,拦掉的第一批邮件就是你自己的。按这个顺序来:
- 盘点所有发件来源。列出所有以你的域名发信的服务:邮件服务器、CRM、营销平台、工单系统、账单系统、网站表单、打印机。漏掉的发件源是 DMARC 失败的头号原因。
- 发布一条 SPF 记录,覆盖全部来源。
- 在每个发送服务里启用 DKIM,并发布对应密钥。
- 发布 p=none 的 DMARC 记录并填入 rua 报告地址,观察 2–4 周。
- 确认所有正常邮件都通过后,再逐步升级到 quarantine、reject。
第一步:SPF
SPF 记录是域名根下的一条 TXT 记录。典型的多来源配置:
v=spf1 include:_spf.google.com include:mailgun.org ip4:203.0.113.10 ~all
三条最容易把记录做坏的规则:
- 一个域名只能有一条 SPF 记录。两条以 v=spf1 开头的 TXT 会导致永久失败。多出的 include 要合并进同一条记录。
- DNS 查询最多 10 次。每个
include、a、mx、redirect、ptr机制都消耗一次查询,嵌套 include 同样计数。超过 10 次整条记录以permerror失败,接收方视同没有 SPF。接近上限时参考 SPF 扁平化指南。 - 验证期以
~all结尾,待 DMARC 报告确认覆盖完整后再改成-all。
用 SPF 检测 验证记录——它会解析机制、统计查询次数并标记语法错误。从零构建记录可以用 SPF 生成器。
第二步:DKIM
DKIM 是按发送服务逐个启用的,不是按域名。在每个服务商的管理后台为你的域名开启 DKIM 签名,并发布它给出的 DNS 记录——通常是 <selector>._domainkey.yourdomain.com 下含公钥的 TXT 记录,或一条指向服务商密钥的 CNAME。
需要检查的三点:
- 使用 2048 位密钥。1024 位密钥虽仍能通过多数校验,但已被视为弱密钥,部分接收方直接拒收。
- 签名的 d= 域名必须是你的域名(宽松对齐允许子域名)。如果服务商用自己的域名签名,DKIM 本身通过了,但 DMARC 对齐失败——这是最常见的 DMARC 失败原因。
- 定期轮换密钥,每年一次是合理的默认节奏。
在 DKIM 检测 中输入域名和服务商使用的 selector 即可验证。
第三步:DMARC
DMARC 记录是 _dmarc.yourdomain.com 下的一条 TXT 记录。安全的起步策略:
v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com; fo=1
p=none 不会拦截任何邮件——接收方只是每天把聚合报告发到你的 rua 地址。报告会列出所有以你的域名发信的来源、每个 IP 的 SPF/DKIM 结果,以及 DMARC 是否对齐。用 DMARC 报告分析器阅读这些 XML。
只有当所有正常来源都通过后再升级:
p=none—— 监控并修复失败的正常发件源(2–4 周)。p=quarantine; pct=25—— 对 25% 的失败邮件执行垃圾箱处理,再逐步提高 pct。p=reject—— 直接拒收失败邮件。
一份报告都没看过就直接上 p=reject,是很多公司把自己的发票送进对方垃圾箱的原因。记录可以用 DMARC 生成器生成。
如何验证整套配置
记录发布后,向 Gmail 账号发一封测试邮件,打开显示原始邮件,找这三行:
SPF: PASS with IP 203.0.113.10
DKIM: 'PASS' with domain yourdomain.com
DMARC: 'PASS'
如果 SPF 和 DKIM 都是 PASS 而 DMARC 是 FAIL,就是对齐问题——通过的域名与 From 域名不一致。排查方法见 DMARC 失败排查指南。
要一次检查域名的全部记录,运行 邮件健康检查或完整的 邮件投递测试。
各服务商配置教程
上面的通用流程适用于所有服务商,但控制台路径和记录值各家不同。如果你的邮箱或发信平台在下面列表里,直接看对应专篇能省一轮摸索:
- 国际邮箱:Google Workspace、Microsoft 365、Zoho Mail、Proton Mail、iCloud+、Fastmail
- 国内企业邮箱:腾讯企业邮、阿里邮箱、网易企业邮箱、飞书邮箱、华为云企业邮箱、263 企业邮箱、新浪企业邮箱、Coremail
- 国内发信平台:SendCloud、阿里云邮件推送、腾讯云 SES;不知选哪家可以先看国内邮件服务商对比
- 发信平台:Amazon SES、SendGrid、Mailgun、SparkPost、Mailjet、MailerLite、Shopify
- DNS 面板:Cloudflare、GoDaddy、Namecheap、OVHcloud、cPanel
- 自建:Postfix、Zimbra、Roundcube
常见问题
三个协议都必须配吗?
用自己的域名发信就必须配。SPF 单独存在时一遇转发就失效;DKIM 单独存在时接收方不知道失败邮件该怎么处理;DMARC 没有 SPF 和 DKIM 就无从评估。2024 年起,大型收件方已把三者作为批量发件人的基线要求。
SPF 失败时 DMARC 还能通过吗?
能。只要 SPF 或 DKIM 其中之一通过对齐,DMARC 即通过。转发场景经常破坏 SPF,而有效的 DKIM 签名往往幸存——这正是 DKIM 重要的原因。
DNS 生效需要多久?
多数改动几分钟内可见,但完整传播最长需要 24–48 小时。测试期间把 TTL 调到一小时以内,迭代会快很多。
Gmail 和 Yahoo 2024 年新规是什么?
两家均要求批量发件人(每日向其用户投递 5,000 封以上)配置 SPF、DKIM 对齐和 DMARC 记录,强制商业邮件支持一键退订(RFC 8058),并将投诉率控制在 0.3% 以下。详见 Gmail 与 Yahoo 发件人要求指南。
