如何重复删除电子邮件地址

Cha*_*ran 5 c# email email-validation

有没有办法可靠地从用户输入一个唯一的电子邮件地址?问题是诸如GMail之类的服务允许你在地址中放置一个句点并将其删除,而对于其他服务则不是这样.

GMail的:

chad.moran@gmail.com
c..hadmoran@gmail.com
c.h.a.d.m.o.r.a.n@gmail.com
Run Code Online (Sandbox Code Playgroud)

所有这些都是一样的

其他服务:

chad.moran@---.com
c..hadmoran@---.com
Run Code Online (Sandbox Code Playgroud)

这些都是独特的.

除了专门针对GMail的特殊逻辑之外,还有更好的方法吗?

Tom*_*len 5

每个电子邮件服务器都有不同的规则,关于什么是,哪些是不允许的.您指定您不希望每个客户端都有特定的逻辑,因此您必须具有特定的逻辑.

您可以删除所有点,但其他客户端可能会将点分的电子邮件地址视为不同.

我强烈建议不要尝试这样做,因为这将是一个维护噩梦,特别是当其中一个电子邮件服务改变他们的政策时.此外,这种系统的好处很小,用户只会被激励注册一个新的电子邮件地址,这比点击实际的电子邮件地址要困难得多.


mat*_*t b 5

这是不可能的,因为每个单独的电子邮件服务可能选择以@它自己的方式解释电子邮件地址的"本地部分"(之前的部分).chad.moran@gmail.com并且chadmoran@gmail.com可以路由到同一邮箱,但是不同的提供商可以将它们路由到单独的邮箱.

来自维基百科:

解释电子邮件地址的本地部分取决于邮件服务器中实现的约定和策略.例如,区分大小写可以区分仅在本地部分的字符大小写方面不同的邮箱,尽管这不是很常见.