queue-fast.pl は、qmail のメールキューを閲覧・削除する Perl プログラムです。
ダウンロードはこちらから: queue-fast.20050210.tar.gz GET
内部的に qmail-qread 等を呼ばずに、自前でキュー探索しているため、
例えばSPAMメール爆弾などによってキューに100万通レベルのメールが
溜まってしまった場合でも、許容できる時間内に処理します。
環境にもよりますが、1時間あたり1万通以上のメール削除も行いました。
queue-fast.pl では、 qmail のキュー中のメールのうち、 「messages in queue」に該当するメール、 「messages in queue but not yet preprocessed」に該当するメールの どちらも表示・削除されます。
キュー内の全てのメールを表示する手順:
perl queue-fast.pl
各メールの差出人アドレス・宛先アドレスが表示されます。
閲覧モードではファイルの削除や変更は一切行いません。
表示のみですので、安全に実行できます。
queue-fast.pl は、root 権限にて実行してください。
キュー内の user@domain.name 宛の全てのメールのみを表示する手順:
perl queue-fast.pl user@domain.name
「指定したアドレスのみを宛先としたメール」を表示します。
また、Cc: などを使って複数の宛先アドレスが指定されたメールは除外されます。
第2引数以降(=スペース区切り)で複数の宛先アドレスを指定することも可能です。
現在は、差出人アドレスを指定することはできません。
qmail を停止して、user@domain.name 宛の全てのメールを削除する手順:
svc -d /var/qmail/supervise/qmail-send perl queue-fast.pl -d user@domain.name svc -u /var/qmail/supervise/qmail-send
-d オプションを利用した場合は、
qmailの仕様
に基いて、メール1通につき queue ディレクトリ内の複数のファイルが削除されます。
安全のため、-d オプションを実行してファイルを削除する前に
予めqmail-send を停止しておく必要があります。
virtualdomains を利用してバーチャルドメインの転送を実装したり、 vpopmail でPOPサーバを稼動している場合は、 qmail の内部処理的な宛先アドレスが書き換えられている場合がありますので、 いったんオプションなしの queue-fast.pl や qmail-qread コマンドで 内部処理的な宛先アドレスを確認してから削除することをお勧めします。
トラックバックURL:http://www.kawa.net/service/tb/ajaxtb.cgi/works/qmail/queue-fast.html
Kawa.netxp © Copyright 2004 Yusuke Kawasaki