メールが大量に送信されキューを削除する場合 現在のキューの数を調べる # /var/qmail/bin/qmail-qstat サーバにqmhandleが用意されているのでこれを使用する。 # cd /usr/local/src/qmhandle-1.3.2 # ./qmHandle [option] -a 再配送 -l キュー内のローカルキュー・リモートキューのヘッダーとサマリー情報を表示 -L ローカルキューのヘッダーとサマリー情報を表示 -R リモートキューのヘッダーとサマリー情報を表示 -s キューの数を表示 -mN メール番号Nの内容表示 -dN メール番号Nの削除 -D キュー内のすべてのメールを削除 qmhandleでは指定したメッセージIDでしかメールを削除できないので、以下のコマンドを使用する。 # ./qmHandle -l > any.txt # cat any.txt | grep -B2 'From: xxxx@hogehoge.com' | grep '^[0-9][0-9]*' | sed -e 's/^\([0-9][0-9]*\) .*$/\.\/qmHandle -d\1/' このコマンドで一気に削除することは出来ないが、少しずつ削除されていく。 1315238 (6, 6/1315238) Return-path: foo@baa.com From: foo@baa.com To: foo@baa.com Subject: [test]testmail Date: Wed, 26 Aug 2009 17:22:35 +0900 (JST) Size: 1463 bytes 以上の様に出力されるので、grepでB1とオプションを変更すればReturn-pathの指定されたIDのメッセージを抜き出すことが出来る。
|