【发布时间】:2011-03-04 00:24:59
【问题描述】:
【问题讨论】:
-
如果你看一下 Sean Edwards 的回答,我认为这应该符合方法,尽管我在这里同意其他人的观点,因为 90% 的电子邮件服务器,这并不是最好的做法可能会骗你。
标签: c# email smtp email-verification
【问题讨论】:
标签: c# email smtp email-verification
我想您会发现,在许多情况下,这些功能会故意欺骗您以击败垃圾邮件发送者。如果除了让用户单击验证(或取消订阅……)链接之外,还有其他方法可以确认电子邮件是真实的,那么垃圾邮件发送者将是非常高兴的人。
需要明确的是,验证电子邮件地址的最佳方法是向用户发送包含链接的电子邮件,然后等待他们单击链接以验证他们是否收到了电子邮件。任何其他技术(公司/内部网环境除外)都应该失败和/或撒谎以击败垃圾邮件发送者。
【讨论】:
IMO,RCPT 方法是最好的,我仍然每天都在使用它。
这里是必要的代码:http://mailsystem.codeplex.com/SourceControl/changeset/view/51422#541825
类比较重,你得从源码中挑选你需要的代码sn-p。
【讨论】:
有一个很好的项目here 使用代码 sn-ps 来说明如何实现这一点,但正如 Spence 所说,它们可能并不总是正常工作。
【讨论】:
如果您不担心公共 SMTP 服务器会欺骗您(请参阅此处的第 2.11 节:https://www.rfc-editor.org/rfc/rfc2505),那么最好的方法实际上可能是向服务器打开一个 TcpClient 并运行 SMTP 协议你自己。 SMTP 是一个非常非常简单的协议。你几乎可以从 Wikipedia 中学到所有你需要知道的东西:http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
【讨论】:
通常。
VRFY:算了。说真的 ;) 没有服务器会回答 - 没有一个理智的人。垃圾邮件发送者使用过多。
【讨论】:
【讨论】: