如何在不发送电子邮件的情况下检查电子邮件地址是否存在?
我碰到过此PHP代码,无需发送电子邮件即可使用SMTP检查电子邮件地址。
有没有人尝试过类似的方法或对您有用?您能告诉客户/用户输入的电子邮件是否正确并且存在吗?
回答:
有时 可以使用两种方法来确定收件人是否确实存在:
您可以连接到服务器,然后发出
VRFY
命令。很少有服务器支持此命令,但正是为此目的而设计的。如果服务器以2.0.0 DSN响应,则该用户存在。VRFY user
您可以发出
RCPT
,然后查看邮件是否被拒绝。MAIL FROM:<>
RCPT TO:user@domain
如果该用户不存在,您将获得5.1.1
DSN。但是,仅因为未拒绝电子邮件并不意味着该用户存在。某些服务器会像这样静默丢弃请求,以防止枚举其用户。其他服务器无法验证用户,并且无论如何都必须接受消息。
还有一种称为灰名单的反垃圾邮件技术,该技术将导致服务器最初拒绝该地址,并期望真正的SMTP服务器将在一段时间后尝试重新发送。这会弄乱验证地址的尝试。
老实说,如果您尝试验证地址,最好的方法是使用简单的正则表达式来阻止明显无效的地址,然后将实际的电子邮件及其链接发送回系统,以验证是否已接收到该电子邮件。这还可以确保他们的用户输入了他们的实际电子邮件,而不是碰巧属于其他人的轻微错字。
以上是 如何在不发送电子邮件的情况下检查电子邮件地址是否存在? 的全部内容, 来源链接: utcz.com/qa/424336.html