Exchange Server 中的队列和消息

“队列”是等待进入下一个处理阶段或传递到目标的邮件的临时存放位置。 每个队列代表 Exchange 服务器按照特定顺序处理的邮件逻辑组。 在 Exchange 2016 和 Exchange 2019 中,队列在传递之前、传递期间和之后保存消息。 队列存在于邮箱服务器和边缘传输服务器上的传输服务中。 在本主题中,邮箱服务器和边缘传输服务器统称为“传输服务器”

与所有早期版本的 Exchange 一样,队列存储使用单个可扩展存储引擎 (ESE) 数据库。

可以使用 Exchange 工具箱中的 Exchange 命令行管理程序和队列查看器来管理队列和消息。 可以使用这些界面来查看队列的状态和内容以及详细的邮件属性。 还可以执行修改队列或队列中的邮件的操作。 有关详细信息,请参阅 队列 的过程和 队列中消息的过程

队列类型

Exchange 2016 和 Exchange 2019 中使用以下类型的队列,它们与 Exchange 2013 相同:

队列 服务器角色 说明
传递队列 邮箱服务器和边缘服务器 包含要传递到所有内部和外部目标的邮件。

当传递队列为空且过期时间已过,要求删除和自动删除传递队列时,则会动态创建传递队列。 队列过期时间由 Set-TransportService cmdlet 上的 QueueMaxIdleTime 参数控制。 默认值为 3 分钟。

在边缘传输服务器上,每个唯一的目标 SMTP 域或智能主机都有一个队列。

在邮箱服务器上,每个唯一的目标都有一个队列,如 NextHopSolutionKey 属性所述。 有关详细信息,请参阅本主题后面的 NextHopSolutionKey 部分。

所有邮件通过使用 SMTP 在 Exchange 2016 和 Exchange 2013 服务器间传输。 如果由传递代理连接器为目标提供服务,那么非 SMTP 目标也使用传递队列。 有关详细信息,请参阅 传递代理和传递代理连接器

病毒邮件队列 邮箱服务器和边缘服务器 在服务器或服务失败后,隔离包含错误并确定对 Exchange 有害的邮件。 这些邮件可能在内容和格式方面确实具有危害,也可能是由于编写不谨慎的传输代理或软件缺陷(导致 Exchange 服务器在处理有效邮件时崩溃)所致。

病毒邮件队列通常为空。 如果病毒邮件队列不包含任何邮件,则邮件也不会在队列管理工具中出现。 病毒邮件队列中的邮件绝不会自动恢复或过期。 邮件将保留在病毒邮件队列中,直到管理员手动恢复或删除它们为止。

每个邮箱服务器或边缘传输服务器仅有一个病毒邮件队列。

卷影队列 邮箱服务器 卷影队列在邮件传输时会保留邮件的冗余副本。 有关详细信息,请参阅 Exchange Server 中的阴影冗余
提交队列 邮箱服务器和边缘服务器 保存已由传输服务接受但未处理的邮件。 提交队列中的邮件要么在等待处理,要么正在积极地处理。

在邮箱服务器上,通过接收连接器、拾取或重播目录或邮箱传输提交服务接收邮件。 在边缘传输服务器上,通常通过接收连接器接收邮件,但也可以使用拾取目录和重播目录接收。

分类程序从此队列中检索邮件,并确定收件人的位置以及到达该位置的路由。 邮件在进行分类之后,会移动到传递队列或无法到达队列。 有关分类器和传输管道的详细信息,请参阅 邮件流和传输管道

每个邮箱服务器或边缘传输服务器仅有一个提交队列。

无法到达的队列 邮箱服务器和边缘服务器 包含无法路由到目标地址的邮件。 通常,修改了用于传递的路由路径的配置更改会导致无法到达目标地址。 无论目标地址是什么,无法到达收件人的所有邮件均驻留在此队列中。

每个邮箱服务器或边缘传输服务器仅有一个无法到达的队列。

队列数据库文件

所有不同的队列都存储在一个 ESE 数据库中。 默认情况下,此队列数据库位于 的传输服务器上 %ExchangeInstallPath%TransportRoles\data\Queue

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

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

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

