* qmHandleでキューを管理 [#z2ebbc61]
** インストール [#o0d51863]
http://qmhandle.sourceforge.net/からソースを取得して、展開。本体はPerlスクリプトなので、適当なパスへコピーしてインストール終了。
** 設定 [#g2f90c14]
qmHandleをエディタで開いて、下の行あたりを自分の環境に合わせる。
my ($queue) = '/var/qmail/queue/';
my ($stopqmail) = '/usr/local/bin/svc -d /service/qmail-send';
my ($startqmail) = '/usr/local/bin/svc -u /service/qmail-send';
** 使い方 [#z454686f]
rootユーザで実行する。引数なしで実行すると使えるオプション一覧が表示されるので、それを参考にする。
** キューを一括で削除 [#vcf13b9f]
まずqmailを止める。
svc -d /service/qmail
キュー情報をテキストファイルで保存する。
qmHandle -R > que.txt
grepで消したいキューのMessage Idを取り出し、qmHandle -dオプションの文字列を標準出力に出力する。
cat que.txt |
grep -B1 "From: XXXX@XXX.jp" |
grep '^[0-9][0-9]*' |
sed -e 's/^\([0-9][0-9]*\) .*$/qmHandle -d\1/'
上の出力をテキストファイルにリダイレクトするなどして、シェルスクリプトにし、実行する。数が多いとかなり時間がかかる。
最後にqmailを再開する。
svc -u /service/qmail