【发布时间】:2011-08-26 13:31:25
【问题描述】:
有没有一种方法可以可靠地从用户输入的电子邮件地址中获取唯一的电子邮件地址?问题是诸如 GMail 之类的服务允许您在地址中添加句点并且它会被删除,而对于其他服务则不是这样。
GMail:
chad.moran@gmail.com
c..hadmoran@gmail.com
c.h.a.d.m.o.r.a.n@gmail.com
这些都是一样的
其他服务:
chad.moran@---.com
c..hadmoran@---.com
这些都是独一无二的。
除了专门为 GMail 设置特殊逻辑之外,还有更好的方法吗?
【问题讨论】:
-
我有几个电子邮件帐户只是转发到我的 gmail 帐户。运行自己的域的人可能会收到来自该域的所有电子邮件。所以基本上不,没有任何方法可以确保给定的电子邮件地址不会与您已经拥有的电子邮件地址在同一个邮箱中。
-
如果您的用户故意给您两个不同的电子邮件地址,您是否应该尊重他们的意愿并发送到两个不同的地址?对我来说,这听起来像是某种确保“每个用户一个帐户”的机制,但最终也会因为许多其他原因而存在缺陷。
-
为什么,确切地说,你认为你需要这个?如果我给你我的电子邮件地址的一种更改形式,那正是我希望你使用的那个。
-
@Chad、chad.moran@gmail.com 和 c.h.a.d.m.o.r.a.n@gmail.com 是唯一的电子邮件地址。根据您的 GMail 设置,它们可能会或可能不会出现在同一个“文件夹”中,但这只是巧合。然后你会有人拥有全能的电子邮件地址(abuse@chadmoran.cx、info@chadmoran.cx 等)。因此,无法通过算法确定每个用户的唯一性。并且“专门针对 GMail 的逻辑”将毫无意义,因为 GMail 可能是您最不担心的(包罗万象等)。 :) 另外,@Cody 说了什么。你在这里做错了。
-
我不是在问这个问题来辩论什么应该是独一无二的,什么不应该是独一无二的。我不是试图将用户数据翻译成我想要的,我是在存储和使用他们逐字提供给我的地址。
标签: c# email email-validation