Exchange Server 2003 邮件处理

 

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

Exchange 2003 中的邮件传输主要是 SMTP 服务的任务。请注意,无论邮件的最终目标在哪里,在所有邮件处理过程中均涉及到 Exchange 2003 SMTP 传输引擎。邮件可能发往同一服务器上的用户、同一路由组中的另一服务器、另一路由组中的服务器,或者外部邮件系统中的服务器。下图显示了 Exchange Server 2003 的 SMTP 传输体系结构。有关 SMTP 传输引擎中的组件以及它们的责任的详细信息,请参阅 SMTP 传输体系结构

687c72ff-79bd-4217-bddf-67848b23dabc

在 Exchange Server 2003 中,SMTP 传输引擎按如下所述处理邮件:

  1. 通过 SMTP、远程过程调用 (RPC)、X.400 或 MAPI 传输协议接收邮件,具体如下表所述。

    传入邮件传输协议

    传输协议 注释

    SMTP

    Exchange 2000 和 Exchange Server 2003 服务器通过 SMTP 彼此通信。非 Exchange 主机以及 POP3 和 IMAP4 客户端也使用 SMTP 将邮件传输到运行 Exchange Server 2003 的服务器。这些邮件是通过 SMTP 协议服务接收的,后者在将邮件传输到提交前队列中之前,先将其保存到文件系统上的 \Exchsrvr\Mailroot\vsi 1\Queue 文件夹中。Exchange 2003 服务器上的每个虚拟 SMTP 服务器都在 Exchsrvr\Mailroot\ 文件夹下维护它自己的子目录。例如,默认虚拟 SMTP 服务器的 mailroot 文件夹的路径为 \Exchsrvr\Mailroot\vsi 1。

    将邮件提交到 SMTP 服务的另一种方法是使用虚拟 SMTP 服务器 mailroot 文件夹下的 \Pickup 子目录。由于只有在邮件文件采用 RFC-822 格式的情况下,SMTP 服务才能够获取邮件并成功地处理邮件,因此该邮件传输也被认为是基于 SMTP 的。

    RPC

    本地站点中的 Exchange 5.5 服务器通过 RPC 彼此通信。Exchange 5.5 邮件传输代理 (MTA) 可以在本地站点中使用 RPC 彼此传输电子邮件,而不需要定义邮件连接器。如果在现有的 Exchange 5.5 站点中部署 Exchange Server 2003,将使用 Microsoft Exchange MTA Stacks 服务并通过 RPC 与 Exchange 5.5 交换邮件。

    当使用站点连接器时,不同站点中的 Exchange 5.5 服务器也可以使用 RPC 彼此通信。如果您部署了连接到远程站点中的 Exchange 5.5 服务器的路由组连接器,Exchange 2003 可以与站点连接器通信。在这种情况下,路由组连接器会自动切换为 RPC,而不是 SMTP,以向后兼容 Exchange 5.5。

    X.400

    如果要与远程 X.400 邮件传输代理 (MTA) 交换邮件,必须配置 X.400 连接器。前面已提到,还可以使用 X.400 连接器将 Exchange 组织中的路由组彼此连接。Microsoft Exchange MTA Stacks 服务接收传入的 X.400 邮件,并将其传递到 Exchange 存储中。然后,Exchange 存储驱动程序将邮件放入提交前队列中。有关 X.400 体系结构的详细信息,请参阅 X.400 传输体系结构

    MAPI

    除了基于 MAPI 的邮件连接器(如 Lotus Notes 连接器和 Novell GroupWise 连接器)以外,基于 MAPI 的客户端(如 Microsoft Outlook)也直接与 Exchange 存储通信。例如,MAPI 客户端将传出邮件放入用户邮箱的“发件箱”文件夹中,然后通知 Exchange 存储传输该邮件。但是,基于 MAPI 的邮件连接器将 Exchange 存储中的 MTS-IN 文件夹用作其传入邮件队列。基于 MAPI 的邮件连接器将入站邮件转换为 Exchange 格式,然后将其放入 MTS-IN 文件夹中。无论哪一种情况下,MAPI 邮件都放入 Exchange 存储中,然后由 Exchange 存储驱动程序将邮件放入提交前队列中。有关基于 MAPI 的邮件连接器的详细信息,请参阅网关邮件连接器体系结构

  2. 提交前队列是高级排队引擎中的一个入口点。邮件放入提交前队列中后,由自定义的 SMTP 处理代码(如防病毒屏蔽的事件接收器)处理该邮件。然后,高级排队引擎将邮件移入分类前队列中,这样,分类程序(SMTP 传输引擎的一个内部组件)便可以对它进行进一步的处理。

  3. 分类程序解析收件人地址和发件人地址、展开任何已启用邮件的组、检查限制、应用针对每个发件人和每个收件人的限制,等等。如果收件人的邮箱驻留在本地 Exchange Server 2003 组织中,分类程序便会相应地设置该收件人的属性,以指示收件人主服务器的完全限定域名 (FQDN),从而将收件人标记为本地收件人。这是一个重要的路由步骤。之后,高级排队引擎将使用收件人的主服务器 FQDN 来确定邮件传输路径。

  4. 分类后,高级排队引擎将邮件放入分类后队列中。现在,必须对发往本地收件人的邮件和发往远程系统收件人的邮件加以区分,具体如下所述:

    • 本地传递 对于本地收件人,将跳过路由步骤。在这种情况下,将在邮件上标记存放目标邮箱的邮箱存储,并由高级排队引擎将邮件传输到本地传递队列中。Exchange 存储驱动程序从本地传递队列中获取邮件,并将其放入收件人的邮箱中。

    • 远程传递 路由引擎必须处理发往非本地收件人的所有邮件,因为 SMTP 传输引擎必须找到到达目标的可用传输路径。高级排队引擎相应地将邮件传输到路由前队列,调用路由引擎,然后将目标地址(对于内部收件人,是收件人主服务器的 FQDN;对于外部收件人,是 SMTP 域名)传递到路由引擎。路由引擎把邮件将要使用的下一跃点返回给调用方,并对下一跃点进行分类,具体如下表所述。

      远程传递的跃点类型

      跃点类型 注释

      下一跃点是本地服务器

      这意味着传输引擎必须将邮件传递给 Exchange MTA,以便通过 RPC 传输到本地路由组中的 Exchange 5.5 服务器、通过 X.400 连接器传输到远程 X.400 MTA,或者通过基于 MAPI 的邮件连接器(如 Lotus Notes 连接器或 Novell GroupWise 连接器)传递到非 Exchange 邮件系统。

      下一跃点是本地路由组中的服务器

      这意味着传输引擎必须将邮件传递到默认的虚拟 SMTP 服务器,以便通过 SMTP 传输到目标。

      下一跃点是远程路由组中的服务器

      这意味着传输引擎必须将邮件传递到本地 Exchange 服务器上的路由组连接器。但是,必须注意的一点是,这种类型仅适用于通过 SMTP 传输的邮件。如果使用 X.400 连接器来连接路由组,传输引擎会将邮件传递到 Exchange MTA(也就是说,下一跃点是本地服务器)。

      下一跃点是 Exchange 组织外部的服务器

      这意味着传输引擎必须将邮件传递到可以将邮件传输到外部邮件系统的 SMTP 连接器或虚拟 SMTP 服务器。此跃点类型也仅仅适用于可以通过 SMTP 到达的目标。如果邮件发往非 Exchange 邮件系统,并且该系统是通过由 Exchange MTA 控制的基于 MAPI 的连接器连接的,那么传输引擎会将邮件传递到 Exchange MTA(也就是说,下一跃点是本地服务器)。

      下一跃点是当前不可达的服务器

      这意味着目标路径存在,但是该路径当前不可用。传输引擎保留邮件,直到传输路径再次可用,或者直到邮件过期而必须随同 NDR 一起返还给发件人。

      下一跃点是不可达的服务器

      这意味着最终目标路径不存在,并且传输引擎会将邮件随同 NDR 一起返还给发件人。

  5. 高级排队引擎缓存下一跃点类型信息和目标,并将邮件移入相应的链路队列中。链路队列是动态的,并且由队列管理器管理。每个链路队列的名称都与远程传递目标匹配。

    note注意:
    只有在邮件等待传输到相应的目标时,链路队列才存在,并会出现在 Exchange 系统管理器的队列查看器中。队列管理器在链路队列中的最后一封邮件传输后的大约一分钟之后,使链路队列过期。
  6. 除 Exchange MTA 队列以外的其他链路队列中的邮件是使用 SMTP 传输引擎传输的。但是,Exchange MTA 队列中的邮件则传输到 Exchange 存储中的 Exchange MTA 出站邮件队列中,该队列是一个名为 MTS-OUT 的系统文件夹。此任务由 Exchange 存储驱动程序执行。Exchange MTA 获取邮件,然后通过 MTARoute.dll 与路由引擎通信,以确定适用且可用的连接器。如果邮件要发往非 Exchange 邮件系统连接器,Exchange MTA 会将邮件放入 Exchange 存储中该连接器的出站邮件队列(连接器的 MTS-OUT 文件夹)中。否则,MTA 会使用 RPC 或 X.400 连接器直接传输邮件。有关 Exchange MTA 的详细信息,请参阅 X.400 传输体系结构