SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【qmail】キューに大量にたまったメールの削除

問題

送りたくないメール、送信不能なメール、再送待ちのメール、送らなくてよいメールが、qmailのキューにたくさんありまして…、どうやって消すとよいですか。

# /var/qmail/bin/qmail-qstat
messages in queue: 91904
messages in queue but not yet preprocessed: 0

答え

道具を準備する

qmHandle

queue-fast

キューの状況確認

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

関連するメモ

コメント