本文主要介绍一下postfix的常用命令及邮件队列的管理:
Postfix有以下四种邮件队列,均由管理队列的进程统一进行管理:
maildrop:本地邮件放置在maildrop中,同时也被拷贝到incoming中。 incoming:放置正在到达队列或管理进程尚未发现的邮件。 active:放置队列管理进程已经打开了并正准备投递的邮件,该队列有长度的限制。 deferred:放置不能被投递的邮件。可能是推迟发送的邮件
启动postfix
/usr/sbin/postfix start
停止postfix
/usr/sbin/postfix stop
检查postfix配置文件
/usr/sbin/postfix check
显示Postfix当前生效的配置信息
postconf -n
重新读取postfix配置文件
/usr/sbin/postfix reload
查看队列中的邮件:
mailq postqueue -p
查看队列大小
mailq | wc -l postqueue -p | wc -l
查看信件內容
postcat -q Queue_ID
强制发送队列中的邮件
/usr/sbin/postfix flush postqueue -f
暂缓发送队列中的问题邮件
postsuper -h Queue_ID postsuper -h ALL deferred
解除暂缓发送的邮件
postsuper -H Queue_ID postsuper -H ALL deferred
重新加入队列:
postsuper -r Queue_ID postsuper -r ALL
刪除指定邮件
postsuper -d Queue_ID
清空队列中的邮件
postsuper -d ALL
# 删除队列中有问题的邮件(正在deferred列表中的邮件,直接删除邮件文件,可看出哪些信被刪除了 ):
postsuper -d ALL deferred find /var/spool/postfix/deferred -type f -exec rm -vf {} ; # find /var/spool/postfix/defer -type f -exec rm -vf {} ;
列出所有问题邮件(目前所有无法发送的邮件)
find /var/spool/postfix/deferred -type f -exec ls -l --time-style=+%Y-%m-%d_%H:%M:%S {} ;
删除已经3天未发出的邮件
find /var/spool/postfix/deferred -type f -mtime +3 -exec rm -f {} ;
删除超过5天的问题邮件的退信记录(超过5天的 “defer” 列表中的退信)
find /var/spool/postfix/defer -type f -mtime +5 -exec rm -f {} ;
# 以下是一些相关的日志
查看系统日志:
tail -f /var/log/messages
查看邮件日志:基本很全面,几乎所有遇到的邮件问题都可以通过该日志来处理
tail -f /var/log/maillog
maildrop相关
tail -f /var/log/maildrop.log
clamd相关:
tail -f /var/log/clamav/clamd.log tail -f /var/log/clamav/freshclam.log
# 完毕