了解 SMTP 和 Exchange Server 2003

 

上一次修改主题: 2005-05-04

在配置 Exchange Server 组织发送和接收邮件之前,应很好地了解简单邮件传输协议 (SMTP) 如何在 Microsoft® Exchange Server 2003 中实现邮件流。Exchange Server 2003 使用 SMTP 在 Exchange 服务器与路由组之间传递内部邮件。同样,Exchange Server 2003 也使用 SMTP 在 Exchange 组织外部传递 Internet 邮件。

SMTP 是用于传输和投递电子邮件的 Internet 标准。根据征求意见文档 (RFC) 2821 和 RFC 2822 中的规范,Microsoft SMTP 服务随附于 Microsoft Windows® 2000 Server 和 Windows Server™ 2003 中。

Windows SMTP 服务是 Internet 信息服务 (IIS) 的组件,并作为 Inetinfo.exe 的一部分运行。Exchange Server 2003 需要将 Windows SMTP 服务作为自己固有的传输协议;因此,Exchange 使用 SMTP 路由所有内部和外部邮件。

Exchange Server 如何扩展 SMTP 功能

安装 Exchange Server 时,它通过下列途径扩展基本的 SMTP 功能:

  • 将 SMTP 服务的管理功能(通过 SMTP 虚拟服务器)从 IIS 管理控制台移动到 Exchange 系统管理器。

  • 实现对链接状态信息的支持。Exchange 使用链接状态信息,根据邮件连接的当前状态和开销,并根据拓扑定义的路由的关联开支,确定在服务器之间发送邮件的最佳方法。

  • 扩展 SMTP 以支持用于支持链接状态路由和其他 Exchange 功能的命令谓词。安装 Exchange 时,会添加下列命令:

    • X-EXPS GSSAPI
    • X-EXPS=LOGIN
    • X-EXCH50
    • X-LINK2STATE
    note注意:
    有关所有 SMTP 命令及其定义的列表,请参阅 SMTP 命令和定义
  • 设置 Exchange 可安装文件系统 (IFS) 存储驱动程序,以便可以从 Exchange 存储中检索邮件并将邮件传递到其中。

  • 将邮件在其中排队的磁盘位置设置为 \exchsrv\mailroot\vs 1\queue。这是 Exchange 服务器上的第一个 SMTP 虚拟服务器的位置。如果添加第二个 SMTP 虚拟服务器,Exchange 会创建另一个位置 (\exchsrv\mailroot\vs 2\queue)。

  • 实现对高级排队的支持。Exchange 增强 Windows 2000 和 Windows Server 2003 的排队功能。高级排队引擎处理 Exchange 中的基础传输功能。

  • 改善邮件分类。邮件分类是邮件分类程序(高级排队引擎的一个组件)执行的一个进程。分类程序向全局编录服务器发送轻型目录访问协议 (LDAP) 查询,以检索存储在 Microsoft Active Directory® 目录服务中的用户和配置信息。邮件分类程序检索收件人策略信息和 Exchange 虚拟服务器信息,以实现邮件传递。它使用这一信息来验证收件人地址,确认邮件未超出限制,并最终确定如何使用 Exchange 路由和 SMTP 来传递邮件。

需要了解一个关于 SMTP 以及 Exchange 2000 Server 和更高版本的重要概念,那就是 Exchange、Active Directory 和 IIS 元数据库之间的交互。使用 Exchange 系统管理器,可以将所做的任何配置更改(例如,对收件人策略和 SMTP 虚拟服务器的更改)都写入到 Active Directory 中,从而使用户可以轻松地进行远程管理。但是,由于 SMTP 服务从 IIS 元数据库中读取其设置,因此 DS2MB 服务(Exchange 系统助理的一个组件)将此信息从 Active Directory 复制到本地服务器的 IIS 元数据库中。

接收 Internet 邮件

