当邮件对列清除不干净的时候对应方法:
故障描述:
[root@mail01 ~]# /var/qmail/bin/qmail-qread
warning: trouble with #8091665: file does not exist
warning: trouble with #437196: file does not exist
warning: trouble with #8482665: file does not exist
warning: trouble with #4902715: file does not exist
warning: trouble with #4909960: file does not exist
warning: trouble with #8480572: file does not exist
warning: trouble with #433976: file does not exist
warning: trouble with #4986642: file does not exist
warning: trouble with #4985906: file does not exist
warning: trouble with #4874724: file does not exist
warning: trouble with #8478065: file does not exist
warning: trouble with #4954189: file does not exist
原因:
产生这种错误的原因是删除qmail队列中的邮件时是直接删除的,而只删除了一部分,
没有把所有的关联删除掉。而是在remote中找不到相关的信息了,也就是
只清除邮件队列的时候,只清除了邮件的信体,
但邮件的头信息还没有清除干净,所以qmail-send程序还误以为队列中
还存在邮件,但实际是空壳!
解决方法:
/usr/local/sbin/qmail-remove -r --->不一定成功,因为邮件的信体已经被移走
/var/qmail/bin/qmail-qread |awk -F'#' '{print $2}'|awk -F: '{print $1}'|awk '{print $1}' >/tmp/_queue
for x in `cat /tmp/_queue`;do find ./ -name "$x" -exec rm {} ;;done
/usr/local/bin/svc -t /service/qmail-send/
/usr/local/bin/svc -t /service/qmail-smtpd/
-------------------------------
要想手工删除队列的话,一般以下目录中的文件得删除,但有个弊端,
就是有可能删除不干净,邮件的头信息还会存在,就像上面的错误
/var/qmail/queue/~
bounce
info
local
mess
remote
-------------------------------
评论