应该在电子邮件地址中使用大写字母吗?

官方的RFC文件声明我们可以在域的“本地”部分使用大写和小写字母(加上其他许多疯狂的东西)。

然而,现实世界中常见的东西 - 规范所说的是两个不同的东西。 这些额外的字符( ! # $ % & ' * / = ? ^ { | } ~ )不允许来自大型提供商(例如yahoo,google或hotmail)的电子邮件。 此外,查看包含大写字母的电子邮件(JohnDoe@example.com)非常非常罕见。

今天我发送了几封电子邮件,使用不同的大小写组合,发现我的电子邮件服务器都将它们视为同一个帐户,而忽略了信封的不同。 换句话说,JohnDoe@example.com = johndoe@example.com到我的电子邮件服务器(包括我的免费电子邮件帐户)。

我应该采取世界选择的格式吗 - 并且将所有ANSII电子邮件标准化/小写? 或者我应该允许用户注册多个帐户为JohnDoe@example.com,johndoe@example.com和JOHNdoe@example.com?


或许,正确的折衷办法是让他们注册他们选择的大写字母,并在适当的地方显示(“JOHNdoe@example.com收件箱”)。 但是,您应该规定大写字母的唯一性检查,因为有许多行为不端的电子邮件发件人,例如在发送之前大写整个电子邮件地址。


这个标准的原因是非Unix系统能以最小的麻烦参与到ARPAnet和后来的互联网中。 (VMS和Tenex在前者中很常见,而BITNET也有代表性,后者至少需要小写字符3278或升级3270终端。)现在,最好忽略localpart中的情况,因为每个人都已经知道如何使用小写字母。


在Microsoft SQL Server中,默认情况下,索引不区分大小写。

如果您在该字段中添加唯一索引,则用户可以拥有一个适合阅读器的CamelCase名称,如JohnDoe@acme.org,而像johndoe@ACME.org这样的副本将自动被拒绝。

链接地址: http://www.djcxy.com/p/92871.html

上一篇: Should uppercase letters be allowed in email addresses?

下一篇: Safe markup for HTML email