Share via


How to Resubmit Messages in Queues

Microsoft Exchange Server 2007 will reach end of support on April 11, 2017. To stay supported, you will need to upgrade. For more information, see Resources to help you upgrade your Office 2007 servers and clients.

 

Applies to: Exchange Server 2007, Exchange Server 2007 SP1, Exchange Server 2007 SP2, Exchange Server 2007 SP3

This topic explains how to use the Exchange Management Console or the Exchange Management Shell to manually resubmit messages to the Submission queue for the categorizer to reprocess. You can manually resubmit messages that have the following status on a computer that is running Microsoft Exchange Server 2007 and that has the Hub Transport server role or the Edge Transport server role installed:

  • Mailbox delivery queues or remote delivery queues that have the status of Retry. The messages in the queues must not be in the Suspended state.

  • Messages in the Unreachable queue that are not in the Suspended state.

  • Messages in the poison message queue.

You can use the following methods to manually resubmit messages:

  • You can use the Retry-Queue cmdlet with the Resubmit parameter.

  • You can export the messages to .eml message files and resubmit them by using the Replay directory. For more information about this resubmission method, see How to Export and Resubmit Messages.

  • The messages in the poison message queue can be resubmitted by using the Queue Viewer or by using the Resume-Message cmdlet. The poison message queue cannot be resubmitted by using the Retry-Queue cmdlet with the Resubmit parameter. For more information, see How to Resume Messages.

Before You Begin

To perform the following procedures, the account you use must be delegated the following:

  • Exchange Server Administrator role and local Administrators group for the target server

To perform the following procedures on a computer that has the Edge Transport server role installed, you must log on by using an account that is a member of the local Administrators group on that computer.

For more information about permissions, delegating roles, and the rights that are required to administer Exchange Server 2007, see Permission Considerations.

Using the Retry-Queue Cmdlet with the Resubmit Parameter

By using the Retry-Queue cmdlet with the Resubmit parameter, you can force messages to be resubmitted back through the categorization process for a new attempt at delivery.

Using the Retry-Queue cmdlet without the Resubmit parameter forces the delivery queue to try to connect to the next hop immediately. The messages are not resubmitted back through the categorization process. For information about how to retry the connection of a delivery queue, see How to Retry Queues.

Resubmitting All Messages that Are Located in a Specific Mailbox Delivery Queue or Remote Delivery Queue

To use the Exchange Management Shell to resubmit all messages that are located in a specific mailbox delivery queue or remote delivery queue

  • Run the following command:

    Retry-Queue -Identity "<ServerName>\<Destination>" -Resubmit $True
    

    For example, to resubmit all messages that are located in the remote delivery queue "Contoso.com" on the server Exchange01, run the following command:

    Retry-Queue -Identity "Exchange01\Contoso.com" -Resubmit $True
    

Resubmitting All Messages that Are Located in All Mailbox Delivery Queues or Remote Delivery Queues that Have the Status of Retry

To use the Exchange Management Shell to resubmit all messages that are located in all mailbox delivery queues or remote delivery queues that have the status of Retry

  • Run the following command:

    Retry-Queue -Filter {Status -eq "Retry"} -Server "<ServerName>" -Resubmit $True
    

    For example, to resubmit all messages that are located in any the remote delivery queues with the status of Retry on the server Exchange01, run the following command:

    Retry-Queue -Filter {Status -eq "Retry"} -Server "Exchange01" -Resubmit $True
    

Resubmitting All Messages that Are Located in the Unreachable Queue

To use the Exchange Management Shell to resubmit all messages for delivery that are located in the Unreachable queue

  • Run the following command:

    Retry-Queue -Identity "<ServerName>\Unreachable" -Resubmit $True
    

    For example, to retry the delivery of all messages that are located in the Unreachable queue on the server Exchange01, run the following command:

    Retry-Queue -Identity "Exchange01\Unreachable" -Resubmit $True
    

For detailed syntax and parameter information, see Retry-Queue.

Resuming Messages from the Poison Message Queue

Messages that are located in the poison message queue must be resubmitted by resuming the message. The poison message queue cannot be resubmitted by using the Retry-Queue with the Resubmit parameter. To resume a message from the poison message queue, you can use the Queue Viewer or the Resume-Message cmdlet.

Note

The poison message queue contains messages that are determined to be harmful to the Exchange 2007 system after a server failure. The messages may be genuinely harmful in their content or format. Alternatively, they may be victims of a poorly-written agent that crashed the Exchange server while it was processing the supposedly bad messages. If you are unsure of the safety of the messages in the poison message queue, you should export them to files so that you can examine them. The poison message queue is only visible in the Queue Viewer when there are messages in the poison message queue.

To use the Queue Viewer to resume a message in the poison message queue

  1. Open the Exchange Management Console.

  2. In the console tree, click Toolbox.

  3. In the result pane, click Exchange Queue Viewer.

  4. In the action pane, click Open Tool.

  5. In the Queue Viewer, click the Queues tab. A list of all queues on the server to which you are connected is displayed.

  6. Click the poison message queue. In the action pane, select View Messages.

  7. Select one or more messages from the list, right-click, and select Resume.

To use the Exchange Management Shell to resume a message in the poison message queue

  1. Before you can resume a message from the poison message queue, you must first determine the Identity of the message. To determine the Identity of all messages in the poison message queue, run the following command:

    Get-Message -Queue "Poison" | ft Identity
    
  2. To resume a message from the poison message queue, use the Identity of the message from the previous step, and run the following command:

    Resume-Message <IdentityofPoisonMessage>
    

    For example, to resume a message from the poison message queue that has the message Identity value of 222, run the following command:

    Resume-Message 222
    

For detailed syntax and parameter information, see Resume-Message.

For More Information

For more information, see Managing Queues