7

关于这篇 关于电子邮件验证的帖子,

使用 C#,你会如何

  1. 发出 VRFY 命令
  2. 发出 RCPT 命令
4

6 回答 6

36

我想您会发现,在许多情况下,这些功能会故意欺骗您以击败垃圾邮件发送者。如果除了让用户单击验证(或取消订阅……)链接之外,还有其他方法可以确认电子邮件的真实性,那么垃圾邮件发送者将是非常高兴的人。

需要明确的是,验证电子邮件地址的最佳方法是向用户发送包含链接的电子邮件,然后等待他们单击链接以验证他们是否收到了电子邮件。任何其他技术(公司/内联网环境除外)都应该失败和/或撒谎以击败垃圾邮件发送者。

于 2010-06-15T14:09:11.547 回答
5

这里有一个不错的项目,其中包含有关如何实现此目的的代码片段,但正如 Spence 所提到的,它们可能并不总是正常工作。

于 2010-06-15T14:11:29.483 回答
5

如果您不担心公共 SMTP 服务器对您撒谎(请查看此处的第 2.11 节:https ://www.rfc-editor.org/rfc/rfc2505 ),那么最好的方法实际上可能是打开一个TcpClient 到服务器并自己运行 SMTP 协议。SMTP 是一个非常非常简单的协议。您几乎可以从 Wikipedia 中了解您需要了解的所有内容:http ://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol

于 2010-07-09T14:18:55.913 回答
5

IMO,RCPT 方法是最好的方法,我仍然每天都在使用它。

以下是必要的代码: http: //mailsystem.codeplex.com/SourceControl/changeset/view/51422#541825

该类非常繁重,您必须从源代码中选择您需要的代码片段。

于 2010-07-10T12:46:18.557 回答
2

一般。

  • VRFY:算了。说真的 ;) 没有服务器会回答 - 没有一个理智的人。垃圾邮件发送者使用过多。

    • 其余的:使用 TCP 连接到服务器,“就这样做”(即编程 SMTP 握手,然后继续)。
于 2010-06-15T14:11:55.283 回答
1

您可以尝试使用类似的东西:

http://www.vcskicks.com/download-file-ftp.php

不要使用 Ftp,而是使用 SMTP。

于 2010-06-15T14:09:14.760 回答