Configure message retry, resubmit, and expiration intervals

 

Applies to: Exchange Server 2016

Topic Last Modified: 2017-08-31

Learn how to configure message expiration intervals, message retries, and message resubmissions in the Transport service on a Mailbox server or on an Edge Transport server.

In Exchange 2016, you can configure message retry, resubmit, and expiration intervals in the Transport service on Mailbox servers and Edge Transport servers. For detailed descriptions of these settings, see Message retry, resubmit, and expiration intervals.

  • Estimated time to complete each procedure: less than 5 minutes

  • You can only use the Exchange admin center (EAC) on Mailbox servers. For more information about the EAC, see Exchange admin center in Exchange 2016. To learn how to open the Exchange Management Shell in your on-premises Exchange organization, see Open the Exchange Management Shell.

  • You need to be assigned permissions before you can perform this procedure or procedures. To see what permissions you need, see the "Transport service" and "Edge Transport severs" entries in the Mail flow permissions topic.

  • For information about keyboard shortcuts that may apply to the procedures in this topic, see Keyboard shortcuts in the Exchange admin center.

tipTip:
Having problems? Ask for help in the Exchange forums. Visit the forums at: Exchange Server, Exchange Online, or Exchange Online Protection.

  • Queue glitch retry count   The number of connection attempts that are immediately tried when the Transport service has trouble connecting to the destination server. Typically, you don't need to modify this key unless the network is unreliable and continues to experience many accidentally dropped connections.

  • Queue glitch retry interval   The interval between each queue glitch retry. Typically, you don't need to modify this key unless the network is unreliable and continues to experience many accidentally dropped connections.

  • Mailbox delivery queue retry interval   How frequently a queue try to connect to the Mailbox Transport Delivery service for a destination mailbox database that can't be successfully reached.

  • Max idle time before resubmit   How long undelivered messages in delivery queues the status of Retry wait before they're resubmitted.

To configure these intervals, you modify keys in the %ExchangeInstallPath%Bin\EdgeTransport.exe.config XML application configuration file on Mailbox servers or Edge Transport servers. Changes you save to this file are applied after you restart the Exchange Transport service. When you restart this service, mail flow on the server is temporarily interrupted.

noteNote:
Any customized per-server settings you make in Exchange XML application configuration files (for example, web.config files or the EdgeTransport.exe.config file) will be overwritten when you install an Exchange Cumulative Update (CU). Make sure that you save this information so that you can easily re-configure your server after the install. You must re-configure these settings after you install an Exchange CU.
  1. In a Command prompt window on the Mailbox server or Edge Transport server, open the EdgeTransport.exe.config file in Notepad by running this command:

    Notepad %ExchangeInstallPath%Bin\EdgeTransport.exe.config
    
  2. Locate the following keys in the <appSettings> section.

    <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>" />
    

    This example changes the queue glitch retry count to 6, the queue glitch retry interval to 30 seconds, the mailbox delivery queue retry interval to 3 minutes, and the maximum idle time before resubmit interval to 6 hours.

    <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. When you're finished, save and close the EdgeTransport.exe.config file.

  4. Restart the Exchange Transport service by running this command:

    net stop MSExchangeTransport && net start MSExchangeTransport
    

To verify that you've configured these intervals, do these steps:

  1. Open the EdgeTransport.exe.config file in Notepad by running this command:

    Notepad %ExchangeInstallPath%Bin\EdgeTransport.exe.config
    
  2. Verify the values of the following keys in the <appSettings> section.

    <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>" />
    

  • Transient failure retry attempts   The number of connection attempts that are tried after the connection attempts controlled by the QueueGlitchRetryCount and QueueGlitchRetryInterval keys have failed. A valid value is 0 through 15, and the default value is 6. If you set the value to 0, the next connection attempt is controlled by the outbound connection failure retry interval.

  • Transient failure retry interval   The interval between each transient failure retry attempt. On Mailbox servers, the default value is 5 minutes. On Edge Tranport Servers, the default value is 10 minutes.

  • Outbound connection failure retry interval   The retry interval for outgoing connection attempts that have previously failed (the transient failure retry attempts and the transient failure retry interval). On Mailbox servers, the default value is 10 minutes. On Edge Tranport Servers, the default value is 30 minutes.

  1. In the EAC, go to Servers > Servers, select the server, and then click Edit Edit icon.

  2. In the server properties window that opens, click Transport limits.

  3. In the Retries section, enter a value for any of these settings:

    • Outbound connection failure retry interval (seconds)

    • Transient failure retry interval (minutes)

    • Transient failure retry attempts

    When you're finished, click Save.

