繁体   English   中英

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

[英]Verifying an email address exist in C#

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

使用C#,你会如何

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

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

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

这里有一个不错的项目其中包含有关如何实现此目标的代码段,但是正如Spence所提到的,它们可能无法始终正常运行。

如果您不担心公用SMTP服务器对您不利(请参阅此处的2.11节: http : //tools.ietf.org/html/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:算了。 认真;)没有服务器会回答-没有理智的答案。 垃圾邮件发送者使用过多。

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

您可以尝试使用类似于以下内容的方法:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM