邮件为什么进垃圾箱 —— 决定它的四条 DNS 记录
Gmail 不看你的排版,它只看四条 DNS 记录。本文讲清每条记录证明什么、对齐为什么会失败、以及按什么顺序修。
我们接到的「邮件进垃圾箱」工单,结尾几乎都一样:技术上没坏,客户端也没配错,可就是有一半邮件被塞进了收件箱以外的地方。原因基本不是标题写法,而是收件服务器无法用一个「是」来回答一个问题 —— 这封信真的是那个域名发出来的吗?
这份清单是我们在报价修复前实际会跑的那一套,写下来是为了你自己十分钟内也能跑完。前提只有一条:你能改 DNS。
想直接修好,而不是自己动手?
DNS 记录、对齐测试、首周监控我们来做;你也可以拿着这份清单自己做。两条路都行。
收件方只问四个问题,不是十个
Gmail、Outlook、Yahoo 不打分你的 HTML,它们问四个是非题,每题对应一条 DNS 记录:
| 问题 | 记录 | 它证明什么 |
|---|---|---|
| 这个域名的信该投到哪? | MX | 域名能不能收信 —— MX 坏了,退信看着像拒收 |
| 哪些 IP 可以用这个域名发信? | SPF(TXT) | 发信 IP 在你的名单里 |
| 这封信离开时签名还完整吗? | DKIM(selector._domainkey) |
中途没被改动,以及是哪个域名签的 |
| 前两条对不上时我该怎么办? | DMARC(_dmarc) |
你的策略,以及报告发到哪 |
其余的东西 —— 正文、链接、图片、标题 —— 都是次级信号。记录修好不保证进收件箱,但再好的文案也扛不住一次对齐失败。
大家漏掉的其实是对齐
SPF 和 DKIM 都会给出一个「pass」,而两个 pass 都可能毫无用处。DMARC 真正检查的是对齐:拿到 pass 的那个域名,是否与收件人看到的 From 头域名一致?
只要有中继参与,这个区别立刻生效。你的服务器把信交给第三方投递时,信封发件人通常变成 em1234.yourdomain.com —— 服务商拥有的子域。SPF 于是为那个名字通过。如果 DMARC 写的是 aspf=s(严格),em1234.yourdomain.com 与 yourdomain.com 不算对齐,单项检查全绿、DMARC 照样失败。所以在你核清所有发信源之前,adkim=r 和 aspf=r 是安全档,之后只在你能控制每一个信封时才收紧。
DKIM 同理:一条 d=yourdomain.com 且过完中转还活着的签名,能救回一封 SPF 失败的信。这就是我们坚持两条腿都要、而不是挑省事那条的原因。
最常见的四种失败
- 根本没有 SPF。 忽略该记录的发信工具照样能发出去,而所有不忽略它的收件方都会失败。空答案不等于许可。
- SPF 没覆盖真正的发信方。 记录里只写
mx,而发票是从第三方 API 走的 —— 你许了一个兑现不了的承诺。每加一个服务商,就得进名单。 - DKIM 被链路打断。 自己服务器签了名,中继重写正文页脚,签名作废。于是你只能指望 SPF 对齐,而它从一开始就没覆盖那个域名。
- DMARC 永久停在
p=none。 报告照收,什么都不执行,冒充你的人零代价。p=none是起点,不是终点。
还有一条从外面看不见的:同一个名字上有两条 SPF。收件方把它当永久错误处理,不会合并。你要是曾经把第二条 v=spf1 粘到第一条旁边,从那天起这个域名的每一次 SPF 检查都是失败的。
改之前先跑一次检查
把域名填进我们的免费邮件健康检查。它在你浏览器里直接问公共解析器要 MX、SPF、DKIM、DMARC 四条记录 —— 不注册、中间没有服务器、不碰你的邮件服务器 —— 然后告诉你缺哪条、弱在哪,并把该加的记录给出来。
按这个顺序读结果:
- MX 缺失或指向空 → 先修收信,别的事都排在后面。
- SPF 缺失或有多条 → 只留一条,列全所有合法发信方,确认无误后以
-all收尾。 - DKIM 缺失 → 发布服务商给你的 selector,并核对
d=的域名与 From 域一致。 - DMARC 缺失或
p=none→ 发布或收紧策略,并加一个你真的会看的rua=地址。
修复顺序
先记录,后策略。在 SPF 与 DKIM 正确之前动 DMARC,等于教收件方拒收你自己的信。
- 发布或修好 SPF:一条记录,列全所有发信方。
- 为每个发信方发布 DKIM,用真实邮件验证签名完好通过。
- 发布 DMARC
p=none,附一个有人看的rua=信箱。 - 读一两周的聚合报告。它们是 XML、很难看,却是「谁在冒充我们」唯一诚实的答案。
- 分档收紧策略 ——
p=quarantine; pct=25→pct=100→p=reject—— 每档之间继续看报告。
每一步都可回退。唯一不可回退的错误,是跳过中间直接上最后一档。
记录修不了的部分
这话我们宁可说清楚,也不卖一个不可能生效的修复。如果记录都对、邮件还是进垃圾箱,原因在行为层:
- 发信 IP 的信誉,尤其是你控制不了的共享 IP。
- 黑名单收录 —— 先查大的那几家,再怪 Gmail。
- 内容与链接特征,包括短链和与正文域名不一致的链接域。
- 量与速度 —— 新域名第一天发 2,000 封,看起来和群发垃圾毫无区别。
- 投诉率 —— 买一次脏名单,能抵掉几个月的干净发信史。
这些靠发信历史、名单卫生和时间解决。记录只负责去掉那个借口:SPF、DKIM、DMARC 对齐之后,收件方不再用别人的 IP 信誉衡量你,而是看你的真实行为 —— 那才是你能改善的信号。
想直接交给我们做
这块我们按固定范围接:审现有记录、发布正确的一整套、用真实邮件打到 Gmail / Outlook / Yahoo 验证、看首周报告并告诉你发生了什么变化。也可以拿上面的清单自己动手 —— 跑那个免费检查,它会告诉你有没有做完。
想直接修好,而不是自己动手?
DNS 记录、对齐测试、首周监控我们来做;你也可以拿着这份清单自己做。两条路都行。
常见问题
不会。SPF 只授权发信 IP;Gmail 还要看 DKIM 签名里的域名与 From 头是否一致(对齐),以及 DMARC 在两者都不一致时要求它怎么做。SPF 正确但既无 DKIM 又无 DMARC,是我们见到最多的一种组合。
因为中继用自己的信封域发信。收件方是拿 Return-Path 域去验 SPF 的,不是 From 域,所以中继能给自己拿到 pass,而你的域名一分没有。这时只有 DKIM 加 relaxed 对齐能补上这个缺口。
只有当你确信每一个合法发信方都有对齐的 DKIM 或都在 IP 名单里才行。否则被静默丢掉的是你自己的发票和重置密码邮件。DMARC 要分档上,档与档之间看聚合报告。
发信信誉、黑名单、链接域名、附件类型、投诉率、IP 有多新。这些是行为信号,不是配置,任何 DNS 记录都修不了。
对应服务: 邮件送达率修复