了解传输队列

 

适用于: Exchange Server 2010 SP2, Exchange Server 2010 SP3

上一次修改主题: 2015-03-09

本主题概述 Microsoft Exchange Server 2010 中的队列以及管理员可以执行的队列管理任务。

要查找与管理传输服务器相关的管理任务吗?请参阅管理传输服务器

目录

概述

队列数据库文件

队列管理

邮件重试间隔、重新提交间隔和过期间隔

概述

队列是临时存放等待进入下一个处理阶段的邮件的位置。每个队列代表传输服务器按照特定顺序处理的逻辑邮件集。

Exchange 命令行管理程序和队列查看器支持与队列的两种交互类型。可以使用这些界面来查看队列的状态和内容以及详细的邮件属性。还可以使用这些界面来执行修改队列或队列中的邮件的操作。

Exchange 2010 使用可扩展存储引擎 (ESE) 数据库存储队列。ESE 以前称为 JET,它是将低级 API 定义为 Exchange 中的基础数据库结构的一种方法。

来自 Internet 的邮件和发往 Internet 的邮件在安装了边缘传输服务器角色的计算机上排队。在 Exchange 2010 组织中传输的邮件在安装了集线器传输服务器角色的计算机上排队。

队列类型

邮件的路由确定存储邮件的队列类型。Exchange 2010 中使用下列队列类型:

  • 提交队列   分类程序在收集必须通过传输代理解析、路由和处理的所有邮件时所使用的永久队列。分类程序是 Exchange 传输的一个组件,处理所有入站邮件并根据目标收件人的信息确定要对邮件执行的操作。在 Exchange 2010 中,边缘传输服务器使用分类程序将邮件路由到相应的目标。中心传输服务器使用分类程序展开通讯组列表并确定备选收件人和转发地址。分类程序检索到收件人的完整信息之后,将使用该信息应用策略、路由邮件和执行内容转换。

    传输服务器接收的所有邮件进入提交队列进行处理。通过接收连接器、分拣目录或存储驱动程序提交邮件。分类程序从此队列中检索邮件,并确定收件人的位置以及到达该位置的路由。进行分类之后,会将邮件移动到传递队列或无法到达队列。每台 Exchange 2010 传输服务器只有一个提交队列。提交队列中的邮件不能同时处于其他队列中。

  • 邮箱传递队列   邮箱传递队列存放使用加密 Exchange RPC 传递给邮箱服务器的邮件。只有中心传输服务器上存在邮箱传递队列。邮箱传递队列中存放的邮件将传递给其邮箱数据存储在中心传输服务器所在站点的邮箱服务器上的邮箱收件人。中心传输服务器上可以存在多个邮箱传递队列。邮箱传递队列的下一个跃点是邮箱存储的可分辨名称。

  • 远程传递队列   远程传递队列存放通过 SMTP 传递给远程服务器的邮件。中心传输服务器和边缘传输服务器上均可以存在远程传递队列,每台服务器上可以存在多个远程传递队列。每个远程传递队列包含将被路由到相同传递目标的收件人的邮件。在边缘传输服务器上,这些目标是外部 SMTP 域或 SMTP 连接器。在中心传输服务器上,这些目标位于中心传输服务器所在的 Active Directory 站点的外部。远程传递队列会在需要时进行动态创建,并且在队列不再存放邮件并且可配置的过期时间已过去时,将自动从服务器上删除。默认情况下,将在最后一封邮件离开队列之后三分钟后删除远程传递队列。远程传递队列的下一个跃点是 SMTP 域名、智能主机名或 IP 地址或者 Active Directory 站点名。

  • 带毒邮件队列   带毒邮件队列是一种特殊队列,用于隔离在服务器出现故障之后检测到的、可能对 Exchange 2010 系统有害的邮件,包含可能会严重威胁 Exchange 系统的错误的邮件将被传递到带毒邮件队列。此队列通常是空的,如果不存在任何带毒邮件,则队列查看界面中不会显示该队列。带毒邮件队列始终处于就绪状态。默认情况下,此队列中的所有邮件都处于挂起状态。如果认为邮件对系统有害,则可以删除这些邮件。如果确定使邮件进入带毒邮件队列的事件与该邮件无关,则可以恢复该邮件的传递。恢复传递后,邮件将进入提交队列。

  • 无法到达队列   每台传输服务器只能有一个无法到达队列。“无法到达”队列包含无法路由到目标地址的邮件。通常,修改了用于传递的路由路径的配置更改会导致无法到达目标地址。无论目标地址是什么,无法到达收件人的所有邮件均驻留在此队列中。

下表列出了存在于中心传输服务器或边缘传输服务器上的队列及其特征。

存在于中心传输服务器或边缘传输服务器上的队列

队列名 服务器角色 服务器上的队列数量

邮箱传递队列

集线器传输

每个唯一的目标邮箱服务器一个队列

带毒邮件队列

边缘传输