文件 说明
Mail.que 此队列数据库文件存储所有排队的邮件。
Tmp.edb 此临时数据库文件用于验证启动时的队列数据库架构。
Trn*.log 事务日志用于记录队列数据库的所有更改。 数据库的更改首先写入事务日志,然后提交到数据库。 Trn.log 是当前的活动事务日志文件。 Trntmp.log 是提前创建接下来提供的事务日志文件。 如果现有 Trn.log 事务日志文件达到其最大大小,Trn.log 将重命名为 Trn nnnn.log,其中 nnnn 为序列号。 然后,Trntmp.log 重命名为 Trn.log,并用作当前的活动事务日志文件。
Trn.chk 此检查点文件会跟踪已提交给数据库的事务日志条目。 该文件始终在与 mail.que 文件相同的位置中。
Trnres00001.jrs

Trnres00002.jrs

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

Exchange 使用 生成表 来存储和清理队列数据库中的消息。 队列数据库不是从一个大表中处理和删除单个邮件记录,而是在基于时间的表格中存储邮件,而且仅在成功处理表中的所有邮件之后,删除整个表。 例如,请考虑以下示例:

  • 从下午 1:00 到下午 2:00 排队的所有消息(无论队列或目标如何)都存储在 1p-2p_msgs 表中。

  • 下午 2:00,新消息存储在 2p-3p_msgs 表中。

  • 下午 4:00,将创建一个名为 4p-5p_msgs 的新表。 仅当已成功处理表中的所有消息时,才会删除整个 1p-2p_msgs 表。

删除整个邮件表格而不是删除单个邮件的方法有助于提高保留队列数据库的驱动器的 I/O 性能。

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

通过在 XML 应用程序配置文件中添加或修改密钥来 %ExchangeInstallPath%Bin\EdgeTransport.exe.config 配置队列数据库。 此文件与 Microsoft Exchange 传输服务相关联。 对 EdgeTransport.exe.config 文件所做的更改在重启 Microsoft Exchange 传输服务后生效。

注意

安装 exExchangeNoVersion 累积更新 (CU) 时,将覆盖在 exExchangeNoVersion XML 应用程序配置文件 ((例如,web.config文件或EdgeTransport.exe.config文件) )中所做的任何自定义的每服务器 Exchange 或 Internet 信息服务器设置。 请务必保存此类信息,以便在安装累积更新后可以轻松地重新配置服务器。 安装 exExchangeNoVersion CU 后,必须重新配置这些设置。

<appSettings>EdgeTransport.exe.config 文件的部分是可以添加新密钥或修改现有密钥的位置。 如果特定键不存在,可以手动添加它以更改其值。

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

默认值 描述
QueueDatabaseBatchSize 40 指定在执行之前可以组合在一起的数据库 I/O 操作的数目。

默认情况下,EdgeTransport.exe.config 文件中不存在此键。

QueueDatabaseBatchTimeout 100 指定数据库在执行多个数据库 I/O 操作之前等待多个数据库 I/O 操作分组的最长时间(以毫秒为单位)。 如果满足以下条件,则执行数据库 I/O 操作时无需等待更多操作:
  • 尚未达到 QueueDatabaseBatchSize 键指定的数据库 I/O 操作数。
  • QueueDatabaseBatchTimeout 键指定的时间已过。

默认情况下,EdgeTransport.exe.config 文件中不存在此键。

QueueDatabaseMaxConnections 4 指定可以打开的 ESE 数据库连接数。
QueueDatabaseLoggingBufferSize 5MB 指定在事务记录写入事务日志文件之前用于缓存这些记录的内存。
QueueDatabaseLoggingFileSize 5MB 指定事务日志文件的最大大小。 达到最大日志文件大小时,将打开一个新的日志文件。
QueueDatabaseLoggingPath %ExchangeInstallPath%TransportRoles\data\Queue 指定队列数据库日志文件的默认目录。 有关如何更改队列数据库位置的说明,请参阅 更改队列数据库的位置
QueueDatabaseMaxBackgroundCleanupTasks 32 指定随时可排队到数据库引擎线程池的后台清理工作项的最大数目。
QueueDatabaseOnlineDefragEnabled True 启用或禁用邮件队列数据库的计划的联机碎片整理。

默认情况下,EdgeTransport.exe.config 文件中不存在此键。

