在 Exchange Server 中配置消息重试、重新提交和过期间隔

在 Exchange Server 中,可以在邮箱服务器和边缘传输服务器上的传输服务中配置邮件重试、重新提交和过期间隔。 有关这些设置的详细说明,请参阅 消息重试、重新提交和过期间隔

开始前,有必要了解什么?

提示

是否有任何疑问? 请在 Exchange 论坛中寻求帮助。 请访问以下论坛:Exchange ServerExchange OnlineExchange Online Protection

使用EdgeTransport.exe.config配置队列故障重试计数、队列故障重试间隔、邮箱传递队列重试间隔以及重新提交间隔前的最大空闲时间

  • 队列故障重试计数:传输服务无法连接到目标服务器时立即尝试的连接次数。 通常,无需修改此密钥,除非网络不可靠,并持续遇到许多意外断开的连接。

  • 队列故障重试间隔:每个队列故障重试之间的间隔。 通常,无需修改此密钥,除非网络不可靠,并持续遇到许多意外断开的连接。

  • 邮箱传递队列重试间隔:队列尝试连接到无法成功访问的目标邮箱数据库的邮箱传输传递服务的频率。

  • 重新提交前的最大空闲时间:在传递中未传递的消息在重新提交之前,重试等待状态的时长。

若要配置这些间隔,请在邮箱服务器或边缘传输服务器上的 %ExchangeInstallPath%Bin\EdgeTransport.exe.config XML 应用程序配置文件中修改密钥。 重启 Exchange 传输服务后,将应用保存到此文件的更改。 重新启动此服务时,会临时中断服务器上的邮件流。

注意

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

  1. 在邮箱服务器或边缘传输服务器上的命令提示符窗口中,运行以下命令,在记事本中打开 EdgeTransport.exe.config 文件:

    Notepad %ExchangeInstallPath%Bin\EdgeTransport.exe.config
    
  2. <appSettings> 部分中找到以下键。

    <add key="QueueGlitchRetryCount" value="<Integer>" />
    <add key="QueueGlitchRetryInterval" value="<hh:mm:ss>" />
    <add key="MailboxDeliveryQueueRetryInterval" value="<hh:mm:ss>" />
    <add key="MaxIdleTimeBeforeResubmit" value="<hh:mm:ss>" />
    

    此示例将队列小故障重试计数更改为 6,将队列小故障重试间隔更改为 30 秒,将邮箱传递队列重试间隔更改为 3 分钟,并将重新提交间隔前的最长空闲时间更改为 6 小时。

    <add key="QueueGlitchRetryCount" value="6" />
    <add key="QueueGlitchRetryInterval" value="00:00:30" />
    <add key="MailboxDeliveryQueueRetryInterval" value="00:03:00" />
    <add key="MaxIdleTimeBeforeResubmit" value="6:00:00" />
    
  3. 完成后,保存并关闭EdgeTransport.exe.config文件。

  4. 通过运行以下命令重启 Exchange 传输服务:

    net stop MSExchangeTransport && net start MSExchangeTransport
    

如何知道操作成功?

若要验证是否已配置这些间隔,请执行以下步骤:

  1. 运行以下命令,在记事本中打开 EdgeTransport.exe.config 文件:

    Notepad %ExchangeInstallPath%Bin\EdgeTransport.exe.config
    
  2. 验证 节中 <appSettings> 以下键的值。

    <add key="QueueGlitchRetryCount" value="<Integer>" />
    <add key="QueueGlitchRetryInterval" value="<hh:mm:ss>" />
    <add key="MailboxDeliveryQueueRetryInterval" value="<hh:mm:ss>" />
    <add key="MaxIdleTimeBeforeResubmit" value="<hh:mm:ss>" />
    

配置瞬间失败重试次数、瞬间失败重试间隔和出站连接失败重试间隔

  • 暂时性失败重试尝试:在 QueueGlitchRetryCountQueueGlitchRetryInterval 密钥控制的连接尝试失败后尝试的连接尝试次数。 有效值为 0 到 15,默认值为 6。 如果将值设置为 0,则下一次连接尝试由出站连接失败重试间隔控制。

  • 暂时性失败重试间隔:每次暂时性失败重试尝试之间的间隔。 在邮箱服务器上,默认值为 5 分钟。 在边缘传输服务器上,默认值为 10 分钟。

  • 出站连接失败重试间隔:以前失败的传出连接尝试的重试间隔 (暂时性失败重试,暂时性失败重试间隔) 。 在邮箱服务器上,默认值为 10 分钟。 在边缘传输服务器上,默认值为 30 分钟。

