9

RFC 5321、53226531具有用于验证电子邮件地址的复杂规则。他们:

  • 允许在电子邮件地址中创建评论
  • 为符号提供复杂的限制规则:"() ,:;<>@[\]
  • postmasterlocalpart 视为不区分大小写,但将所有其他视为区分大小写
  • 允许电子邮件地址组

由于这些复杂的规则,仅使用正则表达式无法执行根据 RFC 测试给定字符串是否是语法上有效的电子邮件地址。

显然,其中许多规则不受主要电子邮件提供商的支持。

从历史上看,为电子邮件地址创建如此复杂的规则的动机是什么?关于电子邮件起源的Wikipedia 文章似乎暗示 1980 年代初期的现代标准旨在涵盖所有具有特定标准和语法的遗留电子邮件系统。

然而,标准的实施者、电子邮件提供商和电子邮件最终用户都对一个工作系统有既得利益,当规则不是太神秘时更容易实现,并且可以很容易地投入到通过有限数量测试的软件中,那么为什么我们今天有一个如此复杂的标准,却没有人充分使用它?

从历史上看,XML 在很大程度上已被 JSON 取代,JSON 的成功部分归功于其语法的简单性。

4

1 回答 1

1

查看提供的电子邮件地址是否真实的唯一可靠方法是向其发送电子邮件并查看用户是否收到它。可以对地址执行的一项有用检查是检查电子邮件地址在语法上是否有效。这就是这个模块的作用。

发送邮件的系统必须能够处理所有有效地址的外发邮件。与相关标准相反,一些有缺陷的系统将某些合法地址视为无效地址,并且无法处理发往这些地址的邮件。例如,Hotmail 拒绝向任何包含以下标准允许字符的地址发送邮件:!#$%*/?^`{|}~

只是不同级别的标准,其中一些非常严格,因此很复杂。

于 2012-03-30T21:21:11.127 回答