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


当前回答

TLDR回答

给出一个像这样的电子邮件地址……

me@example.com

长度限制如下:

整个电子邮件地址(又名:“路径”):即me@example.com—最多256个字符。 Local-Part:即me—最多64个字符。 域名:例如example.com,最多254个字符。

源——TLDR;

RFC标准在不断发展,但如果你想在一行中获得2009年IETF源代码:

...地址长度的上限通常被认为是256。(来源:RFC3696。)

来源-历史

SMTP最初在1982年8月发布的RFC821中定义了路径,这是一个官方的互联网标准(大多数RFC只是建议)。引用它…

...反向路径,指定邮件来自谁。 ...转发路径,用于指定邮件的收件人。

RFC2821, published in April 2001, is the Obsoleted Standard that defined our present maximum values for local-parts, domains, and paths. A new Draft Standard, RFC5321, published in October 2008, keeps the same limits. In between these two dates, RFC3696 was published, on February 2004. It mistakenly cites the maximum email address limit as 320-characters, but this document is "Informational" only, and states: "This memo provides information for the Internet community. It does not specify an Internet standard of any kind." So, we can disregard it.

引用RFC2821,现代,公认的标准,确认在RFC5321…

4.5.3.1.1. 本地部分 用户名和其他本地部分的最大长度为64 字符。 4.5.3.1.2. 域 域名或编号的总长度不超过255个字符。 4.5.3.1.3. 路径 反向路径和正向路径的总长度最大为256 字符(包括标点符号和元素分隔符)。

您将注意到,我指示的域最大值为254,RFC指示的域最大值为255。这是一个简单的算术问题。255个字符的域加上“@”符号,就是256个字符的路径,这是最大路径长度。但是,空的或空白的名称是无效的,因此实际上域的最大值为254。

其他回答

邮件地址长度不超过254个字符。

IETF在提交勘误表后接受了这一点。任何给定地址的完整诊断都可以在网上找到。RFC 3696的原始版本将320描述为最大长度,但John Klensin随后接受了一个不正确的值,因为路径被定义为

Path = "<" [ A-d-l ":" ] Mailbox ">"

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

RFC 5321中规定的最大长度说明:

反向路径和正向路径的总长度最大为256个字符。

这里更正了RFC 3696。

人们应该特别注意RFC 3696的勘误表。其中三个典型示例实际上是无效地址。

我整理了几百个测试地址,您可以在http://www.dominicsayers.com/isemail上找到它们

其他的回答把水搅浑了一点。 简单的回答:我们控制的电子邮件的总字符为254个 256个代表整个电子邮件地址,其中包括开头隐含的“<”和结尾的“>”。因此,剩下254个供我们使用。

320

线段是这样的

{64} @ {255}

64 + 1 + 255 = 320

如果你正在验证电子邮件,你也应该阅读这篇文章:我知道如何验证一个电子邮件地址,直到我阅读RFC

TLDR回答

给出一个像这样的电子邮件地址……

me@example.com

长度限制如下:

整个电子邮件地址(又名:“路径”):即me@example.com—最多256个字符。 Local-Part:即me—最多64个字符。 域名:例如example.com,最多254个字符。

源——TLDR;

RFC标准在不断发展,但如果你想在一行中获得2009年IETF源代码:

...地址长度的上限通常被认为是256。(来源:RFC3696。)

来源-历史

SMTP最初在1982年8月发布的RFC821中定义了路径,这是一个官方的互联网标准(大多数RFC只是建议)。引用它…

...反向路径,指定邮件来自谁。 ...转发路径,用于指定邮件的收件人。

RFC2821, published in April 2001, is the Obsoleted Standard that defined our present maximum values for local-parts, domains, and paths. A new Draft Standard, RFC5321, published in October 2008, keeps the same limits. In between these two dates, RFC3696 was published, on February 2004. It mistakenly cites the maximum email address limit as 320-characters, but this document is "Informational" only, and states: "This memo provides information for the Internet community. It does not specify an Internet standard of any kind." So, we can disregard it.

引用RFC2821,现代,公认的标准,确认在RFC5321…

4.5.3.1.1. 本地部分 用户名和其他本地部分的最大长度为64 字符。 4.5.3.1.2. 域 域名或编号的总长度不超过255个字符。 4.5.3.1.3. 路径 反向路径和正向路径的总长度最大为256 字符(包括标点符号和元素分隔符)。

您将注意到,我指示的域最大值为254,RFC指示的域最大值为255。这是一个简单的算术问题。255个字符的域加上“@”符号,就是256个字符的路径,这是最大路径长度。但是,空的或空白的名称是无效的,因此实际上域的最大值为254。

根据以下文章:

https://www.rfc-editor.org/rfc/rfc3696(第6页第3节)

其中提到:

“有长度限制 电子邮件地址。该限制是最大64个字符(八位字节) 在“本地部分”(@前面),最大长度为255个字符 (八位字节)在域部分(“@”之后),总长度为320 字符。处理电子邮件的系统应该准备好处理 有那么长的地址,尽管很少有 遇到。”

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