验证C#中是否存在电子邮件地址

时间:2010-06-15 14:01:12

标签: c# email smtp email-verification

关于有关电子邮件验证的this post

使用C#,您将如何

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

6 个答案:

答案 0 :(得分:36)

我想你会发现,在很多情况下,这些功能都会故意欺骗垃圾邮件发送者。如果有一种方法可以确认电子邮件是真实的,而不是让用户点击验证(或取消订阅......)链接,那么垃圾邮件发送者就会非常开心。

为了清楚起见,验证电子邮件地址的最佳方法是向用户发送包含链接的电子邮件,并等待他们点击该链接以验证他们是否收到了该电子邮件。任何其他技术(公司/内部网环境除外)都应该失败和/或撒谎以打败垃圾邮件发送者。

答案 1 :(得分:5)

有一个很好的项目here,其中包含有关如何实现此目的的代码段,但正如Spence所说,它们可能无法始终正常运行。

答案 2 :(得分:5)

如果您不担心公共SMTP服务器对您不利(请参阅此处的第2.11节:http://tools.ietf.org/html/rfc2505),那么最好的方法可能是打开TcpClient到服务器并运行SMTP协议自己。 SMTP是一个非常非常简单的协议。您可以从维基百科中了解您需要了解的所有内容:http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol

答案 3 :(得分:5)

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

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

这个课很重,你必须从源代码中选择你需要的代码片段。

答案 4 :(得分:2)

通常

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

    • 其余:使用TCP连接到服务器,“只需执行”(即编程SMTP握手,然后继续)。

答案 5 :(得分:1)

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

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

不使用Ftp,而是使用SMTP。