企业邮箱 SPF、DKIM、DMARC 怎么配置
三条记录分工明确:SPF 管「谁能发」(IP 白名单),DKIM 管「有没有被改」(数字签名),DMARC 管「验证失败怎么处理」(拒收或隔离)。只配 SPF 不配 DKIM,进垃圾箱的概率仍然很高;三条都配齐,才具备对外声明「这封信确实由我发出」的资格。
先搞清楚这三条记录分别在管什么
发件方身份验证有三层,很多公司只做了第一层就以为万事大吉。三层各管一件事,缺一层就留一个口子。
| 记录 | 管什么 | 记录类型 | 验证方式 |
|---|---|---|---|
| SPF | 哪些服务器的 IP 有权用这个域名发信 | TXT | 收件方核对发信 IP 是否在白名单里 |
| DKIM | 邮件内容在传输中是否被篡改 | TXT(selector 子域) | 用公钥验证邮件头里的签名 |
| DMARC | SPF/DKIM 都没通过时,收件方该怎么办 | TXT(_dmarc 子域) | 按策略拒收、隔离或放行,并回传报告 |
还有一个常被忽略的作用:DMARC 是防冒名的关键。没有它,别人可以伪造你的域名发钓鱼邮件给客户,而你的 SPF 管不到「别人用你的域名发信」这件事 —— 只有 DMARC 能告诉收件方「没通过验证的信,请直接拒收」。
SPF 记录怎么写
SPF 是 TXT 记录,主机记录填 @,值以 v=spf1 开头。用了网易企业邮箱,典型写法是:
v=spf1 include:spf.qiye.163.com -all
拆开看:
v=spf1—— 固定开头,声明这是 SPF 记录。include:spf.qiye.163.com—— 把服务商的发信 IP 段包含进来。具体 include 地址以开通时给的技术文档为准。-all—— 不在白名单里的 IP 一律判为失败(硬失败)。
三个最常见的错误:
- 有两条 SPF 记录。一个域名只能有一条
v=spf1开头的 TXT。旧服务商的记录没删,等于两条并存,收件方会直接判为「permerror」,比不配还糟。 - 用
~all却以为已经防住冒名。~all是软失败(标记但不拒收),-all才是硬失败。过渡期可以用~all观察,稳定后必须收紧。 - include 太多层。SPF 有查询次数上限(10 次),层层 include 会超限。做邮件营销、用多个第三方发信平台的公司最容易踩这条。
DKIM 配置流程
DKIM 不是自己编一串值填上去,而是先由服务端生成密钥对,你只需把公钥填到 DNS。
- 登录邮箱管理后台,找到「域名管理 → DKIM 设置」,开启并生成。
- 后台会给出两项内容:selector 名称(形如
dkim或一串编号)和一段 TXT 值(以v=DKIM1或k=rsa开头)。 - 在域名商添加 TXT 记录:主机记录填
selector._domainkey(把 selector 换成后台给的实际值),记录值粘贴那段长字符串。 - 回后台点「验证」。TXT 记录较长,部分域名商会在输入框里截断,粘贴后要检查末尾是否完整。
注意:selector 变了,旧记录要删。重新生成密钥后,DNS 里会同时存在新旧两条 selector,旧的应当删除,否则签名验证可能命中旧公钥而失败。
DMARC 策略:从观察开始,别一上来就拒收
DMARC 记录加在 _dmarc 子域上,最小可用写法:
v=DMARC1; p=none; rua=mailto:dmarc@你的域名
p 是策略,三档,按顺序推进:
| 策略 | 效果 | 什么时候用 |
|---|---|---|
p=none | 只观察、只回传报告,不影响投递 | 刚上线的前 2–4 周,先看报告里有哪些发信源 |
p=quarantine | 验证失败的信进垃圾箱 | 报告显示所有正常发信源都已在 SPF/DKIM 里 |
p=reject | 验证失败的信直接拒收 | 确认没有遗漏的第三方发信平台之后 |
rua 是报告接收地址,建议用一个真实可收的信箱,每天会收到各邮件服务商回传的 XML 报告。报告里能看出「谁在用你的域名发信」—— 常见发现是:某个部门还在用旧的自建邮局、某个系统还在用未登记的第三方 SMTP。这些必须先处理掉,再收紧策略,否则会误杀自己的业务邮件。
怎么验证配好了
- 用 DNS 查询工具看记录是否已生效。查 TXT 记录,确认只有一条 SPF、DKIM 的 selector 能查到、_dmarc 存在。
- 发一封测试信到 Gmail 或 Outlook。打开「显示原始邮件」,看三个结果:
spf=pass、dkim=pass、dmarc=pass。三个都 pass 才算配置成功。 - 看信的落点。三个 pass 仍然进垃圾箱,说明问题不在身份验证,而在内容或 IP 信誉,需要另查。
相关问题
只配 SPF 够不够?
不够。SPF 只能证明发信 IP 在授权范围内,无法证明邮件内容没被改。客户的邮件网关现在普遍要求 SPF 与 DKIM 至少一项通过、且与 From 域名对齐,才认为是合法邮件。只配 SPF 的信,进垃圾箱的概率明显更高。
配了 SPF 之后,原来的自建邮局发信失败了怎么办?
把自建邮局的出口 IP 加进 SPF(ip4:你的IP),或者给它单独配一个子域名发信。更彻底的做法是把所有发信统一到企业邮箱,不再保留自建 SMTP。
DMARC 报告全是 XML,看不懂怎么办?
XML 里主要看三项:源 IP、SPF/DKIM 的对齐结果、邮件数量。把报告按 IP 汇总,再对照自己已知的发信源,剩下的「陌生 IP」就是需要处理的对象。规模大的公司通常用第三方 DMARC 分析服务做汇总。
改了记录多久生效?
TXT 记录同样受 TTL 影响,通常 10 分钟到 1 小时。验证前先确认域名商后台显示「已生效」,否则会误判为配置错误。