我已经阅读了http://technet.microsoft.com/en-us/library/hh831568.aspx这里的注意事项有关Windows 2012中的弃用和删除的function,它说,SMTP已被弃用。 我认为这是指IIS SMTP服务器。 build议是使用System.Net.Smtp来代替,但是我认为这是一个误印,因为我找不到任何名为System.Net.Smtp的引用。
如果他们真的打算说System.Net.Mail,这只是一个API,我看不到一个API如何取代服务器进程。 我需要一个接受端口25上的连接并将电子邮件路由到像IIS SMTP那样的目的地的服务。
任何人都可以澄清这里的情况吗? 如果他们已经说过被交换所取代,那么我会诅咒他们,但至less这会使我有一个有意义的陈述,而目前的肯定不是。
我认为来自微软的引用声明是可怕的和完全混淆的,我不认为谁写了它有任何线索如何SMTP服务器甚至工作。 它不能解释为什么它被弃用,或者如果有什么错误的话。 也许有安全问题或缓冲区溢出,但是如果你没有公开端口,我会毫不犹豫地使用它。
这就是我所做的:
10.0.0.1
。 我在父文件夹中对任何已部署的站点执行此操作,否则在重新部署时它将被擦除。 如果你想要,你可以把它直接放在web.config中,但是这种方式不那么灵活。 10.0.0.1
设置了一个SMTP服务器。 很显然,正如我之前所说,这是不公开的互联网公开。 smtp.gmail.com
或smtp.live.com
通过智能主机进行smtp.live.com
new SmtpClient()
发送消息。 这从IIS获取configuration,并将邮件发送到我的SMTP服务器在10.0.0.1
当我发送邮件时,它立即返回,因为它只是发送到本地主机
现在这是使用不能被低估的本地SMTP服务器的重要好处,而“System.Net.Smtp”本身也是不可替代的 :
smtp.gmail.com
不会回复或者您的networking已closures,这一点很重要。 (当我第一次尝试直接发送邮件时,这是非常常见的) 继续使用它。 微软还没有提供替代品,它是免费的,所以为什么不。 如果没有替代品,“弃用”意味着我的意思。
免责声明:我仍然在服务器2008年,但我认为这一切仍然适用。
Web服务器angular色的SMTPfunction已被弃用,但尚未被删除。 您可以安装并使用它,但build议使用其他(外部)SMTP服务器。
SMTP和相关的pipe理工具已被弃用。 尽pipeWindows Server 2012中的function仍然可用,但您应该开始使用System.Net.Smtp。 有了这个API,您将无法将一条消息插入到一个文件中拾取; 而是将Web应用程序configuration为使用SMTP将端口25连接到另一个服务器。
因此,将来您将安装并使用单独的SMTP服务器(其中有许多可用的服务器)为在Windows ServerX上运行的Web应用程序提供SMTP服务。
在你链接的文章中的描述是可怕的! 但是,这就是它想要告诉你的:
在以前版本的Windows中打开IIS SMTP做了两件事:
如果你使用那些没有任何configuration的库,他们会提交给本地的IIS SMTP服务器。 程序员本质上是懒惰的,所以既然他们的工作量最less,那就是他们所做的。 许多人没有提供通过不同的SMTP服务器发送电子邮件的方式。
本文应该说的是,IIS SMTP服务器不再存在,但仍然提供了SMTP库,并且应该configuration应用程序以使用不同的SMTP服务器。