为什么邮件会进垃圾箱?
邮件被标记为垃圾邮件,最常见的技术原因是域名的 SPF、DKIM、DMARC 配置不正确或缺失。这三个协议共同构成了邮件认证体系,告诉收件服务器「这封邮件确实来自域名所有者授权的服务器」。
三大邮件认证协议
SPF(Sender Policy Framework)
SPF 通过 DNS TXT 记录,声明哪些 IP 地址或服务器有权代表你的域名发送邮件。收件服务器会查询发件域的 SPF 记录,验证来源 IP 是否在授权范围内。
# SPF 记录示例(DNS TXT)
v=spf1 include:_spf.google.com include:sendgrid.net ~all
# 含义:
# v=spf1 → SPF 版本 1
# include:... → 包含这些服务的授权 IP
# ~all → 其他来源软失败(建议;-all 为硬失败)
DKIM(DomainKeys Identified Mail)
DKIM 为每封发出的邮件添加数字签名。发件服务器用私钥对邮件头部签名,收件服务器从 DNS 查询对应的公钥验证签名真实性,确保邮件内容在传输中未被篡改。
DMARC(Domain-based Message Authentication, Reporting & Conformance)
DMARC 建立在 SPF 和 DKIM 之上,定义当邮件未通过认证时应采取的策略(无操作/隔离/拒绝),并可配置收取认证报告。
# DMARC 记录示例(DNS TXT,记录名 _dmarc.yourdomain.com)
v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com; pct=100
# p=none → 仅监控,不处理
# p=quarantine → 未通过的邮件进垃圾箱
# p=reject → 完全拒绝未通过的邮件
三者的关系和部署顺序
- 先配置 SPF:告知哪些服务器可以代表你发邮件
- 再配置 DKIM:为发件服务器(邮件服务商)启用 DKIM 签名
- 最后配置 DMARC:初期设
p=none 收集报告,确认 SPF 和 DKIM 正常后逐步升级到 quarantine 或 reject
如何检测邮件配置
使用 tool.tl 的邮件诊断工具:
常见配置错误
- SPF 超过 10 次 DNS 查询限制:SPF 中过多的
include: 会超过查询限制导致验证失败,需要合并或使用扁平化工具
- DKIM 选择器过期:更换邮件服务商后旧 DKIM 记录未删除,导致旧签名无法验证
- DMARC 过早设为 reject:未先确认 SPF 和 DKIM 正常就设置严格策略,可能导致合法邮件被拒
常见问题
用 Gmail / Outlook 发邮件需要配置这些吗?
如果只是个人用 Gmail/Outlook 收发邮件,不需要——这些平台已自动处理认证。但如果你从自己的域名(如 @yourcompany.com)发送业务邮件,或使用 SendGrid、Mailchimp 等第三方发件服务,就必须配置 SPF、DKIM 和 DMARC。
配置后需要多久生效?
DNS 记录的 TTL 决定生效时间,通常 5 分钟至 48 小时内生效,大多数情况下 1 小时内可验证。
工具是免费的吗?
是的,tool.tl 的所有邮件检测工具完全免费,即时查询,无需注册。