集线器传输

1

远程传递队列

边缘传输

集线器传输

边缘传输:每个唯一的目标 SMTP 域或智能主机有一个队列

集线器传输:每个唯一的远程 Active Directory 站点有一个队列

提交队列

边缘传输

集线器传输

1

无法到达的队列 (Unreachable queue)

边缘传输

集线器传输

1

通过传输收到邮件后,将创建传输邮件项并将其保存到数据库中。传输邮件项传入数据库时,会为其分配唯一标识符。如果要将邮件(或传输邮件项)路由到多个收件人,则该项可以包含多个目标。每个目标代表该传输邮件项的一个独立路由解决方案,每个路由解决方案将创建一个路由邮件项。

路由邮件项是传输邮件项的引用,是排队操作的运行单位。如果传输邮件项拥有多个路由解决方案,则多个路由邮件项将引用同一传输邮件项。发送给两个不同域中的收件人的邮件在传递队列中显示为两个不同的邮件,即使数据库中只有一个传输邮件项也是如此。

关于带毒邮件队列和无法到达队列

如果没有任何指向目标的已知路由,分类程序则将邮件发送到无法到达队列。通常,无法到达目标是影响传递路径的配置错误所致。例如,如果满足下列条件,邮件则将发送到无法到达队列:

  • 名为“Contoso.com”的远程传递队列中包含邮件。

  • 删除用于访问 Contoso.com 域的发送连接器。

默认情况下,无法到达队列中的邮件处于“就绪”状态。无法到达队列中的邮件从不会自动重新提交。邮件将保留在无法到达队列中,直到管理员手动重新提交或删除这些邮件,或者已达到 MessageExpirationTimeOut 参数中指定的值。

带毒邮件队列包含在服务器出现故障后确定可能对 Exchange 2010 服务器有害的邮件。可能这些邮件的内容和格式确实存在问题,此外,也可能是代理编写得不好所致,使 Exchange 服务器在处理可能的死信时出现故障。带毒邮件队列中的所有邮件都处于永久挂起状态。不能用带有 Resubmit 参数的 Retry-Queue cmdlet 重新提交带毒邮件队列。要重新提交带毒邮件队列中的邮件,可使用队列查看器或 Resume-Message cmdlet 恢复邮件。病毒邮件队列中的邮件绝不会自动恢复或过期。邮件将保留在带毒邮件队列中,直到管理员手动恢复或删除它们为止。

返回顶部

队列数据库文件

所有不同的队列都存储在一个 ESE 数据库中。默认情况下,此队列数据库位于 C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue。

与任何 ESE 数据库一样,队列数据库使用日志文件接受、跟踪和维护数据。为了提高性能,先将所有的邮件事务写入日志文件和内存中,然后再写入数据库文件中。检查点文件会跟踪已提交给数据库的事务日志条目。在 Microsoft Exchange 传输服务的正常关闭过程中,始终会将在事务日志中发现的未提交的数据库更改提交给数据库。

队列数据库使用循环日志记录。这表示将不会维护在事务日志中发现的已提交事务的历史记录。系统将立即自动删除任何早于当前检查点的事务日志。因此,在执行队列数据库恢复时,不能从备份重播事务日志。

下表列出了构成队列数据库的文件。

构成队列数据库的文件

文件 描述

Mail.que

此队列数据库文件存储所有排队的邮件。

Tmp.edb

此临时数据库文件用于验证启动时的队列数据库架构。

Trn*.log

该事务日志用于记录队列数据库的所有更改。数据库的更改首先写入事务日志,然后提交到数据库。Trn.log 是当前的活动事务日志文件。Trntmp.log 是提前创建接下来提供的事务日志文件。如果现有 Trn.log 事务日志文件达到其最大大小,则 Trn.log 将重命名为 Trnnnnn.log,其中 nnnn 是序列号。然后,Trntmp.log 重命名为 Trn.log,并用作当前的活动事务日志文件。

Trn.chk

此检查点文件会跟踪已提交给数据库的事务日志条目。该文件始终在与 mail.que 文件相同的位置中。

Trnres00001.jrs

Trnres00002.jrs

这些保留事务日志文件将用作占位文件。仅当包含事务日志的硬盘空间已满,使队列数据库完全停止时,才能使用它们。

用于配置队列数据库的选项

您不能使用 Exchange 管理控制台 (EMC) 或命令行管理程序配置队列数据库。您可以通过修改 EdgeTransport.exe.config 文件配置队列数据库。EdgeTransport.exe.config 文件是与 EdgeTransport.exe 文件关联的 XML 应用程序配置文件。

有关 EdgeTransport.exe.config 文件的详细信息,请参阅了解 EdgeTransport.exe.Config 文件

您可以在 EdgeTransport.exe.config 文件的 <appSettings> 部分中添加新配置选项或修改现有配置选项。很多与队列数据库完全无关的配置选项也可以使用。但是,它们不在本主题的介绍范围内,在此不予进行讨论。

