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

And*_*ndy 29 smtp windows-server-2012

我已经阅读了http://technet.microsoft.com/en-us/library/hh831568.aspx关于 Windows 2012 中已弃用和已删除功能的注释,它说 SMTP 已弃用。我假设这是指 IIS SMTP 服务器。建议是改用 System.Net.Smtp,但我认为这是印刷错误,因为我在别处找不到任何对 System.Net.Smtp 的引用。

如果他们真的想说 System.Net.Mail,那只是一个 API,我看不到 API 如何取代服务器进程。我需要一个服务来接受端口 25 上的连接并将电子邮件路由到像 IIS SMTP 过去那样的目的地。

任何人都可以澄清这里的情况吗?如果他们说它被 Exchange 取代了,那么我会诅咒他们,但至少这会让我做出一个有意义的声明,而当前的声明绝对不是。

Sim*_*mon 18

我认为来自 Microsoft 的引用声明非常糟糕且完全令人困惑,而且我认为编写它的人都不知道 SMTP 服务器是如何工作的。它没有解释为什么它被弃用或者它是否有任何问题。也许存在安全问题或缓冲区溢出,但如果您没有在公共端口上公开它,我会毫不犹豫地使用它。

这是我所做的:

  • 在 IIS 中,我为域设置了“SMTP 电子邮件”以指向10.0.0.1. 我在任何已部署站点的父文件夹中执行此操作,否则在您重新部署时它会被删除。如果你愿意,你可以直接把它放在 web.config 中,但它不太灵活。
  • 在 SMTP 服务器(通过 IIS6 管理控制台)中,我在10.0.0.1. 显然,正如我之前所说,这不会在公共互联网上公开。
  • 我将此服务器配置为通过智能主机 通过smtp.gmail.comsmtp.live.com
  • 在我的 .NET 应用程序中,我使用邮件 API 使用new SmtpClient(). 这会从 IIS 获取配置并将邮件发送到我的 SMTP 服务器10.0.0.1
  • 当我发送邮件时,它会立即返回,因为它只是被发送到本地主机

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

    • SMTP 服务器将尝试通过您的智能主机为您中继邮件,如果它不能立即发送,它将稍后重试。
    • 重要的是要意识到有时甚至smtp.gmail.com不会回复或者您的网络可能已关闭。(当我第一次尝试直接发送邮件时出人意料地常见)
    • 如果没有中间 SMTP 服务器来存储消息,您就不能从 .NET 中“发送并忘记”,而且您必须找出某种重试机制,而 SMTP 服务器则完全不需要它,它为您完成所有工作
    • 我相信,如果您有 SMTP 中继限制(在您的 ISP/GMail 上),那么 SMTP 服务器将继续重试并在第二天发送邮件 - 如果您每天的流量不一致或达到您的限制而没有实现。

继续使用它。微软没有提供替代品,而且它是免费的,为什么不呢。如果没有替代品,“已弃用”在我看来毫无意义。

免责声明:我仍在使用 Server 2008,但我认为所有这些仍然适用。

  • 是的,这仍然适用于 Windows Server 2012。我总是惊讶地发现很少有人意识到使用本地 SMTP 服务器来排队消息的优势! (4认同)

joe*_*rty 14

Web 服务器角色的 SMTP 功能已被弃用,但尚未删除。您可以安装并使用它,但建议使用另一个(外部)SMTP 服务器。

不推荐使用 SMTP 和相关的管理工具。尽管该功能在 Windows Server 2012 中仍然可用,但您应该开始使用 System.Net.Smtp。使用此 API,您将无法将消息插入文件中以供取件;而是将 Web 应用程序配置为使用 SMTP 在端口 25 上连接到另一台服务器。

因此,将来,您将安装和使用单独的 SMTP 服务器(其中有许多可用)来为在 Windows ServerX 上运行的 Web 应用程序提供 SMTP 服务。


lon*_*eck 4

您链接到的文章中的描述太糟糕了!但这是它试图告诉你的:

在以前版本的 Windows 中打开 IIS SMTP 会做两件事:

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

如果您在没有任何配置的情况下使用这些库,它们将提交到本地 IIS SMTP 服务器。程序员本质上是懒惰的,所以因为他们用最少的努力就可以做到这一点,所以他们就是这样做的。许多人没有提供通过不同的 SMTP 服务器发送电子邮件的方法。

本文要说的是 IIS SMTP 服务器不再存在,但仍然提供 SMTP 库,并且应用程序应配置为使用不同的 SMTP 服务器。

  • SMTP 服务器是 Windows Server 2012 中 Web 服务器角色的一项功能,可以安装。它已被弃用,但并未被删除。 (2认同)
  • @Simon 是的,2002 年 IIS 6 中的旧管理控制台仍然用于在 Windows Server 2012 中配置 SMTP。:) IIS 6 管理功能依赖于 SMTP 功能。 (2认同)