某种原因(比如密码被猜出来被人用来中继垃圾邮件),在Exchange 2010的队列查看器中发现有大量垃圾邮件队列。使用管理器的方法只能一个目标域来删除。这里你可能需要快速删除邮件。可以参考以下的办法:
1. 如果发件人是特定的地址可以在EMS下使用以下命令:
Remove-Message -Server servername -Filter {FromAddress -eq ‘sender@abc.com’} -withNDR $false
PS:Servername 和sender@abc.com请替换成需要的信息
2. 如果需要删除特地的一个邮件主题的邮件,可以在EMS下使用以下命令:
Get-Message -Queue "server\queue" -ResultSize unlimited | where{$_.Subject -eq "5dmail.net"} | Remove-Message -WithNDR $False
PS:把5dmail.net替换成你需要删除的邮件主题。
3. 如果需要删除所有队列可以使用以下两种办法:
方法一:可以在EMS下使用以下命令:
Get-ExchangeServer | ?{$_.IsHubTransportServer -eq $true} | Get-Queue | get-message -ResultSize unlimited | Remove-Message -withNDR $false
方法二:
a. 停止exchange传输服务
b. 找到队列数据库文件所在地,默认为c:\program files\microsoft\exhcange server\transportroles\data\queue,,将queue文件夹改名(如果queue-1),再新建一个queue文件夹
c. 启动exchange传输服务,查看队列已经清空.
更多信息:
1.还可以针对来自某一个接收连接器来删除邮件队列,命令如下:
Remove-Message -Server servername -Filter {MessageSourceName -eq “SMTP:Defalut Connector”} -WithNDR $false
PS:servername 和Defalut Connector替换成你需要的服务器名称和接收连接器名称
2.删除发件人为空的地命令:
Remove-Message -Filter {FromAddress -eq "<>"} -WithNDR $false
3.参考信息:
a. Remove-Message 命令参考
http://technet.microsoft.com/en-us/library/aa996371.aspx
b. 如何在Exchange 2010上防止对方冒名发送邮件
http://blog.5dmail.net/user1/1/20111123161527.html
c. Removing specific messages from your Exchange Server
http://blogs.technet.com/b/exchange/archive/2010/10/27/removing-specific-messages-from-your-exchange-server.aspx