Resubmit Messages in Queues
Applies to: Exchange Server 2010
You can 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 running Microsoft Exchange Server 2010 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 aren't in the Suspended state.
- Messages in the poison message queue.
You can use the following methods to manually resubmit messages:
- Use the Retry-Queue cmdlet with the Resubmit parameter.
- Export the messages to .eml message files and resubmit them by using the Replay directory. For more information about this resubmission method, see Export Messages from Queues.
- Use Queue Viewer or the Resume-Message cmdlet to resubmit the messages in the poison message queue. The poison message queue can't be resubmitted by using the Retry-Queue cmdlet with the Resubmit parameter. For more information, see Resume Messages.
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 aren't resubmitted back through the categorization process. For information about how to retry the connection of a delivery queue, see Retry Queues.
Looking for other management tasks related to managing transport queues? Check out Managing Transport Queues.
Use the Shell to resubmit all messages located in a specific mailbox delivery queue or remote delivery queue
You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the "Queues" entry in the Transport Permissions topic.
Note
You can't use the EMC to perform this task.
To resubmit all messages located in a specific mailbox delivery queue or remote delivery queue, use the following syntax.
Retry-Queue -Identity "<ServerName>\<Destination>" -Resubmit $true
This example resubmits all messages located in the remote delivery queue Contoso.com on the server Exchange01.
Retry-Queue -Identity "Exchange01\Contoso.com" -Resubmit $true
For detailed syntax and parameter information, see Retry-Queue.
Use the Shell to resubmit all messages located in all mailbox delivery queues or remote delivery queues that have the status of Retry
You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the "Queues" entry in the Transport Permissions topic.
Note
You can't use the EMC to perform this task.
To resubmit all messages located in all mailbox delivery queues or remote delivery queues that have the status of Retry, use the following syntax.
Retry-Queue -Filter {Status -eq "Retry"} -Server "<ServerName>" -Resubmit $true
This example resubmits all messages located in any remote delivery queues with the status of Retry on the server Exchange01.
Retry-Queue -Filter {Status -eq "Retry"} -Server "Exchange01" -Resubmit $true
For detailed syntax and parameter information, see Retry-Queue.
Use the Shell to resubmit all messages located in the Unreachable queue
You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the "Queues" entry in the Transport Permissions topic.
Note
You can't use the EMC to perform this task.
To resubmit all messages located in the Unreachable queue, use the following syntax.
Retry-Queue -Identity "<ServerName>\Unreachable" -Resubmit $true
This example resubmits all messages located in the Unreachable queue on the server Exchange01.
Retry-Queue -Identity "Exchange01\Unreachable" -Resubmit $true
For detailed syntax and parameter information, see Retry-Queue.
Resubmit messages located in the poison message queue
You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the "Queues" entry in the Transport Permissions topic.
Messages that are located in the poison message queue must be resubmitted by resuming the message. The poison message queue can't be resubmitted by using the Retry-Queue cmdlet with the Resubmit parameter. To resume a message from the poison message queue, you can use Queue Viewer or the Resume-Message cmdlet.
Note
The poison message queue contains messages that are determined to be harmful to the Exchange 2010 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're 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 Queue Viewer when there are messages in the poison message queue.
Use the EMC to resume messages in the poison message queue
- In the console tree, click Toolbox.
- In the result pane, click Queue Viewer.
- In the action pane, click Open Tool.
- In Queue Viewer, click the Queues tab. A list of all queues on the server to which you're connected is displayed.
- Click the poison message queue. In the action pane, select View Messages.
- Select one or more messages from the list, right-click, and select Resume.
Use the Shell to resume messages in the poison message queue
Before you can resume a message from the poison message queue, you must first determine the Identity of the message. This example determines the Identity of all messages in the poison message queue.
Get-Message -Queue "Poison" | Format-Table Identity
To resume a message from the poison message queue, use the Identity of the message from the previous step and use the following syntax.
Resume-Message <IdentityofPoisonMessage>
This example resumes a message from the poison message queue that has the message Identity value of 222.
Resume-Message 222
For detailed syntax and parameter information, see Resume-Message or Get-Message.