Provided by: manpages-ja_0.5.0.0.20210215+dfsg-1_all
名前
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)