检查电子邮件地址是不是存在
Posted
技术标签:
【中文标题】检查电子邮件地址是不是存在【英文标题】:Checking existence of email address检查电子邮件地址是否存在 【发布时间】:2016-04-06 11:30:41 【问题描述】:我正在开发一个带有聊天支持的 Web 应用程序,到目前为止,我一直在使用 JQuery 验证来检查输入文本是否是格式正确的电子邮件地址。
但这似乎并没有达到目的。
例如:
-
输入有效且合法的电子邮件地址,例如
myname@gmail.com
输入虚假/随机电子邮件地址,例如 abcd@something.com
两者都被视为有效。
那么有没有办法通过使用 php(或任何其他)而不向用户发送click-to-confirm
电子邮件来检测指定的电子邮件地址在现实生活中是否存在?
我尝试了other question 中讨论的 SMTP 方法,但不幸的是,服务器对所有电子邮件地址都返回了错误,甚至是合法的。我认为他们出于安全目的阻止了枚举。
任何帮助将不胜感激。 :)
【问题讨论】:
How to check if an email address exists without sending an email?的可能重复 superuser.com/a/224020 如果有一种可靠的方法可以让任何人检查电子邮件地址是否存在,那确实会让垃圾邮件发送者的生活变得非常轻松。相反,问问自己为什么拥有一封有效的电子邮件如此重要,以及解决该特定需求的方法。 【参考方案1】:不,如果不发送实际电子邮件,就无法可靠地检查电子邮件地址是否确实存在。您可以自己做的就是检查电子邮件地址的语法并检查域名是否存在。
检查电子邮件地址语法:
filter_var($email, FILTER_VALIDATE_EMAIL)
检查 A 和 MX 记录:
checkdnsrr($domain,"MX") || checkdnsrr($domain,"A")
下一步是发送带有确认 URL 或确认代码的实际电子邮件。
【讨论】:
是的,到目前为止,我一直在发送 confirmation URL 类型的电子邮件,但用户似乎不太喜欢它,因为每次他们都需要启动一个聊天,他们需要等待邮件,并验证,这有点不方便。 @SnazzySanoj 是的,这很不方便,但没有真正的解决方法。此外,每个用户对每个唯一的电子邮件地址只应执行一次此操作。以上是关于检查电子邮件地址是不是存在的主要内容,如果未能解决你的问题,请参考以下文章