下表描述了 EdgeTransport.exe.config 文件中可用的队列数据库的配置选项。

EdgeTransport.exe.config 文件中可用的邮件队列数据库配置选项

参数名称 描述

QueueDatabaseBatchSize

此参数指定在执行之前可以组合到一起的数据库 I/O 操作的数量。默认值为 40

QueueDatabaseBatchTimeout

该参数指定在数据库执行多个数据库 I/O 操作之前将等待它们进行组合的最长时间(毫秒)。如果以下条件为真,则执行数据库 I/O 操作,而不再进行任何等待:

  • 还没有达到 QueueDatabaseBatchSize 参数所指定的数据库 I/O 操作的数量。

  • 已超过 QueueDatabaseBatchTimeout 参数所指定的时间。

默认值为 100

QueueDatabaseMaxConnections

此参数指定可以打开的 ESE 数据库连接数。默认值为 4

QueueDatabaseLoggingBufferSize

该参数指定在将事务记录写入到事务日志文件之前用于缓存它们的内存。默认值为 5242880 个字节。

QueueDatabaseLoggingFileSize

该参数指定事务日志文件的最大大小。当达到最大日志文件大小时,将打开新日志文件。默认值为 5242880 个字节。

QueueDatabaseLoggingPath

该参数指定队列数据库日志文件的默认目录。默认值为 C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue。在更改队列数据库日志目录之前,请确保新目录已存在。还要确保对该目录应用以下文件权限:网络服务:完全控制;System:完全控制;Administrators:完全控制。

QueueDatabaseMaxBackgroundCleanupTasks

此参数指定可以随时排入数据库引擎线程池中的后台清理工作项目的最大数量。默认值为 32

QueueDatabaseOnlineDefragEnabled

该参数启用或禁用邮件队列数据库的已安排联机碎片整理。默认值为 $true

QueueDatabaseOnlineDefragSchedule

此参数指定一天中开始邮件队列数据库的联机碎片整理的时间(以 24 小时格式表示)。若要指定值,请输入一个时间:若要指定值,请输入一个时间跨度:hh:mm:ss,其中 h = 小时,m = 分钟,s = 秒。默认值为 1:00:00,这是 01: 00 或上午 1: 00

QueueDatabaseOnlineDefragTimeToRun

该参数指定允许联机整理碎片任务运行的时间。即使整理碎片任务未在指定的时间内完成,队列数据库仍将处于一致的状态。若要指定值,请输入一个时间跨度:若要指定值,请输入一个时间跨度:hh:mm:ss,其中 h = 小时,m = 分钟,s = 秒。默认值为 3:00:00

QueueDatabasePath

该参数指定队列数据库文件的默认目录。默认值为 C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue。在更改队列数据库目录之前,请确保新目录已存在。还要确保对该目录应用以下文件权限:网络服务:完全控制;系统:完全控制;管理员:完全控制。

返回顶部

队列管理

遇到邮件流问题或垃圾邮件传入时,可以执行操作,修改队列以及队列中的邮件的状态。可以对单个对象执行操作,也可以对多个所选对象执行批量操作。在 Exchange 2010 中使用队列查看器图形用户界面和命令行管理程序命令可以检索邮件和传递队列的相关信息。检索到此信息之后,可以选择要管理的队列和邮件。

可以使用队列查看器或命令行管理程序命令创建筛选条件,以便确定要管理的队列和邮件。筛选条件基于下列属性:

  • 队列状态

  • 队列属性

  • 邮件状态

  • 邮件属性

有关如何筛选队列的详细信息,请参阅筛选队列。有关如何筛选邮件的详细信息,请参阅筛选队列中的邮件

队列管理任务

