从历史上看,为什么有关电子邮件地址的RFC变得如此复杂?

And*_*lov 8 email email-address email-validation rfc5322

的RFC 5321,53226531有验证电子邮件地址复杂的规则.他们:

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

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

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

从历史上看,为电子邮件地址创建如此复杂的规则的动机是什么?在对电子邮件的起源维基百科的文章似乎意味着,从20世纪80年代早期的现代化标准旨在覆盖所有旧电子邮件十岁上下的系统用自己特定的标准和语法.

然而,标准,电子邮件提供商和电子邮件最终用户的实施者都对工作系统有既得利益,当规则不太晦涩并且可以轻松地转换为通过有限数量测试的软件时,这更容易实现,那么,为什么我们今天有一个如此复杂的标准,没有人完全使用它?

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

Hit*_*eeb 1

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

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

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