使用 EAC 在邮箱服务器上配置暂时性失败重试尝试、暂时性失败重试间隔或出站连接失败重试间隔

  1. 在 EAC 中,转到“服务器>服务器”,选择该服务器,然后单击“编辑”图标

  2. 在打开的服务器属性窗口中,单击“ 传输限制”。

  3. “重试” 部分中,输入以下任何设置的值:

    • 出站连接失败重试间隔 (秒)

    • 暂时性失败重试间隔 (分钟)

    • 暂时性失败重试尝试

    完成后,单击“保存”。

使用 Exchange 命令行管理程序在邮箱服务器或边缘传输服务器上配置暂时性失败重试尝试、暂时性失败重试间隔和出站连接失败重试间隔

若要在邮箱服务器或边缘传输服务器上配置传输服务中的间隔,请使用以下语法:

Set-TransportService -Identity <ServerIdentity> -TransientFailureRetryCount <Integer> -TransientFailureRetryInterval <hh:mm:ss> -OutboundConnectionFailureRetryInterval <dd.hh:mm:ss>

若要在邮箱服务器上配置前端传输服务中的间隔,请使用以下语法:

Set-FrontEndTransportService -Identity <ServerIdentity> -TransientFailureRetryCount <Integer> -TransientFailureRetryInterval <hh:mm:ss>

此示例更改名为 Mailbox01 的邮箱服务器上的以下值:

  • 瞬间失败重试次数设置为 8。

  • 瞬间失败重试间隔设置为 1 分钟。

  • 出站连接失败重试间隔设置为 45 分钟。

Set-TransportService -Identity Mailbox01 -TransientFailureRetryCount 8 -TransientFailureRetryInterval 00:01:00 -OutboundConnectionFailureRetryInterval 00:45:00

如何知道操作成功?

若要验证是否已配置这些间隔,请执行以下任一步骤:

  • 在邮箱服务器上,打开 EAC 并转到 “服务器服务器>,选择该服务器,然后单击“ 编辑”图标。 在打开的服务器属性窗口中,单击“ 传输限制”,并验证 “重试” 部分中的值。

  • 在邮箱服务器或边缘传输服务器上的 Exchange 命令行管理程序中,运行以下命令以验证属性值:

    Get-TransportService | Format-List Name,TransientFailureRetry*,OutboundConnectionFailureRetryInterval
    
  • 在邮箱服务的 Exchange 命令行管理程序中,运行以下命令以验证属性值:

    Get-FrontEndTransportService | Format-List Name,TransientFailureRetry*
    

使用 Exchange 命令行管理程序配置消息重试间隔

消息重试间隔指定在为状态为“重试”的队列中的单个消息发送尝试之间等待的时间长度。 默认值为 15 分钟,建议不要更改默认值,除非 Microsoft 客户服务和支持人员或特定产品文档指示你这样做。

若要配置消息重试间隔,请使用以下语法:

Set-TransportService -Identity <ServerIdentity> -MessageRetryInterval <dd.hh:mm:ss>

此示例在名为 Mailbox01 的邮箱服务器上将邮件重试间隔更改为 20 分钟。

Set-TransportService -Identity Mailbox01 -MessageRetryInterval 00:20:00

如何知道操作成功?

若要验证是否已在邮箱服务器或 Edget 传输服务器上配置邮件重试间隔,请在 Exchange 命令行管理程序中运行此命令以验证 MessageRetryInterval 属性值:

Get-TransportService | Format-List Name,MessageRetryInterval

配置延迟 DSN 超时设置

  • 延迟 DSN 消息通知超时间隔:向发件人发送延迟 DSN 消息之前要等待的时间。 此设置适用于邮箱服务器或边缘传输服务器上的传输服务。

