电子邮件地址中显示名称的最大长度是多少

Posted

技术标签:

【中文标题】电子邮件地址中显示名称的最大长度是多少【英文标题】:What is the maximum length of a display name in an email address 【发布时间】:2014-10-09 08:37:03 【问题描述】:

根据问题“What is the maximum length of a valid email address?”,地址的最大长度为 254。但我想知道显示名称的最大长度是多少:

Display Name <my@examplemailaddress.net>

点击此链接https://www.ietf.org/mail-archive/web/ietf-822/current/msg00086.html,大小不受限制,但实际上根据此链接https://www.ietf.org/mail-archive/web/ietf-822/current/msg00088.html,大小将是72 个字符。但我相信这个答案有点过时了?今天的合理限制是多少?

【问题讨论】:

【参考方案1】:

如果您询问规范允许的 最大 长度(规范来源是 RFC5322,截至 current_timestamp)那么确实没有限制,因为折叠允许您拥有任何字段的 unlimted length(同时仍遵守 advised 78 [或更大的 998] 字符限制)。

实际限制是一个非常主观的问题,因为“实际”将是“大多数”客户和环境完全显示的长度;现在这很难计算。

我会说实用性的上限是从电子邮件地址的“发件人:”标题到最后一个“>”字符的总长度为 78 个字符,因为更长的字符可能在几乎所有环境中显示时可能会中断,这将为您提供大约 40 个字符,即使是较长的电子邮件地址也可以使用。

然而,大多数客户可能希望在正常情况下显示大约 20-25 个字符。

这些都是显示的字符,而不是任何方式编码地址的实际字节长度(特别是对于长 utf-8 代码)。

【讨论】:

如果一行不应超过 998 个字符且电子邮件地址的最大长度为 254,则显示名称的建议最大长度可能类似于 998 - 254 - 2 ("" ) - 6 ("发件人:") = 736 ? @Trendfischer 我想建议应该考虑显示名称的可显示性:如果太长,它将永远不会显示:我猜大多数客户端根本无法显示超过分配空间的字符串对于 DN。你写的内容是基于一个相当技术性的限制,但我认为没有实际的原因:它对人类来说太长了(至少 9 行“通常的行”长)并且对机器来说没有必要的限制。你的目的是什么? :-) 四年前我问这个问题时,我不得不为显示名称的数据库字段设置最大大小。然后,我必须根据街道名称和其他信息的位置为系统生成的发件人地址设置其他显示名称。要生成这些显示名称,我必须猜测一个实际限制。所以这两个值都是相关的,恕我直言。

以上是关于电子邮件地址中显示名称的最大长度是多少的主要内容,如果未能解决你的问题,请参考以下文章

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

SQL 电子邮件字段应该多长? [复制]

电子邮件主题长度限制是多少?

有没有办法在 Web.config 文件的 smtp 元素中包含电子邮件地址“显示名称”? [复制]

AWS-SES:如何设置发件人地址的显示名称

电子邮箱怎么样设置,谢谢谢了!