File: spec_16.html

package info (click to toggle)
exim-html 3.20-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, sarge, woody
  • size: 2,868 kB
  • ctags: 4,188
  • sloc: makefile: 40; sh: 19
file content (461 lines) | stat: -rw-r--r-- 12,369 bytes parent folder | download
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
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52
     from spec on 25 November 2000 -->

<TITLE>Exim Specification - 16. The autoreply transport</TITLE>
</HEAD>
<body bgcolor="#FFFFFF" text="#00005A" link="#FF6600" alink="#FF9933" vlink="#990000">
Go to the <A HREF="spec_1.html">first</A>, <A HREF="spec_15.html">previous</A>, <A HREF="spec_17.html">next</A>, <A HREF="spec_59.html">last</A> section, <A HREF="spec_toc.html">table of contents</A>.
<P><HR><P>


<H1><A NAME="SEC472" HREF="spec_toc.html#TOC472">16. The autoreply transport</A></H1>
<P>
<A NAME="IDX1177"></A>
<A NAME="IDX1178"></A>
The <EM>autoreply</EM> transport is not a true transport in that it does not cause the
message to be transmitted. Instead, it generates another mail message. It is
usually run as the result of mail filtering. A `vacation' message is the
standard example.

</P>
<P>
<EM>Autoreply</EM> is implemented as a local transport so that it runs under the uid
and gid of the local user and with appropriate current and home directories
(see chapter 13). The parameters of the message to be sent can
be specified in the configuration by the options described below, but in the
common case when <EM>autoreply</EM> is activated as a result of filtering, none of
them are normally set, because all the information is obtained from the filter
file.

</P>
<P>
In an attempt to reduce the possibility of message cascades, messages created
by the <EM>autoreply</EM> transport always take the form of delivery error messages.
That is, the envelope sender field is empty.

</P>
<P>
There is a subtle difference between directing a message to a pipe transport
that generates some text to be returned to the sender, and directing it to an
autoreply transport. This difference is noticeable only if more than one
address from the same message is so handled. In the case of a pipe, the
separate outputs from the different addresses are gathered up and returned to
the sender in a single message, while if <EM>autoreply</EM> is used, a separate
message is generated for each address passed to it.

</P>
<P>
The private options of the <EM>autoreply</EM> transport that describe the message are
used only when the address passed to it does not contain any reply information.
Thus the message is specified entirely by the director or by the transport; it
is never built from a mixture of options. The remaining private options
(<EM>file_optional</EM>, <EM>group</EM>, <EM>initgroups</EM>, <EM>mode</EM>, <EM>return_message</EM>, and
<EM>user</EM>) apply in all cases.

</P>
<P>
<font color=green>
Non-printing characters are not permitted in the header lines generated for the
message that <EM>autoreply</EM> creates, with the exception of space and tab. Other
non-printing characters are converted into escape sequences. Whether characters
with the top bit set count as printing characters or not is controlled by the
<EM>print_topbitchars</EM> global option.
</font>

</P>

<P>
If any of the generic options for manipulating headers (for example,
<EM>headers_add</EM>) are set on an <EM>autoreply</EM> transport, they apply to the copy of
the original message that is included in the generated message when
<EM>return_message</EM> is set. They do not apply to the generated message itself.

</P>
<P>
If the <EM>autoreply</EM> transport receives return code 2 from Exim when it submits
the message, indicating that there were no recipients, it does not treat this
as an error. This means that autoreplies sent to $<EM>sender_address</EM> when this
is empty (because the incoming message is a delivery failure report) do not
cause problems.

</P>

<P>



<H2><A NAME="SEC473" HREF="spec_toc.html#TOC473">16.1 Private options for autoreply</A></H2>

<P>

<P>
<A NAME="IDX1179"></A>


<H3><A NAME="SEC474" HREF="spec_toc.html#TOC474">bcc (autoreply)</A></H3>

<P>
Type: string, expanded<BR>
Default: unset

</P>
<P>
Specifies the addresses that are to receive `blind carbon copies' of the
message when the message is specified by the transport. The string is expanded.

</P>
<P>
<A NAME="IDX1180"></A>


<H3><A NAME="SEC475" HREF="spec_toc.html#TOC475">cc (autoreply)</A></H3>

<P>
Type: string, expanded<BR>
Default: unset

</P>
<P>
Specifies recipients of the message and the contents of the <EM>Cc:</EM> header when
the message is specified by the transport. The string is expanded.