注意:此值应始终大于暂时性失败重试计数乘以暂时性失败重试间隔, (邮箱服务器上的默认总计为 30 分钟,在边缘传输服务器上为 1 小时) 。

  • 内部和外部延迟 DSN 设置:指定是否可以将延迟 DSN 邮件发送到内部或外部邮件发件人 (Exchange 组织内部或外部) 的发件人。 此设置适用于组织中所有邮箱服务器上的传输服务。

使用 EAC 在邮箱服务器上配置延迟 DSN 邮件通知超时间隔

  1. 在 EAC 中,单击“服务器>服务器”,选择服务器,然后单击“编辑”图标。

  2. 在打开的服务器属性窗口中,单击“ 传输限制”。

  3. “通知 ”部分中,输入 (小时后邮件延迟时通知发件人) 的值,然后单击“ 保存”。

使用 Exchange 命令行管理程序在邮箱服务器或边缘传输服务器上配置延迟 DSN 邮件通知超时间隔

若要配置延迟 DSN 消息通知超时间隔,请使用以下语法:

Set-TransportService -Identity <ServerIdentity> -DelayNotificationTimeout <dd.hh:mm:ss>

此示例在名为 Mailbox01 的邮箱服务器上将延迟 DSN 邮件通知超时间隔更改为 6 小时。

Set-TransportService -Identity Mailbox01 -DelayNotificationTimeout 06:00:00

使用 Exchange 命令行管理程序启用或禁用向外部或内部邮件发件人发送延迟 DSN 通知

若要配置延迟 DSN 通知设置,请使用以下语法:

Set-TransportConfig -ExternalDelayDSNEnabled <$true | $false> -InternalDelayDSNEnabled <$true |$false>

此示例阻止将延迟 DSN 通知邮件发送给外部发件人。

Set-TransportConfig -ExternalDelayDSNEnabled $false

此示例阻止将延迟 DSN 通知邮件发送给内部发件人。

Set-TransportConfig -InternalDelayDSNEnabled $false

如何知道操作成功?

若要验证是否已配置延迟 DSN 超时设置,请执行以下步骤:

  • 在邮箱服务器上,打开 EAC 并转到 “服务器服务器>,选择该服务器,然后单击“ 编辑”图标。 在打开的服务器属性窗口中,单击“传输限制”,并验证“通知”部分中的“ (小时后邮件延迟时通知发件人”值) 值。

  • 在邮箱服务器或边缘传输服务器上的 Exchange 命令行管理程序中,运行以下命令以验证属性值:

    Get-TransportService | Format-List Name,DelayNotificationTimeout
    
    Get-TransportConfig | Format-List *DelayDSNEnabled
    

配置邮件过期超时间隔

邮件过期超时间隔指定在未送达报告(也称为 NDR 或退回邮件 () )中等待邮件过期并返回到发件人的时间长度。 此设置适用于邮箱服务器或边缘传输服务器上的传输服务。

使用 EAC 在邮箱服务器上配置邮件过期超时间隔

  1. 在 EAC 中,单击“服务器>服务器”,选择服务器,然后单击“编辑”图标。

  2. 在打开的服务器属性窗口中,单击“ 传输限制”。

  3. “邮件过期 ”部分中,输入 自提交 (天) 以来的最大时间 值,然后单击“ 保存”。

使用 Exchange 命令行管理程序在邮箱服务器或边缘传输服务器上配置邮件过期超时间隔

若要配置邮件过期超时间隔,请使用以下语法。

Set-TransportService -Identity <ServerIdentity> -MessageExpirationTimeout <dd.hh:mm:ss>

此示例在名为 Mailbox01 的 Exchange 服务器上将邮件过期超时间隔更改为 4 天。

Set-TransportService -Identity Mailbox01 -MessageExpirationTimeout 4.00:00:00

如何知道操作成功?

若要验证是否已配置邮件过期超时间隔,请执行以下任一步骤:

  • 在邮箱服务器上,打开 EAC 并转到 “服务器服务器>,选择该服务器,然后单击“ 编辑”图标。 在打开的服务器属性窗口中,单击“传输限制”,并验证“邮件过期时间”部分中的“提交 (天) ”值。

  • 在邮箱服务器或边缘传输服务器上的 Exchange 命令行管理程序中,运行以下命令以验证 MessageExpirationTimeout 属性值:

    Get-TransportService | Format-List Name,MessageExpirationTimeout