使用队列查看器或命令行管理程序命令可以查看队列和邮件的有关信息。还可以使用这些工具执行下列操作:

  • 挂起队列   此操作暂时禁止传递当前队列中的邮件。队列继续接受新邮件,但是任何邮件都不会离开队列。有关详细信息,请参阅搁置队列

  • 恢复队列   此操作的作用与挂起队列操作相反,恢复排队邮件的传递。有关详细信息,请参阅恢复队列

  • 重试队列   连接到队列的下一个跃点失败时,将设置重试计时器。重试计时器安排后续的连接重试。重试队列操作将覆盖安排的下一次连接尝试并立即尝试连接到下一个跃点。如果未建立任何连接,则重置下一次重试的时间。有关详细信息,请参阅重试队列

    您还可以将 Retry-Queue cmdlet 与 Resubmit 参数一起使用,以使队列中的邮件重新提交到提交队列中并通过分类过程返回。您可以手动重新提交具有以下状态的邮件:

    • 处于“重试”状态的邮箱传递队列或远程传递队列。队列中的邮件不得处于“挂起”状态。

    • 在“无法到达”队列中但状态不是“已挂起”的邮件。

    • 带毒邮件队列中的邮件。

    有关详细信息,请参阅重新提交队列中的邮件

  • 挂起邮件   此操作暂时禁止传递邮件。可以使用挂起邮件操作来禁止将邮件传递给特定队列中的所有收件人或所有队列中的所有收件人。有关详细信息,请参阅挂起邮件

  • 恢复邮件   此操作的作用与挂起邮件操作相反,恢复排队邮件的传递。可以使用恢复邮件操作来继续将邮件传递给特定队列中的所有收件人或所有队列中的所有收件人。也可以使用此操作来重新提交带毒邮件队列中的邮件。有关详细信息,请参阅恢复邮件

  • 删除邮件   此操作永久禁止传递邮件。可以使用删除邮件操作来禁止将邮件传递给指定队列中的任何收件人或所有队列中的所有收件人。还可以将删除邮件操作配置为在删除邮件时,向发件人发送未送达报告 (NDR)。有关详细信息,请参阅从队列中删除邮件

  • 导出邮件   此操作将邮件复制到指定的文件路径。不会从队列中删除邮件,但是会将文件副本保存到某个文件位置。这样,组织中的管理员或官员可以以后再检查邮件。在导出邮件之前,必须在队列中挂起该邮件,以便在导出过程中不会继续通常的传递操作。导出格式与 MicrosoftOfficeOutlook 等电子邮件应用程序兼容。将邮件保存为 .eml 格式,以确保操作系统将文件与电子邮件应用程序关联。有关详细信息,请参阅从队列导出邮件

队列筛选方案

筛选将生成不同的队列视图。使用队列属性作为筛选器选项。通过指定筛选条件,可以快速找到队列并对队列执行操作。下列方案是如何使用队列筛选管理邮件流的示例:

  • 您从 Microsoft System Center Operations Manager 收到表示队列长度已超过设置的阈值的邮件。您希望调查是否存在服务器范围的邮件流问题。

    可以通过创建筛选器,查看邮件数超过您认为的正常数目的所有队列。如果表明存在邮件流问题,则可以在继续调查的同时,选中筛选结果中的所有队列并挂起这些队列。

  • 通过挂起多个队列来调查邮件流问题的原因。已确定问题原因是连接器配置不正确,现已得到解决。

    可以通过创建筛选器,查看状态为“已挂起”的所有队列,然后选中筛选结果中的所有队列并恢复这些队列。

筛选队列时要使用的队列属性

可以使用队列属性创建筛选器,找到符合指定条件的队列。下表列出了筛选可以依据的队列属性以及这些属性的有效值。

队列属性

队列查看器队列属性 命令行管理程序队列属性 属性类型

传递类型

DeliveryType

枚举

此值由所选的下一个跃点确定。所选的下一个跃点确定邮件排队要传递到的位置。若要在筛选器中使用传递类型属性,则必须使用为每个类型分配的常数值。传递类型可以是下列值之一:

  • DNSConnectorDelivery:邮件通过使用本地服务器上已配置为使用域名系统 (DNS) 解析路由的 SMTP 连接器进行排队以传递到外部收件人。

  • NonSmtpGatewayDelivery:邮件通过使用本地服务器上的非 SMTP 连接器进行排队以传递到外部收件人。

  • SmartHostConnectorDelivery:邮件通过使用本地服务器上已配置为使用智能主机解析路由的 SMTP 连接器进行排队以传递到外部收件人。

  • SmtpRelayWithinAdSitetoEdge:邮件通过使用本地 Active Directory 站点订阅的边缘传输服务器上的 SMTP 连接器进行排队以传递到外部收件人。

  • MapiDelivery:邮件将进行排队以传递到在位于本地 Active Directory 站点的邮箱服务器上拥有邮箱的收件人。

  • SmtpRelayWithinAdSite:邮件将进行排队以传递到与本地服务器位于同一 Active Directory 站点的集线器传输服务器。目标服务器可以是 SMTP 连接器的源服务器、路由组连接器的源服务器或展开服务器。

  • SmtpRelaytoRemoteAdSite:邮件将进行排队以传递到位于远程 Active Directory 站点的服务器。目标服务器可以是已配置为传输外部收件人邮件的连接器的源服务器、展开服务器或将邮件传递给位于远程 Active Directory 站点的邮箱收件人的集线器传输服务器。

  • SmtpRelaytoTiRg:邮件将进行排队以传递给 Exchange Server 2003 路由组。目标服务器可以是配置为传输外部收件人邮件的连接器的源服务器、展开服务器或将邮件传递给位于路由组的邮箱收件人的 Exchange 2003 桥头服务器。

  • Undefined:邮件处于提交队列,尚未解析下一个跃点目标。

  • Unreachable:邮件处于无法到达队列,无法建立与该收件人的路由。

Identity

Identity

队列标识

此值指定队列的标识。以 Server\destination 形式输入队列标识,其中的 destination 是远程域、邮箱服务器、永久队列名或在队列数据库中标识此队列的整数

