1138

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

4

8 回答 8

1354

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

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

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

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

RFC 5321中规定的最大长度:

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

RFC 3696 已在此处更正。

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

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

于 2009-02-22T10:28:47.640 回答
56

320

段看起来像这样

{64}@{255}

64 + 1 + 255 = 320

如果您正在验证电子邮件,您还应该阅读此内容:在阅读 RFC 之前,我知道如何验证电子邮件地址

于 2008-12-22T14:00:51.153 回答
29

用户

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

领域

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

但是,RFC 2821的阅读有一个限制:

反向路径或正向路径的最大总长度为 256 个字符,包括标点符号和元素分隔符”。由于不适合这些字段的地址通常没有用,因此地址长度的上限通常应视为 256,但路径定义为:Path = “<” [ Adl “:” ] Mailbox “>” 除了 Mailbox 之外,转发路径将至少包含一对尖括号,这将电子邮件地址限制为 254 个字符。

于 2015-01-29T11:50:21.583 回答
22

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

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

您可以在电子邮件上运行一堆测试,看看它在此处是否有效。http://isemail.info/

RFC 或 Request for Comments 是 Internet 工程任务组 (IETF) 的一种发布类型,将 254 个字符定义为限制。位于此处 - https://www.rfc-editor.org/rfc/rfc5321#section-4.5.3

于 2017-06-01T21:58:57.803 回答
21

根据下面的文章:

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

提到:

“电子邮件地址有长度限制。该限制是“本地部分”(“@”之前)中最多 64 个字符(八位字节)和域部分(在“@”),总长度为 320 个字符。处理电子邮件的系统应该准备好处理这么长的地址,即使它们很少遇到。

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

于 2018-04-04T07:27:04.583 回答
19

另一个答案使水有点混浊。 简单的答案:我们控制的电子邮件 256 中共有 254 个字符 用于整个电子邮件地址,其中包括开头的隐含“<”和结尾的“>”。因此,剩下 254 个供我们使用。

于 2018-04-12T20:14:22.743 回答
3

TLDR 答案

给定一个电子邮件地址,例如...

me@example.com

长度限制如下:

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

来源——TLDR;

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

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

来源——历史

SMTP 最初在RFC821中定义了路径是什么,发布于 1982 年 8 月,这是一个官方 Internet 标准(大多数 RFC 只是提议)。引用它...

...一个反向路径,指定邮件来自谁。

...一个转发路径,它指定邮件的收件人。

RFC2821于 2001 年 4 月发布,是已过时的标准,它定义了我们当前的本地部分、域和路径的最大值。2008 年 10 月发布的新标准草案RFC5321保持相同的限制。在这两个日期之间,RFC3696于 2004 年 2 月发布。它错误地将最大电子邮件地址限制引用为320-characters,但此文档仅是“信息性”,并指出:“此备忘录为 Internet 社区提供信息。它确实不指定任何类型的互联网标准。” 所以,我们可以无视。

引用 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 个。

于 2021-02-13T17:21:44.320 回答
-1

可悲的是,所有其他答案都是错误的。他们中的大多数都引用了 RFC 2821 或更高版本,甚至没有定义电子邮件地址。它所做的是定义路径。电子邮件地址由 RFC 2822(或更新版本)定义,并且可以更长。不是有效路径的有效地址示例如下:

(Firstname Lastname) user@domain
Firstname Lastname <user@domain>

这两个都是同一个邮箱,写法不同。因此,如果您的目标是将电子邮件地址存储在数据库中,则 254、256 或 320 个八位字节的限制可能太低,尽管在实践中,这很少会成为问题。

于 2021-05-06T12:22:29.913 回答