我试图通过smtp服务器检查电子邮件地址是否存在并且是否有效,但我得到了尽可能准确的答案。
证明电子邮件有效的唯一方法是在注册过程后进行电子邮件确认。您应该向新订阅/注册的用户发送一个链接,其中包含有关其电子邮件确认的参数。
例如:带有电子邮件的新用户aaa@bbb.ccc已注册,他的电子邮件保存到id为的数据库中"as23kja45"。你应该给他发一封电子邮件,链接yoursite.com/confirmation.php?id=as23kja45。点击此链接后,您将读取param值中的id,检查数据库是否存在,如果为true=>您有活动的电子邮件地址
在发送这样的链接之前,你应该通过一些电子邮件验证器来检查电子邮件,以证明电子邮件符合电子邮件地址的形式。
没有100%可靠的方法来检查电子邮件地址的有效性。不过,你可以做一些事情来至少清除明显无效的地址。
电子邮件地址出现的问题实际上与蜗牛邮件非常相似。以下三点也可以用于发送蜗牛邮件(只需更改带有物理地址的DNS记录)。
1.检查地址格式是否正确
检查电子邮件地址的格式非常困难,但PHP有一个验证过滤器来尝试这样做。该过滤器不处理注释和折叠空白,但我怀疑有人会注意到。
2.检查域名的DNS记录是否存在
如果DNS(域名系统)记录存在,那么至少有人设置了它。这并不意味着该地址有电子邮件服务器,但如果该地址存在,则更有可能存在。
3.向地址发送验证电子邮件
这是查看某人是否在电子邮件地址的另一端的最有效方法。如果确认电子邮件没有得到有序的回复——例如3个小时——那么地址可能有问题。