</P>
<P>
<A NAME="IDX1181"></A>


<H3><A NAME="SEC476" HREF="spec_toc.html#TOC476">file (autoreply)</A></H3>

<P>
Type: string, expanded<BR>
Default: unset

</P>
<P>
The contents of the file are sent as the body of the message when the message
is specified by the transport. The string is expanded. If both <EM>file</EM> and
<EM>text</EM> are set, the text string comes first.

</P>
<P>
<A NAME="IDX1182"></A>


<H3><A NAME="SEC477" HREF="spec_toc.html#TOC477">file_expand (autoreply)</A></H3>

<P>
Type: boolean<BR>
Default: false

</P>
<P>
If this is set, the contents of the file named by the <EM>file</EM> option are
subjected to string expansion as they are added to the message.

</P>
<P>
<A NAME="IDX1183"></A>


<H3><A NAME="SEC478" HREF="spec_toc.html#TOC478">file_optional (autoreply)</A></H3>

<P>
Type: boolean<BR>
Default: false

</P>
<P>
If this option is true, no error is generated if the file named by the <EM>file</EM>
option does not exist or cannot be read.

</P>
<P>
<A NAME="IDX1184"></A>


<H3><A NAME="SEC479" HREF="spec_toc.html#TOC479">from (autoreply)</A></H3>

<P>
Type: string, expanded<BR>
Default: unset

</P>
<P>
The contents of the <EM>From:</EM> header when the message is specified by the
transport. The string is expanded.

</P>
<P>
<A NAME="IDX1185"></A>


<H3><A NAME="SEC480" HREF="spec_toc.html#TOC480">group (autoreply)</A></H3>

<P>
Type: string<BR>
Default: unset

</P>
<P>
<A NAME="IDX1186"></A>
If this option is set, it specifies the group under whose gid the delivery
process is to be run. If it is not set, a value associated with a user may be
used (see below); otherwise a value must have been associated with the address
by the director which handled it. If the string contains no $ characters, it
is resolved when Exim starts up. Otherwise, the string is expanded at the time
the transport is run, and must yield either a digit string or a name which can
be looked up using <EM>getgrnam()</EM>.

</P>
<P>
<A NAME="IDX1187"></A>


<H3><A NAME="SEC481" HREF="spec_toc.html#TOC481">headers (autoreply)</A></H3>

<P>
Type: string, expanded<BR>
Default: unset

</P>
<P>
Specified additional RFC 822 headers that are to be added to the message when
the message is specified by the transport. The string is expanded. Several can
be given by using `\n' to separate them. There is no check on the format.

</P>
<P>
<A NAME="IDX1188"></A>
<A NAME="IDX1189"></A>
<A NAME="IDX1190"></A>


<H3><A NAME="SEC482" HREF="spec_toc.html#TOC482">initgroups (autoreply)</A></H3>

<P>
Type: boolean<BR>
Default: false

</P>
<P>
If this option is true and the uid is provided by the transport, the
<EM>initgroups()</EM> function is called when running the transport to ensure that any
additional groups associated with the uid are set up. By default no additional
groups are present.

</P>
<P>
<A NAME="IDX1191"></A>


<H3><A NAME="SEC483" HREF="spec_toc.html#TOC483">log (autoreply)</A></H3>

<P>
Type: string, expanded<BR>
Default: unset

</P>
<P>
This option names a file in which a record of every message sent is logged when
the message is specified by the transport (as opposed to the director). The
string is expanded.

</P>
<P>
<A NAME="IDX1192"></A>


<H3><A NAME="SEC484" HREF="spec_toc.html#TOC484">mode (autoreply)</A></H3>

<P>
Type: octal integer<BR>
Default: 0600

</P>
<P>
If either the log file or the `once' file has to be created, this mode is used.

</P>
<P>
<A NAME="IDX1193"></A>


<H3><A NAME="SEC485" HREF="spec_toc.html#TOC485">once (autoreply)</A></H3>

<P>
Type: string, expanded<BR>
Default: unset

</P>
<P>
<font color=green>
This option names a file or DBM database in which a record of each recipient is
kept when the message is specified by the transport. The string is expanded. If
<EM>once_file_size</EM> is not set, a DBM database is used, and it is allowed to
grow as large as nessary.
</font>
If a potential recipient is already in the database, no message is sent by
default. However, if <EM>once_repeat</EM> specifies a time greater than zero, the
message is sent if that much time has elapsed since a message was last sent to
this recipient. If <EM>once</EM> is unset, the message is always sent.

