在互联网环境中,邮箱地址是垃圾邮件爬虫的首要目标。一项持续多年的实测研究在 2026 年 1 月发布了最新数据,通过部署蜜罐邮箱收集真实垃圾邮件,对超过二十种邮件混淆技术进行了量化评估。测试覆盖了 318 个针对纯文本地址的爬虫和 299 个针对可点击邮件链接的爬虫,结果揭示了许多与传统认知相悖的结论。

基础混淆技术的意外有效性

研究最令人意外的发现是,基础技术的表现远超预期。HTML 实体编码是最简单的混淆方式,将邮箱地址中的每个字符替换为十进制或十六进制实体,例如将「a」替换为「a」。从理论上讲,这种方法几乎无效,因为服务器端库可以自动解码实体,然而实测数据显示它阻止了 95% 的爬虫。类似地,URL 编码在链接保护中仅阻止 96% 的爬虫,理论上服务器端可以轻易解码。这种现象的解释很简单:大多数垃圾邮件爬虫并不完善,它们只处理最直接的 HTML 结构,不会尝试各种解码方式。

HTML 注释技术同样展现出意外的防护能力。通过在邮箱地址中插入注释,例如「ad@email.example.com」,可以阻止 98% 的爬虫。这种技术的优势在于对用户完全透明,屏幕阅读器也能正确朗读。然而,该技术只能对抗最基础的爬虫,对于能够解析 HTML 注释的进阶爬虫无效。

高效技术的工程实现

真正实现 100% 阻止率的技术分为几个层次。CSS display:none 是最优雅的方案之一,通过在 HTML 中将邮箱地址分段并用 span 标签包裹无关内容,然后使用 CSS 隐藏这些干扰段。例如将「ad@email.example.com」写成「ad@email.spencermortensen.example.com」,配合 CSS 规则「div.email > span:nth-child (2) { display: none; }」,即可在视觉上呈现正确地址,同时让爬虫获取到错误信息。这种方法对屏幕阅读器完全友好,是少数兼具安全性和可用性的方案。需要注意的是,干扰标签的位置应该随机变化,避免爬虫通过识别固定模式来排除隐藏内容。

JavaScript AES 加密是安全性最高的技术方案。该方法使用 AES-256 算法加密邮箱地址,加密后的密文嵌入 HTML,浏览器通过 JavaScript 在客户端解密后渲染。由于 Web Crypto API 的 SubtleCrypto 仅在安全上下文(https 或 localhost)中可用,使用此技术必须部署 HTTPS。该方案的另一优势是密文无法在浏览器外部被解密,即使爬虫能够执行 JavaScript,也很难获取加密密钥。AES 加密实现 100% 阻止率,且被认为在可预见的未来难以被破解。

JavaScript 转换技术是另一个值得关注的方案。其核心思想是在 HTML 中放置一段乱码,自定义函数将其转换为真正的邮箱地址。转换逻辑可以非常简单,例如将特定字符串替换为其他字符,甚至可以为一个页面上的所有邮箱编写独立的转换函数。由于大多数爬虫只能获取 HTML 源码而无法执行 JavaScript,它们只能看到乱码。这种技术实现极其简单,却能实现 100% 的阻止率,被研究者评价为「简单得令人害怕,却是最好的技术之一」。

用户交互触发是最高安全级别的方案。该技术将邮箱地址隐藏起来,仅在用户与页面交互(如点击、滚动)后才显示真实地址。这意味着爬虫不仅需要能够执行 JavaScript,还需要模拟真实用户行为,大幅提高了攻击门槛。结合其他技术使用时,可以构建多层防护体系。

破坏可用性的技术陷阱

有些技术虽然能阻止爬虫,但却严重损害用户体验。符号替换是最典型的例子,将「@」替换为「AT」、将「.」替换为「DOT」,虽然能阻止 97% 的爬虫,但用户必须手动还原才能发送邮件,这种摩擦可能导致潜在联系人的流失。类似地,要求用户删除特定字符的说明文字也会造成同样的问题。

CSS content 属性是一个容易被误解的陷阱。通过「content: attr (data-user) '@' attr (data-domain)」可以在视觉上呈现完整邮箱,但用户无法选中和复制此地址。研究明确指出,这种技术「破坏可用性,最终用户被迫手动输入完整地址」,属于得不偿失的方案。CSS 文本方向(unicode-bidi: bidi-override 配合 direction: rtl)同样会呈现反向文本,用户复制后需要手动反转,使用体验极差。

将邮箱地址渲染为图片是另一个不推荐的技术。虽然能实现 100% 阻止,但视力障碍用户无法访问,普通用户也必须手动输入地址,严重影响转化率。

2026 年的工程实践建议

综合实测数据和可用性考量,2026 年邮件混淆的工程实践应遵循以下原则。首先,基础技术足以应对大多数场景。HTML 实体编码虽然理论上可被破解,但实测阻止了 95% 以上的爬虫,对于低风险场景是成本效益最优的选择。部署 HTTPS 是使用高级 JavaScript 技术的前提条件,否则 Web Crypto API 将不可用。

其次,推荐采用分层防护策略。可以将 CSS display:none 与 JavaScript 转换技术结合,将邮箱地址拆分后分别使用不同技术保护。即使爬虫突破第一层防线,仍会被第二层阻挡。干扰标签的位置和形式应随机化,避免形成固定模式被机器识别。

最后,必须始终将可用性纳入考量。所有技术方案在上线前都应进行真实用户测试,确保视力障碍用户能够通过屏幕阅读器获取地址,普通用户能够轻松复制或点击发送邮件。研究者特别强调,大多数爬虫并不精密,简单技术的效果往往超出预期,过度复杂的方案可能得不偿失。

该研究采用的方法论值得参考:作者部署了真实蜜罐邮箱,关闭所有垃圾邮件过滤,收集每个邮箱收到的垃圾邮件来统计哪些技术被破解。由于样本量仍在增长,统计结果存在一定不确定性,但这种基于真实攻击数据的评估方式比理论分析更具说服力。随着更多站点链接该研究页面,数据可靠性将持续提升。

资料来源:Spencer Mortensen 博客文章《Email obfuscation: What works in 2026?》(2026 年 1 月 30 日更新)