Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 有效电子邮件地址的最大长度是多少?_Validation_Email_Max_Email Address - Fatal编程技术网

Validation 有效电子邮件地址的最大长度是多少?

Validation 有效电子邮件地址的最大长度是多少?,validation,email,max,email-address,Validation,Email,Max,Email Address,有效电子邮件地址的最大长度是多少?它是否由任何标准定义?320 这些片段看起来像这样 {64}@{255} 64+1+255=320 如果您正在验证电子邮件,您也应该阅读此内容 电子邮件地址不得超过254个字符 IETF随后接受了这一点。任何给定地址的完整诊断都可用。RFC 3696的原始版本将320描述为最大长度,但John Klesin随后接受了错误的值,因为路径定义为 Path = "<" [ A-d-l ":" ] Mailbox ">" Path=“” 因此,邮箱元素(

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

320

这些片段看起来像这样

{64}@{255}

64+1+255=320

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


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

IETF随后接受了这一点。任何给定地址的完整诊断都可用。RFC 3696的原始版本将320描述为最大长度,但John Klesin随后接受了错误的值,因为路径定义为

Path = "<" [ A-d-l ":" ] Mailbox ">"
Path=“”
因此,邮箱元素(即电子邮件地址)周围有尖括号以形成路径,该路径的最大长度为254个字符,以将路径长度限制为256个字符或更少

在以下状态中指定的最大长度:

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

修正了RFC 3696

人们尤其应该意识到这一点。其中三个规范示例实际上是无效地址

我整理了几百个测试地址,你可以在

用户

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

域部分中最多255个字符(在“@”之后的字符)

但是,阅读有一个限制:

反向路径或正向路径的最大总长度为256 字符,包括标点符号和元素分隔符”。自从 不适合这些字段的地址通常不有用 地址长度的上限通常应视为 256,但路径定义为:path=“” 正向路径中至少包含一对尖括号 添加到邮箱,将电子邮件地址限制为254 人物


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

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

你可以在一封电子邮件上运行一系列测试,看看它在这里是否有效


RFC或征求意见是由互联网工程任务组(IETF)发布的一种出版物,定义254个字符作为限制。位于此处-

根据以下文章:

(第6页)

上面提到:

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

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

另一个回答让水有点浑浊。 简单回答:我们控制的电子邮件总字符数为254个 256表示整个电子邮件地址,结尾包含隐含的“”。因此,剩下254个供我们使用

TLDR答案 给你一个像

me@example.com
长度限制如下:

  • 整个电子邮件地址(又名:“路径”):即。,me@example.com-->code>256个字符的最大值
  • 本地部分:即me--
    64
    字符最大值
  • 域:即example.com--
    254
    最大字符数
来源 SMTP最初定义了路径所在的位置,于1982年8月发布,即(大多数RFC仅为提案)。引用它

…反向路径,指定邮件的发件人

…转发路径,用于指定邮件的收件人

,发布于2001年4月,是一个过时的标准,它定义了本地部件、域和路径的当前最大值。2008年10月发布的新标准草案保持了相同的限制。在这两个日期之间,于2004年2月出版。它错误地引用了最大电子邮件地址限制为
320
-个字符,但本文档仅为“信息性”文档,并声明:“本备忘录为互联网社区提供信息。它没有指定任何类型的互联网标准。”因此,我们可以忽略它

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

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

(姓)user@domain 姓user@domain

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

但是根据