分享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 強強 閱讀(520) 評論(0)  編輯  收藏 所屬分類: linux 操作系統配置sendmail

          主站蜘蛛池模板: 台东市| 洞口县| 富顺县| 清镇市| 平遥县| 湖口县| 沙洋县| 富平县| 斗六市| 怀安县| 秦皇岛市| 黄浦区| 内丘县| 祁连县| 遂平县| 定远县| 子长县| 金寨县| 鄯善县| 岳阳县| 白水县| 灌南县| 云龙县| 永康市| 徐闻县| 新晃| 无为县| 寻乌县| 商水县| 阆中市| 嘉峪关市| 青铜峡市| 特克斯县| 榆社县| 襄垣县| 历史| 遵义市| 濉溪县| 龙游县| 永登县| 贺州市|