设为首页 收藏本站
查看: 4011|回复: 0

[经验分享] zimbra 的 postfix 队列管理

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-12-1 08:34:51 | 显示全部楼层 |阅读模式
                      将所有要发送的邮件按发件人排序:
[iyunv@dx-it-mta01 wuxiaoyu]# cat /opt/zimbra/work/mailqbysender
#!/bin/bash

mailq | grep '^[A-Z0-9]' | awk '{print $7}' | sort | uniq -c | sort -n
[iyunv@dx-it-mta01 wuxiaoyu]#

统计发件人排序的top4
[iyunv@dx-it-mta01 wuxiaoyu]# cat /home/sankuai/wuxiaoyu/mail.sh
#!/bin/bash
sudo -u zimbra -i work/mailqbysender | tail -n4
m=$(sudo -u zimbra -i work/mailqbysender | tail -n1)
n=$(echo $m | awk '{print $2}')
echo $n
sudo -u zimbra -i mailq | grep $n | cut -c -12 > /tmp/_mailq.txt
[iyunv@dx-it-mta01 wuxiaoyu]#

删除top4中最多的发件人所发的邮件

[iyunv@dx-it-mta01 wuxiaoyu]# cat /home/sankuai/wuxiaoyu/p.sh
#!/bin/bash
cat /tmp/_mailq.txt | /opt/zimbra/postfix/sbin/postsuper -d -

[iyunv@dx-it-mta01 wuxiaoyu]#

zimbra中的postfix
暂缓发送队列中的问题邮件
[iyunv@dx-it-mta01 incoming]# /opt/zimbra/libexec/zmqstat
hold=0
corrupt=0
deferred=96
active=6
incoming=0
[iyunv@dx-it-mta01 incoming]# which postsuper
/usr/sbin/postsuper
[iyunv@dx-it-mta01 incoming]# /opt/zimbra/postfix/sbin/postsuper  -h ALL deferred
postsuper: Placed on hold: 96 messages
[iyunv@dx-it-mta01 incoming]# /opt/zimbra/libexec/zmqstat
hold=96
corrupt=0
deferred=0
active=4
incoming=0
[iyunv@dx-it-mta01 incoming]#
解除暂缓发送
[iyunv@dx-it-mta01 incoming]# /opt/zimbra/postfix/sbin/postsuper  -H  ALL
postsuper: Released from hold: 96 messages
[iyunv@dx-it-mta01 incoming]# /opt/zimbra/libexec/zmqstat                 
hold=0
corrupt=0
deferred=96
active=11
incoming=0
[iyunv@dx-it-mta01 incoming]#



postfix相关知识补充:
ostfix中有一套Mail Queue Management机制,所有队列中的邮件都可以全自动的处理,但在发送大量邮件的时候,有必要对这个队列进行手工的维护处理,比如说,删除队列中的邮件. 以下是一些常用的命令:
列出目前在 Mail Queue 中的邮件
mailq
刪除所有在 Queue 中的邮件
postsuper -d ALL
刪除所有正在 deferred 队列中的邮件 (删除曾经发送失败的邮件 )
postsuper -d ALL deferred
刪除所有正在 deferred 队列中的郵件 ( 可看出哪些信被刪除了 )
find /var/spool/postfix/deferred -type f -exec rm -vf /{/} /;
刪掉「三天以前」无法发送的邮件
find /var/spool/postfix/deferred -type f -mtime +3 -exec rm -f /{/} /;
列出目前所有无法发送的邮件 find /var/spool/postfix/deferred -type f -exec ls -l –time-style=+%Y-%m-%d_%H:%M:%S {} /;
刪除超过 5 天的 “defer” 佇列中的退信记录 find /var/spool/postfix/defer -type f -mtime +5 -exec rm -f /{/} /;
预设所有跟Postfix 相关的邮件都会放在/var/spool/postfix/ 目录下,想了解Postfix是如何管理队列的,可以参考 qmgr -Postfix queue manager 的手册.
以下是每个目录的用途
MAIL QUEUES
* incoming 收信箱
* active 正在准备发送的邮件
* defered 无法发送的邮件,等待重发
* corrupt 无法读取或者损坏的邮件
* hold 暂停的邮件,需要手工启动 DELIVERY STATUS REPORTS
* bounce 每一位收件者的送信状态,记录为什么退信由 bounce(8) 管理
* defer 每一位收件者的寄送状态,说明为什么延迟由 defer(8) 管理
* trace 每一位收件者的寄送状态信息,说明被 Postfix 用 “sendmail -v” 或 “sendmail -bv” 命令执行的状态由 trace(8) 管理
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(暂缓发送队列中的问题邮件):
$
5. release mail that was put “on hold”(解除暂缓发送):
$
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 "Hotconcerts@gmail.com" | cut -f 1 -d ! > deletionIDs" $ cat deletionIDs | postsuper -d -

                   


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-307904-1-1.html 上篇帖子: Exchange 2016发送给内部中继服务器邮件后收件人显示winmail.dat 下篇帖子: Centos 6.5 配置 postfix 及排错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表