关于这篇 关于电子邮件验证的帖子,
使用 C#,你会如何
- 发出 VRFY 命令
- 发出 RCPT 命令
我想您会发现,在许多情况下,这些功能会故意欺骗您以击败垃圾邮件发送者。如果除了让用户单击验证(或取消订阅……)链接之外,还有其他方法可以确认电子邮件的真实性,那么垃圾邮件发送者将是非常高兴的人。
需要明确的是,验证电子邮件地址的最佳方法是向用户发送包含链接的电子邮件,然后等待他们单击链接以验证他们是否收到了电子邮件。任何其他技术(公司/内联网环境除外)都应该失败和/或撒谎以击败垃圾邮件发送者。
这里有一个不错的项目,其中包含有关如何实现此目的的代码片段,但正如 Spence 所提到的,它们可能并不总是正常工作。
如果您不担心公共 SMTP 服务器对您撒谎(请查看此处的第 2.11 节:https ://www.rfc-editor.org/rfc/rfc2505 ),那么最好的方法实际上可能是打开一个TcpClient 到服务器并自己运行 SMTP 协议。SMTP 是一个非常非常简单的协议。您几乎可以从 Wikipedia 中了解您需要了解的所有内容:http ://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
IMO,RCPT 方法是最好的方法,我仍然每天都在使用它。
以下是必要的代码: http: //mailsystem.codeplex.com/SourceControl/changeset/view/51422#541825
该类非常繁重,您必须从源代码中选择您需要的代码片段。
一般。
VRFY:算了。说真的 ;) 没有服务器会回答 - 没有一个理智的人。垃圾邮件发送者使用过多。