在PHP中检查有效且正在使用的电子邮件地址

时间:2010-03-25 09:59:03

标签: php sendmail email-verification

我不确定这是否完全可能,但我想我会把它扔出去。

我有一个客户通过我为他开发的网站上的联系表格从他认识的人那里得到一些仇恨邮件。目前我正常检查有效格式的电子邮件地址以及Captcha,但客户已要求用户在表单中输入他/她自己的电子邮件地址。

现在我意识到像这样的东西可能很容易通过设置一个虚假的雅虎帐户来欺骗,但客户的想法是这个人不是那个电脑知识。

是否有可能检查电子邮件地址是否有效且正在使用中? 我能想到的唯一其他事情是将他的联系表格变成mailto:link。

3 个答案:

答案 0 :(得分:7)

确认正在使用的电子邮件地址的唯一方法是使用唯一令牌向其发送电子邮件,并让他们将令牌传回给您(通常通过单击链接)。这通常是邮件列表注册的工作方式。

在SMTP协议中有理论上可以说明的方法,但是由于垃圾邮件发送者滥用它们的问题,许多(甚至可能是大多数)服务器都不尊重这些服务器。

答案 1 :(得分:0)

虽然它可能无效,但我发现Akismet(http://akismet.com/)相当擅长阻止表单和评论中的垃圾邮件和不需要的电子邮件。

如果失败并且问题只有一个人,你可以通过IP列出黑名单,甚至可以通过浏览器指纹(http://www.h-online.com/security/news/item/EFF-demonstrates-a-browser-s-finger-print-918786.html)进行黑名单。最终,如果他们是专职的,就不可能阻止某人。

答案 2 :(得分:0)

如果邮件中包含一些常用的滥用词或滥用者的IP地址,为什么不发送此电子邮件?