分享java帶來的快樂

          我喜歡java新東西

          postfix 郵件維護

          postfix 如何刪除隊列中的郵件

          # postfix 如何刪除隊列中的郵件

          linux @ 06 二月 2009,

          [root@mail ~]# mailq 查看隊列郵件

          postsuper -d ALL 這樣就刪除所有郵件啦

          [注意:大小寫有區別,請注意大小寫!]

          網上看到,Postfix 郵件隊列管理的幾個 Perl 小程序,pfdel.pl 是用來刪除隊列中指定用戶的郵件的,luserdel.pl 是用來刪除隊列中無效用戶的郵件的,moqdel.pl 是用來刪除隊列中郵箱配額已滿的用戶的郵件的,jmoqdel.pl 是刪除郵箱配額已滿的用戶的垃圾郵件箱的。我裝的是EMOS1.3,找不到這幾個小程序。

          用外面的郵件服務器發點EDM,一直有問題,成功太少,干脆用自己的郵件服務器發送,誰知道3W多封郵件是發出去了,全部堵在我們自己的服務器上,郵件服務器給堵死了spool只好刪除隊列中的垃圾郵件了,網上說是 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 -

          [root@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
          [root@linuxas3 root]# chmod 755 mailqueue
          [root@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即可。應該通過管道可以簡單實現,但是我對使用管道不熟悉,只好多走兩步了……

          [root@mail ~]# mailq |grep shequsz\.com >>/home/maillist 到出包含shequsz.com的垃圾郵件到maillist

          [root@mail home]# awk ‘{print $1}’ maillist >>/home/mywang/dellist 把郵件ID導出來,查看下如果帶*,需要編輯替換下

          [root@mail mywang]# cat delmail.sh  編輯一個腳本,把文件里面ID逐個匹配然后刪除郵件

          for i in `cat dellist`;

          do  postsuper -d $i;

          done

          [root@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

          posted on 2012-04-29 18:38 強強 閱讀(521) 評論(0)  編輯  收藏 所屬分類: linux 操作系統配置sendmail

          主站蜘蛛池模板: 鄂伦春自治旗| 新泰市| 乐都县| 江西省| 隆安县| 哈巴河县| 汾阳市| 晋江市| 长垣县| 琼海市| 平乐县| 驻马店市| 临沂市| 阜阳市| 黑山县| 甘肃省| 鱼台县| 柘荣县| 印江| 德州市| 博客| 花垣县| 河西区| 长沙县| 晋城| 西华县| 花莲县| 徐州市| 合山市| 洛南县| 孝义市| 姜堰市| 乐昌市| 云龙县| 连山| 凌源市| 兰溪市| 清丰县| 嵊州市| 阳高县| 延寿县|