QueueDatabaseOnlineDefragSchedule 1:00:00 或凌晨 1:00 以 24 小时格式指定一天中的时间,以开始邮件队列数据库的联机碎片整理。 若要指定值,请以时间跨度的形式输入值: hh:mm:ss,其中 h = 小时, m = 分钟, s = 秒。
QueueDatabaseOnlineDefragTimeToRun 3:00:00 或 3 小时 指定允许联机碎片整理任务运行的时间长度。 即使碎片整理任务未在指定的时间内完成,队列数据库也会保持一致状态。 若要指定值,请以时间跨度的形式输入值: hh:mm:ss,其中 h = 小时, m = 分钟, s = 秒。
QueueDatabasePath %ExchangeInstallPath%TransportRoles\data\Queue 指定队列数据库文件的默认目录。 有关如何更改队列数据库位置的说明,请参阅 更改队列数据库的位置

队列属性

队列有许多描述队列目的和状态的属性。 一些队列属性可应用到创建的队列中,且不能对其更改。 其他属性包括经常更新的状态大小、时间或其他指示器。

NextHopSolutionKey

Microsoft Exchange 传输服务中分类程序的路由组件选择邮件的目标,并且此目标用于创建传递队列。 每个收件人都标有目标,作为 NextHopSolutionKey 属性。 NextHopSolutionKey 属性的每个唯一值对应于单独的传递队列。

NextHopSolutionKey 属性包含以下字段:

  • DeliveryType:表示邮件分类的结果,以及传输服务打算如何将消息传输到下一跃点,该跃点可以是邮件的最终目标,也可以是沿途的中间跃点。 传输服务将预定义值列表用于 DeliveryType

    根据 DeliveryType 的值, NextHopCategory 属性将添加到队列中:

    • 该值 External 指示队列的下一跃点在 Exchange 组织之外。

    • 该值 Internal 指示队列的下一跃点位于 Exchange 组织中。

      请注意,外部收件人的邮件在外部传递之前可能需要一个或多个内部跃点。

  • NextHopDomain:根据 DeliveryType 字段的值使用特定值。 对于传递队列,字段的值实际上就是队列的名称。

    NextHopDomain 的值并不总是一个域名。 例如,值可以是目标 Active Directory 站点或数据库可用性组 (DAG) 的名称。 将此字段视为下一个跃点名称

  • NextHopConnector:根据 DeliveryType 字段的值使用特定值。 此值通常表述为 GUID。 如果未使用此字段,那么其值是均为零的 GUID。

    NextHopConnector 的值不总是连接器的 GUID。 例如,此值可能是目标 Active Directory 站点或 DAG 的 GUID。 将此字段视为下一个跃点 GUID

DeliveryTypeNextHopCategoryNextHopDomainNextHopConnector 的值都在下表中说明。

队列查看器中的传递类型 Exchange 命令行管理程序 中的 DeliveryType 说明 NextHopCategory NextHopDomain NextHopConnector
传递代理 DeliveryAgent 队列会保留传递到非 SMTP 地址空间(由传递代理和传递代理连接器为其提供服务)中收件人的邮件。 该连接器具有配置为源服务器的本地邮箱服务器。 有关详细信息,请参阅 传递代理和传递代理连接器 外部 此值为在传递代理连接器上配置的目标地址空间。 例如,MOBILE 此值为传递代理连接器的 GUID。 例如,4520e633-d83d-411a-bbe4-6a84648674ee
DnsConnectorDelivery DnsConnectorDelivery 队列会保留传递到 SMTP 域中收件人的邮件。 为域提供服务的发送连接器具有配置为源服务器的本地传输服务器,并且发送连接器已配置为使用 DNS 路由。 External 此值为在发送连接器上配置的目标地址空间。 例如,contoso.com 此值为发送连接器的 GUID。 例如,4520e633-d83d-411a-bbe4-6a84648674ee
Heartbeat Heartbeat 此值保留供 Microsoft 内部使用。 有关检测信号的详细信息,请参阅 Exchange Server 中的阴影冗余 不适用 不适用
MapiDelivery MapiDelivery 注意:Exchange 2013 或更高版本不使用此值。 向后与 Exchange 2010 兼容时将其包含在内。

