检查是否存在电子邮件地址

时间:2011-05-03 17:11:04

标签: c# .net asp.net asp.net-mvc email

  

可能重复:
  How to check if an email address exists without sending an email?

如何检查电子邮件地址是否确实存在(而不仅仅是验证)?这些人是如何做到的:http://www.email-unlimited.com/tools/verify-email.aspx

似乎有效......

4 个答案:

答案 0 :(得分:3)

SMTP协议具有接收服务器上邮箱的命令RCPT,如果该邮箱存在,可能返回“ok”代码。请注意,某些服务器不会这样做,以防止垃圾邮件发送者扫描有效地址。

以下内容是什么电子邮件无限制:

  1. 使用电子邮件域查找SMTP服务器
  2. 启动与该SMTP服务器的会话,并将命令RCPT TO:
  3. 发送给它
  4. 结束会话
  5. 如果SMTP服务器在步骤2中返回“ok”代码,则他们会确定邮箱是否存在。

答案 1 :(得分:2)

在链接http://wiki.cdyne.com/index.php/CSharp_Email_Verification

找到此信息
  1. 打开一个新/现有项目。
  2. 在解决方案资源管理器中,右键单击要添加服务的项目,然后选择“添加Web引用”。如果未列出“添加Web引用”,请选择“添加服务引用”,然后选择“高级”,然后选择“添加Web引用”。
  3. 将WSDL for Email Verification放入URL块中。 (例如:http://ws.cdyne.com/emailverifyws/emailverify.asmx?wsdl
  4. 将“网络参考名称”更改为更有用的内容,例如“EmailVerify”。

  5. //Instantiate EmailVerify
    EmailVerify.EmailVerify ev = new EmailVerify.EmailVerify();
    
    //Assign ReturnValues to the VerifyEmail method and pass in: email and License Key
    EmailVerify.ReturnValues rv = ev.VerifyEmail("info@cdyne.com", "0");
    
    //Assign ReturnValues to the VerifyEmailWithTimeout method and pass in: email, timeout, and License Key
    EmailVerify.ReturnValues rvt = ev.VerifyEmailWithTimeout("info@cdyne.com", "5", "0"); 
    
    //Get the response for VerifyEmail (you can choose which returns to use)
    Console.WriteLine(rv.ValidLicenseKey);
    Console.WriteLine(rv.CorrectSyntax);
    Console.WriteLine(rv.EmailDomainFound);
    Console.WriteLine(rv.EmailDisposable);
    Console.WriteLine(rv.DomainVerifiesEmail);
    Console.WriteLine(rv.DomainAcceptsMail);
    Console.WriteLine(rv.EmailVerified);
    Console.WriteLine(rv.Timeout);
    Console.WriteLine(rv.DomainServersDown);
    Console.WriteLine(rv.GoodEmail);
    
    //Get the response to VerifyEmailWithTimeout (only using chosen responses)
    Console.WriteLine(rvt.EmailDisposable);
    Console.WriteLine(rvt.DomainVerifiesEmail);
    Console.WriteLine(rvt.DomainAcceptsMail);
    Console.WriteLine(rvt.EmailVerified);
    Console.WriteLine(rvt.Timeout);
    Console.WriteLine(rvt.DomainServersDown);
    Console.WriteLine(rvt.GoodEmail);
    

答案 2 :(得分:0)

您连接到处理该电子邮件的域的SMTP服务器并询问它。更多信息:

http://www.the-welters.com/professional/smtp.html

答案 3 :(得分:0)

如果您尝试该服务,您可以看到它连接到SMTP服务器并尝试向指定的电子邮件发送电子邮件。重要的是连接到目标帐户的SMTP服务器。对于SMTP命令,请参阅http://www.yuki-onna.co.uk/email/smtp.html