Applies to: Exchange Server 2007 SP3, Exchange Server
2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Topic Last Modified: 2007-01-02
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:
Copy Code 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:
Copy Code 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:
Copy Code 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:
Copy Code 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:
Copy Code 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:
Copy Code 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
-
Open the Exchange Management Console.
-
In the console tree, click Toolbox.
-
In the result pane, click Exchange Queue Viewer.
-
In the action pane, click Open Tool.
-
In the Queue Viewer, click the Queues tab. A list of all queues on the server to which you are 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.
To use the Exchange Management Shell to resume a message 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. To determine the Identity of all messages in the poison message queue, run the following command:
Copy Code Get-Message -Queue "Poison" | ft Identity
-
To resume a message from the poison message queue, use the Identity of the message from the previous step, and run the following command:
Copy Code 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:
Copy Code Resume-Message 222
For detailed syntax and parameter information, see Resume-Message.
For More Information
For more information, see Managing Queues