队列保留由 Exchange 2010 集线器传输服务器传递到本地 Active Directory 站点的 Exchange 2010 邮箱服务器上邮箱的邮件。

不适用 不适用 不适用
NonSmtpGatewayDelivery NonSmtpGatewayDelivery 队列会保留传递到非 SMTP 地址空间(由外部连接器为其提供服务)中收件人的邮件。 该连接器具有配置为源服务器的本地邮箱服务器。 有关详细信息,请参阅Foreign Connectors 外部 此值为在外部连接器上配置的目标地址空间。 例如,FAX 此值为外部连接器的 GUID。 例如,4520e633-d83d-411a-bbe4-6a84648674ee
卷影冗余 ShadowRedundancy 队列会保留卷影队列中的邮件。 卷影队列保留传输中邮件的冗余副本以防主邮件没有成功传递。 有关详细信息,请参阅 Exchange Server 中的阴影冗余 内部 此值为让卷影队列保留主邮件冗余副本的主传输服务器的 FQDN。 例如,mailbox01.contoso.com 此值为 00000000-0000-0000-0000-000000000000
SmartHostConnectorDelivery SmartHostConnectorDelivery 队列会保留传递到 SMTP 域中收件人的邮件。 为域提供服务的发送连接器具有配置为源服务器的本地传输服务器,并且发送连接器已配置为使用智能主机路由。 外部 此值为在发送连接器上配置的智能主机列表。 智能主机可配置为 FQDN 和/或 IP 地址。 值可以是下列之一:

FQDN:语法为 <FQDN1,FQDN2,...>。 例如,smarthost01.contoso.comsmarthost01.contoso.com,smarthost02.fabrikam.com

IP 地址:语法为 <[IPAddress1],[IPAddress2],...>。 例如,[10.10.10.100][10.10.10.100],[10.10.10.101]

FQDN 和 IP 地址:语法为 <[IPAddress1],FQDN1,...>,取决于智能主机在发送连接器上的列出方式。 例如,[172.17.17.7],relay.tailspintoys.commail.contoso.com,[192.168.1.50]

此值为发送连接器的 GUID。 例如,4520e633-d83d-411a-bbe4-6a84648674ee
SMTP 传递到 Ex Online SmtpDeliveryToExo 本地 Exchange 中不使用此值。 不适用 不适用 不适用
SMTP 传递到邮箱 SmtpDeliveryToMailbox 队列保存要传递到 Exchange 2013 或更高版本邮箱收件人的邮件。 目标邮箱数据库位于下列位置之一:
  • 本地 Exchange 2013 或更高版本邮箱服务器。
  • 同一 Exchange 2019 DAG 中的 Exchange 2019 邮箱服务器。
  • 同一个Exchange 2016 DAG 中的 Exchange 2016 邮箱服务器。
  • 同一个Exchange 2013 DAG 中的 Exchange 2013 邮箱服务器。
  • 非 DAG 环境中的同一 Active Directory 站点中的 Exchange 2013 或更高版本邮箱服务器。
内部 此值为目标邮箱数据库的名称。 例如,Mailbox Database 0471695037 此值为目标邮箱数据库的 GUID。 例如,6dcb5a1e-0a88-4fc9-b8f9-634c34b1a123
SMTP 中继到发送连接器源服务器 SmtpRelayToConnectorSourceServers 队列保存要传递到 SMTP 或非 SMTP 地址空间的邮件,这些空间由发送连接器、传递代理连接器或外部连接器提供服务。 该连接器具有配置为源服务器的远程传输服务器。

远程传输服务器可以是 Exchange 2013 或更高版本的邮箱服务器或 Exchange 2010 中心传输服务器。

该远程传输服务器可能位于本地 Active Directory 站点或远程 Active Directory 站点中。

内部 此值为目标发送连接器、传递代理连接器或外部连接器的名称。 例如,Contoso.com Send Connector 此值为目标发送连接器、传递代理连接器或外部连接器的 GUID。 例如,4520e633-d83d-411a-bbe4-6a84648674ee
SMTP 中继到数据库可用性组 SmtpRelayToDag 队列保存要传递到 Exchange 2013 或更高版本邮箱收件人的邮件,目标邮箱数据库位于远程 DAG 中。

