Postfix常用命令和邮件队列管理(queue)

本文主要介绍一下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

# 完毕,呵呵呵

posted @ 2021-08-02 11:06  落华  阅读(593)  评论(0编辑  收藏  举报