有没有办法检查电子邮件是否使用PHP进行EXIST?

时间:2009-05-15 03:17:08

标签: php email spam

我最近收到越来越多的垃圾邮件。我已经使用正则表达式验证我的电子邮件,所有电子邮件必须是这样的:xxx@xxxx.xxx

但我现在遇到的问题是,有很多垃圾邮件发送者,输入hsdjsdhgf @ gmail.com,iluvhahahahah @ yahoo.com,这些电子邮件不存在,因为我试图向他们发送电子邮件。

如何避免这些电子邮件?

3 个答案:

答案 0 :(得分:5)

你正在咆哮错误的树。阻止垃圾邮件的更好方法是从表单中以其他方式过滤掉垃圾邮件。如果您不喜欢reCAPTCHA之类的CAPTCHA,您应该查看所谓的"Honeypots"。基本上,在表单中添加一个额外的字段,其名称为“email”,并使用CSS隐藏它。对于禁用样式浏览的任何人,请将其标记为“留空”。如果该字段中包含值,则很可能是机器人,因此请将提交输出。瞧。它们对于普通的中型网站非常有用,垃圾邮件发送者并不真正关心这些网站。查看this related question

考虑到所有因素,我喜欢蜜罐,因为它通常足以阻止99%的垃圾邮件,而不会让普通用户做任何事情。这很重要。

快速回答原始问题:验证电子邮件有效的唯一方法是实际向该地址发送电子邮件,看看是否有反弹。然而,这通常不值得麻烦。

答案 1 :(得分:0)

如果他们正在注册时事通讯或某些内容,您会多次向他们发送电子邮件,我希望向他们发送确认电子邮件,他们必须点击链接以验证它是真实的电子邮件。如果几天后他们没有确认,那么你知道你可以删除它。如果他们确认,那么你知道这是一个真实的人。当您第一次给他们发送电子邮件时,您仍会获得反弹,但这样可以消除重复发生的反弹。

我也喜欢CAPTCHA或者如果你想要更简单的东西要求他们输入你网站标题的第一个字母(或者其他一些在页面上总是保持不变的单词),它适用于中小型网站但大多是有效的。

答案 2 :(得分:0)

简答:

使用验证码。

答案很长:

好吧,你可以进行MX查找,在那里你找到负责为他们的给定域发送电子邮件的服务器,然后查询邮件服务器以查看该地址是否有效。在完美的世界中,这将是验证电子邮件地址的理想方式。

不幸的是,作为一项反垃圾邮件措施,如今大多数邮件服务器都会以所有肯定或所有否定的方式回复此类查询。

这让我们真正只有一个实用的解决方案:CAPTCHAs。