If you're not worried about public SMTP servers lying to you (take a look at section 2.11 here: https://www.rfc-editor.org/rfc/rfc2505), then the best way might actually be to open up a TcpClient to the server and run the SMTP protocol yourself. SMTP is a really, really easy protocol. You can pretty much learn everything you need to know from Wikipedia: http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
I think you will find that in many instances these functions will intentionally lie to you to defeat spammers. If there were a way to confirm an email is real other than having a user click on a validation (or unsubscribe....) link then spammers would be very happy people.
Just to be clear, the best way to verify an email address is to send a user an email containing a link, and wait for them to click on the link to verify they received the email. Any other technique (with the exception of a corporate/intranet environment) should fail and/or lie to defeat spammers.
发布评论
评论(6)
如果您不担心公共 SMTP 服务器对您撒谎(请查看第 2.11 节: https://www.rfc-editor.org/rfc/rfc2505),那么最好的方法实际上可能是向服务器打开 TcpClient 并自己运行 SMTP 协议。 SMTP 是一个非常非常简单的协议。您几乎可以从维基百科中了解您需要了解的所有内容: http://en.wikipedia.org/wiki /Simple_Mail_Transfer_Protocol
If you're not worried about public SMTP servers lying to you (take a look at section 2.11 here: https://www.rfc-editor.org/rfc/rfc2505), then the best way might actually be to open up a TcpClient to the server and run the SMTP protocol yourself. SMTP is a really, really easy protocol. You can pretty much learn everything you need to know from Wikipedia: http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
通常情况下。
VRFY:算了。说真的;)没有服务器会回答——没有理智的人。被垃圾邮件发送者过度使用。
Normally.
VRFY: Forget it. Seriously ;) No server will answer - no sane one. Was used too much by spammers.
您可以尝试使用类似的内容:
http://www.vcskicks.com/download -file-ftp.php
使用 SMTP 代替 Ftp。
You could try using something similar to this:
http://www.vcskicks.com/download-file-ftp.php
Instead of using Ftp, use SMTP.
我想您会发现,在很多情况下,这些功能会故意对您撒谎,以击败垃圾邮件发送者。如果有一种方法可以确认电子邮件的真实性,而不是让用户点击验证(或取消订阅......)链接,那么垃圾邮件发送者将会非常高兴。
需要明确的是,验证电子邮件地址的最佳方法是向用户发送一封包含链接的电子邮件,然后等待他们单击该链接以验证是否收到了电子邮件。任何其他技术(公司/内部网环境除外)都应该失败和/或欺骗来击败垃圾邮件发送者。
I think you will find that in many instances these functions will intentionally lie to you to defeat spammers. If there were a way to confirm an email is real other than having a user click on a validation (or unsubscribe....) link then spammers would be very happy people.
Just to be clear, the best way to verify an email address is to send a user an email containing a link, and wait for them to click on the link to verify they received the email. Any other technique (with the exception of a corporate/intranet environment) should fail and/or lie to defeat spammers.
IMO,RCPT 方法是最好的一种,我仍然每天使用它。
以下是必要的代码: http://mailsystem.codeplex.com/SourceControl/changeset /view/51422#541825
这个类相当重,你必须从源代码中选择你需要的代码片段。
IMO, RCPT method is the best one, and I still use it everyday.
Here are the necessary code : http://mailsystem.codeplex.com/SourceControl/changeset/view/51422#541825
The class is quite heavy, you will have to pick the code snippet you need from the source code.
这里有一个不错的项目,其中包含有关如何实现此目的的代码片段,但作为 Spence提到它们可能并不总是正常工作。
There's a nice project here with code snippets on how to achieve this, but as Spence mentioned they may not always work correctly.