如果存在下列条件,Exchange Server 2003 将能够使用其默认配置来接收 Internet 邮件:

  • 存在与 Internet 的持续连接。

    note注意:
    与 Internet 的拨号连接需要特殊的配置。有关拨号连接的详细信息,请参阅如何设置连接器日程安排
  • 您所在域的外部域名系统 (DNS) 服务器必须具有指向邮件服务器的邮件交换器 (MX) 资源记录,或者,如果您使用的是 Internet 服务提供商 (ISP) 或外部系统,那么该外部系统必须具有一条针对于您所在域的 MX 记录,以及将邮件转发到 Exchange 服务器的机制。

  • 您的邮件服务器对于 Internet 上的其他服务器而言必须是可访问的。如果要使用 ISP 或外部系统接受邮件,则此外部系统必须能够与 Exchange 服务器联系以传递邮件。

  • 必须正确配置收件人策略。要接收 Internet 邮件,必须配置包含与 SMTP 域匹配的地址空间的收件人策略。此外,Exchange 组织必须负责将邮件传递到此地址(这是默认设置)。例如,要接受发往 ted@example.com 的 Internet 邮件,必须具有包含 @example.com 的收件人策略。但是,此规则也存在一些例外情况。

入站 Internet 邮件以下列方式通过 Exchange 服务器:

  1. 发送方 SMTP 服务器查询 DNS,以找到收件人的 SMTP 邮件服务器的 IP 地址。

  2. 然后,发送方 SMTP 服务器在收件人的 SMTP 服务器(25 端口)上启动一个会话。在 Exchange 网关上,收件人的 SMTP 服务器就是配置用来接受入站 Internet 邮件的 SMTP 虚拟服务器。

  3. 理想情况下,入站 SMTP 服务器仅在传入邮件是发送给其 SMTP 邮件域中的收件人时才接受此传入邮件。这些收件人是在收件人策略中指定的(除非服务器开放中继功能,但强烈反对这样做)。

    note注意:
    如果使系统开放中继功能,则未经授权的用户可能使用您的服务器向外部地址发送邮件。因此,系统可能出现在阻止列表中,此过程阻止来自可疑服务器(发送未经请求的商业电子邮件(垃圾邮件))的邮件。
  4. 接受邮件后,SMTP 虚拟服务器使用 Exchange 内部的传输机制来确定传递邮件的方法。Exchange 在 Active Directory 中查找收件人,并确定将由 Exchange 组织中的哪一台服务器来传递邮件。

  5. 最后,SMTP 虚拟服务器使用其内部传输机制将邮件传递到适当的 Exchange 服务器。

发送 Internet 邮件

如果存在持续的 Internet 连接,Exchange 将通过下列方法发送 Internet 邮件:

  • 它直接使用 DNS 联系远程邮件服务器。
  • 它通过负责 DNS 名称解析和邮件传递的智能主机来路由邮件。

在详细描述上述每一种方法之前,应对出站邮件在 Exchange 组织中的传递有一个大致的了解。

出站 Internet 邮件以下列方式通过 Exchange Server 2003 服务器:

  1. 内部用户向远程域中的收件人发送邮件。
  2. 为了确定收件人是本地的还是远程的,发件人 Exchange 服务器上的 SMTP 虚拟服务器使用内部传输功能在全局编录服务器中查询收件人地址。如果邮件上的收件人地址不存在于收件人策略中,则说明它未存储在 Active Directory 中;因此,Exchange 确定该邮件是发往远程域的。
  3. 如有必要,Exchange 服务器会将邮件传递到相应的 SMTP 虚拟服务器。
  4. SMTP 虚拟服务器使用自己的 IIS 元数据库信息来确定将邮件传递到远程域的方法。
  5. 然后,Exchange 服务器上的 SMTP 虚拟服务器执行以下两个操作之一:
    • 使用 DNS 来查找目标域的 IP 地址,然后尝试传递邮件。
    • 将邮件转发到负责 DNS 解析和邮件传递的智能主机。