php – 如何检查电子邮件地址是否存在而不发送电子邮件?

我遇到了这个PHP code to check email address using SMTP without sending an email

有没有人尝试过类似的东西或者它为你工作?您能否知道电子邮件客户/用户输入是否正确?存在?

有两种方法有时可以用来确定收件人是否实际存在:

>您可以连接到服务器,并发出VRFY命令。很少服务器支持这个命令,但它正是为此。如果服务器以2.0.0 DSN响应,则该用户存在。

VRFY用户
>您可以发出RCPT,并查看邮件是否被拒绝。

MAIL FROM:<>

RCPT TO:< user @ domain>

如果用户不存在,您将获得5.1.1 DSN。但是,只是因为电子邮件不被拒绝,并不意味着用户存在。某些服务器将静默地丢弃这样的请求,以防止枚举其用户。其他服务器不能验证用户,并且不得不接受消息。

还有一种称为灰名单的反垃圾邮件技术,这将导致服务器最初拒绝地址,期望一个真正的SMTP服务器将尝试重新传送一段时间后。这将扰乱验证地址的尝试。

老实说,如果你试图验证一个地址,最好的办法是使用一个简单的正则表达式来阻止明显无效的地址,然后发送一个实际的电子邮件回传到你的系统,将验证收到的电子邮件。这也确保他们用户输入他们的实际电子邮件,而不是一个轻微的错字恰好属于别人。

http://stackoverflow.com/questions/565504/how-to-check-if-an-email-address-exists-without-sending-an-email

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:php – 如何检查电子邮件地址是否存在而不发送电子邮件?