2015-10-29 58 views
4

我希望这个问题不是完全偏离主题。SMTP验证

我一直在想SMTP邮件验证。有太多的服务(例如Kickbox.io,Email-Validator.net等)似乎处理SMTP验证,而没有阻止其IP或拒绝SMTP请求。

据我所知,除了使用SMTP“VRFY”命令,并且在目标SMTP服务器确认给定邮件服务器上存在所请求的用户之后,中止连接。我一直在玩一些声称可以这样做的PHP脚本,但我一直被某些邮件服务器拒绝,特别是hotmail(以及所有其他Microsoft邮件服务)似乎很快拒绝“spammy”SMTP要求。

现在,我的问题是:如何像上面提到的那些服务每天处理数千个电子邮件地址并通过他们称之为“SMTP握手”验证它们,并且没有看到类似的问题,如我描述的那些?

感谢您的阅读。

+0

我不会这么做......首先,正如您注意到的,它可能会被视为垃圾邮件或捕获用户数据。其次,不能保证在您检查和实际尝试发送邮件时电子邮件地址保持有效。 – Robert

+0

你找到了这个问题的答案吗? – offline15

+0

为了防止其他人有这个问题(问题是旧的),这里的答案是:为什么许多SMTP服务器将阻止这些类型的命令是因为这正是垃圾邮件发送者所做的,他们喜欢有有效的电子邮件地址,并希望查询SMTP服务器的有效地址。 SMTP服务器不喜欢这个,所以他们大多会阻止这个东西。 – Saskia

回答

0

像Email-Validator.net这样的公司首先分析电子邮件地址,看看它是否在语法上有效,是否合法和有用(如可能不是邮政局长)该域是否有效(有效的DNS记录),是否该地址来自一次性丢失的电子邮件服务,以及其他检查是否可以立即取消其资格的方法。

之后,他们尝试发送电子邮件到该地址,并检查从服务器的SMTP响应代码。我认为这就是你提到的“SMTP握手”的含义。

VRFY不再是一种非常有用的验证方法,因为大多数服务器不希望向垃圾邮件发布者公开其有效地址列表。大多数服务器不支持它,或者他们用251或252响应VRFY命令,表明该查询是合法的,但他们不会给出一个翔实的答案。

他们也可以使用他们与有问题的电子邮件服务提供商(例如Gmail)的经验来评估SMTP响应的含义。例如,某些服务接受所有收件人地址,就好像它们是有效的一样,所以它们不公开哪些是有效的,哪些不是。如果没有或几个收件人有效,服务器可能稍后会丢弃连接,或者甚至接受该电子邮件,但不会传递该邮件。有些服务提供商使用灰名单,这会导致最初拒绝有效地址。验证服务可以从响应,发布的策略或从他们自己的测试中了解服务提供者的行为。

像kickbox.io这样的公司也可能已经与Microsoft Hotmail等服务提供商进行了谈判,以便他们的查询得到履行,并且他们可以验证电子邮件地址。服务提供商可能希望允许合法发件人清理其邮件列表,因为它减少了到其服务器的流量。但是,必须要有一些人相信他们没有向试图获取目录的垃圾邮件发送者提供验证服务。

0

您提到的许多公司发送电子邮件以作为RCPT TO命令的一部分进行验证。如果地址无效,大多数域都会响应此命令并显示错误。没有电子邮件需要实际发送。像Kickbox这样的付费电子邮件验证服务通常将一个备受尊敬的电子邮件发送网络与可以与许多服务器握手的智能缓存结合起来,以实现其结果。