协慌网

登录 贡献 社区

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

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

答案

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

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

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

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

RFC 5321 中指定的最大长度指出:

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

RFC 3696 已在此处更正。

我现在整理了来自 Cal Henderson,Dave Child,Phil Haack,Doug Lovell 和 RFC 3696 的测试用例。总共 158 个测试地址。

我针对我能找到的所有验证器运行了所有这些测试。比较如下: http//www.dominicsayers.com/isemail

随着人们增强验证器,我会尽量使这个页面保持最新状态。感谢 Cal,Dave 和 Phil 在编写这些测试和对我自己的验证器的建设性批评方面提供的帮助和合作。

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

320

细分看起来像这样

{64} {@ 255}

64 + 1 + 255 = 320

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

http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx

用户

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

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

但是, RFC 2821阅读中存在限制:

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