有效电子邮件地址的最大长度是多少?它是由任何标准定义的吗?
当前回答
邮件地址长度不超过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上找到它们
其他回答
根据以下文章:
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
其他的回答把水搅浑了一点。 简单的回答:我们控制的电子邮件的总字符为254个 256个代表整个电子邮件地址,其中包括开头隐含的“<”和结尾的“>”。因此,剩下254个供我们使用。
不幸的是,其他答案都是错的。大多数人引用了RFC 2821或更新的版本,该版本甚至没有定义电子邮件地址。它所做的就是定义路径。电子邮件地址由RFC 2822(或更新的版本)定义,可以更长。有效地址不是有效路径的例子有:
(Firstname Lastname) user@domain
Firstname Lastname <user@domain>
这两个都是相同的邮箱,但写得不同。因此,如果您的目标是在数据库中存储电子邮件地址,254、256或320个字节的限制可能太低了,尽管在实践中,这很少会成为问题。
用户 用户名的总长度不能超过64个字符。 域 域部分(@后面的部分)最多255个字符
然而,在RFC 2821中有一个限制:
反向路径和正向路径的总长度最大为256 字符,包括标点符号和元素分隔符”。自 不符合这些字段的地址通常是没有用的 地址长度的上限通常被认为是 path = " < " [a -d-l ": "]邮箱" > " 中至少包含一对尖括号 添加到邮箱,将电子邮件地址限制为254 字符。
推荐文章
- 如何在Jenkins中设置发件人地址?
- 用javascript检查输入字符串中是否包含数字
- jQuery添加必要的输入字段
- 什么是最好的Java电子邮件地址验证方法?
- PHPMailer字符编码问题
- 我应该在SQL varchar(长度)中考虑电话的最长的全球电话号码是什么
- Require (vendor/autoload.php):无法打开流
- 用Django创建电子邮件模板
- 在邮件正文中插入换行符
- 使用Javascript函数设置输入值
- 如何检查有效的电子邮件地址?
- Regex邮件验证
- 使用Hibernate Validator进行跨域验证(JSR 303)
- 使用c#通过Gmail SMTP服务器发送邮件
- 如何缩小与已知的最小值和最大值的数字范围