关于验证:有效电子邮件地址的最大长度是多少?

What is the maximum length of a valid email address?

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


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

在提交了勘误表之后,IETF接受了这一点。任何给定地址的完整诊断都可以在线获得。最初版本的RFC3696将320描述为最大长度,但是John Klensin随后接受了一个错误的值,因为路径被定义为

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

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

The maximum total length of a reverse-path or forward-path is 256 characters.

这里修正了RFC3696。

我现在已经整理了Cal Henderson、Dave Child、Phil Haack、Doug Lovell和RFC 3696的测试案例。总共158个测试地址。

我对我能找到的所有验证器运行了所有这些测试。对比如下:http://www.dominicsayers.com/isemail

当人们增强他们的验证器时,我将尝试使此页面保持最新。感谢Cal、Dave和Phil在编译这些测试时的帮助和合作以及对我自己的验证器的建设性批评。

人们应该特别注意RFC3696的勘误表。其中三个规范示例实际上是无效地址。


三百二十

片段看起来像这样

{ 64 } { 255 }

64+1+255=320

如果您正在验证电子邮件,也应该阅读此内容

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


user

The maximum total length of a user name is 64 characters.

domain

Maximum of 255 characters in the domain part (the one after the"@")

但是,在RFC2821中有一个限制:

The maximum total length of a reverse-path or forward-path is 256
characters, including the punctuation and element separators". Since
addresses that don’t fit in those fields are not normally useful, the
upper limit on address lengths should normally be considered to be
256, but a path is defined as: Path ="<" [ A-d-l":" ] Mailbox">"
The forward-path will contain at least a pair of angle brackets in
addition to the Mailbox, which limits the email address to 254
characters.


为了帮助像我这样困惑的新手,回答"有效电子邮件地址的最大长度是多少?"是254个字符。

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

你可以在一封电子邮件上运行一系列测试,看看它在这里是否有效。网址:http://isemail.info/

RFC或征求意见是Internet工程任务组(IETF)发布的一种类型,它定义了254个字符作为限制。位于此处-https://tools.ietf.org/html/rfc5321第4.5.3节


另一个回答把水弄脏了一点。简单回答:我们控制的电子邮件总共有254个字符256表示整个电子邮件地址,其中包括开头的"<"和结尾的">"。因此,有254个留给我们使用。


根据以下条款:

http://tools.ietf.org/html/rfc3696(第6页,第3节)

上面提到:

"There is a length limit on
email addresses. That limit is a maximum of 64 characters (octets)
in the"local part" (before the"@") and a maximum of 255 characters
(octets) in the domain part (after the"@") for a total length of 320
characters. Systems that handle email should be prepared to process
addresses which are that long, even though they are rarely
encountered."

因此,电子邮件地址的最大总长度是320个字符("本地部分":64+"@":1+"域部分":255,总计320)


本地部分(帐户/名称)为64,域为255。我想@号应该算额外的,所以总数是320。

但请注意:这只是实际地址的长度。地址可以包含显示名称。这样的地址看起来像first last ,通常会扩展到320。