3 回答
TA贡献1765条经验 获得超5个赞
如果没有向该帐户发送电子邮件,您无法验证电子邮件是否确实存在。但你可以验证它至少格式化为一个
if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
//Email is valid
}
如果需要,您可以添加另一个检查。解析域,然后运行checkdnsrr
if(checkdnsrr($domain)) {
// Domain at least has an MX record, necessary to receive email
}
由于人们不断低估这一点,如果您受到约束并决定验证电子邮件,请注意以下注意事项:
垃圾邮件发送者也会做连接技巧,所以不要假设所有服务器都会以相同的方式响应。另一个答案链接到这个有这个警告的库
某些邮件服务器将默默拒绝测试邮件,以防止垃圾邮件发送者检查其用户的电子邮件并过滤有效的电子邮件,因此此功能可能无法与所有邮件服务器一起正常工作。
因此,如果地址无效,您可能无法获得无效的地址响应。最热门的答案没有提到这一点。
垃圾邮件列表。是的,你可以尝试这样做被列入黑名单(记得我说垃圾邮件发送者也知道这些技巧)。他们按IP地址列入黑名单,如果您的服务器不断进行验证连接,则可能会在Spamhaus或其他阻止列表中清盘。如果您被列入黑名单,那么验证电子邮件地址有什么用呢?
如果验证电子邮件地址非常重要,则接受的方法是强制用户回复电子邮件。向他们发送完整的电子邮件,其中包含他们必须单击以进行验证的链接。这不是垃圾邮件,你仍然可以验证它是否有效。
- 3 回答
- 0 关注
- 1267 浏览
添加回答
举报