上一错误

LastError

字符串

此值指定为队列记录的上一个错误的文本字符串。

上次重试时间

LastRetryTime

DateTime

此值指定状态为“重试”的队列上次尝试连接的时间。

邮件计数

MessageCount

Ulong

此值以代表队列中项目数的整数表示。

下一跃点连接器

NextHopConnector

GUID

此值以系统 GUID 表示,是用于创建队列的连接器的 GUID。

下一跃点域

NextHopDomain

字符串

此值指定传递队列的下一个目标。下一跃点域可以通过下列方式表示:

  • 远程 SMTP 域名

  • Exchange 服务器名称

  • 连接器名称

  • 路由组

  • Active Directory 站点名称

  • 邮箱服务器完全限定的域名 (FQDN)

下次重试时间

NextRetryTime

DateTime

此值指定状态为“重试”的队列下次尝试连接的时间。

状态

状态

枚举

此值指定当前的队列状态。队列可以使用下列状态值之一:

  • 主动

  • 已挂起

  • 就绪

  • 重试

筛选队列时要使用的运算符

创建队列筛选器时,必须包含运算符,以便匹配属性值。下表列出了可在筛选表达式中使用的比较运算符以及各个运算符的功能。

筛选器表达式运算符

运算符 命令行管理程序值 功能 命令行管理程序代码示例

等于

-eq

该运算符用于指定结果必须与表达式中提供的属性值完全匹配。

若要显示状态为“重试”的所有队列的列表,请运行以下命令:

Get-Queue -Filter {status -eq "retry"}

不等于

-ne

该运算符用于指定结果应与表达式中提供的属性值匹配。

若要显示状态不为“活动”的所有队列的列表,请运行以下命令:

Get-Queue -Filter {status -ne "active"}

大于

-gt

该运算符用于以整数形式表示的属性值。筛选结果只包含指定属性值大于表达式中提供的值的队列。

若要显示当前包含的邮件数大于 1,000 的队列的列表,请运行以下命令:

Get-Queue -Filter {messagecount -gt 1000}

大于或等于

-ge

该运算符用于以整数形式表示的属性值。筛选结果只包含指定属性值大于或等于表达式中提供的值的队列。

若要显示当前包含的邮件数等于或大于 1,000 的队列的列表,请运行以下命令:

Get-Queue -Filter {messagecount -ge 1000}

小于

-lt

该运算符用于以整数形式表示的属性值。筛选结果只包含指定属性值小于表达式中提供的值的队列。

若要显示当前包含的邮件数小于 1,000 的队列的列表,请运行以下命令:

Get-Queue -Filter {messagecount -lt 1000}

小于或等于

-le

该运算符用于以整数形式表示的属性值。筛选结果只包含指定属性值小于或等于表达式中提供的值的队列。

若要显示当前包含的邮件数等于或小于 1,000 的队列的列表,请运行以下命令:

Get-Queue -Filter {messagecount -le 1000}

包含

-like

该运算符用于以文本字符串形式表示的属性值。筛选结果只包含指定属性值包含表达式中提供的文本字符串的队列。可以在应用于文本字符串字段(而不是枚举类型的字段)的 -like 表达式中包含通配符 (*)。

若要显示目标为以 Contoso.com 结尾的任何 SMTP 域的传递队列的列表,请运行以下命令:

Get-Queue -Filter {identity -like "*Contoso.com"}

通过在命令行管理程序中使用 -and 运算符或在队列查看器中添加多个表达式,可以在队列筛选器中指定多个表达式。队列必须符合结果集中包含的所有条件。例如,以下命令的结果将显示目标为以 Contoso.com 结尾的任何 SMTP 域名并且当前包含的邮件数大于 500 的队列的列表。

Get-Queue -Filter {Identity -like "*Contoso.com*" -and MessageCount -gt 500}

邮件筛选方案

筛选会在队列中生成不同的邮件视图。通过指定筛选条件,可以迅速找到邮件并对其执行操作。将一封电子邮件发送给多个收件人时,此邮件可能会位于多个队列中。按邮件属性进行筛选时,可跨所有队列查找邮件。以下方案是如何使用邮件筛选管理邮件流的一些示例。

  • 在安装了边缘传输服务器角色的计算机上,提交队列中具有大量排队等待传递的邮件。其中很多邮件具有相同的主题。因此您会怀疑有人正在向组织发送垃圾邮件。可以创建一个筛选器来查看所有符合该主题条件的邮件。如果确定这些邮件为垃圾邮件,则可将其全部选中然后将其从传递队列中删除,而不必发送 NDR。

  • 用户报告邮件流缓慢。对队列进行检查,发现很多具有随机主题的邮件似乎来自单个域。可以创建一个筛选器来查看所有来自该域的已进入队列的邮件。如果确定这些邮件为垃圾邮件,则可将其全部选中然后将其从队列中删除,而不必发送 NDR。

