【问题标题】:How can I be sure an email address is unique?如何确保电子邮件地址是唯一的?
【发布时间】:2014-04-08 09:22:53
【问题描述】:

我镇上有一家酒吧,如果您使用他们的网站注册他们的时事通讯并提供“唯一”电子邮件地址,您就可以免费获得一杯饮品。一时兴起,我决定使用myemail+one@gmail.com 进行第二次注册。它让我。我现在正坐在一堆漂亮舒适的免费饮料券上。

这让我想到了我们这里的系统,其中电子邮件地址被视为唯一标识符。检查代码,果然,如果我们在业务中提供代金券,其他人会很漂亮。

基本的、隐秘的解决方法是检查“+”字符并忽略它之后的所有内容(直到@),并使用它进行比较。但我不确定这是否是+ 字符的intent。这行得通吗?

其次,是否有任何其他警告允许用户使用看似不同的电子邮件地址进行多次注册,但实际上最终总是在同一个邮箱中?

这个问题与语言无关。

【问题讨论】:

    标签: email email-validation


    【解决方案1】:

    虽然使用加号作为电子邮件地址别名是 gmail 的一项已知功能,但其他邮件程序要么不允许这样做,要么改用减号。 '+' 是根据 RFC 用作电子邮件地址一部分的合法字符。

    '.' 的使用也是一个灰色地带。 john.doe@gmail.com 和 johndoe@gmail.com 也发送到相同的电子邮件地址,看起来不同。

    为了验证电子邮件地址的唯一性,您必须为您的应用程序准备一个规则库,保持最新状态并期待惊喜......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-03
      • 2018-11-21
      • 2018-07-08
      • 1970-01-01
      • 2017-07-23
      • 2014-05-23
      • 2020-03-12
      • 1970-01-01
      相关资源
      最近更新 更多