Provided by: manpages-ja_0.5.0.0.20140515+dfsg-2_all ![bug](/img/bug.png)
![bug](/img/bug.png)
名前
qtool - sendmail のキューを操作する
書式
qtool.pl [options] target_directory source [source ...] qtool.pl [-d|-b] [options] source [source ...]
説明
qtool は sendmail が使用するキューファイルをキューディレクトリ間で移動する。 sendmail と同じロック機構を 使うので、 sendmail が稼働している間も安全に使用できる。 オプションが指定されていない場合、 qtool は source で指定された全てのキューファイルを ディレクトリ target_directory に移動する。 source は、キュー制御ファイル・キューファイルの ID・ キューディレクトリのど れでもよい。 -d オプションが指定された場合、qtool は source で指定されたメッセージを 移動ではなく削除する。 -b オプションが指定された場合、選択されたメッセージは -OTimeout.queuereturn=now オプションをつけた sendmail を実行することにより バウンスされる (送信者に送り返される)。 オプション -b source で指定された全てのメッセージをバウンスする。 メッセージはすぐにバウンスされる。 メッセージ の配送を試みない。 -C configfile sendmail の設定ファイルを指定する。 デフォルトは /etc/mail/sendmail.cf である。 -d source で指定された全てのメッセージを削除する。 -e perl_expression source で指定されたキューファイルについて、 perl_expression を評価する。 perl_expression が真と評 価された場合、そのキューファイルは移動される。 perl_expression の詳細については、下記を参照するこ と。 -s seconds source で指定されたキューファイルのうち 修正時刻が seconds 秒より前のものだけを移動する。 Perl 表現 このプログラムでは Perl 表現を使うことができる。 Perl 表現の中では、キューに入れられたメッセージのデータ だけでなく、 制御ファイルのフィールドの内容を含むハッシュにもアクセスできる。 ハッシュは %msg という名前 である。 フィールドに複数の値がある ('Recipient' のような) 場合、 値は配列として返される。 値が 1 つの場 合、値はスカラーで返される。 ハッシュ %msg を使って、以下の値にアクセスすることができる。 auth AUTH= パラメータ。 body_type ボディタイプ (8BITMIME, 7BIT, または未定義)。 body_last_mod_time ボディが最後に修正された時刻。紀元年 (epoch) から秒数で表す。 body_size ボディファイルのサイズ (バイト単位)。 charset 文字セット (将来使用するためにある)。 content-length Content-Length: ヘッダー値 (Solaris の sendmail のみ)。 controlling_user 制御しているユーザー。 control_last_mod_time 制御ファイルが最後に修正された時刻。紀元年 (epoch) から秒数で表す。 control_size 制御ファイルのサイズ (バイト単位)。 creation_time 制御ファイルが生成された時刻。 data_file_name データファイル名 (使わない方が良い)。 envid ESMTP で送られてきたオリジナルのエンベロープの ID。 error_recipient エラーの場合の受信者 (使わない方が良い)。 flags 以下の値を持つことできる文字配列。 w 警告メッセージが送信された。 r エラー応答、または DSN。 8 ボディに 8 ビットのデータがある。 b Bcc: ヘッダーを削除する。 d エンベロープに DSN RET= パラメータがある。 n ボディを返さない。 headers これは Perl のハッシュで、rfc822 フィールド名をキー、 rfc822 フィールド値を値にしている。 フィール ドに 1 つしか値がない場合、値は文字列として返される。 ('Received' のように) フィールドに 2 つ以上 の値がある場合、 値は文字列のリストとして返される。 inode_number データ (ボディ) ファイルの i ノード番号。 next_delivery_time 次の配送が試みられる最も早い時刻。 num_delivery_attempts 配送を試みた回数。 macro 定義されたマクロ。 message エンベロープ状態のメッセージ。 original_recipient 本来の受信者 (ORCPT= パラメータ)。 priority 変更されたメッセージの優先度。 recipient コロンと受信者名が後に続く文字フラグの配列。フラグを以下に示す。 N NOTIFY= パラメータがある。 S 要求した DSN が成功した。 F 要求した DSN が失敗した。 D 要求した DSN が遅れている。 P (alias または forward で展開される前の) 元々のアドレス。 sender 送信者。 version 制御ファイルのバージョン。
例
qtool.pl q2 q1 キューディレクトリ q1 にあるキューファイルを キューディレクトリ q2 に移動する。 qtool.pl q2 q1/d6CLQh100847 キューディレクトリ q1 にある ID が d6CLQh100847 のメッセージを キューディレクトリ q2 に移動する。 qtool.pl q2 q1/qfd6CLQh100847 キューディレクトリ q1 にある ID が d6CLQh100847 のメッセージを キューディレクトリ q2 に移動する。 qtool.pl -e '$msg{num_delivery_attempts} == 3' /q2 /q1 今までに 3 回配送が試みられた全てのキューファイルを キューディレクトリ q1 から q2 に移動する。
バグ
sendmail 8.12 では、メッセージの qf ファイルと df ファイルを 別々のキューに格納することができる。 この場 合、qtool には df ファイルのパス名ではなく、 qf ファイルのパス名を指定しなければならない。 安全のため、絶 対に qtool に df ファイルのパス名を指定してはならない。
関連項目
sendmail(8)
履歴
qtool コマンドは sendmail 8.10 で登場した。 $Date: 2000/12/15 19:50:41 $ QTOOL(8)