本文出自《网管员世界》2004年第2期 经验技巧栏目
一般来说,邮件服务器接收到客户端提交过来的邮件,会立即进行发送。但是,当出现故障,比如线路中断或目的域不可到达时,邮件服务器就会将该邮件转入邮件队列(Message Deferred Queue),等待一个时间段,然后再尝试发送。另外,由于SMTP协议的问题,接收邮件时,邮件服务器不会去验证邮件发送方的地址,有些病毒邮件、广告群发邮件等垃圾邮件经常会使用伪造的或根本就不存在的邮件地址进行发送,而且,为了达到群发的目的,邮件的接收地址大部分都是成批地编造出来的。对这样的邮件,邮件服务器既发送不出去,也无法退回发送人,极容易造成死循环。大量的邮件囤积在服务器的邮件队列中,会极大的消耗系统的资源,严重时,甚至会造成SMTP进程死掉,系统响应非常迟缓。因此,作为邮件系统的管理员,需要经常去查看服务器的邮件队列,及时了解邮件系统的运行状况,并根据情况,处理队列中的邮件。
查看邮件队列
在Netscape Messaging Server4.15中,可以通过Netscape Console控制台去查看队列,方法是:启动Netscape Console,进入Messaging Server控制台,选择“Configuration”下的“Services”/“SMTP”/“Message Queue”,如图1所示。从控制台中,我们可以看到邮件目的域,即接收方域,还有待发往该域的邮件数量。另外,还有一个更为实用的方法—mailq,可以查看邮件的队列。在使用之前,用户必须使用邮件服务器程序属主的身份登录系统。
→图1
# mailq -v
Summary of Queued Messages Destined for the Internet (via SMTP)
Messages Destination Host Queue Directory
-------- --------- --------
1 163.com $queue
HGR7EQ00.M7V 754/11450 [Wed, 20 Aug 2003 08:16:02 +0800] <ab@abc.cn> 1:<cd@163.com>
1 bolt.com $queue
HJT98W01.E7K 410/3348 [Wed, 20 Aug 2003 18:31:44 +0800] <> 1:<audrey.leeqk@bolt.com>
…………
由上可见,mailq可以查看到更丰富详细的信息,取上述第一条来讲,这表明对163.com的目的域,有一个邮件待发,发件人的地址是ab@abc.com,收件人的地址是cd@163.com,发件时间是“Wed, 20 Aug 2003 08:16:02 +0800”,而“754/11450”则分别表示该邮件的邮件头和邮件体(Header-Size/Body-Size)的大小,邮件目前在$queue目录下。
想进一步的了解该邮件的情况,可以进入$queue目录查看。
以往Netscape Messaging Server将目的域名作为目录名直接放在$queue/deferred/SMTP-Deliver目录下,Netscape Messaging Server 4.0以后,我们需要用Hash算法来定位该目的域队列:
# hashdir 163.com
14/44/
# ls $queue/deferred/SMTP-Deliver/14/44/
163.com
这样,我们就可以进入该队列,查看关于这个邮件更详细的信息。这些信息对邮件管理员都是非常有用的。根据它,管理员可以查找定位邮件、追踪邮件、了解邮件进入队列和排队时间,并据此决定相应的处理队列措施。
处理邮件队列
进入邮件队列的邮件,管理员可以采取的处理措施有三种(如图2):
→图2
1. Bounce,返回发件人。
上一篇:用Photoshop模仿书法字
下一篇:Debian下安装Eyou Mail Server