该远程 DAG可能位于本地 Active Directory 站点或远程 Active Directory 站点中。

内部 此值为目标 DAG 的名称。 例如,DAG1 此值为目标 DAG 的 GUID。 例如,6dcb5a1e-0a88-4fc9-b8f9-634c34b1a123
SMTP 中继到邮箱传递组 SmtpRelayToMailboxDeliveryGroup 队列保存要传递到旧邮箱收件人的邮件,其中目标邮箱位于 Exchange 2010 邮箱服务器上。 邮件与 Exchange 2010 集线器传输服务器相关联。

该目标 Exchange 2010 集线器传输服务器可能位于本地 Active Directory 站点或远程 Active Directory 站点中。

内部 队列名称使用语法: Site:<ADSiteName>;Version:<ExchangeVersion>,其中 <ADSiteName> 是目标 Active Directory 站点的名称, <ExchangeVersion> 是邮箱服务器上的 Exchange 2010 版本。 此值为空。
SMTP 中继到远程 Active Directory 站点 SmtpRelayToRemoteActiveDirectorySite 队列保存要传递到远程目标的消息,路由拓扑要求通过特定的 Active Directory 站点路由消息。 此站点是通往最终目标的中间跃点。 在以下环境情况下会出现此情况:

需要通过集线器站点来路由邮件。

需要通过远程 Active Directory 站点订阅的边缘传输服务器上配置的发送连接器来传递邮件。

内部 此值是目标 Active Directory 站点名称。 例如,NorthAmericaSite 此值是目标 Active Directory 站点的 GUID。 例如,bfd6c3df-5b65-8bfb-53f1f2c0d55c
SMTP 中继到指定远程林 SmtpRelayToRemoteForest 此值未在本地 Exchange 中使用 不适用 不适用 不适用
SMTP 中继到指定的 Exchange 服务器 SmtpRelayToServers 队列会保留传递到为指定展开服务器配置的通讯组的邮件。 扩展服务器可以是 Exchange 2013 或更高版本的邮箱服务器或 Exchange 2010 中心传输服务器。

该扩展服务器可能位于本地 Active Directory 站点或远程 Active Directory 站点中。

内部 此值为目标展开服务器的 FQDN。 例如,mailbox01.contoso.com 此值为 0000000-0000-0000-0000-000000000000
SmtpRelayToTiRg SmtpRelayToTiRg 注意:Exchange 2013 或更高版本不使用此值。 向后与 Exchange 2010 兼容时将其包含在内。

队列保留由 Exchange 2010 集线器传输服务器传递到 Exchange 2003 路由组的邮件。

不适用 不适用 不适用
Active Directory 站点中的 SMTP 中继 SmtpRelayWithinAdSite 注意:Exchange 2013 或更高版本不使用此值。 向后与 Exchange 2010 兼容时将其包含在内。

队列保留由 Exchange 2010 集线器传输服务器传递到同一 Active Directory 站点中另一个集线器传输服务器的邮件。

不适用 不适用 不适用
Active Directory 站点中的 SMTP 中继到边缘传输服务器 SmtpRelayWithinAdSiteToEdge 队列保留传递到外部 SMTP 域(由在边缘传输服务器上配置的发送连接器为其提供服务)的邮件。 向本地 Active Directory 站点订阅边缘传输服务器。 内部 此值为将出站 Internet 邮件从边缘传输服务器发送到 Internet 的发送连接器的名称。 此发送连接器由 Edge 订阅自动创建,名为 EdgeSync - <ADSiteName> to Internet。 此值为发送连接器的 GUID。 例如,4520e633-d83d-411a-bbe4-6a84648674ee
Undefined Undefined 此值只用于提交队列和病毒邮件队列。 内部 对于提交队列,此值为 Submisssion。 对于有害消息队列,此值为 Poison Message 此值为 00000000-0000-0000-0000-000000000000
遥 不可 及 Unreachable 此值只用于无法到达队列。 内部 此值为 Unreachable Domain 此值为 00000000-0000-0000-0000-000000000000

传入率、传出率和速度

Exchange 测量消息进入和离开队列的速率,并将这些值存储在队列属性中。 可以使用这些速率作为队列和传输服务器运行状况的指示器。 属性如下表所述:

