2024年初,一家电商公司发现他们的促销邮件突然全部进入了Gmail的垃圾箱。技术团队检查了所有配置:SPF记录正确、DKIM签名有效、DMARC策略已设置、IP不在任何黑名单上。他们甚至联系了Gmail的支持团队,得到的回复是"一切正常"。问题持续了三周,直到有人发现公司最近雇佣的营销机构在同时使用另一个IP地址发送大量相似内容的邮件——这触发了Gmail的关联声誉惩罚机制。
这不是个例。根据Validity发布的《2025年邮件投递基准报告》,全球邮件投递率仅84%,这意味着每六封邮件中就有一封无法到达收件箱。Microsoft Outlook的投递率更低,仅为75.6%,超过14%的邮件被标记为垃圾邮件。对于依赖邮件进行业务沟通的企业和个人而言,这不再是技术细节问题,而是直接关系到营收和信誉的核心挑战。
一个本该简单的协议
电子邮件的设计初衷是简单的。1982年,Jon Postel发布的RFC 821定义了简单邮件传输协议(SMTP)。协议的核心假设是信任:任何邮件服务器都可以向任何其他服务器发送邮件,发送者可以声称自己是任何人。
在互联网的早期,这是一个合理的假设。当时网络规模小,用户彼此认识,滥用行为罕见。但随着互联网商业化,这个设计暴露出致命缺陷:任何人都可以伪造发件人地址发送邮件。垃圾邮件发送者、钓鱼攻击者、网络诈骗犯迅速利用了这个漏洞。
1990年代后期,垃圾邮件开始泛滥。2003年,垃圾邮件占全球邮件流量的比例已超过50%。各大邮件服务商开始部署各种过滤机制,一场持续二十年的技术博弈就此展开。

