Exchange 邮件流

 

上一次修改主题: 2006-04-26

若要识别监视问题并主动管理 Exchange 2003 网络,应当了解 Exchange 组件之间的邮件流。下图显示了 Exchange 邮件流。

通过 Exchange 2003 服务器的邮件流

Exchange 2003 中的邮件流如下所示:

  1. SMTP 主机通过端口 25 连接到 SMTP 传输引擎,或 Outlook 客户端在数据库中放入待发送的邮件,或者从 MTA 收到入站邮件。
  2. 不管来源如何,邮件都将传输给高级排队引擎。如果邮件来自远程 SMTP 主机,则 SMTP 协议引擎会将邮件传输到高级排队引擎,同样,如果邮件来自 MAPI 客户端(例如,Outlook)或来自 MTA,则存储驱动程序也会将它传输到高级排队引擎。
  3. 然后,高级排队引擎使用分类程序处理收到的邮件。分类程序尝试解析原始发件人、解析收件人并执行邮件限制。收到的邮件放在两个队列中的某一个内:本地队列(其中包含驻留在该服务器上的收件人的邮件)和出站的路由前队列。
  4. 邮件从本地队列传输到存储驱动程序(它是 Microsoft Exchange Information Store 服务的一部分),并被置于目标邮箱中。
  5. 若要传输路由前队列中的邮件,高级排队引擎将使用路由引擎来确定 SMTP 服务应将邮件发送的位置。路由模块会将邮件传递给队列管理器,由后者最终将邮件放在要通过 SMTP 服务发送的链接队列中。链接队列的名称对应于目标域的名称。邮件将由 SMTP 服务从出站队列发送到下一个路由跃点。

通过读取 Exchange 传输事件手动验证服务器到服务器邮件流

测试服务器和邮件系统之间的邮件流的最佳方式是通过小型电子邮件。Exchange 管理包中包括用于测试服务器之间的邮件流的脚本。使用配置向导对其进行配置,如部署 Exchange Server 2003 管理包中所述。这些脚本可以定期发送电子邮件,验证邮件是否已被接收。位于 https://go.microsoft.com/fwlink/?linkid=25436Exchange 2003 Management Pack Configuration Guide(英文)讨论了邮件流脚本配置。主题 Exchange 管理包脚本相关性中讨论了脚本的规则和依赖项。

另外,可以在事件日志条目中验证与邮件传输相关的信息。例如,假设您正在监视发送到非本地站点但无法到达预定目标的电子邮件。而您无法确定问题的起源,以及是 Exchange 配置有错误,还是发件人提供的收件人信息有错误。这时,除了使用 Exchange 2003 中的邮件跟踪功能以外,还可以用事件日志条目来监视邮件流的进展。

例如,假设所发送的邮件被识别为出站邮件,并且高级排队引擎使用路由服务来查询 DNS,并获得邮件应被送往的下一个路由跃点的相关信息。此信息将出现在路由引擎事件日志查询中。

作为传递失败警告示例,假设在查询 DNS 时,DNS 将从邮件交换 (MX) 记录中获得的有关该域的目标邮件服务器的数据返回到路由引擎。如果该域是伪造的,不是完全限定域名 (FQDN),则会在事件日志中生成警告。

最后,系统会记录未送达报告事件,其中包括了可能的原因和补救措施。您可以筛选日志列表,以便只显示相关条目。这种情况下,是由于向不存在的域发送邮件导致了错误。注意,这些事件中的某一部分要求在 Exchange 系统管理器中将传输日志记录设置为“最大”。