什么是有效的电子邮件地址的最大长度?
什么是有效的电子邮件地址的最大长度? 它是由任何标准定义的?
电子邮件地址不能超过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。