快速清理Exchange Server的SMTP队列

12/3/2006来源:Exchange Server人气:8109

本文描述当简单邮件传输协议 (SMTP) 中继不安全时,如果服务器被用于发送主动提供的商业电子邮件(也称为 UCE 或垃圾邮件),如何进行清理。

警告:在此过程中,将删除所有发给外部 SMTP 收件人的邮件。

内部电子邮件和来自 Internet 的传入电子邮件不受影响。
以下设置是临时的,本节稍后部分有取消这些更改的步骤。
1、在 Exchange System Manager 中,单击以选择连接器下的 SMTP Connector。此时需要 SMTP 连接器。如果 Exchange 服务器没有 SMTP 连接器,请创建一个。为此,请按照下列步骤操作:

右键单击连接器,单击新建,然后单击 SMTP Connector。
在常规选项卡上,在名称框中键入一个临时名称(例如 Connector for SMTP)。
单击底部的“添加”按钮并选择“服务器名”及与其关联的 SMTP 虚拟服务器”,然后单击“确定”。

2、单击“地址空间”。
单击“添加”,单击“SMTP”,然后单击“确定”。
在 Internet Address Space PRoperties 对话框中,保留默认的设置(电子邮件域 * 和 Cost 1),然后单击“确定”。
3、单击常规选项卡。记下此选项卡上的所有设置。在本文稍后部分您必须将这些设置恢复原状。
4、单击 Forward all mail through this connector to the following smart hosts(将所有邮件通过此连接器转发到下列智能主机)。
5、在提供的字段中,键入一个假的 ip 地址并将其用方括号括起来。例如,键入 [99.99.99.99]。
6、单击 Deliver Options(传递选项)选项卡。
7、单击 Specify when messages are sent through this connector(指定邮件何时通过此连接器发送)。
8、在“连接时间”列表中,单击 Run daily at 11:00 PM。
9、单击确定以关闭 SMTP 连接器属性对话框。
10、展开服务器,展开服务器名,展开协议,展开 SMTP。右键单击默认的 SMTP 虚拟服务器,然后单击停止。
11、让 SMTP 虚拟服务器停止将需要几分钟的时间。在默认的 SMTP 虚拟服务器停止后,再次右键单击“默认的 SMTP 虚拟服务器”,然后单击开始。让默认 SMTP 虚拟服务器启动将需要几分钟的时间。
12、在默认的 SMTP 虚拟服务器启动后,要等待大约 10 分钟时间。

现在默认的 SMTP 虚拟服务器可以重新枚举邮件并将它们放入针对 Connector for SMTP 或您在步骤 1 中创建连接器时命名的连接器的单个队列中。
13、大约 10 分钟后,展开默认的 SMTP 虚拟服务器,然后单击队列。
14、注意看 Connector for SMTP 右边的邮件总数。

必须让此数目稳定下来,以便所有的邮件可以一次删除。
15、右键单击队列,然后单击 刷新 (大约每 15 分钟刷新一次)。
16、重复第 15 步一直到邮件的总数目保持稳定为止。
17、在此数目稳定后,展开队列。此时服务器好像停止了响应(挂起)。请等待几分钟让队列展开。
18、找到针对 Connector for SMTP 的队列。该队列由黄色文件夹图标上的小红色时钟指示。
19、右键单击 Connector for SMTP 队列,然后单击 Delete all messages (no NDR)(删除所有邮件 (无 NDR))。
20、在问是否删除选定队列中的邮件时,单击是。删除这些邮件需要一些时间,具体取决于邮件的数目。
21、在删除邮件后,右键单击队列,然后单击刷新。
22、注意看 Connector for SMTP 队列的邮件总数目。此数目是 0。
23、等待大约 5 分钟,然后再次刷新队列。这样做的目的是让 Connector for SMTP 队列中的邮件的数目达到 0 并保持为 0。如果此数目增加,则表明 Exchange 服务器仍在通过 Connector for SMTP 处理外部传递的邮件。重复这一步直到该数目再次稳定。
24、重复 19 至 23 步,直到 Connector for SMTP 队列中的邮件数目一直保持为 0。这时,Exchange 服务器的 SMTP 队列中的 UCE 就彻底被清除了。


在 Exchange 清除了 UCE 之后,您必须撤消在第 2 至 8 步中做的更改。为此,请按照下列步骤操作:
1、在 Exchange System Manager 中,展开连接器,右键单击 Connector for SMTP ,然后单击属性。

如果您在第 1 步中创建了一个临时 SMTP 连接器,请单击删除而不是属性,然后转到第 7 步。
2、在常规选项卡上,将这些设置更改为在“清理 Exchange Server 的 SMTP 队列”中的第 3 步中记录的那些设置。
3、单击 Delivery Options(传递选项)选项卡。
4、确认 Specify when messages are sent through this connector(指定邮件何时通过此连接器发送)被选中。
5、在“连接时间”列表中,单击 Always Run(始终运行)。
6、单击确定。
7、展开服务器,展开服务器名,展开协议,然后展开 SMTP。右键单击 默认的 SMTP 虚拟服务器,然后单击停止。
8、在 SMTP 虚拟服务器停止后,再次右键单击 默认的 SMTP 虚拟服务器,然后单击开始。

现在您已经将 Exchange 服务器配置为阻止开放 SMTP 中继,并且您已经从 Exchange Server 的 SMTP 队列中删除了 UCE。下一步就该清理文件系统了。

清理 Exchange Server 的文件系统
Exchange Server 尝试基于 SMTP 虚拟服务器的特定设置传递电子邮件。达到这些传递阈值后,Exchange Server 将停止传递电子邮件并将邮件从 SMTP 队列中移到 BadMail(死信)文件夹中。此文件夹会占用驱动器上的大量空间。

要删除这些不必要的文件,请按照下列步骤操作:
1、在 Windows 资源管理器中,找到 C:\Program Files\Exchsrvr\Mailroot\Vsi 1 文件夹。为此,请展开左窗格中的 C:\Program Files,展开 Exchsrvr,展开 MailRoot,然后展开 Vsi 1。

重要说明:不要打开“BadMail”文件夹。根据 Exchange Server 2000 计算机处理的垃圾邮件的数量,此文件夹可能包含数十万计的文件。如果打开此文件夹,服务器看起来好像停止了响应。
2、右键单击 BadMail 文件夹,单击重命名,将其名称更改为“BadMailOld”。
3、在 VSI 1 文件夹中,创建一个叫做 BadMail 的新文件夹。
4、将 BadMailOld 文件夹永久性地删除。为此,请单击 BadMailOld 文件夹,按住 SHIFT 键不放,然后按 DELETE 键。
5、当用问您是否想删除 BadMailOld 文件夹时,单击是。删除此文件夹需要很长时间,具体取决于此文件夹中的文件数目。

对 Exchange Server 的驱动器执行磁盘碎片整理
因为您已经移动或删除了很多文件,所以您可能需要在受影响的驱动器上运行“磁盘碎片整理程序”。
,