属性 说明
IncomingRate 邮件进入队列的速率。 该速率是上一分钟内平均每秒的邮件数。
传出率 邮件离开队列的速率。 该速率是上一分钟内平均每秒的邮件数。
Velocity 队列的消耗率,通过 OutgoingRate 的值减去 IncomingRate 的值计算得出。

如果值大于 0,那么邮件离开队列的速度大于邮件进入队列的速度。

如果值等于 0,那么邮件离开队列的速度等于邮件进入队列的速度。 当队列不活动时,也会看到值。

如果值小于 0,那么邮件进入队列的速度大于邮件离开队列的速度。

Velocity 值显示在 Get-Queue 的结果中。

在基本级别, Velocity 的正值表示有效消耗的是一个正常的队列, Velocity 的负值表示队列没有有效消耗。 但是,还需要考虑 IncomingRateOutgoingRateMessageCount 的值,以及 Velocity 的度量值。

例如,考虑一个具有以下属性值的队列。

  • 速度:-50
  • MessageCount:1000
  • 传出率:10
  • IncomingRate: 60

基于此队列的属性值, Velocity 的负值清楚地表明该队列消耗不正常。

现在考虑一个具有以下属性值的队列。

  • 速度:-0.85
  • MessageCount: 2
  • 传出率:0.15
  • IncomingRate:1

虽然 Velocity 的值为负,但它非常接近零,并且其他属性的值也非常小。 因此,此队列的 Velocity 负值并不表明队列有问题。

队列状态

队列的当前状态存储在队列的 Status 属性中。 队列可以有一个下表所述的状态值:

队列状态 说明
活动 队列正在主动传输邮件。
正在连接 队列处于连接到下一个跃点的过程中。
就绪 最近向队列传输了邮件,但是队列现在是空的。
重试 最后一次自动或手动连接尝试失败,队列正等待重试连接。
已暂停 此队列已经被管理员手动挂起以禁止邮件传递。 新邮件可以进入队列,正在传输到下一个跃点的邮件将会结束传递并离开队列。 否则,要等到管理员手动恢复了队列后,邮件才能离开队列。

注意:

可以暂停以下队列:

  • 处于任何状态的传递队列。
  • "无法到达"队列。 如果挂起此队列,当检测到配置更新后,邮件不再自动重新提交到分类程序中。 若要自动重新提交这些邮件,需要手动恢复此队列。
  • 提交队列。 如果挂起此队列,则在恢复队列之前,分类程序不会选取邮件。

挂起队列并不改变队列中邮件的状态。

其他队列属性

还有一些其他一目了然的队列属性。 最常使用的作为筛选器选项的队列属性。 通过指定筛选条件,可以快速找到队列并对队列执行操作。 有关可筛选队列属性的完整说明,请参阅 队列属性

在此还值得一提的队列的重要属性就是 MessageCount 属性,它显示了一个队列中的邮件数量。 这是队列运行状况的一个重要指示器。 例如,一个包含持续增加从不减少的大量邮件的传递队列可能表示需要关注路由或传输管道问题。

邮件属性

队列中的邮件有许多属性。 许多属性都反映了用于创建邮件的信息。 一些邮件状态和信息属性受到队列相应属性的严重影响。 但是,单封邮件可能与队列的相应属性的值不同。 其他属性包括经常更新的状态、时间或其他指示器。

邮件状态

邮件的当前状态存储在邮件的 Status 属性中。 邮件可以有一个下表所述的状态值:

邮件状态 说明
活动 如果邮件在传递队列中,则此邮件正准备传递到目标。 如果邮件在提交队列中,则此邮件正在由分类程序进行处理。
已锁定 此值保留供 Microsoft 内部使用,不在本地 Exchange 组织中使用。
PendingRemove 邮件虽被管理员删除,但已在传输到下一跃点的行动中。 如果邮件传递出现错误,从而导致此邮件重新进入队列,则该邮件将被删除。 否则,邮件传递将继续进行。
PendingSuspend 邮件虽被管理员挂起,但已在传输到下一跃点的行动中。 如果邮件传递出现错误,从而导致此邮件重新进入队列,则该邮件将被挂起。 否则,邮件传递将继续进行。
就绪 邮件正在队列中等待进行处理。
重试 最后一次尝试自动或手动连接邮件所在队列失败。 邮件正在等待下一次队列自动连接重试。
已暂停 邮件由管理员手动挂起。

