annotate conf/doc/ja-slocal.rf @ 0:bce86c4163a3

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1 .\" @(MHWARNING)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
2 .\" written by MH-plus project
bce86c4163a3 Initial revision
kono
parents:
diff changeset
3 .SC SLOCAL 1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
4 .NA
bce86c4163a3 Initial revision
kono
parents:
diff changeset
5 slocal \- 特別なローカルメール配送
bce86c4163a3 Initial revision
kono
parents:
diff changeset
6 .SY
bce86c4163a3 Initial revision
kono
parents:
diff changeset
7 @(MHETCPATH)/slocal \%[address\ info\ sender]
bce86c4163a3 Initial revision
kono
parents:
diff changeset
8 .na
bce86c4163a3 Initial revision
kono
parents:
diff changeset
9 .br
bce86c4163a3 Initial revision
kono
parents:
diff changeset
10 \%[\-addr\ address]
bce86c4163a3 Initial revision
kono
parents:
diff changeset
11 \%[\-info\ data]
bce86c4163a3 Initial revision
kono
parents:
diff changeset
12 \%[\-sender\ sender]
bce86c4163a3 Initial revision
kono
parents:
diff changeset
13 .br
bce86c4163a3 Initial revision
kono
parents:
diff changeset
14 \%[\-user\ username]
bce86c4163a3 Initial revision
kono
parents:
diff changeset
15 \%[\-mailbox\ mbox]
bce86c4163a3 Initial revision
kono
parents:
diff changeset
16 \%[\-file\ file]
bce86c4163a3 Initial revision
kono
parents:
diff changeset
17 .\" \%[\-home\ homedir]
bce86c4163a3 Initial revision
kono
parents:
diff changeset
18 .br
bce86c4163a3 Initial revision
kono
parents:
diff changeset
19 \%[\-maildelivery\ deliveryfile]
bce86c4163a3 Initial revision
kono
parents:
diff changeset
20 \%[\-verbose] \%[\-noverbose]
bce86c4163a3 Initial revision
kono
parents:
diff changeset
21 \%[\-debug]
bce86c4163a3 Initial revision
kono
parents:
diff changeset
22 \%[\-help]
bce86c4163a3 Initial revision
kono
parents:
diff changeset
23 .ad
bce86c4163a3 Initial revision
kono
parents:
diff changeset
24 .DE
bce86c4163a3 Initial revision
kono
parents:
diff changeset
25 \fIslocal\fP は、選択基準の複雑な設定に応じて、届いたメールを処理するように
bce86c4163a3 Initial revision
kono
parents:
diff changeset
26 設計されたプログラムです。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
27 通常、\fIslocal\fP は手動で起動するのではなく、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
28 システムのメッセージ配送エージェント(MTA) が
bce86c4163a3 Initial revision
kono
parents:
diff changeset
29 代わって \fIslocal\fP を起動します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
30
bce86c4163a3 Initial revision
kono
parents:
diff changeset
31 \fIslocal\fP で使われるメッセージ選択基準は、ユーザーのホームディレクトリ
bce86c4163a3 Initial revision
kono
parents:
diff changeset
32 にある \fI\&.maildelivery\fP ファイルに書かれます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
33 このファイルのフォーマットは以下にあります。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
34
bce86c4163a3 Initial revision
kono
parents:
diff changeset
35 メッセージ配送アドレスとメッセージ送り主は、可能であれば
bce86c4163a3 Initial revision
kono
parents:
diff changeset
36 メッセージ配送エージェント(MTA) のエンベロープ情報によって決定されます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
37 \fISendMail\fP を使用している場合、もしあれば、送り主は
bce86c4163a3 Initial revision
kono
parents:
diff changeset
38 UUCP \*(lqFrom\ \*(rq 行から取得されます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
39 コマンド・ライン引数もしくは `\-addr' と `\-sender' オプションの
bce86c4163a3 Initial revision
kono
parents:
diff changeset
40 引数で、これらの値を置き換えるが出来ます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
41
bce86c4163a3 Initial revision
kono
parents:
diff changeset
42 メッセージは通常、標準入力から読み込まれます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
43 標準入力から読み込む代わりに、`\-file' オプションで、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
44 メッセージが読み込まれるべきファイル名を指定することが出来ます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
45 `\-user' オプションは、メールを配送するユーザー名を \fIslocal\fP に
bce86c4163a3 Initial revision
kono
parents:
diff changeset
46 教えるものです。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
47 `\-mailbox' オプションは、ユーザーのメールドロップファイル名を
bce86c4163a3 Initial revision
kono
parents:
diff changeset
48 \fIslocal\fP に教えるものです。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
49
bce86c4163a3 Initial revision
kono
parents:
diff changeset
50 `\-info' オプションは、あなたに代わって \fIslocal\fP が呼び出した
bce86c4163a3 Initial revision
kono
parents:
diff changeset
51 サブプロセスに、任意の引数を渡すのに使われます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
52 `\-verbose' オプションをつけると、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
53 \fIslocal\fR は実行中の動作を標準出力に出します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
54 `\-debug' オプションをつけると、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
55 より詳細なデバッグ出力を標準エラー出力(stderr)に出します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
56
bce86c4163a3 Initial revision
kono
parents:
diff changeset
57 .Uh "メッセージ配送エージェント(MTA)"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
58 もし、使用している MTA が \fISendMail\fP であるなら、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
59 .sp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
60 .nf
bce86c4163a3 Initial revision
kono
parents:
diff changeset
61 .in +.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
62 \*(lq|\ @(MHETCPATH)/slocal\ \-user\ username\*(rq
bce86c4163a3 Initial revision
kono
parents:
diff changeset
63 .in -.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
64 .fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
65 .sp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
66 という行を、ホームディレクトリの \&.forward ファイルに含んでいればよいです。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
67 これにより、\fISendMail\fP が代わりに \fIslocal\fP を起動してくれます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
68
bce86c4163a3 Initial revision
kono
parents:
diff changeset
69 もし使用している MTA が \fIMMDF-I\fP であれば、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
70 ホームディレクトリに、@(MHETCPATH)/slocal を bin/rcvmail として
bce86c4163a3 Initial revision
kono
parents:
diff changeset
71 (シンボリック) リンクしておけばよいです。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
72 これにより、正しい \*(lq\fIaddress\ info\ sender\fP\*(rq 引数で、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
73 \fIMMDF-I\fP が代わりに \fIslocal\fP を起動します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
74
bce86c4163a3 Initial revision
kono
parents:
diff changeset
75 もし使用している MTA が \fIMMDF-II\fP である場合、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
76 \fIslocal\fP は使えません。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
77 同等の機能が \fIMMDF-II\fP によって既に用意されています。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
78 詳しくは、maildelivery(5) を参照して下さい。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
79
bce86c4163a3 Initial revision
kono
parents:
diff changeset
80 .Uh "maildelivery ファイル"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
81
bce86c4163a3 Initial revision
kono
parents:
diff changeset
82 \fI\&.maildelivery\fR ファイルは、どの様にローカル配送を行なうかを制御します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
83 このファイルの各行は、空白かコンマで区切られた五つのフィールドで成り立って
bce86c4163a3 Initial revision
kono
parents:
diff changeset
84 います。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
85 ダブル・クォートが尊重されますので、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
86 これらの文字列は、ダブル・クォートで囲まれることで、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
87 一つの引数としてみなされます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
88 ダブル・クォート自体は、その前にバックスラッシュをつけて含めることができます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
89 `#' で始まる行は無視されます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
90 \fI\&.maildelivery\fR ファイルの各行のフォーマットは次の通りです。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
91
bce86c4163a3 Initial revision
kono
parents:
diff changeset
92
bce86c4163a3 Initial revision
kono
parents:
diff changeset
93 \fBheader pattern action result string\fR
bce86c4163a3 Initial revision
kono
parents:
diff changeset
94 .sp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
95 .in +.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
96 .ti -.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
97 \fBheader\fP:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
98 .br
bce86c4163a3 Initial revision
kono
parents:
diff changeset
99 パターンを検索するヘッダ名。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
100 メッセージ・ヘッダにありうる全てのフィールド。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
101 次の特別なフィールドも定義されています。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
102 .sp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
103 .in +1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
104 .ta +1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
105 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
106 \fIsource\fR 送り主情報(MTA のエンベロープから取得。もしくは Sendmail であれば UUCP From から)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
107 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
108 \fIaddr\fR 送信先情報(MTA のエンベロープから取得)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
109 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
110 \fIdefault\fR メッセージがどれにも配送されなかった場合のみマッチ
bce86c4163a3 Initial revision
kono
parents:
diff changeset
111 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
112 \fI*\fR 全てにマッチ
bce86c4163a3 Initial revision
kono
parents:
diff changeset
113 .in -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
114
bce86c4163a3 Initial revision
kono
parents:
diff changeset
115 .ti -.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
116 \fBpattern\fR:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
117 .br
bce86c4163a3 Initial revision
kono
parents:
diff changeset
118 特定のヘッダー行にマッチする文字列の並び。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
119 マッチングには大文字/小文字は関係ありませんが、正規表現は使えません。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
120
bce86c4163a3 Initial revision
kono
parents:
diff changeset
121 .ti -.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
122 \fBaction\fR:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
123 .br
bce86c4163a3 Initial revision
kono
parents:
diff changeset
124 メッセージ配送のために行なうアクション
bce86c4163a3 Initial revision
kono
parents:
diff changeset
125 .sp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
126 .in +1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
127 .ta +1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
128 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
129 \fIdestroy\fR 読まずに捨てます。このアクションは常に成功します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
130
bce86c4163a3 Initial revision
kono
parents:
diff changeset
131 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
132 \fIfile\fR もしくは > \fBstring\fR で指定されたファイルに追加します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
133 メッセージは、メッセージ配送システム(MTS) に使われた
bce86c4163a3 Initial revision
kono
parents:
diff changeset
134 メールドロップ形式でファイルに追加されます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
135 メッセージがファイルに追加することが出来れば、このアクションは成功します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
136 ファイルに書き込み中に、このメッセージがファイルに追加された日時を示す
bce86c4163a3 Initial revision
kono
parents:
diff changeset
137 \*(lqDelivery\-Date:\ date\*(rq ヘッダが付け加えられます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
138
bce86c4163a3 Initial revision
kono
parents:
diff changeset
139 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
140 \fImbox\fR \fIfile\fR と同義です。しかし常に、\fIpackf\fR で使われる
bce86c4163a3 Initial revision
kono
parents:
diff changeset
141 フォーマット (MMDF の mailbox フォーマット) でメッセージが追加されます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
142
bce86c4163a3 Initial revision
kono
parents:
diff changeset
143 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
144 \fIpipe\fR もしくは | メッセージを \fBstring\fR で指定されたコマンドへ、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
145 標準入力でパイプします。この際、string を解釈するのに Bourne shell
bce86c4163a3 Initial revision
kono
parents:
diff changeset
146 \fIsh\fR(1) を使います。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
147 シェルに文字列を送る前に、次の内蔵変数に展開されます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
148 .sp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
149 .in +1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
150 .ta +1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
151 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
152 $(sender) 送り主情報(MTA のエンベロープ情報から。もしくは Sendmail であれば UUCP From から)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
153 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
154 $(address) 送信先情報(MTA のエンベロープから取得)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
155 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
156 $(size) メッセージのサイズ (バイト数)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
157 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
158 $(reply\-to) メッセージの \*(lqReply\-To:\*(rq か \*(lqFrom:\*(rq 行
bce86c4163a3 Initial revision
kono
parents:
diff changeset
159 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
160 $(info) サブプロセスに引き渡す任意の引数(\-info オプション参照)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
161 .in -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
162 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
163 \fIqpipe\fR or
bce86c4163a3 Initial revision
kono
parents:
diff changeset
164 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
165 \fI<caret>\fR \fIpipe\fR に似ています。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
166 が、内蔵変数展開後、シェルの助けを借りずに、コマンドを直接実行します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
167 このアクションは、シェルが解釈してしまうかも知れない、特定の文字列の
bce86c4163a3 Initial revision
kono
parents:
diff changeset
168 クオート処理を避けるために用いられます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
169 .in -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
170
bce86c4163a3 Initial revision
kono
parents:
diff changeset
171 .ti -.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
172 \fBresult\fR:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
173 .br
bce86c4163a3 Initial revision
kono
parents:
diff changeset
174 アクションがどの様に実行されるべきかを示します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
175
bce86c4163a3 Initial revision
kono
parents:
diff changeset
176 .in +1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
177 .ta +1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
178 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
179 \fIA\fR アクションを実行します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
180 アクションが成功すれば、メッセージは配送されたと見なされます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
181
bce86c4163a3 Initial revision
kono
parents:
diff changeset
182 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
183 \fIR\fR アクションを実行します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
184 アクションの結果にも関わらず、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
185 メッセージは配送されたと見なされません。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
186
bce86c4163a3 Initial revision
kono
parents:
diff changeset
187 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
188 \fI?\fR メッセージが配送されていない時のみ、アクションを実行します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
189 アクションが成功すれば、メッセージは配送されたと見なされます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
190
bce86c4163a3 Initial revision
kono
parents:
diff changeset
191 .ti -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
192 \fIN\fR メッセージが配送されておらず、前のアクションが成功した時のみ、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
193 アクションを実行します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
194 アクションが成功すれば、メッセージは配送されたと見なされます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
195 .sp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
196 .in -1i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
197 .in -.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
198 要約すると、例として、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
199 .sp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
200 .if t .in +.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
201 .nf
bce86c4163a3 Initial revision
kono
parents:
diff changeset
202 .ta \w'default 'u +\w'mh-workersxx 'uC +\w'destroy 'uC +\w'result 'u
bce86c4163a3 Initial revision
kono
parents:
diff changeset
203 #\fIfield\fR \fIpattern\fR \fIaction\fR \fIresult\fR \fIstring\fR
bce86c4163a3 Initial revision
kono
parents:
diff changeset
204 # `#' で始まる行は無視され、空行として扱われます
bce86c4163a3 Initial revision
kono
parents:
diff changeset
205 #
bce86c4163a3 Initial revision
kono
parents:
diff changeset
206 # \*(lqTo:\*(rq 行に mmdf2 とあるものは、mmdf2.log にファイルされます
bce86c4163a3 Initial revision
kono
parents:
diff changeset
207 \fITo mmdf2 file A mmdf2.log\fP
bce86c4163a3 Initial revision
kono
parents:
diff changeset
208 # mmdf からのメッセージを err-message-archive というプログラムにパイプします
bce86c4163a3 Initial revision
kono
parents:
diff changeset
209 \fIFrom mmdf pipe A /bin/err-message-archive\fP
bce86c4163a3 Initial revision
kono
parents:
diff changeset
210 # \*(lqSender:\*(rq アドレスが \*(lqmh-workers\*(rq であるものは、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
211 # まだファイルしてないなら、mh.log にファイルされます
bce86c4163a3 Initial revision
kono
parents:
diff changeset
212 \fISender mh-workers file ? mh.log\fP
bce86c4163a3 Initial revision
kono
parents:
diff changeset
213 # \*(lqTo:\*(rq unix なら、unix-news ファイルへ出力します
bce86c4163a3 Initial revision
kono
parents:
diff changeset
214 \fITo Unix > A unix-news\fP
bce86c4163a3 Initial revision
kono
parents:
diff changeset
215 .\" # アドレスが jpo=mmdf なら、mmdf-redist へパイプします
bce86c4163a3 Initial revision
kono
parents:
diff changeset
216 .\" \fIaddr jpo=mmdf | A mmdf-redist\fP
bce86c4163a3 Initial revision
kono
parents:
diff changeset
217 # アドレスが jpo=ack なら、受け取り通知を返送します
bce86c4163a3 Initial revision
kono
parents:
diff changeset
218 \fIaddr jpo=ack \fP|\fI R \*(lq/bin/resend\0\-r\0$(reply-to)\*(rq\fP
bce86c4163a3 Initial revision
kono
parents:
diff changeset
219 # steve からのは、全部 destroy (読まずに捨てる)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
220 \fIFrom steve destroy A \-\fP
bce86c4163a3 Initial revision
kono
parents:
diff changeset
221 # これでもまだマッチしないものは、mailbox へ落します
bce86c4163a3 Initial revision
kono
parents:
diff changeset
222 \fIdefault \- > ? mailbox\fP
bce86c4163a3 Initial revision
kono
parents:
diff changeset
223 # rcvtty を常に走らせる
bce86c4163a3 Initial revision
kono
parents:
diff changeset
224 \fI* \- \fP|\fI R /mh/lib/rcvtty\fP
bce86c4163a3 Initial revision
kono
parents:
diff changeset
225 .re
bce86c4163a3 Initial revision
kono
parents:
diff changeset
226 .fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
227 .if t .in -.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
228
bce86c4163a3 Initial revision
kono
parents:
diff changeset
229 ファイルは常に全部読まれます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
230 よって複数マッチする可能性があり、マッチした分、アクションを実行します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
231 \fI\&.maildelivery\fR ファイルは、owner がユーザーかルートでなくてはならず、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
232 書き込みは owner によってのみ可能でなくてはなりません。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
233 \fI\&.maildelivery\fR ファイルが見つからない、もしくはメッセージを配送
bce86c4163a3 Initial revision
kono
parents:
diff changeset
234 するアクションを実行できない場合は、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
235 @(MHETCPATH)/maildelivery ファイルを同様のルールに従って読まれます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
236 このファイルは、owner がルートで、ルートによってのみ書き込み可能でなくては
bce86c4163a3 Initial revision
kono
parents:
diff changeset
237 なりません。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
238 もしこのファイルがないとか、メッセージの配送するアクションが実行できない
bce86c4163a3 Initial revision
kono
parents:
diff changeset
239 という場合は、ユーザーのメールドロップに標準配送されます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
240
bce86c4163a3 Initial revision
kono
parents:
diff changeset
241 .Uh "サブプロセスの環境"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
242 プロセスが呼ばれた場合、その環境は以下の通りです:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
243 ユーザー/グループIDは、受取人のIDにセットされます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
244 ワーキング・ディレクトリは、受取人のホーム・ディレクトリになります。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
245 umask は 0077 です。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
246 プロセスは /dev/tty を持ちません。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
247 標準入力はメッセージにセットされます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
248 標準出力と診断出力は /dev/null にセットされます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
249 他の全てのファイル記述子はクローズされます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
250 環境変数 \fB$USER\fR、\fB$HOME\fR、\fB$SHELL\fR は適切にセットされ、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
251 その他の環境変数はありません。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
252
bce86c4163a3 Initial revision
kono
parents:
diff changeset
253 プロセスには、実行するためにある時間を与えられます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
254 もしプロセスがこの制限以内に終了出来なかったら、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
255 プロセスは終了されます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
256 この時間は、size をメッセージのバイト数として、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
257 ((size × 60) + 300) 秒として計算されます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
258
bce86c4163a3 Initial revision
kono
parents:
diff changeset
259 プロセスの終了ステータスは、アクションが成功したかどうかに応じます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
260 終了ステータスがゼロであれば、アクションは成功したことを意味します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
261 これ以外の終了ステータス (もしくは異常終了) はアクションが失敗したことを
bce86c4163a3 Initial revision
kono
parents:
diff changeset
262 意味します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
263
bce86c4163a3 Initial revision
kono
parents:
diff changeset
264 時間制限を避けるために、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
265 あなたは、\fIforking\fR によって開始するプロセスを実行しようと
bce86c4163a3 Initial revision
kono
parents:
diff changeset
266 するかも知れません。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
267 親プロセスはすぐに適切な値を返すだろうし、子プロセスは
bce86c4163a3 Initial revision
kono
parents:
diff changeset
268 必要とするだけ長く実行し続けることが出来ます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
269 このやり方は、親プロセスが終了ステータス 0 を返す時は、いくらか
bce86c4163a3 Initial revision
kono
parents:
diff changeset
270 危険です。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
271 親プロセスが終了ステータス 非0 を返す時は、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
272 このやり方で、メール・ドロップに素早く配送させることが出来ますが。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
273 @BEGIN: MSGID
bce86c4163a3 Initial revision
kono
parents:
diff changeset
274
bce86c4163a3 Initial revision
kono
parents:
diff changeset
275 .Uh "重複メッセージの削除"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
276 \fIslocal\fR は、重複メッセージを発見し削除することが可能です。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
277 これを行なうには、$HOME ディレクトリに
bce86c4163a3 Initial revision
kono
parents:
diff changeset
278 \&.maildelivery.pag と \&.maildelivery.dir という
bce86c4163a3 Initial revision
kono
parents:
diff changeset
279 二つの空のファイルを作ります。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
280 これらは、入ってきたメッセージの Message-ID を貯めておくために
bce86c4163a3 Initial revision
kono
parents:
diff changeset
281 使われる ndbm ファイルです。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
282 @END: MSGID
bce86c4163a3 Initial revision
kono
parents:
diff changeset
283 .Fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
284 ^@(MHETCPATH)/mtstailor~^テイラー・ファイル
bce86c4163a3 Initial revision
kono
parents:
diff changeset
285 ^$HOME/\&.maildelivery~^ローカル配送を制御するファイル
bce86c4163a3 Initial revision
kono
parents:
diff changeset
286 ^@(MHETCPATH)/maildelivery~^標準のファイルに代わる
bce86c4163a3 Initial revision
kono
parents:
diff changeset
287 ^@(MHDROPLOC)~^デフォルトのメールドロップ
bce86c4163a3 Initial revision
kono
parents:
diff changeset
288 .Sa
bce86c4163a3 Initial revision
kono
parents:
diff changeset
289 rcvstore(1), mhook(1), mh\-format(5)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
290 @BEGIN: MMDFIIMTS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
291 , maildelivery(5)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
292 @END: MMDFIIMTS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
293 .De
bce86c4163a3 Initial revision
kono
parents:
diff changeset
294 `\-noverbose'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
295 .Ds
bce86c4163a3 Initial revision
kono
parents:
diff changeset
296 `\-maildelivery \&.maildelivery'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
297 .Ds
bce86c4163a3 Initial revision
kono
parents:
diff changeset
298 `\-mailbox @(MHDROPLOC)'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
299 .Ds
bce86c4163a3 Initial revision
kono
parents:
diff changeset
300 `\-file' デフォルトは標準入力
bce86c4163a3 Initial revision
kono
parents:
diff changeset
301 .Ds
bce86c4163a3 Initial revision
kono
parents:
diff changeset
302 `\-user' デフォルトは現在のユーザー
bce86c4163a3 Initial revision
kono
parents:
diff changeset
303 .Co
bce86c4163a3 Initial revision
kono
parents:
diff changeset
304 無し。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
305 .Hi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
306 @BEGIN: MHMTS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
307 古いバージョンの \fIMH\fR との互換性により、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
308 \fIslocal\fR がユーザーの \fI\&.maildelivery\fR ファイルを見つけられ
bce86c4163a3 Initial revision
kono
parents:
diff changeset
309 なかった場合、ユーザーの $HOME ディレクトリで、古い形の rcvmail の
bce86c4163a3 Initial revision
kono
parents:
diff changeset
310 実行を試みます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
311 まず最初に
bce86c4163a3 Initial revision
kono
parents:
diff changeset
312
bce86c4163a3 Initial revision
kono
parents:
diff changeset
313 .ti +.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
314 \&.mh\(rureceive file maildrop directory user
bce86c4163a3 Initial revision
kono
parents:
diff changeset
315
bce86c4163a3 Initial revision
kono
parents:
diff changeset
316 の実行を試み、失敗したら、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
317 あきらめてユーザーのメールドロップへ書き込む前に、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
318
bce86c4163a3 Initial revision
kono
parents:
diff changeset
319 .ti +.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
320 $HOME/bin/rcvmail user file sender
bce86c4163a3 Initial revision
kono
parents:
diff changeset
321
bce86c4163a3 Initial revision
kono
parents:
diff changeset
322 の実行を試みます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
323
bce86c4163a3 Initial revision
kono
parents:
diff changeset
324 加えて、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
325 フックかプロセスが起動された時はいつでも、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
326 標準入力に加えて、ファイル記述子 3 がメッセージにセットされます。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
327
bce86c4163a3 Initial revision
kono
parents:
diff changeset
328 @END: MHMTS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
329 \fIslocal\fP は、\fIMMDF-II\fP で提供されている \fImaildelivery\fP 機構と
bce86c4163a3 Initial revision
kono
parents:
diff changeset
330 逆互換性があるように設計されています。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
331 だから、\fIslocal\fP の機能性であるように、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
332 \fI\&.maildelivery\fP ファイルの文法が制限されています。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
333
bce86c4163a3 Initial revision
kono
parents:
diff changeset
334 0 終了ステータスに加えて、\fIMMDF\fR は
bce86c4163a3 Initial revision
kono
parents:
diff changeset
335 \fIRP_MOK\fR (32) と \fIRP_OK\fR (9) という値を取ります。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
336 これは、メッセージが完全に配送された、という意味です。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
337 異常終了も含むそれ以外の非 0 終了ステータスでは、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
338 \fIMMDF\fR は \fIRP_MECH\fR (200) として解釈します。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
339 これは、別のルートを使った、という意味です
bce86c4163a3 Initial revision
kono
parents:
diff changeset
340 (メールドロップにメッセージを配送します)。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
341 .Bu
bce86c4163a3 Initial revision
kono
parents:
diff changeset
342 たった二つのリターンコードだけが意味があります。他もそうあるべきです。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
343
bce86c4163a3 Initial revision
kono
parents:
diff changeset
344 \fIslocal\fP は、\fBMMDF-II\fP により提供された \fImaildelivery\fP の
bce86c4163a3 Initial revision
kono
parents:
diff changeset
345 機能性と逆互換性があります。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
346
bce86c4163a3 Initial revision
kono
parents:
diff changeset
347 \fImaildelivery\fR 機構のある \fIMMDF\fR のバージョンは、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
348 \fIMMDF\fP の初期のバージョンと全く互換性がありません。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
349 \fIMMDF-I\fP という古い形式のフックを持つ場合は、
bce86c4163a3 Initial revision
kono
parents:
diff changeset
350 \fI\&.maildelivery\fR file として、次の一行だけ書いたものを
bce86c4163a3 Initial revision
kono
parents:
diff changeset
351 用意するのが望ましいです。
bce86c4163a3 Initial revision
kono
parents:
diff changeset
352
bce86c4163a3 Initial revision
kono
parents:
diff changeset
353 .ti +.5i
bce86c4163a3 Initial revision
kono
parents:
diff changeset
354 default \- pipe A \*(lqbin/rcvmail $(address) $(info) $(sender)\*(rq
bce86c4163a3 Initial revision
kono
parents:
diff changeset
355 .En