你如何规范化PHP中的电子邮件地址?

all*_*ode 2 php email

PHP中是否有可以规范化电子邮件地址的功能?

例如,如果情况不重要,那么FOO@example.com- > foo@example.com.

我不知道电子邮件地址应该被视为"相同"的规则,所以我不想自己实现.

Ala*_*orm 10

维基百科综合了各种RFC如何形成电子邮件地址的说法.

尽管其他人已经说过,但电子邮件可以区分大小写

本地部分区分大小写,因此"jsmith@example.com"和"JSmith@example.com"可能会传递给不同的人.RFC 5321不鼓励这种做法.但是,只有域的权威邮件服务器才能做出该决定.唯一的例外是"postmaster"的本地部分值,它不区分大小写,应该转发给服务器的管理员.

本地部分指的是@符号左侧的地址部分.

因此,就您的具体问题(案例规范化)而言,您可以小写服务器部分(在@的右侧),但是您最好看到合适(由@,strToLower拆分服务器组件,重新组合).

  • +1用于引用RFC.以原始形式存储和使用电子邮件地址; 用小写比较它们 - 因为虽然你不想因为搞砸了本地部分而意外地无法发送某人电子邮件,但你也不允许为JIM@example.com和jim @ example注册两个单独的帐户. COM. (2认同)
  • 我想知道有多少百分比的邮件服务器实际上允许2个用户具有相同的用户名但不同的情况.我的猜测接近于0.所以你考虑了一定数量的邮件服务器,并使用相同的电子邮件让你的系统对多个帐户开放,或者你做了一个立场并关闭那些愚蠢的2个(可能更少)的人使用相同的电子邮件地址创建多个用户?我知道我会做什么. (2认同)