筛选邮件时使用的邮件属性

可使用邮件属性创建筛选器并查找符合特定条件的邮件。下表列出了可以进行筛选的邮件属性以及与这些属性关联的值。

邮件属性

队列查看器邮件属性 命令行管理程序邮件属性 属性类型

接收日期

DateReceived

DateTime

在包含邮件所在队列的服务器接收邮件时,此值指定时间戳。

过期时间

ExpirationTime

DateTime

在邮件过期,并且如果无法进行传递,则从队列中删除时,此值指定时间戳。

发件人地址

FromAddress

SMTP 地址

此值指定邮件的发件人的 SMTP 地址。

Identity

Identity

Integer

此值是一个表示特定邮件的整数。邮件被接收以待处理时,队列数据库将分配邮件标识。您可包括一个可选服务器和队列标识来标识该邮件的唯一实例。该值可以表示为以下几种方式:

  • Server\QueueId\MessageId

  • Server\Poison\MessageId

  • MessageId

  • Server\MessageId

Internet 邮件 ID

InternetMessageId

字符串

此值指定位于邮件头中的 Message-ID: 邮件头字段的值。该属性值以 GUID 形式表示,后跟发送服务器的 SMTP 地址,如下例所示:

67D754D6103DC4FB3BA6BC7205DACABA61231@exchange.contoso.com

上一错误

LastError

字符串

此值指定为邮件记录的上一个错误的文本字符串。

邮件源名称

MessageSourceName

字符串

此值指定将此邮件提交给队列的组件名的文本字符串。

队列 ID

Queue

队列标识

该属性值指定邮件所在队列的标识。以 Server\destination 的形式输入队列标识,其中 destination 是远程域、邮箱服务器、持久性队列名称或排列数据库标识符。数据库标识符以整数形式表示,可通过查看邮件属性来确定。

重试次数

RetryCount

Integer

此值指定尝试将邮件传递到目标的次数。

SCL

SCL

Integer

垃圾邮件可信度 (SCL) 属性值指定邮件的 SCL。有效的 SCL 条目是从 0 到 9 的整数。空 SCL 属性值表示邮件尚未经过内容筛选器代理的处理。

大小 (KB)

大小

以字节为单位的大小

此值指定邮件的大小。

源 IP

SourceIP

IP 地址

此值指定将邮件提交到 Exchange 组织的外部服务器的 IP 地址。

状态

状态

枚举

此值指定当前的邮件状态。邮件可以具有下列状态值之一:

  • 活动   如果邮件在传递队列中, 则此邮件正准备传递到目标。如果邮件在提交队列中,则此邮件正在由分类程序进行处理。

  • 挂起   邮件由管理员挂起。

  • 暂停删除   邮件虽被管理员删除,但已在传递中。如果邮件传递出现错误,从而导致此邮件重新进入队列,则该邮件将被删除。否则,邮件传递将继续进行。

  • 暂停挂起   邮件虽被管理员挂起,但已在传递中。如果邮件传递出现错误,从而导致此邮件重新进入队列,则该邮件将被挂起。否则,邮件传递将继续进行。

  • 就绪   邮件正在队列中等待进行处理。

  • 重试   最后一次尝试连接邮件所在队列失败。邮件正在等待下一次队列重试。

主题

主题

字符串

此值指定以文本字符串形式表示的邮件主题。

在筛选邮件时使用的运算符

创建邮件筛选器时,为使属性值与筛选条件匹配,则必须包括一个运算符。下表列出了可在筛选表达式中使用的比较运算符以及各个运算符的功能。

筛选器表达式运算符

运算符 命令行管理程序值 功能 命令行管理程序代码示例

等于

-eq

该运算符用于指定结果必须与表达式中提供的属性值完全匹配。

显示处于“Retry”状态的所有邮件的列表:

Get-Message -Filter {status -eq "retry"}

不等于

-ne

该运算符用于指定结果应与表达式中提供的属性值匹配。

若要显示状态不为“活动”的所有邮件的列表,请运行以下命令:

Get-Message -Filter {status -ne "active"}

大于

-gt

该运算符用于以整数形式表示的属性值。筛选结果只包含指定属性值大于表达式中提供的值的邮件。

显示当前重试次数超过 3 的邮件列表:

Get-Message -Filter {retrycount -gt 3}

大于或等于

-ge

该运算符用于以整数形式表示的属性值。筛选结果只包含指定属性值大于或等于表达式中提供的值的邮件。

显示当前重试次数等于或大于 3 的邮件列表:

Get-Message -Filter {retrycount -ge 3}

小于

-lt

该运算符用于以整数形式表示的属性值。筛选结果只包含指定属性值小于表达式中提供的值的邮件。

显示 SCL 值小于 6 的邮件列表:

Get-Message -Filter {SCL -lt 6}

小于或等于

-le

