有效电子邮件地址的最大长度是多少?它是由任何标准定义的吗?
当前回答
根据以下文章:
https://www.rfc-editor.org/rfc/rfc3696(第6页第3节)
其中提到:
“有长度限制 电子邮件地址。该限制是最大64个字符(八位字节) 在“本地部分”(@前面),最大长度为255个字符 (八位字节)在域部分(“@”之后),总长度为320 字符。处理电子邮件的系统应该准备好处理 有那么长的地址,尽管很少有 遇到。”
因此,一个电子邮件地址的最大总长度是320个字符 (“本地部分”:64 +“@”:1 +“域部分”:255,总和为320)
其他回答
根据以下文章:
https://www.rfc-editor.org/rfc/rfc3696(第6页第3节)
其中提到:
“有长度限制 电子邮件地址。该限制是最大64个字符(八位字节) 在“本地部分”(@前面),最大长度为255个字符 (八位字节)在域部分(“@”之后),总长度为320 字符。处理电子邮件的系统应该准备好处理 有那么长的地址,尽管很少有 遇到。”
因此,一个电子邮件地址的最大总长度是320个字符 (“本地部分”:64 +“@”:1 +“域部分”:255,总和为320)
为了帮助像我这样困惑的新手,“有效电子邮件地址的最大长度是多少?”的答案是254个字符。
如果您的应用程序使用电子邮件,只需将字段设置为接受254个字符或更少的字符,就可以了。
你可以对电子邮件进行一系列测试,看看它在这里是否有效。http://isemail.info/
RFC (Request for Comments)是互联网工程任务组(IETF)的一种出版物,它将254个字符定义为限制。位于这里- https://www.rfc-editor.org/rfc/rfc5321#section-4.5.3
320
线段是这样的
{64} @ {255}
64 + 1 + 255 = 320
如果你正在验证电子邮件,你也应该阅读这篇文章:我知道如何验证一个电子邮件地址,直到我阅读RFC
邮件地址长度不超过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上找到它们
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。
推荐文章
- 如何在Jenkins中设置发件人地址?
- 用javascript检查输入字符串中是否包含数字
- jQuery添加必要的输入字段
- 什么是最好的Java电子邮件地址验证方法?
- PHPMailer字符编码问题
- 我应该在SQL varchar(长度)中考虑电话的最长的全球电话号码是什么
- Require (vendor/autoload.php):无法打开流
- 用Django创建电子邮件模板
- 在邮件正文中插入换行符
- 使用Javascript函数设置输入值
- 如何检查有效的电子邮件地址?
- Regex邮件验证
- 使用Hibernate Validator进行跨域验证(JSR 303)
- 使用c#通过Gmail SMTP服务器发送邮件
- 如何缩小与已知的最小值和最大值的数字范围