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

[经验分享] postfix 如何删除队列中的邮件

[复制链接]
累计签到:2 天
连续签到:2 天
发表于 2015-9-15 09:19:23 | 显示全部楼层 |阅读模式
# postfix 如何删除队列中的邮件

linux @ 06 二月 2009,
  [iyunv@mail ~]# mailq 查看队列邮件
  postsuper -d ALL  这样就删除所有邮件啦
  [注意:大小写有区别,请注意大小写!]
  网上看到,Postfix 邮件队列管理的几个 Perl 小程序,pfdel.pl 是用来删除队列中指定用户的邮件的,luserdel.pl 是用来删除队列中无效用户的邮件的,moqdel.pl 是用来删除队列中邮箱配额已满的用户的邮件的,jmoqdel.pl 是删除邮箱配额已满的用户的垃圾邮件箱的。我装的是EMOS1.3,找不到这几个小程序。
  用外面的邮件服务器发点EDM,一直有问题,成功太少,干脆用自己的邮件服务器发送,谁知道3W多封邮件是发出去了,全部堵在我们自己的服务器上,邮件服务器给堵死了 DSC0000.jpg 只好删除队列中的垃圾邮件了,网上说是 mailq | tail +2 | awk ‘BEGIN { RS = “” } / chen@example\.org$/ { print $1 }’ | tr -d ‘*!’ | postsuper -d
  参考官网写个脚本也不行,应该多研究下还可以的,脚本如下:
  Q: 删除邮件队列
  A: mailq | tail +2 | awk ‘BEGIN { RS = “” } / chen@example\.org$/ { print $1 }’ | tr -d ‘*!’
  | postsuper -d -
  [iyunv@linuxas3 root]# vi mailqueue
#!/bin/bash
# netkiller@9812.net
queue=$1
# echo ${queue}
DELETE=”mailq | tail +2 | awk  ’BEGIN { RS = \”\” } /${queue}$/ { print \$1 }’ | tr -d ‘*!’
  | postsuper -d -”
echo ${DELETE} > queue
chmod 755 queue
./queue
[iyunv@linuxas3 root]# chmod 755 mailqueue
[iyunv@linuxas3 root]# ./mailqueue chen@example\\.org
mailq | tail +2 | awk ‘BEGIN { RS = “” } /chen@example\.org$/ { print $1 }’ | tr -d ‘*!’ |
  由于邮件中有一些正常邮件,所以只能删除特定字符的垃圾邮件,通过mailq显示出来邮件队列:2AB97F815E* 2749 Thu Feb 5 15:48:38 web1@shequsz.com
  szmaxoni@public.szptt.net.cn   删除邮件只需要命令postsuper -d 2AB97F815E即可。应该通过管道可以简单实现,但是我对使用管道不熟悉,只好多走两步了……
  [iyunv@mail ~]# mailq |grep shequsz\.com >>/home/maillist 到出包含shequsz.com的垃圾邮件到maillist
  [iyunv@mail home]# awk ‘{print $1}’ maillist >>/home/mywang/dellist 把邮件ID导出来,查看下如果带*,需要编辑替换下
  [iyunv@mail mywang]# cat delmail.sh  编辑一个脚本,把文件里面ID逐个匹配然后删除邮件
  for i in `cat dellist`;
  do  postsuper -d $i;
  done
  [iyunv@mail mywang]# sh delmail.sh
  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 或 mailqpostqueue -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

运维网声明 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.iyunv.com/thread-113786-1-1.html 上篇帖子: debian sarge + postfix + mysql + webmail + web admin安装配置指南 下篇帖子: /etc/postfix/main.cf
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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