验证电子邮件地址是否处于活动状态


Verify if an email address is active

我试图通过smtp服务器检查电子邮件地址是否存在并且是否有效,但我得到了尽可能准确的答案。

证明电子邮件有效的唯一方法是在注册过程后进行电子邮件确认。您应该向新订阅/注册的用户发送一个链接,其中包含有关其电子邮件确认的参数。

例如:带有电子邮件的新用户aaa@bbb.ccc已注册,他的电子邮件保存到id为的数据库中"as23kja45"。你应该给他发一封电子邮件,链接yoursite.com/confirmation.php?id=as23kja45。点击此链接后,您将读取param值中的id,检查数据库是否存在,如果为true=>您有活动的电子邮件地址

在发送这样的链接之前,你应该通过一些电子邮件验证器来检查电子邮件,以证明电子邮件符合电子邮件地址的形式。

没有100%可靠的方法来检查电子邮件地址的有效性。不过,你可以做一些事情来至少清除明显无效的地址。

电子邮件地址出现的问题实际上与蜗牛邮件非常相似。以下三点也可以用于发送蜗牛邮件(只需更改带有物理地址的DNS记录)。

1.检查地址格式是否正确

检查电子邮件地址的格式非常困难,但PHP有一个验证过滤器来尝试这样做。该过滤器不处理注释和折叠空白,但我怀疑有人会注意到。

2.检查域名的DNS记录是否存在

如果DNS(域名系统)记录存在,那么至少有人设置了它。这并不意味着该地址有电子邮件服务器,但如果该地址存在,则更有可能存在。

3.向地址发送验证电子邮件

这是查看某人是否在电子邮件地址的另一端的最有效方法。如果确认电子邮件没有得到有序的回复——例如3个小时——那么地址可能有问题。