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

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上一次修改主题: 2006-10-30

安装了集线器传输服务器角色或边缘传输服务器角色的运行 Microsoft Exchange Server 2007 的计算机包含队列、发送连接器和接收连接器。队列存放必须传递的邮件。连接器建立入站路径或出站路径,以传递邮件。

无法成功送达的邮件受不同重试期限、重新提交期限和过期期限的约束,这取决于邮件的来源和目标。重试是重新尝试与目标域、智能主机或邮箱服务器建立连接。重新提交是将邮件发送回提交队列的操作,以便分类程序重新处理。如果在指定时段内所有传递操作均失败,则称邮件“超时”或过期。邮件过期后,将通知发件人传递失败。邮件将从队列中删除。

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

邮件重试的配置选项

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

自动邮件重试的配置选项

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

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

参数名 默认值 配置位置 说明

QueueGlitchRetryCount

4

EdgeTransport.exe.config

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

QueueGlitchRetryInterval

1 分钟

EdgeTransport.exe.config

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

TransientFailureRetryCount

6

Set-TransportServer cmdlet 或 Exchange 命令行管理程序中的传输服务器属性

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

TransientFailureRetryInterval

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

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

Set-TransportServer cmdlet 或 Exchange 命令行管理程序中的传输服务器属性

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

OutboundConnectionFailureRetryInterval

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

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

Set-TransportServer cmdlet 或 Exchange 命令行管理程序中的传输服务器属性

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

MessageRetryInterval

1 分钟

Set-TransportServer cmdlet

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

MailboxDeliveryQueueRetryInterval

5 分钟

EdgeTransport.exe.config

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

EdgeTransport.exe.config 文件是与 EdgeTransport.exe 文件关联的 XML 应用程序配置文件。EdgeTransport.exe 和 MSExchangeTransport.exe 是 Microsoft Exchange 传输服务所使用的可执行文件。此服务在每台集线器传输服务器或边缘传输服务器上运行。保存到 EdgeTransport.exe.config 文件的更改在 Microsoft Exchange 传输服务重新启动之后应用。

下面是 EdgeTransport.exe.config 文件结构的一个基本示例:

<configuration>

<runtime>

<gcServer enabled="true" />

</runtime>

<appSettings>

<add key=" 配置选项 " value=" " />

...

</appSettings>

</configuration>

<appSettings> 部分是可以添加新的配置选项或修改现有配置选项的位置。可以使用许多与邮件重试间隔、重新提交间隔和过期间隔完全无关的配置选项。任何不涉及这些间隔的配置选项不在本主题的讨论范围内。这里不会对其进行讨论。

note注意:
<add key=../> 部分中的参数名称区分大小写。

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

手动邮件重试的配置选项

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

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

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

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

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

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

参数名 默认值 位置 说明

DelayNotificationTimeOut

4 小时

Set-TransportServer

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

ExternalDelayDSNEnabled

$True

Set-TransportServer

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

InternalDelayDSNEnabled

$True

Set-TransportServer

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

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

邮件重新提交的配置选项

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

自动邮件重新提交

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

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

手动邮件重新提交

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

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

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

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

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

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

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

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

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

有关详细信息,请参阅如何导出并重新提交邮件

邮件过期的配置选项

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

自动邮件过期

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

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

手动邮件过期

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

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

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

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

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

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

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

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

详细信息

有关队列的详细信息,请参阅管理队列