</P>
<P>
<font color=green>
If <EM>once_file_size</EM> is set greater than zero, it changes the way Exim
implements the <EM>once</EM> option. Instead of using a DBM file to record every
recipient it sends to, it uses a regular file, whose size will never get larger
than the given value. In the file, it keeps a linear list of recipient
addresses and times at which they were sent messages. If the file is full when
a new address needs to be added, the oldest address is dropped. If
<EM>once_repeat</EM> is not set, this means that a given recipient may receive
multiple messages, but at unpredicatable intervals that depend on the rate of
turnover of addresses in the file. If <EM>once_repeat</EM> is set, it specifies a
maximum time between repeats.
</font>

</P>
<P>
<font color=green>
<A NAME="IDX1194"></A>


<H3><A NAME="SEC486" HREF="spec_toc.html#TOC486">once_file_size (autoreply)</A></H3>

<P>
Type: integer<BR>
Default: 0

</P>
<P>
See <EM>once</EM> above.
</font>

</P>
<P>
<A NAME="IDX1195"></A>


<H3><A NAME="SEC487" HREF="spec_toc.html#TOC487">once_repeat (autoreply)</A></H3>

<P>
Type: time<BR>
Default: 0s

</P>
<P>
See <EM>once</EM> above.

</P>
<P>
<A NAME="IDX1196"></A>


<H3><A NAME="SEC488" HREF="spec_toc.html#TOC488">reply_to (autoreply)</A></H3>

<P>
Type: string, expanded<BR>
Default: unset

</P>
<P>
Specifies the contents of the <EM>Reply-To:</EM> header when the message is specified
by the transport. The string is expanded.

</P>
<P>
<A NAME="IDX1197"></A>


<H3><A NAME="SEC489" HREF="spec_toc.html#TOC489">return_message (autoreply)</A></H3>

<P>
Type: boolean<BR>
Default: false

</P>
<P>
If this is set, a copy of the original message is returned with the new
message, subject to the maximum size set in the <EM>return_size_limit</EM> general
configuration option.

</P>
<P>
<A NAME="IDX1198"></A>


<H3><A NAME="SEC490" HREF="spec_toc.html#TOC490">subject (autoreply)</A></H3>

<P>
Type: string, expanded<BR>
Default: unset

</P>
<P>
The contents of the <EM>Subject:</EM> header when the message is specified by the
transport. The string is expanded.

</P>
<P>
<A NAME="IDX1199"></A>


<H3><A NAME="SEC491" HREF="spec_toc.html#TOC491">text (autoreply)</A></H3>

<P>
Type: string, expanded<BR>
Default: unset

</P>
<P>
This specifies a single string to be used as the body of the message when the
message is specified by the transport. The string is expanded. If both <EM>text</EM>
and <EM>file</EM> are set, the text comes first.

</P>
<P>
<A NAME="IDX1200"></A>


<H3><A NAME="SEC492" HREF="spec_toc.html#TOC492">to (autoreply)</A></H3>

<P>
Type: string, expanded<BR>
Default: unset

</P>
<P>
Specifies recipients of the message and the contents of the <EM>To:</EM> header when
the message is specified by the transport. The string is expanded.

</P>
<P>
<A NAME="IDX1201"></A>


<H3><A NAME="SEC493" HREF="spec_toc.html#TOC493">user (autoreply)</A></H3>

<P>
Type: string<BR>
Default: unset

</P>
<P>
<A NAME="IDX1202"></A>
If this option is set, it specifies the user under whose uid the delivery
process is to be run. If it is not set, a value must have been associated with
the address by the director that handled it. If the string contains no $
characters, it is resolved when Exim starts up. Otherwise, the string is
expanded at the time the transport is run, and must yield either a digit string
or a name which can be looked up using <EM>getpwnam()</EM>. When <EM>getpwnam()</EM> is used,
either at start-up time or later, the group id value associated with the user
is taken as the value to be used if the <EM>group</EM> option is not set.

</P>

<P><HR><P>
Go to the <A HREF="spec_1.html">first</A>, <A HREF="spec_15.html">previous</A>, <A HREF="spec_17.html">next</A>, <A HREF="spec_59.html">last</A> section, <A HREF="spec_toc.html">table of contents</A>.
</BODY>
</HTML>