To configure the intervals in the Transport service on Mailbox servers or Edge Transport servers, use this syntax:

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

To configure the intervals in the Front End Transport service on Mailbox servers, use this syntax:

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

This example changes the following values on the Mailbox server named Mailbox01:

  • The number of transient failure retry attempts is set to 8.

  • The transient failure retry interval is set to 1 minute.

  • The outbound connection failure retry interval is set to 45 minutes.

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

To verify that you've configured these intervals, do any of these steps:

  • On a Mailbox server, open the EAC and go to Servers > Servers, select the server, and then click Edit Edit icon. In the server properties window that opens, click Transport limits, and verify the values in the Retries section.

  • In the Exchange Management Shell on a Mailbox server or Edge Transport server, run this command to verify the property values:

    Get-TransportService | Format-List Name,TransientFailureRetry*,OutboundConnectionFailureRetryInterval
    
  • In the Exchange Management Shell on a Mailbox serve, run this command to verify the property values:

    Get-FrontEndTransportService | Format-List Name,TransientFailureRetry*
    

The message retry interval specifies how long to wait between sending attempts for individual messages in queues that have a status of Retry. The default value is 15 minutes, and we recommend that you don't change the default value unless you are directed to do so by Microsoft Customer Service and Support, or specific product documentation.

To configure the message retry interval, use this syntax:

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

This example changes the message retry interval to 20 minutes on the Mailbox server named Mailbox01.

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

To verify that you've configured the message retry interval on a Mailbox server or Edget Transport server, run this command in the Exchange Management Shell to verify the MessageRetryInterval property value:

Get-TransportService | Format-List Name,MessageRetryInterval

  • Delay DSN message notification timeout interval   How long to wait before sending delay DSN messages to senders. This setting applies to the Transport service on a Mailbox server or an Edge Transport server.

    Note: This value should always be greater than the transient failure retry count multiplied by the transient failure retry interval (the default total is 30 minutes on a Mailbox server, and one hour on an Edge Transport server).

  • Internal and external delay DSN settings   Specifies whether delay DSN messages can be sent to internal or external message senders (senders who are inside or outside the Exchange organization). This setting applies to the Transport service on all Mailbox servers in the organization.

  1. In the EAC, click Servers > Servers, select the server, and then click Edit Edit icon.

  2. In the server properties window that opens, click Transport limits.

  3. In the Notifications section, enter a value for Notify sender when message is delayed after (hours), and then click Save.

To configure the delay DSN message notification timeout interval, use this syntax:

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

This example changes the delay DSN message notification timeout interval to 6 hours on the Mailbox server named Mailbox01.

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

To configure the delay DSN notification settings, use this syntax:

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

This example prevents the sending of delay DSN notification messages to external senders.

Set-TransportConfig -ExternalDelayDSNEnabled $false

This example prevents the sending of delay DSN notification messages to internal senders.

Set-TransportConfig -InternalDelayDSNEnabled $false

To verify that you've configured the delay DSN timeout settings, do any of these steps:

  • On a Mailbox server, open the EAC and go to Servers > Servers, select the server, and then click Edit Edit icon. In the server properties window that opens, click Transport limits, and verify the Notify sender when message is delayed after (hours) value in the Notifications section.

  • In the Exchange Management Shell on a Mailbox server or Edge Transport server, run these commands to verify the property values:

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

The message expiration timeout interval specifies how long to wait before the message expires and is returned to the sender in a non-delivery report (also known as an NDR or bounce message). This setting applies to the Transport service on a Mailbox server or an Edge Transport server.

  1. In the EAC, click Servers > Servers, select the server, and then click Edit Edit icon.

  2. In the server properties window that opens, click Transport limits.

  3. In the Message expiration section, enter a value for Maximum time since submission (days), and then click Save.

To configure the message expiration timeout interval, use the following syntax.

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

This example changes the message expiration timeout interval to 4 days on the Exchange server named Mailbox01.

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

To verify that you've configured the message expiration timeout interval, do any of these steps:

  • On a Mailbox server, open the EAC and go to Servers > Servers, select the server, and then click Edit Edit icon. In the server properties window that opens, click Transport limits, and verify the Maximum time since submission (days) value in the Message expiration section.

  • In the Exchange Management Shell on a Mailbox server or Edge Transport server, run this command to verify the MessageExpirationTimeout property value:

    Get-TransportService | Format-List Name,MessageExpirationTimeout
    
 
Show: