什么是有效的电子邮件地址的最大长度?

什么是有效的电子邮件地址的最大长度? 它是由任何标准定义的?

电子邮件地址不能超过254个字符。

提交后 ,IETF接受了这一点。 任何给定地址的完整诊断可在线获得 。 原始版本的RFC 3696描述了320作为最大长度,但John Klensin后来接受了一个不正确的值,因为Path被定义为

Path = "<" [ Adl ":" ] Mailbox ">" 

因此,邮箱元素(即电子邮件地址)在其周围有一个尖括号,以形成一个Path,其最大长度为254个字符,以将Path长度限制为256个字符或更less。

RFC 5321中规定的最大长度为:

反向path或前向path的最大总长度为256个字符。

RFC 3696在这里得到纠正。

我现在整理了来自Cal Henderson,Dave Child,Phil Haack,Doug Lovell和RFC 3696的testing用例。

我对所有可以find的validation器都运行了所有这些testing。 比较在这里: http : //www.dominicsayers.com/isemail

我会尽量保持这个页面是最新的,因为人们提高validation。 感谢Cal,Dave和Phil在编写这些testing方面提供的帮助和合作,并对我自己的validation器进行了build设性的批评。

人们应该特别注意对RFC 3696的勘误 。 其中三个规范的例子实际上是无效的地址。

320

细分看起来像这样

{64} {@ 255}

64 + 1 + 255 = 320

如果您正在validation电子邮件,您还应该阅读本文

http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx

为了帮助像我这样的混乱的新手,答案是“什么是有效的电子邮件地址的最大长度?” 是254个字符

如果您的应用程序使用电子邮件,只需将您的字段设置为接受254个字符或更less,您就可以开始使用了。

您可以在电子邮件上运行一堆testing,看看它在这里是否有效。 http://isemail.info/

RFC或Request for Comments是Internet工程任务组(IETF)发布的一种types,定义了254个字符作为限制。 位于这里 – https://tools.ietf.org/html/rfc5321#section-4.5.3

用户

用户名的最大总长度为64个字符。

域部分最多255个字符(“@”之后的部分)

但是,在RFC 2821中有一个限制:

反向path或前向path的最大总长度为256个字符,包括标点符号和元素分隔符“。 由于不符合这些字段的地址通常不是有用的,所以地址长度的上限通常应该被认为是256,但是path被定义为:Path =“<”[Adl“:”] Mailbox“> “除了邮箱,前向path至less包含一对尖括号,这将邮件地址限制为254个字符。

本地部分(帐户/名称)为64,域名为255。 我认为@符号将被计算额外,所以总和为320。

但请注意:这只是实际地址的长度。 地址可能包含显示名称。 这样的地址看起来像first last <local@domain> ,通常会延长320。