使用SMTP验证验证电子邮件地址是一种好习惯吗?

时间:2014-03-24 17:38:41

标签: smtp email-validation

让我们假设我有一个网站,其中包含一些需要电子邮件验证的功能(例如用户注册)。当然,我将使用正则表达式验证电子邮件,但曾几何时我在其他人的代码中看到了SMTP验证。有哪些好的和坏的方面有SMTP验证?

我可以假设以下优点和缺点:

优点:

  • 我们可以查看一些存在的电子邮件地址(并非所有SMTP服务器都允许此功能)。

缺点:

  • 我们的网站可以是blocked
  • 也许我们可以用它来使网络服务器失效。 Web服务器将获取域名部分的电子邮件地址并向其发出请求。我们可以创建虚假的SMTP服务器来接收请求,但会对响应做出很大的延迟。也许如果我们强迫网络服务器进行数十次此类检查,它将无法回答其他客户。
  • 并非所有SMTP服务器都提供此功能。

请建设性。

2 个答案:

答案 0 :(得分:8)

“SMTP验证”我假设是指SMTP VRFY命令,在这个时代,你会相信它是一个傻瓜。如果您是垃圾邮件发送者,这是一个很棒的功能,因为它允许您枚举给定服务器的电子邮件地址。

没有一个心智正确的人会将此命令暴露给互联网,并让其回复252 send some mail, i'll try my best以外的任何内容,即“我只会在实际邮件交易期间验证电子邮件地址”。

这些天使用VRFY的唯一理智用作垃圾邮件过滤设备与隐藏在其后面的邮件服务器之间的内部接口。

TL; DR 不要使用“SMTP验证”,充其量非常不可靠

如果您要验证用户是否输入了有效的电子邮件地址,请向其发送包含激活链接/代码的电子邮件。

答案 1 :(得分:-1)

除了Sammitch的答案之外,还有通过API提供的电子邮件验证服务,可以提供SMTP验证 - 有时甚至是邮箱级别 - 价格合理。

您可以通过简单的Google搜索找到这些内容,但我告诉LeadSpend和QAS(益百利的子公司)是其中最好的。