You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

含quoted-pair的local-part邮箱规范化及地址等价性咨询

电子邮箱地址相关技术问题解答

1. 两个邮箱地址的等价性判定

john.doe@example.com和"john.doe"@example.com在SMTP协议投递语义层面等价,但在业务精确匹配场景不等价。
依据RFC 5321、RFC 5322的邮箱地址规范:

  • 当邮箱local-part(@符号前的部分)仅包含dot-atom格式允许的字符(字母、数字及!#$%&'*+-/=?^_{|}~.`)时,给local-part整体包裹双引号属于合法的冗余写法,接收方邮件传输代理(MTA)在路由投递时会识别为同一个收件人。
  • 但这种等价性仅存在于协议投递环节,绝大多数邮件服务商在账号校验、地址存储时会严格保留用户注册时提交的local-part原始格式,如果你在业务逻辑里直接把两种写法做等值判定,大概率会出现账号匹配失败、投递被拒的问题。

2. local-part禁改规则的覆盖范围与quoted-pair场景处理

“不得修改或规范化处理邮箱local-part”的规则完全覆盖quoted-pair格式的local-part场景,任何场景下都不允许对使用quoted-pair的local-part执行规范化操作。
先明确quoted-pair的定义:它是引号包裹的local-part里的转义语法,通过反斜杠加字符的形式,让双引号、@符号、空格这类原本不能直接出现在local-part里的字符成为合法内容,比如"john\"doe"@example.com、"john smith"@example.com都属于带quoted-pair语法的合法邮箱地址。
不能做规范化的核心原因有两个:

  • quoted-pair里的转义字符、外层包裹的双引号都是local-part的有效组成部分,擅自做删引号、去转义符、统一大小写之类的规范化操作,会直接篡改local-part的原始值,导致地址指向完全错误的收件人。比如把"john@doe"@example.com的引号去掉,会变成非法地址john@doe@example.com;把"john\doe"@example.com的转义反斜杠去掉,会变成完全不同的地址johndoe@example.com。
  • 禁改local-part的规则本质是要求所有非协议路由环节,必须完整保留用户提交的local-part原始字符串,不管这个local-part是普通无引号格式、带引号的普通字符串格式,还是包含quoted-pair转义的格式,都没有特权可以被修改。

内容的提问来源于stack exchange,提问作者user1558782

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 15:36:17