本专栏的部分内容讨论了 Windows Server 2008 的预发布版本,其中的具体信息可能会有所更改。
问:我想使用安全的 SMTP — 如何使 Exchange Server 在端口 465 上侦听 SMTP?
答:很遗憾,您的目的无法实现。您的确可以使 SMTP 虚拟服务器或接收连接器在端口 465 上进行侦听,但这也不能保证使用安全的 SMTP (SMTPS)。
为什么?让我们来解释一下。SSL 分为两种类型:显式和隐式。最初,大部分 SSL 是隐式的,意味着使用了 SSL 的专用端口。例如,默认情况下 HTTP 位于端口 80 上,而 HTTPS(带有 SSL 的 HTTP)位于端口 443 上。几年前,Internet 社区决定不再将专用端口用于 SSL。因此,显式 SSL 应运而生。
虽然 Netscape 已将 465 选作 SMTPS 端口,但 Exchange Server 在 SMTP 中不提供 SSL 功能。不过,Exchange 团队看到了显式 SSL 的优点(客户端和服务器都可以使用它),因此他们支持 SMTP 使用显式 SSL。
对于 SMTP,显式 SSL 使用 STARTTLS ESMTP 命令指示现有套接字将受到保护。大部分其他 SMTP 服务器和客户端供应商也已实施了 STARTTLS 命令,所以已经没有太大必要支持端口 465,况且这也不是官方 Internet 标准。
迄今为止,还没有一个 Exchange Server 版本支持 SMTP 使用隐式 SSL。让 Exchange 接收连接器或 SMTP 虚拟服务器在端口 465 上进行侦听也无法改变这个事实。因此,您需要使用在端口 25 上支持 STARTTLS 的客户端。如果无法使用端口 25,则逻辑上也可选择 587,它是客户端 SMTP 提交的标准端口。现在客户端一般在端口 25 上均支持 STARTTLS,所以已无需添加对隐式 SSL 的支持。
顺便说一下,Exchange POP3 和 IMAP4 协议通常支持隐式 SSL。但在 Exchange Server 2007 中,现已为这两个协议添加了对显式 SSL 的支持。但由于支持此较新标准的客户端还不多,隐式 SSL 将继续存在一段时间。