如何检查电子邮件地址是否存在?

tin*_*tes 27 email

我正在尝试检查 2,000 个电子邮件地址以查看它们是否存在。有没有办法在不向每个地址发送电子邮件的情况下检查电子邮件地址是否有效?

我找到了一个在线服务Email Unlimited,但在购买完整版之前它只检查了 20 个电子邮件地址。

Arj*_*jan 39

只是为了完整起见:某些SMTP 服务器确实会指示电子邮件地址是否存在。遵循另一个答案中的完整示例:

telnet gmail-smtp-in.l.google.com 25

helo example.com
mail from: <me@example.com>
rcpt to: <somenonexistinguser@gmail.com>
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1 http://mail.google.com/support/bin/answer.py?answer=6596

成功后,在不能或不想判断地址是否有效的服务器上,最后一个命令将产生:

250 2.1.5 OK

然后可以简单地调用quit而根本不发送任何电子邮件。尽管如此,在尝试多个地址时,这也可能会阻止您。

(Gmail 不支持该vrfy命令。在网站上,注册新的 Gmail 帐户时也有一个“检查可用性”按钮。这也可以为您提供一些信息,但旧地址将在一段时间内不可用。)

  • 并非所有服务器都对丢失的帐户响应“不存在”错误,因此这并不完全可靠。如果服务器是许多其他服务器的代理(和/或外部辅助服务器),则它可能不知道下一跳上哪些帐户有效,因此将为任何内容提供“250 OK”,并且某些服务器以这种方式设置阻止垃圾邮件发送者试图枚举有效帐户。对我们的一些客户端邮件服务器的快速测试显示,我尝试的 5 个中的 1 个没有为不存在的帐户提供 5xx 响应。 (2认同)

Tor*_*uun 24

如果这是可能的,全世界的垃圾邮件发送者都会高兴地歌唱。

抱歉,不,不可能知道任何给定的电子邮件地址是否存在。

在我看来,这是一个功能!

  • 如果你认识你的通讯员,那么你就会知道他们的联系方式。
  • 如果你不认识你的通讯员,那么你就是一个陌生人,他们不会喜欢从你那里收到未经请求的邮件。
  • 如果你以前认识你的通讯员,但他们没有让你知道他们的地址变化,那么他们已经做出了(无意识的?)不接收你的邮件的决定。

您能做的最好的事情是向您的列表发送一封电子邮件,然后删除那些退回的邮件(= 那些无法送达的邮件)。

当心!在某些国家/地区,向未事先明确允许的人发送未经请求的批量电子邮件是非法的。

  • +1 - 如果它有效,它很快就会被滥用。这就是为什么我们不能拥有美好的东西! (2认同)
  • 不知道为什么这是强烈赞成。道德101课?我见过类似 OP 想要使用的东西,甚至不是出于恶意目的。其他答案和评论表明许多邮件服务器都是可能的,尤其是企业/非谷歌。 (2认同)

Mic*_*hne 7

真的没有什么好的方法可以做到这一点。SMTP 协议中有一个“VRFY”命令,但我不知道有谁允许它运行了——它对垃圾邮件发送者来说太有用了。大多数主机将不再拒绝该命令。

您现在能做的最好的事情就是发送电子邮件并记录退回的邮件(注意,某些邮件主机只会黑化无法送达的邮件而不是退回邮件)。

我不知道您使用此列表的业务或目的是什么,但您应该知道,如果您一次向 2000 人发送电子邮件,您很可能会被某些邮件主机标记为垃圾邮件发送者。