消息重试、重新提交和过期间隔Exchange Server
在Exchange Server中,无法成功传递的邮件将受到各种重试、重新提交和过期截止时间的约束,具体取决于邮件的源和目标。 “重试”是重新尝试与目的地建立连接。 “重新提交”是将邮件发送回提交队列的操作,以便分类程序重新处理。 如果在指定时段内所有传递操作均失败,则邮件“过期”。 消息过期后,发送方会收到传递失败的通知,并从队列中删除该消息。
在重试、重新提交或过期这三种情况下,均可以在系统对邮件执行自动操作前手动介入。
有关如何配置这些间隔的说明,请参阅配置邮件重试间隔、重新提交间隔和过期间隔。
邮件重试的配置选项
当邮箱服务器或边缘传输服务器上的传输服务无法连接到下一跃点时,队列的状态为“重试”。 将继续尝试连接,直到队列过期或已建立连接。
EdgeTransport.exe.config 文件中自动消息重试的配置选项
下表介绍了 XML 应用程序配置文件中 %ExchangeInstallPath%Bin\EdgeTransport.exe.config
可用的自动消息重试间隔设置。
注意
在 Exchange 服务器上的 Exchange XML 应用程序配置文件(例如,安装 Exchange CU 时,将 覆盖 web.config文件或EdgeTransport.exe.config文件) )中所做的任何自定义 Exchange 或 Internet 信息服务器 (IIS () 设置。 请务必保存此信息,以便在安装后轻松重新应用设置。 安装 Exchange CU 后,需要重新配置这些设置。
自动消息重试密钥名称 | 默认值 | 描述 |
---|---|---|
MailboxDeliveryQueueRetryInterval |
00:05:00 (5 分钟) |
队列尝试连接到无法成功访问的目标邮箱数据库的邮箱传输传递服务的频率。 若要指定值,请将其输入为时间跨度: 有效值是一天) 从 (一秒) 到 |
QueueGlitchRetryCount | 4 | 当传输服务器无法连接到目标服务器时立即尝试的连接次数。 此类连接问题通常是时间非常短的网络中断所致。 有效值是介于 0 到 15 的整数。 通常,无需修改此密钥,除非网络不可靠,并持续遇到许多意外断开的连接。 |
QueueGlitchRetryInterval |
00:01:00 (1 分钟) |
QueueGlitchRetryCount 键指定的每次连接尝试之间的连接间隔。 通常,无需修改此参数,除非网络不可靠,并且继续遇到许多意外断开的连接。 |
Exchange 管理中心和 Exchange 命令行管理程序中自动邮件重试的配置选项
下表介绍了 Exchange 管理中心 (EAC) 和 Exchange 命令行管理程序中提供的自动消息重试间隔设置。
自动消息重试设置 | 默认值 | Exchange 命令行管理程序 配置 | 邮箱服务器上的 Exchange 管理中心配置 |
---|---|---|---|
消息重试间隔:状态为“重试”的单个消息的重试间隔。 | 15 分钟 (00:15:00 ) 建议不要修改默认值,除非 Microsoft 客户服务和支持人员或特定产品文档指示你这样做。 |
Cmdlet: Set-TransportService cmdlet 参数: MessageRetryInterval |
不适用 |
出站连接失败重试间隔:以前失败的出站连接尝试的重试间隔。 以前失败的连接尝试由暂时性失败重试计数和间隔值控制。 | 邮箱服务器上的传输服务: () 00:10:00 10 分钟 边缘传输服务器:30 分钟 ( |
Cmdlet: Set-TransportService 参数: OutboundConnectionFailureRetryInterval |
服务器> 选择“服务器 >编辑 () >传输限制>重试 部分 >出站连接失败重试间隔 (秒) |
暂时性失败重试计数:队列故障重试计数和间隔值失败后尝试的连接尝试次数。 这些失败可能是由服务器重启或缓存的 DNS 查找失败引起的。 有效值是介于 0 到 15 的整数。 值 0 表示下一次连接尝试由出站连接失败重试间隔控制。 |
6 | Cmdlet: Set-TransportService 参数: TransientFailureRetryCount |
服务器> 选择服务器 >编辑 () >传输限制>重试 部分 >暂时性失败重试 |
暂时性失败重试间隔:由暂时性失败重试计数值指定的每次连接尝试之间的连接间隔。 | 邮箱服务器上的传输服务: (00:05:00 5 分钟) 边缘传输服务器:10 分钟 ( |
Cmdlet: Set-TransportService 参数: TransientFailureRetryInterval |
服务器> 选择“服务器 >编辑 () >传输限制>重试 部分 >暂时性失败重试间隔 (分钟) |
手动邮件重试的配置选项
当传递队列处于“重试”状态时,可以使用 Exchange 工具箱中的队列查看器或 Exchange 命令行管理程序中的 Retry-Queue cmdlet 手动强制立即连接尝试。 手动重试优先于安排的下一次重试时间。 如果连接未成功,则重置重试间隔计时器。 传递队列必须处于"重试"状态,此操作才能生效。 有关详细信息,请参阅 重试队列。
延迟 DSN 邮件的配置选项
每次邮件传递失败后,边缘传输服务器或邮箱服务器上的传输服务都会 (DSN) 邮件生成延迟传递状态通知,并排队将其发送到无法传递的邮件的发件人。 此延迟 DSN 消息仅在延迟通知间隔过后发送, (默认值为 4 小时) ,并且仅在该时间内未成功传递消息时才发送。 此延迟可防止由于最终解决的临时消息传输失败而发送不必要的延迟 DSN 消息。 对于源自 Exchange 组织内部或外部的邮件,可以选择性地启用或禁用延迟 DSN 通知邮件的发送。
下表描述了延迟 DSN 通知邮件可用的配置选项。
延迟 DSN 设置 | 默认值 | Exchange 命令行管理程序 配置 | 邮箱服务器上的 Exchange 管理中心配置 |
---|---|---|---|
延迟通知超时:服务器在向发送方发送延迟 DSN 消息之前等待的时间。 此值应始终大于暂时性失败重试计数乘以暂时性失败重试间隔, (邮箱服务器上的默认总计为 30 分钟,在边缘传输服务器上为 1 小时) 。 |
4 小时 (4:00:00 ) |
Cmdlet: Set-TransportService 参数: DelayNotificationTimeOut |
服务器> 选择“服务器 >编辑 () >传输限制>“通知 ”部分 >,当邮件在 (小时后延迟时通知发件人) |
已启用外部延迟 DSN:指定是否可以将延迟 DSN 邮件发送给外部邮件发件人 (Exchange 组织外部的发件人) 。 ExternalDelayDSNEnabled |
$true |
Cmdlet: Set-TransportConfig 参数: ExternalDelayDSNEnabled |
不可用 |
已启用内部延迟 DSN:指定是否可以将延迟 DSN 邮件发送到内部邮件发件人 (Exchange 组织内部的邮件发件人) 。 | $true |
Cmdlet: Set-TransportConfig 参数: InternalDelayDSNEnabled |
不可用 |
邮件重新提交的配置选项
重新提交邮件可以将未送达的邮件发送回提交队列,以便分类程序重新进行处理。 有关分类器和提交队列的详细信息,请参阅 了解邮箱服务器上的传输服务。
自动邮件重新提交
如果传递队列处于“重试”状态且在指定时间段内无法成功传递任何消息,则传递队列中未传递的消息将自动重新提交。 该时间段由 XML 应用程序配置文件中的 %ExchangeInstallPath%Bin\EdgeTransport.exe.config
MaxIdleTimeBeforeResubmit 键控制。 默认值为 12:00:00
或 12 小时。
注意
在 Exchange 服务器上的 Exchange XML 应用程序配置文件(例如,安装 Exchange CU 时,将 覆盖 web.config文件或EdgeTransport.exe.config文件) )中所做的任何自定义 Exchange 或 Internet 信息服务器 (IIS () 设置。 请务必保存此信息,以便在安装后轻松重新应用设置。 安装 Exchange CU 后,需要重新配置这些设置。
手动邮件重新提交
可以使用以下方法手动重新提交消息:
- 重新提交状态为“重试”的传递队列,或重新提交“无法访问”队列。 有关详细信息,请参阅 重新提交队列。
- 在有害消息队列中重新提交消息。 有关详细信息,请参阅 在有害消息队列中重新提交消息。
- 暂停队列、挂起队列中的邮件、将邮件导出到文件,然后将文件复制到任何邮箱服务器或边缘传输服务器上的 Replay 目录。 有关详细信息,请参阅从队列导出邮件。
邮件过期的配置选项
邮件过期超时间隔指定边缘传输服务器或邮箱服务器 (传输服务) 尝试传递失败邮件的最大时间长度。 如果在过期超时间隔过后无法成功传递邮件,则未送达报告 (也称为 NDR 或退回邮件) ,其中包含原始邮件或邮件头将传递到发件人。
自动邮件过期
下表介绍了消息过期超时间隔。
默认值 | Exchange 命令行管理程序 配置 | 邮箱服务器上的 Exchange 管理中心配置 |
---|---|---|
2 天 (2.00:00:00 ) |
Cmdlet: Set-TransportService 参数: MessageExpirationTimeOut |
服务器> 选择服务器 >编辑 () >传输限制>消息过期 部分 >自提交 (天) |
手动邮件过期
虽然无法手动强制邮件过期,但可以从任何队列 (手动删除邮件,但提交队列) 包含或不使用 NDR。 有关详细信息,请参阅 从队列中删除消息。