Postfix queue(邮件队列) 管理 mailq postsuper -d ALL

From time to time the mail queue may get filled up. This may be due to network problems or misconfiguration. For instance, if you botch (typo) the relayhost parameter, the mail will be undeliverable. The first thing to do is fix the problem, meaning get the network back online, or fix the configuration.

1. try and deliver the mail from the queue(强制发送队列中的邮件):

$ postfix flush or $ postqueue -f

2. check mail queue size (查看队列大小):

$ mailq | wc -l

3. list mails in queue (查看队列中的邮件):

$ postqueue -p or $ mailq

4.put all deferred mail “on hold” so that no attempt is made to deliver it(暂缓发送队列中的问题邮件):

$ postsuper -h ALL deferred

5. release mail that was put “on hold”(解除暂缓发送):

$ postsuper -H ALL deferred

6. purge all deferred emails from the queue without delivering (删除队列中问题的邮件):

$ postsuper -d ALL deferred $ find /var/spool/postfix/deferred -type f -exec rm -vf {} \;

7. purge specific email from the queue by specifying its message ID (按邮件ID删除队列中的邮件):

$ postsuper -d 0C0FF240F2

8. 删除已经三天未发出的邮件

$ find /var/spool/postfix/deferred -type f -mtime +3 -exec rm -f {} \;

9. 列出所有问题邮件

$ find /var/spool/postfix/deferred -type f \ -exec ls -l --time-style=+%Y-%m-%d_%H:%M:%S {} \;

10. 删除超过5天的问题邮件的退信记录

$ find /var/spool/postfix/defer -type f -mtime +5 -exec rm -f {} \;

11. 复杂用法:利用grep得到特定的邮件ID,再删除,如:

$ mailq | grep -B 1 "[email protected]" | cut -f 1 -d ! > deletionIDs" $ cat deletionIDs | postsuper -d -


postfix有四种不同的邮件队列,并且由队列管理进程统一进行管理:

  1. maildrop:本地邮件放置在maildrop中,同时也被拷贝到incoming中。

  2. incoming:放置正在到达或队列管理进程尚未发现的邮件。

  3. active:放置队列管理进程已经打开了并正准备投递的邮件,该队列有
  长度的限制。

  4. deferred:放置不能被投递的邮件。

postfix日常维护
启动postfix
postfix start
停止postfix
postfix stop
重新读取postfix配置文件
postfix reload
立即投递队列中所有邮件(慎用)
postfix flush
查看队列邮件
postqueue -p
mailq
postqueue -p |tail
使用postsuper 来维护队列。
一般是先用mailq查看队列里的邮件,找到对应的id,然后用postsuper -d来删除。
例如id是0EAF3A9B 那么postsuper -d 0EAF3A9B

Q: 删除邮件队列
A: mailq | tail +2 | awk 'BEGIN { RS = "" } / chen@example\.org$/ { print $1 }' | tr -d '*!' | postsuper -d -

详细要看mailq和postsuper的用法修复队列以及任何权限错误
postfix check
查看邮件系统日志
tail -f /var/log/maillog 


显示信件列表:postqueue -p
显示信件�容:postcat -q Queue_ID
�除各�信件:postsuper -d Queue_ID
全部�除:postsuper -d ALL
扣住信件:postsuper -h Queue_ID
回复:postsuper -H Queue_ID
重新排程:
postsuper -r Queue_ID
postsuper -r ALL
清除信件:
postqueue -f (全部)
postqueue -s 主机名称(个别对象)
要查看Postfix的当前主要配置文件的存放路径:
postconf -n

系统日志:tail -f /var/log/messages
邮件日志:tail -f /var/log/maillog
clamd相关:tail -f /var/log/clamav/clamd.log  tail -f /var/log/clamav/freshclam.log
maildrop相关:tail -f /var/log/maildrop.log
apache相关:tail -f /usr/local/httpd/logs/error_log  tail -f /usr/local/httpd/logs/suexec_log
mysql相关:tail -f /usr/local/mysql/data/linux.linux.com.err
测试amavisd:amavisd -d config debug-sa
测试spam:spamassassin -D --lint
测试maildrop:maildrop -V 10 [email protected]

postsuper -d ALL  这样就删除所有邮件啦

你可能感兴趣的:(管理,postfix,all,postsuper,-d,mailq,queue(邮件队列))