当前位置:  开发笔记 > 后端 > 正文

所有电子邮件提供商都会忽略@前面的时段吗?

如何解决《所有电子邮件提供商都会忽略@前面的时段吗?》经验,为你挑选了2个好方法。

我知道gmail允许用户在@符号之前的电子邮件地址中插入他/她想要的多个句点.Gmail还允许用户附加如下电子邮件地址:userName+anyStringHere@gmail.com.所有这些"不同"的电子邮件地址基本上都是相同的地址.(链接到描述这些"功能"的谷歌博客)

我想阻止用户使用基本相同的电子邮件地址创建多个帐户.我决定将电子邮件地址存储在我的数据库中,包括那些句号和随后的任何内容,包括+唱片,但现在我想知道:忽略电子邮件提供商主要关注的@符号前面的句点是否是标准?



1> Pascal Bello..:

这实际上是特定于gmail,但这也适用于域的谷歌应用程序,所以你只能为@ gmail.com这样做

我不会这样做,这只是疏远你的诚实用户,而不是阻止任何人决定创建多个帐户.



2> Ravinder Pay..:

在过去的几天里,我遇到了同样的问题.在网上研究并检查了一些事情后,我发现:

DOTS MATTER IN:Microsoft Outlook,Yahoo Mail,Apple iCloud ID

点不重要:Gmail,Facebook ID

禁止严厉禁止:推特

资料来源:关于Slate的文章

我得出结论,大多数用户使用微软,谷歌或雅虎提供的服务.所以我可以像这样使用特定于应用程序的正则表达式.

var eml_exp = /^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@(gmail.com)$/i;
if(eml_exp.test("email@addrss"))
//if it's a gmail address, then remove periods from local part and also anything
// after `+` sign . Then compare the address in your existing user table,
// if you find it unique or unused then let the user to register.

您也可以阅读其他已知服务的手册并根据它们实施.

"不要忘记开源你的工作:p"

更新

根据这个SO问题在电子邮件中添加+文本@之前,您可以阻止使用+符号来解决您的整个问题,我的问题将得到解决.


**请不要这样做**,我个人使用gmail的`+`功能来标记从第三方发送的电子邮件,并检测哪一个是不诚实的并且销售(或只是"丢失")他们的客户电子邮件,或者只是他们自己捣乱.我认为没有任何理由限制客户可以使用的电子邮件地址,也不能用于您的服务.
@EmileBergeron如果开发人员足够聪明,可以排除+ DoITrustThisSite,那么他们就足够聪明,可以将其从电子邮件中解析出来,并且无论如何都要将地址卖掉.
推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有