我最近收到越来越多的垃圾邮件。我已经使用正则表达式验证了我的电子邮件,所有的电子邮件都必须是这样的:xxx@xxxx.xxx
但我现在的问题是,有很多垃圾邮件发送者,输入 hsdjsdhgf@gmail.com,iluvhahahahah@yahoo.com,这些电子邮件不存在,因为我试图向他们发送电子邮件。
如何避免那些电子邮件?
你找错树了。阻止垃圾邮件的更好方法是通过其他方式从表单中过滤掉它们。如果您不是像reCAPTCHA这样的 CAPTCHA 的粉丝,您应该研究一下所谓的“蜜罐”。本质上,使用“电子邮件”等通用名称向表单添加一个额外的字段,并使用 CSS 将其隐藏。对于禁用样式浏览的任何人,将其标记为“留空”。如果该字段中有一个值,它很可能是一个机器人,所以扔掉提交。瞧。它们非常适用于垃圾邮件发送者并不真正关心的普通中型网站。看看这个相关的问题。
综合考虑,我喜欢蜜罐,因为它通常足以阻止 99% 的垃圾邮件,同时又不会让普通用户不得不做任何事情。这个很重要。
快速回答您最初的问题:验证电子邮件有效的唯一方法是实际向该地址发送一封电子邮件,看看它是否被退回。然而,这通常不值得麻烦。
如果他们正在注册时事通讯或您将多次通过电子邮件发送给他们的东西,我想向他们发送确认电子邮件,他们必须单击链接以验证它是真实的电子邮件。如果几天后他们不确认,那么您知道可以删除它。如果他们确实确认了,那么您就知道这是一个真实的人。当您第一次向他们发送电子邮件时,您仍然会收到退回邮件,但它会消除重复发生的退回邮件。
我也喜欢验证码,或者如果您想要更简单的内容,请让他们输入您网站标题的第一个字母(或其他在页面上始终保持不变的单词),它适用于中小型网站,但主要是有效的。
简短的回答:
使用验证码。
长答案:
好吧,您可以进行 MX 查找,在其中找到负责为其给定域发送电子邮件的服务器,然后查询邮件服务器以查看地址是否有效。在理想情况下,这将是验证电子邮件地址的理想方式。
不幸的是,作为一种反垃圾邮件措施,如今大多数邮件服务器都会以全部肯定或全部否定来响应此类查询。
这给我们留下了一个非常实用的解决方案:验证码。