有效的电子邮件地址 [重复]

Posted

技术标签:

【中文标题】有效的电子邮件地址 [重复]【英文标题】:Valid email address [duplicate] 【发布时间】:2015-11-19 20:25:23 【问题描述】:

在 Facebook 关闭“公共帖子搜索”之前,我曾经运行一个允许此功能的网站。现在正在建立一个新站点并有一个登录页面,允许访问者(旧的或新的)注册以在新站点启动并运行时收到通知。这是通过电子邮件完成的。不幸的是,我遇到了一些人输入非电子邮件地址的问题,因此使用 php 函数解决了问题,但是最近我开始遭受明显无效的电子邮件地址的困扰,例如 'foo@bar.com' 等...

是否有推荐的 PHP 函数来检查电子邮件地址是否完全有效?如果没有,是否有免费的服务,它有一个 API 可以用来检查地址是否有效?

【问题讨论】:

foo@bar.com“显然无效”如何?对我来说它看起来完全有效。 “有效”是一个相对状态。也许对您来说,“有效电子邮件”是指收件箱由人阅读的电子邮件?为此,您需要使用验证步骤,邮件阅读者将单击电子邮件中的链接以验证他可以阅读它的事实 更多关于“有效”电子邮件地址的信息:haacked.com/archive/2007/08/21/… 基本上我让某人输入了 1234 就是这样,我当然不会透露 @ 域名是什么等,但那只是输入的一个,另一个是 fgsfgsfgsfgs,第三个是 f ***你一开始​​。这些是我不想使用虚假电子邮件地址加载我的注册数据库的白痴类型。 谁说 1234 @any domain 不是有效地址?? 【参考方案1】:

了解电子邮件地址是否有效的唯一可靠方法是尝试向该地址发送电子邮件并检查硬退回或软退回。

您可以验证电子邮件地址的格式是否满足格式检查,因此可能有效。 foo@bar.com 将通过该检查。

在互联网的古老时代(90 年代),许多 SMTP 服务器允许人们在不发送电子邮件的情况下查询“此电子邮件地址是否有效”。垃圾邮件发送者滥用它来验证垃圾邮件列表,因此几乎每个 SMTP 服务器都禁用了该部分协议。

【讨论】:

以上是关于有效的电子邮件地址 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何为无效的电子邮件地址编写基本检查[重复]

Laravel 验证 - 检查有效的重复电子邮件

电子邮件地址中可以有撇号吗? [复制]

如何在 Laravel 中验证电子邮件地址是不是是有效的 PayPal 电子邮件地址

电子邮件地址验证。这有效吗?

使用jquery提交后清除表单[重复]