电子邮件地址中是否允许使用不带引号的连续(例如)特殊字符?

时间:2019-01-24 17:50:18

标签: email-validation

研究电子邮件地址(!#$%&'* +-/ =?^ _`{|}〜)中是否允许两个或多个相同的未加引号的连续特殊字符时,我发现了相互矛盾的信息。

例如,我知道这些是合法的:
    -my+email@yahoo.com
    -我的“ $$” email@yahoo.com

我也知道,前导,尾随和双重期限是非法的。我的问题是-是这样的法律:
    -my&&email@yahoo.com

谢谢!

1 个答案:

答案 0 :(得分:1)

RFC 5322中,“原子”是定义电子邮件地址中可以包含的内容的基本单元:

atext           =   ALPHA / DIGIT /    ; Printable US-ASCII
                       "!" / "#" /        ;  characters not including
                       "$" / "%" /        ;  specials.  Used for atoms.
                       "&" / "'" /
                       "*" / "+" /
                       "-" / "/" /
                       "=" / "?" /
                       "^" / "_" /
                       "`" / "{" /
                       "|" / "}" /
                       "~"

atom            =   [CFWS] 1*atext [CFWS]

“ 1 *”是ABNF,代表“ 1个或更多”,因此此产生方式对允许的任何字符数或它们的顺序没有任何限制。因此,从理论上讲,甚至“ my&&&&&&&email@yahoo.com”都是合法的。

这是否可以作为实际问题由实施定义;例如gmail会忽略地址本地部分中的所有点,以防止基本的欺骗攻击。