1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
|
.\" Copyright (c) 1999 Sendmail, Inc. and its suppliers.
.\" All rights reserved.
.\"
.\" By using this file, you agree to the terms and conditions set
.\" forth in the LICENSE file which can be found at the top level of
.\" the sendmail distribution.
.\"
.\"
.\" $Id: qtool.8,v 8.9.16.2 2000/12/15 19:50:41 gshapiro Exp $
.\"
.\" Japanese Version Copyright (c) 2000-2002 Yuichi SATO
.\" all rights reserved.
.\" Translated Tue Nov 14 20:51:09 JST 2000
.\" by Yuichi SATO <sato@complex.eng.hokudai.ac.jp>
.\" Updated and Modified Thu Feb 15 03:19:13 JST 2001 by Yuichi SATO
.\" Updated and Modified Mon Jan 14 17:58:43 JST 2002
.\" by Yuichi SATO <ysato@h4.dion.ne.jp>
.\"
.TH QTOOL 8 "$Date: 2000/12/15 19:50:41 $"
.SH 名前
qtool
\- sendmail のキューを操作する
.SH 書式
.B qtool.pl
.RB [options]
target_directory source [source ...]
.PP
.B qtool.pl [-d|-b]
.RB [options]
source [source ...]
.SH 説明
.B qtool
は sendmail が使用するキューファイルをキューディレクトリ間で移動する。
sendmail と同じロック機構を使うので、
sendmail が稼働している間も安全に使用できる。
.PP
オプションが指定されていない場合、
.B qtool
は \fIsource\fP で指定された全てのキューファイルを
ディレクトリ \fItarget_directory\fP に移動する。
\fIsource\fP は、キュー制御ファイル・キューファイルの ID・
キューディレクトリのどれでもよい。
.PP
-d オプションが指定された場合、qtool は source で指定されたメッセージを
移動ではなく削除する。
.PP
-b オプションが指定された場合、選択されたメッセージは
-OTimeout.queuereturn=now オプションをつけた sendmail を実行することにより
バウンスされる (送信者に送り返される)。
.SS オプション
.TP
\fB\-b\fP
source で指定された全てのメッセージをバウンスする。
メッセージはすぐにバウンスされる。
メッセージの配送を試みない。
.TP
\fB\-C\fP configfile
sendmail の設定ファイルを指定する。
デフォルトは /etc/mail/sendmail.cf である。
.TP
\fB\-d\fP
source で指定された全てのメッセージを削除する。
.TP
\fB\-e\fP \fIperl_expression\fP
\fIsource\fP で指定されたキューファイルについて、
\fIperl_expression\fP を評価する。
\fIperl_expression\fP が真と評価された場合、そのキューファイルは移動される。
\fIperl_expression\fP の詳細については、下記を参照すること。
.TP
\fB\-s\fP \fIseconds\fP
\fIsource\fP で指定されたキューファイルのうち
修正時刻が \fIseconds\fP 秒より前のものだけを移動する。
.SS Perl 表現
このプログラムでは Perl 表現を使うことができる。
Perl 表現の中では、キューに入れられたメッセージのデータだけでなく、
制御ファイルのフィールドの内容を含むハッシュにもアクセスできる。
ハッシュは \fI%msg\fP という名前である。
フィールドに複数の値がある ('Recipient' のような) 場合、
値は配列として返される。
値が 1 つの場合、値はスカラーで返される。
ハッシュ \fI%msg\fP を使って、以下の値にアクセスすることができる。
.TP
\fBauth\fP
AUTH= パラメータ。
.TP
\fBbody_type\fP
ボディタイプ (\fB8BITMIME\fP, \fB7BIT\fP, または未定義)。
.TP
\fBbody_last_mod_time\fP
ボディが最後に修正された時刻。紀元年 (epoch) から秒数で表す。
.TP
\fBbody_size\fP
ボディファイルのサイズ (バイト単位)。
.TP
\fBcharset\fP
文字セット (将来使用するためにある)。
.TP
\fBcontent-length\fP
Content-Length: ヘッダー値 (Solaris の sendmail のみ)。
.TP
\fBcontrolling_user\fP
制御しているユーザー。
.TP
\fBcontrol_last_mod_time\fP
制御ファイルが最後に修正された時刻。紀元年 (epoch) から秒数で表す。
.TP
\fBcontrol_size\fP
制御ファイルのサイズ (バイト単位)。
.TP
\fBcreation_time\fP
制御ファイルが生成された時刻。
.TP
\fBdata_file_name\fP
データファイル名 (使わない方が良い)。
.TP
\fBenvid\fP
ESMTP で送られてきたオリジナルのエンベロープの ID。
.TP
\fBerror_recipient\fP
エラーの場合の受信者 (使わない方が良い)。
.TP
\fBflags\fP
以下の値を持つことできる文字配列。
.PD 0
.RS +8
.TP 8
w
警告メッセージが送信された。
.TP 8
r
エラー応答、または DSN。
.TP 8
8
ボディに 8 ビットのデータがある。
.TP 8
b
Bcc: ヘッダーを削除する。
.TP 8
d
エンベロープに DSN RET= パラメータがある。
.TP 8
n
ボディを返さない。
.PD
.RE
.TP
\fBheaders\fP
これは Perl のハッシュで、rfc822 フィールド名をキー、
rfc822 フィールド値を値にしている。
フィールドに 1 つしか値がない場合、値は文字列として返される。
('Received' のように) フィールドに 2 つ以上の値がある場合、
値は文字列のリストとして返される。
.TP
\fBinode_number\fP
データ (ボディ) ファイルの i ノード番号。
.TP
\fBnext_delivery_time\fP
次の配送が試みられる最も早い時刻。
.TP
\fBnum_delivery_attempts\fP
配送を試みた回数。
.TP
\fBmacro\fP
定義されたマクロ。
.TP
\fBmessage\fP
エンベロープ状態のメッセージ。
.TP
\fBoriginal_recipient\fP
本来の受信者 (ORCPT= パラメータ)。
.TP
\fBpriority\fP
変更されたメッセージの優先度。
.TP
\fBrecipient\fP
コロンと受信者名が後に続く文字フラグの配列。フラグを以下に示す。
.PD 0
.RS +8
.TP 8
N
NOTIFY= パラメータがある。
.TP 8
S
要求した DSN が成功した。
.TP 8
F
要求した DSN が失敗した。
.TP 8
D
要求した DSN が遅れている。
.TP 8
P
(alias または forward で展開される前の) 元々のアドレス。
.PD
.RE
.TP
\fBsender\fP
送信者。
.TP
\fBversion\fP
制御ファイルのバージョン。
.SH 例
.TP
\fBqtool.pl q2 q1\fP
キューディレクトリ q1 にあるキューファイルを
キューディレクトリ q2 に移動する。
.TP
\fBqtool.pl q2 q1/d6CLQh100847\fP
キューディレクトリ q1 にある ID が d6CLQh100847 のメッセージを
キューディレクトリ q2 に移動する。
.TP
\fBqtool.pl q2 q1/qfd6CLQh100847\fP
キューディレクトリ q1 にある ID が d6CLQh100847 のメッセージを
キューディレクトリ q2 に移動する。
.TP
\fBqtool.pl -e '$msg{num_delivery_attempts} == 3' /q2 /q1\fP
今までに 3 回配送が試みられた全てのキューファイルを
キューディレクトリ q1 から q2 に移動する。
.SH バグ
sendmail 8.12 では、メッセージの qf ファイルと df ファイルを
別々のキューに格納することができる。
この場合、qtool には df ファイルのパス名ではなく、
qf ファイルのパス名を指定しなければならない。
安全のため、絶対に qtool に df ファイルのパス名を指定してはならない。
.SH 関連項目
sendmail(8)
.SH 履歴
.B qtool
コマンドは
sendmail 8.10
で登場した。
|