图片来源: assets.bytebytego.com
邮件从发送方到接收方的旅程涉及多个环节:MUA(邮件用户代理)提交邮件,MSA(邮件提交代理)进行初步处理,MTA(邮件传输代理)在服务器之间转发,MDA(邮件投递代理)将邮件存入收件箱。每一个环节都可能成为邮件被拦截的关口。
SPF:第一道防线的设计与局限
2003年,Meng Weng Wong提出了发件人策略框架(Sender Policy Framework,SPF)。核心思想很简单:域名所有者在DNS中发布一条记录,声明哪些IP地址有权使用该域名发送邮件。
当邮件服务器收到一封邮件时,它会:
- 从SMTP信封中提取MAIL FROM地址的域名
- 查询该域名的SPF记录
- 检查发送服务器的IP是否在授权列表中
- 根据结果决定是否接受邮件
一个典型的SPF记录如下:
v=spf1 ip4:192.0.2.0/24 include:_spf.google.com -all
这条记录的含义是:授权192.0.2.0/24网段的IP地址、Google的SPF授权服务器,其他所有IP都不被授权(-all)。
SPF的结果有七种:
| 结果 | 含义 |
|---|---|
| Pass | IP被明确授权 |
| Fail | IP明确不被授权 |
| Softfail | IP可能不被授权,但不确定 |
| Neutral | 域名未声明是否授权 |
| None | 未找到SPF记录 |
| Temperror | 临时性错误(如DNS超时) |
| Permerror | 永久性错误(如记录格式错误) |
2014年发布的RFC 7208将SPF标准化。但SPF有一个根本性的局限:它验证的是SMTP信封中的MAIL FROM地址,而不是用户在邮件客户端看到的From地址。这两者可以不同。攻击者可以通过伪造From地址来绕过SPF检查——这正是DMARC后来要解决的问题。
DKIM:密码学签名进入邮件世界
2007年,DomainKeys Identified Mail(DKIM)在RFC 4871中被标准化(后被RFC 6376更新)。DKIM采用完全不同的思路:不验证发送者是谁,而是验证邮件内容是否被篡改。
DKIM的工作原理基于公钥密码学:
- 发送方服务器生成一对密钥:私钥保存在服务器上,公钥发布在DNS中
- 发送邮件时,服务器用私钥对邮件的指定部分进行签名,签名结果添加到邮件头
- 接收服务器从DNS获取公钥,验证签名是否有效
一个DKIM签名头部如下:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail;
h=from:to:subject:date;
bh=2gusf+7Lh2pE3S8fE7JqQ+YQVfKOmMmEH4=;
b=K7h3f...
各字段含义:
v=1:DKIM版本a=rsa-sha256:签名算法d=example.com:签名域名s=mail:选择器(selector),用于定位公钥h=...:被签名的邮件头字段bh=...:邮件正文的哈希值b=...:签名值
公钥存储在DNS中,格式如下:
mail._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCS..."
DKIM的关键优势是签名在邮件转发过程中仍然有效。只要邮件内容未被修改,任何中间服务器都可以验证签名。这使得DKIM成为验证邮件完整性的可靠手段。
但DKIM也有局限:它只证明邮件来自某个域名的授权服务器,不证明发件人身份的真实性。一个攻击者可以注册一个看起来相似的域名(如examp1e.com),正确配置DKIM,然后发送伪造邮件。
DMARC:统一策略与反馈机制
2015年,RFC 7489定义了Domain-based Message Authentication, Reporting, and Conformance(DMARC)。DMARC解决了SPF和DKIM各自为战的问题,建立了统一的策略框架。
DMARC的核心概念是"对齐"(alignment)。一封邮件要通过DMARC验证,必须满足:
- 通过SPF验证,且SPF验证的域名与From地址的域名一致
- 或者通过DKIM验证,且DKIM签名的域名与From地址的域名一致
这意味着即使SPF和DKIM都通过,如果域名不一致,DMARC仍然会失败。
DMARC记录示例:
_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]"
关键字段:
p=quarantine:对验证失败的邮件的处理策略(none/quarantine/reject)rua=...:接收聚合报告的邮箱地址
DMARC的三种策略级别:
| 策略 | 行为 |
|---|---|
| none | 只监控,不干预 |
| quarantine | 将验证失败的邮件标记为可疑 |
| reject | 直接拒绝验证失败的邮件 |
DMARC的一个重要创新是报告机制。邮件服务商会定期向域名所有者发送报告,详细说明哪些邮件通过了验证、哪些失败了、失败原因是什么。这些报告对于诊断邮件投递问题至关重要。
声誉系统:看不见的评判者
即使完美配置了SPF、DKIM和DMARC,邮件仍可能进入垃圾箱。这是因为现代邮件过滤的核心机制已经从基于规则转向基于声誉。
Spamhaus的技术文档指出,在当前的邮件生态系统中,IP/域名声誉和用户参与度是决定邮件命运的两大要素。声誉系统综合考量多个维度:
垃圾陷阱命中:垃圾陷阱(spam trap)是专门用来捕获非法邮件收集行为的邮箱地址。如果一个地址从未主动订阅却收到邮件,这个邮件很可能是通过非法购买或爬虫收集的。命中垃圾陷阱会对发件人声誉造成严重打击。
投诉率:用户点击"标记为垃圾邮件"的频率。Google要求批量发送者将投诉率控制在0.3%以下,超过这个阈值会触发惩罚性措施。
参与度指标:打开率、点击率、回复率。积极的参与行为会提升声誉,反之则会降低。值得注意的是,苹果的邮件隐私保护(MPP)使得打开率的测量变得不可靠,邮件服务商正在转向其他指标。
弹回率:发送到无效地址的比例。高弹回率暗示发件人的邮件列表质量差,会损害声誉。
发送模式:稳定的发送量优于突然的爆发。Spamhaus警告,“爆发式"的发送模式会损害即使是建立已久的声誉。
IP声誉 vs 域名声誉
在2010年前后,IP声誉是主要的过滤依据。但随着IPv6的普及,情况发生了变化。IPv6提供了340万亿亿亿亿个地址,这意味着攻击者可以轻易"燃烧"IP地址,传统的IP封堵策略变得不再有效。
Spamhaus的文档指出,域名声誉的重要性已经超过了IP声誉。域名更稳定、更难频繁更换,因此成为更可靠的信任锚点。这也是为什么2024年的新政策要求批量发送者必须配置SPF、DKIM和DMARC——这些协议绑定的都是域名,而非IP。
内容过滤:从关键词到AI
即使通过了认证和声誉检查,邮件仍可能因内容被拦截。内容过滤技术在过去二十年经历了重大演进。
贝叶斯过滤器的革命
2002年8月,Paul Graham发表了《A Plan for Spam》一文,提出了基于贝叶斯统计的垃圾邮件过滤方法。这个方法的优雅之处在于它的简单性:
- 维护两个语料库:垃圾邮件和非垃圾邮件
- 统计每个词在两个语料库中出现的频率
- 计算每个词的"垃圾概率”:包含该词的邮件是垃圾邮件的概率
- 对于新邮件,选取15个最"有趣"的词(概率离0.5最远的词)
- 使用贝叶斯公式计算综合概率
Graham报告称,这种方法在他的测试中达到了每1000封垃圾邮件漏掉不到5封、零误判的惊人效果。
更关键的是,贝叶斯过滤器是自适应的。当垃圾邮件发送者开始使用"c0ck"代替"cock"来规避过滤时,贝叶斯过滤器会自动学习:从未见过"c0ck"这个词,但很快就会发现它几乎只出现在垃圾邮件中,从而将其标记为高垃圾概率词。
AI时代的过滤
现代邮件服务商已经超越了简单的贝叶斯模型。Litmus 2025年的报告指出,Gmail和Microsoft现在使用大型语言模型来分析邮件内容,识别不自然的语气、重复的模式或机器生成的模板。
这些AI系统能够理解上下文。一个单独的"免费"词汇不会触发警告,但如果邮件同时包含"免费"、“限时”、“点击”、“优惠"等多个元素,且来自一个新域名,AI可能会将其标记为可疑。
AI过滤也带来了新挑战。MailReach的统计显示,使用AI生成邮件内容但不加人工润色的发送者,投递率明显较低。这是因为AI生成的内容往往有可识别的模式。
2024-2025:政策变革的关键年
2024年2月1日,Google和Yahoo开始强制执行新的发送者要求。这些要求标志着邮件投递规则的重大变化。
新政策的核心要求
对于所有发送者:
- 必须配置SPF或DKIM认证
- 发送域名或IP必须有有效的正向和反向DNS记录
- 必须使用TLS连接传输邮件
- 垃圾邮件投诉率必须低于0.3%
对于批量发送者(每天发送超过5000封邮件到Gmail账户):
- 必须同时配置SPF和DKIM
- 必须配置DMARC
- 必须支持一键退订
- From地址的域名必须与SPF或DKIM的域名对齐
2025年5月5日,Microsoft开始在其消费者邮箱服务(outlook.com、hotmail.com、live.com)执行类似要求。未合规域名的邮件将被路由到垃圾邮件文件夹。
一键退订的技术实现
Google要求批量发送者在营销和订阅邮件中实现一键退订功能。这需要在邮件头部添加两个字段:
List-Unsubscribe-Post: List-Unsubscribe=One-Click
List-Unsubscribe: <https://example.com/unsubscribe?id=xxx>
当用户点击Gmail中的一键退订按钮时,Gmail会向指定URL发送POST请求:
POST /unsubscribe?id=xxx HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
List-Unsubscribe=One-Click
发送者必须在两个工作日内处理退订请求。根据MailReach的统计,实现一键退订的发送者投诉率平均低于0.1%。
诊断:当邮件进入垃圾箱时
检查SMTP错误代码
当邮件被拒绝时,发送服务器会收到一个退信通知(bounce message),其中包含错误代码。常见的错误代码:
550 5.7.1:访问被拒绝。最常见的原因包括:
- 发送IP在黑名单上
- SPF/DKIM/DMARC验证失败
- 发送者声誉过低
550 5.7.26:未通过DMARC验证。Gmail特有的错误代码,表示邮件未通过域名对齐检查。
421 4.7.0:临时性错误。通常表示发送速率超过限制或IP声誉问题。
使用诊断工具
Google Postmaster Tools:提供发送到Gmail的邮件的详细统计,包括声誉分数、垃圾邮件率、认证结果。
MXToolbox:检查IP和域名是否在主要黑名单上,验证DNS记录配置。
Mail Tester:发送测试邮件到指定地址,获得详细的评分报告和改进建议。
DMARC分析工具:解析DMARC报告,识别认证失败的模式。
常见问题排查
问题:SPF通过但DMARC失败
- 检查SPF域名与From域名是否一致
- 确认是否使用了第三方发送服务但未正确配置include
问题:DKIM签名在转发后失效
- 某些邮件列表会修改邮件内容,破坏DKIM签名
- 考虑要求转发者实现ARC(Authenticated Received Chain)
问题:声誉良好但投诉率高
- 检查邮件列表的订阅流程,确保有明确的opt-in
- 审查邮件内容是否过于营销化
- 考虑发送重新确认邮件给长期不活跃的订阅者
最佳实践:建立持久的投递能力
认证配置
SPF:
- 列出所有合法的发送IP和服务
- 使用
include:包含第三方发送服务 - 以
-all结束(拒绝所有未授权的IP) - 避免超过10次DNS查询限制
DKIM:
- 使用2048位密钥(Google的最低要求是1024位)
- 定期轮换密钥(建议每年)
- 签名关键邮件头字段(From, To, Subject, Date)
DMARC:
- 从
p=none开始,监控报告 - 确认无问题后升级到
p=quarantine - 最终目标是
p=reject
声誉建设
新域名/IP预热:
- 从小批量发送开始(每天几十封)
- 选择高参与度的订阅者作为首批接收者
- 逐步增加发送量(每周翻倍)
- 持续监控投诉率和声誉分数
列表管理:
- 实施双重opt-in确认
- 及时处理退订请求和弹回
- 定期清理不活跃订阅者
- 永远不要购买邮件列表
内容优化:
- 避免垃圾邮件触发词
- 保持文本与图片的比例合理
- 确保链接域名与发送域名相关
- 提供明确的发件人身份信息
未来的挑战
邮件投递的博弈仍在继续。随着AI技术的进步,垃圾邮件发送者也在使用更复杂的手段:AI生成的内容可以避开传统的关键词过滤,深度伪造技术可以创建高度逼真的钓鱼邮件。
同时,隐私保护措施也在改变游戏规则。苹果的邮件隐私保护使得打开率变得不可靠,欧盟的GDPR和美国的CAN-SPAM法案对邮件营销提出了更严格的要求。
对于发送者而言,理解这些技术背后的原理比记住配置步骤更重要。邮件投递不是一个可以一次性解决的问题,而是一个需要持续关注和优化的过程。建立声誉需要数月时间,但毁掉它只需要几次错误决策。
在可以预见的未来,邮件仍然是企业沟通的核心渠道。投入时间理解并正确配置邮件认证,建立和维护良好的发送声誉,是任何依赖邮件进行业务沟通的组织的基本功。这不再是可选项,而是必需品。
参考资料
- RFC 7208: Sender Policy Framework (SPF) for Authorizing Use of Domains in Email. IETF, April 2014.
- RFC 6376: DomainKeys Identified Mail (DKIM) Signatures. IETF, September 2011.
- RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC). IETF, March 2015.
- Validity. 2025 Email Deliverability Benchmark Report.
- Google. Email sender guidelines. Google Workspace Admin Help.
- Spamhaus. How does email reputation work? Spamhaus Resource Hub.
- MailReach. Email Deliverability Statistics 2025: Benchmarks & Trends.
- Paul Graham. A Plan for Spam. August 2002.
- Microsoft. Outlook’s New Requirements for High-Volume Senders. Tech Community Blog, April 2025.
- Cloudflare. What are DMARC, DKIM, and SPF? Cloudflare Learning Center.