QTOOL
Section: Maintenance Commands (8)
Updated: $Date: 2000/12/15 19:50:41 $
Index
JM Home Page
roff page
 
名前
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
で登場した。
 Index
- 名前
 - 
 - 書式
 - 
 - 説明
 - 
- オプション
 - 
 - Perl 表現
 - 
 
 - 例
 - 
 - バグ
 - 
 - 関連項目
 - 
 - 履歴
 - 
 
This document was created by
man2html,
using the manual pages.
Time: 04:32:52 GMT, November 19, 2007