验证电子邮件地址是否有效

时间:2014-04-21 12:05:03

标签: php email email-verification

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

2 个答案:

答案 0 :(得分:0)

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

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

在发送此类链接之前,您应该通过某个电子邮件验证方查看电子邮件,以证明该电子邮件符合电子邮件地址的形式。

答案 1 :(得分:0)

没有100%可靠的方法来检查电子邮件地址的有效性。但是,你可以采取一些措施来至少清除明显无效的地址。

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

<强> 1。检查地址格式是否正确

检查电子邮件地址的格式非常困难,但PHP有一个尝试执行此操作的验证过滤器。过滤器无法处理comments and folding whitespace,但我怀疑有人会注意到。

<强> 2。检查域名的DNS记录是否存在

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

第3。将验证邮件发送到地址

这是查看某人是否位于电子邮件地址另一端的最有效方式。如果没有按顺序回复确认电子邮件 - 例如3小时 - 那么地址可能存在一些问题。