【qmail】キューに大量にたまったメールの削除
問題
送りたくないメール、送信不能なメール、再送待ちのメール、送らなくてよいメールが、qmailのキューにたくさんありまして…、どうやって消すとよいですか。
# /var/qmail/bin/qmail-qstat messages in queue: 91904 messages in queue but not yet preprocessed: 0
答え
道具を準備する
キューの状況確認
perl queue-fast.pl
perl queue-fast.pl 送信先メールアドレス
送信先指定で削除
qmailを停止してから
perl queue-fast.pl -d 送信先メールアドレス
送信元指定で削除
queue-fast 単体ではできないようなので、qmHandle と組み合わせて対応。
キューの中身のID一覧取得
perl queue-fast.pl | grep "送信元メールアドレス" | cut -d" " -f1 | cut -d"/" -f2
上で取得した各IDに対して、以下で削除可能
qmailを停止してから
perl qmHandle -d123456
1行で書くと
# qmail停止 # for id in `perl queue-fast.pl | grep "送信元メールアドレス" | cut -d" " -f1 | cut -d"/" -f2` ; do perl qmHandle -d$id ; done
コメント