该运算符用于以整数形式表示的属性值。筛选结果只包含指定属性值小于或等于表达式中提供的值的邮件。

显示 SCL 值等于或小于 6 的邮件列表:

Get-Message -Filter {SCL -le 6}

包含

-like

该运算符用于以文本字符串形式表示的属性值。筛选结果只包含指定属性值包含表达式中提供的文本字符串的邮件。可以在应用于文本字符串字段(而不是枚举类型的字段)的 -like 语句中包含通配符 (*)。

显示主题中包含 "payday loan" 文本的邮件列表:

Get-Messages -Filter {subject -like "*payday loan*"}

可以通过使用命令行管理程序中的 -and 比较运算符,或者通过在队列查看器中添加多个表达式来指定评估多个表达式的筛选器。邮件必须满足筛选器的所有条件才能包含在结果集中。例如,下列命令的结果将显示符合特定条件的邮件的列表,这些邮件是从域名以 Contoso.com 为结尾的任何电子邮件地址发送出来的,且其 SCL 大于 5。

Get-Message -Filter {FromAddress -like "*Contoso.com*" -and SCL -gt 5}

返回顶部

邮件重试间隔、重新提交间隔和过期间隔

传递失败的邮件可能会根据邮件来源和目的地要求重试、重新提交和设置过期期限等。重试是重新尝试与目标域、智能主机或邮箱服务器建立连接。重新提交是将邮件发送回提交队列的操作,以便分类程序重新处理。如果在指定时段内所有传递操作均失败,则称邮件超时或过期。邮件过期后,发件人会收到传递失败的通知。然后系统会从队列中删除该邮件。

在重试、重新提交或过期这三种情况下,均可以在系统对邮件执行自动操作前手动介入。

邮件重试的配置选项

传输服务器无法连接到下一个跃点时,队列的状态将变为“重试”。将继续尝试连接,直到队列过期或已建立连接。

自动邮件重试的配置选项

下表中描述了邮件重试间隔可用的配置选项。

邮件重试间隔可用的配置选项

参数名称 默认值 配置位置 描述

QueueGlitchRetryCount

4

EdgeTransport.exe.config

此参数指定传输服务器连接目标服务器遇到问题后立即尝试连接的次数。此类连接问题通常是时间非常短的网络中断所致。通常,除非网络不可靠并且继续出现许多意外断开连接的情况,否则,不必修改此参数。

QueueGlitchRetryInterval

1 分钟

EdgeTransport.exe.config

此参数控制 QueueGlitchRetryCount 参数指定的连接尝试之间的连接间隔。通常,除非网络不可靠并且继续出现许多意外断开连接的情况,否则,不必修改此参数。

TransientFailureRetryCount

6

Set-TransportServer cmdlet 或 EMC 中的传输服务器属性

此参数指定 QueueGlitchRetryCountQueueGlitchRetryInterval 参数所控制的连接尝试失败后尝试连接的次数。使 QueueGlitchRetryCountQueueGlitchRetryInterval 参数失效的连接问题可能是服务器重新启动或缓存 DNS 查找失败之类的事件所致。

TransientFailureRetryInterval

  • 集线器传输服务器:5 分钟

  • 边缘传输服务器:10 分钟

Set-TransportServer cmdlet 或 EMC 中的传输服务器属性

此参数控制 TransientFailureRetryCount 参数指定的连接尝试之间的连接间隔。

OutboundConnectionFailureRetryInterval

  • 集线器传输服务器:10 分钟

  • 边缘传输服务器:30 分钟

Set-TransportServer cmdlet 或 EMC 中的传输服务器属性

此参数指定以前失败的出站连接尝试的重试间隔。以前失败的连接尝试由 TransientFailureRetryCountTransientFailureRetryInterval 参数控制。

MessageRetryInterval

1 分钟

Set-TransportServer cmdlet

此参数指定状态为“重试”的各个邮件的重试间隔。建议您不要修改默认值,除非 Microsoft 客户服务和支持人员建议您这样做。

MailboxDeliveryQueueRetryInterval

5 分钟

EdgeTransport.exe.config

此参数控制集线器传输服务器之间的邮箱传递队列的重试间隔。

您可以在 EdgeTransport.exe.config 文件的 <appSettings> 部分中添加新配置选项或修改现有配置选项。可以使用许多与邮件重试间隔、重新提交间隔和过期间隔完全无关的配置选项。任何不涉及这些间隔的配置选项不在本主题的讨论范围内。

有关 EdgeTransport.exe.config 文件的详细信息,请参阅了解 EdgeTransport.exe.Config 文件

有关详细信息,请参阅配置邮件重试间隔、重新提交间隔和过期间隔

手动邮件重试的配置选项

如果邮箱传递队列或远程传递队列处于“重试”状态,可以在 EMC 中使用队列查看器或在命令行管理程序中使用 Retry-Queue cmdlet 手动强制立即尝试连接。手动重试优先于安排的下一次重试时间。如果连接未成功,则重置重试间隔计时器。传递队列必须处于“重试”状态,此操作才能生效。

