- Linux
- 2016-05-09
qmailを運用していく上で非常に便利なツール「qmHandle」についてご紹介します。
スパムの被害に遭ったり、メールキューが溜まりすぎてサーバーで処理してしまいたい時などに重宝します。
初めは「queue-fast.pl」というツールを使っていました。
ただ、このツールには指定したアドレス宛のメールキューを削除という機能はあるのですが、
送信元のアドレスを指定して削除することはできません。
そのため、このツールでキューの一覧を出力しテキストファイルに保存し、その中から不要なキューのメール番号リストを作成。
リストを利用し、qmHandleで削除していくシェルスクリプトを作成し削除する、という方法をとっていました。
ですが、この方法だと少々時間がかかり、キューの数が多いとかなりかかります。
なんとかできないかとqmHandleのヘルプを見ると、送信元アドレスを指定して削除するオプションがありました!
前述のような面倒なことをしなくてもqmHandle一つで出来たとは…。
ちなみにそれが出来るようになったのはバージョン1.3.0からのようです。
qmHandleのオプションについて全てを紹介しているサイトは少なかったので、ここで紹介させていただきたいと思います。
qmHandleのダウンロードは以下のURLから。
https://sourceforge.net/projects/qmhandle/
まずはダウンロードしてインストール
tar -xvzf qmHandle-1.3.2.tar.gz cd qmHandle-1.3.2 install -o root -g qmail -m 0755 qmHandle /usr/local/bin
最後の/usr/local/binはインストールする場所ですが、こちらは任意の場所で大丈夫です。
パスが通っているところのほうが楽に実行できます。
注意点として、キューを処理する際はqmailを停止してから行ってください。
オプション
※-tオプションについては詳細が分かりませんので分かり次第書き換えます。
-a | すぐに再配送する(qmailが起動していること) |
---|---|
-l | キューのヘッダーとサマリー情報を表示 |
-L | ローカルキューのヘッダーとサマリー情報を表示 |
-R | リモートキューのヘッダーとサマリー情報を表示 |
-s | キューの数を表示 |
-mN | 指定した番号のメール内容を表示 |
-dN | 指定した番号のメールキューを削除 |
-fsender | 指定した差出アドレス(sender)のメールキューを削除 |
-f’re’ | 正規表現(re)で差出アドレスがマッチしたメールキューを削除 |
-Stext | 指定した文字(text)を件名に含むメールキューを削除 |
-h’re’ | 正規表現(re)でヘッダー情報がマッチしたメールキューを削除(大文字・小文字を区別しない) |
-b’re’ | 正規表現(re)で本文がマッチしたメールキューを削除(大文字・小文字を区別しない) |
-H’re’ | 正規表現(re)でヘッダー情報がマッチしたメールキューを削除(大文字・小文字を区別する) |
-B’re’ | 正規表現(re)で本文がマッチしたメールキューを削除(大文字・小文字を区別する) |
-t’re’ | flag message with recipients in regular expression ‘re’ for earlier retry (note: this lengthens the time message can stay in queue) |
-D | 全てのメールキューを削除 |
-V | バージョン表示 |
-c | 出力をカラー表示 |
-N | メール番号のみのリストを表示(-l,-L,-Rと併せて使用) |