在Exchange环境中,信息不能被发送的原因有很多。例如,通信线路可能出现故障,或者域名解析器(DNS)可能出现了问题而不能解析 接收域。在任何一种情况中,不能被发送的信息都可能在你的员工、供应商及客户中引起通信流量的崩溃。幸运的是,你确实拥有一些能够控制Exchange如 何处理不能发送的信息的手段。
访问未被发送信息的选项
1. 打开Exchange系统管理器并通过控制台树形结构进入到管理组,然后再进入到“你的管理组”,再点击“服务器”->“你的服务器”->“协议”->“SMTP”->“默认SMTP虚拟服务器”。
2. 用鼠标右键点击“默认SMTP虚拟服务器”,并选择“属性”。
3. 点击“发送”标签,浏览未被发送的信息的选项。
做为默认值,如果Exchange服务器不能发送信息,那么它将会在10分钟内进行重试。如果Exchange仍然不能发送信息,它将会在下一次尝试发送之前等待10分钟。如果这时信息还是不能被发送,Exchange将进行第三次的重试。
这时,如果信息还是没有被发送,在接下来的两天中,Exchange将会试图每隔15分钟就进行一次发送的尝试。如果两天过去了,Exchange仍然不能把信息发送出去,那么就会提出一个关于未被发送的报告。
在Exchange Server 2003 SP1中,Windows操作系统把坏邮件(BADMAIL)目录设定为禁用。但是在Exchange的早期版本中仍然会在BADMAIL目录中放置一份 信息的副本。该信息在BADMAIL目录中的容量是没有限制的,直到大量的未被发送的信息被放置在BADMAIL目录中,使得服务器的磁盘空间不足。
修改未被发送邮件的选项
现在你知道了Exchange是如何处理未被发送的信息的,那么让我们来看看你该如何修改Exchange的这种处理过程。在默认的SMTP虚拟服务器属性中的发送标签中,允许你对第一次、第二次和第三次后继重试的时间。你也可以控制这些消息的期满时间。
在这个标签中值得一提的另一个方面是延迟通知(Delay Notification)设定。做为默认值,Exchange是如上图这样对其进行设置的,如果信息在12小时内不能被发送,那么发送方将会收到一条消 息,提示信息还没有被发送出去,然而现在还没有必要对其进行重新发送。你可以把通知的时间从12个小时改为任何适合你所需要的时间。
设置BADMAIL选项
在 Exchange的早期版本中,BADMAIL目录对于未被发送的信息扮演的是一种黑洞的角色。我认为Windows操作系统中禁用BADMAIL目录是 明智的,因为绝大多数的管理员从来都不使用BADMAIL目录。但是如果你确实需要使用它,那么你可以通过修改注册表来启用BADMAIL目录,并要防止 它增长到不合理的尺寸。
在向你展示如何设置BADMAIL选项之前,请记住修改注册表是很危险的。一旦你犯了错误,可能就会摧毁你的Windows操作系统以及你的应用程序。所以,在你继续下面的操作之前,请把整个系统都进行备份。
接着上面说,你可以在HKEY_LOCAL_MACHINESystemCurrent Control Set ServicesSMTPSVCQueuing这个键值中访问到BADMAIL设置。
一旦那里存在着两种不同的注册表键值,那么你更要留意下面所提到的(如果它们不存在的话,你需要建立这些键值):
1. 第一个键值是命名为MaxBadMailFolderSize的DWORD值。
这个键值指出了在旧的项目被丢弃之前,BADMAIL文件夹能够增加多少KB的尺寸。在Exchange Server 2003 SP1中BADMAIL文件夹是被禁用的,所以该值的默认值为0。如果你想让BADMAIL文件夹恢复到SP1之前的运行方式,而且允许其进行无限制的增 长,那么就把值改成-1。否则就仅定义文件夹的大小。例如,如果值是3072,那么就允许BADMAIL文件夹的尺寸增长到3MB。
2. 另一个需要你留意的键值是命名为BadMailSyncPeriod的DWORD值。
这个值可以告诉Exchange每隔多少时间就需要对BADMAIL文件夹尺寸的改变进行检查。如果你在BADMAIL文件夹中手动删除了某些项 目,Exchange不会马上发现这些项目已经不存在了,直到它运行了BADMAIL的同步程序。这个值可以告诉Exchange间隔多久需要运行一次同 步程序。
同步周期被设置为0,就意味着禁用。但是如果你愿意的话,你还可以把它设置成-1,这样的设置就允许Exchange以SP1之前的方式运行。你也 可以把运行同步程序的时间间隔指定为几分钟。如果你选择了使用BADMAIL文件夹,我推荐的BADMAIL同步程序运行的时间间隔为每10-15分钟一 次。