Today a collegae of mine ran into a problem with Exchange 2010. Messages both internally/externally were not delivered. We noticed that the Exchange server was using 100% CPU resources. After some investigation we noticed that the submission queue was building up.
We decided to suspend the queue, exporting the messages. Then deleting the queue and recreating it. Finally we imported the exported messages. We used the following steps :
First open the Exchange Management Shell
Show all Exchange queues
get-queue
Suspend all messages in this queue
get-queue exchangeserver#submission | get-message | suspend-message
Export all suspended messages
$array = @(Get-Message -Queue "ExchangeServer\submission" -ResultSize unlimited) $array | ForEach-Object {$i++;Export-Message $_.Identity | AssembleMessage -Path ("c:\Mailqueue\"+ $i +".eml")}
Stop the MsexchangeTransport service
Stop-Service MsExchangeTransport
Now rename the queue directory, the default directory is
Startthe MsexchangeTransport service
Start-Service MsExchangeTransport