什么取代了Windows Server 2012中的IIS SMTP服务器

我已经阅读了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服务器甚至工作。 它不能解释为什么它被弃用,或者如果有什么错误的话。 也许有安全问题或缓冲区溢出,但是如果你没有公开端口,我会毫不犹豫地使用它。

这就是我所做的:

  • 在IIS中,我为该域设置了“SMTP电子邮件”以指向10.0.0.1 。 我在父文件夹中对任何已部署的站点执行此操作,否则在重新部署时它将被擦除。 如果你想要,你可以把它直接放在web.config中,但是这种方式不那么灵活。
  • 在SMTP服务器(通过IIS6pipe理控制台)中,我在10.0.0.1设置了一个SMTP服务器。 很显然,正如我之前所说,这是不公开的互联网公开。
  • 我将此服务器configuration为通过smtp.gmail.comsmtp.live.com 通过智能主机进行smtp.live.com
  • 在我的.NET应用程序中,我使用Mail API来使用new SmtpClient()发送消息。 这从IIS获取configuration,并将邮件发送到我的SMTP服务器在10.0.0.1
  • 当我发送邮件时,它立即返回,因为它只是发送到本地主机

  • 现在这是使用不能被低估的本地SMTP服务器的重要好处,而“System.Net.Smtp”本身也是不可替代的

    • SMTP服务器将尝试通过您的智能主机为您转发邮件,如果无法立即发送邮件将在稍后重试。
    • 意识到有时甚至smtp.gmail.com不会回复或者您的networking已closures,这一点很重要。 (当我第一次尝试直接发送邮件时,这是非常常见的)
    • 没有一个中间的SMTP服务器来存储消息,你不能只是从.NET发送和忘记,你必须找出某种重试机制,这是完全不必要的SMTP服务器,这一切都为你
    • 我相信,如果您的SMTP中继限制(在您的ISP / GMail上),那么SMTP服务器将在第二天继续重试并发送消息 – 如果您每天的stream量不一致,实现。

继续使用它。 微软还没有提供替代品,它是免费的,所以为什么不。 如果没有替代品,“弃用”意味着我的意思。

免责声明:我仍然在服务器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做了两件事:

  1. 启动了IIS SMTP服务器。
  2. 增加了用于发送消息的编程库(即COM对象等)。

如果你使用那些没有任何configuration的库,他们会提交给本地的IIS SMTP服务器。 程序员本质上是懒惰的,所以既然他们的工作量最less,那就是他们所做的。 许多人没有提供通过不同的SMTP服务器发送电子邮件的方式。

本文应该说的是,IIS SMTP服务器不再存在,但仍然提供了SMTP库,并且应该configuration应用程序以使用不同的SMTP服务器。