垃圾邮件通常会伪装成无法发送邮件报告(NDR)的样子,这非常令人讨厌。如果Exchange Server接收到了从并不存在的地址(可能是来自字典攻击(dictionary attack)策略的一部分)发送来的电子邮件,那么它就会向目标服务器发送无法发送邮件的报告。
然而,如果目标服务器并不存在——比如,一个人为的或随机生成的类似于xqmngbtrd.com这样的域名——那么NDR将永远不会抵达目标服务器。
然而还存在着更为复杂的问题:假如说,你接收到了上千封来自某个伪造域的垃圾邮件,随后,就会有大量的NDR出现在Exchange Sever的待发队列中,并为每一封邮件都创建一个DNS的查找机制。
由于域名是伪造的,DNS查找最终会超时。这些过多的DNS查找还可能会对你的DNS服务器造成过多的UDP流量,这就会占用其他的DNS操作的资源,并使得这些操作超时,尽管这些操作所涉及的电子邮件和域都是合法的。
处理这样的问题可以采用下列三种方法。:
1. 使用更为高级的邮件过滤器,如第三方应用程序和软件,首先要防止这些垃圾邮件进入到你的Exchange服务器中。很明显,这也是一种非常昂贵的解决方案,但是如果决定使用这种方法,那么你立即就能解决大多数的问题。
2. 为Microsoft Exchange创建接收过滤规则,那些不在接收人目录中的邮件将被过滤掉。你可以打开Exchange系统管理器(Exchange System Manager,ESM),然后依次点击全球设置(Global Settings)-发送选项(Delivery Options)-属性(Properties)。在接收人过滤(Recipient Filtering)的标签中,选中“过滤掉不在接收人目录中的邮件”。
你还需要在你正在使用的SMTP虚拟服务器IP地址中启用接收人过滤器功能。在Exchange系统管理器中,依次选择协议(Protocols)- SMTP- 属性(Properties)。点击“高级(Advanced)”并选择要修改的IP地址。现在点击“编辑(Edit)”,然后将“应用接收人过滤器(Apply Recipient Filter)”选中。这个是一个非常有用的设置,然而却经常被人们所忽视。
3. 这种方法是最慢也是最乱的,但是这种方法却可能是你遇到这样问题时的第一选择。这种方法是停止SMTP服务器,然后手动删除队列中那些没用的NDR(通常位于C: \Program Files\Exchsrvr\Mailroot\vsi1\Queue目录下),然后重新启动SMTP服务器。