病毒邮件队列中的任何邮件都处于永久挂起状态。

其他邮件属性

还有一些其他一目了然的邮件属性。 最常使用的作为筛选器选项的邮件属性。 通过指定筛选条件,可以迅速找到邮件并对其执行操作。 有关可筛选消息属性的完整说明,请参阅 队列中消息的属性

管理队列和队列中的邮件

Exchange 命令行管理程序中的队列查看器以及历史队列和消息管理 cmdlet 仅限于单个 Exchange 服务器。 可以查看或操作单个或多个队列或邮件,但是只能在一个指定的服务器上进行。

Exchange 2013 中引入了 Get-QueueDigest cmdlet,以提供特定范围内所有服务器上队列状态的高级聚合视图。 该作用域可以是 DAG、Active Directory 站点、服务器列表或整个 Active Directory 林。 请注意,外围网络中已订阅的边缘传输服务器上的队列不包括在结果中。 此外, Get-QueueDigest 在边缘传输服务器中可用,但结果仅限于边缘传输服务器上的队列。

注意

默认情况下,Get-QueueDigest cmdlet 显示包含 10 封或更多邮件的传递队列,而且结果每一到两分钟更新一次。 有关如何更改这些默认值的说明,请参阅 配置 Get-QueueDigest

下表说明了可以对队列或队列中的邮件执行的管理任务。

任务 说明 使用工具 说明
在服务器上查看和筛选队列 在传输服务器上显示一个或多个队列。 可以使用结果来对队列进行操作。 队列查看器或 Get-Queue cmdlet。 队列过程
查看并筛选特定 DAG 中的特定服务器上、特定 Active Directory 站点上或整个 Active Directory 林中的队列。 显示队列的摘要列表。 Get-QueueDigest cmdlet 队列过程
挂起队列 暂时禁止传递当前队列中的邮件。 队列继续接受新邮件,但是任何邮件都不会离开队列。 队列查看器或 Suspend-Queue cmdlet。 队列过程
恢复队列 作用与挂起队列操作相反,恢复排队邮件的传递。 队列查看器或 Resume-Queue cmdlet。 队列过程
重试队列 立即尝试连接下一跃点。 在没有手动干涉的情况下,当无法连接到下一跃点时,在每次尝试的特定时间间隔后,会以特定次数尝试连接。

不论连接尝试是手动还是自动,任何连接尝试都会重置下一次重试时间。 有关详细信息,请参阅邮件重试间隔、重新提交间隔和过期间隔

队列查看器或 Retry-Queue cmdlet。 队列过程
重新提交队列中的邮件 导致队列中的邮件被重新提交到提交队列并通过分类过程返回。 使用 Resubmit 参数的 Retry-Queue

请注意,可以使用队列查看器重新提交消息,但只能从有害消息队列提交消息。 若要重新提交有害消息,首先需要在队列查看器中或使用 Resume-Message cmdlet 恢复消息。

队列过程
挂起队列中的邮件 暂时禁止传递邮件。 可以使用挂起邮件操作来禁止将邮件传递给特定队列中的所有收件人或所有队列中的所有收件人。 队列查看器或 Suspend-Message cmdlet。 队列中消息的过程
恢复队列中的邮件 作用与挂起邮件操作相反,恢复排队邮件的传递。 可以继续将邮件传递给特定队列中的所有收件人或所有队列中的所有收件人。 队列查看器或 Resume-Message cmdlet。 队列中消息的过程
删除队列中的邮件 永久禁止传递邮件。 可以禁止将邮件传递给指定队列中的任何收件人或所有队列中的所有收件人。 (可选),删除邮件时,可以向发件人发送未送达报告(也称为 NDR、传递状态通知、DSN 或退回邮件)。 队列查看器或 Remove-Message cmdlet。 队列中消息的过程
从队列中导出邮件 将邮件复制到指定的位置。 不会从队列中删除邮件,但是会将邮件副本另存为指定位置中的一个文件。 这样,组织中的管理员或官员可以以后再检查邮件。 在导出邮件之前,需要暂时挂起该邮件。 Export-Message cmdlet。 从队列导出邮件