如何对每个电子邮件地址执行深层次的SMTP验证,将验证每个电子邮件地址的邮箱是否存在而不在 PHP 中发送该地址的实际电子邮件?
假设我有5个电子邮件地址
abc@gmail.com
def@gmail.com (fake)
ghi@gmail.com
jkl@gmail.com (fake)
mno@gmail.com
从上面的列表中,我有2个假/垃圾邮件ID,我想通过真实和假冒/垃圾邮件过滤电子邮件ID而不发送电子邮件?
答案 0 :(得分:0)
您应该查看SMTP。
这意味着您必须连接到该电子邮件的SMTP服务器。
连接到SMTP服务器后,您应该发送以下命令:
HELO somehostname.com MAIL FROM:RCPT TO: 如果你得到 ”: 中继访问被拒绝“这意味着此电子邮件无效。
有一个简单的PHP类。你可以使用它:
http://www.phpclasses.org/package/6650-PHP-Check-if-an-e-mail-is-valid-using-SMTP.html
......但不建议:
这在技术上是正确的,但实际上是不可取的:ISP(特别是 雅虎和Hotmail)知道这一点,他们将阻止交付 如果你这么做的话,你(甚至是存在的地址)。简而言之, 不要这样做。
如果您想要验证电子邮件地址,最好的选择是发送电子邮件,然后监控任何反弹 - 我自己使用AWS SES,它会回复发送是否成功。您可以找到AWS PHP SDK here。
如果您想使用AWS SES,请注意您需要经过审批流程,直到他们允许您向任何人发送电子邮件。