分享java帶來的快樂

          我喜歡java新東西

          postfix 郵件維護

          postfix 如何刪除隊列中的郵件

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

          linux @ 06 二月 2009,

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

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

          [注意:大小寫有區(qū)別,請注意大小寫!]

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

          用外面的郵件服務(wù)器發(fā)點EDM,一直有問題,成功太少,干脆用自己的郵件服務(wù)器發(fā)送,誰知道3W多封郵件是發(fā)出去了,全部堵在我們自己的服務(wù)器上,郵件服務(wù)器給堵死了spool只好刪除隊列中的垃圾郵件了,網(wǎng)上說是 mailq | tail +2 | awk ‘BEGIN { RS = “” } / chen@example\.org$/ { print $1 }’ | tr -d ‘*!’ | postsuper -d

          參考官網(wǎng)寫個腳本也不行,應(yīng)該多研究下還可以的,腳本如下:

          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即可。應(yīng)該通過管道可以簡單實現(xiàn),但是我對使用管道不熟悉,只好多走兩步了……

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

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

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

          for i in `cat dellist`;

          do  postsuper -d $i;

          done

          [root@mail mywang]# sh delmail.sh

          postfix有四種不同的郵件隊列,并且由隊列管理進程統(tǒng)一進行管理:


            1. maildrop:本地郵件放置在maildrop中,同時也被拷貝到incoming中。

            2. incoming:放置正在到達(dá)或隊列管理進程尚未發(fā)現(xiàn)的郵件。

            3. active:放置隊列管理進程已經(jīng)打開了并正準(zhǔn)備投遞的郵件,該隊列有長度的限制。

            4. deferred:放置不能被投遞的郵件。


          postfix日常維護

          啟動postfix        postfix start

          停止postfix        postfix stop

          重新讀取postfix配置文件     postfix reload



          立即投遞隊列中所有郵件(慎用)           postfix flush


          查看隊列郵件    postqueue -p 或 mailqpostqueue -p |tail


          使用postsuper 來維護隊列。一般是先用mailq查看隊列里的郵件,找到對應(yīng)的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


          詳細(xì)要看mailq和postsuper的用法


          修復(fù)隊列以及任何權(quán)限錯誤

          postfix check

          查看郵件系統(tǒng)日志

          tail -f /var/log/maillog

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

          主站蜘蛛池模板: 安达市| 新乐市| 丽水市| 德钦县| 龙门县| 屏南县| 色达县| 海淀区| 和林格尔县| 彝良县| 鄂温| 疏附县| 布尔津县| 资溪县| 涟水县| 桦南县| 万安县| 苍南县| 丹东市| 兰溪市| 丽水市| 新沂市| 静海县| 汶川县| 东兰县| 缙云县| 拉萨市| 义马市| 娄底市| 扎赉特旗| 永靖县| 新巴尔虎左旗| 满城县| 廉江市| 灵武市| 隆化县| 孙吴县| 蛟河市| 于都县| 新建县| 宾阳县|