IETF 定义的电子邮件地址的实际最小长度是多少?

Posted

技术标签:

【中文标题】IETF 定义的电子邮件地址的实际最小长度是多少?【英文标题】:What is the actual minimum length of an email address as defined by the IETF? 【发布时间】:2010-11-28 05:38:22 【问题描述】:

我专门寻找前缀和域的最小长度。

我看到了相互矛盾的信息,而且没有任何看起来具有权威性的信息。

作为参考,我发现这个页面声称一个字符的电子邮件地址是有效的:

http://www.cjvandyk.com/blog/Lists/Posts/Post.aspx?ID=176

我尝试在 Gmail 中验证电子邮件地址,他们希望前缀大于或等于 6。

这些显然是遥不可及的。

我的网络框架要求前缀大于或等于 2。

【问题讨论】:

【参考方案1】:

最短的有效电子邮件地址可能仅包含两部分:名称和域。

名称@域

由于名称和域都可能有 1 个字符的长度,因此最小总长度解析为 3 个字符。

【讨论】:

【参考方案2】:

问题确实是问题.. 电子邮件取决于它是通过 Internet 发送,还是在封闭系统(例如 Intranet)内发送。在互联网上,我相信 x@y.zz 是最短的电子邮件地址(例如 google 的 G.CN for china 会导致最短的电子邮件地址,例如 i@g.cn,长度为 6 个字符)。然而在 Intranet 上,这是完全不同的事情,i@y 是可能的,它只有 3 个字符长。

【讨论】:

您可以设置 MX 或 A 来回答***域,这样您就可以拥有 somealias@com。我相信已经做到了。您可以在自己的名称服务器上设置新的***域,仅对您控制的机器可见,从而创建一个单字母***域,至少包含 3 个字母,包括“@”。 鉴于此,我认为有效“互联网”电子邮件地址的正确答案将是最小长度为 4(包括 . 和 @),对于 Intranet,最小长度为 3,包括点。 【参考方案3】:

我相信您正在寻找的标准是RFC 2822 - Internet Message Format

RFC 3696 - Section 3 中有关电子邮件地址限制的更多具体信息

引用规范:

当代电子邮件地址由“本地部分”与“域部分”(完全限定的域名)通过 at 符号 (“@”) 分隔。

所以三个字符是最短的。

我最初是从Phil Haack's blog post 获得此信息的。

【讨论】:

这里说的最小长度在哪里? 它在里面。不仅一个字符有效,而且不必是字母数字! 我同意。大多数标准都是。 @David 引用规范 当代电子邮件地址由一个“本地部分”与一个“域部分”(一个完全限定的域名)通过 at 符号(“@ ")。所以三个字符是最短的。 不是说本地部分不能是0个字符。【参考方案4】:

如果@前没有至少 2 个字符,许多邮件服务器将不接受电子邮件地址。 这不会使其成为无效地址,但如果服务器不知道这一点,肯定会导致很多问题。

【讨论】:

很高兴我找到了这个。我正在测试一个新的电子邮件正则表达式以在开源验证库中使用,我们当前的测试套件失败,新的正则表达式 n@p.fr 但通过 nn@p.fr,所以看起来我获得的这个新的正则表达式断言本地部分必须是两个字符长。我似乎无法找出原因,但一定是这个。那么最好强制执行这个最小长度。

以上是关于IETF 定义的电子邮件地址的实际最小长度是多少?的主要内容,如果未能解决你的问题,请参考以下文章

TCP段头的最小长度是多少?

UDP数据报的最小长度是多少 UDP数据报的

JWT令牌的最大大小是多少?

MAC地址的长度是多少

IPv6绝不仅仅是对IPv4地址长度的增加

设置自动链接的最小长度