SMTP验证电子邮件地址

时间:2010-07-05 02:54:04

标签: email smtp telnet smtpclient email-validation

我正在开展一个项目,要求我知道非常高概率邮件服务器上的电子邮件帐户的可用性(让我们在这个例子中使用Hotmail。)我知道VRFY命令经常被忽略(Hotmail说“我会收到一条消息”或类似的东西,当我尝试它时),所以我想知道最好的方法来解决这个问题。我已经读过以下内容应该相当准确,但Hotmail让我感到很痛苦:

EHLO hotmail.com
MAIL FROM:<MY_ADDRESS@hotmail.com>
(Hotmail gives me the below error here)
RCPT TO:<ADDRESS_I_WANT_TO_CHECK@hotmail.com>

Hotmail给我的错误是:

550 SC-001 Mail rejected by Windows Live Hotmail for policy reasons. Reasons for rejection may be related to content with spam-like characteristics or IP/domain reputation problems. If you are not an email/network admin please contact your E-mail/Internet Service Provider for help. Email/network admins, please visit http://postmaster.live.com for email delivery information and support
Connection closed by foreign host.
[root@iago ~]# 

这不仅仅是一个Hotmail问题;当我和其他电子邮件主机一起尝试时,发生过类似的事情。

另一方面,哦,我希望手指协议仍被广泛使用......

3 个答案:

答案 0 :(得分:3)

这种方法注定要失败,原因可能是显而易见的。

相反,如果你描述了这个试图解决的问题,我相信你会得到有用的答案。

修改

在这里猜测......你说他们不是主动提供,但是如果他们进入比特桶就是一件坏事。

因此,[1]要么花费你一些东西来生成内容和/或将其发送出去(你发送大文件吗?)[2]如果用户给你不好的电子邮件地址并且没有得到他们要求的内容会发生一些非常糟糕的事情(++愤怒的用户?)。

使用“确认电子邮件”流程解决了这两种情况。当有人给你他们的电子邮件时,给他们发送一个确认链接,告诉他们期待它。如果他们没有收到电子邮件,他们就知道出了什么问题,而且负担就在他们身上。如果他们确实得到了它,点击随附的链接“证明”地址是好的,至少目前是这样。

答案 1 :(得分:2)

您可以感谢垃圾邮件发送者的残疾人VRFY。你可以做的就是邮寄并淘汰那些反弹的电子邮件的电子邮件地址。

修改:您可以通过从Verify Email address购买服务来进行首次清除。我建议您允许人们选择退出未来的通信。

答案 2 :(得分:0)

撇开你为什么要这样做的问题,你是否意识到这些知识几乎没用?存在的电子邮件地址绝对没有任何保障。