有关详细信息,请参阅重试队列

延迟 DSN 邮件的配置选项

每次发生邮件传递失败之后,边缘传输服务器或集线器传输服务器会生成一个延迟发送状态通知 (DSN) 邮件,并将其排入队列以等待传递到未送达邮件的发件人。仅在指定的延迟通知超时间隔后且在该时间内送达邮件失败的情况下,才会发送此延迟 DSN 邮件。默认情况下,延迟通知超时间隔为 4 小时。此延迟可以防止由于临时邮件传输失败而引起发送不必要的延迟 DSN 邮件。可针对源自 Exchange 组织内部或外部的邮件选择性地启用或禁用发送延迟 DSN 通知邮件。

下表描述了延迟 DSN 通知邮件可用的配置选项。

延迟 DSN 通知邮件可用的配置选项

参数名称 默认值 位置 描述

DelayNotificationTimeOut

4 小时

Set-TransportServer

此参数指定服务器向邮件发件人发送延迟 DSN 邮件之前的等待时间。此参数的值应始终大于 TransientFailureRetryCount 参数值和 TransientFailureRetryInterval 参数值的乘积。

ExternalDelayDSNEnabled

$true

Set-TransportConfig

此参数指定延迟 DSN 邮件是否可发送到 Exchange 组织外部的邮件发件人。

InternalDelayDSNEnabled

$true

Set-TransportConfig

此参数指定延迟 DSN 邮件是否可发送到 Exchange 组织内部的邮件发件人。

有关详细信息,请参阅配置邮件重试间隔、重新提交间隔和过期间隔

邮件重新提交的配置选项

重新提交邮件可以将未送达的邮件发送回提交队列,以便分类程序重新进行处理。

自动邮件重新提交

如果传递队列处于“重试”状态并且在指定时段内一直无法成功地传递任何邮件,则将自动重新提交未送达的邮件。该时间由 EdgeTransport.exe.config 应用程序配置文件中的 MaxIdTimeBeforeResubmit 参数控制。默认情况下,MaxIdTimeBeforeResubmit 参数的值为 12 小时。只有邮箱传递队列或远程传递队列中的邮件可以进行自动重新提交。

有关详细信息,请参阅配置邮件重试间隔、重新提交间隔和过期间隔

手动邮件重新提交

可以在集线器传输服务器或边缘传输服务器上手动重新提交具有以下状态的邮件:

  • 处于“重试”状态的邮箱传递队列或远程传递队列。队列中的邮件不得处于“挂起”状态。

  • 无法到达队列中未处于“挂起”状态的邮件。

  • 带毒邮件队列中的邮件。

有关带毒邮件队列和无法到达队列的详细信息,请参阅本主题前面的“关于带毒邮件队列和无法到达队列”。

如果希望手动重新提交邮箱传递队列、远程传递队列或无法到达队列中的邮件,而不是等待 MaxIdleTimeBeforeResubmit 参数指定的时间,则必须使用包含 Resubmit 参数的 Retry-Queue cmdlet。若要手动重新提交带毒邮件队列中的邮件,可以使用队列查看器或 Resume-Message cmdlet 恢复邮件。

有关详细信息,请参阅下列主题:

手动重新提交邮件可以使用的另一种方式是挂起邮件,将邮件导出到文件扩展名为 .eml 的文本文件,然后将 .eml 文件复制到任何集线器传输服务器或边缘传输服务器上的重播目录。这种重新提交方法适用于邮箱传递队列、远程传递队列或无法到达队列中的邮件。带毒邮件队列中的邮件已处于“挂起”状态。提交队列中的邮件不得挂起或导出。

注释注意:
从队列中导出邮件时,不会将邮件从队列中删除。导出邮件并使用重播目录成功地重新提交这些邮件后,应删除挂起的邮件,以防重复提交邮件。

有关详细信息,请参阅从队列导出邮件重新提交队列中的邮件

邮件过期的配置选项

“邮件过期超时间隔”指定边缘传输服务器或集线器传输服务器尝试传递失败邮件的最长时间。如果无法在过期超时间隔结束之前成功传递邮件,则会将一个包含原始邮件或邮件头的 NDR 传递给发件人。

自动邮件过期

邮件过期超时间隔由 Set-TransportServer cmdlet 中的 MessageExpirationTimeOut 参数或 EMC 中的传输服务器属性控制。默认情况下,MessageExpirationTimeOut 参数的值为 2 天。

有关详细信息,请参阅下列主题:

手动邮件过期

尽管无法手动强制邮件过期,但是可以手动删除除了提交队列之外的任何其他队列中的邮件,可以发送或不发送 NDR。

有关详细信息,请参阅从队列中删除邮件

返回顶部

 © 2010 Microsoft Corporation。保留所有权利。