邮箱地址规范化

批量规范化邮箱地址:统一小写、去掉 Gmail 点号和 +标签、合并服务商别名域名,并删除只是写法不同的重复地址。

把杂乱的地址列表整理成统一的规范形式。 每行粘贴一个地址。工具会统一转小写,并根据所选选项去掉 Gmail 点号、去掉 +标签、合并服务商别名域名,以及删除只是写法不同的重复项。

明细

原始地址 规范化后 状态

邮箱规范化到底改变了什么

问题所在

Alice.Smith+news@Gmail.comalicesmith@googlemail.comalicesmith@gmail.com 会投递到同一个收件箱,但一句朴素的 SELECT ... WHERE email = ? 会把它们当成三个不同的人。于是你会得到重复账号、同一封周报发三遍,以及被同一个人续了十一次的免费试用。

规范化就是把这些变体收敛成一个可以建索引、可以比较的规范字符串。

四条规则

大小写。 按 RFC 1035,域名部分不区分大小写;本地部分按 RFC 5321 理论上区分,但主流服务商没有一家真的区分。实践中统一转小写是安全的,也是唯一一条应当始终应用的规则。

点号。 Gmail 会忽略本地部分中的点号:a.li.ce@gmail.com 等于 alice@gmail.com。这是 Gmail 特有的行为。把它套用到 Outlook、Yahoo 或企业域名上,会把真正不同的人合并成一个,因此本工具只对 gmail.comgooglemail.com 去点。

+标签。 子地址(alice+shopping@gmail.com)在 Gmail、Outlook、Fastmail、iCloud 以及大多数现代邮件服务器上都受支持,Yahoo 用连字符代替加号。标签是用于过滤的标记,不属于身份的一部分,所以可以去掉——但请看下面的注意事项。

服务商别名。 googlemail.comgmail.com 是同一个服务;hotmail.comlive.commsn.com 都归属微软消费级平台。把它们映射到同一个规范域名,能再抓出一批重复。

什么时候不该规范化

请保存用户实际输入的地址,规范化形式只作为比较用的键。绝不要向规范化后的地址发信——你会去掉收件人赖以过滤邮件的 +标签,而且确实存在本地部分含 + 的正规企业邮箱。

在反滥用场景里使用 +标签剥离也要谨慎。它确实能挡住“一个人薅多次试用”,但同样会误伤那些为每次注册都打标签的注重隐私的用户。把它当作一个信号,而不是判决。

另外,这不是校验工具。语法完美的地址照样可能退信;只有确认邮件才能证明可达性。

开源说明:使用原生 JavaScript 依据各服务商公开行为自行实现,不使用第三方库,也不发起任何网络请求。

常见问题

应该用规范化后的地址替代原始地址保存吗?
不应该。两者都要存:原始地址用于发信,规范化形式作为唯一索引用于查询和查重。
为什么只对 Gmail 去点号?
因为只有 Gmail 忽略点号。在 Outlook、Yahoo 或企业域名上,john.smith@ 和 johnsmith@ 可能是两名不同员工,合并会把邮件发给错的人。
所有服务商都支持 +标签吗?
大多数现代服务商支持,但并非全部。Yahoo 用连字符,一些较老或自建的服务器会直接拒收带加号的地址。不要默认带标签的地址一定能用。
规范化算是一种校验吗?
不算。它只是把字符串改写成规范形态。邮箱是否真实存在,只能靠发送确认邮件来验证。
我的地址会被上传吗?
不会。整个列表都在浏览器里用纯 JavaScript 处理,不会离开这个页面。