postconf.5.html revision 1.19.2.1 1 <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "https://www.w3.org/TR/html4/loose.dtd">
3
4 <html>
5
6 <head>
7
8 <title>Postfix Configuration Parameters </title>
9
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
11 <link rel='stylesheet' type='text/css' href='postfix-doc.css'>
12
13 <script type="text/javascript">
14
15 // Kludge for https://support.google.com/chrome/thread/11993079
16 const isChrome = /Chrome/.test(navigator.userAgent)
17 && /Google Inc/.test(navigator.vendor);
18 const hash = window.location.hash;
19 if (hash && isChrome) {
20 setTimeout(function() {
21 window.location.hash = "";
22 window.location.hash = hash;
23 }, 1000);
24 }
25
26 </script>
27
28 </head>
29
30 <body>
31
32 <h1><img src="postfix-logo.jpg" width="203" height="98" alt="">Postfix Configuration Parameters </h1>
33
34 <hr>
35
36 <h2> Postfix main.cf file format </h2>
37
38 <p> The Postfix main.cf configuration file specifies a very small
39 subset of all the parameters that control the operation of the
40 Postfix mail system. Parameters not explicitly specified are left
41 at their default values. </p>
42
43 <p> The general format of the main.cf file is as follows: </p>
44
45 <ul>
46
47 <li> <p> Each logical line is in the form "parameter = value".
48 Whitespace around the "=" is ignored, as is whitespace at the end
49 of a logical line. </p>
50
51 <li> <p> Empty lines and whitespace-only lines are ignored, as are
52 lines whose first non-whitespace character is a `#'. </p>
53
54 <li> <p> A logical line starts with non-whitespace text. A line
55 that starts with whitespace continues a logical line. </p>
56
57 <li> <p> A parameter value may refer to other parameters. </p>
58
59 <ul>
60
61 <li> <p> The expressions "$name" and "${name}" are recursively
62 replaced with the value of the named parameter. The parameter name
63 must contain only characters from the set [a-zA-Z0-9_].
64 An undefined parameter value is replaced with the empty value. </p>
65
66 <li> <p> The expressions "${name?value}" and "${name?{value}}" are
67 replaced with "value" when "$name" is non-empty. The parameter name
68 must contain only characters from the set [a-zA-Z0-9_]. These forms are
69 supported with Postfix versions ≥ 2.2 and ≥ 3.0, respectively.
70 </p>
71
72 <li> <p> The expressions "${name:value}" and "${name:{value}}" are
73 replaced with "value" when "$name" is empty. The parameter name must
74 contain only characters from the set [a-zA-Z0-9_]. These forms are
75 supported with Postfix versions ≥ 2.2 and ≥ 3.0, respectively.
76 </p>
77
78 <li> <p> The expression "${name?{value1}:{value2}}" is replaced
79 with "value1" when "$name" is non-empty, and with "value2" when
80 "$name" is empty. The "{}" is required for "value1", optional for
81 "value2". The parameter name must contain only characters from the
82 set [a-zA-Z0-9_]. This form is supported with Postfix versions
83 ≥ 3.0. </p>
84
85 <li> <p> The first item inside "${...}" may be a relational expression
86 of the form: "{value3} == {value4}". Besides the "==" (equality)
87 operator Postfix supports "!=" (inequality), "<", "≤", "≥",
88 and ">". The comparison is numerical when both operands are all
89 digits, otherwise the comparison is lexicographical. These forms
90 are supported with Postfix versions ≥ 3.0. </p>
91
92 <li> <p> Each "value" is subject to recursive named parameter and
93 relational expression evaluation, except where noted. </p>
94
95 <li> <p> Whitespace before or after each "{value}" is ignored. </p>
96
97 <li> <p> Specify "$$" to produce a single "$" character. </p>
98
99 <li> <p> The legacy form "$(...)" is equivalent to the preferred
100 form "${...}". </p>
101
102 </ul>
103
104 <li> <p> When the same parameter is defined multiple times, only
105 the last instance is remembered. </p>
106
107 <li> <p> Otherwise, the order of main.cf parameter definitions does
108 not matter. </p>
109
110 </ul>
111
112 <p> The remainder of this document is a description of all Postfix
113 configuration parameters. Default values are shown after the
114 parameter name in parentheses, and can be looked up with the
115 "<b>postconf -d</b>" command. </p>
116
117 <p> Note: this is not an invitation to make changes to Postfix
118 configuration parameters. Unnecessary changes are likely to impair
119 the operation of the mail system. </p>
120
121 <dl>
122 <DT><b><a name="2bounce_notice_recipient">2bounce_notice_recipient</a>
123 (default: postmaster)</b></DT><DD>
124
125 <p> The recipient of undeliverable mail that cannot be returned to
126 the sender. This feature is enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
127 parameter. </p>
128
129
130 </DD>
131
132 <DT><b><a name="access_map_defer_code">access_map_defer_code</a>
133 (default: 450)</b></DT><DD>
134
135 <p>
136 The numerical Postfix SMTP server response code for
137 an <a href="access.5.html">access(5)</a> map "defer" action, including "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>"
138 or "<a href="postconf.5.html#defer_if_reject">defer_if_reject</a>". Prior to Postfix 2.6, the response
139 is hard-coded as "450".
140 </p>
141
142 <p>
143 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
144 </p>
145
146 <p>
147 This feature is available in Postfix 2.6 and later.
148 </p>
149
150
151 </DD>
152
153 <DT><b><a name="access_map_reject_code">access_map_reject_code</a>
154 (default: 554)</b></DT><DD>
155
156 <p>
157 The numerical Postfix SMTP server response code for
158 an <a href="access.5.html">access(5)</a> map "reject" action.
159 </p>
160
161 <p>
162 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
163 </p>
164
165
166 </DD>
167
168 <DT><b><a name="address_verify_cache_cleanup_interval">address_verify_cache_cleanup_interval</a>
169 (default: 12h)</b></DT><DD>
170
171 <p> The amount of time between <a href="verify.8.html">verify(8)</a> address verification
172 database cleanup runs. This feature requires that the database
173 supports the "delete" and "sequence" operators. Specify a zero
174 interval to disable database cleanup. </p>
175
176 <p> After each database cleanup run, the <a href="verify.8.html">verify(8)</a> daemon logs the
177 number of entries that were retained and dropped. A cleanup run is
178 logged as "partial" when the daemon terminates early after "<b>postfix
179 reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
180 seconds. </p>
181
182 <p> Specify a non-negative time value (an integral value plus an optional
183 one-letter suffix that specifies the time unit). Time units: s
184 (seconds), m (minutes), h (hours), d (days), w (weeks).
185 The default time unit is h (hours). </p>
186
187 <p> This feature is available in Postfix 2.7. </p>
188
189
190 </DD>
191
192 <DT><b><a name="address_verify_default_transport">address_verify_default_transport</a>
193 (default: $<a href="postconf.5.html#default_transport">default_transport</a>)</b></DT><DD>
194
195 <p>
196 Overrides the <a href="postconf.5.html#default_transport">default_transport</a> parameter setting for address
197 verification probes.
198 </p>
199
200 <p>
201 This feature is available in Postfix 2.1 and later.
202 </p>
203
204
205 </DD>
206
207 <DT><b><a name="address_verify_local_transport">address_verify_local_transport</a>
208 (default: $<a href="postconf.5.html#local_transport">local_transport</a>)</b></DT><DD>
209
210 <p>
211 Overrides the <a href="postconf.5.html#local_transport">local_transport</a> parameter setting for address
212 verification probes.
213 </p>
214
215 <p>
216 This feature is available in Postfix 2.1 and later.
217 </p>
218
219
220 </DD>
221
222 <DT><b><a name="address_verify_map">address_verify_map</a>
223 (default: see "postconf -d" output)</b></DT><DD>
224
225 <p>
226 Lookup table for persistent address verification status
227 storage. The table is maintained by the <a href="verify.8.html">verify(8)</a> service, and
228 is opened before the process releases privileges.
229 </p>
230
231 <p>
232 The lookup table is persistent by default (Postfix 2.7 and later).
233 Specify an empty table name to keep the information in volatile
234 memory which is lost after "<b>postfix reload</b>" or "<b>postfix
235 stop</b>". This is the default with Postfix version 2.6 and earlier.
236 </p>
237
238 <p>
239 Specify a location in a file system that will not fill up. If the
240 database becomes corrupted, the world comes to an end. To recover,
241 delete (NOT: truncate) the file and do "<b>postfix reload</b>".
242 </p>
243
244 <p> Postfix daemon processes do not use root privileges when opening
245 this file (Postfix 2.5 and later). The file must therefore be
246 stored under a Postfix-owned directory such as the <a href="postconf.5.html#data_directory">data_directory</a>.
247 As a migration aid, an attempt to open the file under a non-Postfix
248 directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
249 warning is logged. </p>
250
251 <p>
252 Examples:
253 </p>
254
255 <pre>
256 <a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">hash</a>:/var/db/postfix/verify
257 <a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/verify
258 </pre>
259
260 <p>
261 This feature is available in Postfix 2.1 and later.
262 </p>
263
264
265 </DD>
266
267 <DT><b><a name="address_verify_negative_cache">address_verify_negative_cache</a>
268 (default: yes)</b></DT><DD>
269
270 <p>
271 Enable caching of failed address verification probe results. When
272 this feature is enabled, the cache may pollute quickly with garbage.
273 When this feature is disabled, Postfix will generate an address
274 probe for every lookup.
275 </p>
276
277 <p>
278 This feature is available in Postfix 2.1 and later.
279 </p>
280
281
282 </DD>
283
284 <DT><b><a name="address_verify_negative_expire_time">address_verify_negative_expire_time</a>
285 (default: 3d)</b></DT><DD>
286
287 <p>
288 The time after which a failed probe expires from the address
289 verification cache.
290 </p>
291
292 <p> Specify a non-zero time value (an integral value plus an optional
293 one-letter suffix that specifies the time unit). Time units: s
294 (seconds), m (minutes), h (hours), d (days), w (weeks).
295 The default time unit is d (days). </p>
296
297 <p>
298 This feature is available in Postfix 2.1 and later.
299 </p>
300
301
302 </DD>
303
304 <DT><b><a name="address_verify_negative_refresh_time">address_verify_negative_refresh_time</a>
305 (default: 3h)</b></DT><DD>
306
307 <p>
308 The time after which a failed address verification probe needs to
309 be refreshed.
310 </p>
311
312 <p> Specify a non-zero time value (an integral value plus an optional
313 one-letter suffix that specifies the time unit). Time units: s
314 (seconds), m (minutes), h (hours), d (days), w (weeks).
315 The default time unit is h (hours). </p>
316
317 <p>
318 This feature is available in Postfix 2.1 and later.
319 </p>
320
321
322 </DD>
323
324 <DT><b><a name="address_verify_pending_request_limit">address_verify_pending_request_limit</a>
325 (default: see "postconf -d" output)</b></DT><DD>
326
327 <p> A safety limit that prevents address verification requests from
328 overwhelming the Postfix queue. By default, the number of pending
329 requests is limited to 1/4 of the <a href="QSHAPE_README.html#active_queue">active queue</a> maximum size
330 (<a href="postconf.5.html#qmgr_message_active_limit">qmgr_message_active_limit</a>). The queue manager enforces the limit
331 by tempfailing requests that exceed the limit. This affects only
332 unknown addresses and inactive addresses that have expired, because
333 the <a href="verify.8.html">verify(8)</a> daemon automatically refreshes an active address
334 before it expires. </p>
335
336 <p> This feature is available in Postfix 3.1 and later. </p>
337
338
339 </DD>
340
341 <DT><b><a name="address_verify_poll_count">address_verify_poll_count</a>
342 (default: normal: 3, <a href="STRESS_README.html">overload</a>: 1)</b></DT><DD>
343
344 <p>
345 How many times to query the <a href="verify.8.html">verify(8)</a> service for the completion
346 of an address verification request in progress.
347 </p>
348
349 <p> By default, the Postfix SMTP server polls the <a href="verify.8.html">verify(8)</a> service
350 up to three times under non-overload conditions, and only once when
351 under overload. With Postfix version 2.5 and earlier, the SMTP
352 server always polls the <a href="verify.8.html">verify(8)</a> service up to three times by
353 default. </p>
354
355 <p>
356 Specify 1 to implement a crude form of greylisting, that is, always
357 defer the first delivery request for a new address.
358 </p>
359
360 <p>
361 Examples:
362 </p>
363
364 <pre>
365 # Postfix ≤ 2.6 default
366 <a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 3
367 # Poor man's greylisting
368 <a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 1
369 </pre>
370
371 <p>
372 This feature is available in Postfix 2.1 and later.
373 </p>
374
375
376 </DD>
377
378 <DT><b><a name="address_verify_poll_delay">address_verify_poll_delay</a>
379 (default: 3s)</b></DT><DD>
380
381 <p>
382 The delay between queries for the completion of an address
383 verification request in progress.
384 </p>
385
386 <p>
387 The default polling delay is 3 seconds.
388 </p>
389
390 <p> Specify a non-zero time value (an integral value plus an optional
391 one-letter suffix that specifies the time unit). Time units: s
392 (seconds), m (minutes), h (hours), d (days), w (weeks).
393 The default time unit is s (seconds). </p>
394
395 <p>
396 This feature is available in Postfix 2.1 and later.
397 </p>
398
399
400 </DD>
401
402 <DT><b><a name="address_verify_positive_expire_time">address_verify_positive_expire_time</a>
403 (default: 31d)</b></DT><DD>
404
405 <p>
406 The time after which a successful probe expires from the address
407 verification cache.
408 </p>
409
410 <p> Specify a non-zero time value (an integral value plus an optional
411 one-letter suffix that specifies the time unit). Time units: s
412 (seconds), m (minutes), h (hours), d (days), w (weeks).
413 The default time unit is d (days). </p>
414
415 <p>
416 This feature is available in Postfix 2.1 and later.
417 </p>
418
419
420 </DD>
421
422 <DT><b><a name="address_verify_positive_refresh_time">address_verify_positive_refresh_time</a>
423 (default: 7d)</b></DT><DD>
424
425 <p>
426 The time after which a successful address verification probe needs
427 to be refreshed. The address verification status is not updated
428 when the probe fails (optimistic caching).
429 </p>
430
431 <p> Specify a non-zero time value (an integral value plus an optional
432 one-letter suffix that specifies the time unit). Time units: s
433 (seconds), m (minutes), h (hours), d (days), w (weeks).
434 The default time unit is d (days). </p>
435
436 <p>
437 This feature is available in Postfix 2.1 and later.
438 </p>
439
440
441 </DD>
442
443 <DT><b><a name="address_verify_relay_transport">address_verify_relay_transport</a>
444 (default: $<a href="postconf.5.html#relay_transport">relay_transport</a>)</b></DT><DD>
445
446 <p>
447 Overrides the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter setting for address
448 verification probes.
449 </p>
450
451 <p>
452 This feature is available in Postfix 2.1 and later.
453 </p>
454
455
456 </DD>
457
458 <DT><b><a name="address_verify_relayhost">address_verify_relayhost</a>
459 (default: $<a href="postconf.5.html#relayhost">relayhost</a>)</b></DT><DD>
460
461 <p>
462 Overrides the <a href="postconf.5.html#relayhost">relayhost</a> parameter setting for address verification
463 probes. This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
464 </p>
465
466 <p>
467 This feature is available in Postfix 2.1 and later.
468 </p>
469
470
471 </DD>
472
473 <DT><b><a name="address_verify_sender">address_verify_sender</a>
474 (default: $<a href="postconf.5.html#double_bounce_sender">double_bounce_sender</a>)</b></DT><DD>
475
476 <p> The sender address to use in address verification probes; prior
477 to Postfix 2.5 the default was "postmaster". To
478 avoid problems with address probes that are sent in response to
479 address probes, the Postfix SMTP server excludes the probe sender
480 address from all SMTPD access blocks. </p>
481
482 <p>
483 Specify an empty value (<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> =) or <> if you want
484 to use the null sender address. Beware, some sites reject mail from
485 <>, even though RFCs require that such addresses be accepted.
486 </p>
487
488 <p>
489 Examples:
490 </p>
491
492 <pre>
493 <a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = <>
494 <a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = postmaster@<a href="postconf.5.html#mydomain">mydomain</a>
495 </pre>
496
497 <p>
498 This feature is available in Postfix 2.1 and later.
499 </p>
500
501
502 </DD>
503
504 <DT><b><a name="address_verify_sender_dependent_default_transport_maps">address_verify_sender_dependent_default_transport_maps</a>
505 (default: $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>)</b></DT><DD>
506
507 <p> Overrides the <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter
508 setting for address verification probes. </p>
509
510 <p> This feature is available in Postfix 2.7 and later. </p>
511
512
513 </DD>
514
515 <DT><b><a name="address_verify_sender_dependent_relayhost_maps">address_verify_sender_dependent_relayhost_maps</a>
516 (default: $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>)</b></DT><DD>
517
518 <p>
519 Overrides the <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> parameter setting for address
520 verification probes.
521 </p>
522
523 <p>
524 This feature is available in Postfix 2.3 and later.
525 </p>
526
527
528 </DD>
529
530 <DT><b><a name="address_verify_sender_ttl">address_verify_sender_ttl</a>
531 (default: 0s)</b></DT><DD>
532
533 <p> The time between changes in the time-dependent portion of address
534 verification probe sender addresses. The time-dependent portion is
535 appended to the localpart of the address specified with the
536 <a href="postconf.5.html#address_verify_sender">address_verify_sender</a> parameter. This feature is ignored when the
537 probe sender addresses is the null sender, i.e. the <a href="postconf.5.html#address_verify_sender">address_verify_sender</a>
538 value is empty or <>. </p>
539
540 <p> Historically, the probe sender address was fixed. This has
541 caused such addresses to end up on spammer mailing lists, and has
542 resulted in wasted network and processing resources. </p>
543
544 <p> To enable time-dependent probe sender addresses, specify a
545 non-zero time value. Specify a value of at least several hours,
546 to avoid problems with senders that use greylisting. Avoid nice
547 TTL values, to make the result less predictable. </p>
548
549 <p> Specify a non-negative time value (an integral value plus an optional
550 one-letter suffix that specifies the time unit). Time units: s
551 (seconds), m (minutes), h (hours), d (days), w (weeks).
552 The default time unit is s (seconds). </p>
553
554 <p> This feature is available in Postfix 2.9 and later. </p>
555
556
557 </DD>
558
559 <DT><b><a name="address_verify_service_name">address_verify_service_name</a>
560 (default: verify)</b></DT><DD>
561
562 <p>
563 The name of the <a href="verify.8.html">verify(8)</a> address verification service. This service
564 maintains the status of sender and/or recipient address verification
565 probes, and generates probes on request by other Postfix processes.
566 </p>
567
568
569 </DD>
570
571 <DT><b><a name="address_verify_transport_maps">address_verify_transport_maps</a>
572 (default: $<a href="postconf.5.html#transport_maps">transport_maps</a>)</b></DT><DD>
573
574 <p>
575 Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address verification
576 probes.
577 </p>
578
579 <p>
580 This feature is available in Postfix 2.1 and later.
581 </p>
582
583
584 </DD>
585
586 <DT><b><a name="address_verify_virtual_transport">address_verify_virtual_transport</a>
587 (default: $<a href="postconf.5.html#virtual_transport">virtual_transport</a>)</b></DT><DD>
588
589 <p>
590 Overrides the <a href="postconf.5.html#virtual_transport">virtual_transport</a> parameter setting for address
591 verification probes.
592 </p>
593
594 <p>
595 This feature is available in Postfix 2.1 and later.
596 </p>
597
598
599 </DD>
600
601 <DT><b><a name="alias_database">alias_database</a>
602 (default: see "postconf -d" output)</b></DT><DD>
603
604 <p>
605 The alias databases for <a href="local.8.html">local(8)</a> delivery that are updated with
606 "<b>newaliases</b>" or with "<b>sendmail -bi</b>".
607 </p>
608
609 <p>
610 This is a separate configuration parameter because not all the
611 tables specified with $<a href="postconf.5.html#alias_maps">alias_maps</a> have to be local files.
612 </p>
613
614 <p>
615 Examples:
616 </p>
617
618 <pre>
619 <a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases
620 <a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/mail/aliases
621 </pre>
622
623
624 </DD>
625
626 <DT><b><a name="alias_maps">alias_maps</a>
627 (default: see "postconf -d" output)</b></DT><DD>
628
629 <p>
630 Optional lookup tables that are searched only with an email address
631 localpart (no domain) and that apply only to <a href="local.8.html">local(8)</a> recipients;
632 this is unlike <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> that are often searched with a
633 full email address (including domain) and that apply to all recipients:
634 <a href="local.8.html">local(8)</a>, virtual, and remote.
635 The <a href="postconf.5.html#alias_maps">alias_maps</a> table format and lookups are documented in <a href="aliases.5.html">aliases(5)</a>.
636 For an overview of Postfix address manipulations see the
637 <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document. </p>
638
639 <p>
640 Specify zero or more "type:name" lookup tables, separated by
641 whitespace or comma. Tables will be searched in the specified order
642 until a match is found.
643 Note: these lookups are recursive.
644 </p>
645
646 <p>
647 The default list is system dependent. On systems with NIS, the
648 default is to search the local alias database, then the NIS alias
649 database.
650 </p>
651
652 <p>
653 If you change the alias database, run "<b>postalias /etc/aliases</b>"
654 (or wherever your system stores the mail alias file), or simply
655 run "<b>newaliases</b>" to build the necessary DBM or DB file.
656 </p>
657
658 <p>
659 The <a href="local.8.html">local(8)</a> delivery agent disallows regular expression substitution
660 of $1 etc. in <a href="postconf.5.html#alias_maps">alias_maps</a>, because that would open a security hole.
661 </p>
662
663 <p>
664 The <a href="local.8.html">local(8)</a> delivery agent will silently ignore requests to use
665 the <a href="proxymap.8.html">proxymap(8)</a> server within <a href="postconf.5.html#alias_maps">alias_maps</a>. Instead it will open the
666 table directly. Before Postfix version 2.2, the <a href="local.8.html">local(8)</a> delivery
667 agent will terminate with a fatal error.
668 </p>
669
670 <p>
671 Examples:
672 </p>
673
674 <pre>
675 <a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases, nis:mail.aliases
676 <a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases
677 </pre>
678
679
680 </DD>
681
682 <DT><b><a name="allow_mail_to_commands">allow_mail_to_commands</a>
683 (default: alias, forward)</b></DT><DD>
684
685 <p>
686 Restrict <a href="local.8.html">local(8)</a> mail delivery to external commands. The default
687 is to disallow delivery to "|command" in :include: files (see
688 <a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
689 </p>
690
691 <p>
692 Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
693 in order to allow commands in <a href="aliases.5.html">aliases(5)</a>, .forward files or in
694 :include: files, respectively.
695 </p>
696
697 <p>
698 Example:
699 </p>
700
701 <pre>
702 <a href="postconf.5.html#allow_mail_to_commands">allow_mail_to_commands</a> = alias,forward,include
703 </pre>
704
705
706 </DD>
707
708 <DT><b><a name="allow_mail_to_files">allow_mail_to_files</a>
709 (default: alias, forward)</b></DT><DD>
710
711 <p>
712 Restrict <a href="local.8.html">local(8)</a> mail delivery to external files. The default is
713 to disallow "/file/name" destinations in :include: files (see
714 <a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
715 </p>
716
717 <p>
718 Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
719 in order to allow "/file/name" destinations in <a href="aliases.5.html">aliases(5)</a>, .forward
720 files and in :include: files, respectively.
721 </p>
722
723 <p>
724 Example:
725 </p>
726
727 <pre>
728 <a href="postconf.5.html#allow_mail_to_files">allow_mail_to_files</a> = alias,forward,include
729 </pre>
730
731
732 </DD>
733
734 <DT><b><a name="allow_min_user">allow_min_user</a>
735 (default: no)</b></DT><DD>
736
737 <p>
738 Allow a sender or recipient address to have `-' as the first
739 character. By
740 default, this is not allowed, to avoid accidents with software that
741 passes email addresses via the command line. Such software
742 would not be able to distinguish a malicious address from a
743 bona fide command-line option. Although this can be prevented by
744 inserting a "--" option terminator into the command line, this is
745 difficult to enforce consistently and globally. </p>
746
747 <p> As of Postfix version 2.5, this feature is implemented by
748 <a href="trivial-rewrite.8.html">trivial-rewrite(8)</a>. With earlier versions this feature was implemented
749 by <a href="qmgr.8.html">qmgr(8)</a> and was limited to recipient addresses only. </p>
750
751
752 </DD>
753
754 <DT><b><a name="allow_percent_hack">allow_percent_hack</a>
755 (default: yes)</b></DT><DD>
756
757 <p>
758 Enable the rewriting of the form "user%domain" to "user@domain".
759 This is enabled by default.
760 </p>
761
762 <p> Note: as of Postfix version 2.2, message header address rewriting
763 happens only when one of the following conditions is true: </p>
764
765 <ul>
766
767 <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
768
769 <li> The message is received from a network client that matches
770 $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
771
772 <li> The message is received from the network, and the
773 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
774
775 </ul>
776
777 <p> To get the behavior before Postfix version 2.2, specify
778 "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
779
780 <p>
781 Example:
782 </p>
783
784 <pre>
785 <a href="postconf.5.html#allow_percent_hack">allow_percent_hack</a> = no
786 </pre>
787
788
789 </DD>
790
791 <DT><b><a name="allow_srv_lookup_fallback">allow_srv_lookup_fallback</a>
792 (default: no)</b></DT><DD>
793
794 <p> When SRV record lookup fails or no SRV record exists, fall back
795 to MX or IP address lookup as if SRV record lookup was not enabled. <p>
796
797 <p> This feature is available in Postfix 3.8 and later. </p>
798
799
800 </DD>
801
802 <DT><b><a name="allow_untrusted_routing">allow_untrusted_routing</a>
803 (default: no)</b></DT><DD>
804
805 <p>
806 Forward mail with sender-specified routing (user[@%!]remote[@%!]site)
807 from untrusted clients to destinations matching $<a href="postconf.5.html#relay_domains">relay_domains</a>.
808 </p>
809
810 <p>
811 By default, this feature is turned off. This closes a nasty open
812 relay loophole where a backup MX host can be tricked into forwarding
813 junk mail to a primary MX host which then spams it out to the world.
814 </p>
815
816 <p>
817 This parameter also controls if non-local addresses with sender-specified
818 routing can match Postfix access tables. By default, such addresses
819 cannot match Postfix access tables, because the address is ambiguous.
820 </p>
821
822
823 </DD>
824
825 <DT><b><a name="alternate_config_directories">alternate_config_directories</a>
826 (default: empty)</b></DT><DD>
827
828 <p>
829 A list of non-default Postfix configuration directories that may
830 be specified with "-c <a href="postconf.5.html#config_directory">config_directory</a>" on the command line (in the
831 case of <a href="sendmail.1.html">sendmail(1)</a>, with the "-C" option), or via the MAIL_CONFIG
832 environment parameter.
833 </p>
834
835 <p>
836 This list must be specified in the default Postfix <a href="postconf.5.html">main.cf</a> file,
837 and will be used by set-gid Postfix commands such as <a href="postqueue.1.html">postqueue(1)</a>
838 and <a href="postdrop.1.html">postdrop(1)</a>.
839 </p>
840
841 <p>
842 Specify absolute pathnames, separated by comma or space. Note: $name
843 expansion is not supported.
844 </p>
845
846
847 </DD>
848
849 <DT><b><a name="always_add_missing_headers">always_add_missing_headers</a>
850 (default: no)</b></DT><DD>
851
852 <p> Always add (Resent-) From:, To:, Date: or Message-ID: headers
853 when not present. Postfix 2.6 and later add these headers only
854 when clients match the <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter
855 setting. Earlier Postfix versions always add these headers; this
856 may break DKIM signatures that cover non-existent headers.
857 The <a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> parameter setting determines
858 whether a To: header will be added. </p>
859
860
861 </DD>
862
863 <DT><b><a name="always_bcc">always_bcc</a>
864 (default: empty)</b></DT><DD>
865
866 <p>
867 Optional address that receives a "blind carbon copy" of each message
868 that is received by the Postfix mail system.
869 </p>
870
871 <p>
872 Note: with Postfix 2.3 and later the BCC address is added as if it
873 was specified with NOTIFY=NONE. The sender will not be notified
874 when the BCC address is undeliverable, as long as all down-stream
875 software implements <a href="https://tools.ietf.org/html/rfc3461">RFC 3461</a>.
876 </p>
877
878 <p>
879 Note: with Postfix 2.2 and earlier the sender will be notified
880 when the BCC address is undeliverable.
881 </p>
882
883 <p> Note: automatic BCC recipients are produced only for new mail.
884 To avoid mailer loops, automatic BCC recipients are not generated
885 after Postfix forwards mail internally, or after Postfix generates
886 mail itself. </p>
887
888 <p> Note: automatic BCC recipients are subject to address
889 canonicalization (add missing domain), <a href="postconf.5.html#canonical_maps">canonical_maps</a>, <a href="postconf.5.html#masquerade_domains">masquerade_domains</a>,
890 and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
891
892
893 </DD>
894
895 <DT><b><a name="anvil_rate_time_unit">anvil_rate_time_unit</a>
896 (default: 60s)</b></DT><DD>
897
898 <p>
899 The time unit over which client connection rates and other rates
900 are calculated.
901 </p>
902
903 <p>
904 This feature is implemented by the <a href="anvil.8.html">anvil(8)</a> service which is available
905 in Postfix version 2.2 and later.
906 </p>
907
908 <p>
909 The default interval is relatively short. Because of the high
910 frequency of updates, the <a href="anvil.8.html">anvil(8)</a> server uses volatile memory
911 only. Thus, information is lost whenever the process terminates.
912 </p>
913
914 <p> Specify a non-zero time value (an integral value plus an optional
915 one-letter suffix that specifies the time unit). Time units: s
916 (seconds), m (minutes), h (hours), d (days), w (weeks).
917 The default time unit is s (seconds). </p>
918
919
920 </DD>
921
922 <DT><b><a name="anvil_status_update_time">anvil_status_update_time</a>
923 (default: 600s)</b></DT><DD>
924
925 <p>
926 How frequently the <a href="anvil.8.html">anvil(8)</a> connection and rate limiting server
927 logs peak usage information.
928 </p>
929
930 <p> Specify a non-zero time value (an integral value plus an optional
931 one-letter suffix that specifies the time unit). Time units: s
932 (seconds), m (minutes), h (hours), d (days), w (weeks).
933 The default time unit is s (seconds). </p>
934
935 <p>
936 This feature is available in Postfix 2.2 and later.
937 </p>
938
939
940 </DD>
941
942 <DT><b><a name="append_at_myorigin">append_at_myorigin</a>
943 (default: yes)</b></DT><DD>
944
945 <p>
946 With locally submitted mail, append the string "@$<a href="postconf.5.html#myorigin">myorigin</a>" to mail
947 addresses without domain information. With remotely submitted mail,
948 append the string "@$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>" instead.
949 </p>
950
951 <p>
952 Note 1: this feature is enabled by default and must not be turned off.
953 Postfix does not support domain-less addresses.
954 </p>
955
956 <p> Note 2: with Postfix version 2.2, message header address rewriting
957 happens only when one of the following conditions is true: </p>
958
959 <ul>
960
961 <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
962
963 <li> The message is received from a network client that matches
964 $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
965
966 <li> The message is received from the network, and the
967 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
968
969 </ul>
970
971 <p> To get the behavior before Postfix version 2.2, specify
972 "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
973
974
975 </DD>
976
977 <DT><b><a name="append_dot_mydomain">append_dot_mydomain</a>
978 (default: Postfix ≥ 3.0: no, Postfix < 3.0: yes)</b></DT><DD>
979
980 <p>
981 With locally submitted mail, append the string ".$<a href="postconf.5.html#mydomain">mydomain</a>" to
982 addresses that have no ".domain" information. With remotely submitted
983 mail, append the string ".$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>"
984 instead.
985 </p>
986
987 <p>
988 Note 1: When disabled (Postfix 3.0 and later), users will not be
989 able to send mail to "user@partialdomainname" but will have to
990 specify full domain names instead.
991 </p>
992
993 <p> Note 2: with Postfix version 2.2, message header address rewriting
994 happens only when one of the following conditions is true: </p>
995
996 <ul>
997
998 <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
999
1000 <li> The message is received from a network client that matches
1001 $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
1002
1003 <li> The message is received from the network, and the
1004 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
1005
1006 </ul>
1007
1008 <p> To get the behavior before Postfix version 2.2, specify
1009 "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
1010
1011
1012 </DD>
1013
1014 <DT><b><a name="application_event_drain_time">application_event_drain_time</a>
1015 (default: 100s)</b></DT><DD>
1016
1017 <p>
1018 How long the <a href="postkick.1.html">postkick(1)</a> command waits for a request to enter the
1019 Postfix daemon process input buffer before giving up.
1020 </p>
1021
1022 <p> Specify a non-zero time value (an integral value plus an optional
1023 one-letter suffix that specifies the time unit). Time units: s
1024 (seconds), m (minutes), h (hours), d (days), w (weeks).
1025 The default time unit is s (seconds). </p>
1026
1027 <p>
1028 This feature is available in Postfix 2.1 and later.
1029 </p>
1030
1031
1032 </DD>
1033
1034 <DT><b><a name="authorized_flush_users">authorized_flush_users</a>
1035 (default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
1036
1037 <p>
1038 List of users who are authorized to flush the queue.
1039 </p>
1040
1041 <p>
1042 By default, all users are allowed to flush the queue. Access is
1043 always granted if the invoking user is the super-user or the
1044 $<a href="postconf.5.html#mail_owner">mail_owner</a> user. Otherwise, the real UID of the process is looked
1045 up in the system password file, and access is granted only if the
1046 corresponding login name is on the access list. The username
1047 "unknown" is used for processes whose real UID is not found in the
1048 password file. </p>
1049
1050 <p>
1051 Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
1052 separated by commas and/or whitespace. The list is matched left to
1053 right, and the search stops on the first match. A "/file/name"
1054 pattern is replaced
1055 by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
1056 matches a lookup key (the lookup result is ignored). Continue long
1057 lines by starting the next line with whitespace. Specify "!pattern"
1058 to exclude a name from the list. The form "!/file/name" is supported
1059 only in Postfix version 2.4 and later. </p>
1060
1061 <p>
1062 This feature is available in Postfix 2.2 and later.
1063 </p>
1064
1065
1066 </DD>
1067
1068 <DT><b><a name="authorized_mailq_users">authorized_mailq_users</a>
1069 (default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
1070
1071 <p>
1072 List of users who are authorized to view the queue.
1073 </p>
1074
1075 <p>
1076 By default, all users are allowed to view the queue. Access is
1077 always granted if the invoking user is the super-user or the
1078 $<a href="postconf.5.html#mail_owner">mail_owner</a> user. Otherwise, the real UID of the process is looked
1079 up in the system password file, and access is granted only if the
1080 corresponding login name is on the access list. The username
1081 "unknown" is used for processes whose real UID is not found in the
1082 password file. </p>
1083
1084 <p>
1085 Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
1086 separated by commas and/or whitespace. The list is matched left to
1087 right, and the search stops on the first match. A "/file/name"
1088 pattern is replaced
1089 by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
1090 matches a lookup key (the lookup result is ignored). Continue long
1091 lines by starting the next line with whitespace. Specify "!pattern"
1092 to exclude a user name from the list. The form "!/file/name" is
1093 supported only in Postfix version 2.4 and later. </p>
1094
1095 <p>
1096 This feature is available in Postfix 2.2 and later.
1097 </p>
1098
1099
1100 </DD>
1101
1102 <DT><b><a name="authorized_submit_users">authorized_submit_users</a>
1103 (default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
1104
1105 <p>
1106 List of users who are authorized to submit mail with the <a href="sendmail.1.html">sendmail(1)</a>
1107 command (and with the privileged <a href="postdrop.1.html">postdrop(1)</a> helper command).
1108 </p>
1109
1110 <p>
1111 By default, all users are allowed to submit mail. Otherwise, the
1112 real UID of the process is looked up in the system password file,
1113 and access is granted only if the corresponding login name is on
1114 the access list. The username "unknown" is used for processes
1115 whose real UID is not found in the password file. To deny mail
1116 submission access to all users specify an empty list. </p>
1117
1118 <p>
1119 Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
1120 separated by commas and/or whitespace. The list is matched left to right,
1121 and the search stops on the first match. A "/file/name" pattern is
1122 replaced by its contents;
1123 a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup key
1124 (the lookup result is ignored). Continue long lines by starting the
1125 next line with whitespace. Specify "!pattern" to exclude a user
1126 name from the list. The form "!/file/name" is supported only in
1127 Postfix version 2.4 and later. </p>
1128
1129 <p>
1130 Example:
1131 </p>
1132
1133 <pre>
1134 <a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> = !www, <a href="DATABASE_README.html#types">static</a>:all
1135 </pre>
1136
1137 <p>
1138 This feature is available in Postfix 2.2 and later.
1139 </p>
1140
1141
1142 </DD>
1143
1144 <DT><b><a name="authorized_verp_clients">authorized_verp_clients</a>
1145 (default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
1146
1147 <p> What remote SMTP clients are allowed to specify the XVERP command.
1148 This command requests that mail be delivered one recipient at a
1149 time with a per recipient return address. </p>
1150
1151 <p> By default, only trusted clients are allowed to specify XVERP.
1152 </p>
1153
1154 <p> This parameter was introduced with Postfix version 1.1. Postfix
1155 version 2.1 renamed this parameter to <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
1156 and changed the default to none. </p>
1157
1158 <p> Specify a list of network/netmask patterns, separated by commas
1159 and/or whitespace. The mask specifies the number of bits in the
1160 network part of a host address. You can also specify hostnames or
1161 .domain names (the initial dot causes the domain to match any name
1162 below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name"
1163 pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
1164 is matched when a table entry matches a lookup string (the lookup
1165 result is ignored). Continue long lines by starting the next line
1166 with whitespace. Specify "!pattern" to exclude an address or network
1167 block from the list. The form "!/file/name" is supported only in
1168 Postfix version 2.4 and later. </p>
1169
1170 <p> Note: IP version 6 address information must be specified inside
1171 <tt>[]</tt> in the <a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a> value, and in files
1172 specified with "/file/name". IP version 6 addresses contain the
1173 ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
1174 pattern. </p>
1175
1176
1177 </DD>
1178
1179 <DT><b><a name="backwards_bounce_logfile_compatibility">backwards_bounce_logfile_compatibility</a>
1180 (default: yes)</b></DT><DD>
1181
1182 <p>
1183 Produce additional <a href="bounce.8.html">bounce(8)</a> logfile records that can be read by
1184 Postfix versions before 2.0. The current and more extensible "name =
1185 value" format is needed in order to implement more sophisticated
1186 functionality.
1187 </p>
1188
1189 <p>
1190 This feature is available in Postfix 2.1 and later.
1191 </p>
1192
1193
1194 </DD>
1195
1196 <DT><b><a name="berkeley_db_create_buffer_size">berkeley_db_create_buffer_size</a>
1197 (default: 16777216)</b></DT><DD>
1198
1199 <p>
1200 The per-table I/O buffer size for programs that create Berkeley DB
1201 hash or btree tables. Specify a byte count.
1202 </p>
1203
1204 <p>
1205 This feature is available in Postfix 2.0 and later.
1206 </p>
1207
1208
1209 </DD>
1210
1211 <DT><b><a name="berkeley_db_read_buffer_size">berkeley_db_read_buffer_size</a>
1212 (default: 131072)</b></DT><DD>
1213
1214 <p>
1215 The per-table I/O buffer size for programs that read Berkeley DB
1216 hash or btree tables. Specify a byte count.
1217 </p>
1218
1219 <p>
1220 This feature is available in Postfix 2.0 and later.
1221 </p>
1222
1223
1224 </DD>
1225
1226 <DT><b><a name="best_mx_transport">best_mx_transport</a>
1227 (default: empty)</b></DT><DD>
1228
1229 <p>
1230 Where the Postfix SMTP client should deliver mail when it detects
1231 a "mail loops back to myself" error condition. This happens when
1232 the local MTA is the best SMTP mail exchanger for a destination
1233 not listed in $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>, $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>,
1234 $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, or $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>. By default,
1235 the Postfix SMTP client returns such mail as undeliverable.
1236 </p>
1237
1238 <p>
1239 Specify, for example, "<a href="postconf.5.html#best_mx_transport">best_mx_transport</a> = local" to pass the mail
1240 from the Postfix SMTP client to the <a href="local.8.html">local(8)</a> delivery agent. You
1241 can specify
1242 any message delivery "transport" or "transport:nexthop" that is
1243 defined in the <a href="master.5.html">master.cf</a> file. See the <a href="transport.5.html">transport(5)</a> manual page
1244 for the syntax and meaning of "transport" or "transport:nexthop".
1245 </p>
1246
1247 <p>
1248 However, this feature is expensive because it ties up a Postfix
1249 SMTP client process while the <a href="local.8.html">local(8)</a> delivery agent is doing its
1250 work. It is more efficient (for Postfix) to list all <a href="VIRTUAL_README.html#canonical">hosted domains</a>
1251 in a table or database.
1252 </p>
1253
1254
1255 </DD>
1256
1257 <DT><b><a name="biff">biff</a>
1258 (default: yes)</b></DT><DD>
1259
1260 <p>
1261 Whether or not to use the local <a href="postconf.5.html#biff">biff</a> service. This service sends
1262 "new mail" notifications to users who have requested new mail
1263 notification with the UNIX command "<a href="postconf.5.html#biff">biff</a> y".
1264 </p>
1265
1266 <p>
1267 For compatibility reasons this feature is on by default. On systems
1268 with lots of interactive users, the <a href="postconf.5.html#biff">biff</a> service can be a performance
1269 drain. Specify "<a href="postconf.5.html#biff">biff</a> = no" in <a href="postconf.5.html">main.cf</a> to disable.
1270 </p>
1271
1272
1273 </DD>
1274
1275 <DT><b><a name="body_checks">body_checks</a>
1276 (default: empty)</b></DT><DD>
1277
1278 <p> Optional lookup tables for content inspection as specified in
1279 the <a href="header_checks.5.html">body_checks(5)</a> manual page. </p>
1280
1281 <p> Note: with Postfix versions before 2.0, these rules inspect
1282 all content after the primary message headers. </p>
1283
1284
1285 </DD>
1286
1287 <DT><b><a name="body_checks_size_limit">body_checks_size_limit</a>
1288 (default: 51200)</b></DT><DD>
1289
1290 <p>
1291 How much text in a message body segment (or attachment, if you
1292 prefer to use that term) is subjected to <a href="postconf.5.html#body_checks">body_checks</a> inspection.
1293 The amount of text is limited to avoid scanning huge attachments.
1294 </p>
1295
1296 <p>
1297 This feature is available in Postfix 2.0 and later.
1298 </p>
1299
1300
1301 </DD>
1302
1303 <DT><b><a name="bounce_notice_recipient">bounce_notice_recipient</a>
1304 (default: postmaster)</b></DT><DD>
1305
1306 <p>
1307 The recipient of postmaster notifications with the message headers
1308 of mail that Postfix did not deliver and of SMTP conversation
1309 transcripts of mail that Postfix did not receive. This feature is
1310 enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter. </p>
1311
1312
1313 </DD>
1314
1315 <DT><b><a name="bounce_queue_lifetime">bounce_queue_lifetime</a>
1316 (default: 5d)</b></DT><DD>
1317
1318 <p>
1319 Consider a bounce message as undeliverable, when delivery fails
1320 with a temporary error, and the time in the queue has reached the
1321 <a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> limit. By default, this limit is the same
1322 as for regular mail.
1323 </p>
1324
1325 <p> Specify a non-negative time value (an integral value plus an optional
1326 one-letter suffix that specifies the time unit). Time units: s
1327 (seconds), m (minutes), h (hours), d (days), w (weeks).
1328 The default time unit is d (days). </p>
1329
1330 <p>
1331 Specify 0 when mail delivery should be tried only once.
1332 </p>
1333
1334 <p>
1335 This feature is available in Postfix 2.1 and later.
1336 </p>
1337
1338
1339 </DD>
1340
1341 <DT><b><a name="bounce_service_name">bounce_service_name</a>
1342 (default: bounce)</b></DT><DD>
1343
1344 <p>
1345 The name of the <a href="bounce.8.html">bounce(8)</a> service. This service maintains a record
1346 of failed delivery attempts and generates non-delivery notifications.
1347 </p>
1348
1349 <p>
1350 This feature is available in Postfix 2.0 and later.
1351 </p>
1352
1353
1354 </DD>
1355
1356 <DT><b><a name="bounce_size_limit">bounce_size_limit</a>
1357 (default: 50000)</b></DT><DD>
1358
1359 <p> The maximal amount of original message text that is sent in a
1360 non-delivery notification. Specify a byte count. A message is
1361 returned as either message/rfc822 (the complete original) or as
1362 text/rfc822-headers (the headers only). With Postfix version 2.4
1363 and earlier, a message is always returned as message/rfc822 and is
1364 truncated when it exceeds the size limit.
1365 </p>
1366
1367 <p> Notes: </p>
1368
1369 <ul>
1370
1371 <li> <p> If you increase this limit, then you should increase the
1372 <a href="postconf.5.html#mime_nesting_limit">mime_nesting_limit</a> value proportionally. </p>
1373
1374 <li> <p> Be careful when making changes. Excessively large values
1375 will result in the loss of non-delivery notifications, when a bounce
1376 message size exceeds a local or remote MTA's message size limit.
1377 </p>
1378
1379 </ul>
1380
1381
1382 </DD>
1383
1384 <DT><b><a name="bounce_template_file">bounce_template_file</a>
1385 (default: empty)</b></DT><DD>
1386
1387 <p> Pathname of a configuration file with bounce message templates.
1388 These override the built-in templates of delivery status notification
1389 (DSN) messages for undeliverable mail, delayed mail, successful
1390 delivery, or delivery verification. The <a href="bounce.5.html">bounce(5)</a> manual page
1391 describes how to edit and test template files. </p>
1392
1393 <p> Template message body text may contain $name references to
1394 Postfix configuration parameters. The result of $name expansion can
1395 be previewed with "<b>postconf -b <i>file_name</i></b>" before the file
1396 is placed into the Postfix configuration directory. </p>
1397
1398 <p> This feature is available in Postfix 2.3 and later. </p>
1399
1400
1401 </DD>
1402
1403 <DT><b><a name="broken_sasl_auth_clients">broken_sasl_auth_clients</a>
1404 (default: no)</b></DT><DD>
1405
1406 <p>
1407 Enable interoperability with remote SMTP clients that implement an obsolete
1408 version of the AUTH command (<a href="https://tools.ietf.org/html/rfc4954">RFC 4954</a>). Examples of such clients
1409 are MicroSoft Outlook Express version 4 and MicroSoft Exchange
1410 version 5.0.
1411 </p>
1412
1413 <p>
1414 Specify "<a href="postconf.5.html#broken_sasl_auth_clients">broken_sasl_auth_clients</a> = yes" to have Postfix advertise
1415 AUTH support in a non-standard way.
1416 </p>
1417
1418
1419 </DD>
1420
1421 <DT><b><a name="canonical_classes">canonical_classes</a>
1422 (default: envelope_sender, envelope_recipient, header_sender, header_recipient)</b></DT><DD>
1423
1424 <p> What addresses are subject to <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping.
1425 By default, <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping is applied to envelope
1426 sender and recipient addresses, and to header sender and header
1427 recipient addresses. </p>
1428
1429 <p> Specify one or more of: envelope_sender, envelope_recipient,
1430 header_sender, header_recipient </p>
1431
1432 <p> This feature is available in Postfix 2.2 and later. </p>
1433
1434
1435 </DD>
1436
1437 <DT><b><a name="canonical_maps">canonical_maps</a>
1438 (default: empty)</b></DT><DD>
1439
1440 <p>
1441 Optional address mapping lookup tables for message headers and
1442 envelopes. The mapping is applied to both sender and recipient
1443 addresses, in both envelopes and in headers, as controlled
1444 with the <a href="postconf.5.html#canonical_classes">canonical_classes</a> parameter. This is typically used
1445 to clean up dirty addresses from legacy mail systems, or to replace
1446 login names by Firstname.Lastname. The table format and lookups
1447 are documented in <a href="canonical.5.html">canonical(5)</a>. For an overview of Postfix address
1448 manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
1449 </p>
1450
1451 <p>
1452 Specify zero or more "type:name" lookup tables, separated by
1453 whitespace or comma. Tables will be searched in the specified order
1454 until a match is found.
1455 Note: these lookups are recursive.
1456 </p>
1457
1458 <p>
1459 If you use this feature, run "<b>postmap /etc/postfix/canonical</b>" to
1460 build the necessary DBM or DB file after every change. The changes
1461 will become visible after a minute or so. Use "<b>postfix reload</b>"
1462 to eliminate the delay.
1463 </p>
1464
1465 <p> Note: with Postfix version 2.2, message header address mapping
1466 happens only when message header address rewriting is enabled: </p>
1467
1468 <ul>
1469
1470 <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
1471
1472 <li> The message is received from a network client that matches
1473 $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
1474
1475 <li> The message is received from the network, and the
1476 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
1477
1478 </ul>
1479
1480 <p> To get the behavior before Postfix version 2.2, specify
1481 "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
1482
1483 <p>
1484 Examples:
1485 </p>
1486
1487 <pre>
1488 <a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/canonical
1489 <a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/canonical
1490 </pre>
1491
1492
1493 </DD>
1494
1495 <DT><b><a name="cleanup_replace_stray_cr_lf">cleanup_replace_stray_cr_lf</a>
1496 (default: yes)</b></DT><DD>
1497
1498 <p> Replace each stray <CR> or <LF> character in message
1499 content with a space character, to prevent outbound SMTP smuggling,
1500 and to make the evaluation of Postfix-added DKIM or other signatures
1501 independent from how a remote mail server handles such characters.
1502 </p>
1503
1504 <p> SMTP does not allow such characters unless they are part of a
1505 <CR><LF> sequence, and different mail systems handle
1506 such stray characters in an implementation-dependent manner. Stray
1507 <CR> or <LF> characters could be used for outbound
1508 SMTP smuggling, where an attacker uses a Postfix server to send
1509 message content with a non-standard End-of-DATA sequence that
1510 triggers inbound SMTP smuggling at a remote SMTP server.</p>
1511
1512 <p> The replacement happens before all other content management,
1513 and before Postfix may add a DKIM etc. signature; if the signature
1514 were created first, the replacement could invalidate the signature.
1515 </p>
1516
1517 <p> In addition to preventing SMTP smuggling, replacing stray
1518 <CR> or <LF> characters ensures that the result of
1519 signature validation by later mail system will not depend on how
1520 that mail system handles those stray characters in an
1521 implementation-dependent manner. </p>
1522
1523 <p> Note: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a> =
1524 <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>". </p>
1525
1526 <p> This feature is available in Postfix ≥ 3.9, 3.8.5, 3.7.10,
1527 3.6.14, and 3.5.24. </p>
1528
1529
1530 </DD>
1531
1532 <DT><b><a name="cleanup_service_name">cleanup_service_name</a>
1533 (default: cleanup)</b></DT><DD>
1534
1535 <p>
1536 The name of the <a href="cleanup.8.html">cleanup(8)</a> service. This service rewrites addresses
1537 into the standard form, and performs <a href="canonical.5.html">canonical(5)</a> address mapping
1538 and <a href="virtual.5.html">virtual(5)</a> aliasing.
1539 </p>
1540
1541 <p>
1542 This feature is available in Postfix 2.0 and later.
1543 </p>
1544
1545
1546 </DD>
1547
1548 <DT><b><a name="command_directory">command_directory</a>
1549 (default: see "postconf -d" output)</b></DT><DD>
1550
1551 <p>
1552 The location of all postfix administrative commands.
1553 </p>
1554
1555
1556 </DD>
1557
1558 <DT><b><a name="command_execution_directory">command_execution_directory</a>
1559 (default: empty)</b></DT><DD>
1560
1561 <p> The <a href="local.8.html">local(8)</a> delivery agent working directory for delivery to
1562 external commands. Failure to change directory causes the delivery
1563 to be deferred. </p>
1564
1565 <p> The <a href="postconf.5.html#command_execution_directory">command_execution_directory</a> value is not subject to Postfix
1566 configuration parameter $name expansion. Instead, the following
1567 $name expansions are done on <a href="postconf.5.html#command_execution_directory">command_execution_directory</a> before the
1568 directory is used. Expansion happens in the context
1569 of the delivery request. The result of $name expansion is filtered
1570 with the character set that is specified with the
1571 <a href="postconf.5.html#execution_directory_expansion_filter">execution_directory_expansion_filter</a> parameter. </p>
1572
1573 <dl>
1574
1575 <dt><b>$user</b></dt>
1576
1577 <dd>The recipient's username. </dd>
1578
1579 <dt><b>$shell</b></dt>
1580
1581 <dd>The recipient's login shell pathname. </dd>
1582
1583 <dt><b>$home</b></dt>
1584
1585 <dd>The recipient's home directory. </dd>
1586
1587 <dt><b>$recipient</b></dt>
1588
1589 <dd>The full recipient address. </dd>
1590
1591 <dt><b>$extension</b></dt>
1592
1593 <dd>The optional recipient address extension. </dd>
1594
1595 <dt><b>$domain</b></dt>
1596
1597 <dd>The recipient domain. </dd>
1598
1599 <dt><b>$local</b></dt>
1600
1601 <dd>The entire recipient localpart. </dd>
1602
1603 <dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
1604
1605 <dd>The address extension delimiter that was found in the recipient
1606 address (Postfix 2.11 and later), or the system-wide recipient
1607 address extension delimiter (Postfix 2.10 and earlier). </dd>
1608
1609 <dt><b>${name?value}</b></dt>
1610
1611 <dt><b>${name?{value}}</b> (Postfix ≥ 3.0)</dt>
1612
1613 <dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
1614
1615 <dt><b>${name:value}</b></dt>
1616
1617 <dt><b>${name:{value}}</b> (Postfix ≥ 3.0)</dt>
1618
1619 <dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
1620
1621 <dt><b>${name?{value1}:{value2}}</b> (Postfix ≥ 3.0)</dt>
1622
1623 <dd>Expands to <i>value1</i> when <i>$name</i> is non-empty,
1624 <i>value2</i> otherwise. </dd>
1625
1626 </dl>
1627
1628 <p>
1629 Instead of $name you can also specify ${name} or $(name).
1630 </p>
1631
1632 <p> This feature is available in Postfix 2.2 and later. </p>
1633
1634
1635 </DD>
1636
1637 <DT><b><a name="command_expansion_filter">command_expansion_filter</a>
1638 (default: see "postconf -d" output)</b></DT><DD>
1639
1640 <p>
1641 Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
1642 $name expansions of $<a href="postconf.5.html#mailbox_command">mailbox_command</a> and $<a href="postconf.5.html#command_execution_directory">command_execution_directory</a>.
1643 Characters outside the
1644 allowed set are replaced by underscores.
1645 </p>
1646
1647
1648 </DD>
1649
1650 <DT><b><a name="command_time_limit">command_time_limit</a>
1651 (default: 1000s)</b></DT><DD>
1652
1653 <p>
1654 Time limit for delivery to external commands. This limit is used
1655 by the <a href="local.8.html">local(8)</a> delivery agent, and is the default time limit for
1656 delivery by the <a href="pipe.8.html">pipe(8)</a> delivery agent.
1657 </p>
1658
1659 <p>
1660 Note: if you set this time limit to a large value you must update the
1661 global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter as well.
1662 </p>
1663
1664
1665 </DD>
1666
1667 <DT><b><a name="compatibility_level">compatibility_level</a>
1668 (default: 0)</b></DT><DD>
1669
1670 <p> A safety net that causes Postfix to run with backwards-compatible
1671 default settings after an upgrade to a newer Postfix version. </p>
1672
1673 <p> With backwards compatibility turned on (the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#compatibility_level">compatibility_level</a>
1674 value is less than the Postfix built-in value), Postfix looks for
1675 settings that are left at their implicit default value, and logs a
1676 message when a backwards-compatible default setting is required.
1677 </p>
1678
1679 <blockquote>
1680 <pre>
1681 using backwards-compatible default setting <i>name=value</i>
1682 to [accept a specific client request]
1683
1684 using backwards-compatible default setting <i>name=value</i>
1685 to [enable specific Postfix behavior]
1686 </pre>
1687 </blockquote>
1688
1689 <p> See <a href="COMPATIBILITY_README.html">COMPATIBILITY_README</a> for specific message details. If such
1690 a message is logged in the context of a legitimate request, the
1691 system administrator should make the backwards-compatible setting
1692 permanent in <a href="postconf.5.html">main.cf</a> or <a href="master.5.html">master.cf</a>, for example: </p>
1693
1694 <blockquote>
1695 <pre>
1696 # <b>postconf</b> <i>name=value</i>
1697 # <b>postfix reload</b>
1698 </pre>
1699 </blockquote>
1700
1701 <p> When no more backwards-compatible settings need to be made
1702 permanent, the administrator should turn off backwards compatibility
1703 by updating the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting in <a href="postconf.5.html">main.cf</a>:</p>
1704
1705 <blockquote>
1706 <pre>
1707 # <b>postconf <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i></b>
1708 # <b>postfix reload</b>
1709 </pre>
1710 </blockquote>
1711
1712 <p> For <i>N</i> specify the number that is logged in your <a href="postfix.1.html">postfix(1)</a>
1713 warning message: </p>
1714
1715 <blockquote>
1716 <pre>
1717 warning: To disable backwards compatibility use "postconf
1718 <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i>" and "postfix reload"
1719 </pre>
1720 </blockquote>
1721
1722 <p> Starting with Postfix version 3.6, the compatibility level in
1723 the above warning message is the Postfix version that introduced
1724 the last incompatible change. The level is formatted as
1725 <i>major.minor.patch</i>, where <i>patch</i> is usually omitted and
1726 defaults to zero. Earlier compatibility levels are 0, 1 and 2. </p>
1727
1728 <p> NOTE: this also introduces support for the "<level",
1729 "<=level", and other operators to compare compatibility levels.
1730 With the standard operators "<", "<=", etc., compatibility
1731 level "3.10" would be smaller than "3.9" which is undesirable. </p>
1732
1733 <p> This feature is available in Postfix 3.0 and later. </p>
1734
1735
1736 </DD>
1737
1738 <DT><b><a name="config_directory">config_directory</a>
1739 (default: see "postconf -d" output)</b></DT><DD>
1740
1741 <p> The default location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a>
1742 configuration files. This can be overruled via the following
1743 mechanisms: </p>
1744
1745 <ul>
1746
1747 <li> <p> The MAIL_CONFIG environment variable (daemon processes
1748 and commands). </p>
1749
1750 <li> <p> The "-c" command-line option (commands only). </p>
1751
1752 </ul>
1753
1754 <p> With Postfix commands that run with set-gid privileges, a
1755 <a href="postconf.5.html#config_directory">config_directory</a> override either requires root privileges, or it
1756 requires that the directory is listed with the <a href="postconf.5.html#alternate_config_directories">alternate_config_directories</a>
1757 parameter in the default <a href="postconf.5.html">main.cf</a> file. </p>
1758
1759
1760 </DD>
1761
1762 <DT><b><a name="confirm_delay_cleared">confirm_delay_cleared</a>
1763 (default: no)</b></DT><DD>
1764
1765 <p> After sending a "your message is delayed" notification, inform
1766 the sender when the delay clears up. This can result in a sudden
1767 burst of notifications at the end of a prolonged network outage,
1768 and is therefore disabled by default. </p>
1769
1770 <p> See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>. </p>
1771
1772 <p> This feature is available in Postfix 3.0 and later. </p>
1773
1774
1775 </DD>
1776
1777 <DT><b><a name="connection_cache_protocol_timeout">connection_cache_protocol_timeout</a>
1778 (default: 5s)</b></DT><DD>
1779
1780 <p> Time limit for connection cache connect, send or receive
1781 operations. The time limit is enforced in the client. </p>
1782
1783 <p> This feature is available in Postfix 2.3 and later. </p>
1784
1785
1786 </DD>
1787
1788 <DT><b><a name="connection_cache_service_name">connection_cache_service_name</a>
1789 (default: scache)</b></DT><DD>
1790
1791 <p> The name of the <a href="scache.8.html">scache(8)</a> connection cache service. This service
1792 maintains a limited pool of cached sessions. </p>
1793
1794 <p> This feature is available in Postfix 2.2 and later. </p>
1795
1796
1797 </DD>
1798
1799 <DT><b><a name="connection_cache_status_update_time">connection_cache_status_update_time</a>
1800 (default: 600s)</b></DT><DD>
1801
1802 <p> How frequently the <a href="scache.8.html">scache(8)</a> server logs usage statistics with
1803 connection cache hit and miss rates for logical destinations and for
1804 physical endpoints. </p>
1805
1806
1807 </DD>
1808
1809 <DT><b><a name="connection_cache_ttl_limit">connection_cache_ttl_limit</a>
1810 (default: 2s)</b></DT><DD>
1811
1812 <p> The maximal time-to-live value that the <a href="scache.8.html">scache(8)</a> connection
1813 cache server
1814 allows. Requests that specify a larger TTL will be stored with the
1815 maximum allowed TTL. The purpose of this additional control is to
1816 protect the infrastructure against careless people. The cache TTL
1817 is already bounded by $<a href="postconf.5.html#max_idle">max_idle</a>. </p>
1818
1819
1820 </DD>
1821
1822 <DT><b><a name="content_filter">content_filter</a>
1823 (default: empty)</b></DT><DD>
1824
1825 <p> After the message is queued, send the entire message to the
1826 specified <i>transport:destination</i>. The <i>transport</i> name
1827 specifies the first field of a mail delivery agent definition in
1828 <a href="master.5.html">master.cf</a>; the syntax of the next-hop <i>destination</i> is described
1829 in the manual page of the corresponding delivery agent. More
1830 information about external content filters is in the Postfix
1831 <a href="FILTER_README.html">FILTER_README</a> file. </p>
1832
1833 <p> Notes: </p>
1834
1835 <ul>
1836
1837 <li> <p> This setting has lower precedence than a FILTER action
1838 that is specified in an <a href="access.5.html">access(5)</a>, <a href="header_checks.5.html">header_checks(5)</a> or <a href="header_checks.5.html">body_checks(5)</a>
1839 table. </p>
1840
1841 <li> <p> The meaning of an empty next-hop filter <i>destination</i>
1842 is version dependent. Postfix 2.7 and later will use the recipient
1843 domain; earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>. Specify
1844 "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility with Postfix
1845 2.6 or earlier, or specify a <a href="postconf.5.html#content_filter">content_filter</a> value with an explicit
1846 next-hop <i>destination</i>. </p>
1847
1848 </ul>
1849
1850
1851 </DD>
1852
1853 <DT><b><a name="cyrus_sasl_config_path">cyrus_sasl_config_path</a>
1854 (default: empty)</b></DT><DD>
1855
1856 <p> Search path for Cyrus SASL application configuration files,
1857 currently used only to locate the $<a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.conf file.
1858 Specify zero or more directories separated by a colon character,
1859 or an empty value to use Cyrus SASL's built-in search path. </p>
1860
1861 <p> Note: some Debian-based Postfix distributions ignore the
1862 "<a href="postconf.5.html#cyrus_sasl_config_path">cyrus_sasl_config_path</a>" parameter setting, and force Postfix to
1863 open the file <code>/etc/postfix/sasl/smtpd.conf</code>. </p>
1864
1865 <p> This feature is available in Postfix 2.5 and later when compiled
1866 with Cyrus SASL 2.1.22 or later. </p>
1867
1868
1869 </DD>
1870
1871 <DT><b><a name="daemon_directory">daemon_directory</a>
1872 (default: see "postconf -d" output)</b></DT><DD>
1873
1874 <p>
1875 The directory with Postfix support programs and daemon programs.
1876 These should not be invoked directly by humans. The directory must
1877 be owned by root.
1878 </p>
1879
1880
1881 </DD>
1882
1883 <DT><b><a name="daemon_table_open_error_is_fatal">daemon_table_open_error_is_fatal</a>
1884 (default: no)</b></DT><DD>
1885
1886 <p> How a Postfix daemon process handles errors while opening lookup
1887 tables: gradual degradation or immediate termination. </p>
1888
1889 <dl>
1890
1891 <dt> <b> no </b> (default) </dt> <dd> <p> Gradual degradation: a
1892 daemon process logs a message of type "error" and continues execution
1893 with reduced functionality. Features that do not depend on the
1894 unavailable table will work normally, while features that depend
1895 on the table will result in a type "warning" message. <br> When
1896 the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter value contains the "data" class, the
1897 Postfix SMTP server and client will report transcripts of sessions
1898 with an error because a table is unavailable. </p> </dd>
1899
1900 <dt> <b> yes </b> (historical behavior) </dt> <dd> <p> Immediate
1901 termination: a daemon process logs a type "fatal" message and
1902 terminates immediately. This option reduces the number of possible
1903 code paths through Postfix, and may therefore be slightly more
1904 secure than the default. </p> </dd>
1905
1906 </dl>
1907
1908 <p> For the sake of sanity, the number of type "error" messages is
1909 limited to 13 over the lifetime of a daemon process. </p>
1910
1911 <p> This feature is available in Postfix 2.9 and later. </p>
1912
1913
1914 </DD>
1915
1916 <DT><b><a name="daemon_timeout">daemon_timeout</a>
1917 (default: 18000s)</b></DT><DD>
1918
1919 <p> How much time a Postfix daemon process may take to handle a
1920 request before it is terminated by a built-in watchdog timer. </p>
1921
1922 <p> Specify a non-zero time value (an integral value plus an optional
1923 one-letter suffix that specifies the time unit). Time units: s
1924 (seconds), m (minutes), h (hours), d (days), w (weeks).
1925 The default time unit is s (seconds). </p>
1926
1927
1928 </DD>
1929
1930 <DT><b><a name="data_directory">data_directory</a>
1931 (default: see "postconf -d" output)</b></DT><DD>
1932
1933 <p> The directory with Postfix-writable data files (for example:
1934 caches, pseudo-random numbers). This directory must be owned by
1935 the <a href="postconf.5.html#mail_owner">mail_owner</a> account, and must not be shared with non-Postfix
1936 software. </p>
1937
1938 <p> This feature is available in Postfix 2.5 and later. </p>
1939
1940
1941 </DD>
1942
1943 <DT><b><a name="debug_peer_level">debug_peer_level</a>
1944 (default: 2)</b></DT><DD>
1945
1946 <p> The increment in verbose logging level when a nexthop destination,
1947 remote client or server name or network address matches a pattern
1948 given with the <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter. </p>
1949
1950 <p> Per-nexthop debug logging is available in Postfix 3.6 and later. </p>
1951
1952
1953 </DD>
1954
1955 <DT><b><a name="debug_peer_list">debug_peer_list</a>
1956 (default: empty)</b></DT><DD>
1957
1958 <p> Optional list of nexthop destination, remote client or server
1959 name or network address patterns that, if matched, cause the verbose
1960 logging level to increase by the amount specified in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>.
1961 </p>
1962
1963 <p> Per-nexthop debug logging is available in Postfix 3.6 and later. </p>
1964
1965 <p> Specify domain names, network/netmask patterns, "/file/name"
1966 patterns or "<a href="DATABASE_README.html">type:table</a>" lookup tables. The right-hand side result
1967 from "<a href="DATABASE_README.html">type:table</a>" lookups is ignored. </p>
1968
1969 <p> Pattern matching of domain names is controlled by the presence
1970 or absence of "<a href="postconf.5.html#debug_peer_list">debug_peer_list</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
1971 parameter value. </p>
1972
1973 <p>
1974 Examples:
1975 </p>
1976
1977 <pre>
1978 <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = 127.0.0.1
1979 <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = example.com
1980 </pre>
1981
1982
1983 </DD>
1984
1985 <DT><b><a name="debugger_command">debugger_command</a>
1986 (default: empty)</b></DT><DD>
1987
1988 <p>
1989 The external command to execute when a Postfix daemon program is
1990 invoked with the -D option.
1991 </p>
1992
1993 <p>
1994 Use "command .. & sleep 5" so that the debugger can attach before
1995 the process marches on. If you use an X-based debugger, be sure to
1996 set up your XAUTHORITY environment variable before starting Postfix.
1997 </p>
1998
1999 <p>
2000 Note: the command is subject to $name expansion, before it is
2001 passed to the default command interpreter. Specify "$$" to
2002 produce a single "$" character.
2003 </p>
2004
2005 <p>
2006 Example:
2007 </p>
2008
2009 <pre>
2010 <a href="postconf.5.html#debugger_command">debugger_command</a> =
2011 PATH=/usr/bin:/usr/X11R6/bin
2012 ddd $<a href="postconf.5.html#daemon_directory">daemon_directory</a>/$<a href="postconf.5.html#process_name">process_name</a> $<a href="postconf.5.html#process_id">process_id</a> & sleep 5
2013 </pre>
2014
2015
2016 </DD>
2017
2018 <DT><b><a name="default_database_type">default_database_type</a>
2019 (default: see "postconf -d" output)</b></DT><DD>
2020
2021 <p>
2022 The default database type for use in <a href="newaliases.1.html">newaliases(1)</a>, <a href="postalias.1.html">postalias(1)</a>
2023 and <a href="postmap.1.html">postmap(1)</a> commands. On many UNIX systems the default type is
2024 either <b>dbm</b> or <b>hash</b>. The default setting is frozen
2025 when the Postfix system is built.
2026 </p>
2027
2028 <p>
2029 Examples:
2030 </p>
2031
2032 <pre>
2033 <a href="postconf.5.html#default_database_type">default_database_type</a> = hash
2034 <a href="postconf.5.html#default_database_type">default_database_type</a> = dbm
2035 </pre>
2036
2037
2038 </DD>
2039
2040 <DT><b><a name="default_delivery_slot_cost">default_delivery_slot_cost</a>
2041 (default: 5)</b></DT><DD>
2042
2043 <p>
2044 How often the Postfix queue manager's scheduler is allowed to
2045 preempt delivery of one message with another.
2046 </p>
2047
2048 <p>
2049 Each transport maintains a so-called "available delivery slot counter"
2050 for each message. One message can be preempted by another one when
2051 the other message can be delivered using no more delivery slots
2052 (i.e., invocations of delivery agents) than the current message
2053 counter has accumulated (or will eventually accumulate - see about
2054 slot loans below). This parameter controls how often the counter is
2055 incremented - it happens after each <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
2056 recipients have been delivered.
2057 </p>
2058
2059 <p>
2060 The cost of 0 is used to disable the preempting scheduling completely.
2061 The minimum value the scheduling algorithm can use is 2 - use it
2062 if you want to maximize the message throughput rate. Although there
2063 is no maximum, it doesn't make much sense to use values above say
2064 50.
2065 </p>
2066
2067 <p>
2068 The only reason why the value of 2 is not the default is the way
2069 this parameter affects the delivery of mailing-list mail. In the
2070 worst case, delivery can take somewhere between (cost+1/cost)
2071 and (cost/cost-1) times more than if the preemptive scheduler was
2072 disabled. The default value of 5 turns out to provide reasonable
2073 message response times while making sure the mailing-list deliveries
2074 are not extended by more than 20-25 percent even in the worst case.
2075 </p>
2076
2077 <p> Use <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> to specify a
2078 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2079 name of the message delivery transport.
2080 </p>
2081
2082 <p>
2083 Examples:
2084 </p>
2085
2086 <pre>
2087 <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 0
2088 <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 2
2089 </pre>
2090
2091
2092 </DD>
2093
2094 <DT><b><a name="default_delivery_slot_discount">default_delivery_slot_discount</a>
2095 (default: 50)</b></DT><DD>
2096
2097 <p>
2098 The default value for transport-specific _delivery_slot_discount
2099 settings.
2100 </p>
2101
2102 <p>
2103 This parameter speeds up the moment when a message preemption can
2104 happen. Instead of waiting until the full amount of delivery slots
2105 required is available, the preemption can happen when
2106 <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> percent of the required amount
2107 plus <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> still remains to be accumulated.
2108 Note that the full amount will still have to be accumulated before
2109 another preemption can take place later.
2110 </p>
2111
2112 <p> Use <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> to specify a
2113 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2114 name of the message delivery transport.
2115 </p>
2116
2117
2118 </DD>
2119
2120 <DT><b><a name="default_delivery_slot_loan">default_delivery_slot_loan</a>
2121 (default: 3)</b></DT><DD>
2122
2123 <p>
2124 The default value for transport-specific _delivery_slot_loan
2125 settings.
2126 </p>
2127
2128 <p>
2129 This parameter speeds up the moment when a message preemption can
2130 happen. Instead of waiting until the full amount of delivery slots
2131 required is available, the preemption can happen when
2132 <a href="postconf.5.html#transport_delivery_slot_discount">transport_delivery_slot_discount</a> percent of the required amount
2133 plus <a href="postconf.5.html#transport_delivery_slot_loan">transport_delivery_slot_loan</a> still remains to be accumulated.
2134 Note that the full amount will still have to be accumulated before
2135 another preemption can take place later.
2136 </p>
2137
2138 <p> Use <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> to specify a
2139 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2140 name of the message delivery transport.
2141 </p>
2142
2143
2144 </DD>
2145
2146 <DT><b><a name="default_delivery_status_filter">default_delivery_status_filter</a>
2147 (default: empty)</b></DT><DD>
2148
2149 <p> Optional filter in Postfix delivery agents, to replace the
2150 delivery status code or explanatory text of successful or unsuccessful
2151 deliveries. This allows the replacement of a temporary error status
2152 code (4.X.X) with a permanent error status code (5.X.X) or vice
2153 versa, but does not allow
2154 the replacement of a successful status code (2.X.X) with an
2155 unsuccessful status code (4.X.X or 5.X.X) or vice versa. </p>
2156
2157 <p> Note: the (smtp|lmtp)_delivery_status_filter is applied only
2158 once per recipient: when delivery is successful, when delivery is
2159 rejected with 5XX, or when there are no more alternate MX or A
2160 destinations. Use <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> or <a href="postconf.5.html#lmtp_reply_filter">lmtp_reply_filter</a> to inspect
2161 responses for all delivery attempts. </p>
2162
2163 <p> The following parameters can be used to implement a filter for
2164 specific delivery agents: <a href="postconf.5.html#lmtp_delivery_status_filter">lmtp_delivery_status_filter</a>,
2165 <a href="postconf.5.html#local_delivery_status_filter">local_delivery_status_filter</a>, <a href="postconf.5.html#pipe_delivery_status_filter">pipe_delivery_status_filter</a>,
2166 <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a> or <a href="postconf.5.html#virtual_delivery_status_filter">virtual_delivery_status_filter</a>. These
2167 parameters support the same filter syntax as described here. </p>
2168
2169 <p> Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup table names, separated
2170 by comma or whitespace. For each successful or unsuccessful delivery
2171 to a recipient, the tables are queried in the specified order with
2172 one line of text that is structured as follows: </p>
2173
2174 <blockquote>
2175 enhanced-status-code SPACE explanatory-text
2176 </blockquote>
2177
2178 <p> The first table match wins. The lookup result must have the
2179 same structure as the query, a successful status code (2.X.X) must
2180 be replaced with a successful status code, an unsuccessful status
2181 code (4.X.X or 5.X.X) must be replaced with an unsuccessful status
2182 code, and the explanatory text field must be non-empty. Other results
2183 will result in a warning. </p>
2184
2185 <p> Example 1: convert specific soft TLS errors into hard errors,
2186 by overriding the first number in the enhanced status code. </p>
2187
2188 <blockquote>
2189 <pre>
2190 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
2191 <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/smtp_dsn_filter
2192 </pre>
2193 </blockquote>
2194
2195 <blockquote>
2196 <pre>
2197 /etc/postfix/smtp_dsn_filter:
2198 /^4(\.\d+\.\d+ TLS is required, but host \S+ refused to start TLS: .+)/
2199 5$1
2200 /^4(\.\d+\.\d+ TLS is required, but was not offered by host .+)/
2201 5$1
2202 # Do not change the following into hard bounces. They may
2203 # result from a local configuration problem.
2204 # 4.\d+.\d+ TLS is required, but our TLS engine is unavailable
2205 # 4.\d+.\d+ TLS is required, but unavailable
2206 # 4.\d+.\d+ Cannot start TLS: handshake failure
2207 </pre>
2208 </blockquote>
2209
2210 <p> Example 2: censor the per-recipient delivery status text so
2211 that it does not reveal the destination command or filename
2212 when a remote sender requests confirmation of successful delivery.
2213 </p>
2214
2215 <blockquote>
2216 <pre>
2217 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
2218 <a href="postconf.5.html#local_delivery_status_filter">local_delivery_status_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/local_dsn_filter
2219 </pre>
2220 </blockquote>
2221
2222 <blockquote>
2223 <pre>
2224 /etc/postfix/local_dsn_filter:
2225 /^(2\S+ delivered to file).+/ $1
2226 /^(2\S+ delivered to command).+/ $1
2227 </pre>
2228 </blockquote>
2229
2230 <p> Notes: </p>
2231
2232 <ul>
2233
2234 <li> <p> This feature will NOT override the <a href="postconf.5.html#soft_bounce">soft_bounce</a> safety net. </p>
2235
2236 <li> <p> This feature will change the enhanced status code and text
2237 that is logged to the maillog file, and that is reported to the
2238 sender in delivery confirmation or non-delivery notifications.
2239 </p>
2240
2241 </ul>
2242
2243 <p> This feature is available in Postfix 3.0 and later. </p>
2244
2245
2246 </DD>
2247
2248 <DT><b><a name="default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
2249 (default: 1)</b></DT><DD>
2250
2251 <p> How many pseudo-cohorts must suffer connection or handshake
2252 failure before a specific destination is considered unavailable
2253 (and further delivery is suspended). Specify zero to disable this
2254 feature. A destination's pseudo-cohort failure count is reset each
2255 time a delivery completes without connection or handshake failure
2256 for that specific destination. </p>
2257
2258 <p> A pseudo-cohort is the number of deliveries equal to a destination's
2259 delivery concurrency. </p>
2260
2261 <p> Use <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> to specify
2262 a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2263 name of the message delivery transport. </p>
2264
2265 <p> This feature is available in Postfix 2.5. The default setting
2266 is compatible with earlier Postfix versions. </p>
2267
2268
2269 </DD>
2270
2271 <DT><b><a name="default_destination_concurrency_limit">default_destination_concurrency_limit</a>
2272 (default: 20)</b></DT><DD>
2273
2274 <p>
2275 The default maximal number of parallel deliveries to the same
2276 destination. This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>,
2277 <a href="pipe.8.html">pipe(8)</a>, <a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents.
2278 With a per-destination recipient limit > 1, a destination is a domain,
2279 otherwise it is a recipient.
2280 </p>
2281
2282 <p> Use <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> to specify a
2283 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2284 name of the message delivery transport.
2285 </p>
2286
2287
2288 </DD>
2289
2290 <DT><b><a name="default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>
2291 (default: 1)</b></DT><DD>
2292
2293 <p> The per-destination amount of delivery concurrency negative
2294 feedback, after a delivery completes with a connection or handshake
2295 failure. Feedback values are in the range 0..1 inclusive. With
2296 negative feedback, concurrency is decremented at the beginning of
2297 a sequence of length 1/feedback. This is unlike positive feedback,
2298 where concurrency is incremented at the end of a sequence of length
2299 1/feedback. </p>
2300
2301 <p> As of Postfix version 2.5, negative feedback cannot reduce
2302 delivery concurrency to zero. Instead, a destination is marked
2303 dead (further delivery suspended) after the failed pseudo-cohort
2304 count reaches $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
2305 (or $<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>).
2306 To make the scheduler completely immune to connection or handshake
2307 failures, specify a zero feedback value and a zero failed pseudo-cohort
2308 limit. </p>
2309
2310 <p> Specify one of the following forms: </p>
2311
2312 <dl>
2313
2314 <dt> <b><i>number</i> </b> </dt>
2315
2316 <dt> <b><i>number</i> / <i>number</i> </b> </dt>
2317
2318 <dd> Constant feedback. The value must be in the range 0..1 inclusive.
2319 The default setting of "1" is compatible with Postfix versions
2320 before 2.5, where a destination's delivery concurrency is throttled
2321 down to zero (and further delivery suspended) after a single failed
2322 pseudo-cohort. </dd>
2323
2324 <dt> <b><i>number</i> / concurrency </b> </dt>
2325
2326 <dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
2327 The <i>number</i> must be in the range 0..1 inclusive. With
2328 <i>number</i> equal to "1", a destination's delivery concurrency
2329 is decremented by 1 after each failed pseudo-cohort. </dd>
2330
2331 </dl>
2332
2333 <p> A pseudo-cohort is the number of deliveries equal to a destination's
2334 delivery concurrency. </p>
2335
2336 <p> Use <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
2337 to specify a transport-specific override, where <i>transport</i>
2338 is the <a href="master.5.html">master.cf</a>
2339 name of the message delivery transport. </p>
2340
2341 <p> This feature is available in Postfix 2.5. The default setting
2342 is compatible with earlier Postfix versions. </p>
2343
2344
2345 </DD>
2346
2347 <DT><b><a name="default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>
2348 (default: 1)</b></DT><DD>
2349
2350 <p> The per-destination amount of delivery concurrency positive
2351 feedback, after a delivery completes without connection or handshake
2352 failure. Feedback values are in the range 0..1 inclusive. The
2353 concurrency increases until it reaches the per-destination maximal
2354 concurrency limit. With positive feedback, concurrency is incremented
2355 at the end of a sequence with length 1/feedback. This is unlike
2356 negative feedback, where concurrency is decremented at the start
2357 of a sequence of length 1/feedback. </p>
2358
2359 <p> Specify one of the following forms: </p>
2360
2361 <dl>
2362
2363 <dt> <b><i>number</i> </b> </dt>
2364
2365 <dt> <b><i>number</i> / <i>number</i> </b> </dt>
2366
2367 <dd> Constant feedback. The value must be in the range 0..1
2368 inclusive. The default setting of "1" is compatible with Postfix
2369 versions before 2.5, where a destination's delivery concurrency
2370 doubles after each successful pseudo-cohort. </dd>
2371
2372 <dt> <b><i>number</i> / concurrency </b> </dt>
2373
2374 <dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
2375 The <i>number</i> must be in the range 0..1 inclusive. With
2376 <i>number</i> equal to "1", a destination's delivery concurrency
2377 is incremented by 1 after each successful pseudo-cohort. </dd>
2378
2379 </dl>
2380
2381 <p> A pseudo-cohort is the number of deliveries equal to a destination's
2382 delivery concurrency. </p>
2383
2384 <p> Use <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
2385 to specify a transport-specific override, where <i>transport</i>
2386 is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
2387
2388 <p> This feature is available in Postfix 2.5 and later. </p>
2389
2390
2391 </DD>
2392
2393 <DT><b><a name="default_destination_rate_delay">default_destination_rate_delay</a>
2394 (default: 0s)</b></DT><DD>
2395
2396 <p> The default amount of delay that is inserted between individual
2397 message deliveries to the same destination and over the same message
2398 delivery transport. Specify a non-zero value to rate-limit those
2399 message deliveries to at most one per $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>.
2400 </p>
2401
2402 <p> The resulting behavior depends on the value of the corresponding
2403 per-destination recipient limit.
2404
2405 </p>
2406
2407 <ul>
2408
2409 <li> <p> With a corresponding per-destination recipient limit >
2410 1, the rate delay specifies the time between deliveries to the
2411 <i>same domain</i>. Different domains are delivered in parallel,
2412 subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p>
2413
2414 <li> <p> With a corresponding per-destination recipient limit equal
2415 to 1, the rate delay specifies the time between deliveries to the
2416 <i>same recipient</i>. Different recipients are delivered in
2417 parallel, subject to the process limits specified in <a href="master.5.html">master.cf</a>.
2418 </p>
2419
2420 </ul>
2421
2422 <p> To enable the delay, specify a non-zero time value (an integral
2423 value plus an optional one-letter suffix that specifies the time
2424 unit). </p>
2425
2426 <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
2427 (weeks). The default time unit is s (seconds). </p>
2428
2429 <p> NOTE: the delay is enforced by the queue manager. The delay
2430 timer state does not survive "<b>postfix reload</b>" or "<b>postfix
2431 stop</b>".
2432 </p>
2433
2434 <p> Use <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> to specify a
2435 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2436 name of the message delivery transport.
2437 </p>
2438
2439 <p> NOTE: with a non-zero _destination_rate_delay, specify a
2440 <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> of 10
2441 or more to prevent Postfix from deferring all mail for the same
2442 destination after only one connection or handshake error. </p>
2443
2444 <p> This feature is available in Postfix 2.5 and later. </p>
2445
2446
2447 </DD>
2448
2449 <DT><b><a name="default_destination_recipient_limit">default_destination_recipient_limit</a>
2450 (default: 50)</b></DT><DD>
2451
2452 <p>
2453 The default maximal number of recipients per message delivery.
2454 This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>, <a href="pipe.8.html">pipe(8)</a>,
2455 <a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents.
2456 </p>
2457
2458 <p> Setting this parameter to a value of 1 affects email deliveries
2459 as follows:</p>
2460
2461 <ul>
2462
2463 <li> <p> It changes the meaning of the corresponding per-destination
2464 concurrency limit, from concurrency of deliveries to the <i>same
2465 domain</i> into concurrency of deliveries to the <i>same recipient</i>.
2466 Different recipients are delivered in parallel, subject to the
2467 process limits specified in <a href="master.5.html">master.cf</a>. </p>
2468
2469 <li> <p> It changes the meaning of the corresponding per-destination
2470 rate delay, from the delay between deliveries to the <i>same
2471 domain</i> into the delay between deliveries to the <i>same
2472 recipient</i>. Again, different recipients are delivered in parallel,
2473 subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p>
2474
2475 <li> <p> It changes the meaning of other corresponding per-destination
2476 settings in a similar manner, from settings for delivery to the
2477 <i>same domain</i> into settings for delivery to the <i>same
2478 recipient</i>.
2479
2480 </ul>
2481
2482 <p> Use <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> to specify a
2483 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2484 name of the message delivery transport.
2485 </p>
2486
2487
2488 </DD>
2489
2490 <DT><b><a name="default_extra_recipient_limit">default_extra_recipient_limit</a>
2491 (default: 1000)</b></DT><DD>
2492
2493 <p>
2494 The default value for the extra per-transport limit imposed on the
2495 number of in-memory recipients. This extra recipient space is
2496 reserved for the cases when the Postfix queue manager's scheduler
2497 preempts one message with another and suddenly needs some extra
2498 recipient slots for the chosen message in order to avoid performance
2499 degradation.
2500 </p>
2501
2502 <p> Use <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> to specify a
2503 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2504 name of the message delivery transport.
2505 </p>
2506
2507
2508 </DD>
2509
2510 <DT><b><a name="default_filter_nexthop">default_filter_nexthop</a>
2511 (default: empty)</b></DT><DD>
2512
2513 <p> When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies no explicit
2514 next-hop destination, use $<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> instead; when
2515 that value is empty, use the domain in the recipient address.
2516 Specify "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility
2517 with Postfix version 2.6 and earlier, or specify an explicit next-hop
2518 destination with each <a href="postconf.5.html#content_filter">content_filter</a> value or FILTER action. </p>
2519
2520 <p> This feature is available in Postfix 2.7 and later. </p>
2521
2522
2523 </DD>
2524
2525 <DT><b><a name="default_minimum_delivery_slots">default_minimum_delivery_slots</a>
2526 (default: 3)</b></DT><DD>
2527
2528 <p>
2529 How many recipients a message must have in order to invoke the
2530 Postfix queue manager's scheduling algorithm at all. Messages
2531 which would never accumulate at least this many delivery slots
2532 (subject to slot cost parameter as well) are never preempted.
2533 </p>
2534
2535 <p> Use <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> to specify a
2536 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2537 name of the message delivery transport.
2538 </p>
2539
2540
2541 </DD>
2542
2543 <DT><b><a name="default_privs">default_privs</a>
2544 (default: nobody)</b></DT><DD>
2545
2546 <p>
2547 The default rights used by the <a href="local.8.html">local(8)</a> delivery agent for delivery
2548 to an external file or command. These rights are used when delivery
2549 is requested from an <a href="aliases.5.html">aliases(5)</a> file that is owned by <b>root</b>, or
2550 when delivery is done on behalf of <b>root</b>. <b>DO NOT SPECIFY A
2551 PRIVILEGED USER OR THE POSTFIX OWNER</b>.
2552 </p>
2553
2554
2555 </DD>
2556
2557 <DT><b><a name="default_process_limit">default_process_limit</a>
2558 (default: 100)</b></DT><DD>
2559
2560 <p>
2561 The default maximal number of Postfix child processes that provide
2562 a given service. This limit can be overruled for specific services
2563 in the <a href="master.5.html">master.cf</a> file.
2564 </p>
2565
2566
2567 </DD>
2568
2569 <DT><b><a name="default_rbl_reply">default_rbl_reply</a>
2570 (default: see "postconf -d" output)</b></DT><DD>
2571
2572 <p>
2573 The default Postfix SMTP server response template for a request that is
2574 rejected by an RBL-based restriction. This template can be overruled
2575 by specific entries in the optional <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> lookup table.
2576 </p>
2577
2578 <p>
2579 This feature is available in Postfix 2.0 and later.
2580 </p>
2581
2582 <p>
2583 The template does not support Postfix configuration parameter $name
2584 substitution. Instead, it supports exactly one level of $name
2585 substitution for the following attributes:
2586 </p>
2587
2588 <dl>
2589
2590 <dt><b>$client</b></dt>
2591
2592 <dd>The client hostname and IP address, formatted as name[address]. </dd>
2593
2594 <dt><b>$client_address</b></dt>
2595
2596 <dd>The client IP address. </dd>
2597
2598 <dt><b>$client_name</b></dt>
2599
2600 <dd>The client hostname or "unknown". See <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a>
2601 for more details. </dd>
2602
2603 <dt><b>$reverse_client_name</b></dt>
2604
2605 <dd>The client hostname from address->name lookup, or "unknown".
2606 See <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a> for more details. </dd>
2607
2608 <dt><b>$helo_name</b></dt>
2609
2610 <dd>The hostname given in HELO or EHLO command or empty string. </dd>
2611
2612 <dt><b>$rbl_class</b></dt>
2613
2614 <dd>The denylisted entity type: Client host, Helo command, Sender
2615 address, or Recipient address. </dd>
2616
2617 <dt><b>$rbl_code</b></dt>
2618
2619 <dd>The numerical SMTP response code, as specified with the
2620 <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> configuration parameter. Note: The numerical
2621 SMTP response code is required, and must appear at the start of the
2622 reply. With Postfix version 2.3 and later this information may be followed
2623 by an <a href="https://tools.ietf.org/html/rfc3463">RFC 3463</a> enhanced status code. </dd>
2624
2625 <dt><b>$rbl_domain</b></dt>
2626
2627 <dd>The RBL domain (without any <i>=address-filter</i>) where
2628 $rbl_what is denylisted. </dd>
2629
2630 <dt><b>$rbl_reason</b></dt>
2631
2632 <dd>The reason why $rbl_what is denylisted, or an empty string. </dd>
2633
2634 <dt><b>$rbl_what</b></dt>
2635
2636 <dd>The entity that is denylisted (an IP address, a hostname, a domain
2637 name, or an email address whose domain was denylisted). </dd>
2638
2639 <dt><b>$recipient</b></dt>
2640
2641 <dd>The recipient address or <> in case of the null address. </dd>
2642
2643 <dt><b>$recipient_domain</b></dt>
2644
2645 <dd>The recipient domain or empty string. </dd>
2646
2647 <dt><b>$recipient_name</b></dt>
2648
2649 <dd>The recipient address localpart or <> in case of null address. </dd>
2650
2651 <dt><b>$sender</b></dt>
2652
2653 <dd>The sender address or <> in case of the null address. </dd>
2654
2655 <dt><b>$sender_domain</b></dt>
2656
2657 <dd>The sender domain or empty string. </dd>
2658
2659 <dt><b>$sender_name</b></dt>
2660
2661 <dd>The sender address localpart or <> in case of the null address. </dd>
2662
2663 <dt><b>${name?value}</b></dt>
2664
2665 <dt><b>${name?{value}}</b> (Postfix ≥ 3.0)</dt>
2666
2667 <dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
2668
2669 <dt><b>${name:value}</b></dt>
2670
2671 <dt><b>${name:{value}}</b> (Postfix ≥ 3.0)</dt>
2672
2673 <dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
2674
2675 <dt><b>${name?{value1}:{value2}}</b> (Postfix ≥ 3.0)</dt>
2676
2677 <dd>Expands to <i>value1</i> when <i>$name</i> is non-empty,
2678 <i>value2</i> otherwise. </dd>
2679
2680 </dl>
2681
2682 <p>
2683 Instead of $name you can also specify ${name} or $(name).
2684 </p>
2685
2686 <p> Note: when an enhanced status code is specified in an RBL reply
2687 template, it is subject to modification. The following transformations
2688 are needed when the same RBL response template is used for client,
2689 helo, sender, or recipient access restrictions. </p>
2690
2691 <ul>
2692
2693 <li> <p> When rejecting a sender address, the Postfix SMTP server
2694 will transform a recipient DSN status (e.g., 4.1.1-4.1.6) into the
2695 corresponding sender DSN status, and vice versa. </p>
2696
2697 <li> <p> When rejecting non-address information (such as the HELO
2698 command argument or the client hostname/address), the Postfix SMTP
2699 server will transform a sender or recipient DSN status into a generic
2700 non-address DSN status (e.g., 4.0.0). </p>
2701
2702 </ul>
2703
2704
2705 </DD>
2706
2707 <DT><b><a name="default_recipient_limit">default_recipient_limit</a>
2708 (default: 20000)</b></DT><DD>
2709
2710 <p>
2711 The default per-transport upper limit on the number of in-memory
2712 recipients. These limits take priority over the global
2713 <a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> after the message has been assigned
2714 to the respective transports. See also <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
2715 and <a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>.
2716 </p>
2717
2718 <p> Use <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> to specify a
2719 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2720 name of the message delivery transport.
2721 </p>
2722
2723
2724 </DD>
2725
2726 <DT><b><a name="default_recipient_refill_delay">default_recipient_refill_delay</a>
2727 (default: 5s)</b></DT><DD>
2728
2729 <p>
2730 The default per-transport maximum delay between refilling recipients.
2731 When not all message recipients fit into memory at once, keep loading
2732 more of them at least once every this many seconds. This is used to
2733 make sure the recipients are refilled in a timely manner even when
2734 $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> is too high for too slow deliveries.
2735 </p>
2736
2737 <p> Use <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> to specify a
2738 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2739 name of the message delivery transport.
2740 </p>
2741
2742 <p> This feature is available in Postfix 2.4 and later. </p>
2743
2744
2745 </DD>
2746
2747 <DT><b><a name="default_recipient_refill_limit">default_recipient_refill_limit</a>
2748 (default: 100)</b></DT><DD>
2749
2750 <p>
2751 The default per-transport limit on the number of recipients refilled at
2752 once. When not all message recipients fit into memory at once, keep
2753 loading more of them in batches of at least this many at a time. See also
2754 $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>, which may result in recipient batches
2755 lower than this when this limit is too high for too slow deliveries.
2756 </p>
2757
2758 <p> Use <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> to specify a
2759 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2760 name of the message delivery transport.
2761 </p>
2762
2763 <p> This feature is available in Postfix 2.4 and later. </p>
2764
2765
2766 </DD>
2767
2768 <DT><b><a name="default_transport">default_transport</a>
2769 (default: smtp)</b></DT><DD>
2770
2771 <p>
2772 The default mail delivery transport and next-hop destination for
2773 the <a href="ADDRESS_CLASS_README.html#default_domain_class">default domain</a> class: recipient domains that do not match
2774 $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
2775 $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>,
2776 or $<a href="postconf.5.html#relay_domains">relay_domains</a>. This information will not be used when
2777 <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> returns a result, and may
2778 be overridden with the <a href="transport.5.html">transport(5)</a> table. </p>
2779
2780 <p> For recipient domains in the <a href="ADDRESS_CLASS_README.html#default_domain_class">default domain</a> class: <p>
2781
2782 <ul>
2783
2784 <li> <p> In order of decreasing precedence, the delivery transport
2785 is taken from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2)
2786 $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> or $<a href="postconf.5.html#default_transport">default_transport</a>.
2787 </p>
2788
2789 <li> <p> In order of decreasing precedence, the nexthop destination
2790 is taken from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2)
2791 $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> or $<a href="postconf.5.html#default_transport">default_transport</a>, 3)
2792 $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a> or the recipient
2793 domain. </p>
2794
2795 </ul>
2796
2797 <p>
2798 Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
2799 is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
2800 The <i>:nexthop</i> destination is optional; its syntax is documented
2801 in the manual page of the corresponding delivery agent. In the case of
2802 SMTP or LMTP, specify one or more destinations separated by comma or
2803 whitespace (with Postfix 3.5 and later).
2804 </p>
2805
2806 <p>
2807 Example:
2808 </p>
2809
2810 <pre>
2811 <a href="postconf.5.html#default_transport">default_transport</a> = uucp:relayhostname
2812 </pre>
2813
2814
2815 </DD>
2816
2817 <DT><b><a name="default_transport_rate_delay">default_transport_rate_delay</a>
2818 (default: 0s)</b></DT><DD>
2819
2820 <p> The default amount of delay that is inserted between individual
2821 message deliveries over the same message delivery transport,
2822 regardless of destination. Specify a non-zero value to rate-limit
2823 those message deliveries to at most one per $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>.
2824 </p>
2825
2826 <p>Use <a href="postconf.5.html#transport_transport_rate_delay"><i>transport</i>_transport_rate_delay</a> to specify a
2827 transport-specific override, where the initial <i>transport</i> is
2828 the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
2829
2830 <p> Example: throttle outbound SMTP mail to at most 3 deliveries
2831 per minute. </p>
2832
2833 <pre>
2834 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
2835 smtp_transport_rate_delay = 20s
2836 </pre>
2837
2838 <p> To enable the delay, specify a non-zero time value (an integral
2839 value plus an optional one-letter suffix that specifies the time
2840 unit). </p>
2841
2842 <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
2843 (weeks). The default time unit is s (seconds). </p>
2844
2845 <p> NOTE: the delay is enforced by the queue manager. </p>
2846
2847 <p> This feature is available in Postfix 3.1 and later. </p>
2848
2849
2850 </DD>
2851
2852 <DT><b><a name="default_verp_delimiters">default_verp_delimiters</a>
2853 (default: +=)</b></DT><DD>
2854
2855 <p> The two default VERP delimiter characters. These are used when
2856 no explicit delimiters are specified with the SMTP XVERP command
2857 or with the "<b>sendmail -XV</b>" command-line option (Postfix 2.2
2858 and earlier: <b>-V</b>). Specify characters that are allowed by the
2859 <a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> setting.
2860 </p>
2861
2862 <p>
2863 This feature is available in Postfix 1.1 and later.
2864 </p>
2865
2866
2867 </DD>
2868
2869 <DT><b><a name="defer_code">defer_code</a>
2870 (default: 450)</b></DT><DD>
2871
2872 <p>
2873 The numerical Postfix SMTP server response code when a remote SMTP
2874 client request is rejected by the "defer" restriction.
2875 </p>
2876
2877 <p>
2878 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
2879 </p>
2880
2881
2882 </DD>
2883
2884 <DT><b><a name="defer_service_name">defer_service_name</a>
2885 (default: defer)</b></DT><DD>
2886
2887 <p>
2888 The name of the defer service. This service is implemented by the
2889 <a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
2890 of failed delivery attempts and generates non-delivery notifications.
2891 </p>
2892
2893 <p>
2894 This feature is available in Postfix 2.0 and later.
2895 </p>
2896
2897
2898 </DD>
2899
2900 <DT><b><a name="defer_transports">defer_transports</a>
2901 (default: empty)</b></DT><DD>
2902
2903 <p>
2904 The names of message delivery transports that should not deliver mail
2905 unless someone issues "<b>sendmail -q</b>" or equivalent. Specify zero
2906 or more mail delivery transport names that appear in the
2907 first field of <a href="master.5.html">master.cf</a>.
2908 </p>
2909
2910 <p>
2911 Example:
2912 </p>
2913
2914 <pre>
2915 <a href="postconf.5.html#defer_transports">defer_transports</a> = smtp
2916 </pre>
2917
2918
2919 </DD>
2920
2921 <DT><b><a name="delay_logging_resolution_limit">delay_logging_resolution_limit</a>
2922 (default: 2)</b></DT><DD>
2923
2924 <p> The maximal number of digits after the decimal point when logging
2925 delay values. Specify a number in the range 0..6. </p>
2926
2927 <p> To improve readability, delays are logged with only a limited
2928 number of significant digits: </p>
2929
2930 <ul>
2931
2932 <li> Delays ≥ 100s are rounded off to an integral number of
2933 seconds.
2934
2935 <li> Delays < 10<sup>-$<a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a></sup> are
2936 rounded off to "0".
2937
2938 <li> Other delays are rounded off to two significant digits, or
2939 fewer if the result would exceed the <a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a>.
2940
2941 </ul>
2942
2943 <p> The format of the "delays=a/b/c/d" logging is as follows: </p>
2944
2945 <ul>
2946
2947 <li> a = Time from message arrival to last <a href="QSHAPE_README.html#active_queue">active queue</a> entry.
2948
2949 <li> b = Time from last <a href="QSHAPE_README.html#active_queue">active queue</a> entry to the beginning of
2950 connection setup.
2951
2952 <li> c = Time in connection setup. With SMTP, that is the time
2953 before sending the MAIL FROM command: with a new connection, that
2954 includes DNS lookups, and protocol handshakes with TCP, EHLO, and
2955 STARTTLS; with a reused connection, that includes DNS lookups,
2956 connection cache lookup by domain or IP address, and a liveness
2957 probe with RSET.
2958
2959 <li> d = Time in message transmission. With SMTP, that starts with
2960 sending MAIL FROM.
2961
2962 </ul>
2963
2964 <p> This feature is available in Postfix 2.3 and later. </p>
2965
2966
2967 </DD>
2968
2969 <DT><b><a name="delay_notice_recipient">delay_notice_recipient</a>
2970 (default: postmaster)</b></DT><DD>
2971
2972 <p>
2973 The recipient of postmaster notifications with the message headers
2974 of mail that cannot be delivered within $<a href="postconf.5.html#delay_warning_time">delay_warning_time</a> time
2975 units. </p>
2976
2977 <p>
2978 See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>.
2979 </p>
2980
2981
2982 </DD>
2983
2984 <DT><b><a name="delay_warning_time">delay_warning_time</a>
2985 (default: 0h)</b></DT><DD>
2986
2987 <p>
2988 The time after which the sender receives a copy of the message
2989 headers of mail that is still queued. The <a href="postconf.5.html#confirm_delay_cleared">confirm_delay_cleared</a>
2990 parameter controls sender notification when the delay clears up.
2991 </p>
2992
2993 <p>
2994 To enable this feature, specify a non-zero time value (an integral
2995 value plus an optional one-letter suffix that specifies the time
2996 unit).
2997 </p>
2998
2999 <p>
3000 Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3001 The default time unit is h (hours).
3002 </p>
3003
3004 <p>
3005 See also: <a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>, <a href="postconf.5.html#confirm_delay_cleared">confirm_delay_cleared</a>.
3006 </p>
3007
3008
3009 </DD>
3010
3011 <DT><b><a name="deliver_lock_attempts">deliver_lock_attempts</a>
3012 (default: 20)</b></DT><DD>
3013
3014 <p>
3015 The maximal number of attempts to acquire an exclusive lock on a
3016 mailbox file or <a href="bounce.8.html">bounce(8)</a> logfile.
3017 </p>
3018
3019
3020 </DD>
3021
3022 <DT><b><a name="deliver_lock_delay">deliver_lock_delay</a>
3023 (default: 1s)</b></DT><DD>
3024
3025 <p>
3026 The time between attempts to acquire an exclusive lock on a mailbox
3027 file or <a href="bounce.8.html">bounce(8)</a> logfile.
3028 </p>
3029
3030 <p> Specify a non-zero time value (an integral value plus an optional
3031 one-letter suffix that specifies the time unit). Time units: s
3032 (seconds), m (minutes), h (hours), d (days), w (weeks).
3033 The default time unit is s (seconds). </p>
3034
3035
3036 </DD>
3037
3038 <DT><b><a name="destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a>
3039 (default: no)</b></DT><DD>
3040
3041 <p> Make the queue manager's feedback algorithm verbose for performance
3042 analysis purposes. </p>
3043
3044 <p> This feature is available in Postfix 2.5 and later. </p>
3045
3046
3047 </DD>
3048
3049 <DT><b><a name="detect_8bit_encoding_header">detect_8bit_encoding_header</a>
3050 (default: yes)</b></DT><DD>
3051
3052 <p> Automatically detect 8BITMIME body content by looking at
3053 Content-Transfer-Encoding: message headers; historically, this
3054 behavior was hard-coded to be "always on". </p>
3055
3056 <p> This feature is available in Postfix 2.5 and later. </p>
3057
3058
3059 </DD>
3060
3061 <DT><b><a name="disable_dns_lookups">disable_dns_lookups</a>
3062 (default: no)</b></DT><DD>
3063
3064 <p>
3065 Disable DNS lookups in the Postfix SMTP and LMTP clients. When
3066 disabled, hosts are looked up with the getaddrinfo() system
3067 library routine which normally also looks in /etc/hosts. As of
3068 Postfix 2.11, this parameter is deprecated; use <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>
3069 instead.
3070 </p>
3071
3072 <p>
3073 DNS lookups are enabled by default.
3074 </p>
3075
3076
3077 </DD>
3078
3079 <DT><b><a name="disable_mime_input_processing">disable_mime_input_processing</a>
3080 (default: no)</b></DT><DD>
3081
3082 <p>
3083 Turn off MIME processing while receiving mail. This means that no
3084 special treatment is given to Content-Type: message headers, and
3085 that all text after the initial message headers is considered to
3086 be part of the message body.
3087 </p>
3088
3089 <p>
3090 This feature is available in Postfix 2.0 and later.
3091 </p>
3092
3093 <p>
3094 Mime input processing is enabled by default, and is needed in order
3095 to recognize MIME headers in message content.
3096 </p>
3097
3098
3099 </DD>
3100
3101 <DT><b><a name="disable_mime_output_conversion">disable_mime_output_conversion</a>
3102 (default: no)</b></DT><DD>
3103
3104 <p>
3105 Disable the conversion of 8BITMIME format to 7BIT format. Mime
3106 output conversion is needed when the destination does not advertise
3107 8BITMIME support.
3108 </p>
3109
3110 <p>
3111 This feature is available in Postfix 2.0 and later.
3112 </p>
3113
3114
3115 </DD>
3116
3117 <DT><b><a name="disable_verp_bounces">disable_verp_bounces</a>
3118 (default: no)</b></DT><DD>
3119
3120 <p>
3121 Disable sending one bounce report per recipient.
3122 </p>
3123
3124 <p>
3125 The default, one per recipient, is what ezmlm needs.
3126 </p>
3127
3128 <p>
3129 This feature is available in Postfix 1.1 and later.
3130 </p>
3131
3132
3133 </DD>
3134
3135 <DT><b><a name="disable_vrfy_command">disable_vrfy_command</a>
3136 (default: no)</b></DT><DD>
3137
3138 <p>
3139 Disable the SMTP VRFY command. This stops some techniques used to
3140 harvest email addresses.
3141 </p>
3142
3143 <p>
3144 Example:
3145 </p>
3146
3147 <pre>
3148 <a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> = no
3149 </pre>
3150
3151
3152 </DD>
3153
3154 <DT><b><a name="dns_ncache_ttl_fix_enable">dns_ncache_ttl_fix_enable</a>
3155 (default: no)</b></DT><DD>
3156
3157 <p> Enable a workaround for future libc incompatibility. The Postfix
3158 implementation of <a href="https://tools.ietf.org/html/rfc2308">RFC 2308</a> negative reply caching relies on the
3159 promise that res_query() and res_search() invoke res_send(), which
3160 returns the server response in an application buffer even if the
3161 requested record does not exist. If this promise is broken, specify
3162 "yes" to enable a workaround for DNS reputation lookups. </p>
3163
3164 <p>
3165 This feature is available in Postfix 3.1 and later.
3166 </p>
3167
3168
3169 </DD>
3170
3171 <DT><b><a name="dnsblog_reply_delay">dnsblog_reply_delay</a>
3172 (default: 0s)</b></DT><DD>
3173
3174 <p> A debugging aid to artificially delay DNS responses. </p>
3175
3176 <p> This feature is available in Postfix 2.8. </p>
3177
3178
3179 </DD>
3180
3181 <DT><b><a name="dnsblog_service_name">dnsblog_service_name</a>
3182 (default: dnsblog)</b></DT><DD>
3183
3184 <p> The name of the <a href="dnsblog.8.html">dnsblog(8)</a> service entry in <a href="master.5.html">master.cf</a>. This
3185 service performs DNS allow/denylist lookups. </p>
3186
3187 <p> This feature is available in Postfix 2.8 and later. </p>
3188
3189
3190 </DD>
3191
3192 <DT><b><a name="dnssec_probe">dnssec_probe</a>
3193 (default: ns:.)</b></DT><DD>
3194
3195 <p> The DNS query type (default: "ns") and DNS query name (default:
3196 ".") that Postfix may use to determine whether DNSSEC validation
3197 is available.
3198 </p>
3199
3200 <p> Background: DNSSEC validation is needed for Postfix DANE support;
3201 this ensures that Postfix receives TLSA records with secure TLS
3202 server certificate info. When DNSSEC validation is unavailable,
3203 mail deliveries using <i>opportunistic</i> DANE will not be protected
3204 by server certificate info in TLSA records, and mail deliveries
3205 using <i>mandatory</i> DANE will not be made at all. </p>
3206
3207 <p> By default, a Postfix process will send a DNSSEC probe after
3208 1) the process made a DNS query that requested DNSSEC validation,
3209 2) the process did not receive a DNSSEC validated response to this
3210 query or to an earlier query, and 3) the process did not already
3211 send a DNSSEC probe. <p>
3212
3213 <p> When the DNSSEC probe has no response, or when the response is
3214 not DNSSEC validated, Postfix logs a warning that DNSSEC validation
3215 may be unavailable. </p>
3216
3217 <p> Example: </p>
3218
3219 <pre>
3220 warning: DNSSEC validation may be unavailable
3221 warning: reason: <a href="postconf.5.html#dnssec_probe">dnssec_probe</a> 'ns:.' received a response that is not DNSSEC validated
3222 warning: reason: <a href="postconf.5.html#dnssec_probe">dnssec_probe</a> 'ns:.' received no response: Server failure
3223 </pre>
3224
3225 <p> Possible reasons why DNSSEC validation may be unavailable: </p>
3226
3227 <ul>
3228
3229 <li> The local /etc/resolv.conf file specifies a DNS resolver that
3230 does not validate DNSSEC signatures (that's
3231 $<a href="postconf.5.html#queue_directory">queue_directory</a>/etc/resolv.conf when a Postfix daemon runs in a
3232 chroot jail).
3233
3234 <li> The local system library does not pass on the "DNSSEC validated"
3235 bit to Postfix, or Postfix does not know how to ask the library to
3236 do that.
3237
3238 </ul>
3239
3240 <p> By default, the DNSSEC probe asks for the DNS root zone NS
3241 records, because resolvers should always have that information
3242 cached. If Postfix runs on a network where the DNS root zone is not
3243 reachable, specify a different probe, or specify an empty <a href="postconf.5.html#dnssec_probe">dnssec_probe</a>
3244 value to disable the feature. </p>
3245
3246 <p> This feature is available in Postfix 3.6 and later. It was backported
3247 to Postfix versions 3.5.9, 3.4.19, 3.3.16. 3.2.21. </p>
3248
3249
3250 </DD>
3251
3252 <DT><b><a name="dont_remove">dont_remove</a>
3253 (default: 0)</b></DT><DD>
3254
3255 <p>
3256 Don't remove queue files and save them to the "saved" mail queue.
3257 This is a debugging aid. To inspect the envelope information and
3258 content of a Postfix queue file, use the <a href="postcat.1.html">postcat(1)</a> command.
3259 </p>
3260
3261
3262 </DD>
3263
3264 <DT><b><a name="double_bounce_sender">double_bounce_sender</a>
3265 (default: double-bounce)</b></DT><DD>
3266
3267 <p> The sender address of postmaster notifications that are generated
3268 by the mail system. All mail to this address is silently discarded,
3269 in order to terminate mail bounce loops. </p>
3270
3271
3272 </DD>
3273
3274 <DT><b><a name="duplicate_filter_limit">duplicate_filter_limit</a>
3275 (default: 1000)</b></DT><DD>
3276
3277 <p> The maximal number of addresses remembered by the address
3278 duplicate filter for <a href="aliases.5.html">aliases(5)</a> or <a href="virtual.5.html">virtual(5)</a> alias expansion, or
3279 for <a href="showq.8.html">showq(8)</a> queue displays. </p>
3280
3281
3282 </DD>
3283
3284 <DT><b><a name="empty_address_default_transport_maps_lookup_key">empty_address_default_transport_maps_lookup_key</a>
3285 (default: <>)</b></DT><DD>
3286
3287 <p> The <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> search string that
3288 will be used instead of the null sender address. </p>
3289
3290 <p> This feature is available in Postfix 2.7 and later. </p>
3291
3292
3293 </DD>
3294
3295 <DT><b><a name="empty_address_local_login_sender_maps_lookup_key">empty_address_local_login_sender_maps_lookup_key</a>
3296 (default: <>)</b></DT><DD>
3297
3298 <p>
3299 The lookup key to be used in <a href="postconf.5.html#local_login_sender_maps">local_login_sender_maps</a> tables, instead
3300 of the null sender address.
3301 </p>
3302
3303 <p> This feature is available in Postfix 3.6 and later. </p>
3304
3305
3306 </DD>
3307
3308 <DT><b><a name="empty_address_recipient">empty_address_recipient</a>
3309 (default: MAILER-DAEMON)</b></DT><DD>
3310
3311 <p>
3312 The recipient of mail addressed to the null address. Postfix does
3313 not accept such addresses in SMTP commands, but they may still be
3314 created locally as the result of configuration or software error.
3315 </p>
3316
3317
3318 </DD>
3319
3320 <DT><b><a name="empty_address_relayhost_maps_lookup_key">empty_address_relayhost_maps_lookup_key</a>
3321 (default: <>)</b></DT><DD>
3322
3323 <p> The <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> search string that will be
3324 used instead of the null sender address. </p>
3325
3326 <p> This feature is available in Postfix 2.5 and later. With
3327 earlier versions, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> lookups were
3328 skipped for the null sender address. </p>
3329
3330
3331 </DD>
3332
3333 <DT><b><a name="enable_errors_to">enable_errors_to</a>
3334 (default: no)</b></DT><DD>
3335
3336 <p> Report mail delivery errors to the address specified with the
3337 non-standard Errors-To: message header, instead of the envelope
3338 sender address (this feature is removed with Postfix version 2.2, is
3339 turned off by default with Postfix version 2.1, and is always turned on
3340 with older Postfix versions). </p>
3341
3342
3343 </DD>
3344
3345 <DT><b><a name="enable_idna2003_compatibility">enable_idna2003_compatibility</a>
3346 (default: no)</b></DT><DD>
3347
3348 <p> Enable 'transitional' compatibility between IDNA2003 and IDNA2008,
3349 when converting UTF-8 domain names to/from the ASCII form that is
3350 used for DNS lookups. Specify "yes" for compatibility with Postfix
3351 ≤ 3.1 (not recommended). This affects the conversion of domain
3352 names that contain for example the German sz and the Greek zeta.
3353 See <a href="https://unicode.org/cldr/utility/idna.jsp">https://unicode.org/cldr/utility/idna.jsp</a> for more examples.
3354 </p>
3355
3356 <p> This feature is available in Postfix 3.2 and later. </p>
3357
3358
3359 </DD>
3360
3361 <DT><b><a name="enable_long_queue_ids">enable_long_queue_ids</a>
3362 (default: no)</b></DT><DD>
3363
3364 <p> Enable long, non-repeating, queue IDs (queue file names). The
3365 benefit of non-repeating names is simpler logfile analysis and
3366 easier queue migration (there is no need to run "postsuper" to
3367 change queue file names that don't match their message file inode
3368 number). </p>
3369
3370 <p> Note: see below for how to convert long queue file names to
3371 Postfix ≤ 2.8. </p>
3372
3373 <p> Changing the parameter value to "yes" has the following effects:
3374 </p>
3375
3376 <ul>
3377
3378 <li> <p> Existing queue file names are not affected. </p>
3379
3380 <li> <p> New queue files are created with names such as 3Pt2mN2VXxznjll.
3381 These are encoded in a 52-character alphabet that contains digits
3382 (0-9), upper-case letters (B-Z) and lower-case letters (b-z). For
3383 safety reasons the vowels (AEIOUaeiou) are excluded from the alphabet.
3384 The name format is: 6 or more characters for the time in seconds,
3385 4 characters for the time in microseconds, the 'z'; the remainder
3386 is the file inode number encoded in the first 51 characters of the
3387 52-character alphabet. </p>
3388
3389 <li> <p> New messages have a Message-ID header with
3390 <i>queueID</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>. </p>
3391
3392 <li> <p> The mailq (postqueue -p) output has a wider Queue ID column.
3393 The number of whitespace-separated fields is not changed. <p>
3394
3395 <li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters
3396 of the queue file creation time in microseconds, after conversion
3397 into hexadecimal representation. This produces the same queue hashing
3398 behavior as if the queue file name was created with "<a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>
3399 = no". </p>
3400
3401 </ul>
3402
3403 <p> Changing the parameter value to "no" has the following effects:
3404 </p>
3405
3406 <ul>
3407
3408 <li> <p> Existing long queue file names are renamed to the short
3409 form (while running "postfix reload" or "postsuper"). </p>
3410
3411 <li> <p> New queue files are created with names such as C3CD21F3E90
3412 from a hexadecimal alphabet that contains digits (0-9) and upper-case
3413 letters (A-F). The name format is: 5 characters for the time in
3414 microseconds; the remainder is the file inode number. </p>
3415
3416 <li> <p> New messages have a Message-ID header with
3417 <i>YYYYMMDDHHMMSS.queueid</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>, where
3418 <i>YYYYMMDDHHMMSS</i> are the year, month, day, hour, minute and
3419 second.
3420
3421 <li> <p> The mailq (postqueue -p) output has the same format as
3422 with Postfix ≤ 2.8. <p>
3423
3424 <li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters
3425 of the queue file name, with the hexadecimal representation of the
3426 file creation time in microseconds. </p>
3427
3428 </ul>
3429
3430 <p> Before migration to Postfix ≤ 2.8, the following commands
3431 are required to convert long queue file names into short names: </p>
3432
3433 <pre>
3434 # postfix stop
3435 # postconf <a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>=no
3436 # postsuper
3437 </pre>
3438
3439 <p> Repeat the postsuper command until it reports no more queue file
3440 name changes. </p>
3441
3442 <p> This feature is available in Postfix 2.9 and later. </p>
3443
3444
3445 </DD>
3446
3447 <DT><b><a name="enable_original_recipient">enable_original_recipient</a>
3448 (default: yes)</b></DT><DD>
3449
3450 <p> Enable support for the original recipient address after an
3451 address is rewritten to a different address (for example with
3452 aliasing or with canonical mapping). </p>
3453
3454 <p> The original recipient address is used as follows: </p>
3455
3456 <dl>
3457
3458 <dt> Final delivery </dt> <dd> With "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> =
3459 yes", the original recipient address is stored in the <b>X-Original-To</b>
3460 message header. This header may be used to distinguish between
3461 different recipients that share the same mailbox. </dd>
3462
3463 <dt> Recipient deduplication </dt> <dd> With "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a>
3464 = yes", the <a href="cleanup.8.html">cleanup(8)</a> daemon performs duplicate recipient elimination
3465 based on the content of (original recipient, maybe-rewritten
3466 recipient) pairs. Otherwise, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs duplicate
3467 recipient elimination based only on the maybe-rewritten recipient
3468 address. </dd>
3469
3470 </dl>
3471
3472 <p> Note: with Postfix ≤ 3.2 the "setting <a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a>
3473 = <b>no</b>" breaks address verification for addresses that are
3474 aliased or otherwise rewritten (Postfix is unable to store the
3475 address verification result under the original probe destination
3476 address; instead, it can store the result only under the rewritten
3477 address). </p>
3478
3479 <p> This feature is available in Postfix 2.1 and later. Postfix
3480 version 2.0 behaves as if this parameter is always set to <b>yes</b>.
3481 Postfix versions before 2.0 have no support for the original recipient
3482 address. </p>
3483
3484
3485 </DD>
3486
3487 <DT><b><a name="enable_threaded_bounces">enable_threaded_bounces</a>
3488 (default: no)</b></DT><DD>
3489
3490 <p> Enable non-delivery, success, and delay notifications that link
3491 to the original message by including a References: and In-Reply-To:
3492 header with the original Message-ID value. There are advantages and
3493 disadvantages to consider. </p>
3494
3495 <dl>
3496
3497 <dt> <b> advantage </b> </dt> <dd> This allows mail readers to present
3498 a delivery status notification in the same email thread as the original
3499 message. </dd>
3500
3501 <dt> <b> disadvantage </b> </dt> <dd> This makes it easy for users to
3502 mistakenly delete the whole email thread (all related messages),
3503 instead of deleting only the non-delivery notification. </dd>
3504
3505 </dl>
3506
3507 <p> This feature is available in Postfix 3.6 and later. </p>
3508
3509
3510 </DD>
3511
3512 <DT><b><a name="error_notice_recipient">error_notice_recipient</a>
3513 (default: postmaster)</b></DT><DD>
3514
3515 <p> The recipient of postmaster notifications about mail delivery
3516 problems that are caused by policy, resource, software or protocol
3517 errors. These notifications are enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
3518 parameter. </p>
3519
3520
3521 </DD>
3522
3523 <DT><b><a name="error_service_name">error_service_name</a>
3524 (default: error)</b></DT><DD>
3525
3526 <p>
3527 The name of the <a href="error.8.html">error(8)</a> pseudo delivery agent. This service always
3528 returns mail as undeliverable.
3529 </p>
3530
3531 <p>
3532 This feature is available in Postfix 2.0 and later.
3533 </p>
3534
3535
3536 </DD>
3537
3538 <DT><b><a name="execution_directory_expansion_filter">execution_directory_expansion_filter</a>
3539 (default: see "postconf -d" output)</b></DT><DD>
3540
3541 <p> Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows
3542 in $name expansions of $<a href="postconf.5.html#command_execution_directory">command_execution_directory</a>. Characters
3543 outside the allowed set are replaced by underscores. </p>
3544
3545 <p> This feature is available in Postfix 2.2 and later. </p>
3546
3547
3548 </DD>
3549
3550 <DT><b><a name="expand_owner_alias">expand_owner_alias</a>
3551 (default: no)</b></DT><DD>
3552
3553 <p>
3554 When delivering to an alias "<i>aliasname</i>" that has an
3555 "owner-<i>aliasname</i>" companion alias, set the envelope sender
3556 address to the expansion of the "owner-<i>aliasname</i>" alias.
3557 Normally, Postfix sets the envelope sender address to the name of
3558 the "owner-<i>aliasname</i>" alias.
3559 </p>
3560
3561
3562 </DD>
3563
3564 <DT><b><a name="export_environment">export_environment</a>
3565 (default: see "postconf -d" output)</b></DT><DD>
3566
3567 <p>
3568 The list of environment variables that a Postfix process will export
3569 to non-Postfix processes. The TZ variable is needed for sane
3570 time keeping on System-V-ish systems.
3571 </p>
3572
3573 <p>
3574 Specify a list of names and/or name=value pairs, separated by
3575 whitespace or comma. Specify "{ name=value }" to protect whitespace
3576 or comma in parameter values (whitespace after the opening "{" and
3577 before the closing "}"
3578 is ignored). The form name=value is supported with Postfix version
3579 2.1 and later; the use of {} is supported with Postfix 3.0 and
3580 later. </p>
3581
3582 <p>
3583 Example:
3584 </p>
3585
3586 <pre>
3587 <a href="postconf.5.html#export_environment">export_environment</a> = TZ PATH=/bin:/usr/bin
3588 </pre>
3589
3590
3591 </DD>
3592
3593 <DT><b><a name="extract_recipient_limit">extract_recipient_limit</a>
3594 (default: 10240)</b></DT><DD>
3595
3596 <p>
3597 The maximal number of recipient addresses that Postfix will extract
3598 from message headers when mail is submitted with "<b>sendmail -t</b>".
3599 </p>
3600
3601 <p>
3602 This feature was removed in Postfix version 2.1.
3603 </p>
3604
3605
3606 </DD>
3607
3608 <DT><b><a name="fallback_relay">fallback_relay</a>
3609 (default: empty)</b></DT><DD>
3610
3611 <p>
3612 Optional list of relay hosts for SMTP destinations that can't be
3613 found or that are unreachable. With Postfix 2.3 this parameter
3614 is renamed to <a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a>. </p>
3615
3616 <p>
3617 By default, mail is returned to the sender when a destination is
3618 not found, and delivery is deferred when a destination is unreachable.
3619 </p>
3620
3621 <p> The fallback relays must be SMTP destinations. Specify a domain,
3622 host, host:port, [host]:port, [address] or [address]:port; the form
3623 [host] turns off MX lookups. If you specify multiple SMTP
3624 destinations, Postfix will try them in the specified order. </p>
3625
3626 <p> Note: before Postfix 2.2, do not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
3627 when relaying mail
3628 for a backup or primary MX domain. Mail would loop between the
3629 Postfix MX host and the <a href="postconf.5.html#fallback_relay">fallback_relay</a> host when the final destination
3630 is unavailable. </p>
3631
3632 <ul>
3633
3634 <li> In <a href="postconf.5.html">main.cf</a> specify "<a href="postconf.5.html#relay_transport">relay_transport</a> = relay",
3635
3636 <li> In <a href="master.5.html">master.cf</a> specify "-o <a href="postconf.5.html#fallback_relay">fallback_relay</a> =" (i.e., empty) at
3637 the end of the <tt>relay</tt> entry.
3638
3639 <li> In transport maps, specify "relay:<i>nexthop...</i>"
3640 as the right-hand side for backup or primary MX domain entries.
3641
3642 </ul>
3643
3644 <p> Postfix version 2.2 and later will not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
3645 for destinations that it is MX host for.
3646 </p>
3647
3648
3649 </DD>
3650
3651 <DT><b><a name="fallback_transport">fallback_transport</a>
3652 (default: empty)</b></DT><DD>
3653
3654 <p>
3655 Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
3656 agent should use for names that are not found in the <a href="aliases.5.html">aliases(5)</a>
3657 or UNIX password database.
3658 </p>
3659
3660 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
3661 is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
3662 <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
3663 <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
3664
3665
3666 </DD>
3667
3668 <DT><b><a name="fallback_transport_maps">fallback_transport_maps</a>
3669 (default: empty)</b></DT><DD>
3670
3671 <p> Optional lookup tables with per-recipient message delivery
3672 transports for recipients that the <a href="local.8.html">local(8)</a> delivery agent could
3673 not find in the <a href="aliases.5.html">aliases(5)</a> or UNIX password database. </p>
3674
3675 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
3676 is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
3677 <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
3678 <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
3679
3680 <p> For safety reasons, this feature does not allow $number
3681 substitutions in regular expression maps. </p>
3682
3683 <p> This feature is available in Postfix 2.3 and later. </p>
3684
3685
3686 </DD>
3687
3688 <DT><b><a name="fast_flush_domains">fast_flush_domains</a>
3689 (default: $<a href="postconf.5.html#relay_domains">relay_domains</a>)</b></DT><DD>
3690
3691 <p>
3692 Optional list of destinations that are eligible for per-destination
3693 logfiles with mail that is queued to those destinations.
3694 </p>
3695
3696 <p>
3697 By default, Postfix maintains "fast flush" logfiles only for
3698 destinations that the Postfix SMTP server is willing to relay to
3699 (i.e. the default is: "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> = $<a href="postconf.5.html#relay_domains">relay_domains</a>"; see
3700 the <a href="postconf.5.html#relay_domains">relay_domains</a> parameter in the <a href="postconf.5.html">postconf(5)</a> manual).
3701 </p>
3702
3703 <p> Specify a list of hosts or domains, "/file/name" patterns or
3704 "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
3705 Continue long lines by starting the next line with whitespace. A
3706 "/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
3707 lookup table is matched when the domain or its parent domain appears
3708 as lookup key. </p>
3709
3710 <p> Pattern matching of domain names is controlled by the presence
3711 or absence of "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
3712 parameter value. </p>
3713
3714 <p>
3715 Specify "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> =" (i.e., empty) to disable the feature
3716 altogether.
3717 </p>
3718
3719
3720 </DD>
3721
3722 <DT><b><a name="fast_flush_purge_time">fast_flush_purge_time</a>
3723 (default: 7d)</b></DT><DD>
3724
3725 <p>
3726 The time after which an empty per-destination "fast flush" logfile
3727 is deleted.
3728 </p>
3729
3730 <p>
3731 You can specify the time as a number, or as a number followed by
3732 a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
3733 d=days, w=weeks. The default time unit is days.
3734 </p>
3735
3736
3737 </DD>
3738
3739 <DT><b><a name="fast_flush_refresh_time">fast_flush_refresh_time</a>
3740 (default: 12h)</b></DT><DD>
3741
3742 <p>
3743 The time after which a non-empty but unread per-destination "fast
3744 flush" logfile needs to be refreshed. The contents of a logfile
3745 are refreshed by requesting delivery of all messages listed in the
3746 logfile.
3747 </p>
3748
3749 <p>
3750 You can specify the time as a number, or as a number followed by
3751 a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
3752 d=days, w=weeks. The default time unit is hours.
3753 </p>
3754
3755
3756 </DD>
3757
3758 <DT><b><a name="fault_injection_code">fault_injection_code</a>
3759 (default: 0)</b></DT><DD>
3760
3761 <p>
3762 Force specific internal tests to fail, to test the handling of
3763 errors that are difficult to reproduce otherwise.
3764 </p>
3765
3766
3767 </DD>
3768
3769 <DT><b><a name="flush_service_name">flush_service_name</a>
3770 (default: flush)</b></DT><DD>
3771
3772 <p>
3773 The name of the <a href="flush.8.html">flush(8)</a> service. This service maintains per-destination
3774 logfiles with the queue file names of mail that is queued for those
3775 destinations.
3776 </p>
3777
3778 <p>
3779 This feature is available in Postfix 2.0 and later.
3780 </p>
3781
3782
3783 </DD>
3784
3785 <DT><b><a name="force_mime_input_conversion">force_mime_input_conversion</a>
3786 (default: no)</b></DT><DD>
3787
3788 <p> Convert body content that claims to be 8-bit into quoted-printable,
3789 before <a href="postconf.5.html#header_checks">header_checks</a>, <a href="postconf.5.html#body_checks">body_checks</a>, Milters, and before after-queue
3790 content filters. This feature does not affect messages that are
3791 sent into <a href="postconf.5.html#smtpd_proxy_filter">smtpd_proxy_filter</a>. </p>
3792
3793 <p> The typical use case is an MTA that applies this conversion
3794 before signing outbound messages, so that the signatures will remain
3795 valid when a message is later delivered to an MTA that does not
3796 announce 8BITMIME support, or when a message line exceeds the SMTP
3797 length limit. </p>
3798
3799 <p> This feature is available in Postfix ≥ 3.9. </p>
3800
3801
3802 </DD>
3803
3804 <DT><b><a name="fork_attempts">fork_attempts</a>
3805 (default: 5)</b></DT><DD>
3806
3807 <p> The maximal number of attempts to fork() a child process. </p>
3808
3809
3810 </DD>
3811
3812 <DT><b><a name="fork_delay">fork_delay</a>
3813 (default: 1s)</b></DT><DD>
3814
3815 <p> The delay between attempts to fork() a child process. </p>
3816
3817 <p> Specify a non-zero time value (an integral value plus an optional
3818 one-letter suffix that specifies the time unit). Time units: s
3819 (seconds), m (minutes), h (hours), d (days), w (weeks).
3820 The default time unit is s (seconds). </p>
3821
3822
3823 </DD>
3824
3825 <DT><b><a name="forward_expansion_filter">forward_expansion_filter</a>
3826 (default: see "postconf -d" output)</b></DT><DD>
3827
3828 <p>
3829 Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
3830 $name expansions of $<a href="postconf.5.html#forward_path">forward_path</a>. Characters outside the
3831 allowed set are replaced by underscores.
3832 </p>
3833
3834
3835 </DD>
3836
3837 <DT><b><a name="forward_path">forward_path</a>
3838 (default: see "postconf -d" output)</b></DT><DD>
3839
3840 <p> The <a href="local.8.html">local(8)</a> delivery agent search list for finding a .forward
3841 file with user-specified delivery methods. The first file that is
3842 found is used. </p>
3843
3844 <p> The <a href="postconf.5.html#forward_path">forward_path</a> value is not subject to Postfix configuration
3845 parameter $name expansion. Instead, the following $name expansions
3846 are done on <a href="postconf.5.html#forward_path">forward_path</a> before the search actually happens.
3847 The result of $name expansion is
3848 filtered with the character set that is specified with the
3849 <a href="postconf.5.html#forward_expansion_filter">forward_expansion_filter</a> parameter. </p>
3850
3851 <dl>
3852
3853 <dt><b>$user</b></dt>
3854
3855 <dd>The recipient's username. </dd>
3856
3857 <dt><b>$shell</b></dt>
3858
3859 <dd>The recipient's login shell pathname. </dd>
3860
3861 <dt><b>$home</b></dt>
3862
3863 <dd>The recipient's home directory. </dd>
3864
3865 <dt><b>$recipient</b></dt>
3866
3867 <dd>The full recipient address. </dd>
3868
3869 <dt><b>$extension</b></dt>
3870
3871 <dd>The optional recipient address extension. </dd>
3872
3873 <dt><b>$domain</b></dt>
3874
3875 <dd>The recipient domain. </dd>
3876
3877 <dt><b>$local</b></dt>
3878
3879 <dd>The entire recipient localpart. </dd>
3880
3881 <dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
3882
3883 <dd>The address extension delimiter that was found in the recipient
3884 address (Postfix 2.11 and later), or the 'first' delimiter specified
3885 with the system-wide recipient address extension delimiter (Postfix
3886 3.5.22, 3.6.12, 3.7.8, 3.8.3 and later). Historically, this was
3887 always the system-wide recipient
3888 address extension delimiter (Postfix 2.10 and earlier). </dd>
3889
3890 <dt><b>${name?value}</b></dt>
3891
3892 <dt><b>${name?{value}}</b> (Postfix ≥ 3.0)</dt>
3893
3894 <dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
3895
3896 <dt><b>${name:value}</b></dt>
3897
3898 <dt><b>${name:{value}}</b> (Postfix ≥ 3.0)</dt>
3899
3900 <dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
3901
3902 <dt><b>${name?{value1}:{value2}}</b> (Postfix ≥ 3.0)</dt>
3903
3904 <dd>Expands to <i>value1</i> when <i>$name</i> is non-empty,
3905 <i>value2</i> otherwise. </dd>
3906
3907 </dl>
3908
3909 <p>
3910 Instead of $name you can also specify ${name} or $(name).
3911 </p>
3912
3913 <p>
3914 Examples:
3915 </p>
3916
3917 <pre>
3918 <a href="postconf.5.html#forward_path">forward_path</a> = /var/forward/$user
3919 <a href="postconf.5.html#forward_path">forward_path</a> =
3920 /var/forward/$user/.forward$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>$extension,
3921 /var/forward/$user/.forward
3922 </pre>
3923
3924
3925 </DD>
3926
3927 <DT><b><a name="frozen_delivered_to">frozen_delivered_to</a>
3928 (default: yes)</b></DT><DD>
3929
3930 <p> Update the <a href="local.8.html">local(8)</a> delivery agent's idea of the Delivered-To:
3931 address (see <a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a>) only once, at the start of
3932 a delivery attempt; do not update the Delivered-To: address while
3933 expanding aliases or .forward files. </p>
3934
3935 <p> This feature is available in Postfix 2.3 and later. With older
3936 Postfix releases, the behavior is as if this parameter is set to
3937 "no". The old setting can be expensive with deeply nested aliases
3938 or .forward files. When an alias or .forward file changes the
3939 Delivered-To: address, it ties up one queue file and one cleanup
3940 process instance while mail is being forwarded. </p>
3941
3942
3943 </DD>
3944
3945 <DT><b><a name="full_name_encoding_charset">full_name_encoding_charset</a>
3946 (default: utf-8)</b></DT><DD>
3947
3948 <p> The character set name (also called "charset") that Postfix
3949 will output when it automatically generates an <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a> encoded
3950 full name. Encoding non-ASCII full names can avoid the need to use
3951 SMTPUTF8, and therefore can avoid incompatibility with sites that
3952 do not support SMTPUTF8. </p>
3953
3954 <p> The encoded names look like "=?charset?q?gibberish?=" with
3955 quoted-printable encoding, or "=?charset?b?gibberish?=" with base64
3956 encoding. Postfix uses quoted-printable encoding for a full name
3957 that is short or mostly printable ASCII, and uses base64 otherwise.
3958 </p>
3959
3960 <p> Background: when a message without a From: header is submitted
3961 with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, the Postfix <a href="cleanup.8.html">cleanup(8)</a> daemon
3962 will add a From: header and will try to use the sender's full name
3963 specified with the Postfix <a href="sendmail.1.html">sendmail(1)</a> "-F" option, with the Postfix
3964 <a href="sendmail.1.html">sendmail(1)</a> "NAME" environment variable, or with the GECOS field
3965 in the UNIX password database. In the latter case, Postfix will
3966 replace the "&" character with the login name, with a lowercase
3967 ASCII first character converted to uppercase. </p>
3968
3969 <p> NOTE: Postfix does not convert between character sets. The
3970 <a href="postconf.5.html#full_name_encoding_charset">full_name_encoding_charset</a> parameter specifies the character set
3971 of the full name in the Postfix sendmail "-F" option, in the Postfix
3972 sendmail "NAME" environment variable, or in the GECOS field of the
3973 UNIX password database. The parameter value is also part of the
3974 encoded full name, and informs a Mail User Agent how to display the
3975 decoded gibberish. </p>
3976
3977 <p> Specify a valid character set name such as "utf-8" or "iso-8859-1
3978 (specify the latter for full names that use the Latin1 encoding).
3979 The character set name is case insensitive. When a character set
3980 name violates <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a> syntax, Postfix will log a warning and will
3981 skip the full name. </p>
3982
3983 <p> This feature is available in Postfix ≥ 3.10. </p>
3984
3985
3986 </DD>
3987
3988 <DT><b><a name="hash_queue_depth">hash_queue_depth</a>
3989 (default: 1)</b></DT><DD>
3990
3991 <p>
3992 The number of subdirectory levels for queue directories listed with
3993 the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> parameter. Queue hashing is implemented by
3994 creating one or more levels of directories with one-character names.
3995 Originally, these directory names were equal to the first characters
3996 of the queue file name, with the hexadecimal representation of the
3997 file creation time in microseconds. </p>
3998
3999 <p> With long queue file names, queue hashing produces the same
4000 results as with short names. The file creation time in microseconds
4001 is converted into hexadecimal form before the result is used for
4002 queue hashing. The base 16 encoding gives finer control over the
4003 number of subdirectories than is possible with the base 52 encoding
4004 of long queue file names. </p>
4005
4006 <p>
4007 After changing the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> or <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> parameter,
4008 execute the command "<b>postfix reload</b>".
4009 </p>
4010
4011
4012 </DD>
4013
4014 <DT><b><a name="hash_queue_names">hash_queue_names</a>
4015 (default: deferred, defer)</b></DT><DD>
4016
4017 <p>
4018 The names of queue directories that are split across multiple
4019 subdirectory levels.
4020 </p>
4021
4022 <p> Before Postfix version 2.2, the default list of hashed queues
4023 was significantly larger. Claims about improvements in file system
4024 technology suggest that hashing of the <a href="QSHAPE_README.html#incoming_queue">incoming</a> and <a href="QSHAPE_README.html#active_queue">active queues</a>
4025 is no longer needed. Fewer hashed directories speed up the time
4026 needed to restart Postfix. </p>
4027
4028 <p>
4029 After changing the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> or <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> parameter,
4030 execute the command "<b>postfix reload</b>".
4031 </p>
4032
4033
4034 </DD>
4035
4036 <DT><b><a name="header_address_token_limit">header_address_token_limit</a>
4037 (default: 10240)</b></DT><DD>
4038
4039 <p>
4040 The maximal number of address tokens are allowed in an address
4041 message header. Information that exceeds the limit is discarded.
4042 The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
4043 </p>
4044
4045
4046 </DD>
4047
4048 <DT><b><a name="header_checks">header_checks</a>
4049 (default: empty)</b></DT><DD>
4050
4051 <p>
4052 Optional lookup tables for content inspection of primary non-MIME
4053 message headers, as specified in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
4054 </p>
4055
4056
4057 </DD>
4058
4059 <DT><b><a name="header_from_format">header_from_format</a>
4060 (default: standard)</b></DT><DD>
4061
4062 <p> The format of the Postfix-generated <b>From:</b> header. This
4063 setting affects the appearance of 'full name' information when a
4064 local program such as /bin/mail submits a message without a From:
4065 header through the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. </p>
4066
4067 <p> Specify one of the following: </p>
4068
4069 <dl>
4070
4071 <dt><b>standard</b> (default)</dt> <dd> Produce a header formatted
4072 as "<b>From:</b> <i>name</i><b> <</b><i>address</i><b>></b>".
4073 This is the default as of Postfix 3.3.</dd>
4074
4075 <dt><b>obsolete</b></dt> <dd>Produce a header formatted as "<b>From:</b>
4076 <i>address</i> <b>(</b><i>name</i><b>)</b>". This is the behavior
4077 prior to Postfix 3.3. </dd>
4078
4079 </dl>
4080
4081 <p> Notes: </p>
4082
4083 <ul>
4084
4085 <li> <p> Postfix generates the format "<b>From:</b> <i>address</i>"
4086 when <i>name</i> information is unavailable or the envelope sender
4087 address is empty. This is the same behavior as prior to Postfix
4088 3.3. </p>
4089
4090 <li> <p> In the <b>standard</b> form, the <i>name</i> will be quoted
4091 if it contains <b>specials</b> as defined in <a href="https://tools.ietf.org/html/rfc5322">RFC 5322</a>, or the "!%"
4092 address operators. </p>
4093
4094 <li> <p> The Postfix <a href="sendmail.1.html">sendmail(1)</a> command gets <i>name</i> information
4095 from the <b>-F</b> command-line option, from the <b>NAME</b>
4096 environment variable, or from the UNIX password file. </p>
4097
4098 </ul>
4099
4100 <p> This feature is available in Postfix 3.3 and later. </p>
4101
4102
4103 </DD>
4104
4105 <DT><b><a name="header_size_limit">header_size_limit</a>
4106 (default: 102400)</b></DT><DD>
4107
4108 <p>
4109 The maximal amount of memory in bytes for storing a message header.
4110 If a header is larger, the excess is discarded. The limit is
4111 enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
4112 </p>
4113
4114
4115 </DD>
4116
4117 <DT><b><a name="helpful_warnings">helpful_warnings</a>
4118 (default: yes)</b></DT><DD>
4119
4120 <p>
4121 Log warnings about problematic configuration settings, and provide
4122 helpful suggestions.
4123 </p>
4124
4125 <p>
4126 This feature is available in Postfix 2.0 and later.
4127 </p>
4128
4129
4130 </DD>
4131
4132 <DT><b><a name="home_mailbox">home_mailbox</a>
4133 (default: empty)</b></DT><DD>
4134
4135 <p>
4136 Optional pathname of a mailbox file relative to a <a href="local.8.html">local(8)</a> user's
4137 home directory.
4138 </p>
4139
4140 <p>
4141 Specify a pathname ending in "/" for qmail-style delivery.
4142 </p>
4143
4144 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
4145 is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
4146 <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
4147 <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
4148
4149 <p>
4150 Examples:
4151 </p>
4152
4153 <pre>
4154 <a href="postconf.5.html#home_mailbox">home_mailbox</a> = Mailbox
4155 <a href="postconf.5.html#home_mailbox">home_mailbox</a> = Maildir/
4156 </pre>
4157
4158
4159 </DD>
4160
4161 <DT><b><a name="hopcount_limit">hopcount_limit</a>
4162 (default: 50)</b></DT><DD>
4163
4164 <p>
4165 The maximal number of Received: message headers that is allowed
4166 in the primary message headers. A message that exceeds the limit
4167 is bounced, in order to stop a mailer loop.
4168 </p>
4169
4170
4171 </DD>
4172
4173 <DT><b><a name="html_directory">html_directory</a>
4174 (default: see "postconf -d" output)</b></DT><DD>
4175
4176 <p>
4177 The location of Postfix HTML files that describe how to build,
4178 configure or operate a specific Postfix subsystem or feature.
4179 </p>
4180
4181
4182 </DD>
4183
4184 <DT><b><a name="ignore_mx_lookup_error">ignore_mx_lookup_error</a>
4185 (default: no)</b></DT><DD>
4186
4187 <p> Ignore DNS MX lookups that produce no response. By default,
4188 the Postfix SMTP client defers delivery and tries again after some
4189 delay. This behavior is required by the SMTP standard. </p>
4190
4191 <p>
4192 Specify "<a href="postconf.5.html#ignore_mx_lookup_error">ignore_mx_lookup_error</a> = yes" to force a DNS A record
4193 lookup instead. This violates the SMTP standard and can result in
4194 mis-delivery of mail.
4195 </p>
4196
4197
4198 </DD>
4199
4200 <DT><b><a name="ignore_srv_lookup_error">ignore_srv_lookup_error</a>
4201 (default: no)</b></DT><DD>
4202
4203 <p> When SRV record lookup fails, fall back to MX or IP address
4204 lookup as if SRV record lookup was not enabled. </p>
4205
4206 <p> This feature is available in Postfix 3.8 and later. </p>
4207
4208
4209 </DD>
4210
4211 <DT><b><a name="import_environment">import_environment</a>
4212 (default: see "postconf -d" output)</b></DT><DD>
4213
4214 <p> The list of environment variables that a privileged Postfix
4215 process will import from a non-Postfix parent process, or name=value
4216 environment overrides. Unprivileged utilities will enforce the
4217 name=value overrides, but otherwise will not change their process
4218 environment. Examples of relevant environment variables: </p>
4219
4220 <dl>
4221
4222 <dt><b>TZ</b></dt>
4223
4224 <dd>May be needed for sane time keeping on most System-V-ish systems.
4225 </dd>
4226
4227 <dt><b>DISPLAY</b></dt>
4228
4229 <dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
4230
4231 <dt><b>XAUTHORITY</b></dt>
4232
4233 <dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
4234
4235 <dt><b>MAIL_CONFIG</b></dt>
4236
4237 <dd>Needed to make "<b>postfix -c</b>" work. </dd>
4238
4239 <dt><b>POSTLOG_SERVICE</b></dt>
4240
4241 <dd>Needed to make "<b><a href="postconf.5.html#maillog_file">maillog_file</a></b>" work during daemon
4242 process initialization. </dd>
4243
4244 <dt><b>POSTLOG_HOSTNAME</b></dt>
4245
4246 <dd>Needed to make "<b><a href="postconf.5.html#maillog_file">maillog_file</a></b>" work during daemon
4247 process initialization. </dd>
4248
4249 </dl>
4250
4251 <p> Specify a list of names and/or name=value pairs, separated by
4252 whitespace or comma. Specify "{ name=value }" to protect whitespace
4253 or comma in environment variable values (whitespace after the opening "{" and
4254 before the closing "}"
4255 is ignored). The form name=value is supported with Postfix version
4256 2.1 and later; the use of {} is supported with Postfix 3.0 and
4257 later. </p>
4258
4259
4260 </DD>
4261
4262 <DT><b><a name="in_flow_delay">in_flow_delay</a>
4263 (default: 1s)</b></DT><DD>
4264
4265 <p> Time to pause before accepting a new message, when the message
4266 arrival rate exceeds the message delivery rate. This feature is
4267 turned on by default (it's disabled on SCO UNIX due to an SCO bug).
4268 </p>
4269
4270 <p>
4271 With the default 100 Postfix SMTP server process limit, "<a href="postconf.5.html#in_flow_delay">in_flow_delay</a>
4272 = 1s" limits the mail inflow to 100 messages per second above the
4273 number of messages delivered per second.
4274 </p>
4275
4276 <p>
4277 Specify 0 to disable the feature. Valid delays are 0..10.
4278 </p>
4279
4280
4281 </DD>
4282
4283 <DT><b><a name="inet_interfaces">inet_interfaces</a>
4284 (default: all)</b></DT><DD>
4285
4286 <p> The local network interface addresses that this mail system
4287 receives mail on. Specify "all" to receive mail on all network
4288 interfaces (default), "loopback-only" to receive mail on loopback
4289 network interfaces only (Postfix version 2.2 and later), or zero
4290 or more IPv4 or IPv6 addresses (IPv6 is supported in Postfix version
4291 2.2 and later). The parameter also controls whether Postfix will
4292 accept mail for <tt>user@[ip.address]</tt>, and prevents Postfix
4293 from delivering mail to a host that has equal or larger MX preference.
4294 Specify an empty value if Postfix does not receive mail over the
4295 network, or if all network listeners have an explicit IP address
4296 in <a href="master.5.html">master.cf</a>. </p>
4297
4298 <p>
4299 Note 1: you need to stop and start Postfix when this parameter changes.
4300 </p>
4301
4302 <p> Note 2: address information may be enclosed inside <tt>[]</tt>,
4303 but this form is not required here. </p>
4304
4305 <p> When <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> and/or <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> are not
4306 specified, the <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> setting may constrain the source IP
4307 address for an outbound SMTP or LMTP connection as described below.
4308 </p>
4309
4310 <p> The following text is specific to SMTP and IPv4. The same
4311 reasoning applies to the IPv6 protocol, and to the Postfix LMTP
4312 client. To disable IPv4 or IPv6 support in the Postfix SMTP and
4313 LMTP client, use <a href="postconf.5.html#inet_protocols">inet_protocols</a>. </p>
4314
4315 <ul>
4316
4317 <li> <p> When <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies one IPv4 address, and that
4318 is not a loopback address, the Postfix SMTP client uses that as the
4319 source address for outbound IPv4 connections. </p>
4320
4321 <li> <p> Otherwise, the Postfix SMTP client does not constrain the
4322 source IPv4 address, and connects using a system-chosen source IPv4
4323 address. This includes the cases where <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> is empty,
4324 where it specifies <b>all</b>, or where it contains no IPv4 address,
4325 one IPv4 address that is a loopback address, or multiple IPv4
4326 addresses. </p>
4327
4328 </ul>
4329
4330 <p> A Postfix SMTP client may fail to reach some remote SMTP servers
4331 when the client source IP address is constrained explicitly with
4332 <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> or <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>, or implicitly with
4333 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. This can happen when Postfix runs on a multi-homed
4334 system such as a firewall, the Postfix SMTP source client IP address
4335 is constrained to one specific network interface, and the remote
4336 SMTP server must be reached through a different interface. Setting
4337 <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> to 0.0.0.0 avoids the potential problem for IPv4,
4338 and setting <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> to :: solves the problem for IPv6.
4339 </p>
4340
4341 <p>
4342 A better solution for multi-homed systems is to leave <a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
4343 at the default value and instead use explicit IP addresses in
4344 the <a href="master.5.html">master.cf</a> SMTP server definitions. This preserves the Postfix
4345 SMTP client's
4346 loop detection, by ensuring that each side of the firewall knows that the
4347 other IP address is still the same host. Setting $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> to a
4348 single IPv4 and/or IPV6 address is primarily useful with virtual
4349 hosting of domains on
4350 secondary IP addresses, when each IP address serves a different domain
4351 (and has a different $<a href="postconf.5.html#myhostname">myhostname</a> setting). </p>
4352
4353 <p>
4354 See also the <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> parameter, for network addresses that
4355 are forwarded to Postfix by way of a proxy or address translator.
4356 </p>
4357
4358 <p>
4359 Examples:
4360 </p>
4361
4362 <pre>
4363 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = all (DEFAULT)
4364 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback-only (Postfix version 2.2 and later)
4365 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1
4366 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1, [::1] (Postfix version 2.2 and later)
4367 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 192.168.1.2, 127.0.0.1
4368 </pre>
4369
4370
4371 </DD>
4372
4373 <DT><b><a name="inet_protocols">inet_protocols</a>
4374 (default: see 'postconf -d' output)</b></DT><DD>
4375
4376 <p> The Internet protocols Postfix will attempt to use when making
4377 or accepting connections. Specify one or more of "ipv4"
4378 or "ipv6", separated by whitespace or commas. The form
4379 "all" is equivalent to "ipv4, ipv6" or "ipv4", depending
4380 on whether the operating system implements IPv6. </p>
4381
4382 <p> With Postfix 2.8 and earlier the default is "ipv4". For backwards
4383 compatibility with these releases, the Postfix 2.9 and later upgrade
4384 procedure appends an explicit "<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4" setting to
4385 <a href="postconf.5.html">main.cf</a> when no explicit setting is present. This compatibility
4386 workaround will be phased out as IPv6 deployment becomes more common.
4387 </p>
4388
4389 <p> This feature is available in Postfix 2.2 and later. </p>
4390
4391 <p> Note: you MUST stop and start Postfix after changing this
4392 parameter. </p>
4393
4394 <p> On systems that pre-date IPV6_V6ONLY support (<a href="https://tools.ietf.org/html/rfc3493">RFC 3493</a>), an
4395 IPv6 server will also accept IPv4 connections, even when IPv4 is
4396 turned off with the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter. On systems with
4397 IPV6_V6ONLY support, Postfix will use separate server sockets for
4398 IPv6 and IPv4, and each will accept only connections for the
4399 corresponding protocol. </p>
4400
4401 <p> When IPv4 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
4402 Postfix will look up DNS type A records, and will convert
4403 IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original
4404 IPv4 form (1.2.3.4). The latter is needed on hosts that pre-date
4405 IPV6_V6ONLY support (<a href="https://tools.ietf.org/html/rfc3493">RFC 3493</a>). </p>
4406
4407 <p> When IPv6 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
4408 Postfix will do DNS type AAAA record lookups. </p>
4409
4410 <p> When both IPv4 and IPv6 support are enabled, the Postfix SMTP
4411 client will choose the protocol as specified with the
4412 <a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> parameter. Postfix versions before 2.8
4413 attempt to connect via IPv6 before attempting to use IPv4. </p>
4414
4415 <p>
4416 Examples:
4417 </p>
4418
4419 <pre>
4420 <a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4
4421 <a href="postconf.5.html#inet_protocols">inet_protocols</a> = all (DEFAULT)
4422 <a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv6
4423 <a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4, ipv6
4424 </pre>
4425
4426
4427 </DD>
4428
4429 <DT><b><a name="info_log_address_format">info_log_address_format</a>
4430 (default: external)</b></DT><DD>
4431
4432 <p> The email address form that will be used in non-debug logging
4433 (info, warning, etc.). As of Postfix 3.5 when an address localpart
4434 contains spaces or other special characters, the localpart will be
4435 quoted, for example: </p>
4436
4437 <blockquote>
4438 <pre>
4439 from=<"name with spaces"@example.com>
4440 </pre>
4441 </blockquote>
4442
4443 <p> Older Postfix versions would log the internal (unquoted) form: </p>
4444
4445 <blockquote>
4446 <pre>
4447 from=<name with spaces (a] example.com>
4448 </pre>
4449 </blockquote>
4450
4451 <p> The external and internal forms are identical for the vast
4452 majority of email addresses that contain no spaces or other special
4453 characters in the localpart. </p>
4454
4455 <p> The logging in external form is consistent with the address
4456 form that Postfix 3.2 and later prefer for most table lookups. This
4457 is therefore the more useful form for non-debug logging. </p>
4458
4459 <p> Specify "<b><a href="postconf.5.html#info_log_address_format">info_log_address_format</a> = internal</b>" for backwards
4460 compatibility. </p>
4461
4462 <p> Postfix uses the unquoted form internally, because an attacker
4463 can specify an email address in different forms by playing games
4464 with quotes and backslashes. An attacker should not be able to use
4465 such games to circumvent Postfix access policies. </p>
4466
4467 <p> This feature is available in Postfix 3.5 and later. </p>
4468
4469
4470 </DD>
4471
4472 <DT><b><a name="initial_destination_concurrency">initial_destination_concurrency</a>
4473 (default: 5)</b></DT><DD>
4474
4475 <p>
4476 The initial per-destination concurrency level for parallel delivery
4477 to the same destination.
4478 With per-destination recipient limit > 1, a destination is a domain,
4479 otherwise it is a recipient.
4480 </p>
4481
4482 <p> Use <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> to specify
4483 a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
4484 name of the message delivery transport (Postfix 2.5 and later). </p>
4485
4486 <p>
4487 Warning: with concurrency of 1, one bad message can be enough to
4488 block all mail to a site.
4489 </p>
4490
4491
4492 </DD>
4493
4494 <DT><b><a name="internal_mail_filter_classes">internal_mail_filter_classes</a>
4495 (default: empty)</b></DT><DD>
4496
4497 <p> What categories of Postfix-generated mail are subject to
4498 before-queue content inspection by <a href="postconf.5.html#non_smtpd_milters">non_smtpd_milters</a>, <a href="postconf.5.html#header_checks">header_checks</a>
4499 and <a href="postconf.5.html#body_checks">body_checks</a>. Specify zero or more of the following, separated
4500 by whitespace or comma. </p>
4501
4502 <dl>
4503
4504 <dt><b>bounce</b></dt> <dd> Inspect the content of delivery
4505 status notifications. </dd>
4506
4507 <dt><b>notify</b></dt> <dd> Inspect the content of postmaster
4508 notifications by the <a href="smtp.8.html">smtp(8)</a> and <a href="smtpd.8.html">smtpd(8)</a> processes. </dd>
4509
4510 </dl>
4511
4512 <p> NOTE: It's generally not safe to enable content inspection of
4513 Postfix-generated email messages. The user is warned. </p>
4514
4515 <p> This feature is available in Postfix 2.3 and later. </p>
4516
4517
4518 </DD>
4519
4520 <DT><b><a name="invalid_hostname_reject_code">invalid_hostname_reject_code</a>
4521 (default: 501)</b></DT><DD>
4522
4523 <p>
4524 The numerical Postfix SMTP server response code when the client
4525 HELO or EHLO command parameter is rejected by the <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a>
4526 restriction.
4527 </p>
4528
4529 <p>
4530 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
4531 </p>
4532
4533
4534 </DD>
4535
4536 <DT><b><a name="ipc_idle">ipc_idle</a>
4537 (default: version dependent)</b></DT><DD>
4538
4539 <p>
4540 The time after which a client closes an idle internal communication
4541 channel. The purpose is to allow Postfix daemon processes to
4542 terminate voluntarily after they become idle. This is used, for
4543 example, by the Postfix address resolving and rewriting clients.
4544 </p>
4545
4546 <p> With Postfix 2.4 the default value was reduced from 100s to 5s. </p>
4547
4548 <p> Specify a non-zero time value (an integral value plus an optional
4549 one-letter suffix that specifies the time unit). Time units: s
4550 (seconds), m (minutes), h (hours), d (days), w (weeks).
4551 The default time unit is s (seconds). </p>
4552
4553
4554 </DD>
4555
4556 <DT><b><a name="ipc_timeout">ipc_timeout</a>
4557 (default: 3600s)</b></DT><DD>
4558
4559 <p>
4560 The time limit for sending or receiving information over an internal
4561 communication channel. The purpose is to break out of deadlock
4562 situations. If the time limit is exceeded the software aborts with a
4563 fatal error.
4564 </p>
4565
4566 <p> Specify a non-zero time value (an integral value plus an optional
4567 one-letter suffix that specifies the time unit). Time units: s
4568 (seconds), m (minutes), h (hours), d (days), w (weeks).
4569 The default time unit is s (seconds). </p>
4570
4571
4572 </DD>
4573
4574 <DT><b><a name="ipc_ttl">ipc_ttl</a>
4575 (default: 1000s)</b></DT><DD>
4576
4577 <p>
4578 The time after which a client closes an active internal communication
4579 channel. The purpose is to allow Postfix daemon processes to
4580 terminate voluntarily
4581 after reaching their client limit. This is used, for example, by
4582 the Postfix address resolving and rewriting clients.
4583 </p>
4584
4585 <p> Specify a non-zero time value (an integral value plus an optional
4586 one-letter suffix that specifies the time unit). Time units: s
4587 (seconds), m (minutes), h (hours), d (days), w (weeks).
4588 The default time unit is s (seconds). </p>
4589
4590 <p>
4591 This feature is available in Postfix 2.1 and later.
4592 </p>
4593
4594
4595 </DD>
4596
4597 <DT><b><a name="known_tcp_ports">known_tcp_ports</a>
4598 (default: lmtp=24, smtp=25, smtps=submissions=465, submission=587)</b></DT><DD>
4599
4600 <p> Optional setting that avoids lookups in the services(5) database.
4601 This feature was implemented to address inconsistencies in the name
4602 of the port "465" service. The ABNF is:
4603 </p>
4604
4605 <blockquote>
4606 <p>
4607 <a href="postconf.5.html#known_tcp_ports">known_tcp_ports</a> = empty | name-to-port *("," name-to-port) <br>
4608 name-to-port = 1*(service-name "=') port-number
4609 </p>
4610 </blockquote>
4611
4612 <p> The comma is required. Whitespace is optional but it cannot appear
4613 inside a service name or port number. </p>
4614
4615 <p> This feature is available in Postfix 3.6 and later. </p>
4616
4617
4618 </DD>
4619
4620 <DT><b><a name="line_length_limit">line_length_limit</a>
4621 (default: 2048)</b></DT><DD>
4622
4623 <p> Upon input, long lines are chopped up into pieces of at most
4624 this length; upon delivery, long lines are reconstructed. </p>
4625
4626
4627 </DD>
4628
4629 <DT><b><a name="lmdb_map_size">lmdb_map_size</a>
4630 (default: 16777216)</b></DT><DD>
4631
4632 <p>
4633 The initial OpenLDAP LMDB database size limit in bytes. Each time
4634 a database becomes full, its size limit is doubled.
4635 </p>
4636
4637 <p>
4638 This feature is available in Postfix 2.11 and later.
4639 </p>
4640
4641
4642 </DD>
4643
4644 <DT><b><a name="lmtp_address_preference">lmtp_address_preference</a>
4645 (default: ipv6)</b></DT><DD>
4646
4647 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a>
4648 configuration parameter. See there for details. </p>
4649
4650 <p> This feature is available in Postfix 2.8 and later. </p>
4651
4652
4653 </DD>
4654
4655 <DT><b><a name="lmtp_address_verify_target">lmtp_address_verify_target</a>
4656 (default: rcpt)</b></DT><DD>
4657
4658 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a>
4659 configuration parameter. See there for details. </p>
4660
4661 <p> This feature is available in Postfix 3.0 and later. </p>
4662
4663
4664 </DD>
4665
4666 <DT><b><a name="lmtp_assume_final">lmtp_assume_final</a>
4667 (default: no)</b></DT><DD>
4668
4669 <p> When a remote LMTP server announces no DSN support, assume that
4670 the
4671 server performs final delivery, and send "delivered" delivery status
4672 notifications instead of "relayed". The default setting is backwards
4673 compatible to avoid the infinitesimal possibility of breaking
4674 existing LMTP-based content filters. </p>
4675
4676
4677 </DD>
4678
4679 <DT><b><a name="lmtp_balance_inet_protocols">lmtp_balance_inet_protocols</a>
4680 (default: yes)</b></DT><DD>
4681
4682 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_balance_inet_protocols">smtp_balance_inet_protocols</a>
4683 configuration parameter. See there for details. </p>
4684
4685 <p> This feature is available in Postfix 3.3 and later. </p>
4686
4687
4688 </DD>
4689
4690 <DT><b><a name="lmtp_bind_address">lmtp_bind_address</a>
4691 (default: empty)</b></DT><DD>
4692
4693 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> configuration
4694 parameter. See there for details. </p>
4695
4696 <p> This feature is available in Postfix 2.3 and later. </p>
4697
4698
4699 </DD>
4700
4701 <DT><b><a name="lmtp_bind_address6">lmtp_bind_address6</a>
4702 (default: empty)</b></DT><DD>
4703
4704 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> configuration
4705 parameter. See there for details. </p>
4706
4707 <p> This feature is available in Postfix 2.3 and later. </p>
4708
4709
4710 </DD>
4711
4712 <DT><b><a name="lmtp_bind_address_enforce">lmtp_bind_address_enforce</a>
4713 (default: empty)</b></DT><DD>
4714
4715 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address_enforce">smtp_bind_address_enforce</a>
4716 configuration parameter. See there for details. </p>
4717
4718 <p> This feature is available in Postfix 3.7 and later. </p>
4719
4720
4721 </DD>
4722
4723 <DT><b><a name="lmtp_body_checks">lmtp_body_checks</a>
4724 (default: empty)</b></DT><DD>
4725
4726 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_body_checks">smtp_body_checks</a> configuration
4727 parameter. See there for details. </p>
4728
4729 <p> This feature is available in Postfix 2.5 and later. </p>
4730
4731
4732 </DD>
4733
4734 <DT><b><a name="lmtp_cache_connection">lmtp_cache_connection</a>
4735 (default: yes)</b></DT><DD>
4736
4737 <p>
4738 Keep Postfix LMTP client connections open for up to $<a href="postconf.5.html#max_idle">max_idle</a>
4739 seconds. When the LMTP client receives a request for the same
4740 connection the connection is reused.
4741 </p>
4742
4743 <p> This parameter is available in Postfix version 2.2 and earlier.
4744 With Postfix version 2.3 and later, see <a href="postconf.5.html#lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>,
4745 <a href="postconf.5.html#lmtp_connection_cache_destinations">lmtp_connection_cache_destinations</a>, or <a href="postconf.5.html#lmtp_connection_reuse_time_limit">lmtp_connection_reuse_time_limit</a>.
4746 </p>
4747
4748 <p>
4749 The effectiveness of cached connections will be determined by the
4750 number of remote LMTP servers in use, and the concurrency limit specified
4751 for the Postfix LMTP client. Cached connections are closed under any of
4752 the following conditions:
4753 </p>
4754
4755 <ul>
4756
4757 <li> The Postfix LMTP client idle time limit is reached. This limit is
4758 specified with the Postfix <a href="postconf.5.html#max_idle">max_idle</a> configuration parameter.
4759
4760 <li> A delivery request specifies a different destination than the
4761 one currently cached.
4762
4763 <li> The per-process limit on the number of delivery requests is
4764 reached. This limit is specified with the Postfix <a href="postconf.5.html#max_use">max_use</a>
4765 configuration parameter.
4766
4767 <li> Upon the onset of another delivery request, the remote LMTP server
4768 associated with the current session does not respond to the RSET
4769 command.
4770
4771 </ul>
4772
4773 <p>
4774 Most of these limitations have been with the Postfix
4775 connection cache that is shared among multiple LMTP client
4776 programs.
4777 </p>
4778
4779
4780 </DD>
4781
4782 <DT><b><a name="lmtp_cname_overrides_servername">lmtp_cname_overrides_servername</a>
4783 (default: yes)</b></DT><DD>
4784
4785 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
4786 configuration parameter. See there for details. </p>
4787
4788 <p> This feature is available in Postfix 2.3 and later. </p>
4789
4790
4791 </DD>
4792
4793 <DT><b><a name="lmtp_connect_timeout">lmtp_connect_timeout</a>
4794 (default: 0s)</b></DT><DD>
4795
4796 <p> The Postfix LMTP client time limit for completing a TCP connection, or
4797 zero (use the operating system built-in time limit). When no
4798 connection can be made within the deadline, the LMTP client tries
4799 the next address on the mail exchanger list. </p>
4800
4801 <p> Specify a non-negative time value (an integral value plus an optional
4802 one-letter suffix that specifies the time unit). Time units: s
4803 (seconds), m (minutes), h (hours), d (days), w (weeks).
4804 The default time unit is s (seconds). </p>
4805
4806 <p>
4807 Example:
4808 </p>
4809
4810 <pre>
4811 <a href="postconf.5.html#lmtp_connect_timeout">lmtp_connect_timeout</a> = 30s
4812 </pre>
4813
4814
4815 </DD>
4816
4817 <DT><b><a name="lmtp_connection_cache_destinations">lmtp_connection_cache_destinations</a>
4818 (default: empty)</b></DT><DD>
4819
4820 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
4821 configuration parameter. See there for details. </p>
4822
4823 <p> This feature is available in Postfix 2.3 and later. </p>
4824
4825
4826 </DD>
4827
4828 <DT><b><a name="lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>
4829 (default: yes)</b></DT><DD>
4830
4831 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
4832 configuration parameter. See there for details. </p>
4833
4834 <p> This feature is available in Postfix 2.3 and later. </p>
4835
4836
4837 </DD>
4838
4839 <DT><b><a name="lmtp_connection_cache_time_limit">lmtp_connection_cache_time_limit</a>
4840 (default: 2s)</b></DT><DD>
4841
4842 <p> The LMTP-specific version of the
4843 <a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> configuration parameter.
4844 See there for details. </p>
4845
4846 <p> This feature is available in Postfix 2.3 and later. </p>
4847
4848
4849 </DD>
4850
4851 <DT><b><a name="lmtp_connection_reuse_count_limit">lmtp_connection_reuse_count_limit</a>
4852 (default: 0)</b></DT><DD>
4853
4854 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a>
4855 configuration parameter. See there for details. </p>
4856
4857 <p> This feature is available in Postfix 2.11 and later. </p>
4858
4859
4860 </DD>
4861
4862 <DT><b><a name="lmtp_connection_reuse_time_limit">lmtp_connection_reuse_time_limit</a>
4863 (default: 300s)</b></DT><DD>
4864
4865 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
4866 configuration parameter. See there for details. </p>
4867
4868 <p> This feature is available in Postfix 2.3 and later. </p>
4869
4870
4871 </DD>
4872
4873 <DT><b><a name="lmtp_data_done_timeout">lmtp_data_done_timeout</a>
4874 (default: 600s)</b></DT><DD>
4875
4876 <p> The Postfix LMTP client time limit for sending the LMTP ".",
4877 and for receiving the remote LMTP server response. When no response
4878 is received within the deadline, a warning is logged that the mail
4879 may be delivered multiple times. </p>
4880
4881 <p> Specify a non-zero time value (an integral value plus an optional
4882 one-letter suffix that specifies the time unit). Time units: s
4883 (seconds), m (minutes), h (hours), d (days), w (weeks).
4884 The default time unit is s (seconds). </p>
4885
4886
4887 </DD>
4888
4889 <DT><b><a name="lmtp_data_init_timeout">lmtp_data_init_timeout</a>
4890 (default: 120s)</b></DT><DD>
4891
4892 <p>
4893 The Postfix LMTP client time limit for sending the LMTP DATA command,
4894 and
4895 for receiving the remote LMTP server response.
4896 </p>
4897
4898 <p> Specify a non-zero time value (an integral value plus an optional
4899 one-letter suffix that specifies the time unit). Time units: s
4900 (seconds), m (minutes), h (hours), d (days), w (weeks).
4901 The default time unit is s (seconds). </p>
4902
4903
4904 </DD>
4905
4906 <DT><b><a name="lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
4907 (default: 180s)</b></DT><DD>
4908
4909 <p>
4910 The Postfix LMTP client time limit for sending the LMTP message
4911 content.
4912 When the connection stalls for more than $<a href="postconf.5.html#lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
4913 the LMTP client terminates the transfer.
4914 </p>
4915
4916 <p> Specify a non-zero time value (an integral value plus an optional
4917 one-letter suffix that specifies the time unit). Time units: s
4918 (seconds), m (minutes), h (hours), d (days), w (weeks).
4919 The default time unit is s (seconds). </p>
4920
4921
4922 </DD>
4923
4924 <DT><b><a name="lmtp_defer_if_no_mx_address_found">lmtp_defer_if_no_mx_address_found</a>
4925 (default: no)</b></DT><DD>
4926
4927 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_defer_if_no_mx_address_found">smtp_defer_if_no_mx_address_found</a>
4928 configuration parameter. See there for details. </p>
4929
4930 <p> This feature is available in Postfix 2.3 and later. </p>
4931
4932
4933 </DD>
4934
4935 <DT><b><a name="lmtp_delivery_status_filter">lmtp_delivery_status_filter</a>
4936 (default: empty)</b></DT><DD>
4937
4938 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a>
4939 configuration parameter. See there for details. </p>
4940
4941 <p> This feature is available in Postfix 3.0 and later. </p>
4942
4943
4944 </DD>
4945
4946 <DT><b><a name="lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a>
4947 (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
4948
4949 <p> The maximal number of parallel deliveries to the same destination
4950 via the lmtp message delivery transport. This limit is enforced by
4951 the queue manager. The message delivery transport name is the first
4952 field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
4953
4954
4955 </DD>
4956
4957 <DT><b><a name="lmtp_destination_recipient_limit">lmtp_destination_recipient_limit</a>
4958 (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
4959
4960 <p> The maximal number of recipients per message for the lmtp
4961 message delivery transport. This limit is enforced by the queue
4962 manager. The message delivery transport name is the first field in
4963 the entry in the <a href="master.5.html">master.cf</a> file. </p>
4964
4965 <p> Setting this parameter to a value of 1 changes the meaning of
4966 <a href="postconf.5.html#lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a> from concurrency per domain into
4967 concurrency per recipient. </p>
4968
4969
4970 </DD>
4971
4972 <DT><b><a name="lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a>
4973 (default: empty)</b></DT><DD>
4974
4975 <p> Lookup tables, indexed by the remote LMTP server address, with
4976 case insensitive lists of LHLO keywords (pipelining, starttls,
4977 auth, etc.) that the Postfix LMTP client will ignore in the LHLO
4978 response
4979 from a remote LMTP server. See <a href="postconf.5.html#lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a> for
4980 details. The table is not indexed by hostname for consistency with
4981 <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
4982
4983 <p> This feature is available in Postfix 2.3 and later. </p>
4984
4985
4986 </DD>
4987
4988 <DT><b><a name="lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a>
4989 (default: empty)</b></DT><DD>
4990
4991 <p> A case insensitive list of LHLO keywords (pipelining, starttls,
4992 auth, etc.) that the Postfix LMTP client will ignore in the LHLO
4993 response
4994 from a remote LMTP server. </p>
4995
4996 <p> This feature is available in Postfix 2.3 and later. </p>
4997
4998 <p> Notes: </p>
4999
5000 <ul>
5001
5002 <li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
5003 this action from being logged. </p>
5004
5005 <li> <p> Use the <a href="postconf.5.html#lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a> feature to
5006 discard LHLO keywords selectively. </p>
5007
5008 </ul>
5009
5010
5011 </DD>
5012
5013 <DT><b><a name="lmtp_dns_reply_filter">lmtp_dns_reply_filter</a>
5014 (default: empty)</b></DT><DD>
5015
5016 <p> Optional filter for Postfix LMTP client DNS lookup results.
5017 See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example. </p>
5018
5019 <p> This feature is available in Postfix 3.0 and later. </p>
5020
5021
5022 </DD>
5023
5024 <DT><b><a name="lmtp_dns_resolver_options">lmtp_dns_resolver_options</a>
5025 (default: empty)</b></DT><DD>
5026
5027 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_resolver_options">smtp_dns_resolver_options</a>
5028 configuration parameter. See there for details. </p>
5029
5030 <p> This feature is available in Postfix 2.8 and later. </p>
5031
5032
5033 </DD>
5034
5035 <DT><b><a name="lmtp_dns_support_level">lmtp_dns_support_level</a>
5036 (default: empty)</b></DT><DD>
5037
5038 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>
5039 configuration parameter. See there for details. </p>
5040
5041 <p> This feature is available in Postfix 2.11 and later. </p>
5042
5043
5044 </DD>
5045
5046 <DT><b><a name="lmtp_enforce_tls">lmtp_enforce_tls</a>
5047 (default: no)</b></DT><DD>
5048
5049 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> configuration
5050 parameter. See there for details. </p>
5051
5052 <p> This feature is deprecated as of Postfix 3.9. Specify
5053 <a href="postconf.5.html#lmtp_tls_security_level">lmtp_tls_security_level</a> instead. </p>
5054
5055 <p> This feature is available in Postfix 2.3 and later. </p>
5056
5057
5058 </DD>
5059
5060 <DT><b><a name="lmtp_fallback_relay">lmtp_fallback_relay</a>
5061 (default: empty)</b></DT><DD>
5062
5063 <p> Optional list of relay hosts for LMTP destinations that can't be
5064 found or that are unreachable. In <a href="postconf.5.html">main.cf</a> elements are separated by
5065 whitespace or commas. </p>
5066
5067 <p> By default, mail is returned to the sender when a destination is not
5068 found, and delivery is deferred when a destination is unreachable. </p>
5069
5070 <p> The fallback relays must be TCP destinations, specified without
5071 a leading "inet:" prefix. Specify a host or host:port. Since MX
5072 lookups do not apply with LMTP, there is no need to use the "[host]" or
5073 "[host]:port" forms. If you specify multiple LMTP destinations, Postfix
5074 will try them in the specified order. </p>
5075
5076 <p>
5077 This feature is available in Postfix 3.1 and later.
5078 </p>
5079
5080
5081 </DD>
5082
5083 <DT><b><a name="lmtp_generic_maps">lmtp_generic_maps</a>
5084 (default: empty)</b></DT><DD>
5085
5086 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_generic_maps">smtp_generic_maps</a> configuration
5087 parameter. See there for details. </p>
5088
5089 <p> This feature is available in Postfix 2.3 and later. </p>
5090
5091
5092 </DD>
5093
5094 <DT><b><a name="lmtp_header_checks">lmtp_header_checks</a>
5095 (default: empty)</b></DT><DD>
5096
5097 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_header_checks">smtp_header_checks</a> configuration
5098 parameter. See there for details. </p>
5099
5100 <p> This feature is available in Postfix 2.5 and later. </p>
5101
5102
5103 </DD>
5104
5105 <DT><b><a name="lmtp_host_lookup">lmtp_host_lookup</a>
5106 (default: dns)</b></DT><DD>
5107
5108 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a> configuration
5109 parameter. See there for details. </p>
5110
5111 <p> This feature is available in Postfix 2.3 and later. </p>
5112
5113
5114 </DD>
5115
5116 <DT><b><a name="lmtp_lhlo_name">lmtp_lhlo_name</a>
5117 (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
5118
5119 <p>
5120 The hostname to send in the LMTP LHLO command.
5121 </p>
5122
5123 <p>
5124 The default value is the machine hostname. Specify a hostname or
5125 [ip.add.re.ss] or [ip:v6:add:re::ss].
5126 </p>
5127
5128 <p>
5129 This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all LMTP
5130 clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
5131 client, for example:
5132 </p>
5133
5134 <blockquote>
5135 <pre>
5136 /etc/postfix/<a href="master.5.html">master.cf</a>:
5137 mylmtp ... lmtp -o <a href="postconf.5.html#lmtp_lhlo_name">lmtp_lhlo_name</a>=foo.bar.com
5138 </pre>
5139 </blockquote>
5140
5141 <p>
5142 This feature is available in Postfix 2.3 and later.
5143 </p>
5144
5145
5146 </DD>
5147
5148 <DT><b><a name="lmtp_lhlo_timeout">lmtp_lhlo_timeout</a>
5149 (default: 300s)</b></DT><DD>
5150
5151 <p> The Postfix LMTP client time limit for sending the LHLO command,
5152 and for receiving the initial remote LMTP server response. </p>
5153
5154 <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
5155 (weeks). The default time unit is s (seconds). </p>
5156
5157
5158 </DD>
5159
5160 <DT><b><a name="lmtp_line_length_limit">lmtp_line_length_limit</a>
5161 (default: 998)</b></DT><DD>
5162
5163 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_line_length_limit">smtp_line_length_limit</a>
5164 configuration parameter. See there for details. </p>
5165
5166 <p> This feature is available in Postfix 2.3 and later. </p>
5167
5168
5169 </DD>
5170
5171 <DT><b><a name="lmtp_mail_timeout">lmtp_mail_timeout</a>
5172 (default: 300s)</b></DT><DD>
5173
5174 <p>
5175 The Postfix LMTP client time limit for sending the MAIL FROM command,
5176 and for receiving the remote LMTP server response.
5177 </p>
5178
5179 <p> Specify a non-zero time value (an integral value plus an optional
5180 one-letter suffix that specifies the time unit). Time units: s
5181 (seconds), m (minutes), h (hours), d (days), w (weeks).
5182 The default time unit is s (seconds). </p>
5183
5184
5185 </DD>
5186
5187 <DT><b><a name="lmtp_mime_header_checks">lmtp_mime_header_checks</a>
5188 (default: empty)</b></DT><DD>
5189
5190 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mime_header_checks">smtp_mime_header_checks</a>
5191 configuration parameter. See there for details. </p>
5192
5193 <p> This feature is available in Postfix 2.5 and later. </p>
5194
5195
5196 </DD>
5197
5198 <DT><b><a name="lmtp_min_data_rate">lmtp_min_data_rate</a>
5199 (default: 500)</b></DT><DD>
5200
5201 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_min_data_rate">smtp_min_data_rate</a> configuration
5202 parameter. See there for details. </p>
5203
5204 <p> This feature is available in Postfix 3.7 and later. </p>
5205
5206
5207 </DD>
5208
5209 <DT><b><a name="lmtp_mx_address_limit">lmtp_mx_address_limit</a>
5210 (default: 5)</b></DT><DD>
5211
5212 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a> configuration
5213 parameter. See there for details. </p>
5214
5215 <p> This feature is available in Postfix 2.3 and later. </p>
5216
5217
5218 </DD>
5219
5220 <DT><b><a name="lmtp_mx_session_limit">lmtp_mx_session_limit</a>
5221 (default: 2)</b></DT><DD>
5222
5223 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_session_limit">smtp_mx_session_limit</a> configuration
5224 parameter. See there for details. </p>
5225
5226 <p> This feature is available in Postfix 2.3 and later. </p>
5227
5228
5229 </DD>
5230
5231 <DT><b><a name="lmtp_nested_header_checks">lmtp_nested_header_checks</a>
5232 (default: empty)</b></DT><DD>
5233
5234 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_nested_header_checks">smtp_nested_header_checks</a>
5235 configuration parameter. See there for details. </p>
5236
5237 <p> This feature is available in Postfix 2.5 and later. </p>
5238
5239
5240 </DD>
5241
5242 <DT><b><a name="lmtp_per_record_deadline">lmtp_per_record_deadline</a>
5243 (default: no)</b></DT><DD>
5244
5245 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a>
5246 configuration parameter. See there for details. </p>
5247
5248 <p> This feature is available in Postfix 2.9 and later. </p>
5249
5250
5251 </DD>
5252
5253 <DT><b><a name="lmtp_per_request_deadline">lmtp_per_request_deadline</a>
5254 (default: no)</b></DT><DD>
5255
5256 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_per_request_deadline">smtp_per_request_deadline</a>
5257 configuration parameter. See there for details. </p>
5258
5259 <p> This feature is available in Postfix 3.7 and later. </p>
5260
5261
5262 </DD>
5263
5264 <DT><b><a name="lmtp_pix_workaround_delay_time">lmtp_pix_workaround_delay_time</a>
5265 (default: 10s)</b></DT><DD>
5266
5267 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
5268 configuration parameter. See there for details. </p>
5269
5270 <p> This feature is available in Postfix 2.3 and later. </p>
5271
5272
5273 </DD>
5274
5275 <DT><b><a name="lmtp_pix_workaround_maps">lmtp_pix_workaround_maps</a>
5276 (default: empty)</b></DT><DD>
5277
5278 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
5279 configuration parameter. See there for details. </p>
5280
5281 <p> This feature is available in Postfix 2.4 and later. </p>
5282
5283
5284 </DD>
5285
5286 <DT><b><a name="lmtp_pix_workaround_threshold_time">lmtp_pix_workaround_threshold_time</a>
5287 (default: 500s)</b></DT><DD>
5288
5289 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
5290 configuration parameter. See there for details. </p>
5291
5292 <p> This feature is available in Postfix 2.3 and later. </p>
5293
5294
5295 </DD>
5296
5297 <DT><b><a name="lmtp_pix_workarounds">lmtp_pix_workarounds</a>
5298 (default: empty)</b></DT><DD>
5299
5300 <p> The LMTP-specific version of the smtp_pix_workaround
5301 configuration parameter. See there for details. </p>
5302
5303 <p> This feature is available in Postfix 2.4 and later. </p>
5304
5305
5306 </DD>
5307
5308 <DT><b><a name="lmtp_quit_timeout">lmtp_quit_timeout</a>
5309 (default: 300s)</b></DT><DD>
5310
5311 <p>
5312 The Postfix LMTP client time limit for sending the QUIT command,
5313 and for receiving the remote LMTP server response.
5314 </p>
5315
5316 <p> Specify a non-zero time value (an integral value plus an optional
5317 one-letter suffix that specifies the time unit). Time units: s
5318 (seconds), m (minutes), h (hours), d (days), w (weeks).
5319 The default time unit is s (seconds). </p>
5320
5321
5322 </DD>
5323
5324 <DT><b><a name="lmtp_quote_rfc821_envelope">lmtp_quote_rfc821_envelope</a>
5325 (default: yes)</b></DT><DD>
5326
5327 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
5328 configuration parameter. See there for details. </p>
5329
5330 <p> This feature is available in Postfix 2.3 and later. </p>
5331
5332
5333 </DD>
5334
5335 <DT><b><a name="lmtp_randomize_addresses">lmtp_randomize_addresses</a>
5336 (default: yes)</b></DT><DD>
5337
5338 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_randomize_addresses">smtp_randomize_addresses</a>
5339 configuration parameter. See there for details. </p>
5340
5341 <p> This feature is available in Postfix 2.3 and later. </p>
5342
5343
5344 </DD>
5345
5346 <DT><b><a name="lmtp_rcpt_timeout">lmtp_rcpt_timeout</a>
5347 (default: 300s)</b></DT><DD>
5348
5349 <p>
5350 The Postfix LMTP client time limit for sending the RCPT TO command,
5351 and for receiving the remote LMTP server response.
5352 </p>
5353
5354 <p> Specify a non-zero time value (an integral value plus an optional
5355 one-letter suffix that specifies the time unit). Time units: s
5356 (seconds), m (minutes), h (hours), d (days), w (weeks).
5357 The default time unit is s (seconds). </p>
5358
5359
5360 </DD>
5361
5362 <DT><b><a name="lmtp_reply_filter">lmtp_reply_filter</a>
5363 (default: empty)</b></DT><DD>
5364
5365 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a>
5366 configuration parameter. See there for details. </p>
5367
5368 <p> This feature is available in Postfix 2.7 and later. </p>
5369
5370
5371 </DD>
5372
5373 <DT><b><a name="lmtp_rset_timeout">lmtp_rset_timeout</a>
5374 (default: 20s)</b></DT><DD>
5375
5376 <p> The Postfix LMTP client time limit for sending the RSET command,
5377 and for receiving the remote LMTP server response. The LMTP client
5378 sends RSET in
5379 order to finish a recipient address probe, or to verify that a
5380 cached connection is still alive. </p>
5381
5382 <p> Specify a non-zero time value (an integral value plus an optional
5383 one-letter suffix that specifies the time unit). Time units: s
5384 (seconds), m (minutes), h (hours), d (days), w (weeks).
5385 The default time unit is s (seconds). </p>
5386
5387
5388 </DD>
5389
5390 <DT><b><a name="lmtp_sasl_auth_cache_name">lmtp_sasl_auth_cache_name</a>
5391 (default: empty)</b></DT><DD>
5392
5393 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
5394 configuration parameter. See there for details. </p>
5395
5396 <p> This feature is available in Postfix 2.5 and later. </p>
5397
5398
5399 </DD>
5400
5401 <DT><b><a name="lmtp_sasl_auth_cache_time">lmtp_sasl_auth_cache_time</a>
5402 (default: 90d)</b></DT><DD>
5403
5404 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
5405 configuration parameter. See there for details. </p>
5406
5407 <p> This feature is available in Postfix 2.5 and later. </p>
5408
5409
5410 </DD>
5411
5412 <DT><b><a name="lmtp_sasl_auth_enable">lmtp_sasl_auth_enable</a>
5413 (default: no)</b></DT><DD>
5414
5415 <p>
5416 Enable SASL authentication in the Postfix LMTP client.
5417 </p>
5418
5419
5420 </DD>
5421
5422 <DT><b><a name="lmtp_sasl_auth_soft_bounce">lmtp_sasl_auth_soft_bounce</a>
5423 (default: yes)</b></DT><DD>
5424
5425 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
5426 configuration parameter. See there for details. </p>
5427
5428 <p> This feature is available in Postfix 2.5 and later. </p>
5429
5430
5431 </DD>
5432
5433 <DT><b><a name="lmtp_sasl_mechanism_filter">lmtp_sasl_mechanism_filter</a>
5434 (default: empty)</b></DT><DD>
5435
5436 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
5437 configuration parameter. See there for details. </p>
5438
5439 <p> This feature is available in Postfix 2.3 and later. </p>
5440
5441
5442 </DD>
5443
5444 <DT><b><a name="lmtp_sasl_password_maps">lmtp_sasl_password_maps</a>
5445 (default: empty)</b></DT><DD>
5446
5447 <p>
5448 Optional Postfix LMTP client lookup tables with one username:password entry
5449 per host or domain. If a remote host or domain has no username:password
5450 entry, then the Postfix LMTP client will not attempt to authenticate
5451 to the remote host.
5452 </p>
5453
5454
5455 </DD>
5456
5457 <DT><b><a name="lmtp_sasl_password_result_delimiter">lmtp_sasl_password_result_delimiter</a>
5458 (default: :)</b></DT><DD>
5459
5460 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_password_result_delimiter">smtp_sasl_password_result_delimiter</a>
5461 configuration parameter. See there for details. </p>
5462
5463
5464 </DD>
5465
5466 <DT><b><a name="lmtp_sasl_path">lmtp_sasl_path</a>
5467 (default: empty)</b></DT><DD>
5468
5469 <p> Implementation-specific information that is passed through to
5470 the SASL plug-in implementation that is selected with
5471 <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>. Typically this specifies the name of a
5472 configuration file or rendezvous point. </p>
5473
5474 <p> This feature is available in Postfix 2.3 and later. </p>
5475
5476
5477 </DD>
5478
5479 <DT><b><a name="lmtp_sasl_security_options">lmtp_sasl_security_options</a>
5480 (default: noplaintext, noanonymous)</b></DT><DD>
5481
5482 <p> SASL security options; as of Postfix 2.3 the list of available
5483 features depends on the SASL client implementation that is selected
5484 with <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>. </p>
5485
5486 <p> The following security features are defined for the <b>cyrus</b>
5487 client SASL implementation: </p>
5488
5489 <dl>
5490
5491 <dt><b>noplaintext</b></dt>
5492
5493 <dd>Disallow authentication methods that use plaintext passwords. </dd>
5494
5495 <dt><b>noactive</b></dt>
5496
5497 <dd>Disallow authentication methods that are vulnerable to non-dictionary
5498 active attacks. </dd>
5499
5500 <dt><b>nodictionary</b></dt>
5501
5502 <dd>Disallow authentication methods that are vulnerable to passive
5503 dictionary attacks. </dd>
5504
5505 <dt><b>noanonymous</b></dt>
5506
5507 <dd>Disallow anonymous logins. </dd>
5508
5509 </dl>
5510
5511 <p>
5512 Example:
5513 </p>
5514
5515 <pre>
5516 <a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a> = noplaintext
5517 </pre>
5518
5519
5520 </DD>
5521
5522 <DT><b><a name="lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>
5523 (default: $<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a>)</b></DT><DD>
5524
5525 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
5526 configuration parameter. See there for details. </p>
5527
5528 <p> This feature is available in Postfix 2.3 and later. </p>
5529
5530
5531 </DD>
5532
5533 <DT><b><a name="lmtp_sasl_tls_verified_security_options">lmtp_sasl_tls_verified_security_options</a>
5534 (default: $<a href="postconf.5.html#lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>)</b></DT><DD>
5535
5536 <p> The LMTP-specific version of the
5537 <a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> configuration parameter.
5538 See there for details. </p>
5539
5540 <p> This feature is available in Postfix 2.3 and later. </p>
5541
5542
5543 </DD>
5544
5545 <DT><b><a name="lmtp_sasl_type">lmtp_sasl_type</a>
5546 (default: cyrus)</b></DT><DD>
5547
5548 <p> The SASL plug-in type that the Postfix LMTP client should use
5549 for authentication. The available types are listed with the
5550 "<b>postconf -A</b>" command. </p>
5551
5552 <p> This feature is available in Postfix 2.3 and later. </p>
5553
5554
5555 </DD>
5556
5557 <DT><b><a name="lmtp_send_dummy_mail_auth">lmtp_send_dummy_mail_auth</a>
5558 (default: no)</b></DT><DD>
5559
5560 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
5561 configuration parameter. See there for details. </p>
5562
5563 <p> This feature is available in Postfix 2.9 and later. </p>
5564
5565
5566 </DD>
5567
5568 <DT><b><a name="lmtp_send_xforward_command">lmtp_send_xforward_command</a>
5569 (default: no)</b></DT><DD>
5570
5571 <p>
5572 Send an XFORWARD command to the remote LMTP server when the LMTP LHLO
5573 server response announces XFORWARD support. This allows an <a href="lmtp.8.html">lmtp(8)</a>
5574 delivery agent, used for content filter message injection, to
5575 forward the name, address, protocol and HELO name of the original
5576 client to the content filter and downstream LMTP server.
5577 Before you change the value to yes, it is best to make sure that
5578 your content filter supports this command.
5579 </p>
5580
5581 <p>
5582 This feature is available in Postfix 2.1 and later.
5583 </p>
5584
5585
5586 </DD>
5587
5588 <DT><b><a name="lmtp_sender_dependent_authentication">lmtp_sender_dependent_authentication</a>
5589 (default: no)</b></DT><DD>
5590
5591 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
5592 configuration parameter. See there for details. </p>
5593
5594 <p> This feature is available in Postfix 2.3 and later. </p>
5595
5596
5597 </DD>
5598
5599 <DT><b><a name="lmtp_skip_5xx_greeting">lmtp_skip_5xx_greeting</a>
5600 (default: yes)</b></DT><DD>
5601
5602 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
5603 configuration parameter. See there for details. </p>
5604
5605 <p> This feature is available in Postfix 2.3 and later. </p>
5606
5607
5608 </DD>
5609
5610 <DT><b><a name="lmtp_skip_quit_response">lmtp_skip_quit_response</a>
5611 (default: no)</b></DT><DD>
5612
5613 <p>
5614 Wait for the response to the LMTP QUIT command.
5615 </p>
5616
5617
5618 </DD>
5619
5620 <DT><b><a name="lmtp_starttls_timeout">lmtp_starttls_timeout</a>
5621 (default: 300s)</b></DT><DD>
5622
5623 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_starttls_timeout">smtp_starttls_timeout</a> configuration
5624 parameter. See there for details. </p>
5625
5626 <p> This feature is available in Postfix 2.3 and later. </p>
5627
5628
5629 </DD>
5630
5631 <DT><b><a name="lmtp_tcp_port">lmtp_tcp_port</a>
5632 (default: 24)</b></DT><DD>
5633
5634 <p>
5635 The default TCP port that the Postfix LMTP client connects to.
5636 Specify a symbolic name (see services(5)) or a numeric port.
5637 </p>
5638
5639
5640 </DD>
5641
5642 <DT><b><a name="lmtp_tls_CAfile">lmtp_tls_CAfile</a>
5643 (default: empty)</b></DT><DD>
5644
5645 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>
5646 configuration parameter. See there for details. </p>
5647
5648 <p> This feature is available in Postfix 2.3 and later. </p>
5649
5650
5651 </DD>
5652
5653 <DT><b><a name="lmtp_tls_CApath">lmtp_tls_CApath</a>
5654 (default: empty)</b></DT><DD>
5655
5656 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a>
5657 configuration parameter. See there for details. </p>
5658
5659 <p> This feature is available in Postfix 2.3 and later. </p>
5660
5661
5662 </DD>
5663
5664 <DT><b><a name="lmtp_tls_block_early_mail_reply">lmtp_tls_block_early_mail_reply</a>
5665 (default: empty)</b></DT><DD>
5666
5667 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a>
5668 configuration parameter. See there for details. </p>
5669
5670 <p> This feature is available in Postfix 2.7 and later. </p>
5671
5672
5673 </DD>
5674
5675 <DT><b><a name="lmtp_tls_cert_file">lmtp_tls_cert_file</a>
5676 (default: empty)</b></DT><DD>
5677
5678 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>
5679 configuration parameter. See there for details. </p>
5680
5681 <p> This feature is available in Postfix 2.3 and later. </p>
5682
5683
5684 </DD>
5685
5686 <DT><b><a name="lmtp_tls_chain_files">lmtp_tls_chain_files</a>
5687 (default: empty)</b></DT><DD>
5688
5689 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> configuration
5690 parameter. See there for details. </p>
5691
5692 <p> This feature is available in Postfix 3.4 and later. </p>
5693
5694
5695 </DD>
5696
5697 <DT><b><a name="lmtp_tls_ciphers">lmtp_tls_ciphers</a>
5698 (default: medium)</b></DT><DD>
5699
5700 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> configuration
5701 parameter. See there for details. </p>
5702
5703 <p> This feature is available in Postfix 2.6 and later. </p>
5704
5705
5706 </DD>
5707
5708 <DT><b><a name="lmtp_tls_connection_reuse">lmtp_tls_connection_reuse</a>
5709 (default: no)</b></DT><DD>
5710
5711 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> configuration
5712 parameter. See there for details. </p>
5713
5714 <p> This feature is available in Postfix 3.4 and later. </p>
5715
5716
5717 </DD>
5718
5719 <DT><b><a name="lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>
5720 (default: empty)</b></DT><DD>
5721
5722 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>
5723 configuration parameter. See there for details. </p>
5724
5725 <p> This feature is available in Postfix 2.3 and later. </p>
5726
5727
5728 </DD>
5729
5730 <DT><b><a name="lmtp_tls_dkey_file">lmtp_tls_dkey_file</a>
5731 (default: $<a href="postconf.5.html#lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>)</b></DT><DD>
5732
5733 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a>
5734 configuration parameter. See there for details. </p>
5735
5736 <p> This feature is available in Postfix 2.3 and later. </p>
5737
5738
5739 </DD>
5740
5741 <DT><b><a name="lmtp_tls_eccert_file">lmtp_tls_eccert_file</a>
5742 (default: empty)</b></DT><DD>
5743
5744 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> configuration
5745 parameter. See there for details. </p>
5746
5747 <p> This feature is available in Postfix 2.6 and later, when Postfix is
5748 compiled and linked with OpenSSL 1.0.0 or later. </p>
5749
5750
5751 </DD>
5752
5753 <DT><b><a name="lmtp_tls_eckey_file">lmtp_tls_eckey_file</a>
5754 (default: empty)</b></DT><DD>
5755
5756 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> configuration
5757 parameter. See there for details. </p>
5758
5759 <p> This feature is available in Postfix 2.6 and later, when Postfix is
5760 compiled and linked with OpenSSL 1.0.0 or later. </p>
5761
5762
5763 </DD>
5764
5765 <DT><b><a name="lmtp_tls_enable_rpk">lmtp_tls_enable_rpk</a>
5766 (default: yes)</b></DT><DD>
5767
5768 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a>
5769 configuration parameter. See there for details. </p>
5770
5771 <p> This feature is available in Postfix 3.9 and later. </p>
5772
5773
5774 </DD>
5775
5776 <DT><b><a name="lmtp_tls_enforce_peername">lmtp_tls_enforce_peername</a>
5777 (default: yes)</b></DT><DD>
5778
5779 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
5780 configuration parameter. See there for details. </p>
5781
5782 <p> This feature is available in Postfix 2.3 and later. </p>
5783
5784
5785 </DD>
5786
5787 <DT><b><a name="lmtp_tls_exclude_ciphers">lmtp_tls_exclude_ciphers</a>
5788 (default: empty)</b></DT><DD>
5789
5790 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
5791 configuration parameter. See there for details. </p>
5792
5793 <p> This feature is available in Postfix 2.3 and later. </p>
5794
5795
5796 </DD>
5797
5798 <DT><b><a name="lmtp_tls_fingerprint_cert_match">lmtp_tls_fingerprint_cert_match</a>
5799 (default: empty)</b></DT><DD>
5800
5801 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
5802 configuration parameter. See there for details. </p>
5803
5804 <p> This feature is available in Postfix 2.5 and later. </p>
5805
5806
5807 </DD>
5808
5809 <DT><b><a name="lmtp_tls_fingerprint_digest">lmtp_tls_fingerprint_digest</a>
5810 (default: see "postconf -d" output)</b></DT><DD>
5811
5812 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
5813 configuration parameter. See there for details. </p>
5814
5815 <p> This feature is available in Postfix 2.5 and later. </p>
5816
5817
5818 </DD>
5819
5820 <DT><b><a name="lmtp_tls_force_insecure_host_tlsa_lookup">lmtp_tls_force_insecure_host_tlsa_lookup</a>
5821 (default: no)</b></DT><DD>
5822
5823 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a>
5824 configuration parameter. See there for details. </p>
5825
5826 <p> This feature is available in Postfix 2.11 and later. </p>
5827
5828
5829 </DD>
5830
5831 <DT><b><a name="lmtp_tls_key_file">lmtp_tls_key_file</a>
5832 (default: $<a href="postconf.5.html#lmtp_tls_cert_file">lmtp_tls_cert_file</a>)</b></DT><DD>
5833
5834 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a>
5835 configuration parameter. See there for details. </p>
5836
5837 <p> This feature is available in Postfix 2.3 and later. </p>
5838
5839
5840 </DD>
5841
5842 <DT><b><a name="lmtp_tls_loglevel">lmtp_tls_loglevel</a>
5843 (default: 0)</b></DT><DD>
5844
5845 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>
5846 configuration parameter. See there for details. </p>
5847
5848 <p> This feature is available in Postfix 2.3 and later. </p>
5849
5850
5851 </DD>
5852
5853 <DT><b><a name="lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>
5854 (default: medium)</b></DT><DD>
5855
5856 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
5857 configuration parameter. See there for details. </p>
5858
5859 <p> This feature is available in Postfix 2.3 and later. </p>
5860
5861
5862 </DD>
5863
5864 <DT><b><a name="lmtp_tls_mandatory_exclude_ciphers">lmtp_tls_mandatory_exclude_ciphers</a>
5865 (default: empty)</b></DT><DD>
5866
5867 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
5868 configuration parameter. See there for details. </p>
5869
5870 <p> This feature is available in Postfix 2.3 and later. </p>
5871
5872
5873 </DD>
5874
5875 <DT><b><a name="lmtp_tls_mandatory_protocols">lmtp_tls_mandatory_protocols</a>
5876 (default: see 'postconf -d' output)</b></DT><DD>
5877
5878 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
5879 configuration parameter. See there for details. </p>
5880
5881 <p> This feature is available in Postfix 2.3 and later. </p>
5882
5883
5884 </DD>
5885
5886 <DT><b><a name="lmtp_tls_note_starttls_offer">lmtp_tls_note_starttls_offer</a>
5887 (default: no)</b></DT><DD>
5888
5889 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
5890 configuration parameter. See there for details. </p>
5891
5892 <p> This feature is available in Postfix 2.3 and later. </p>
5893
5894
5895 </DD>
5896
5897 <DT><b><a name="lmtp_tls_per_site">lmtp_tls_per_site</a>
5898 (default: empty)</b></DT><DD>
5899
5900 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> configuration
5901 parameter. See there for details. </p>
5902
5903 <p> This feature is deprecated as of Postfix 3.9. Specify
5904 <a href="postconf.5.html#lmtp_tls_policy_maps">lmtp_tls_policy_maps</a> instead. </p>
5905
5906 <p> This feature is available in Postfix 2.3 and later. </p>
5907
5908
5909 </DD>
5910
5911 <DT><b><a name="lmtp_tls_policy_maps">lmtp_tls_policy_maps</a>
5912 (default: empty)</b></DT><DD>
5913
5914 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>
5915 configuration parameter. See there for details. </p>
5916
5917 <p> This feature is available in Postfix 2.3 and later. </p>
5918
5919
5920 </DD>
5921
5922 <DT><b><a name="lmtp_tls_protocols">lmtp_tls_protocols</a>
5923 (default: see 'postconf -d' output)</b></DT><DD>
5924
5925 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> configuration
5926 parameter. See there for details. </p>
5927
5928 <p> This feature is available in Postfix 2.6 and later. </p>
5929
5930
5931 </DD>
5932
5933 <DT><b><a name="lmtp_tls_scert_verifydepth">lmtp_tls_scert_verifydepth</a>
5934 (default: 9)</b></DT><DD>
5935
5936 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
5937 configuration parameter. See there for details. </p>
5938
5939 <p> This feature is available in Postfix 2.3 and later. </p>
5940
5941
5942 </DD>
5943
5944 <DT><b><a name="lmtp_tls_secure_cert_match">lmtp_tls_secure_cert_match</a>
5945 (default: nexthop)</b></DT><DD>
5946
5947 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
5948 configuration parameter. See there for details. </p>
5949
5950 <p> This feature is available in Postfix 2.3 and later. </p>
5951
5952
5953 </DD>
5954
5955 <DT><b><a name="lmtp_tls_security_level">lmtp_tls_security_level</a>
5956 (default: empty)</b></DT><DD>
5957
5958 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> configuration
5959 parameter. See there for details. </p>
5960
5961 <p> This feature is available in Postfix 2.3 and later. </p>
5962
5963
5964 </DD>
5965
5966 <DT><b><a name="lmtp_tls_servername">lmtp_tls_servername</a>
5967 (default: empty)</b></DT><DD>
5968
5969 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_servername">smtp_tls_servername</a> configuration
5970 parameter. See there for details. </p>
5971
5972 <p> This feature is available in Postfix 3.4 and later. </p>
5973
5974
5975 </DD>
5976
5977 <DT><b><a name="lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>
5978 (default: empty)</b></DT><DD>
5979
5980 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
5981 configuration parameter. See there for details. </p>
5982
5983 <p> This feature is available in Postfix 2.3 and later. </p>
5984
5985
5986 </DD>
5987
5988 <DT><b><a name="lmtp_tls_session_cache_timeout">lmtp_tls_session_cache_timeout</a>
5989 (default: 3600s)</b></DT><DD>
5990
5991 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
5992 configuration parameter. See there for details. </p>
5993
5994 <p> This feature is available in Postfix 2.3 and later. </p>
5995
5996
5997 </DD>
5998
5999 <DT><b><a name="lmtp_tls_trust_anchor_file">lmtp_tls_trust_anchor_file</a>
6000 (default: empty)</b></DT><DD>
6001
6002 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
6003 configuration parameter. See there for details. </p>
6004
6005 <p> This feature is available in Postfix 2.11 and later. </p>
6006
6007
6008 </DD>
6009
6010 <DT><b><a name="lmtp_tls_verify_cert_match">lmtp_tls_verify_cert_match</a>
6011 (default: hostname)</b></DT><DD>
6012
6013 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
6014 configuration parameter. See there for details. </p>
6015
6016 <p> This feature is available in Postfix 2.3 and later. </p>
6017
6018
6019 </DD>
6020
6021 <DT><b><a name="lmtp_tls_wrappermode">lmtp_tls_wrappermode</a>
6022 (default: no)</b></DT><DD>
6023
6024 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> configuration
6025 parameter. See there for details. </p>
6026
6027 <p> This feature is available in Postfix 3.0 and later. </p>
6028
6029
6030 </DD>
6031
6032 <DT><b><a name="lmtp_use_tls">lmtp_use_tls</a>
6033 (default: no)</b></DT><DD>
6034
6035 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> configuration
6036 parameter. See there for details. </p>
6037
6038 <p> This feature is deprecated as of Postfix 3.9. Specify
6039 <a href="postconf.5.html#lmtp_tls_security_level">lmtp_tls_security_level</a> instead. </p>
6040
6041 <p> This feature is available in Postfix 2.3 and later. </p>
6042
6043
6044 </DD>
6045
6046 <DT><b><a name="lmtp_xforward_timeout">lmtp_xforward_timeout</a>
6047 (default: 300s)</b></DT><DD>
6048
6049 <p>
6050 The Postfix LMTP client time limit for sending the XFORWARD command,
6051 and for receiving the remote LMTP server response.
6052 </p>
6053
6054 <p>
6055 In case of problems the client does NOT try the next address on
6056 the mail exchanger list.
6057 </p>
6058
6059 <p> Specify a non-zero time value (an integral value plus an optional
6060 one-letter suffix that specifies the time unit). Time units: s
6061 (seconds), m (minutes), h (hours), d (days), w (weeks).
6062 The default time unit is s (seconds). </p>
6063
6064 <p>
6065 This feature is available in Postfix 2.1 and later.
6066 </p>
6067
6068
6069 </DD>
6070
6071 <DT><b><a name="local_command_shell">local_command_shell</a>
6072 (default: empty)</b></DT><DD>
6073
6074 <p>
6075 Optional shell program for <a href="local.8.html">local(8)</a> delivery to non-Postfix commands.
6076 By default, non-Postfix commands are executed directly; commands
6077 are given to the default shell (typically, /bin/sh) only when they
6078 contain shell meta characters or shell built-in commands.
6079 </p>
6080
6081 <p> "sendmail's restricted shell" (smrsh) is what most people will
6082 use in order to restrict what programs can be run from e.g. .forward
6083 files (smrsh is part of the Sendmail distribution). </p>
6084
6085 <p> Note: when a shell program is specified, it is invoked even
6086 when the command contains no shell built-in commands or meta
6087 characters. </p>
6088
6089 <p>
6090 Example:
6091 </p>
6092
6093 <pre>
6094 <a href="postconf.5.html#local_command_shell">local_command_shell</a> = /some/where/smrsh -c
6095 <a href="postconf.5.html#local_command_shell">local_command_shell</a> = /bin/bash -c
6096 </pre>
6097
6098
6099 </DD>
6100
6101 <DT><b><a name="local_delivery_status_filter">local_delivery_status_filter</a>
6102 (default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
6103
6104 <p> Optional filter for the <a href="local.8.html">local(8)</a> delivery agent to change the
6105 status code or explanatory text of successful or unsuccessful
6106 deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p>
6107
6108 <p> This feature is available in Postfix 3.0 and later. </p>
6109
6110
6111 </DD>
6112
6113 <DT><b><a name="local_destination_concurrency_limit">local_destination_concurrency_limit</a>
6114 (default: 2)</b></DT><DD>
6115
6116 <p> The maximal number of parallel deliveries via the local mail
6117 delivery transport to the same recipient (when
6118 "<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> = 1") or the maximal number of
6119 parallel deliveries to the same <a href="ADDRESS_CLASS_README.html#local_domain_class">local domain</a> (when
6120 "<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> > 1"). This limit is enforced by
6121 the queue manager. The message delivery transport name is the first
6122 field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
6123
6124 <p> A low limit of 2 is recommended, just in case someone has an
6125 expensive shell command in a .forward file or in an alias (e.g.,
6126 a mailing list manager). You don't want to run lots of those at
6127 the same time. </p>
6128
6129
6130 </DD>
6131
6132 <DT><b><a name="local_destination_recipient_limit">local_destination_recipient_limit</a>
6133 (default: 1)</b></DT><DD>
6134
6135 <p> The maximal number of recipients per message delivery via the
6136 local mail delivery transport. This limit is enforced by the queue
6137 manager. The message delivery transport name is the first field in
6138 the entry in the <a href="master.5.html">master.cf</a> file. </p>
6139
6140 <p> Setting this parameter to a value > 1 changes the meaning of
6141 <a href="postconf.5.html#local_destination_concurrency_limit">local_destination_concurrency_limit</a> from concurrency per recipient
6142 into concurrency per domain. </p>
6143
6144
6145 </DD>
6146
6147 <DT><b><a name="local_header_rewrite_clients">local_header_rewrite_clients</a>
6148 (default: <a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a>)</b></DT><DD>
6149
6150 <p> Rewrite or add message headers in mail from these clients,
6151 updating incomplete addresses with the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or
6152 $<a href="postconf.5.html#mydomain">mydomain</a>, and adding missing headers. </p>
6153
6154 <p> See the <a href="postconf.5.html#append_at_myorigin">append_at_myorigin</a> and <a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a> parameters
6155 for details of how domain names are appended to incomplete addresses.
6156 </p>
6157
6158 <p> See <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> to optionally rewrite or add
6159 message headers in mail from other clients. </p>
6160
6161 <p> Specify a list of zero or more of the following: </p>
6162
6163 <dl>
6164
6165 <dt><b><a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
6166
6167 <dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the
6168 client IP address matches $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. This is enabled by
6169 default. </dd>
6170
6171 <dt><b><a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a></b></dt>
6172
6173 <dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the
6174 client IP address matches any network or network address listed in
6175 $<a href="postconf.5.html#mynetworks">mynetworks</a>. This setting will not prevent remote mail header
6176 address rewriting when mail from a remote client is forwarded by
6177 a neighboring system. </dd>
6178
6179 <dt><b><a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> </b></dt>
6180
6181 <dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the
6182 client is successfully authenticated via the <a href="https://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH)
6183 protocol. </dd>
6184
6185 <dt><b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> </b></dt>
6186
6187 <dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the
6188 remote SMTP client TLS certificate fingerprint or public key fingerprint
6189 (Postfix 2.9 and later) is listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
6190 The fingerprint digest algorithm is configurable via the
6191 <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
6192 Postfix version 2.5). </dd>
6193
6194 <dd> The default algorithm is <b>sha256</b> with Postfix ≥ 3.6
6195 and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix
6196 ≤ 3.5, the default algorithm is <b>md5</b>. The best-practice
6197 algorithm is now <b>sha256</b>. Recent advances in hash function
6198 cryptanalysis have led to md5 and sha1 being deprecated in favor of
6199 sha256. However, as long as there are no known "second pre-image"
6200 attacks against the older algorithms, their use in this context, though
6201 not recommended, is still likely safe. </dd>
6202
6203 <dt><b><a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a> </b></dt>
6204
6205 <dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the
6206 remote SMTP client TLS certificate is successfully verified, regardless of
6207 whether it is listed on the server, and regardless of the certifying
6208 authority. </dd>
6209
6210 <dt><b><a name="check_address_map">check_address_map</a> <i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
6211
6212 <dt><b><i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
6213
6214 <dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the
6215 client IP address matches the specified lookup table.
6216 The lookup result is ignored, and no subnet lookup is done. This
6217 is suitable for, e.g., pop-before-smtp lookup tables. </dd>
6218
6219 </dl>
6220
6221 <p> Examples: </p>
6222
6223 <p> The Postfix < 2.2 backwards compatible setting: always rewrite
6224 message headers, and always append my own domain to incomplete
6225 header addresses. </p>
6226
6227 <blockquote>
6228 <pre>
6229 <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all
6230 </pre>
6231 </blockquote>
6232
6233 <p> The purist (and default) setting: rewrite headers only in mail
6234 from Postfix sendmail and in SMTP mail from this machine. </p>
6235
6236 <blockquote>
6237 <pre>
6238 <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a>
6239 </pre>
6240 </blockquote>
6241
6242 <p> The intermediate setting: rewrite header addresses and append
6243 $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> information only with mail from Postfix
6244 sendmail, from local clients, or from authorized SMTP clients. </p>
6245
6246 <p> Note: this setting will not prevent remote mail header address
6247 rewriting when mail from a remote client is forwarded by a neighboring
6248 system. </p>
6249
6250 <blockquote>
6251 <pre>
6252 <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
6253 <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
6254 <a href="postconf.5.html#check_address_map">check_address_map</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/pop-before-smtp
6255 </pre>
6256 </blockquote>
6257
6258
6259 </DD>
6260
6261 <DT><b><a name="local_login_sender_maps">local_login_sender_maps</a>
6262 (default: <a href="DATABASE_README.html#types">static</a>:*)</b></DT><DD>
6263
6264 <p> A list of lookup tables that are searched by the UNIX login name,
6265 and that return a list of allowed envelope sender patterns separated
6266 by space or comma. These sender patterns are enforced by the Postfix
6267 <a href="postdrop.1.html">postdrop(1)</a> command. The default is backwards-compatible:
6268 every user may specify any sender envelope address. </p>
6269
6270 <p> When no UNIX login name is available, the <a href="postdrop.1.html">postdrop(1)</a> command will
6271 prepend "<b>uid:</b>" to the numerical UID and use that instead. </p>
6272
6273 <p> This feature ignores address extensions in the user-specified
6274 envelope sender address. </p>
6275
6276 <p> Note: to enforce that the From: header address matches the envelope
6277 sender (MAIL FROM) address, specify an external filter such as a Milter,
6278 with the <a href="postconf.5.html#non_smtpd_milters">non_smtpd_milters</a> parameter. For example:
6279 <a href="https://github.com/magcks/milterfrom">https://github.com/magcks/milterfrom</a>. </p>
6280
6281 <p> The following sender patterns are special; these cannot be used
6282 as part of a longer pattern. </p>
6283
6284 <dl compact>
6285
6286 <dt> <b> * </b> <dd> This pattern allows any envelope sender address.
6287 </dd>
6288
6289 <dt> <b> <> </b> </dt> <dd> This pattern allows the empty
6290 envelope sender address. See the
6291 <a href="postconf.5.html#empty_address_local_login_sender_maps_lookup_key">empty_address_local_login_sender_maps_lookup_key</a> configuration
6292 parameter. </dd>
6293
6294 <dt> <b> @</b><i>domain</i> </dt> <dd> This pattern allows an
6295 envelope sender address when the '<b>@</b>' and <i>domain</i> part
6296 match. </dd>
6297
6298 </dl>
6299
6300 <p> Examples: </p>
6301
6302 <pre>
6303 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
6304 # Allow root and postfix full control, anyone else can only
6305 # send mail as themselves. Use "uid:" followed by the numerical
6306 # UID when the UID has no entry in the UNIX password file.
6307 <a href="postconf.5.html#local_login_sender_maps">local_login_sender_maps</a> =
6308 <a href="DATABASE_README.html#types">inline</a>:{ { root = * }, { postfix = * } },
6309 <a href="pcre_table.5.html">pcre</a>:/etc/postfix/login_senders
6310 </pre>
6311
6312 <pre>
6313 /etc/postfix/login_senders:
6314 # Allow both the bare username and the user@domain forms.
6315 /(.+)/ $1 $1 (a] example.com
6316 </pre>
6317
6318 <p> This feature is available in Postfix 3.6 and later. </p>
6319
6320
6321 </DD>
6322
6323 <DT><b><a name="local_recipient_maps">local_recipient_maps</a>
6324 (default: <a href="proxymap.8.html">proxy</a>:unix:passwd.byname $<a href="postconf.5.html#alias_maps">alias_maps</a>)</b></DT><DD>
6325
6326 <p> Lookup tables with all names or addresses of valid local
6327 recipients. A recipient address is local when its domain matches
6328 $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. </p>
6329
6330 <p> If the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> parameter value is non-empty (the
6331 default), then the Postfix SMTP server queries <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a>
6332 as specified in "<a href="LOCAL_RECIPIENT_README.html#format">Local
6333 recipient table query format</a>", and rejects mail for unknown
6334 local recipients. Other Postfix interfaces such as the Postfix
6335 <a href="sendmail.1.html">sendmail(1)</a> command may still accept an "unknown" recipient. </p>
6336
6337 <p> The default <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> setting assumes that <a href="postconf.5.html#local_transport">local_transport</a>
6338 specifies the UNIX-compatible <a href="local.8.html">local(8)</a> delivery agent which queries
6339 the UNIX passwd database (typically, /etc.passwd) and the local
6340 aliases database (typically, /etc/aliases). The <a href="proxymap.8.html">proxy</a>: agent allows
6341 the Postfix SMTP server to access the UNIX passwd database from
6342 outside a chroot jail. </p>
6343
6344 <p> For other local mail delivery configurations, see "<a href="LOCAL_RECIPIENT_README.html#change">When you need to
6345 change the local_recipient_maps setting in main.cf</a>". </p>
6346
6347 <p>
6348 Technically, tables listed with $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> are used as
6349 lists: The Postfix SMTP server needs to know only if a lookup string
6350 is found or not, but it does not use the result from table lookup. </p>
6351
6352 <p>
6353 Specify zero or more "type:name" lookup tables, separated by
6354 whitespace or comma. Tables will be searched in the specified order
6355 until a match is found.
6356 </p>
6357
6358 <p>
6359 To turn off local recipient checking in the Postfix SMTP server,
6360 specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty).
6361 </p>
6362
6363 <p>
6364 Examples:
6365 </p>
6366
6367 <pre>
6368 <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =
6369 </pre>
6370
6371
6372 </DD>
6373
6374 <DT><b><a name="local_transport">local_transport</a>
6375 (default: <a href="local.8.html">local</a>:$<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
6376
6377 <p> The default mail delivery transport and next-hop destination
6378 for final delivery to domains listed with <a href="postconf.5.html#mydestination">mydestination</a>, and for
6379 [ipaddress] destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
6380 This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
6381
6382 <p>
6383 By default, local mail is delivered to the transport called "local",
6384 which is just the name of a service that is defined the <a href="master.5.html">master.cf</a> file.
6385 </p>
6386
6387 <p>
6388 Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
6389 is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
6390 The <i>:nexthop</i> destination is optional; its syntax is documented
6391 in the manual page of the corresponding delivery agent.
6392 </p>
6393
6394 <p>
6395 Beware: if you override the default local delivery agent then you
6396 need to review the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> document, otherwise the
6397 SMTP server may reject mail for local recipients.
6398 </p>
6399
6400
6401 </DD>
6402
6403 <DT><b><a name="luser_relay">luser_relay</a>
6404 (default: empty)</b></DT><DD>
6405
6406 <p>
6407 Optional catch-all destination for unknown <a href="local.8.html">local(8)</a> recipients.
6408 By default, mail for unknown recipients in domains that match
6409 $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> is returned
6410 as undeliverable.
6411 </p>
6412
6413 <p>
6414 The <a href="postconf.5.html#luser_relay">luser_relay</a> value is not subject to Postfix configuration
6415 parameter $name expansion. Instead, the following $name expansions
6416 are done:
6417 </p>
6418
6419 <dl>
6420
6421 <dt><b>$domain</b></dt>
6422
6423 <dd>The recipient domain. </dd>
6424
6425 <dt><b>$extension</b></dt>
6426
6427 <dd>The recipient address extension. </dd>
6428
6429 <dt><b>$home</b></dt>
6430
6431 <dd>The recipient's home directory. </dd>
6432
6433 <dt><b>$local</b></dt>
6434
6435 <dd>The entire recipient address localpart. </dd>
6436
6437 <dt><b>$recipient</b></dt>
6438
6439 <dd>The full recipient address. </dd>
6440
6441 <dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
6442
6443 <dd>The address extension delimiter that was found in the recipient
6444 address (Postfix 2.11 and later), or the system-wide recipient
6445 address extension delimiter (Postfix 2.10 and earlier). </dd>
6446
6447 <dt><b>$shell</b></dt>
6448
6449 <dd>The recipient's login shell. </dd>
6450
6451 <dt><b>$user</b></dt>
6452
6453 <dd>The recipient username. </dd>
6454
6455 <dt><b>${name?value}</b></dt>
6456
6457 <dt><b>${name?{value}}</b> (Postfix ≥ 3.0)</dt>
6458
6459 <dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
6460
6461 <dt><b>${name:value}</b></dt>
6462
6463 <dt><b>${name:{value}}</b> (Postfix ≥ 3.0)</dt>
6464
6465 <dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
6466
6467 <dt><b>${name?{value1}:{value2}}</b> (Postfix ≥ 3.0)</dt>
6468
6469 <dd>Expands to <i>value1</i> when <i>$name</i> is non-empty,
6470 <i>value2</i> otherwise. </dd>
6471
6472 </dl>
6473
6474 <p>
6475 Instead of $name you can also specify ${name} or $(name).
6476 </p>
6477
6478 <p>
6479 Note: <a href="postconf.5.html#luser_relay">luser_relay</a> works only for the Postfix <a href="local.8.html">local(8)</a> delivery agent.
6480 </p>
6481
6482 <p>
6483 Note: if you use this feature for accounts not in the UNIX password
6484 file, then you must specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty)
6485 in the <a href="postconf.5.html">main.cf</a> file, otherwise the Postfix SMTP server will reject mail
6486 for non-UNIX accounts with "User unknown in local recipient table".
6487 </p>
6488
6489 <p>
6490 Examples:
6491 </p>
6492
6493 <pre>
6494 <a href="postconf.5.html#luser_relay">luser_relay</a> = $user (a] other.host
6495 <a href="postconf.5.html#luser_relay">luser_relay</a> = $local (a] other.host
6496 <a href="postconf.5.html#luser_relay">luser_relay</a> = admin+$local
6497 </pre>
6498
6499
6500 </DD>
6501
6502 <DT><b><a name="mail_name">mail_name</a>
6503 (default: Postfix)</b></DT><DD>
6504
6505 <p>
6506 The mail system name that is displayed in Received: headers, in
6507 the SMTP greeting banner, and in bounced mail.
6508 </p>
6509
6510
6511 </DD>
6512
6513 <DT><b><a name="mail_owner">mail_owner</a>
6514 (default: postfix)</b></DT><DD>
6515
6516 <p>
6517 The UNIX system account that owns the Postfix queue and most Postfix
6518 daemon processes. Specify the name of an unprivileged user account
6519 that does not share a user or group ID with other accounts, and that
6520 owns no other files
6521 or processes on the system. In particular, don't specify nobody
6522 or daemon. PLEASE USE A DEDICATED USER ID AND GROUP ID.
6523 </p>
6524
6525 <p>
6526 When this parameter value is changed you need to re-run "<b>postfix
6527 set-permissions</b>" (with Postfix version 2.0 and earlier:
6528 "<b>/etc/postfix/post-install set-permissions</b>".
6529 </p>
6530
6531
6532 </DD>
6533
6534 <DT><b><a name="mail_release_date">mail_release_date</a>
6535 (default: see "postconf -d" output)</b></DT><DD>
6536
6537 <p>
6538 The Postfix release date, in "YYYYMMDD" format.
6539 </p>
6540
6541
6542 </DD>
6543
6544 <DT><b><a name="mail_spool_directory">mail_spool_directory</a>
6545 (default: see "postconf -d" output)</b></DT><DD>
6546
6547 <p>
6548 The directory where <a href="local.8.html">local(8)</a> UNIX-style mailboxes are kept. The
6549 default setting depends on the system type. Specify a name ending
6550 in / for maildir-style delivery.
6551 </p>
6552
6553 <p>
6554 Note: maildir delivery is done with the privileges of the recipient.
6555 If you use the <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> setting for maildir style
6556 delivery, then you must create the top-level maildir directory in
6557 advance. Postfix will not create it.
6558 </p>
6559
6560 <p>
6561 Examples:
6562 </p>
6563
6564 <pre>
6565 <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/mail
6566 <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/spool/mail
6567 </pre>
6568
6569
6570 </DD>
6571
6572 <DT><b><a name="mail_version">mail_version</a>
6573 (default: see "postconf -d" output)</b></DT><DD>
6574
6575 <p>
6576 The version of the mail system. Stable releases are named
6577 <i>major</i>.<i>minor</i>.<i>patchlevel</i>. Experimental releases
6578 also include the release date. The version string can be used in,
6579 for example, the SMTP greeting banner.
6580 </p>
6581
6582
6583 </DD>
6584
6585 <DT><b><a name="mailbox_command">mailbox_command</a>
6586 (default: empty)</b></DT><DD>
6587
6588 <p>
6589 Optional external command that the <a href="local.8.html">local(8)</a> delivery agent should
6590 use for mailbox delivery. The command is run with the user ID and
6591 the primary group ID privileges of the recipient. Exception:
6592 command delivery for root executes with $<a href="postconf.5.html#default_privs">default_privs</a> privileges.
6593 This is not a problem, because 1) mail for root should always be
6594 aliased to a real user and 2) don't log in as root, use "su" instead.
6595 </p>
6596
6597 <p>
6598 The following environment variables are exported to the command:
6599 </p>
6600
6601 <dl>
6602
6603 <dt><b>CLIENT_ADDRESS</b></dt>
6604
6605 <dd>Remote client network address. Available in Postfix version 2.2 and
6606 later. </dd>
6607
6608 <dt><b>CLIENT_HELO</b></dt>
6609
6610 <dd>Remote client EHLO command parameter. Available in Postfix version 2.2
6611 and later.</dd>
6612
6613 <dt><b>CLIENT_HOSTNAME</b></dt>
6614
6615 <dd>Remote client hostname. Available in Postfix version 2.2 and later.
6616 </dd>
6617
6618 <dt><b>CLIENT_PROTOCOL</b></dt>
6619
6620 <dd>Remote client protocol. Available in Postfix version 2.2 and later.
6621 </dd>
6622
6623 <dt><b>DOMAIN</b></dt>
6624
6625 <dd>The domain part of the recipient address. </dd>
6626
6627 <dt><b>ENVID</b></dt>
6628
6629 <dd>The optional <a href="https://tools.ietf.org/html/rfc3461">RFC 3461</a> envelope ID. Available in Postfix version
6630 3.9 and later</dd>
6631
6632 <dt><b>EXTENSION</b></dt>
6633
6634 <dd>The optional address extension. </dd>
6635
6636 <dt><b>HOME</b></dt>
6637
6638 <dd>The recipient home directory. </dd>
6639
6640 <dt><b>LOCAL</b></dt>
6641
6642 <dd>The recipient address localpart. </dd>
6643
6644 <dt><b>LOGNAME</b></dt>
6645
6646 <dd>The recipient's username. </dd>
6647
6648 <dt><b>ORIGINAL_RECIPIENT</b></dt>
6649
6650 <dd>The entire recipient address, before any address rewriting or
6651 aliasing. </dd>
6652
6653 <dt><b>RECIPIENT</b></dt>
6654
6655 <dd>The full recipient address. </dd>
6656
6657 <dt><b>SASL_METHOD</b></dt>
6658
6659 <dd>SASL authentication method specified in the remote client AUTH
6660 command. Available in Postfix version 2.2 and later. </dd>
6661
6662 <dt><b>SASL_SENDER</b></dt>
6663
6664 <dd>SASL sender address specified in the remote client MAIL FROM
6665 command. Available in Postfix version 2.2 and later. </dd>
6666
6667 <dt><b>SASL_USER</b></dt>
6668
6669 <dd>SASL username specified in the remote client AUTH command.
6670 Available in Postfix version 2.2 and later. </dd>
6671
6672 <dt><b>SENDER</b></dt>
6673
6674 <dd>The full sender address. </dd>
6675
6676 <dt><b>SHELL</b></dt>
6677
6678 <dd>The recipient's login shell. </dd>
6679
6680 <dt><b>USER</b></dt>
6681
6682 <dd>The recipient username. </dd>
6683
6684 </dl>
6685
6686 <p>
6687 Unlike other Postfix configuration parameters, the <a href="postconf.5.html#mailbox_command">mailbox_command</a>
6688 parameter is not subjected to $name substitutions. This is to make
6689 it easier to specify shell syntax (see example below).
6690 </p>
6691
6692 <p>
6693 If you can, avoid shell meta characters because they will force
6694 Postfix to run an expensive shell process. If you're delivering
6695 via "procmail" then running a shell won't make a noticeable difference
6696 in the total cost.
6697 </p>
6698
6699 <p>
6700 Note: if you use the <a href="postconf.5.html#mailbox_command">mailbox_command</a> feature to deliver mail
6701 system-wide, you must set up an alias that forwards mail for root
6702 to a real user.
6703 </p>
6704
6705 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
6706 is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
6707 <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
6708 <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
6709
6710 <p>
6711 Examples:
6712 </p>
6713
6714 <pre>
6715 <a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail
6716 <a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail -a "$EXTENSION"
6717 <a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/maildrop -d "$USER"
6718 -f "$SENDER" "$EXTENSION"
6719 </pre>
6720
6721
6722 </DD>
6723
6724 <DT><b><a name="mailbox_command_maps">mailbox_command_maps</a>
6725 (default: empty)</b></DT><DD>
6726
6727 <p>
6728 Optional lookup tables with per-recipient external commands to use
6729 for <a href="local.8.html">local(8)</a> mailbox delivery. Behavior is as with <a href="postconf.5.html#mailbox_command">mailbox_command</a>.
6730 </p>
6731
6732 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
6733 is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
6734 <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
6735 <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
6736
6737 <p>
6738 Specify zero or more "type:name" lookup tables, separated by
6739 whitespace or comma. Tables will be searched in the specified order
6740 until a match is found.
6741 </p>
6742
6743
6744 </DD>
6745
6746 <DT><b><a name="mailbox_delivery_lock">mailbox_delivery_lock</a>
6747 (default: see "postconf -d" output)</b></DT><DD>
6748
6749 <p>
6750 How to lock a UNIX-style <a href="local.8.html">local(8)</a> mailbox before attempting delivery.
6751 For a list of available file locking methods, use the "<b>postconf
6752 -l</b>" command.
6753 </p>
6754
6755 <p>
6756 This setting is ignored with <b>maildir</b> style delivery,
6757 because such deliveries are safe without explicit locks.
6758 </p>
6759
6760 <p>
6761 Note: The <b>dotlock</b> method requires that the recipient UID or
6762 GID has write access to the parent directory of the mailbox file.
6763 </p>
6764
6765 <p>
6766 Note: the default setting of this parameter is system dependent.
6767 </p>
6768
6769
6770 </DD>
6771
6772 <DT><b><a name="mailbox_size_limit">mailbox_size_limit</a>
6773 (default: 51200000)</b></DT><DD>
6774
6775 <p> The maximal size of any <a href="local.8.html">local(8)</a> individual mailbox or maildir
6776 file, or zero (no limit). In fact, this limits the size of any
6777 file that is written to upon local delivery, including files written
6778 by external commands that are executed by the <a href="local.8.html">local(8)</a> delivery
6779 agent. The value cannot exceed LONG_MAX (typically, a 32-bit or
6780 64-bit signed integer).
6781 </p>
6782
6783 <p>
6784 This limit must not be smaller than the message size limit.
6785 </p>
6786
6787
6788 </DD>
6789
6790 <DT><b><a name="mailbox_transport">mailbox_transport</a>
6791 (default: empty)</b></DT><DD>
6792
6793 <p>
6794 Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
6795 agent should use for mailbox delivery to all local recipients,
6796 whether or not they are found in the UNIX passwd database.
6797 </p>
6798
6799 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
6800 is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
6801 <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
6802 <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
6803
6804
6805 </DD>
6806
6807 <DT><b><a name="mailbox_transport_maps">mailbox_transport_maps</a>
6808 (default: empty)</b></DT><DD>
6809
6810 <p> Optional lookup tables with per-recipient message delivery
6811 transports to use for <a href="local.8.html">local(8)</a> mailbox delivery, whether or not the
6812 recipients are found in the UNIX passwd database. </p>
6813
6814 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
6815 is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
6816 <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
6817 <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
6818
6819 <p>
6820 Specify zero or more "type:name" lookup tables, separated by
6821 whitespace or comma. Tables will be searched in the specified order
6822 until a match is found.
6823 </p>
6824
6825 <p> For safety reasons, this feature does not allow $number
6826 substitutions in regular expression maps. </p>
6827
6828 <p> This feature is available in Postfix 2.3 and later. </p>
6829
6830
6831 </DD>
6832
6833 <DT><b><a name="maillog_file">maillog_file</a>
6834 (default: empty)</b></DT><DD>
6835
6836 <p> The name of an optional logfile that is written by the Postfix
6837 <a href="postlogd.8.html">postlogd(8)</a> service. An empty value selects logging to syslogd(8).
6838 Specify "/dev/stdout" to select logging to standard output. Stdout
6839 logging requires that Postfix is started with "postfix start-fg".
6840 </p>
6841
6842 <p> Note 1: The <a href="postconf.5.html#maillog_file">maillog_file</a> parameter value must contain a prefix
6843 that is specified with the <a href="postconf.5.html#maillog_file_prefixes">maillog_file_prefixes</a> parameter. </p>
6844
6845 <p> Note 2: Some Postfix non-daemon programs may still log information
6846 to syslogd(8), before they have processed their configuration
6847 parameters and command-line options. </p>
6848
6849 <p> This feature is available in Postfix 3.4 and later. </p>
6850
6851
6852 </DD>
6853
6854 <DT><b><a name="maillog_file_compressor">maillog_file_compressor</a>
6855 (default: gzip)</b></DT><DD>
6856
6857 <p> The program to run after rotating $<a href="postconf.5.html#maillog_file">maillog_file</a> with "postfix
6858 logrotate". The command is run with the rotated logfile name as its
6859 first argument. </p>
6860
6861 <p> This feature is available in Postfix 3.4 and later. </p>
6862
6863
6864 </DD>
6865
6866 <DT><b><a name="maillog_file_permissions">maillog_file_permissions</a>
6867 (default: 0600)</b></DT><DD>
6868
6869 <p> The file access permissions that will be set when the file
6870 $<a href="postconf.5.html#maillog_file">maillog_file</a> is created for the first time, or when the file is
6871 created after an existing file is rotated. Specify one of: <b>0600</b>
6872 (only super-user read/write access), <b>0640</b> (adds 'group' read
6873 access), or <b>0644</b> (also adds 'other' read access). The leading
6874 '0' is optional. </p>
6875
6876 <p> This feature is available in Postfix 3.9 and later. </p>
6877
6878
6879 </DD>
6880
6881 <DT><b><a name="maillog_file_prefixes">maillog_file_prefixes</a>
6882 (default: /var, /dev/stdout)</b></DT><DD>
6883
6884 <p> A list of allowed prefixes for a <a href="postconf.5.html#maillog_file">maillog_file</a> value. This is a
6885 safety feature to contain the damage from a single configuration
6886 mistake. Specify one or more prefix strings, separated by comma or
6887 whitespace. </p>
6888
6889 <p> This feature is available in Postfix 3.4 and later. </p>
6890
6891
6892 </DD>
6893
6894 <DT><b><a name="maillog_file_rotate_suffix">maillog_file_rotate_suffix</a>
6895 (default: %Y%m%d-%H%M%S)</b></DT><DD>
6896
6897 <p> The format of the suffix to append to $<a href="postconf.5.html#maillog_file">maillog_file</a> while rotating
6898 the file with "postfix logrotate". See strftime(3) for syntax. The
6899 default suffix, YYYYMMDD-HHMMSS, allows logs to be rotated frequently.
6900 </p>
6901
6902 <p> This feature is available in Postfix 3.4 and later. </p>
6903
6904
6905 </DD>
6906
6907 <DT><b><a name="mailq_path">mailq_path</a>
6908 (default: see "postconf -d" output)</b></DT><DD>
6909
6910 <p>
6911 Sendmail compatibility feature that specifies where the Postfix
6912 <a href="mailq.1.html">mailq(1)</a> command is installed. This command can be used to
6913 list the Postfix mail queue.
6914 </p>
6915
6916
6917 </DD>
6918
6919 <DT><b><a name="manpage_directory">manpage_directory</a>
6920 (default: see "postconf -d" output)</b></DT><DD>
6921
6922 <p>
6923 Where the Postfix manual pages are installed.
6924 </p>
6925
6926
6927 </DD>
6928
6929 <DT><b><a name="maps_rbl_domains">maps_rbl_domains</a>
6930 (default: empty)</b></DT><DD>
6931
6932 <p>
6933 Obsolete feature: use the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> feature instead.
6934 </p>
6935
6936
6937 </DD>
6938
6939 <DT><b><a name="maps_rbl_reject_code">maps_rbl_reject_code</a>
6940 (default: 554)</b></DT><DD>
6941
6942 <p>
6943 The numerical Postfix SMTP server response code when a remote SMTP
6944 client request is blocked by the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a>, <a href="postconf.5.html#reject_rhsbl_client">reject_rhsbl_client</a>,
6945 <a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a>, <a href="postconf.5.html#reject_rhsbl_sender">reject_rhsbl_sender</a> or
6946 <a href="postconf.5.html#reject_rhsbl_recipient">reject_rhsbl_recipient</a> restriction.
6947 </p>
6948
6949 <p>
6950 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
6951 </p>
6952
6953
6954 </DD>
6955
6956 <DT><b><a name="masquerade_classes">masquerade_classes</a>
6957 (default: envelope_sender, header_sender, header_recipient)</b></DT><DD>
6958
6959 <p>
6960 What addresses are subject to address masquerading.
6961 </p>
6962
6963 <p>
6964 By default, address masquerading is limited to envelope sender
6965 addresses, and to header sender and header recipient addresses.
6966 This allows you to use address masquerading on a mail gateway while
6967 still being able to forward mail to users on individual machines.
6968 </p>
6969
6970 <p>
6971 Specify zero or more of: envelope_sender, envelope_recipient,
6972 header_sender, header_recipient
6973 </p>
6974
6975
6976 </DD>
6977
6978 <DT><b><a name="masquerade_domains">masquerade_domains</a>
6979 (default: empty)</b></DT><DD>
6980
6981 <p>
6982 Optional list of domains whose subdomain structure will be stripped
6983 off in email addresses.
6984 </p>
6985
6986 <p>
6987 The list is processed left to right, and processing stops at the
6988 first match. Thus,
6989 </p>
6990
6991 <blockquote>
6992 <pre>
6993 <a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = foo.example.com example.com
6994 </pre>
6995 </blockquote>
6996
6997 <p>
6998 strips "user (a] any.thing.foo.example.com" to "user (a] foo.example.com",
6999 but strips "user (a] any.thing.else.example.com" to "user (a] example.com".
7000 </p>
7001
7002 <p>
7003 A domain name prefixed with ! means do not masquerade this domain
7004 or its subdomains. Thus,
7005 </p>
7006
7007 <blockquote>
7008 <pre>
7009 <a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = !foo.example.com example.com
7010 </pre>
7011 </blockquote>
7012
7013 <p>
7014 does not change "user (a] any.thing.foo.example.com" or "user (a] foo.example.com",
7015 but strips "user (a] any.thing.else.example.com" to "user (a] example.com".
7016 </p>
7017
7018 <p> Note: with Postfix version 2.2, message header address masquerading
7019 happens only when message header address rewriting is enabled: </p>
7020
7021 <ul>
7022
7023 <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
7024
7025 <li> The message is received from a network client that matches
7026 $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
7027
7028 <li> The message is received from the network, and the
7029 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
7030
7031 </ul>
7032
7033 <p> To get the behavior before Postfix version 2.2, specify
7034 "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
7035
7036 <p>
7037 Example:
7038 </p>
7039
7040 <pre>
7041 <a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
7042 </pre>
7043
7044
7045 </DD>
7046
7047 <DT><b><a name="masquerade_exceptions">masquerade_exceptions</a>
7048 (default: empty)</b></DT><DD>
7049
7050 <p>
7051 Optional list of user names that are not subjected to address
7052 masquerading, even when their addresses match $<a href="postconf.5.html#masquerade_domains">masquerade_domains</a>.
7053 </p>
7054
7055 <p>
7056 By default, address masquerading makes no exceptions.
7057 </p>
7058
7059 <p>
7060 Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
7061 separated by commas and/or whitespace. The list is matched left to
7062 right, and the search stops on the first match. A "/file/name"
7063 pattern is replaced
7064 by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
7065 matches a lookup key (the lookup result is ignored). Continue long
7066 lines by starting the next line with whitespace. Specify "!pattern"
7067 to exclude a name from the list. The form "!/file/name" is supported
7068 only in Postfix version 2.4 and later. </p>
7069
7070 <p>
7071 Examples:
7072 </p>
7073
7074 <pre>
7075 <a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root, mailer-daemon
7076 <a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root
7077 </pre>
7078
7079
7080 </DD>
7081
7082 <DT><b><a name="master_service_disable">master_service_disable</a>
7083 (default: empty)</b></DT><DD>
7084
7085 <p> Selectively disable <a href="master.8.html">master(8)</a> listener ports by service type
7086 or by service name and type. Specify a list of service types
7087 ("inet", "unix", "fifo", or "pass") or "name/type" tuples, where
7088 "name" is the first field of a <a href="master.5.html">master.cf</a> entry and "type" is a
7089 service type. As with other Postfix matchlists, a search stops at
7090 the first match. Specify "!pattern" to exclude a service from the
7091 list. By default, all <a href="master.8.html">master(8)</a> listener ports are enabled. </p>
7092
7093 <p> Note: this feature does not support "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
7094 patterns, nor does it support wildcards such as "*" or "all". This
7095 is intentional. </p>
7096
7097 <p> Examples: </p>
7098
7099 <pre>
7100 # With Postfix 2.6..2.10 use '.' instead of '/'.
7101 # Turn on all <a href="master.8.html">master(8)</a> listener ports (the default).
7102 <a href="postconf.5.html#master_service_disable">master_service_disable</a> =
7103 # Turn off only the main SMTP listener port.
7104 <a href="postconf.5.html#master_service_disable">master_service_disable</a> = smtp/inet
7105 # Turn off all TCP/IP listener ports.
7106 <a href="postconf.5.html#master_service_disable">master_service_disable</a> = inet
7107 # Turn off all TCP/IP listener ports except "foo".
7108 <a href="postconf.5.html#master_service_disable">master_service_disable</a> = !foo/inet, inet
7109 </pre>
7110
7111 <p> This feature is available in Postfix 2.6 and later. </p>
7112
7113
7114 </DD>
7115
7116 <DT><b><a name="max_idle">max_idle</a>
7117 (default: 100s)</b></DT><DD>
7118
7119 <p>
7120 The maximum amount of time that an idle Postfix daemon process waits
7121 for an incoming connection before terminating voluntarily. This
7122 parameter
7123 is ignored by the Postfix queue manager and by other long-lived
7124 Postfix daemon processes.
7125 </p>
7126
7127 <p> Specify a non-zero time value (an integral value plus an optional
7128 one-letter suffix that specifies the time unit). Time units: s
7129 (seconds), m (minutes), h (hours), d (days), w (weeks).
7130 The default time unit is s (seconds). </p>
7131
7132
7133 </DD>
7134
7135 <DT><b><a name="max_use">max_use</a>
7136 (default: 100)</b></DT><DD>
7137
7138 <p>
7139 The maximal number of incoming connections that a Postfix daemon
7140 process will service before terminating voluntarily. This parameter
7141 is ignored by the Postfix queue
7142 manager and by other long-lived Postfix daemon processes.
7143 </p>
7144
7145
7146 </DD>
7147
7148 <DT><b><a name="maximal_backoff_time">maximal_backoff_time</a>
7149 (default: 4000s)</b></DT><DD>
7150
7151 <p>
7152 The maximal time between attempts to deliver a deferred message.
7153 </p>
7154
7155 <p> This parameter should be set to a value greater than or equal
7156 to $<a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a>. See also $<a href="postconf.5.html#queue_run_delay">queue_run_delay</a>. </p>
7157
7158 <p> Specify a non-zero time value (an integral value plus an optional
7159 one-letter suffix that specifies the time unit). Time units: s
7160 (seconds), m (minutes), h (hours), d (days), w (weeks).
7161 The default time unit is s (seconds). </p>
7162
7163
7164 </DD>
7165
7166 <DT><b><a name="maximal_queue_lifetime">maximal_queue_lifetime</a>
7167 (default: 5d)</b></DT><DD>
7168
7169 <p>
7170 Consider a message as undeliverable, when delivery fails with a
7171 temporary error, and the time in the queue has reached the
7172 <a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> limit.
7173 </p>
7174
7175 <p> Specify a non-negative time value (an integral value plus an optional
7176 one-letter suffix that specifies the time unit). Time units: s
7177 (seconds), m (minutes), h (hours), d (days), w (weeks).
7178 The default time unit is d (days). </p>
7179
7180 <p>
7181 Specify 0 when mail delivery should be tried only once.
7182 </p>
7183
7184
7185 </DD>
7186
7187 <DT><b><a name="message_drop_headers">message_drop_headers</a>
7188 (default: bcc, content-length, resent-bcc, return-path)</b></DT><DD>
7189
7190 <p> Names of message headers that the <a href="cleanup.8.html">cleanup(8)</a> daemon will remove
7191 after applying <a href="header_checks.5.html">header_checks(5)</a> and before invoking Milter applications.
7192 The default setting is compatible with Postfix < 3.0. </p>
7193
7194 <p> Specify a list of header names, separated by comma or space.
7195 Names are matched in a case-insensitive manner. The list of supported
7196 header names is limited only by available memory. </p>
7197
7198 <p> This feature is available in Postfix 3.0 and later. </p>
7199
7200
7201 </DD>
7202
7203 <DT><b><a name="message_reject_characters">message_reject_characters</a>
7204 (default: empty)</b></DT><DD>
7205
7206 <p> The set of characters that Postfix will reject in message
7207 content. The usual C-like escape sequences are recognized: <tt>\a
7208 \b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
7209 <tt>\\</tt>. </p>
7210
7211 <p> Note 1: this feature does not recognize text that requires MIME
7212 decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a>
7213 and <a href="postconf.5.html#body_checks">body_checks</a>. </p>
7214
7215 <p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a>
7216 = <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>". </p>
7217
7218 <p> Example: </p>
7219
7220 <pre>
7221 <a href="postconf.5.html#message_reject_characters">message_reject_characters</a> = \0
7222 </pre>
7223
7224 <p> This feature is available in Postfix 2.3 and later. </p>
7225
7226
7227 </DD>
7228
7229 <DT><b><a name="message_size_limit">message_size_limit</a>
7230 (default: 10240000)</b></DT><DD>
7231
7232 <p>
7233 The maximal size in bytes of a message, including envelope information.
7234 The value cannot exceed LONG_MAX (typically, a 32-bit or 64-bit
7235 signed integer).
7236 </p>
7237
7238 <p> Note: be careful when making changes. Excessively small values
7239 will result in the loss of non-delivery notifications, when a bounce
7240 message size exceeds the local or remote MTA's message size limit.
7241 </p>
7242
7243
7244 </DD>
7245
7246 <DT><b><a name="message_strip_characters">message_strip_characters</a>
7247 (default: empty)</b></DT><DD>
7248
7249 <p> The set of characters that Postfix will remove from message
7250 content. The usual C-like escape sequences are recognized: <tt>\a
7251 \b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
7252 <tt>\\</tt>. </p>
7253
7254 <p> Note 1: this feature does not recognize text that requires MIME
7255 decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a>
7256 and <a href="postconf.5.html#body_checks">body_checks</a>. </p>
7257
7258 <p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a>
7259 = <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>". </p>
7260
7261 <p> Example: </p>
7262
7263 <pre>
7264 <a href="postconf.5.html#message_strip_characters">message_strip_characters</a> = \0
7265 </pre>
7266
7267 <p> This feature is available in Postfix 2.3 and later. </p>
7268
7269
7270 </DD>
7271
7272 <DT><b><a name="meta_directory">meta_directory</a>
7273 (default: see 'postconf -d' output)</b></DT><DD>
7274
7275 <p> The location of non-executable files that are shared among
7276 multiple Postfix instances, such as postfix-files, dynamicmaps.cf,
7277 and the multi-instance template files <a href="postconf.5.html">main.cf</a>.proto and <a href="master.5.html">master.cf</a>.proto.
7278 This directory should contain only Postfix-related files. Typically,
7279 the <a href="postconf.5.html#meta_directory">meta_directory</a> parameter has the same default as the <a href="postconf.5.html#config_directory">config_directory</a>
7280 parameter (/etc/postfix or /usr/local/etc/postfix). </p>
7281
7282 <p> For backwards compatibility with Postfix versions 2.6..2.11,
7283 specify "<a href="postconf.5.html#meta_directory">meta_directory</a> = $<a href="postconf.5.html#daemon_directory">daemon_directory</a>" in <a href="postconf.5.html">main.cf</a> before
7284 installing or upgrading Postfix, or specify "<a href="postconf.5.html#meta_directory">meta_directory</a> =
7285 /path/name" on the "make makefiles", "make install" or "make upgrade"
7286 command line. </p>
7287
7288 <p> This feature is available in Postfix 3.0 and later. </p>
7289
7290
7291 </DD>
7292
7293 <DT><b><a name="milter_command_timeout">milter_command_timeout</a>
7294 (default: 30s)</b></DT><DD>
7295
7296 <p> The time limit for sending an SMTP command to a Milter (mail
7297 filter) application, and for receiving the response. </p>
7298
7299 <p> Specify a non-zero time value (an integral value plus an optional
7300 one-letter suffix that specifies the time unit). Time units: s
7301 (seconds), m (minutes), h (hours), d (days), w (weeks).
7302 The default time unit is s (seconds). </p>
7303
7304 <p> This feature is available in Postfix 2.3 and later. </p>
7305
7306
7307 </DD>
7308
7309 <DT><b><a name="milter_connect_macros">milter_connect_macros</a>
7310 (default: see "postconf -d" output)</b></DT><DD>
7311
7312 <p> The macros that are sent to Milter (mail filter) applications
7313 after completion of an SMTP connection. See <a href="MILTER_README.html">MILTER_README</a>
7314 for a list of available macro names and their meanings. </p>
7315
7316 <p> This feature is available in Postfix 2.3 and later. </p>
7317
7318
7319 </DD>
7320
7321 <DT><b><a name="milter_connect_timeout">milter_connect_timeout</a>
7322 (default: 30s)</b></DT><DD>
7323
7324 <p> The time limit for connecting to a Milter (mail filter)
7325 application, and for negotiating protocol options. </p>
7326
7327 <p> Specify a non-zero time value (an integral value plus an optional
7328 one-letter suffix that specifies the time unit). Time units: s
7329 (seconds), m (minutes), h (hours), d (days), w (weeks).
7330 The default time unit is s (seconds). </p>
7331
7332 <p> This feature is available in Postfix 2.3 and later. </p>
7333
7334
7335 </DD>
7336
7337 <DT><b><a name="milter_content_timeout">milter_content_timeout</a>
7338 (default: 300s)</b></DT><DD>
7339
7340 <p> The time limit for sending message content to a Milter (mail
7341 filter) application, and for receiving the response. </p>
7342
7343 <p> Specify a non-zero time value (an integral value plus an optional
7344 one-letter suffix that specifies the time unit). Time units: s
7345 (seconds), m (minutes), h (hours), d (days), w (weeks).
7346 The default time unit is s (seconds). </p>
7347
7348 <p> This feature is available in Postfix 2.3 and later. </p>
7349
7350
7351 </DD>
7352
7353 <DT><b><a name="milter_data_macros">milter_data_macros</a>
7354 (default: see "postconf -d" output)</b></DT><DD>
7355
7356 <p> The macros that are sent to version 4 or higher Milter (mail
7357 filter) applications after the SMTP DATA command. See <a href="MILTER_README.html">MILTER_README</a>
7358 for a list of available macro names and their meanings. </p>
7359
7360 <p> This feature is available in Postfix 2.3 and later. </p>
7361
7362
7363 </DD>
7364
7365 <DT><b><a name="milter_default_action">milter_default_action</a>
7366 (default: tempfail)</b></DT><DD>
7367
7368 <p> The default action when a Milter (mail filter) response is
7369 unavailable (for example, bad Postfix configuration or Milter
7370 failure). Specify one of the following: </p>
7371
7372 <dl compact>
7373
7374 <dt>accept</dt> <dd>Proceed as if the mail filter was not present.
7375 </dd>
7376
7377 <dt>reject</dt> <dd>Reject all further commands in this session
7378 with a permanent status code.</dd>
7379
7380 <dt>tempfail</dt> <dd>Reject all further commands in this session
7381 with a temporary status code. </dd>
7382
7383 <dt>quarantine</dt> <dd>Like "accept", but freeze the message in
7384 the "<a href="QSHAPE_README.html#hold_queue">hold" queue</a>. Available with Postfix 2.6 and later. </dd>
7385
7386 </dl>
7387
7388 <p> This feature is available in Postfix 2.3 and later. </p>
7389
7390
7391 </DD>
7392
7393 <DT><b><a name="milter_end_of_data_macros">milter_end_of_data_macros</a>
7394 (default: see "postconf -d" output)</b></DT><DD>
7395
7396 <p> The macros that are sent to Milter (mail filter) applications
7397 after the message end-of-data. See <a href="MILTER_README.html">MILTER_README</a> for a list of
7398 available macro names and their meanings. </p>
7399
7400 <p> This feature is available in Postfix 2.3 and later. </p>
7401
7402
7403 </DD>
7404
7405 <DT><b><a name="milter_end_of_header_macros">milter_end_of_header_macros</a>
7406 (default: see "postconf -d" output)</b></DT><DD>
7407
7408 <p> The macros that are sent to Milter (mail filter) applications
7409 after the end of the message header. See <a href="MILTER_README.html">MILTER_README</a> for a list
7410 of available macro names and their meanings. </p>
7411
7412 <p> This feature is available in Postfix 2.5 and later. </p>
7413
7414
7415 </DD>
7416
7417 <DT><b><a name="milter_header_checks">milter_header_checks</a>
7418 (default: empty)</b></DT><DD>
7419
7420 <p> Optional lookup tables for content inspection of message headers
7421 that are produced by Milter applications. See the <a href="header_checks.5.html">header_checks(5)</a>
7422 manual page available actions. Currently, PREPEND is not implemented.
7423 </p>
7424
7425 <p> The following example sends all mail that is marked as SPAM to
7426 a spam handling machine. Note that matches are case-insensitive
7427 by default. </p>
7428
7429 <pre>
7430 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
7431 <a href="postconf.5.html#milter_header_checks">milter_header_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/<a href="postconf.5.html#milter_header_checks">milter_header_checks</a>
7432 </pre>
7433
7434 <pre>
7435 /etc/postfix/<a href="postconf.5.html#milter_header_checks">milter_header_checks</a>:
7436 /^X-SPAM-FLAG:\s+YES/ FILTER mysmtp:sanitizer.example.com:25
7437 </pre>
7438
7439 <p> The <a href="postconf.5.html#milter_header_checks">milter_header_checks</a> mechanism could also be used for
7440 allowlisting. For example it could be used to skip heavy content
7441 inspection for DKIM-signed mail from known friendly domains. </p>
7442
7443 <p> This feature is available in Postfix 2.7, and as an optional
7444 patch for Postfix 2.6. </p>
7445
7446
7447 </DD>
7448
7449 <DT><b><a name="milter_helo_macros">milter_helo_macros</a>
7450 (default: see "postconf -d" output)</b></DT><DD>
7451
7452 <p> The macros that are sent to Milter (mail filter) applications
7453 after the SMTP HELO or EHLO command. See
7454 <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their meanings.
7455 </p>
7456
7457 <p> This feature is available in Postfix 2.3 and later. </p>
7458
7459
7460 </DD>
7461
7462 <DT><b><a name="milter_macro_daemon_name">milter_macro_daemon_name</a>
7463 (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
7464
7465 <p> The {daemon_name} macro value for Milter (mail filter) applications.
7466 See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
7467 meanings. </p>
7468
7469 <p> This feature is available in Postfix 2.3 and later. </p>
7470
7471
7472 </DD>
7473
7474 <DT><b><a name="milter_macro_defaults">milter_macro_defaults</a>
7475 (default: empty)</b></DT><DD>
7476
7477 <p> Optional list of <i>name=value</i> pairs that specify default
7478 values for arbitrary macros that Postfix may send to Milter
7479 applications. These defaults are used when there is no corresponding
7480 information from the message delivery context. </p>
7481
7482 <p> Specify <i>name=value</i> or <i>{name=value}</i> pairs separated
7483 by comma or whitespace. Enclose a pair in "{}" when a value contains
7484 comma or whitespace (this form ignores whitespace after the enclosing
7485 "{", around the "=", and before the enclosing "}"). </p>
7486
7487 <p> This feature is available in Postfix 3.1 and later. </p>
7488
7489
7490 </DD>
7491
7492 <DT><b><a name="milter_macro_v">milter_macro_v</a>
7493 (default: $<a href="postconf.5.html#mail_name">mail_name</a> $<a href="postconf.5.html#mail_version">mail_version</a>)</b></DT><DD>
7494
7495 <p> The {v} macro value for Milter (mail filter) applications.
7496 See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
7497 meanings. </p>
7498
7499 <p> This feature is available in Postfix 2.3 and later. </p>
7500
7501
7502 </DD>
7503
7504 <DT><b><a name="milter_mail_macros">milter_mail_macros</a>
7505 (default: see "postconf -d" output)</b></DT><DD>
7506
7507 <p> The macros that are sent to Milter (mail filter) applications
7508 after the SMTP MAIL FROM command. See <a href="MILTER_README.html">MILTER_README</a>
7509 for a list of available macro names and their meanings. </p>
7510
7511 <p> This feature is available in Postfix 2.3 and later. </p>
7512
7513
7514 </DD>
7515
7516 <DT><b><a name="milter_protocol">milter_protocol</a>
7517 (default: 6)</b></DT><DD>
7518
7519 <p> The mail filter protocol version and optional protocol extensions
7520 for communication with a Milter application; prior to Postfix 2.6
7521 the default protocol is 2. Postfix
7522 sends this version number during the initial protocol handshake.
7523 It should match the version number that is expected by the mail
7524 filter application (or by its Milter library). </p>
7525
7526 <p>Protocol versions: </p>
7527
7528 <dl compact>
7529
7530 <dt>2</dt> <dd>Use Sendmail 8 mail filter protocol version 2 (default
7531 with Sendmail version 8.11 .. 8.13 and Postfix version 2.3 ..
7532 2.5).</dd>
7533
7534 <dt>3</dt> <dd>Use Sendmail 8 mail filter protocol version 3.</dd>
7535
7536 <dt>4</dt> <dd>Use Sendmail 8 mail filter protocol version 4.</dd>
7537
7538 <dt>6</dt> <dd>Use Sendmail 8 mail filter protocol version 6 (default
7539 with Sendmail version 8.14 and Postfix version 2.6).</dd>
7540
7541 </dl>
7542
7543 <p>Protocol extensions: </p>
7544
7545 <dl compact>
7546
7547 <dt>no_header_reply</dt> <dd> Specify this when the Milter application
7548 will not reply for each individual message header.</dd>
7549
7550 </dl>
7551
7552 <p> This feature is available in Postfix 2.3 and later. </p>
7553
7554
7555 </DD>
7556
7557 <DT><b><a name="milter_rcpt_macros">milter_rcpt_macros</a>
7558 (default: see "postconf -d" output)</b></DT><DD>
7559
7560 <p> The macros that are sent to Milter (mail filter) applications
7561 after the SMTP RCPT TO command. See <a href="MILTER_README.html">MILTER_README</a>
7562 for a list of available macro names and their meanings. </p>
7563
7564 <p> This feature is available in Postfix 2.3 and later. </p>
7565
7566
7567 </DD>
7568
7569 <DT><b><a name="milter_unknown_command_macros">milter_unknown_command_macros</a>
7570 (default: see "postconf -d" output)</b></DT><DD>
7571
7572 <p> The macros that are sent to version 3 or higher Milter (mail
7573 filter) applications after an unknown SMTP command. See <a href="MILTER_README.html">MILTER_README</a>
7574 for a list of available macro names and their meanings. </p>
7575
7576 <p> This feature is available in Postfix 2.3 and later. </p>
7577
7578
7579 </DD>
7580
7581 <DT><b><a name="mime_boundary_length_limit">mime_boundary_length_limit</a>
7582 (default: 2048)</b></DT><DD>
7583
7584 <p>
7585 The maximal length of MIME multipart boundary strings. The MIME
7586 processor is unable to distinguish between boundary strings that
7587 do not differ in the first $<a href="postconf.5.html#mime_boundary_length_limit">mime_boundary_length_limit</a> characters.
7588 </p>
7589
7590 <p>
7591 This feature is available in Postfix 2.0 and later.
7592 </p>
7593
7594
7595 </DD>
7596
7597 <DT><b><a name="mime_header_checks">mime_header_checks</a>
7598 (default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
7599
7600 <p>
7601 Optional lookup tables for content inspection of MIME related
7602 message headers, as described in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
7603 </p>
7604
7605 <p>
7606 This feature is available in Postfix 2.0 and later.
7607 </p>
7608
7609
7610 </DD>
7611
7612 <DT><b><a name="mime_nesting_limit">mime_nesting_limit</a>
7613 (default: 100)</b></DT><DD>
7614
7615 <p>
7616 The maximal recursion level that the MIME processor will handle.
7617 Postfix refuses mail that is nested deeper than the specified limit.
7618 </p>
7619
7620 <p>
7621 This feature is available in Postfix 2.0 and later.
7622 </p>
7623
7624
7625 </DD>
7626
7627 <DT><b><a name="minimal_backoff_time">minimal_backoff_time</a>
7628 (default: 300s)</b></DT><DD>
7629
7630 <p>
7631 The minimal time between attempts to deliver a deferred message;
7632 prior to Postfix 2.4 the default value was 1000s.
7633 </p>
7634
7635 <p>
7636 This parameter also limits the time an unreachable destination is
7637 kept in the short-term, in-memory, destination status cache.
7638 </p>
7639
7640 <p> This parameter should be set greater than or equal to
7641 $<a href="postconf.5.html#queue_run_delay">queue_run_delay</a>. See also $<a href="postconf.5.html#maximal_backoff_time">maximal_backoff_time</a>. </p>
7642
7643 <p> Specify a non-zero time value (an integral value plus an optional
7644 one-letter suffix that specifies the time unit). Time units: s
7645 (seconds), m (minutes), h (hours), d (days), w (weeks).
7646 The default time unit is s (seconds). </p>
7647
7648
7649 </DD>
7650
7651 <DT><b><a name="multi_instance_directories">multi_instance_directories</a>
7652 (default: empty)</b></DT><DD>
7653
7654 <p> An optional list of non-default Postfix configuration directories;
7655 these directories belong to additional Postfix instances that share
7656 the Postfix executable files and documentation with the default
7657 Postfix instance, and that are started, stopped, etc., together
7658 with the default Postfix instance. Specify a list of pathnames
7659 separated by comma or whitespace. </p>
7660
7661 <p> When $<a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a> is empty, the <a href="postfix.1.html">postfix(1)</a> command
7662 runs in single-instance mode and operates on a single Postfix
7663 instance only. Otherwise, the <a href="postfix.1.html">postfix(1)</a> command runs in multi-instance
7664 mode and invokes the multi-instance manager specified with the
7665 <a href="postconf.5.html#multi_instance_wrapper">multi_instance_wrapper</a> parameter. The multi-instance manager in
7666 turn executes <a href="postfix.1.html">postfix(1)</a> commands for the default instance and for
7667 all Postfix instances in $<a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>. </p>
7668
7669 <p> Currently, this parameter setting is ignored except for the
7670 default <a href="postconf.5.html">main.cf</a> file. </p>
7671
7672 <p> This feature is available in Postfix 2.6 and later. </p>
7673
7674
7675 </DD>
7676
7677 <DT><b><a name="multi_instance_enable">multi_instance_enable</a>
7678 (default: no)</b></DT><DD>
7679
7680 <p> Allow this Postfix instance to be started, stopped, etc., by a
7681 multi-instance manager. By default, new instances are created in
7682 a safe state that prevents them from being started inadvertently.
7683 This parameter is reserved for the multi-instance manager. </p>
7684
7685 <p> This feature is available in Postfix 2.6 and later. </p>
7686
7687
7688 </DD>
7689
7690 <DT><b><a name="multi_instance_group">multi_instance_group</a>
7691 (default: empty)</b></DT><DD>
7692
7693 <p> The optional instance group name of this Postfix instance. A
7694 group identifies closely-related Postfix instances that the
7695 multi-instance manager can start, stop, etc., as a unit. This
7696 parameter is reserved for the multi-instance manager. </p>
7697
7698 <p> This feature is available in Postfix 2.6 and later. </p>
7699
7700
7701 </DD>
7702
7703 <DT><b><a name="multi_instance_name">multi_instance_name</a>
7704 (default: empty)</b></DT><DD>
7705
7706 <p> The optional instance name of this Postfix instance. This name
7707 becomes also the default value for the <a href="postconf.5.html#syslog_name">syslog_name</a> parameter. </p>
7708
7709 <p> This feature is available in Postfix 2.6 and later. </p>
7710
7711
7712 </DD>
7713
7714 <DT><b><a name="multi_instance_wrapper">multi_instance_wrapper</a>
7715 (default: empty)</b></DT><DD>
7716
7717 <p> The pathname of a multi-instance manager command that the
7718 <a href="postfix.1.html">postfix(1)</a> command invokes when the <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>
7719 parameter value is non-empty. The pathname may be followed by
7720 initial command arguments separated by whitespace; shell
7721 metacharacters such as quotes are not supported in this context.
7722 </p>
7723
7724 <p> The <a href="postfix.1.html">postfix(1)</a> command invokes the manager command with the
7725 <a href="postfix.1.html">postfix(1)</a> non-option command arguments on the manager command line,
7726 and with all installation configuration parameters exported into
7727 the manager command process environment. The manager command in
7728 turn invokes the <a href="postfix.1.html">postfix(1)</a> command for individual Postfix instances
7729 as "postfix -c <i><a href="postconf.5.html#config_directory">config_directory</a></i> <i>command</i>". </p>
7730
7731 <p> This feature is available in Postfix 2.6 and later. </p>
7732
7733
7734 </DD>
7735
7736 <DT><b><a name="multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a>
7737 (default: 550)</b></DT><DD>
7738
7739 <p>
7740 The numerical Postfix SMTP server response code when a remote SMTP
7741 client request is blocked by the <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a>
7742 restriction.
7743 </p>
7744
7745 <p>
7746 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
7747 </p>
7748
7749 <p>
7750 This feature is available in Postfix 2.1 and later.
7751 </p>
7752
7753
7754 </DD>
7755
7756 <DT><b><a name="mydestination">mydestination</a>
7757 (default: $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a>, localhost)</b></DT><DD>
7758
7759 <p> The list of domains that are delivered via the $<a href="postconf.5.html#local_transport">local_transport</a>
7760 mail delivery transport. By default this is the Postfix <a href="local.8.html">local(8)</a>
7761 delivery agent which looks up all recipients in /etc/passwd and
7762 /etc/aliases. The SMTP server validates recipient addresses with
7763 $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> and rejects non-existent recipients. See also
7764 the <a href="ADDRESS_CLASS_README.html#local_domain_class">local domain</a> class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.
7765 </p>
7766
7767 <p>
7768 The default <a href="postconf.5.html#mydestination">mydestination</a> value specifies names for the local
7769 machine only. On a mail domain gateway, you should also include
7770 $<a href="postconf.5.html#mydomain">mydomain</a>.
7771 </p>
7772
7773 <p>
7774 The $<a href="postconf.5.html#local_transport">local_transport</a> delivery method is also selected for mail
7775 addressed to user@[the.net.work.address] of the mail system (the
7776 IP addresses specified with the <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> and <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>
7777 parameters).
7778 </p>
7779
7780 <p>
7781 Warnings:
7782 </p>
7783
7784 <ul>
7785
7786 <li><p>Do not specify the names of virtual domains - those domains
7787 are specified elsewhere. See <a href="VIRTUAL_README.html">VIRTUAL_README</a> for more information. </p>
7788
7789 <li><p>Do not specify the names of domains that this machine is
7790 backup MX host for. See <a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> for how to
7791 set up backup MX hosts. </p>
7792
7793 <li><p>By default, the Postfix SMTP server rejects mail for recipients
7794 not listed with the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> parameter. See the
7795 <a href="postconf.5.html">postconf(5)</a> manual for a description of the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a>
7796 and <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> parameters. </p>
7797
7798 </ul>
7799
7800 <p>
7801 Specify a list of host or domain names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
7802 patterns, separated by commas and/or whitespace. A "/file/name"
7803 pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
7804 is matched when a name matches a lookup key (the lookup result is
7805 ignored). Continue long lines by starting the next line with
7806 whitespace. </p>
7807
7808 <p>
7809 Examples:
7810 </p>
7811
7812 <pre>
7813 <a href="postconf.5.html#mydestination">mydestination</a> = $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a> $<a href="postconf.5.html#mydomain">mydomain</a>
7814 <a href="postconf.5.html#mydestination">mydestination</a> = $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a> www.$<a href="postconf.5.html#mydomain">mydomain</a>, ftp.$<a href="postconf.5.html#mydomain">mydomain</a>
7815 </pre>
7816
7817
7818 </DD>
7819
7820 <DT><b><a name="mydomain">mydomain</a>
7821 (default: see "postconf -d" output)</b></DT><DD>
7822
7823 <p>
7824 The internet domain name of this mail system. The default is to
7825 use $<a href="postconf.5.html#myhostname">myhostname</a> minus the first component, or "localdomain" (Postfix
7826 2.3 and later). $<a href="postconf.5.html#mydomain">mydomain</a> is used as
7827 a default value for many other configuration parameters.
7828 </p>
7829
7830 <p>
7831 Example:
7832 </p>
7833
7834 <pre>
7835 <a href="postconf.5.html#mydomain">mydomain</a> = domain.tld
7836 </pre>
7837
7838
7839 </DD>
7840
7841 <DT><b><a name="myhostname">myhostname</a>
7842 (default: see "postconf -d" output)</b></DT><DD>
7843
7844 <p>
7845 The internet hostname of this mail system. The default is to use
7846 the fully-qualified domain name (FQDN) from gethostname(), or to
7847 use the non-FQDN result from gethostname() and append ".$<a href="postconf.5.html#mydomain">mydomain</a>".
7848 $<a href="postconf.5.html#myhostname">myhostname</a> is used as a default value for many other configuration
7849 parameters. </p>
7850
7851 <p>
7852 Example:
7853 </p>
7854
7855 <pre>
7856 <a href="postconf.5.html#myhostname">myhostname</a> = host.example.com
7857 </pre>
7858
7859
7860 </DD>
7861
7862 <DT><b><a name="mynetworks">mynetworks</a>
7863 (default: see "postconf -d" output)</b></DT><DD>
7864
7865 <p>
7866 The list of "trusted" remote SMTP clients that have more privileges than
7867 "strangers".
7868 </p>
7869
7870 <p>
7871 In particular, "trusted" SMTP clients are allowed to relay mail
7872 through Postfix. See the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> parameter
7873 description in the <a href="postconf.5.html">postconf(5)</a> manual.
7874 </p>
7875
7876 <p>
7877 You can specify the list of "trusted" network addresses by hand
7878 or you can let Postfix do it for you (which is the default).
7879 See the description of the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> parameter for more
7880 information.
7881 </p>
7882
7883 <p>
7884 If you specify the <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand,
7885 Postfix ignores the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> setting.
7886 </p>
7887
7888 <p> Specify a list of network addresses or network/netmask patterns,
7889 separated by commas and/or whitespace. Continue long lines by
7890 starting the next line with whitespace. </p>
7891
7892 <p> The netmask specifies the number of bits in the network part
7893 of a host address. You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
7894 patterns. A "/file/name" pattern is replaced by its contents; a
7895 "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry matches a
7896 lookup string (the lookup result is ignored). </p>
7897
7898 <p> The list is matched left to right, and the search stops on the
7899 first match. Specify "!pattern" to exclude an address or network
7900 block from the list. The form "!/file/name" is supported only
7901 in Postfix version 2.4 and later. </p>
7902
7903 <p> Note 1: Pattern matching of domain names is controlled by the
7904 presence or absence of "<a href="postconf.5.html#mynetworks">mynetworks</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
7905 parameter value. </p>
7906
7907 <p> Note 2: IP version 6 address information must be specified inside
7908 <tt>[]</tt> in the <a href="postconf.5.html#mynetworks">mynetworks</a> value, and in files specified with
7909 "/file/name". IP version 6 addresses contain the ":" character,
7910 and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" pattern. </p>
7911
7912 <p> Note 3: CIDR ranges cannot be specified in hash tables. Use cidr
7913 tables if CIDR ranges are used. </p>
7914
7915 <p> Examples: </p>
7916
7917 <pre>
7918 <a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28
7919 <a href="postconf.5.html#mynetworks">mynetworks</a> = !192.168.0.1, 192.168.0.0/28
7920 <a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64
7921 <a href="postconf.5.html#mynetworks">mynetworks</a> = $<a href="postconf.5.html#config_directory">config_directory</a>/mynetworks
7922 <a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/network_table
7923 <a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="cidr_table.5.html">cidr</a>:/etc/postfix/network_table.cidr
7924 </pre>
7925
7926
7927 </DD>
7928
7929 <DT><b><a name="mynetworks_style">mynetworks_style</a>
7930 (default: Postfix ≥ 3.0: host, Postfix < 3.0: subnet)</b></DT><DD>
7931
7932 <p>
7933 The method to generate the default value for the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter.
7934 This is the list of trusted networks for relay access control etc.
7935 </p>
7936
7937 <ul>
7938
7939 <li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = host" when Postfix should
7940 "trust" only the local machine. </p>
7941
7942 <li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = subnet" when Postfix
7943 should "trust" remote SMTP clients in the same IP subnetworks as the local
7944 machine. On Linux, this works correctly only with interfaces
7945 specified with the "ifconfig" or "ip" command. </p>
7946
7947 <li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = class" when Postfix should
7948 "trust" remote SMTP clients in the same IP class A/B/C networks as the
7949 local machine. Caution: this may cause
7950 Postfix to "trust" your entire provider's network. Instead, specify
7951 an explicit <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand, as described with the <a href="postconf.5.html#mynetworks">mynetworks</a>
7952 configuration parameter. </p>
7953
7954 </ul>
7955
7956
7957 </DD>
7958
7959 <DT><b><a name="myorigin">myorigin</a>
7960 (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
7961
7962 <p>
7963 The domain name that locally-posted mail appears to come
7964 from, and that locally posted mail is delivered to. The default,
7965 $<a href="postconf.5.html#myhostname">myhostname</a>, is adequate for small sites. If you run a domain with
7966 multiple machines, you should (1) change this to $<a href="postconf.5.html#mydomain">mydomain</a> and (2)
7967 set up a domain-wide alias database that aliases each user to
7968 user (a] that.users.mailhost.
7969 </p>
7970
7971 <p>
7972 Example:
7973 </p>
7974
7975 <pre>
7976 <a href="postconf.5.html#myorigin">myorigin</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
7977 </pre>
7978
7979
7980 </DD>
7981
7982 <DT><b><a name="nested_header_checks">nested_header_checks</a>
7983 (default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
7984
7985 <p>
7986 Optional lookup tables for content inspection of non-MIME message
7987 headers in attached messages, as described in the <a href="header_checks.5.html">header_checks(5)</a>
7988 manual page.
7989 </p>
7990
7991 <p>
7992 This feature is available in Postfix 2.0 and later.
7993 </p>
7994
7995
7996 </DD>
7997
7998 <DT><b><a name="newaliases_path">newaliases_path</a>
7999 (default: see "postconf -d" output)</b></DT><DD>
8000
8001 <p>
8002 Sendmail compatibility feature that specifies the location of the
8003 <a href="newaliases.1.html">newaliases(1)</a> command. This command can be used to rebuild the
8004 <a href="local.8.html">local(8)</a> <a href="aliases.5.html">aliases(5)</a> database.
8005 </p>
8006
8007
8008 </DD>
8009
8010 <DT><b><a name="non_fqdn_reject_code">non_fqdn_reject_code</a>
8011 (default: 504)</b></DT><DD>
8012
8013 <p>
8014 The numerical Postfix SMTP server reply code when a client request
8015 is rejected by the <a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a>, <a href="postconf.5.html#reject_non_fqdn_sender">reject_non_fqdn_sender</a>
8016 or <a href="postconf.5.html#reject_non_fqdn_recipient">reject_non_fqdn_recipient</a> restriction.
8017 </p>
8018
8019
8020 </DD>
8021
8022 <DT><b><a name="non_smtpd_milters">non_smtpd_milters</a>
8023 (default: empty)</b></DT><DD>
8024
8025 <p> A list of Milter (mail filter) applications for new mail that
8026 does not arrive via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. This includes local
8027 submission via the <a href="sendmail.1.html">sendmail(1)</a> command line, new mail that arrives
8028 via the Postfix <a href="qmqpd.8.html">qmqpd(8)</a> server, and old mail that is re-injected
8029 into the queue with "postsuper -r". Specify space or comma as a
8030 separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details. </p>
8031
8032 <p> This feature is available in Postfix 2.3 and later. </p>
8033
8034
8035 </DD>
8036
8037 <DT><b><a name="notify_classes">notify_classes</a>
8038 (default: resource, software)</b></DT><DD>
8039
8040 <p>
8041 The list of error classes that are reported to the postmaster. These
8042 postmaster notifications do not replace user notifications. The
8043 default is to report only the most serious problems. The paranoid
8044 may wish to turn on the policy (UCE and mail relaying) and protocol
8045 error (broken mail software) reports.
8046 </p>
8047
8048 <p> NOTE: postmaster notifications may contain confidential information
8049 such as SASL passwords or message content. It is the system
8050 administrator's responsibility to treat such information with care.
8051 </p>
8052
8053 <p>
8054 The error classes are:
8055 </p>
8056
8057 <dl>
8058
8059 <dt><b>bounce</b> (also implies <b>2bounce</b>)</dt>
8060
8061 <dd>Send the postmaster copies of the headers of bounced mail, and
8062 send transcripts of SMTP sessions when Postfix rejects mail. The
8063 notification is sent to the address specified with the
8064 <a href="postconf.5.html#bounce_notice_recipient">bounce_notice_recipient</a> configuration parameter (default: postmaster).
8065 </dd>
8066
8067 <dt><b>2bounce</b></dt>
8068
8069 <dd>Send undeliverable bounced mail to the postmaster. The notification
8070 is sent to the address specified with the <a href="postconf.5.html#2bounce_notice_recipient">2bounce_notice_recipient</a>
8071 configuration parameter (default: postmaster). </dd>
8072
8073 <dt><b>data</b></dt>
8074
8075 <dd>Send the postmaster a transcript of the SMTP session with an
8076 error because a critical data file was unavailable. The notification
8077 is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
8078 configuration parameter (default: postmaster). <br> This feature
8079 is available in Postfix 2.9 and later. </dd>
8080
8081 <dt><b>delay</b></dt>
8082
8083 <dd>Send the postmaster copies of the headers of delayed mail (see
8084 <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>). The
8085 notification is sent to the address specified with the
8086 <a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a> configuration parameter (default: postmaster).
8087 </dd>
8088
8089 <dt><b>policy</b></dt>
8090
8091 <dd>Send the postmaster a transcript of the SMTP session when a
8092 client request was rejected because of (UCE) policy. The notification
8093 is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
8094 configuration parameter (default: postmaster). </dd>
8095
8096 <dt><b>protocol</b></dt>
8097
8098 <dd>Send the postmaster a transcript of the SMTP session in case
8099 of client or server protocol errors. The notification is sent to
8100 the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration
8101 parameter (default: postmaster). </dd>
8102
8103 <dt><b>resource</b></dt>
8104
8105 <dd>Inform the postmaster of mail not delivered due to resource
8106 problems. The notification is sent to the address specified with
8107 the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
8108 postmaster). </dd>
8109
8110 <dt><b>software</b></dt>
8111
8112 <dd>Inform the postmaster of mail not delivered due to software
8113 problems. The notification is sent to the address specified with
8114 the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
8115 postmaster). </dd>
8116
8117 </dl>
8118
8119 <p>
8120 Examples:
8121 </p>
8122
8123 <pre>
8124 <a href="postconf.5.html#notify_classes">notify_classes</a> = bounce, delay, policy, protocol, resource, software
8125 <a href="postconf.5.html#notify_classes">notify_classes</a> = 2bounce, resource, software
8126 </pre>
8127
8128
8129 </DD>
8130
8131 <DT><b><a name="openssl_path">openssl_path</a>
8132 (default: openssl)</b></DT><DD>
8133
8134 <p>
8135 The location of the OpenSSL command line program openssl(1). This
8136 is used by the "<b><a href="postfix-tls.1.html">postfix tls</a></b>" command to create private keys,
8137 certificate signing requests, self-signed certificates, and to
8138 compute public key digests for DANE TLSA records. In multi-instance
8139 environments, this parameter is always determined from the configuration
8140 of the default Postfix instance.
8141 </p>
8142
8143 <p> Example: </p>
8144
8145 <blockquote>
8146 <pre>
8147 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
8148 # NetBSD pkgsrc:
8149 <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/pkg/bin/openssl
8150 # Local build:
8151 <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/local/bin/openssl
8152 </pre>
8153 </blockquote>
8154
8155 <p>
8156 This feature is available in Postfix 3.1 and later.
8157 </p>
8158
8159
8160 </DD>
8161
8162 <DT><b><a name="owner_request_special">owner_request_special</a>
8163 (default: yes)</b></DT><DD>
8164
8165 <p>
8166 Enable special treatment for owner-<i>listname</i> entries in the
8167 <a href="aliases.5.html">aliases(5)</a> file, and don't split owner-<i>listname</i> and
8168 <i>listname</i>-request address localparts when the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>
8169 is set to "-". This feature is useful for mailing lists.
8170 </p>
8171
8172
8173 </DD>
8174
8175 <DT><b><a name="parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
8176 (default: see "postconf -d" output)</b></DT><DD>
8177
8178 <p>
8179 A list of Postfix features where the pattern "example.com" also
8180 matches subdomains of example.com,
8181 instead of requiring an explicit ".example.com" pattern. This is
8182 planned backwards compatibility: eventually, all Postfix features
8183 are expected to require explicit ".example.com" style patterns when
8184 you really want to match subdomains.
8185 </p>
8186
8187 <p> The following Postfix feature names are supported. </p>
8188
8189 <dl>
8190
8191 <dt> Postfix version 1.0 and later</dt>
8192
8193 <dd>
8194 <a href="postconf.5.html#debug_peer_list">debug_peer_list</a>,
8195 <a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a>,
8196 <a href="postconf.5.html#mynetworks">mynetworks</a>,
8197 <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>,
8198 <a href="postconf.5.html#relay_domains">relay_domains</a>,
8199 <a href="postconf.5.html#transport_maps">transport_maps</a>
8200 </dd>
8201
8202 <dt> Postfix version 1.1 and later</dt>
8203
8204 <dd>
8205 <a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>,
8206 <a href="SMTPD_ACCESS_README.html">smtpd_access_maps</a>,
8207 </dd>
8208
8209 <dt> Postfix version 2.8 and later </dt>
8210
8211 <dd>
8212 <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a>
8213 </dd>
8214
8215 <dt> Postfix version 3.0 and later </dt>
8216
8217 <dd>
8218 <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
8219 </dd>
8220
8221 </dl>
8222
8223
8224 </DD>
8225
8226 <DT><b><a name="permit_mx_backup_networks">permit_mx_backup_networks</a>
8227 (default: empty)</b></DT><DD>
8228
8229 <p>
8230 Restrict the use of the <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> SMTP access feature to
8231 only domains whose primary MX hosts match the listed networks.
8232 The parameter value syntax is the same as with the <a href="postconf.5.html#mynetworks">mynetworks</a>
8233 parameter; note, however, that the default value is empty. </p>
8234
8235 <p> Pattern matching of domain names is controlled by the presence
8236 or absence of "<a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>" in the
8237 <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </p>
8238
8239
8240 </DD>
8241
8242 <DT><b><a name="pickup_service_name">pickup_service_name</a>
8243 (default: pickup)</b></DT><DD>
8244
8245 <p>
8246 The name of the <a href="pickup.8.html">pickup(8)</a> service. This service picks up local mail
8247 submissions from the Postfix <a href="QSHAPE_README.html#maildrop_queue">maildrop queue</a>.
8248 </p>
8249
8250 <p>
8251 This feature is available in Postfix 2.0 and later.
8252 </p>
8253
8254
8255 </DD>
8256
8257 <DT><b><a name="pipe_delivery_status_filter">pipe_delivery_status_filter</a>
8258 (default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
8259
8260 <p> Optional filter for the <a href="pipe.8.html">pipe(8)</a> delivery agent to change the
8261 delivery status code or explanatory text of successful or unsuccessful
8262 deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p>
8263
8264 <p> This feature is available in Postfix 3.0 and later. </p>
8265
8266
8267 </DD>
8268
8269 <DT><b><a name="plaintext_reject_code">plaintext_reject_code</a>
8270 (default: 450)</b></DT><DD>
8271
8272 <p>
8273 The numerical Postfix SMTP server response code when a request
8274 is rejected by the <b><a href="postconf.5.html#reject_plaintext_session">reject_plaintext_session</a></b> restriction.
8275 </p>
8276
8277 <p> This feature is available in Postfix 2.3 and later. </p>
8278
8279
8280 </DD>
8281
8282 <DT><b><a name="postlog_service_name">postlog_service_name</a>
8283 (default: postlog)</b></DT><DD>
8284
8285 <p> The name of the <a href="postlogd.8.html">postlogd(8)</a> service entry in <a href="master.5.html">master.cf</a>.
8286 This service appends logfile records to the file specified
8287 with the <a href="postconf.5.html#maillog_file">maillog_file</a> parameter. </p>
8288
8289 <p> This feature is available in Postfix 3.4 and later. </p>
8290
8291
8292 </DD>
8293
8294 <DT><b><a name="postlogd_watchdog_timeout">postlogd_watchdog_timeout</a>
8295 (default: 10s)</b></DT><DD>
8296
8297 <p> How much time a <a href="postlogd.8.html">postlogd(8)</a> process may take to process a request
8298 before it is terminated by a built-in watchdog timer. This is a
8299 safety mechanism that prevents <a href="postlogd.8.html">postlogd(8)</a> from becoming non-responsive
8300 due to a bug in Postfix itself or in system software. This limit
8301 cannot be set under 10s. </p>
8302
8303 <p> Specify a non-zero time value (an integral value plus an optional
8304 one-letter suffix that specifies the time unit). Time units: s
8305 (seconds), m (minutes), h (hours), d (days), w (weeks).
8306 The default time unit is s (seconds). </p>
8307
8308 <p> This feature is available in Postfix 3.4 and later. </p>
8309
8310
8311 </DD>
8312
8313 <DT><b><a name="postmulti_control_commands">postmulti_control_commands</a>
8314 (default: reload flush)</b></DT><DD>
8315
8316 <p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager
8317 treats as "control" commands, that operate on running instances. For
8318 these commands, disabled instances are skipped. </p>
8319
8320 <p> This feature is available in Postfix 2.6 and later. </p>
8321
8322
8323 </DD>
8324
8325 <DT><b><a name="postmulti_start_commands">postmulti_start_commands</a>
8326 (default: start)</b></DT><DD>
8327
8328 <p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
8329 as "start" commands. For these commands, disabled instances are "checked"
8330 rather than "started", and failure to "start" a member instance of an
8331 instance group will abort the start-up of later instances. </p>
8332
8333 <p> This feature is available in Postfix 2.6 and later. </p>
8334
8335
8336 </DD>
8337
8338 <DT><b><a name="postmulti_stop_commands">postmulti_stop_commands</a>
8339 (default: see "postconf -d" output)</b></DT><DD>
8340
8341 <p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
8342 as "stop" commands. For these commands, disabled instances are skipped,
8343 and enabled instances are processed in reverse order. </p>
8344
8345 <p> This feature is available in Postfix 2.6 and later. </p>
8346
8347
8348 </DD>
8349
8350 <DT><b><a name="postscreen_access_list">postscreen_access_list</a>
8351 (default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>)</b></DT><DD>
8352
8353 <p> Permanent allow/denylist for remote SMTP client IP addresses.
8354 <a href="postscreen.8.html">postscreen(8)</a> searches this list immediately after a remote SMTP
8355 client connects. Specify a comma- or whitespace-separated list of
8356 commands (in upper or lower case) or lookup tables. The search stops
8357 upon the first command that fires for the client IP address. </p>
8358
8359 <dl>
8360
8361 <dt> <b> <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a> </b> </dt> <dd> Allowlist the client and
8362 terminate the search if the client IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>.
8363 Do not subject the client to any before/after 220 greeting tests.
8364 Pass the connection immediately to a Postfix SMTP server process.
8365 <br> Pattern matching of domain names is controlled by the presence
8366 or absence of "<a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a>" in the
8367 <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </dd>
8368
8369 <dt> <b> <a href="DATABASE_README.html">type:table</a> </b> </dt> <dd> Query the specified lookup
8370 table. Each table lookup result is an access list, except that
8371 access lists inside a table cannot specify <a href="DATABASE_README.html">type:table</a> entries. <br>
8372 To discourage the use of hash, btree, etc. tables, there is no
8373 support for substring matching like <a href="smtpd.8.html">smtpd(8)</a>. Use CIDR tables
8374 instead. </dd>
8375
8376 <dt> <b> permit </b> </dt> <dd> Allowlist the client and terminate
8377 the search. Do not subject the client to any before/after 220
8378 greeting tests. Pass the connection immediately to a Postfix SMTP
8379 server process. </dd>
8380
8381 <dt> <b> reject </b> </dt> <dd> Denylist the client and terminate
8382 the search. Subject the client to the action configured with the
8383 <a href="postconf.5.html#postscreen_denylist_action">postscreen_denylist_action</a> configuration parameter. </dd>
8384
8385 <dt> <b> dunno </b> </dt> <dd> All <a href="postscreen.8.html">postscreen(8)</a> access lists
8386 implicitly have this command at the end. <br> When <b> dunno </b>
8387 is executed inside a lookup table, return from the lookup table and
8388 evaluate the next command. <br> When <b> dunno </b> is executed
8389 outside a lookup table, terminate the search, and subject the client
8390 to the configured before/after 220 greeting tests. </dd>
8391
8392 </dl>
8393
8394 <p> Example: </p>
8395
8396 <pre>
8397 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
8398 <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
8399 <a href="cidr_table.5.html">cidr</a>:/etc/postfix/postscreen_access.cidr
8400 # Postfix < 3.6 use <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a>.
8401 <a href="postconf.5.html#postscreen_denylist_action">postscreen_denylist_action</a> = enforce
8402 </pre>
8403
8404 <pre>
8405 /etc/postfix/postscreen_access.<a href="cidr_table.5.html">cidr</a>:
8406 # Rules are evaluated in the order as specified.
8407 # Denylist 192.168.* except 192.168.0.1.
8408 192.168.0.1 dunno
8409 192.168.0.0/16 reject
8410 </pre>
8411
8412 <p> This feature is available in Postfix 2.8. </p>
8413
8414
8415 </DD>
8416
8417 <DT><b><a name="postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a>
8418 (default: <a href="DATABASE_README.html#types">static</a>:all)</b></DT><DD>
8419
8420 <p> A list of local <a href="postscreen.8.html">postscreen(8)</a> server IP addresses where a
8421 non-allowlisted remote SMTP client can obtain <a href="postscreen.8.html">postscreen(8)</a>'s temporary
8422 allowlist status. This status is required before the client can
8423 talk to a Postfix SMTP server process. By default, a client can
8424 obtain <a href="postscreen.8.html">postscreen(8)</a>'s allowlist status on any local <a href="postscreen.8.html">postscreen(8)</a>
8425 server IP address. </p>
8426
8427 <p> When <a href="postscreen.8.html">postscreen(8)</a> listens on both primary and backup MX
8428 addresses, the <a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> parameter can be
8429 configured to give the temporary allowlist status only when a client
8430 connects to a primary MX address. Once a client is allowlisted it
8431 can talk to a Postfix SMTP server on any address. Thus, clients
8432 that connect only to backup MX addresses will never become allowlisted,
8433 and will never be allowed to talk to a Postfix SMTP server process.
8434 </p>
8435
8436 <p> Specify a list of network addresses or network/netmask patterns,
8437 separated by commas and/or whitespace. The netmask specifies the
8438 number of bits in the network part of a host address. Continue long
8439 lines by starting the next line with whitespace. </p>
8440
8441 <p> You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A
8442 "/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
8443 lookup table is matched when a table entry matches a lookup string
8444 (the lookup result is ignored). </p>
8445
8446 <p> The list is matched left to right, and the search stops on the
8447 first match. Specify "!pattern" to exclude an address or network
8448 block from the list. </p>
8449
8450 <p> Note: IP version 6 address information must be specified inside
8451 [] in the <a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> value, and in files
8452 specified with "/file/name". IP version 6 addresses contain the
8453 ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
8454 pattern. </p>
8455
8456 <p> Example: </p>
8457
8458 <pre>
8459 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
8460 # Don't allowlist connections to the backup IP address.
8461 # Postfix < 3.6 use <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a>.
8462 <a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> = !168.100.189.8, <a href="DATABASE_README.html#types">static</a>:all
8463 </pre>
8464
8465 <p> This feature is available in Postfix 3.6 and later. </p>
8466
8467 <p> Available as <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> in Postfix 2.9 - 3.5. </p>
8468
8469
8470 </DD>
8471
8472 <DT><b><a name="postscreen_bare_newline_action">postscreen_bare_newline_action</a>
8473 (default: ignore)</b></DT><DD>
8474
8475 <p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends
8476 a bare newline character, that is, a newline not preceded by carriage
8477 return. Specify one of the following: </p>
8478
8479 <dl>
8480
8481 <dt> <b>ignore</b> </dt>
8482
8483 <dd> Ignore the failure of this test. Allow other tests to complete.
8484 Do <i>not</i> repeat this test before the result from some
8485 other test expires.
8486 This option is useful for testing and collecting statistics
8487 without blocking mail permanently. </dd>
8488
8489 <dt> <b>enforce</b> </dt>
8490
8491 <dd> Allow other tests to complete. Reject attempts to deliver mail
8492 with a 550 SMTP reply, and log the helo/sender/recipient information.
8493 Repeat this test the next time the client connects. </dd>
8494
8495 <dt> <b>drop</b> </dt>
8496
8497 <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
8498 this test the next time the client connects. </dd>
8499
8500 </dl>
8501
8502 <p> This feature is available in Postfix 2.8. </p>
8503
8504
8505 </DD>
8506
8507 <DT><b><a name="postscreen_bare_newline_enable">postscreen_bare_newline_enable</a>
8508 (default: no)</b></DT><DD>
8509
8510 <p> Enable "bare newline" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
8511 server. These tests are expensive: a remote SMTP client must
8512 disconnect after
8513 it passes the test, before it can talk to a real Postfix SMTP server.
8514 </p>
8515
8516 <p> This feature is available in Postfix 2.8. </p>
8517
8518
8519 </DD>
8520
8521 <DT><b><a name="postscreen_bare_newline_ttl">postscreen_bare_newline_ttl</a>
8522 (default: 30d)</b></DT><DD>
8523
8524 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a client
8525 IP address passed a "bare newline" SMTP protocol test, before it
8526 address is required to pass that test again. The default
8527 is long because a remote SMTP client must disconnect after it passes
8528 the test,
8529 before it can talk to a real Postfix SMTP server. </p>
8530
8531 <p> Specify a non-zero time value (an integral value plus an optional
8532 one-letter suffix that specifies the time unit). Time units: s
8533 (seconds), m (minutes), h (hours), d (days), w (weeks).
8534 The default time unit is d (days). </p>
8535
8536 <p> This feature is available in Postfix 2.8. </p>
8537
8538
8539 </DD>
8540
8541 <DT><b><a name="postscreen_blacklist_action">postscreen_blacklist_action</a>
8542 (default: ignore)</b></DT><DD>
8543
8544 <p> Renamed to <a href="postconf.5.html#postscreen_denylist_action">postscreen_denylist_action</a> in Postfix 3.6. </p>
8545
8546 <p> This feature is available in Postfix 2.8 - 3.5. </p>
8547
8548
8549 </DD>
8550
8551 <DT><b><a name="postscreen_cache_cleanup_interval">postscreen_cache_cleanup_interval</a>
8552 (default: 12h)</b></DT><DD>
8553
8554 <p> The amount of time between <a href="postscreen.8.html">postscreen(8)</a> cache cleanup runs.
8555 Cache cleanup increases the load on the cache database and should
8556 therefore not be run frequently. This feature requires that the
8557 cache database supports the "delete" and "sequence" operators.
8558 Specify a zero interval to disable cache cleanup. </p>
8559
8560 <p> After each cache cleanup run, the <a href="postscreen.8.html">postscreen(8)</a> daemon logs the
8561 number of entries that were retained and dropped. A cleanup run is
8562 logged as "partial" when the daemon terminates early after "<b>postfix
8563 reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
8564 seconds. </p>
8565
8566 <p> Specify a non-negative time value (an integral value plus an optional
8567 one-letter suffix that specifies the time unit). Time units: s
8568 (seconds), m (minutes), h (hours), d (days), w (weeks).
8569 The default time unit is h (hours). </p>
8570
8571 <p> This feature is available in Postfix 2.8. </p>
8572
8573
8574 </DD>
8575
8576 <DT><b><a name="postscreen_cache_map">postscreen_cache_map</a>
8577 (default: <a href="DATABASE_README.html#types">btree</a>:$<a href="postconf.5.html#data_directory">data_directory</a>/postscreen_cache)</b></DT><DD>
8578
8579 <p> Persistent storage for the <a href="postscreen.8.html">postscreen(8)</a> server decisions. </p>
8580
8581 <p> To share a <a href="postscreen.8.html">postscreen(8)</a> cache between multiple <a href="postscreen.8.html">postscreen(8)</a>
8582 instances, use "<a href="postconf.5.html#postscreen_cache_map">postscreen_cache_map</a> = <a href="proxymap.8.html">proxy</a>:<a href="DATABASE_README.html#types">btree</a>:/path/to/file".
8583 This requires Postfix version 2.9 or later; earlier <a href="proxymap.8.html">proxymap(8)</a>
8584 implementations don't support cache cleanup. For an alternative
8585 approach see the <a href="memcache_table.5.html">memcache_table(5)</a> manpage. </p>
8586
8587 <p> This feature is available in Postfix 2.8. </p>
8588
8589
8590 </DD>
8591
8592 <DT><b><a name="postscreen_cache_retention_time">postscreen_cache_retention_time</a>
8593 (default: 7d)</b></DT><DD>
8594
8595 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will cache an expired
8596 temporary allowlist entry before it is removed. This prevents clients
8597 from being logged as "NEW" just because their cache entry expired
8598 an hour ago. It also prevents the cache from filling up with clients
8599 that passed some deep protocol test once and never came back. </p>
8600
8601 <p> Specify a non-zero time value (an integral value plus an optional
8602 one-letter suffix that specifies the time unit). Time units: s
8603 (seconds), m (minutes), h (hours), d (days), w (weeks).
8604 The default time unit is d (days). </p>
8605
8606 <p> This feature is available in Postfix 2.8. </p>
8607
8608
8609 </DD>
8610
8611 <DT><b><a name="postscreen_client_connection_count_limit">postscreen_client_connection_count_limit</a>
8612 (default: $<a href="postconf.5.html#smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>)</b></DT><DD>
8613
8614 <p> How many simultaneous connections any remote SMTP client is
8615 allowed to have
8616 with the <a href="postscreen.8.html">postscreen(8)</a> daemon. By default, this limit is the same
8617 as with the Postfix SMTP server. Note that the triage process can
8618 take several seconds, with the time spent in <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
8619 delay, and with the time spent talking to the <a href="postscreen.8.html">postscreen(8)</a> built-in
8620 dummy SMTP protocol engine. </p>
8621
8622 <p> This feature is available in Postfix 2.8. </p>
8623
8624
8625 </DD>
8626
8627 <DT><b><a name="postscreen_command_count_limit">postscreen_command_count_limit</a>
8628 (default: 20)</b></DT><DD>
8629
8630 <p> The limit on the total number of commands per SMTP session for
8631 <a href="postscreen.8.html">postscreen(8)</a>'s built-in SMTP protocol engine. This SMTP engine
8632 defers or rejects all attempts to deliver mail, therefore there is
8633 no need to enforce separate limits on the number of junk commands
8634 and error commands. </p>
8635
8636 <p> This feature is available in Postfix 2.8. </p>
8637
8638
8639 </DD>
8640
8641 <DT><b><a name="postscreen_command_filter">postscreen_command_filter</a>
8642 (default: $<a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>)</b></DT><DD>
8643
8644 <p> A mechanism to transform commands from remote SMTP clients.
8645 See <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for further details. </p>
8646
8647 <p> This feature is available in Postfix 2.8 and later. </p>
8648
8649
8650 </DD>
8651
8652 <DT><b><a name="postscreen_command_time_limit">postscreen_command_time_limit</a>
8653 (default: normal: 300s, <a href="STRESS_README.html">overload</a>: 10s)</b></DT><DD>
8654
8655 <p> The time limit to read an entire command line with <a href="postscreen.8.html">postscreen(8)</a>'s
8656 built-in SMTP protocol engine. </p>
8657
8658 <p> This feature is available in Postfix 2.8. </p>
8659
8660
8661 </DD>
8662
8663 <DT><b><a name="postscreen_denylist_action">postscreen_denylist_action</a>
8664 (default: ignore)</b></DT><DD>
8665
8666 <p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client is
8667 permanently denylisted with the <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> parameter.
8668 Specify one of the following: </p>
8669
8670 <dl>
8671
8672 <dt> <b>ignore</b> (default) </dt>
8673
8674 <dd> Ignore this result. Allow other tests to complete. Repeat
8675 this test the next time the client connects.
8676 This option is useful for testing and collecting statistics
8677 without blocking mail. </dd>
8678
8679 <dt> <b>enforce</b> </dt>
8680
8681 <dd> Allow other tests to complete. Reject attempts to deliver mail
8682 with a 550 SMTP reply, and log the helo/sender/recipient information.
8683 Repeat this test the next time the client connects. </dd>
8684
8685 <dt> <b>drop</b> </dt>
8686
8687 <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
8688 this test the next time the client connects. </dd>
8689
8690 </dl>
8691
8692 <p> This feature is available in Postfix 3.6 and later. </p>
8693
8694 <p> Available as <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> in Postfix 2.8 - 3.5. </p>
8695
8696
8697 </DD>
8698
8699 <DT><b><a name="postscreen_disable_vrfy_command">postscreen_disable_vrfy_command</a>
8700 (default: $<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a>)</b></DT><DD>
8701
8702 <p> Disable the SMTP VRFY command in the <a href="postscreen.8.html">postscreen(8)</a> daemon. See
8703 <a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> for details. </p>
8704
8705 <p> This feature is available in Postfix 2.8. </p>
8706
8707
8708 </DD>
8709
8710 <DT><b><a name="postscreen_discard_ehlo_keyword_address_maps">postscreen_discard_ehlo_keyword_address_maps</a>
8711 (default: $<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>)</b></DT><DD>
8712
8713 <p> Lookup tables, indexed by the remote SMTP client address, with
8714 case insensitive lists of EHLO keywords (pipelining, starttls, auth,
8715 etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO response
8716 to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
8717 The table is not searched by hostname for robustness reasons. </p>
8718
8719 <p> This feature is available in Postfix 2.8 and later. </p>
8720
8721
8722 </DD>
8723
8724 <DT><b><a name="postscreen_discard_ehlo_keywords">postscreen_discard_ehlo_keywords</a>
8725 (default: $<a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>)</b></DT><DD>
8726
8727 <p> A case insensitive list of EHLO keywords (pipelining, starttls,
8728 auth, etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO
8729 response to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
8730 for details. </p>
8731
8732 <p> This feature is available in Postfix 2.8 and later. </p>
8733
8734
8735 </DD>
8736
8737 <DT><b><a name="postscreen_dnsbl_action">postscreen_dnsbl_action</a>
8738 (default: ignore)</b></DT><DD>
8739
8740 <p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client's combined
8741 DNSBL score is equal to or greater than a threshold (as defined
8742 with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> and <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>
8743 parameters). Specify one of the following: </p>
8744
8745 <dl>
8746
8747 <dt> <b>ignore</b> (default) </dt>
8748
8749 <dd> Ignore the failure of this test. Allow other tests to complete.
8750 Repeat this test the next time the client connects.
8751 This option is useful for testing and collecting statistics
8752 without blocking mail. </dd>
8753
8754 <dt> <b>enforce</b> </dt>
8755
8756 <dd> Allow other tests to complete. Reject attempts to deliver mail
8757 with a 550 SMTP reply, and log the helo/sender/recipient information.
8758 Repeat this test the next time the client connects. </dd>
8759
8760 <dt> <b>drop</b> </dt>
8761
8762 <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
8763 this test the next time the client connects. </dd>
8764
8765 </dl>
8766
8767 <p> This feature is available in Postfix 2.8. </p>
8768
8769
8770 </DD>
8771
8772 <DT><b><a name="postscreen_dnsbl_allowlist_threshold">postscreen_dnsbl_allowlist_threshold</a>
8773 (default: 0)</b></DT><DD>
8774
8775 <p> Allow a remote SMTP client to skip "before" and "after 220
8776 greeting" protocol tests, based on its combined DNSBL score as
8777 defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> parameter. </p>
8778
8779 <p> Specify a negative value to enable this feature. When a client
8780 passes the <a href="postconf.5.html#postscreen_dnsbl_allowlist_threshold">postscreen_dnsbl_allowlist_threshold</a> without having
8781 failed other tests, all pending or disabled tests are flagged as
8782 completed with an expiration time based on the DNS reply TTL.
8783 When a test was already completed, its expiration time is updated
8784 if it was less than the value based on the DNS reply TTL. See
8785 also <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a> and <a href="postconf.5.html#postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>. </p>
8786
8787 <p> This feature is available in Postfix 3.6 and later. </p>
8788
8789 <p> Available as <a href="postconf.5.html#postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a> in Postfix 2.11
8790 - 3.5. </p>
8791
8792
8793 </DD>
8794
8795 <DT><b><a name="postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>
8796 (default: ${<a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>?{$<a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>}:{1}}h)</b></DT><DD>
8797
8798 <p> The maximum amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a
8799 client IP address passed a DNS-based reputation test, before it is
8800 required to pass that test again. If the DNS
8801 reply specifies a shorter TTL value, that value will be used unless
8802 it would be smaller than <a href="postconf.5.html#postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>. </p>
8803
8804 <p> Specify a non-zero time value (an integral value plus an optional
8805 one-letter suffix that specifies the time unit). Time units: s
8806 (seconds), m (minutes), h (hours), d (days), w (weeks).
8807 The default time unit is h (hours). </p>
8808
8809 <p> This feature is available in Postfix 3.1. The default setting
8810 is backwards-compatible with older Postfix versions. </p>
8811
8812
8813 </DD>
8814
8815 <DT><b><a name="postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>
8816 (default: 60s)</b></DT><DD>
8817
8818 <p> The minimum amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a
8819 client IP address passed a DNS-based reputation test, before it
8820 is required to pass that test again. If the DNS
8821 reply specifies a larger TTL value, that value will be used unless
8822 it would be larger than <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>. </p>
8823
8824 <p> Specify a non-zero time value (an integral value plus an optional
8825 one-letter suffix that specifies the time unit). Time units: s
8826 (seconds), m (minutes), h (hours), d (days), w (weeks).
8827 The default time unit is s (seconds). </p>
8828
8829 <p> This feature is available in Postfix 3.1. </p>
8830
8831
8832 </DD>
8833
8834 <DT><b><a name="postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a>
8835 (default: empty)</b></DT><DD>
8836
8837 <p> A mapping from an actual DNSBL domain name which includes a secret
8838 password, to the DNSBL domain name that postscreen will reply with
8839 when it rejects mail. When no mapping is found, the actual DNSBL
8840 domain will be used. </p>
8841
8842 <p> For maximal stability it is best to use a file that is read
8843 into memory such as <a href="pcre_table.5.html">pcre</a>:, <a href="regexp_table.5.html">regexp</a>: or <a href="DATABASE_README.html#types">texthash</a>: (<a href="DATABASE_README.html#types">texthash</a>: is similar
8844 to <a href="DATABASE_README.html#types">hash</a>:, except a) there is no need to run <a href="postmap.1.html">postmap(1)</a> before the
8845 file can be used, and b) <a href="DATABASE_README.html#types">texthash</a>: does not detect changes after
8846 the file is read). </p>
8847
8848 <p> Example: </p>
8849
8850 <pre>
8851 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
8852 <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> = <a href="DATABASE_README.html#types">texthash</a>:/etc/postfix/dnsbl_reply
8853 </pre>
8854
8855 <pre>
8856 /etc/postfix/dnsbl_reply:
8857 secret.zen.spamhaus.org zen.spamhaus.org
8858 </pre>
8859
8860 <p> NOTE: This feature differs from the Postfix SMTP server's
8861 <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> feature, where 1) the table search key includes the
8862 optional "<i>=address-filter</i>", and where 2) the lookup result
8863 contains free text with <i>$name</i> variables. </p>
8864
8865 <p> This feature is available in Postfix 2.8. </p>
8866
8867
8868 </DD>
8869
8870 <DT><b><a name="postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
8871 (default: empty)</b></DT><DD>
8872
8873 <p>Optional list of patterns with DNS allow/denylist domains, filters
8874 and weight
8875 factors. When the list is non-empty, the <a href="dnsblog.8.html">dnsblog(8)</a> daemon will
8876 query these domains with the reversed IP addresses of remote SMTP
8877 clients,
8878 and <a href="postscreen.8.html">postscreen(8)</a> will update an SMTP client's DNSBL score with
8879 each non-error reply as described below. </p>
8880
8881 <p> Caution: when postscreen rejects mail, its SMTP response contains
8882 the DNSBL
8883 domain name. Use the <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> feature to hide
8884 "password" information in DNSBL domain names. </p>
8885
8886 <p> When a client's score is equal to or greater than the threshold
8887 specified with <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>, <a href="postscreen.8.html">postscreen(8)</a> can drop
8888 the connection with the remote SMTP client. </p>
8889
8890 <p> Specify a list of domain=filter*weight patterns, separated by
8891 comma or whitespace. </p>
8892
8893 <ul>
8894
8895 <li> <p> When a pattern specifies no "=filter", <a href="postscreen.8.html">postscreen(8)</a> will
8896 use any non-error DNSBL query result. Otherwise, <a href="postscreen.8.html">postscreen(8)</a>
8897 will use only DNSBL
8898 query results that match the filter. The filter has the form d.d.d.d,
8899 where each d is a number, or a pattern inside [] that contains one
8900 or more ";"-separated numbers or number..number ranges. </p>
8901
8902 <li> <p> When a pattern specifies no "*weight", the weight of the
8903 pattern is 1. Otherwise, the weight must be an integral number.
8904 Specify a negative number for allowlisting. </p>
8905
8906 <li> <p> When a pattern matches one or more DNSBL query results,
8907 <a href="postscreen.8.html">postscreen(8)</a> adds that pattern's weight once to the remote SMTP
8908 client's DNSBL score. </p>
8909
8910 </ul>
8911
8912 <p> Examples: </p>
8913
8914 <p> To use example.com as a high-confidence blocklist, and to
8915 block mail with example.net and example.org only when both agree:
8916 </p>
8917
8918 <pre>
8919 <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a> = 2
8920 <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com*2, example.net, example.org
8921 </pre>
8922
8923 <p> To filter only DNSBL replies containing 127.0.0.4: </p>
8924
8925 <pre>
8926 <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com=127.0.0.4
8927 </pre>
8928
8929 <p> This feature is available in Postfix 2.8. </p>
8930
8931
8932 </DD>
8933
8934 <DT><b><a name="postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>
8935 (default: 1)</b></DT><DD>
8936
8937 <p> The inclusive lower bound for blocking a remote SMTP client, based on
8938 its combined DNSBL score as defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
8939 parameter. </p>
8940
8941 <p> This feature is available in Postfix 2.8. </p>
8942
8943
8944 </DD>
8945
8946 <DT><b><a name="postscreen_dnsbl_timeout">postscreen_dnsbl_timeout</a>
8947 (default: 10s)</b></DT><DD>
8948
8949 <p> The time limit for DNSBL or DNSWL lookups. This is separate from
8950 the timeouts in the <a href="dnsblog.8.html">dnsblog(8)</a> daemon which are defined by system
8951 resolver(3) routines. </p>
8952
8953 <p> Specify a non-zero time value (an integral value plus an optional
8954 one-letter suffix that specifies the time unit). Time units: s
8955 (seconds), m (minutes), h (hours), d (days), w (weeks).
8956 The default time unit is s (seconds). </p>
8957
8958 <p> This feature is available in Postfix 3.0. </p>
8959
8960
8961 </DD>
8962
8963 <DT><b><a name="postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>
8964 (default: 1h)</b></DT><DD>
8965
8966 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a client
8967 IP address passed a DNS-based reputation test, before it is required
8968 to pass that test again. </p>
8969
8970 <p> Specify a non-zero time value (an integral value plus an optional
8971 one-letter suffix that specifies the time unit). Time units: s
8972 (seconds), m (minutes), h (hours), d (days), w (weeks).
8973 The default time unit is h (hours). </p>
8974
8975 <p> This feature is available in Postfix 2.8-3.0. It was
8976 replaced by <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a> in Postfix 3.1. </p>
8977
8978
8979 </DD>
8980
8981 <DT><b><a name="postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a>
8982 (default: 0)</b></DT><DD>
8983
8984 <p> Renamed to <a href="postconf.5.html#postscreen_dnsbl_allowlist_threshold">postscreen_dnsbl_allowlist_threshold</a> in Postfix 3.6. </p>
8985
8986 <p> This feature is available in Postfix 2.11 - 3.5. </p>
8987
8988
8989 </DD>
8990
8991 <DT><b><a name="postscreen_enforce_tls">postscreen_enforce_tls</a>
8992 (default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
8993
8994 <p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
8995 require that clients use TLS encryption. See smtpd_postscreen_enforce_tls
8996 for details. </p>
8997
8998 <p> This feature is available in Postfix 2.8 and later.
8999 Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
9000
9001
9002 </DD>
9003
9004 <DT><b><a name="postscreen_expansion_filter">postscreen_expansion_filter</a>
9005 (default: see "postconf -d" output)</b></DT><DD>
9006
9007 <p> List of characters that are permitted in <a href="postconf.5.html#postscreen_reject_footer">postscreen_reject_footer</a>
9008 attribute expansions. See <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> for further
9009 details. </p>
9010
9011 <p> This feature is available in Postfix 2.8 and later. </p>
9012
9013
9014 </DD>
9015
9016 <DT><b><a name="postscreen_forbidden_commands">postscreen_forbidden_commands</a>
9017 (default: $<a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>)</b></DT><DD>
9018
9019 <p> List of commands that the <a href="postscreen.8.html">postscreen(8)</a> server considers in
9020 violation of the SMTP protocol. See <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a> for
9021 syntax, and <a href="postconf.5.html#postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a> for possible actions.
9022 </p>
9023
9024 <p> This feature is available in Postfix 2.8. </p>
9025
9026
9027 </DD>
9028
9029 <DT><b><a name="postscreen_greet_action">postscreen_greet_action</a>
9030 (default: ignore)</b></DT><DD>
9031
9032 <p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client speaks
9033 before its turn within the time specified with the <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
9034 parameter. Specify one of the following: </p>
9035
9036 <dl>
9037
9038 <dt> <b>ignore</b> (default) </dt>
9039
9040 <dd> Ignore the failure of this test. Allow other tests to complete.
9041 Repeat this test the next time the client connects.
9042 This option is useful for testing and collecting statistics
9043 without blocking mail. </dd>
9044
9045 <dt> <b>enforce</b> </dt>
9046
9047 <dd> Allow other tests to complete. Reject attempts to deliver mail
9048 with a 550 SMTP reply, and log the helo/sender/recipient information.
9049 Repeat this test the next time the client connects. </dd>
9050
9051 <dt> <b>drop</b> </dt>
9052
9053 <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
9054 this test the next time the client connects. </dd>
9055
9056 </dl>
9057
9058 <p> In either case, <a href="postscreen.8.html">postscreen(8)</a> will not allowlist the remote SMTP client
9059 IP address. </p>
9060
9061 <p> This feature is available in Postfix 2.8. </p>
9062
9063
9064 </DD>
9065
9066 <DT><b><a name="postscreen_greet_banner">postscreen_greet_banner</a>
9067 (default: $<a href="postconf.5.html#smtpd_banner">smtpd_banner</a>)</b></DT><DD>
9068
9069 <p> The <i>text</i> in the optional "220-<i>text</i>..." server
9070 response that
9071 <a href="postscreen.8.html">postscreen(8)</a> sends ahead of the real Postfix SMTP server's "220
9072 text..." response, in an attempt to confuse bad SMTP clients so
9073 that they speak before their turn (pre-greet). Specify an empty
9074 value to disable this feature. </p>
9075
9076 <p> This feature is available in Postfix 2.8. </p>
9077
9078
9079 </DD>
9080
9081 <DT><b><a name="postscreen_greet_ttl">postscreen_greet_ttl</a>
9082 (default: 1d)</b></DT><DD>
9083
9084 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a client
9085 IP address passed a PREGREET test, before it is required to pass
9086 that test again. The default is relatively short, because
9087 a good client can immediately talk to a real Postfix SMTP server. </p>
9088
9089 <p> Specify a non-zero time value (an integral value plus an optional
9090 one-letter suffix that specifies the time unit). Time units: s
9091 (seconds), m (minutes), h (hours), d (days), w (weeks).
9092 The default time unit is d (days). </p>
9093
9094 <p> This feature is available in Postfix 2.8. </p>
9095
9096
9097 </DD>
9098
9099 <DT><b><a name="postscreen_greet_wait">postscreen_greet_wait</a>
9100 (default: normal: 6s, <a href="STRESS_README.html">overload</a>: 2s)</b></DT><DD>
9101
9102 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will wait for an SMTP
9103 client to send a command before its turn, and for DNS blocklist
9104 lookup results to arrive (default: up to 2 seconds under stress,
9105 up to 6 seconds otherwise). <p>
9106
9107 <p> Specify a non-zero time value (an integral value plus an optional
9108 one-letter suffix that specifies the time unit). Time units: s
9109 (seconds), m (minutes), h (hours), d (days), w (weeks).
9110 The default time unit is s (seconds). </p>
9111
9112 <p> This feature is available in Postfix 2.8. </p>
9113
9114
9115 </DD>
9116
9117 <DT><b><a name="postscreen_helo_required">postscreen_helo_required</a>
9118 (default: $<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a>)</b></DT><DD>
9119
9120 <p> Require that a remote SMTP client sends HELO or EHLO before
9121 commencing a MAIL transaction. </p>
9122
9123 <p> This feature is available in Postfix 2.8. </p>
9124
9125
9126 </DD>
9127
9128 <DT><b><a name="postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a>
9129 (default: drop)</b></DT><DD>
9130
9131 <p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends
9132 non-SMTP commands as specified with the <a href="postconf.5.html#postscreen_forbidden_commands">postscreen_forbidden_commands</a>
9133 parameter. Specify one of the following: </p>
9134
9135 <dl>
9136
9137 <dt> <b>ignore</b> </dt>
9138
9139 <dd> Ignore the failure of this test. Allow other tests to complete.
9140 Do <i>not</i> repeat this test before the result from some
9141 other test expires.
9142 This option is useful for testing and collecting statistics
9143 without blocking mail permanently. </dd>
9144
9145 <dt> <b>enforce</b> </dt>
9146
9147 <dd> Allow other tests to complete. Reject attempts to deliver mail
9148 with a 550 SMTP reply, and log the helo/sender/recipient information.
9149 Repeat this test the next time the client connects. </dd>
9150
9151 <dt> <b>drop</b> </dt>
9152
9153 <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
9154 this test the next time the client connects. This action is the
9155 same as with the Postfix SMTP server's <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>
9156 feature. </dd>
9157
9158 </dl>
9159
9160 <p> This feature is available in Postfix 2.8. </p>
9161
9162
9163 </DD>
9164
9165 <DT><b><a name="postscreen_non_smtp_command_enable">postscreen_non_smtp_command_enable</a>
9166 (default: no)</b></DT><DD>
9167
9168 <p> Enable "non-SMTP command" tests in the <a href="postscreen.8.html">postscreen(8)</a> server. These
9169 tests are expensive: a client must disconnect after it passes the
9170 test, before it can talk to a real Postfix SMTP server. </p>
9171
9172 <p> This feature is available in Postfix 2.8. </p>
9173
9174
9175 </DD>
9176
9177 <DT><b><a name="postscreen_non_smtp_command_ttl">postscreen_non_smtp_command_ttl</a>
9178 (default: 30d)</b></DT><DD>
9179
9180 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a client
9181 IP address passed a "non_smtp_command" SMTP protocol test, before
9182 it is required to pass that test again. The default
9183 is long because a client must disconnect after it passes the test,
9184 before it can talk to a real Postfix SMTP server. </p>
9185
9186 <p> Specify a non-zero time value (an integral value plus an optional
9187 one-letter suffix that specifies the time unit). Time units: s
9188 (seconds), m (minutes), h (hours), d (days), w (weeks).
9189 The default time unit is d (days). </p>
9190
9191 <p> This feature is available in Postfix 2.8. </p>
9192
9193
9194 </DD>
9195
9196 <DT><b><a name="postscreen_pipelining_action">postscreen_pipelining_action</a>
9197 (default: enforce)</b></DT><DD>
9198
9199 <p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client
9200 sends
9201 multiple commands instead of sending one command and waiting for
9202 the server to respond. Specify one of the following: </p>
9203
9204 <dl>
9205
9206 <dt> <b>ignore</b> </dt>
9207
9208 <dd> Ignore the failure of this test. Allow other tests to complete.
9209 Do <i>not</i> repeat this test before the result from some
9210 other test expires.
9211 This option is useful for testing and collecting statistics
9212 without blocking mail permanently. </dd>
9213
9214 <dt> <b>enforce</b> </dt>
9215
9216 <dd> Allow other tests to complete. Reject attempts to deliver mail
9217 with a 550 SMTP reply, and log the helo/sender/recipient information.
9218 Repeat this test the next time the client connects. </dd>
9219
9220 <dt> <b>drop</b> </dt>
9221
9222 <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
9223 this test the next time the client connects. </dd>
9224
9225 </dl>
9226
9227 <p> This feature is available in Postfix 2.8. </p>
9228
9229
9230 </DD>
9231
9232 <DT><b><a name="postscreen_pipelining_enable">postscreen_pipelining_enable</a>
9233 (default: no)</b></DT><DD>
9234
9235 <p> Enable "pipelining" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
9236 server. These tests are expensive: a good client must disconnect
9237 after it passes the test, before it can talk to a real Postfix SMTP
9238 server. </p>
9239
9240 <p> This feature is available in Postfix 2.8. </p>
9241
9242
9243 </DD>
9244
9245 <DT><b><a name="postscreen_pipelining_ttl">postscreen_pipelining_ttl</a>
9246 (default: 30d)</b></DT><DD>
9247
9248 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a client
9249 IP address passed a "pipelining" SMTP protocol test, before it is
9250 required to pass that test again. The default is
9251 long because a good client must disconnect after it passes the test,
9252 before it can talk to a real Postfix SMTP server. </p>
9253
9254 <p> Specify a non-zero time value (an integral value plus an optional
9255 one-letter suffix that specifies the time unit). Time units: s
9256 (seconds), m (minutes), h (hours), d (days), w (weeks).
9257 The default time unit is d (days). </p>
9258
9259 <p> This feature is available in Postfix 2.8. </p>
9260
9261
9262 </DD>
9263
9264 <DT><b><a name="postscreen_post_queue_limit">postscreen_post_queue_limit</a>
9265 (default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
9266
9267 <p> The number of clients that can be waiting for service from a
9268 real Postfix SMTP server process. When this queue is full, all
9269 clients will
9270 receive a 421 response. </p>
9271
9272 <p> This feature is available in Postfix 2.8. </p>
9273
9274
9275 </DD>
9276
9277 <DT><b><a name="postscreen_pre_queue_limit">postscreen_pre_queue_limit</a>
9278 (default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
9279
9280 <p> The number of non-allowlisted clients that can be waiting for
9281 a decision whether they will receive service from a real Postfix
9282 SMTP server
9283 process. When this queue is full, all non-allowlisted clients will
9284 receive a 421 response. </p>
9285
9286 <p> This feature is available in Postfix 2.8. </p>
9287
9288
9289 </DD>
9290
9291 <DT><b><a name="postscreen_reject_footer">postscreen_reject_footer</a>
9292 (default: $<a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>)</b></DT><DD>
9293
9294 <p> Optional information that is appended after a 4XX or 5XX
9295 <a href="postscreen.8.html">postscreen(8)</a> server
9296 response. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> for further details. </p>
9297
9298 <p> This feature is available in Postfix 2.8 and later. </p>
9299
9300
9301 </DD>
9302
9303 <DT><b><a name="postscreen_reject_footer_maps">postscreen_reject_footer_maps</a>
9304 (default: $<a href="postconf.5.html#smtpd_reject_footer_maps">smtpd_reject_footer_maps</a>)</b></DT><DD>
9305
9306 <p> Optional lookup table for information that is appended after a 4XX
9307 or 5XX <a href="postscreen.8.html">postscreen(8)</a> server response. See <a href="postconf.5.html#smtpd_reject_footer_maps">smtpd_reject_footer_maps</a> for
9308 further details. </p>
9309
9310 <p> This feature is available in Postfix 3.4 and later. </p>
9311
9312
9313 </DD>
9314
9315 <DT><b><a name="postscreen_tls_security_level">postscreen_tls_security_level</a>
9316 (default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
9317
9318 <p> The SMTP TLS security level for the <a href="postscreen.8.html">postscreen(8)</a> server; when
9319 a non-empty value is specified, this overrides the obsolete parameters
9320 <a href="postconf.5.html#postscreen_use_tls">postscreen_use_tls</a> and <a href="postconf.5.html#postscreen_enforce_tls">postscreen_enforce_tls</a>. See <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>
9321 for details. </p>
9322
9323 <p> This feature is available in Postfix 2.8 and later. </p>
9324
9325
9326 </DD>
9327
9328 <DT><b><a name="postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a>
9329 (default: empty)</b></DT><DD>
9330
9331 <p> The name of the proxy protocol used by an optional before-postscreen
9332 proxy agent. When a proxy agent is used, this protocol conveys local
9333 and remote address and port information. Specify
9334 "<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
9335 protocol; version 2 is supported with Postfix 3.5 and later. <p>
9336
9337 <p> This feature is available in Postfix 2.10 and later. </p>
9338
9339
9340 </DD>
9341
9342 <DT><b><a name="postscreen_upstream_proxy_timeout">postscreen_upstream_proxy_timeout</a>
9343 (default: 5s)</b></DT><DD>
9344
9345 <p> The time limit for the proxy protocol specified with the
9346 <a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> parameter. </p>
9347
9348 <p> This feature is available in Postfix 2.10 and later. </p>
9349
9350
9351 </DD>
9352
9353 <DT><b><a name="postscreen_use_tls">postscreen_use_tls</a>
9354 (default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
9355
9356 <p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
9357 but do not require that clients use TLS encryption. </p>
9358
9359 <p> This feature is available in Postfix 2.8 and later.
9360 Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
9361
9362
9363 </DD>
9364
9365 <DT><b><a name="postscreen_watchdog_timeout">postscreen_watchdog_timeout</a>
9366 (default: 10s)</b></DT><DD>
9367
9368 <p> How much time a <a href="postscreen.8.html">postscreen(8)</a> process may take to respond to
9369 a remote SMTP client command or to perform a cache operation before it
9370 is terminated by a built-in watchdog timer. This is a safety
9371 mechanism that prevents <a href="postscreen.8.html">postscreen(8)</a> from becoming non-responsive
9372 due to a bug in Postfix itself or in system software. To avoid
9373 false alarms and unnecessary cache corruption this limit cannot be
9374 set under 10s. </p>
9375
9376 <p> Specify a non-zero time value (an integral value plus an optional
9377 one-letter suffix that specifies the time unit). Time units: s
9378 (seconds), m (minutes), h (hours), d (days), w (weeks).
9379 The default time unit is s (seconds). </p>
9380
9381 <p> This feature is available in Postfix 2.8. </p>
9382
9383
9384 </DD>
9385
9386 <DT><b><a name="postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a>
9387 (default: <a href="DATABASE_README.html#types">static</a>:all)</b></DT><DD>
9388
9389 <p> Renamed to <a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> in Postfix 3.6. </p>
9390
9391 <p> This feature is available in Postfix 2.9 - 3.5. </p>
9392
9393
9394 </DD>
9395
9396 <DT><b><a name="prepend_delivered_header">prepend_delivered_header</a>
9397 (default: command, file, forward)</b></DT><DD>
9398
9399 <p> The message delivery contexts where the Postfix <a href="local.8.html">local(8)</a> delivery
9400 agent prepends a Delivered-To: message header with the address
9401 that the mail was delivered to. This information is used for mail
9402 delivery loop detection. </p>
9403
9404 <p>
9405 By default, the Postfix local delivery agent prepends a Delivered-To:
9406 header when forwarding mail and when delivering to file (mailbox)
9407 and command. Turning off the Delivered-To: header when forwarding
9408 mail is not recommended.
9409 </p>
9410
9411 <p>
9412 Specify zero or more of <b>forward</b>, <b>file</b>, or <b>command</b>.
9413 </p>
9414
9415 <p>
9416 Example:
9417 </p>
9418
9419 <pre>
9420 <a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a> = forward
9421 </pre>
9422
9423
9424 </DD>
9425
9426 <DT><b><a name="process_id">process_id</a>
9427 (read-only)</b></DT><DD>
9428
9429 <p>
9430 The process ID of a Postfix command or daemon process.
9431 </p>
9432
9433
9434 </DD>
9435
9436 <DT><b><a name="process_id_directory">process_id_directory</a>
9437 (default: pid)</b></DT><DD>
9438
9439 <p>
9440 The location of Postfix PID files relative to $<a href="postconf.5.html#queue_directory">queue_directory</a>.
9441 This is a read-only parameter.
9442 </p>
9443
9444
9445 </DD>
9446
9447 <DT><b><a name="process_name">process_name</a>
9448 (read-only)</b></DT><DD>
9449
9450 <p>
9451 The process name of a Postfix command or daemon process.
9452 </p>
9453
9454
9455 </DD>
9456
9457 <DT><b><a name="propagate_unmatched_extensions">propagate_unmatched_extensions</a>
9458 (default: canonical, virtual)</b></DT><DD>
9459
9460 <p>
9461 What address lookup tables copy an address extension from the lookup
9462 key to the lookup result.
9463 </p>
9464
9465 <p>
9466 For example, with a <a href="virtual.5.html">virtual(5)</a> mapping of "<i>joe (a] example.com =>
9467 joe.user (a] example.net</i>", the address "<i>joe+foo (a] example.com</i>"
9468 would rewrite to "<i>joe.user+foo (a] example.net</i>".
9469 </p>
9470
9471 <p>
9472 Specify zero or more of <b>canonical</b>, <b>virtual</b>, <b>alias</b>,
9473 <b>forward</b>, <b>include</b> or <b>generic</b>. These cause
9474 address extension
9475 propagation with <a href="canonical.5.html">canonical(5)</a>, <a href="virtual.5.html">virtual(5)</a>, and <a href="aliases.5.html">aliases(5)</a> maps,
9476 with <a href="local.8.html">local(8)</a> .forward and :include: file lookups, and with <a href="smtp.8.html">smtp(8)</a>
9477 generic maps, respectively. </p>
9478
9479 <p>
9480 Note: enabling this feature for types other than <b>canonical</b>
9481 and <b>virtual</b> is likely to cause problems when mail is forwarded
9482 to other sites, especially with mail that is sent to a mailing list
9483 exploder address.
9484 </p>
9485
9486 <p>
9487 Examples:
9488 </p>
9489
9490 <pre>
9491 <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual, alias,
9492 forward, include
9493 <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual
9494 </pre>
9495
9496
9497 </DD>
9498
9499 <DT><b><a name="proxy_interfaces">proxy_interfaces</a>
9500 (default: empty)</b></DT><DD>
9501
9502 <p>
9503 The remote network interface addresses that this mail system receives mail
9504 on by way of a proxy or network address translation unit.
9505 </p>
9506
9507 <p>
9508 This feature is available in Postfix 2.0 and later.
9509 </p>
9510
9511 <p> You must specify your "outside" proxy/NAT addresses when your
9512 system is a backup MX host for other domains, otherwise mail delivery
9513 loops will happen when the primary MX host is down. </p>
9514
9515 <p>
9516 Example:
9517 </p>
9518
9519 <pre>
9520 <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> = 1.2.3.4
9521 </pre>
9522
9523
9524 </DD>
9525
9526 <DT><b><a name="proxy_read_maps">proxy_read_maps</a>
9527 (default: see "postconf -d" output)</b></DT><DD>
9528
9529 <p>
9530 The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
9531 access for the read-only service.
9532 </p>
9533
9534 <p>
9535 Specify zero or more "type:name" lookup tables, separated by
9536 whitespace or comma.
9537 Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.
9538 </p>
9539
9540 <p>
9541 This feature is available in Postfix 2.0 and later.
9542 </p>
9543
9544
9545 </DD>
9546
9547 <DT><b><a name="proxy_write_maps">proxy_write_maps</a>
9548 (default: see "postconf -d" output)</b></DT><DD>
9549
9550 <p> The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
9551 access for the read-write service. Postfix-owned local database
9552 files should be stored under the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>.
9553 Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored. </p>
9554
9555 <p>
9556 This feature is available in Postfix 2.5 and later.
9557 </p>
9558
9559
9560 </DD>
9561
9562 <DT><b><a name="proxymap_service_name">proxymap_service_name</a>
9563 (default: proxymap)</b></DT><DD>
9564
9565 <p> The name of the proxymap read-only table lookup service. This
9566 service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon. </p>
9567
9568 <p> This feature is available in Postfix 2.6 and later. </p>
9569
9570
9571 </DD>
9572
9573 <DT><b><a name="proxywrite_service_name">proxywrite_service_name</a>
9574 (default: proxywrite)</b></DT><DD>
9575
9576 <p> The name of the proxywrite read-write table lookup service.
9577 This service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon.
9578 </p>
9579
9580 <p> This feature is available in Postfix 2.6 and later. </p>
9581
9582
9583 </DD>
9584
9585 <DT><b><a name="qmgr_clog_warn_time">qmgr_clog_warn_time</a>
9586 (default: 300s)</b></DT><DD>
9587
9588 <p>
9589 The minimal delay between warnings that a specific destination is
9590 clogging up the Postfix <a href="QSHAPE_README.html#active_queue">active queue</a>. Specify 0 to disable.
9591 </p>
9592
9593 <p> Specify a non-negative time value (an integral value plus an optional
9594 one-letter suffix that specifies the time unit). Time units: s
9595 (seconds), m (minutes), h (hours), d (days), w (weeks).
9596 The default time unit is s (seconds). </p>
9597
9598 <p>
9599 This feature is enabled with the <a href="postconf.5.html#helpful_warnings">helpful_warnings</a> parameter.
9600 </p>
9601
9602 <p>
9603 This feature is available in Postfix 2.0 and later.
9604 </p>
9605
9606
9607 </DD>
9608
9609 <DT><b><a name="qmgr_daemon_timeout">qmgr_daemon_timeout</a>
9610 (default: 1000s)</b></DT><DD>
9611
9612 <p> How much time a Postfix queue manager process may take to handle
9613 a request before it is terminated by a built-in watchdog timer.
9614 </p>
9615
9616 <p> Specify a non-zero time value (an integral value plus an optional
9617 one-letter suffix that specifies the time unit). Time units: s
9618 (seconds), m (minutes), h (hours), d (days), w (weeks).
9619 The default time unit is s (seconds). </p>
9620
9621 <p> This feature is available in Postfix 2.8 and later. </p>
9622
9623
9624 </DD>
9625
9626 <DT><b><a name="qmgr_fudge_factor">qmgr_fudge_factor</a>
9627 (default: 100)</b></DT><DD>
9628
9629 <p>
9630 Obsolete feature: the percentage of delivery resources that a busy
9631 mail system will use up for delivery of a large mailing list
9632 message.
9633 </p>
9634
9635 <p>
9636 This feature exists only in the <a href="qmgr.8.html">oqmgr(8)</a> old queue manager. The
9637 current queue manager solves the problem in a better way.
9638 </p>
9639
9640
9641 </DD>
9642
9643 <DT><b><a name="qmgr_ipc_timeout">qmgr_ipc_timeout</a>
9644 (default: 60s)</b></DT><DD>
9645
9646 <p> The time limit for the queue manager to send or receive information
9647 over an internal communication channel. The purpose is to break
9648 out of deadlock situations. If the time limit is exceeded the
9649 software either retries or aborts the operation. </p>
9650
9651 <p> Specify a non-zero time value (an integral value plus an optional
9652 one-letter suffix that specifies the time unit). Time units: s
9653 (seconds), m (minutes), h (hours), d (days), w (weeks).
9654 The default time unit is s (seconds). </p>
9655
9656 <p> This feature is available in Postfix 2.8 and later. </p>
9657
9658
9659 </DD>
9660
9661 <DT><b><a name="qmgr_message_active_limit">qmgr_message_active_limit</a>
9662 (default: 20000)</b></DT><DD>
9663
9664 <p>
9665 The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>.
9666 </p>
9667
9668
9669 </DD>
9670
9671 <DT><b><a name="qmgr_message_recipient_limit">qmgr_message_recipient_limit</a>
9672 (default: 20000)</b></DT><DD>
9673
9674 <p> The maximal number of recipients held in memory by the Postfix
9675 queue manager, and the maximal size of the short-term,
9676 in-memory "dead" destination status cache. </p>
9677
9678
9679 </DD>
9680
9681 <DT><b><a name="qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>
9682 (default: 10)</b></DT><DD>
9683
9684 <p>
9685 The minimal number of in-memory recipients for any message. This
9686 takes priority over any other in-memory recipient limits (i.e.,
9687 the global <a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> and the per transport
9688 _recipient_limit) if necessary. The minimum value allowed for this
9689 parameter is 1.
9690 </p>
9691
9692
9693 </DD>
9694
9695 <DT><b><a name="qmqpd_authorized_clients">qmqpd_authorized_clients</a>
9696 (default: empty)</b></DT><DD>
9697
9698 <p>
9699 What remote QMQP clients are allowed to connect to the Postfix QMQP
9700 server port.
9701 </p>
9702
9703 <p>
9704 By default, no client is allowed to use the service. This is
9705 because the QMQP server will relay mail to any destination.
9706 </p>
9707
9708 <p>
9709 Specify a list of client patterns. A list pattern specifies a host
9710 name, a domain name, an internet address, or a network/mask pattern,
9711 where the mask specifies the number of bits in the network part.
9712 When a pattern specifies a file name, its contents are substituted
9713 for the file name; when a pattern is a "<a href="DATABASE_README.html">type:table</a>" table specification,
9714 table lookup is used instead. </p>
9715
9716 <p>
9717 Patterns are separated by whitespace and/or commas. In order to
9718 reverse the result, precede a pattern with an
9719 exclamation point (!). The form "!/file/name" is supported only
9720 in Postfix version 2.4 and later.
9721 </p>
9722
9723 <p> Pattern matching of domain names is controlled by the presence
9724 or absence of "<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>" in the
9725 <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </p>
9726
9727 <p>
9728 Example:
9729 </p>
9730
9731 <pre>
9732 <a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a> = !192.168.0.1, 192.168.0.0/24
9733 </pre>
9734
9735
9736 </DD>
9737
9738 <DT><b><a name="qmqpd_client_port_logging">qmqpd_client_port_logging</a>
9739 (default: no)</b></DT><DD>
9740
9741 <p> Enable logging of the remote QMQP client port in addition to
9742 the hostname and IP address. The logging format is "host[address]:port".
9743 </p>
9744
9745 <p> This feature is available in Postfix 2.5 and later. </p>
9746
9747
9748 </DD>
9749
9750 <DT><b><a name="qmqpd_error_delay">qmqpd_error_delay</a>
9751 (default: 1s)</b></DT><DD>
9752
9753 <p>
9754 How long the Postfix QMQP server will pause before sending a negative
9755 reply to the remote QMQP client. The purpose is to slow down confused
9756 or malicious clients.
9757 </p>
9758
9759 <p> Specify a non-negative time value (an integral value plus an optional
9760 one-letter suffix that specifies the time unit). Time units: s
9761 (seconds), m (minutes), h (hours), d (days), w (weeks).
9762 The default time unit is s (seconds). </p>
9763
9764
9765 </DD>
9766
9767 <DT><b><a name="qmqpd_timeout">qmqpd_timeout</a>
9768 (default: 300s)</b></DT><DD>
9769
9770 <p>
9771 The time limit for sending or receiving information over the network.
9772 If a read or write operation blocks for more than $<a href="postconf.5.html#qmqpd_timeout">qmqpd_timeout</a>
9773 seconds the Postfix QMQP server gives up and disconnects.
9774 </p>
9775
9776 <p> Specify a non-zero time value (an integral value plus an optional
9777 one-letter suffix that specifies the time unit). Time units: s
9778 (seconds), m (minutes), h (hours), d (days), w (weeks).
9779 The default time unit is s (seconds). </p>
9780
9781
9782 </DD>
9783
9784 <DT><b><a name="queue_directory">queue_directory</a>
9785 (default: see "postconf -d" output)</b></DT><DD>
9786
9787 <p>
9788 The location of the Postfix top-level queue directory. This is the
9789 root directory of Postfix daemon processes that run chrooted.
9790 </p>
9791
9792
9793 </DD>
9794
9795 <DT><b><a name="queue_file_attribute_count_limit">queue_file_attribute_count_limit</a>
9796 (default: 100)</b></DT><DD>
9797
9798 <p>
9799 The maximal number of (name=value) attributes that may be stored
9800 in a Postfix queue file. The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a>
9801 server.
9802 </p>
9803
9804 <p>
9805 This feature is available in Postfix 2.0 and later.
9806 </p>
9807
9808
9809 </DD>
9810
9811 <DT><b><a name="queue_minfree">queue_minfree</a>
9812 (default: 0)</b></DT><DD>
9813
9814 <p>
9815 The minimal amount of free space in bytes in the queue file system
9816 that is needed to receive mail. This is currently used by the
9817 Postfix SMTP server to decide if it will accept any mail at all.
9818 </p>
9819
9820 <p>
9821 By default, the Postfix SMTP server rejects MAIL FROM commands when
9822 the amount of free space is less than 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>
9823 (Postfix version 2.1 and later).
9824 To specify a higher minimum free space limit, specify a <a href="postconf.5.html#queue_minfree">queue_minfree</a>
9825 value that is at least 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>.
9826 </p>
9827
9828 <p>
9829 With Postfix versions 2.0 and earlier, a <a href="postconf.5.html#queue_minfree">queue_minfree</a> value of
9830 zero means there is no minimum required amount of free space.
9831 </p>
9832
9833
9834 </DD>
9835
9836 <DT><b><a name="queue_run_delay">queue_run_delay</a>
9837 (default: 300s)</b></DT><DD>
9838
9839 <p>
9840 The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue manager;
9841 prior to Postfix 2.4 the default value was 1000s.
9842 </p>
9843
9844 <p> This parameter should be set less than or equal to
9845 $<a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a>. See also $<a href="postconf.5.html#maximal_backoff_time">maximal_backoff_time</a>. </p>
9846
9847 <p> Specify a non-zero time value (an integral value plus an optional
9848 one-letter suffix that specifies the time unit). Time units: s
9849 (seconds), m (minutes), h (hours), d (days), w (weeks).
9850 The default time unit is s (seconds). </p>
9851
9852
9853 </DD>
9854
9855 <DT><b><a name="queue_service_name">queue_service_name</a>
9856 (default: qmgr)</b></DT><DD>
9857
9858 <p>
9859 The name of the <a href="qmgr.8.html">qmgr(8)</a> service. This service manages the Postfix
9860 queue and schedules delivery requests.
9861 </p>
9862
9863 <p>
9864 This feature is available in Postfix 2.0 and later.
9865 </p>
9866
9867
9868 </DD>
9869
9870 <DT><b><a name="rbl_reply_maps">rbl_reply_maps</a>
9871 (default: empty)</b></DT><DD>
9872
9873 <p>
9874 Optional lookup tables with RBL or RHSBL response templates. The
9875 table search key is the reject_rbl_* or reject_rhsbl_* argument,
9876 including any optional "<i>=address-filter</i>". With Postfix 3.10
9877 and later, if the result is "not found" and the search key has the
9878 form <i>domain=address-filter</i>, then <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> will also
9879 search with the <i>domain</i>. </p>
9880
9881 <p> By default, Postfix uses the
9882 template as specified with the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> configuration
9883 parameter. See there for a discussion of the response template
9884 syntax.
9885 </p>
9886
9887 <p> Example: </p>
9888
9889 <pre>
9890 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
9891 <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/rbl_reply
9892 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> =
9893 <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
9894 <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> <i>secret</i>.zen.dq.spamhaus.net=127.0.0.[2..11],
9895 ...
9896 <br>
9897 /etc/postfix/rbl_reply:
9898 # See https://www.postfix.org/postconf.5.html#<a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a>
9899 # for the definition of the $client_address and $rbl_class etc.
9900 # variables.
9901 <i>secret</i>.zen.dq.spamhaus.net=127.0.0.[2..11]
9902 554 $rbl_class $rbl_what blocked using ZEN - see <a href="https://www.spamhaus.org/query/ip/$client_address">https://www.spamhaus.org/query/ip/$client_address</a> for details
9903 </pre>
9904
9905 <pre>
9906 # Postfix ≥ 3.10: if a search key <i>domain=address-filter</i>
9907 # is not found, then <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> will also search with the
9908 # <i>domain</i>.
9909 <i>secret</i>.zen.dq.spamhaus.net
9910 554 $rbl_class $rbl_what blocked using ZEN - see <a href="https://www.spamhaus.org/query/ip/$client_address">https://www.spamhaus.org/query/ip/$client_address</a> for details
9911 </pre>
9912
9913 <p>
9914 NOTE: This feature differs from <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> where
9915 the table search key is only a domain name (no "<i>=address-filter</i>",
9916 no "<i>*weight</i>" factor) and where the lookup result
9917 should be only a domain name (no free text, no <i>$name</i> variables).
9918 </p>
9919
9920 <p>
9921 This feature is available in Postfix 2.0 and later.
9922 The "=address-filter" feature is available in Postfix 2.8 and later.
9923 </p>
9924
9925
9926 </DD>
9927
9928 <DT><b><a name="readme_directory">readme_directory</a>
9929 (default: see "postconf -d" output)</b></DT><DD>
9930
9931 <p>
9932 The location of Postfix README files that describe how to build,
9933 configure or operate a specific Postfix subsystem or feature.
9934 </p>
9935
9936
9937 </DD>
9938
9939 <DT><b><a name="receive_override_options">receive_override_options</a>
9940 (default: empty)</b></DT><DD>
9941
9942 <p> Enable or disable recipient validation, built-in content
9943 filtering, or address mapping. Typically, these are specified in
9944 <a href="master.5.html">master.cf</a> as command-line arguments for the <a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a> or
9945 <a href="pickup.8.html">pickup(8)</a> daemons. </p>
9946
9947 <p> Specify zero or more of the following options. The options
9948 override <a href="postconf.5.html">main.cf</a> settings and are either implemented by <a href="smtpd.8.html">smtpd(8)</a>,
9949 <a href="qmqpd.8.html">qmqpd(8)</a>, or <a href="pickup.8.html">pickup(8)</a> themselves, or they are forwarded to the
9950 cleanup server. </p>
9951
9952 <dl>
9953
9954 <dt><b><a name="no_unknown_recipient_checks">no_unknown_recipient_checks</a></b></dt>
9955
9956 <dd>Do not try to reject unknown recipients (SMTP server only).
9957 This is typically specified AFTER an external content filter.
9958 </dd>
9959
9960 <dt><b><a name="no_address_mappings">no_address_mappings</a></b></dt>
9961
9962 <dd>Disable canonical address mapping, virtual alias map expansion,
9963 address masquerading, and automatic BCC (blind carbon-copy)
9964 recipients. This is typically specified BEFORE an external content
9965 filter. </dd>
9966
9967 <dt><b><a name="no_header_body_checks">no_header_body_checks</a></b></dt>
9968
9969 <dd>Disable header/body_checks. This is typically specified AFTER
9970 an external content filter. </dd>
9971
9972 <dt><b><a name="no_milters">no_milters</a></b></dt>
9973
9974 <dd>Disable Milter (mail filter) applications. This is typically
9975 specified AFTER an external content filter. </dd>
9976
9977 </dl>
9978
9979 <p>
9980 Note: when the "BEFORE content filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a>
9981 setting is specified in the <a href="postconf.5.html">main.cf</a> file, specify the "AFTER content
9982 filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a> setting in <a href="master.5.html">master.cf</a> (and vice
9983 versa).
9984 </p>
9985
9986 <p>
9987 Examples:
9988 </p>
9989
9990 <pre>
9991 <a href="postconf.5.html#receive_override_options">receive_override_options</a> =
9992 <a href="postconf.5.html#no_unknown_recipient_checks">no_unknown_recipient_checks</a>, <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>
9993 <a href="postconf.5.html#receive_override_options">receive_override_options</a> = <a href="postconf.5.html#no_address_mappings">no_address_mappings</a>
9994 </pre>
9995
9996 <p>
9997 This feature is available in Postfix 2.1 and later.
9998 </p>
9999
10000
10001 </DD>
10002
10003 <DT><b><a name="recipient_bcc_maps">recipient_bcc_maps</a>
10004 (default: empty)</b></DT><DD>
10005
10006 <p>
10007 Optional BCC (blind carbon-copy) address lookup tables, indexed by
10008 envelope recipient address. The BCC address (multiple results are not
10009 supported) is added when mail enters from outside of Postfix.
10010 </p>
10011
10012 <p>
10013 Specify zero or more "type:name" lookup tables, separated by
10014 whitespace or comma. Tables will be searched in the specified order
10015 until a match is found.
10016 </p>
10017
10018 <p>
10019 The table search order is as follows:
10020 </p>
10021
10022 <ul>
10023
10024 <li> Look up the "user+extension (a] domain.tld" address including the
10025 optional address extension.
10026
10027 <li> Look up the "user (a] domain.tld" address without the optional
10028 address extension.
10029
10030 <li> Look up the "user+extension" address local part when the
10031 recipient domain equals $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
10032 or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
10033
10034 <li> Look up the "user" address local part when the recipient domain
10035 equals $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
10036
10037 <li> Look up the "@domain.tld" part.
10038
10039 </ul>
10040
10041 <p>
10042 Note: with Postfix 2.3 and later the BCC address is added as if it
10043 was specified with NOTIFY=NONE. The sender will not be notified
10044 when the BCC address is undeliverable, as long as all down-stream
10045 software implements <a href="https://tools.ietf.org/html/rfc3461">RFC 3461</a>.
10046 </p>
10047
10048 <p>
10049 Note: with Postfix 2.2 and earlier the sender will unconditionally
10050 be notified when the BCC address is undeliverable.
10051 </p>
10052
10053 <p> Note: automatic BCC recipients are produced only for new mail.
10054 To avoid mailer loops, automatic BCC recipients are not generated
10055 after Postfix forwards mail internally, or after Postfix generates
10056 mail itself. </p>
10057
10058 <p> Note: automatic BCC recipients are subject to address
10059 canonicalization (add missing domain), <a href="postconf.5.html#canonical_maps">canonical_maps</a>, <a href="postconf.5.html#masquerade_domains">masquerade_domains</a>,
10060 and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
10061
10062 <p>
10063 Example:
10064 </p>
10065
10066 <pre>
10067 <a href="postconf.5.html#recipient_bcc_maps">recipient_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_bcc
10068 </pre>
10069
10070 <p>
10071 After a change, run "<b>postmap /etc/postfix/recipient_bcc</b>".
10072 </p>
10073
10074 <p>
10075 This feature is available in Postfix 2.1 and later.
10076 </p>
10077
10078
10079 </DD>
10080
10081 <DT><b><a name="recipient_canonical_classes">recipient_canonical_classes</a>
10082 (default: envelope_recipient, header_recipient)</b></DT><DD>
10083
10084 <p> What addresses are subject to <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address
10085 mapping. By default, <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address mapping is
10086 applied to envelope recipient addresses, and to header recipient
10087 addresses. </p>
10088
10089 <p> Specify one or more of: envelope_recipient, header_recipient
10090 </p>
10091
10092 <p> This feature is available in Postfix 2.2 and later. </p>
10093
10094
10095 </DD>
10096
10097 <DT><b><a name="recipient_canonical_maps">recipient_canonical_maps</a>
10098 (default: empty)</b></DT><DD>
10099
10100 <p>
10101 Optional address mapping lookup tables for envelope and header
10102 recipient addresses.
10103 The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
10104 </p>
10105
10106 <p>
10107 Note: $<a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> is processed before $<a href="postconf.5.html#canonical_maps">canonical_maps</a>.
10108 </p>
10109
10110 <p>
10111 Example:
10112 </p>
10113
10114 <pre>
10115 <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_canonical
10116 </pre>
10117
10118
10119 </DD>
10120
10121 <DT><b><a name="recipient_delimiter">recipient_delimiter</a>
10122 (default: empty)</b></DT><DD>
10123
10124 <p> The set of characters that can separate an email address
10125 localpart, user name, or a .forward file name from its extension.
10126 For example, with "<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +", the software tries
10127 user+foo (a] example.com before trying user (a] example.com, user+foo before
10128 trying user, and .forward+foo before trying .forward. </p>
10129
10130 <p> More formally, an email address localpart or user name is
10131 separated from its extension by the first character that matches
10132 the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set. The delimiter character and extension
10133 may then be used to generate an extended .forward file name. This
10134 implementation recognizes one delimiter character and one extension
10135 per email address localpart or email address. With Postfix 2.10 and
10136 earlier, the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> specifies a single character. </p>
10137
10138 <p> See <a href="canonical.5.html">canonical(5)</a>, <a href="local.8.html">local(8)</a>, <a href="relocated.5.html">relocated(5)</a> and <a href="virtual.5.html">virtual(5)</a> for the
10139 effects of <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> on lookups in aliases, canonical,
10140 virtual, and relocated maps, and see the <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a>
10141 parameter for propagating an extension from one email address to
10142 another. </p>
10143
10144 <p> When used in <a href="postconf.5.html#command_execution_directory">command_execution_directory</a>, <a href="postconf.5.html#forward_path">forward_path</a>, or
10145 <a href="postconf.5.html#luser_relay">luser_relay</a>, ${<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>} is replaced with the actual
10146 recipient delimiter that was found in the recipient email address
10147 (Postfix 2.11 and later), or it is replaced with the <a href="postconf.5.html">main.cf</a>
10148 <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> parameter value (Postfix 2.10 and earlier).
10149 </p>
10150
10151 <p> The <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is not applied to the mailer-daemon
10152 address, the postmaster address, or the double-bounce address. With
10153 the default "<a href="postconf.5.html#owner_request_special">owner_request_special</a> = yes" setting, the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>
10154 is also not applied to addresses with the special "owner-" prefix
10155 or the special "-request" suffix. </p>
10156
10157 <p>
10158 Examples:
10159 </p>
10160
10161 <pre>
10162 # Handle Postfix-style extensions.
10163 <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +
10164 </pre>
10165
10166 <pre>
10167 # Handle both Postfix and qmail extensions (Postfix 2.11 and later).
10168 <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +-
10169 </pre>
10170
10171 <pre>
10172 # Use .forward for mail without address extension, and for mail with
10173 # an unrecognized address extension.
10174 <a href="postconf.5.html#forward_path">forward_path</a> = $home/.forward${<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>}${extension},
10175 $home/.forward
10176 </pre>
10177
10178
10179 </DD>
10180
10181 <DT><b><a name="reject_code">reject_code</a>
10182 (default: 554)</b></DT><DD>
10183
10184 <p>
10185 The numerical Postfix SMTP server response code when a remote SMTP
10186 client request is rejected by the "reject" restriction.
10187 </p>
10188
10189 <p>
10190 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
10191 </p>
10192
10193
10194 </DD>
10195
10196 <DT><b><a name="reject_tempfail_action">reject_tempfail_action</a>
10197 (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>)</b></DT><DD>
10198
10199 <p> The Postfix SMTP server's action when a reject-type restriction
10200 fails due to a temporary error condition. Specify "defer" to defer
10201 the remote SMTP client request immediately. With the default
10202 "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
10203 for opportunities to reject mail, and defers the client request
10204 only if it would otherwise be accepted. </p>
10205
10206 <p> For finer control, see: <a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>,
10207 <a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a>, <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a>,
10208 and <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>. </p>
10209
10210 <p> This feature is available in Postfix 2.6 and later. </p>
10211
10212
10213 </DD>
10214
10215 <DT><b><a name="relay_clientcerts">relay_clientcerts</a>
10216 (default: empty)</b></DT><DD>
10217
10218 <p> List of tables with remote SMTP client-certificate fingerprints or
10219 public key fingerprints (Postfix 2.9 and later) for which the Postfix
10220 SMTP server will allow access with the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
10221 feature. The fingerprint digest algorithm is configurable via the
10222 <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
10223 Postfix version 2.5). </p>
10224
10225 <p> The default algorithm is <b>sha256</b> with Postfix ≥ 3.6
10226 and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix
10227 ≤ 3.5, the default algorithm is <b>md5</b>. The best-practice
10228 algorithm is now <b>sha256</b>. Recent advances in hash function
10229 cryptanalysis have led to md5 and sha1 being deprecated in favor of
10230 sha256. However, as long as there are no known "second pre-image"
10231 attacks against the older algorithms, their use in this context, though
10232 not recommended, is still likely safe. </p>
10233
10234 <p> Postfix lookup tables are in the form of (key, value) pairs.
10235 Since we only need the key, the value can be chosen freely, e.g.
10236 the name of the user or host:
10237 D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home </p>
10238
10239 <p> Example: </p>
10240
10241 <pre>
10242 <a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_clientcerts
10243 </pre>
10244
10245 <p>For more fine-grained control, use <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> to select
10246 an appropriate <a href="access.5.html">access(5)</a> policy for each client.
10247 See <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a>.</p>
10248
10249 <p>This feature is available with Postfix version 2.2.</p>
10250
10251
10252 </DD>
10253
10254 <DT><b><a name="relay_destination_concurrency_limit">relay_destination_concurrency_limit</a>
10255 (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
10256
10257 <p> The maximal number of parallel deliveries to the same destination
10258 via the relay message delivery transport. This limit is enforced
10259 by the queue manager. The message delivery transport name is the
10260 first field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
10261
10262 <p> This feature is available in Postfix 2.0 and later. </p>
10263
10264
10265 </DD>
10266
10267 <DT><b><a name="relay_destination_recipient_limit">relay_destination_recipient_limit</a>
10268 (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
10269
10270 <p> The maximal number of recipients per message for the relay
10271 message delivery transport. This limit is enforced by the queue
10272 manager. The message delivery transport name is the first field in
10273 the entry in the <a href="master.5.html">master.cf</a> file. </p>
10274
10275 <p> Setting this parameter to a value of 1 changes the meaning of
10276 <a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> from concurrency per domain
10277 into concurrency per recipient. </p>
10278
10279 <p> This feature is available in Postfix 2.0 and later. </p>
10280
10281
10282 </DD>
10283
10284 <DT><b><a name="relay_domains">relay_domains</a>
10285 (default: Postfix ≥ 3.0: empty, Postfix < 3.0: $<a href="postconf.5.html#mydestination">mydestination</a>)</b></DT><DD>
10286
10287 <p> What destination domains (and subdomains thereof) this system
10288 will relay mail to. For details about how
10289 the <a href="postconf.5.html#relay_domains">relay_domains</a> value is used, see the description of the
10290 <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> and <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> SMTP recipient
10291 restrictions. </p>
10292
10293 <p> Domains that match $<a href="postconf.5.html#relay_domains">relay_domains</a> are delivered with the
10294 $<a href="postconf.5.html#relay_transport">relay_transport</a> mail delivery transport. The SMTP server validates
10295 recipient addresses with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> and rejects non-existent
10296 recipients. See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the
10297 <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file. </p>
10298
10299 <p> Note: Postfix will not automatically forward mail for domains
10300 that list this system as their primary or backup MX host. See the
10301 <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> restriction in the <a href="postconf.5.html">postconf(5)</a> manual page. </p>
10302
10303 <p> Specify a list of host or domain names, "/file/name" patterns
10304 or "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
10305 Continue long lines by starting the next line with whitespace. A
10306 "/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
10307 lookup table is matched when a (parent) domain appears as lookup
10308 key. Specify "!pattern" to exclude a domain from the list. The form
10309 "!/file/name" is supported only in Postfix version 2.4 and later.
10310 </p>
10311
10312 <p> Pattern matching of domain names is controlled by the presence
10313 or absence of "<a href="postconf.5.html#relay_domains">relay_domains</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
10314 parameter value. </p>
10315
10316
10317 </DD>
10318
10319 <DT><b><a name="relay_domains_reject_code">relay_domains_reject_code</a>
10320 (default: 554)</b></DT><DD>
10321
10322 <p>
10323 The numerical Postfix SMTP server response code when a client
10324 request is rejected by the <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> recipient
10325 restriction.
10326 </p>
10327
10328 <p>
10329 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
10330 </p>
10331
10332
10333 </DD>
10334
10335 <DT><b><a name="relay_recipient_maps">relay_recipient_maps</a>
10336 (default: empty)</b></DT><DD>
10337
10338 <p> Optional lookup tables with all valid addresses in the domains
10339 that match $<a href="postconf.5.html#relay_domains">relay_domains</a>. Specify @domain as a wild-card for
10340 domains that have no valid recipient list, and become a source of
10341 backscatter mail: Postfix accepts spam for non-existent recipients
10342 and then floods innocent people with undeliverable mail. Technically,
10343 tables
10344 listed with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> are used as lists: Postfix needs
10345 to know only if a lookup string is found or not, but it does not
10346 use the result from the table lookup. </p>
10347
10348 <p>
10349 Specify zero or more "type:name" lookup tables, separated by
10350 whitespace or comma. Tables will be searched in the specified order
10351 until a match is found.
10352 </p>
10353
10354 <p>
10355 If this parameter is non-empty, then the Postfix SMTP server will reject
10356 mail to unknown relay users. This feature is off by default.
10357 </p>
10358
10359 <p>
10360 See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a>
10361 file.
10362 </p>
10363
10364 <p>
10365 Example:
10366 </p>
10367
10368 <pre>
10369 <a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_recipients
10370 </pre>
10371
10372 <p>
10373 This feature is available in Postfix 2.0 and later.
10374 </p>
10375
10376
10377 </DD>
10378
10379 <DT><b><a name="relay_transport">relay_transport</a>
10380 (default: relay)</b></DT><DD>
10381
10382 <p>
10383 The default mail delivery transport and next-hop destination for
10384 the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domain</a> address class: recipient domains that match
10385 $<a href="postconf.5.html#relay_domains">relay_domains</a>. </p>
10386
10387 <p> For recipient domains in the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domain</a> address class: </p>
10388
10389 <ul>
10390
10391 <li> <p> In order of decreasing precedence, the message delivery
10392 transport is taken from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2) $<a href="postconf.5.html#relay_transport">relay_transport</a>.
10393 </p>
10394
10395 <li> <p> In order of decreasing precedence, the nexthop destination
10396 is taken from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2) $<a href="postconf.5.html#relay_transport">relay_transport</a>, 3)
10397 $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a> or the recipient
10398 domain. </p>
10399
10400 </ul>
10401
10402 <p>
10403 Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
10404 is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
10405 The <i>:nexthop</i> destination is optional; its syntax is documented
10406 in the manual page of the corresponding delivery agent.
10407 </p>
10408
10409 <p>
10410 See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a>
10411 file.
10412 </p>
10413
10414 <p>
10415 This feature is available in Postfix 2.0 and later.
10416 </p>
10417
10418
10419 </DD>
10420
10421 <DT><b><a name="relayhost">relayhost</a>
10422 (default: empty)</b></DT><DD>
10423
10424 <p>
10425 The next-hop destination(s) for non-local mail; takes precedence
10426 over non-<a href="ADDRESS_CLASS_README.html#local_domain_class">local domains</a> in recipient addresses. This information
10427 will not be used when the sender matches $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>.
10428 </p>
10429
10430 <p> In order of decreasing precedence: </p>
10431
10432 <ul>
10433
10434 <li> <p> For recipient domains in the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domain</a> address class
10435 (domains matching $<a href="postconf.5.html#relay_domains">relay_domains</a>), the nexthop destination is taken
10436 from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2) $<a href="postconf.5.html#relay_transport">relay_transport</a>, 3)
10437 $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a> or the recipient
10438 domain. <p>
10439
10440 <li> <p> For recipient domains in the <a href="ADDRESS_CLASS_README.html#default_domain_class">default domain</a> address class
10441 (domains that do not match $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
10442 $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>,
10443 or $<a href="postconf.5.html#relay_domains">relay_domains</a>), the nexthop destination is taken from 1)
10444 $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2) $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> or
10445 $<a href="postconf.5.html#default_transport">default_transport</a>, 3) $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a>
10446 or the recipient domain. </p>
10447
10448 </ul>
10449
10450 <p>
10451 On an intranet, specify the organizational domain name. If your
10452 internal DNS uses no MX records, specify the name of the intranet
10453 gateway host instead.
10454 </p>
10455
10456 <p>
10457 In the case of SMTP delivery, specify one or more destinations in
10458 the form of a domain name, hostname, hostname:service, [hostname]:service,
10459 [hostaddress] or [hostaddress]:service, separated by comma or whitespace.
10460 The form [hostname] turns off MX or SRV lookups. Multiple destinations
10461 are supported in Postfix 3.5 and later. Each destination is tried
10462 in the specified order.
10463 </p>
10464
10465 <p> If an SMTP destination is a load balancer, and there are no
10466 alternative destinations, specify the load balancer multiple times.
10467 Without the duplicate info, the Postfix SMTP client would not
10468 reconnect immediately to the same load balancer after a remote SMTP
10469 server failure. </p>
10470
10471 <p>
10472 If you're connected via UUCP, see the <a href="UUCP_README.html">UUCP_README</a> file for useful
10473 information.
10474 </p>
10475
10476 <p>
10477 Examples:
10478 </p>
10479
10480 <pre>
10481 <a href="postconf.5.html#relayhost">relayhost</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
10482 <a href="postconf.5.html#relayhost">relayhost</a> = [gateway.example.com]
10483 <a href="postconf.5.html#relayhost">relayhost</a> = mail1.example:587, mail2.example:587
10484 <a href="postconf.5.html#relayhost">relayhost</a> = [an.ip.add.ress]
10485 </pre>
10486
10487
10488 </DD>
10489
10490 <DT><b><a name="relocated_maps">relocated_maps</a>
10491 (default: empty)</b></DT><DD>
10492
10493 <p>
10494 Optional lookup tables with new contact information for users or
10495 domains that no longer exist. The table format and lookups are
10496 documented in <a href="relocated.5.html">relocated(5)</a>.
10497 </p>
10498
10499 <p>
10500 Specify zero or more "type:name" lookup tables, separated by
10501 whitespace or comma. Tables will be searched in the specified order
10502 until a match is found.
10503 </p>
10504
10505 <p>
10506 If you use this feature, run "<b>postmap /etc/postfix/relocated</b>" to
10507 build the necessary DBM or DB file after change, then "<b>postfix
10508 reload</b>" to make the changes visible.
10509 </p>
10510
10511 <p>
10512 Examples:
10513 </p>
10514
10515 <pre>
10516 <a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/relocated
10517 <a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relocated
10518 </pre>
10519
10520
10521 </DD>
10522
10523 <DT><b><a name="remote_header_rewrite_domain">remote_header_rewrite_domain</a>
10524 (default: empty)</b></DT><DD>
10525
10526 <p> Rewrite or add message headers in mail from remote clients if
10527 the <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter value is non-empty,
10528 updating incomplete addresses with the domain specified in the
10529 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter, and adding missing headers.
10530 </p>
10531
10532 <p> The
10533 <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter controls what clients Postfix
10534 considers local. </p>
10535
10536 <p> Examples: </p>
10537
10538 <p> The safe setting: append "domain.invalid" to incomplete header
10539 addresses from remote SMTP clients, so that those addresses cannot
10540 be confused with local addresses. </p>
10541
10542 <blockquote>
10543 <pre>
10544 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> = domain.invalid
10545 </pre>
10546 </blockquote>
10547
10548 <p> The default, purist, setting: don't rewrite headers from remote
10549 clients at all. </p>
10550
10551 <blockquote>
10552 <pre>
10553 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> =
10554 </pre>
10555 </blockquote>
10556
10557
10558 </DD>
10559
10560 <DT><b><a name="require_home_directory">require_home_directory</a>
10561 (default: no)</b></DT><DD>
10562
10563 <p>
10564 Require that a <a href="local.8.html">local(8)</a> recipient's home directory exists
10565 before mail delivery is attempted. By default this test is disabled.
10566 It can be useful for environments that import home directories to
10567 the mail server (IMPORTING HOME DIRECTORIES IS NOT RECOMMENDED).
10568 </p>
10569
10570
10571 </DD>
10572
10573 <DT><b><a name="reset_owner_alias">reset_owner_alias</a>
10574 (default: no)</b></DT><DD>
10575
10576 <p> Reset the <a href="local.8.html">local(8)</a> delivery agent's idea of the owner-alias
10577 attribute, when delivering mail to a child alias that does not have
10578 its own owner alias. </p>
10579
10580 <p> This feature is available in Postfix 2.8 and later. With older
10581 Postfix releases, the behavior is as if this parameter is set to
10582 "yes". </p>
10583
10584 <p> As documented in <a href="aliases.5.html">aliases(5)</a>, when an alias <i>name</i> has a
10585 companion alias named owner-<i>name</i>, this will replace the
10586 envelope sender address, so that delivery errors will be
10587 reported to the owner alias instead of the sender. This configuration
10588 is recommended for mailing lists. <p>
10589
10590 <p> A less known property of the owner alias is that it also forces
10591 the <a href="local.8.html">local(8)</a> delivery agent to write local and remote addresses
10592 from alias expansion to a new queue file, instead of attempting to
10593 deliver mail to local addresses as soon as they come out of alias
10594 expansion. </p>
10595
10596 <p> Writing local addresses from alias expansion to a new queue
10597 file allows for robust handling of temporary delivery errors: errors
10598 with one local member have no effect on deliveries to other members
10599 of the list. On the other hand, delivery to local addresses as
10600 soon as they come out of alias expansion is fragile: a temporary
10601 error with one local address from alias expansion will cause the
10602 entire alias to be expanded repeatedly until the error goes away,
10603 or until the message expires in the queue. In that case, a problem
10604 with one list member results in multiple message deliveries to other
10605 list members. </p>
10606
10607 <p> The default behavior of Postfix 2.8 and later is to keep the
10608 owner-alias attribute of the parent alias, when delivering mail to
10609 a child alias that does not have its own owner alias. Then, local
10610 addresses from that child alias will be written to a new queue file,
10611 and a temporary error with one local address will not affect delivery
10612 to other mailing list members. </p>
10613
10614 <p> Unfortunately, older Postfix releases reset the owner-alias
10615 attribute when delivering mail to a child alias that does not have
10616 its own owner alias. To be precise, this resets only the decision
10617 to create a new queue file, not the decision to override the envelope
10618 sender address. The <a href="local.8.html">local(8)</a> delivery agent then attempts to
10619 deliver local addresses as soon as they come out of child alias
10620 expansion. If delivery to any address from child alias expansion
10621 fails with a temporary error condition, the entire mailing list may
10622 be expanded repeatedly until the mail expires in the queue, resulting
10623 in multiple deliveries of the same message to mailing list members.
10624 </p>
10625
10626
10627 </DD>
10628
10629 <DT><b><a name="resolve_dequoted_address">resolve_dequoted_address</a>
10630 (default: yes)</b></DT><DD>
10631
10632 <p> Resolve a recipient address safely instead of correctly, by
10633 looking inside quotes. </p>
10634
10635 <p> By default, the Postfix address resolver does not quote the
10636 address localpart as per <a href="https://tools.ietf.org/html/rfc822">RFC 822</a>, so that additional @ or % or !
10637 operators remain visible. This behavior is safe but it is also
10638 technically incorrect. </p>
10639
10640 <p> If you specify "<a href="postconf.5.html#resolve_dequoted_address">resolve_dequoted_address</a> = no", then
10641 the Postfix
10642 resolver will not know about additional @ etc. operators in the
10643 address localpart. This opens opportunities for obscure mail relay
10644 attacks with user@domain@domain addresses when Postfix provides
10645 backup MX service for Sendmail systems. </p>
10646
10647
10648 </DD>
10649
10650 <DT><b><a name="resolve_null_domain">resolve_null_domain</a>
10651 (default: no)</b></DT><DD>
10652
10653 <p> Resolve an address that ends in the "@" null domain as if the
10654 local hostname were specified, instead of rejecting the address as
10655 invalid. </p>
10656
10657 <p> This feature is available in Postfix 2.1 and later.
10658 Earlier versions always resolve the null domain as the local
10659 hostname. </p>
10660
10661 <p> The Postfix SMTP server uses this feature to reject mail from
10662 or to addresses that end in the "@" null domain, and from addresses
10663 that rewrite into a form that ends in the "@" null domain. </p>
10664
10665
10666 </DD>
10667
10668 <DT><b><a name="resolve_numeric_domain">resolve_numeric_domain</a>
10669 (default: no)</b></DT><DD>
10670
10671 <p> Resolve "user@ipaddress" as "user@[ipaddress]", instead of
10672 rejecting the address as invalid. </p>
10673
10674 <p> This feature is available in Postfix 2.3 and later.
10675
10676
10677 </DD>
10678
10679 <DT><b><a name="respectful_logging">respectful_logging</a>
10680 (default: see 'postconf -d' output)</b></DT><DD>
10681
10682 <p> Avoid logging that implies white is better than black. Instead
10683 use 'allowlist', 'denylist', and variations of those words. </p>
10684
10685 <p> This feature is available in Postfix 3.6 and later. </p>
10686
10687
10688 </DD>
10689
10690 <DT><b><a name="rewrite_service_name">rewrite_service_name</a>
10691 (default: rewrite)</b></DT><DD>
10692
10693 <p>
10694 The name of the address rewriting service. This service rewrites
10695 addresses to standard form and resolves them to a (delivery method,
10696 next-hop host, recipient) triple.
10697 </p>
10698
10699 <p>
10700 This feature is available in Postfix 2.0 and later.
10701 </p>
10702
10703
10704 </DD>
10705
10706 <DT><b><a name="sample_directory">sample_directory</a>
10707 (default: /etc/postfix)</b></DT><DD>
10708
10709 <p>
10710 The name of the directory with example Postfix configuration files.
10711 Starting with Postfix 2.1, these files have been replaced with the
10712 <a href="postconf.5.html">postconf(5)</a> manual page.
10713 </p>
10714
10715
10716 </DD>
10717
10718 <DT><b><a name="send_cyrus_sasl_authzid">send_cyrus_sasl_authzid</a>
10719 (default: no)</b></DT><DD>
10720
10721 <p> When authenticating to a remote SMTP or LMTP server with the
10722 default setting "no", send no SASL authoriZation ID (authzid); send
10723 only the SASL authentiCation ID (authcid) plus the authcid's password.
10724 </p>
10725
10726 <p> The non-default setting "yes" enables the behavior of older
10727 Postfix versions. These always send a SASL authzid that is equal
10728 to the SASL authcid, but this causes interoperability problems
10729 with some SMTP servers. </p>
10730
10731 <p> This feature is available in Postfix 2.4.4 and later. </p>
10732
10733
10734 </DD>
10735
10736 <DT><b><a name="sender_based_routing">sender_based_routing</a>
10737 (default: no)</b></DT><DD>
10738
10739 <p>
10740 This parameter should not be used. It was replaced by <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
10741 in Postfix version 2.3.
10742 </p>
10743
10744
10745 </DD>
10746
10747 <DT><b><a name="sender_bcc_maps">sender_bcc_maps</a>
10748 (default: empty)</b></DT><DD>
10749
10750 <p> Optional BCC (blind carbon-copy) address lookup tables, indexed
10751 by envelope sender address. The BCC address (multiple results are not
10752 supported) is added when mail enters from outside of Postfix. </p>
10753
10754 <p>
10755 Specify zero or more "type:name" lookup tables, separated by
10756 whitespace or comma. Tables will be searched in the specified order
10757 until a match is found.
10758 </p>
10759
10760 <p>
10761 The table search order is as follows:
10762 </p>
10763
10764 <ul>
10765
10766 <li> Look up the "user+extension (a] domain.tld" address including the
10767 optional address extension.
10768
10769 <li> Look up the "user (a] domain.tld" address without the optional
10770 address extension.
10771
10772 <li> Look up the "user+extension" address local part when the
10773 sender domain equals $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
10774 or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
10775
10776 <li> Look up the "user" address local part when the sender domain
10777 equals $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
10778
10779 <li> Look up the "@domain.tld" part.
10780
10781 </ul>
10782
10783 <p>
10784 Note: with Postfix 2.3 and later the BCC address is added as if it
10785 was specified with NOTIFY=NONE. The sender will not be notified
10786 when the BCC address is undeliverable, as long as all down-stream
10787 software implements <a href="https://tools.ietf.org/html/rfc3461">RFC 3461</a>.
10788 </p>
10789
10790 <p>
10791 Note: with Postfix 2.2 and earlier the sender will be notified
10792 when the BCC address is undeliverable.
10793 </p>
10794
10795 <p> Note: automatic BCC recipients are produced only for new mail.
10796 To avoid mailer loops, automatic BCC recipients are not generated
10797 after Postfix forwards mail internally, or after Postfix generates
10798 mail itself. </p>
10799
10800 <p> Note: automatic BCC recipients are subject to address
10801 canonicalization (add missing domain), <a href="postconf.5.html#canonical_maps">canonical_maps</a>, <a href="postconf.5.html#masquerade_domains">masquerade_domains</a>,
10802 and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
10803
10804 <p>
10805 Example:
10806 </p>
10807
10808 <pre>
10809 <a href="postconf.5.html#sender_bcc_maps">sender_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_bcc
10810 </pre>
10811
10812 <p>
10813 After a change, run "<b>postmap /etc/postfix/sender_bcc</b>".
10814 </p>
10815
10816 <p>
10817 This feature is available in Postfix 2.1 and later.
10818 </p>
10819
10820
10821 </DD>
10822
10823 <DT><b><a name="sender_canonical_classes">sender_canonical_classes</a>
10824 (default: envelope_sender, header_sender)</b></DT><DD>
10825
10826 <p> What addresses are subject to <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address
10827 mapping. By default, <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address mapping is
10828 applied to envelope sender addresses, and to header sender addresses.
10829 </p>
10830
10831 <p> Specify one or more of: envelope_sender, header_sender </p>
10832
10833 <p> This feature is available in Postfix 2.2 and later. </p>
10834
10835
10836 </DD>
10837
10838 <DT><b><a name="sender_canonical_maps">sender_canonical_maps</a>
10839 (default: empty)</b></DT><DD>
10840
10841 <p>
10842 Optional address mapping lookup tables for envelope and header
10843 sender addresses.
10844 The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
10845 </p>
10846
10847 <p>
10848 Example: you want to rewrite the SENDER address "user (a] ugly.example"
10849 to "user (a] pretty.example", while still being able to send mail to
10850 the RECIPIENT address "user (a] ugly.example".
10851 </p>
10852
10853 <p>
10854 Note: $<a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> is processed before $<a href="postconf.5.html#canonical_maps">canonical_maps</a>.
10855 </p>
10856
10857 <p>
10858 Example:
10859 </p>
10860
10861 <pre>
10862 <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_canonical
10863 </pre>
10864
10865
10866 </DD>
10867
10868 <DT><b><a name="sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>
10869 (default: empty)</b></DT><DD>
10870
10871 <p> A sender-dependent override for the global <a href="postconf.5.html#default_transport">default_transport</a>
10872 parameter setting. The tables are searched by the envelope sender
10873 address and @domain. A lookup result of DUNNO terminates the search
10874 without overriding the global <a href="postconf.5.html#default_transport">default_transport</a> parameter setting.
10875 This information is overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
10876
10877 <p> This setting affects only the <a href="ADDRESS_CLASS_README.html#default_domain_class">default domain</a> address class
10878 (recipient domains that do not match $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
10879 $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>,
10880 or $<a href="postconf.5.html#relay_domains">relay_domains</a>): </p>
10881
10882 <ul>
10883
10884 <li> <p> In order of decreasing precedence, the delivery transport
10885 is taken from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2)
10886 $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> or $<a href="postconf.5.html#default_transport">default_transport</a>.
10887 </p>
10888
10889 <li> <p> In order of decreasing precedence, the nexthop destination
10890 is taken from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2)
10891 $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> or $<a href="postconf.5.html#default_transport">default_transport</a>, 3)
10892 $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a> or the recipient
10893 domain. </p>
10894
10895 </ul>
10896
10897 <p> Note: this overrides <a href="postconf.5.html#default_transport">default_transport</a>, not <a href="postconf.5.html#transport_maps">transport_maps</a>, and
10898 therefore the expected syntax is that of <a href="postconf.5.html#default_transport">default_transport</a>, not the
10899 syntax of <a href="postconf.5.html#transport_maps">transport_maps</a>. Specifically, this does not support the
10900 <a href="postconf.5.html#transport_maps">transport_maps</a> syntax for null transport, null nexthop, or null
10901 email addresses. </p>
10902
10903 <p>
10904 Specify zero or more "type:name" lookup tables, separated by
10905 whitespace or comma. Tables will be searched in the specified order
10906 until a match is found.
10907 </p>
10908
10909 <p> For safety reasons, this feature does not allow $number
10910 substitutions in regular expression maps. </p>
10911
10912 <p> This feature is available in Postfix 2.7 and later. </p>
10913
10914
10915 </DD>
10916
10917 <DT><b><a name="sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
10918 (default: empty)</b></DT><DD>
10919
10920 <p> A sender-dependent override for the global <a href="postconf.5.html#relayhost">relayhost</a> parameter
10921 setting. The tables are searched by the envelope sender address and
10922 @domain. A lookup result of DUNNO terminates the search without
10923 overriding the global <a href="postconf.5.html#relayhost">relayhost</a> parameter setting (Postfix 2.6 and
10924 later). </p>
10925
10926 <p> In order of decreasing precedence: </p>
10927
10928 <ul>
10929
10930 <li> <p> For recipient domains in the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domain</a> address class
10931 (domains matching $<a href="postconf.5.html#relay_domains">relay_domains</a>), the nexthop destination is taken
10932 from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2) $<a href="postconf.5.html#relay_transport">relay_transport</a>, 3)
10933 $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a> or the recipient
10934 domain. </p>
10935
10936 <li> <p> For recipient domains in the <a href="ADDRESS_CLASS_README.html#default_domain_class">default domain</a> address class
10937 (domains that do not match <a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
10938 $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>,
10939 $<a href="postconf.5.html#relay_domains">relay_domains</a>), the nexthop destination is taken from 1)
10940 $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2) $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> or
10941 $<a href="postconf.5.html#default_transport">default_transport</a>, 3) $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a>
10942 or the recipient domain. </p>
10943
10944 </ul>
10945
10946 <p>
10947 Specify zero or more "type:name" lookup tables, separated by
10948 whitespace or comma. Tables will be searched in the specified order
10949 until a match is found.
10950 </p>
10951
10952 <p> For safety reasons, this feature does not allow $number
10953 substitutions in regular expression maps. </p>
10954
10955 <p>
10956 This feature is available in Postfix 2.3 and later.
10957 </p>
10958
10959
10960 </DD>
10961
10962 <DT><b><a name="sendmail_fix_line_endings">sendmail_fix_line_endings</a>
10963 (default: always)</b></DT><DD>
10964
10965 <p> Controls how the Postfix sendmail command converts email message
10966 line endings from <CR><LF> into UNIX format (<LF>).
10967 </p>
10968
10969 <dl>
10970
10971 <dt> <b>always</b> </dt> <dd> Always convert message lines ending
10972 in <CR><LF>. This setting is the default with Postfix
10973 2.9 and later. </dd>
10974
10975 <dt> <b>strict</b> </dt> <dd> Convert message lines ending in
10976 <CR><LF> only if the first input line ends in
10977 <CR><LF>. This setting is backwards-compatible with
10978 Postfix 2.8 and earlier. </dd>
10979
10980 <dt> <b>never</b> </dt> <dd> Never convert message lines ending in
10981 <CR><LF>. This setting exists for completeness only.
10982 </dd>
10983
10984 </dl>
10985
10986 <p> This feature is available in Postfix 2.9 and later. </p>
10987
10988
10989 </DD>
10990
10991 <DT><b><a name="sendmail_path">sendmail_path</a>
10992 (default: see "postconf -d" output)</b></DT><DD>
10993
10994 <p>
10995 A Sendmail compatibility feature that specifies the location of
10996 the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. This command can be used to
10997 submit mail into the Postfix queue.
10998 </p>
10999
11000
11001 </DD>
11002
11003 <DT><b><a name="service_name">service_name</a>
11004 (read-only)</b></DT><DD>
11005
11006 <p> The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process. This
11007 can be used to distinguish the logging from different services that
11008 use the same program name. </p>
11009
11010 <p> Example <a href="master.5.html">master.cf</a> entries: </p>
11011
11012 <pre>
11013 # Distinguish inbound MTA logging from submission and submissions logging.
11014 smtp inet n - n - - smtpd
11015 submission inet n - n - - smtpd
11016 -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a>
11017 submissions inet n - n - - smtpd
11018 -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a>
11019 </pre>
11020
11021 <pre>
11022 # Distinguish outbound MTA logging from inbound relay logging.
11023 smtp unix - - n - - smtp
11024 relay unix - - n - - smtp
11025 -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a>
11026 </pre>
11027
11028 <p> This feature is available in Postfix 3.3 and later. </p>
11029
11030
11031 </DD>
11032
11033 <DT><b><a name="service_throttle_time">service_throttle_time</a>
11034 (default: 60s)</b></DT><DD>
11035
11036 <p>
11037 How long the Postfix <a href="master.8.html">master(8)</a> waits before forking a server that
11038 appears to be malfunctioning.
11039 </p>
11040
11041 <p> Specify a non-zero time value (an integral value plus an optional
11042 one-letter suffix that specifies the time unit). Time units: s
11043 (seconds), m (minutes), h (hours), d (days), w (weeks).
11044 The default time unit is s (seconds). </p>
11045
11046
11047 </DD>
11048
11049 <DT><b><a name="setgid_group">setgid_group</a>
11050 (default: postdrop)</b></DT><DD>
11051
11052 <p>
11053 The group ownership of set-gid Postfix commands and of group-writable
11054 Postfix directories. When this parameter value is changed you need
11055 to re-run "<b>postfix set-permissions</b>" (with Postfix version 2.0 and
11056 earlier: "<b>/etc/postfix/post-install set-permissions</b>".
11057 </p>
11058
11059
11060 </DD>
11061
11062 <DT><b><a name="shlib_directory">shlib_directory</a>
11063 (default: see 'postconf -d' output)</b></DT><DD>
11064
11065 <p> The location of Postfix dynamically-linked libraries
11066 (libpostfix-*.so), and the default location of Postfix database
11067 plugins (postfix-*.so) that have a relative pathname in the
11068 dynamicmaps.cf file. The <a href="postconf.5.html#shlib_directory">shlib_directory</a> parameter defaults to
11069 "no" when Postfix dynamically-linked libraries and database plugins
11070 are disabled at compile time, otherwise it typically defaults to
11071 /usr/lib/postfix or /usr/local/lib/postfix. </p>
11072
11073 <p> Notes: </p>
11074
11075 <ul>
11076
11077 <li> <p> The directory specified with <a href="postconf.5.html#shlib_directory">shlib_directory</a> should contain
11078 only Postfix-related files. Postfix dynamically-linked libraries
11079 and database plugins should not be installed in a "public" system
11080 directory such as /usr/lib or /usr/local/lib. Linking Postfix
11081 dynamically-linked library files or database plugins into non-Postfix
11082 programs is not supported. Postfix dynamically-linked libraries
11083 and database plugins implement a Postfix-internal API that changes
11084 without maintaining compatibility. </p>
11085
11086 <li> <p> You can change the <a href="postconf.5.html#shlib_directory">shlib_directory</a> value after Postfix is
11087 built. However, you may have to run ldconfig or equivalent to prevent
11088 Postfix programs from failing because the libpostfix-*.so files are
11089 not found. No ldconfig command is needed if you keep the libpostfix-*.so
11090 files in the compiled-in default $<a href="postconf.5.html#shlib_directory">shlib_directory</a> location. </p>
11091
11092 </ul>
11093
11094 <p> This feature is available in Postfix 3.0 and later. </p>
11095
11096
11097 </DD>
11098
11099 <DT><b><a name="show_user_unknown_table_name">show_user_unknown_table_name</a>
11100 (default: yes)</b></DT><DD>
11101
11102 <p>
11103 Display the name of the recipient table in the "User unknown"
11104 responses. The extra detail makes troubleshooting easier but also
11105 reveals information that is nobody else's business.
11106 </p>
11107
11108 <p>
11109 This feature is available in Postfix 2.0 and later.
11110 </p>
11111
11112
11113 </DD>
11114
11115 <DT><b><a name="showq_service_name">showq_service_name</a>
11116 (default: showq)</b></DT><DD>
11117
11118 <p>
11119 The name of the <a href="showq.8.html">showq(8)</a> service. This service produces mail queue
11120 status reports.
11121 </p>
11122
11123 <p>
11124 This feature is available in Postfix 2.0 and later.
11125 </p>
11126
11127
11128 </DD>
11129
11130 <DT><b><a name="smtp_address_preference">smtp_address_preference</a>
11131 (default: any)</b></DT><DD>
11132
11133 <p> The address type ("ipv6", "ipv4" or "any") that the Postfix
11134 SMTP client will try first, when a destination has IPv6 and IPv4
11135 addresses with equal MX preference. This feature has no effect
11136 unless the <a href="postconf.5.html#inet_protocols">inet_protocols</a> setting enables both IPv4 and IPv6. </p>
11137
11138 <p> Postfix SMTP client address preference has evolved. With Postfix
11139 2.8 the default is "ipv6"; earlier implementations are hard-coded
11140 to prefer IPv6 over IPv4. </p>
11141
11142 <p> Notes for mail delivery between sites that have both IPv4 and
11143 IPv6 connectivity: </p>
11144
11145 <ul>
11146
11147 <li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = ipv6" is unsafe.
11148 All deliveries will suffer delays during an IPv6 outage, even
11149 while the destination is still reachable over IPv4. Mail may be
11150 stuck in the queue with Postfix versions < 3.3 that do not
11151 implement "<a href="postconf.5.html#smtp_balance_inet_protocols">smtp_balance_inet_protocols</a>". For similar reasons, the
11152 setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = ipv4" is also unsafe. </p>
11153
11154 <li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = any" is safe. With
11155 this, and "<a href="postconf.5.html#smtp_balance_inet_protocols">smtp_balance_inet_protocols</a> = yes" (the default), only
11156 half of deliveries will suffer delays if there is an outage
11157 that affects IPv6 or IPv4, as long as it does not affect both. </p>
11158
11159 <li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = ipv4" is not a
11160 solution for remote servers that flag email received over IPv6 as
11161 more 'spammy' (the client IPv6 address has a bad or missing PTR or
11162 AAAA record, bad network neighbors, etc.). Instead, configure Postfix
11163 to receive mail over both IPv4 and IPv6, and to deliver mail over
11164 only IPv4. </p>
11165
11166 <blockquote>
11167 <pre>
11168 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
11169 <a href="postconf.5.html#inet_protocols">inet_protocols</a> = all
11170 </pre>
11171 </blockquote>
11172
11173 <blockquote>
11174 <pre>
11175 /etc/postfix/<a href="master.5.html">master.cf</a>
11176 smtp ...other fields... smtp -o <a href="postconf.5.html#inet_protocols">inet_protocols</a>=ipv4
11177 </pre>
11178 </blockquote>
11179
11180 </ul>
11181
11182 <p> This feature is available in Postfix 2.8 and later. </p>
11183
11184
11185 </DD>
11186
11187 <DT><b><a name="smtp_address_verify_target">smtp_address_verify_target</a>
11188 (default: rcpt)</b></DT><DD>
11189
11190 <p> In the context of email address verification, the SMTP protocol
11191 stage that determines whether an email address is deliverable.
11192 Specify one of "rcpt" or "data". The latter is needed with remote
11193 SMTP servers that reject recipients after the DATA command. Use
11194 <a href="postconf.5.html#transport_maps">transport_maps</a> to apply this feature selectively: </p>
11195
11196 <blockquote>
11197 <pre>
11198 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
11199 <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport
11200 </pre>
11201 </blockquote>
11202
11203 <blockquote>
11204 <pre>
11205 /etc/postfix/transport:
11206 smtp-domain-that-verifies-after-data smtp-data-target:
11207 lmtp-domain-that-verifies-after-data lmtp-data-target:
11208 </pre>
11209 </blockquote>
11210
11211 <blockquote>
11212 <pre>
11213 /etc/postfix/<a href="master.5.html">master.cf</a>:
11214 smtp-data-target unix - - n - - smtp
11215 -o <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a>=data
11216 lmtp-data-target unix - - n - - lmtp
11217 -o <a href="postconf.5.html#lmtp_address_verify_target">lmtp_address_verify_target</a>=data
11218 </pre>
11219 </blockquote>
11220
11221 <p> Unselective use of the "data" target does no harm, but will
11222 result in unnecessary "lost connection after DATA" events at remote
11223 SMTP/LMTP servers. </p>
11224
11225 <p> This feature is available in Postfix 3.0 and later. </p>
11226
11227
11228 </DD>
11229
11230 <DT><b><a name="smtp_always_send_ehlo">smtp_always_send_ehlo</a>
11231 (default: yes)</b></DT><DD>
11232
11233 <p>
11234 Always send EHLO at the start of an SMTP session.
11235 </p>
11236
11237 <p>
11238 With "<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> = no", the Postfix SMTP client sends
11239 EHLO only when
11240 the word "ESMTP" appears in the server greeting banner (example:
11241 220 spike.porcupine.org ESMTP Postfix).
11242 </p>
11243
11244
11245 </DD>
11246
11247 <DT><b><a name="smtp_balance_inet_protocols">smtp_balance_inet_protocols</a>
11248 (default: yes)</b></DT><DD>
11249
11250 <p> When a remote destination resolves to a combination of IPv4 and
11251 IPv6 addresses, ensure that the Postfix SMTP client can try both
11252 address types before it runs into the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a>. </p>
11253
11254 <p> This avoids an interoperability problem when a destination resolves
11255 to primarily IPv6 addresses, the smtp_address_limit feature eliminates
11256 most or all IPv4 addresses, and the destination is not reachable over
11257 IPv6. </p>
11258
11259 <p> This feature is available in Postfix 3.3 and later. </p>
11260
11261
11262 </DD>
11263
11264 <DT><b><a name="smtp_bind_address">smtp_bind_address</a>
11265 (default: empty)</b></DT><DD>
11266
11267 <p>
11268 An optional numerical network address that the Postfix SMTP client
11269 should bind to when making an IPv4 connection.
11270 </p>
11271
11272 <p>
11273 This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
11274 it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
11275 for example:
11276 </p>
11277
11278 <blockquote>
11279 <pre>
11280 /etc/postfix/<a href="master.5.html">master.cf</a>:
11281 smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>=11.22.33.44
11282 </pre>
11283 </blockquote>
11284
11285 <p> See <a href="postconf.5.html#smtp_bind_address_enforce">smtp_bind_address_enforce</a> for how Postfix should handle
11286 errors (Postfix 3.7 and later). </p>
11287
11288 <p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv4
11289 address, and that address is a non-loopback address, it is
11290 automatically used as the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>. This supports virtual
11291 IP hosting, but can be a problem on multi-homed firewalls. See the
11292 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
11293
11294 <p> Note 2: address information may be enclosed inside <tt>[]</tt>,
11295 but this form is not required here. </p>
11296
11297
11298 </DD>
11299
11300 <DT><b><a name="smtp_bind_address6">smtp_bind_address6</a>
11301 (default: empty)</b></DT><DD>
11302
11303 <p>
11304 An optional numerical network address that the Postfix SMTP client
11305 should bind to when making an IPv6 connection.
11306 </p>
11307
11308 <p> This feature is available in Postfix 2.2 and later. </p>
11309
11310 <p>
11311 This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
11312 it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
11313 for example:
11314 </p>
11315
11316 <blockquote>
11317 <pre>
11318 /etc/postfix/<a href="master.5.html">master.cf</a>:
11319 smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>=1:2:3:4:5:6:7:8
11320 </pre>
11321 </blockquote>
11322
11323 <p> See <a href="postconf.5.html#smtp_bind_address_enforce">smtp_bind_address_enforce</a> for how Postfix should handle
11324 errors (Postfix 3.7 and later). </p>
11325
11326 <p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv6
11327 address, and that address is a non-loopback address, it is
11328 automatically used as the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>. This supports virtual
11329 IP hosting, but can be a problem on multi-homed firewalls. See the
11330 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
11331
11332 <p> Note 2: address information may be enclosed inside <tt>[]</tt>,
11333 but this form is not recommended here. </p>
11334
11335
11336 </DD>
11337
11338 <DT><b><a name="smtp_bind_address_enforce">smtp_bind_address_enforce</a>
11339 (default: no)</b></DT><DD>
11340
11341 <p> Defer delivery when the Postfix SMTP client cannot apply the
11342 <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> or <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> setting. By default, the
11343 Postfix SMTP client will continue delivery after logging a warning.
11344 </p>
11345
11346 <p> This feature is available in Postfix 3.7 and later. </p>
11347
11348
11349 </DD>
11350
11351 <DT><b><a name="smtp_body_checks">smtp_body_checks</a>
11352 (default: empty)</b></DT><DD>
11353
11354 <p> Restricted <a href="header_checks.5.html">body_checks(5)</a> tables for the Postfix SMTP client.
11355 These tables are searched while mail is being delivered. Actions
11356 that change the delivery time or destination are not available.
11357 </p>
11358
11359 <p> This feature is available in Postfix 2.5 and later. </p>
11360
11361
11362 </DD>
11363
11364 <DT><b><a name="smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
11365 (default: version dependent)</b></DT><DD>
11366
11367 <p> When the remote SMTP servername is a DNS CNAME, replace the
11368 servername with the result from CNAME expansion for the purpose of
11369 logging, SASL password lookup, TLS
11370 policy decisions, or TLS certificate verification. The value "no"
11371 hardens Postfix <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> hostname-based policies against
11372 false hostname information in DNS CNAME records, and makes SASL
11373 password file lookups more predictable. This is the default setting
11374 as of Postfix 2.3. </p>
11375
11376 <p> When DNS CNAME records are validated with secure DNS lookups
11377 (<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> = dnssec), they are always allowed to
11378 override the above servername (Postfix 2.11 and later). </p>
11379
11380 <p> This feature is available in Postfix 2.2.9 and later. </p>
11381
11382
11383 </DD>
11384
11385 <DT><b><a name="smtp_connect_timeout">smtp_connect_timeout</a>
11386 (default: 30s)</b></DT><DD>
11387
11388 <p>
11389 The Postfix SMTP client time limit for completing a TCP connection, or
11390 zero (use the operating system built-in time limit).
11391 </p>
11392
11393 <p>
11394 When no connection can be made within the deadline, the Postfix
11395 SMTP client
11396 tries the next address on the mail exchanger list. Specify 0 to
11397 disable the time limit (i.e. use whatever timeout is implemented by
11398 the operating system).
11399 </p>
11400
11401 <p> Specify a non-negative time value (an integral value plus an optional
11402 one-letter suffix that specifies the time unit). Time units: s
11403 (seconds), m (minutes), h (hours), d (days), w (weeks).
11404 The default time unit is s (seconds). </p>
11405
11406
11407 </DD>
11408
11409 <DT><b><a name="smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
11410 (default: empty)</b></DT><DD>
11411
11412 <p> Permanently enable SMTP connection caching for the specified
11413 destinations. With SMTP connection caching, a connection is not
11414 closed immediately after completion of a mail transaction. Instead,
11415 the connection is kept open for up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
11416 seconds. This allows connections to be reused for other deliveries,
11417 and can improve mail delivery performance. </p>
11418
11419 <p> Specify a comma or white space separated list of destinations
11420 or pseudo-destinations: </p>
11421
11422 <ul>
11423
11424 <li> if mail is sent without a <a href="postconf.5.html#relayhost">relay host</a>: a domain name (the
11425 right-hand side of an email address, without the [] around a numeric
11426 IP address),
11427
11428 <li> if mail is sent via a <a href="postconf.5.html#relayhost">relay host</a>: a <a href="postconf.5.html#relayhost">relay host</a> name (without
11429 [] or non-default TCP port), as specified in <a href="postconf.5.html">main.cf</a> or in the
11430 transport map,
11431
11432 <li> if mail is sent via a UNIX-domain socket: a pathname (without
11433 the unix: prefix),
11434
11435 <li> a /file/name with domain names and/or <a href="postconf.5.html#relayhost">relay host</a> names as
11436 defined above,
11437
11438 <li> a "<a href="DATABASE_README.html">type:table</a>" with domain names and/or <a href="postconf.5.html#relayhost">relay host</a> names on
11439 the left-hand side. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>"
11440 lookups is ignored.
11441
11442 </ul>
11443
11444 <p> This feature is available in Postfix 2.2 and later. </p>
11445
11446
11447 </DD>
11448
11449 <DT><b><a name="smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
11450 (default: yes)</b></DT><DD>
11451
11452 <p> Temporarily enable SMTP connection caching while a destination
11453 has a high volume of mail in the <a href="QSHAPE_README.html#active_queue">active queue</a>. With SMTP connection
11454 caching, a connection is not closed immediately after completion
11455 of a mail transaction. Instead, the connection is kept open for
11456 up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> seconds. This allows
11457 connections to be reused for other deliveries, and can improve mail
11458 delivery performance. </p>
11459
11460 <p> This feature is available in Postfix 2.2 and later. </p>
11461
11462
11463 </DD>
11464
11465 <DT><b><a name="smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
11466 (default: 2s)</b></DT><DD>
11467
11468 <p> When SMTP connection caching is enabled, the amount of time that
11469 an unused SMTP client socket is kept open before it is closed. Do
11470 not specify larger values without permission from the remote sites.
11471 </p>
11472
11473 <p> This feature is available in Postfix 2.2 and later. </p>
11474
11475
11476 </DD>
11477
11478 <DT><b><a name="smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a>
11479 (default: 0)</b></DT><DD>
11480
11481 <p> When SMTP connection caching is enabled, the number of times
11482 that an SMTP session may be reused before it is closed, or zero (no
11483 limit). With a reuse count limit of N, a connection is used up to
11484 N+1 times. </p>
11485
11486 <p> NOTE: This feature is unsafe. When a high-volume destination
11487 has multiple inbound MTAs, then the slowest inbound MTA will attract
11488 the most connections to that destination. This limitation does not
11489 exist with the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> feature. </p>
11490
11491 <p> This feature is available in Postfix 2.11. </p>
11492
11493
11494 </DD>
11495
11496 <DT><b><a name="smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
11497 (default: 300s)</b></DT><DD>
11498
11499 <p> The amount of time during which Postfix will use an SMTP
11500 connection repeatedly. The timer starts when the connection is
11501 initiated (i.e. it includes the connect, greeting and helo latency,
11502 in addition to the latencies of subsequent mail delivery transactions).
11503 </p>
11504
11505 <p> This feature addresses a performance stability problem with
11506 remote SMTP servers. This problem is not specific to Postfix: it
11507 can happen when any MTA sends large amounts of SMTP email to a site
11508 that has multiple MX hosts. </p>
11509
11510 <p> The problem starts when one of a set of MX hosts becomes slower
11511 than the rest. Even though SMTP clients connect to fast and slow
11512 MX hosts with equal probability, the slow MX host ends up with more
11513 simultaneous inbound connections than the faster MX hosts, because
11514 the slow MX host needs more time to serve each client request. </p>
11515
11516 <p> The slow MX host becomes a connection attractor. If one MX
11517 host becomes N times slower than the rest, it dominates mail delivery
11518 latency unless there are more than N fast MX hosts to counter the
11519 effect. And if the number of MX hosts is smaller than N, the mail
11520 delivery latency becomes effectively that of the slowest MX host
11521 divided by the total number of MX hosts. </p>
11522
11523 <p> The solution uses connection caching in a way that differs from
11524 Postfix version 2.2. By limiting the amount of time during which a connection
11525 can be used repeatedly (instead of limiting the number of deliveries
11526 over that connection), Postfix not only restores fairness in the
11527 distribution of simultaneous connections across a set of MX hosts,
11528 it also favors deliveries over connections that perform well, which
11529 is exactly what we want. </p>
11530
11531 <p> The default reuse time limit, 300s, is comparable to the various
11532 smtp transaction timeouts which are fair estimates of maximum excess
11533 latency for a slow delivery. Note that hosts may accept thousands
11534 of messages over a single connection within the default connection
11535 reuse time limit. This number is much larger than the default Postfix
11536 version 2.2 limit of 10 messages per cached connection. It may prove necessary
11537 to lower the limit to avoid interoperability issues with MTAs that
11538 exhibit bugs when many messages are delivered via a single connection.
11539 A lower reuse time limit risks losing the benefit of connection
11540 reuse when the average connection and mail delivery latency exceeds
11541 the reuse time limit. </p>
11542
11543 <p> This feature is available in Postfix 2.3 and later. </p>
11544
11545
11546 </DD>
11547
11548 <DT><b><a name="smtp_data_done_timeout">smtp_data_done_timeout</a>
11549 (default: 600s)</b></DT><DD>
11550
11551 <p>
11552 The Postfix SMTP client time limit for sending the SMTP ".", and
11553 for receiving the remote SMTP server response.
11554 </p>
11555
11556 <p>
11557 When no response is received within the deadline, a warning is
11558 logged that the mail may be delivered multiple times.
11559 </p>
11560
11561 <p> Specify a non-zero time value (an integral value plus an optional
11562 one-letter suffix that specifies the time unit). Time units: s
11563 (seconds), m (minutes), h (hours), d (days), w (weeks).
11564 The default time unit is s (seconds). </p>
11565
11566
11567 </DD>
11568
11569 <DT><b><a name="smtp_data_init_timeout">smtp_data_init_timeout</a>
11570 (default: 120s)</b></DT><DD>
11571
11572 <p>
11573 The Postfix SMTP client time limit for sending the SMTP DATA command,
11574 and for receiving the remote SMTP server response.
11575 </p>
11576
11577 <p>
11578 Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
11579 The default time unit is s (seconds).
11580 </p>
11581
11582
11583 </DD>
11584
11585 <DT><b><a name="smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
11586 (default: 180s)</b></DT><DD>
11587
11588 <p>
11589 The Postfix SMTP client time limit for sending the SMTP message content.
11590 When the connection makes no progress for more than $<a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
11591 seconds the Postfix SMTP client terminates the transfer.
11592 </p>
11593
11594 <p>
11595 Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
11596 The default time unit is s (seconds).
11597 </p>
11598
11599
11600 </DD>
11601
11602 <DT><b><a name="smtp_defer_if_no_mx_address_found">smtp_defer_if_no_mx_address_found</a>
11603 (default: no)</b></DT><DD>
11604
11605 <p>
11606 Defer mail delivery when no MX record resolves to an IP address.
11607 </p>
11608
11609 <p>
11610 The default (no) is to return the mail as undeliverable. With older
11611 Postfix versions the default was to keep trying to deliver the mail
11612 until someone fixed the MX record or until the mail was too old.
11613 </p>
11614
11615 <p>
11616 Note: the Postfix SMTP client always ignores MX records with equal
11617 or worse preference
11618 than the local MTA itself.
11619 </p>
11620
11621 <p>
11622 This feature is available in Postfix 2.1 and later.
11623 </p>
11624
11625
11626 </DD>
11627
11628 <DT><b><a name="smtp_delivery_status_filter">smtp_delivery_status_filter</a>
11629 (default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
11630
11631 <p> Optional filter for the <a href="smtp.8.html">smtp(8)</a> delivery agent to change the
11632 delivery status code or explanatory text of successful or unsuccessful
11633 deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p>
11634
11635 <p> NOTE: This feature modifies Postfix SMTP client error or non-error
11636 messages that may or may not be derived from remote SMTP server
11637 responses. In contrast, the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> feature modifies
11638 remote SMTP server responses only. </p>
11639
11640
11641 </DD>
11642
11643 <DT><b><a name="smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>
11644 (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
11645
11646 <p> The maximal number of parallel deliveries to the same destination
11647 via the smtp message delivery transport. This limit is enforced by
11648 the queue manager. The message delivery transport name is the first
11649 field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
11650
11651
11652 </DD>
11653
11654 <DT><b><a name="smtp_destination_recipient_limit">smtp_destination_recipient_limit</a>
11655 (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
11656
11657 <p> The maximal number of recipients per message for the smtp
11658 message delivery transport. This limit is enforced by the queue
11659 manager. The message delivery transport name is the first field in
11660 the entry in the <a href="master.5.html">master.cf</a> file. </p>
11661
11662 <p> Setting this parameter to a value of 1 changes the meaning of
11663 <a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> from concurrency per domain
11664 into concurrency per recipient. </p>
11665
11666
11667 </DD>
11668
11669 <DT><b><a name="smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>
11670 (default: empty)</b></DT><DD>
11671
11672 <p> Lookup tables, indexed by the remote SMTP server address, with
11673 case insensitive lists of EHLO keywords (pipelining, starttls, auth,
11674 etc.) that the Postfix SMTP client will ignore in the EHLO response from a
11675 remote SMTP server. See <a href="postconf.5.html#smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a> for details. The
11676 table is not indexed by hostname for consistency with
11677 <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
11678
11679 <p>
11680 Specify zero or more "type:name" lookup tables, separated by
11681 whitespace or comma. Tables will be searched in the specified order
11682 until a match is found.
11683 </p>
11684
11685 <p> This feature is available in Postfix 2.2 and later. </p>
11686
11687
11688 </DD>
11689
11690 <DT><b><a name="smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a>
11691 (default: empty)</b></DT><DD>
11692
11693 <p> A case insensitive list of EHLO keywords (pipelining, starttls,
11694 auth, etc.) that the Postfix SMTP client will ignore in the EHLO
11695 response from a remote SMTP server. </p>
11696
11697 <p> This feature is available in Postfix 2.2 and later. </p>
11698
11699 <p> Notes: </p>
11700
11701 <ul>
11702
11703 <li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
11704 this action from being logged. </p>
11705
11706 <li> <p> Use the <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a> feature to
11707 discard EHLO keywords selectively. </p>
11708
11709 </ul>
11710
11711
11712 </DD>
11713
11714 <DT><b><a name="smtp_dns_reply_filter">smtp_dns_reply_filter</a>
11715 (default: empty)</b></DT><DD>
11716
11717 <p> Optional filter for Postfix SMTP client DNS lookup results.
11718 Specify zero or more lookup tables. The lookup tables are searched
11719 in the given order for a match with the DNS lookup result, converted
11720 to the following form: </p>
11721
11722 <pre>
11723 <i>name ttl class type preference value</i>
11724 </pre>
11725
11726 <p> The <i>class</i> field is always "IN", the <i>preference</i>
11727 field exists only for MX records, the names of hosts, domains, etc.
11728 end in ".", and those names are in ASCII form (xn--mumble form in
11729 the case of UTF8 names). </p>
11730
11731 <p> When a match is found, the table lookup result specifies an
11732 action. By default, the table query and the action name are
11733 case-insensitive. Currently, only the <b>IGNORE</b> action is
11734 implemented. </p>
11735
11736 <p> Notes: </p>
11737
11738 <ul>
11739
11740 <li> <p> Postfix DNS reply filters have no effect on implicit DNS
11741 lookups through nsswitch.conf or equivalent mechanisms. </p>
11742
11743 <li> <p> The Postfix SMTP/LMTP client uses <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a>
11744 and <a href="postconf.5.html#lmtp_dns_reply_filter">lmtp_dns_reply_filter</a> only to discover a remote SMTP or LMTP
11745 service (record types MX, A, AAAA, and TLSA). These lookups are
11746 also made to implement the features <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> and
11747 <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. </p>
11748
11749 <li> <p> The Postfix SMTP/LMTP client defers mail delivery when
11750 a filter removes all lookup results from a successful query. </p>
11751
11752 <li> <p> Postfix SMTP server uses <a href="postconf.5.html#smtpd_dns_reply_filter">smtpd_dns_reply_filter</a> only to
11753 look up MX, A, AAAA, and TXT records to implement the features
11754 <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>, <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>,
11755 <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>, reject_rbl_*, and reject_rhsbl_*.
11756 </p>
11757
11758 <li> <p> The Postfix SMTP server logs a warning or defers mail
11759 delivery when a filter removes all lookup results from a successful
11760 query. </p>
11761
11762 </ul>
11763
11764 <p> Example: ignore Google AAAA records in Postfix SMTP client DNS
11765 lookups, because Google sometimes hard-rejects mail from IPv6 clients
11766 with valid PTR etc. records. </p>
11767
11768 <pre>
11769 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
11770 <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/smtp_dns_reply_filter
11771 </pre>
11772
11773 <pre>
11774 /etc/postfix/smtp_dns_reply_filter:
11775 # /domain ttl IN AAAA address/ action, all case-insensitive.
11776 # Note: the domain name ends in ".".
11777 /^\S+\.google\.com\.\s+\S+\s+\S+\s+AAAA\s+/ IGNORE
11778 </pre>
11779
11780 <p> This feature is available in Postfix 3.0 and later. </p>
11781
11782
11783 </DD>
11784
11785 <DT><b><a name="smtp_dns_resolver_options">smtp_dns_resolver_options</a>
11786 (default: empty)</b></DT><DD>
11787
11788 <p> DNS Resolver options for the Postfix SMTP client. Specify zero
11789 or more of the following options, separated by comma or whitespace.
11790 Option names are case-sensitive. Some options refer to domain names
11791 that are specified in the file /etc/resolv.conf or equivalent. </p>
11792
11793 <dl>
11794
11795 <dt><b>res_defnames</b></dt>
11796
11797 <dd> Append the current domain name to single-component names (those
11798 that do not contain a "." character). This can produce incorrect
11799 results, and is the hard-coded behavior prior to Postfix 2.8. </dd>
11800
11801 <dt><b>res_dnsrch</b></dt>
11802
11803 <dd> Search for host names in the current domain and in parent
11804 domains. This can produce incorrect results and is therefore not
11805 recommended. </dd>
11806
11807 </dl>
11808
11809 <p> This feature is available in Postfix 2.8 and later. </p>
11810
11811
11812 </DD>
11813
11814 <DT><b><a name="smtp_dns_support_level">smtp_dns_support_level</a>
11815 (default: empty)</b></DT><DD>
11816
11817 <p> Level of DNS support in the Postfix SMTP client. With
11818 "<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>" left at its empty default value, the legacy
11819 "<a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a>" parameter controls whether DNS is enabled in
11820 the Postfix SMTP client, otherwise the legacy parameter is ignored.
11821 </p>
11822
11823 <p> Specify one of the following: </p>
11824
11825 <dl>
11826
11827 <dt><b>disabled</b></dt>
11828
11829 <dd>Disable DNS lookups. No MX lookups are performed and hostname
11830 to address lookups are unconditionally "native". This setting is
11831 not appropriate for hosts that deliver mail to the public Internet.
11832 Some obsolete how-to documents recommend disabling DNS lookups in
11833 some configurations with content_filters. This is no longer required
11834 and strongly discouraged. </dd>
11835
11836 <dt><b>enabled</b></dt>
11837
11838 <dd>Enable DNS lookups. Nexthop destination domains not enclosed
11839 in "[]" will be subject to MX lookups. If "dns" and "native" are
11840 included in the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter value, DNS will be
11841 queried first to resolve MX-host A records, followed by "native"
11842 lookups if no answer is found in DNS. </dd>
11843
11844 <dt><b>dnssec</b></dt>
11845
11846 <dd>Enable <a href="https://tools.ietf.org/html/rfc4033">DNSSEC</a>
11847 lookups. The "dnssec" setting differs from the "enabled" setting
11848 above in the following ways: <ul> <li>Any MX lookups will set
11849 RES_USE_DNSSEC and RES_USE_EDNS0 to request DNSSEC-validated
11850 responses. If the MX response is DNSSEC-validated the corresponding
11851 hostnames are considered validated. <li> The address lookups of
11852 validated hostnames are also validated, (provided of course
11853 "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" includes "dns", see below). <li>Temporary
11854 failures in DNSSEC-enabled hostname-to-address resolution block any
11855 "native" lookups. Additional "native" lookups only happen when
11856 DNSSEC lookups hard-fail (NODATA or NXDOMAIN). </ul> </dd>
11857
11858 </dl>
11859
11860 <p> The Postfix SMTP client considers non-MX "[nexthop]" and
11861 "[nexthop]:port" destinations equivalent to statically-validated
11862 MX records of the form "nexthop. IN MX 0 nexthop." Therefore,
11863 with "dnssec" support turned on, validated hostname-to-address
11864 lookups apply to the nexthop domain of any "[nexthop]" or
11865 "[nexthop]:port" destination. This is also true for LMTP "inet:host"
11866 and "inet:host:port" destinations, as LMTP hostnames are never
11867 subject to MX lookups. </p>
11868
11869 <p>The "dnssec" setting is recommended only if you plan to use the
11870 <a href="TLS_README.html#client_tls_dane">dane</a> or <a
11871 href="TLS_README.html#client_tls_dane">dane-only</a> TLS security
11872 level, otherwise enabling DNSSEC support in Postfix offers no
11873 additional security. Postfix DNSSEC support relies on an upstream
11874 recursive nameserver that validates DNSSEC signatures. Such a DNS
11875 server will always filter out forged DNS responses, even when Postfix
11876 itself is not configured to use DNSSEC. </p>
11877
11878 <p> When using Postfix DANE support the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter
11879 should include "dns", as <a
11880 href="https://tools.ietf.org/html/rfc7672">DANE</a> is not applicable
11881 to hosts resolved via "native" lookups. </p>
11882
11883 <p> As mentioned above, Postfix is not a validating <a
11884 href="https://tools.ietf.org/html/rfc4035#section-4.9">stub
11885 resolver</a>; it relies on the system's configured DNSSEC-validating
11886 <a href="https://tools.ietf.org/html/rfc4035#section-3.2">recursive
11887 nameserver</a> to perform all DNSSEC validation. Since this
11888 nameserver's DNSSEC-validated responses will be fully trusted, it
11889 is strongly recommended that the MTA host have a local DNSSEC-validating
11890 recursive caching nameserver listening on a loopback address, and
11891 be configured to use only this nameserver for all lookups. Otherwise,
11892 Postfix may remain subject to man-in-the-middle attacks that forge
11893 responses from the recursive nameserver</p>
11894
11895 <p>DNSSEC support requires a version of Postfix compiled against a
11896 reasonably-modern DNS resolver(3) library that implements the
11897 RES_USE_DNSSEC and RES_USE_EDNS0 resolver options. </p>
11898
11899 <p> This feature is available in Postfix 2.11 and later. </p>
11900
11901
11902 </DD>
11903
11904 <DT><b><a name="smtp_enforce_tls">smtp_enforce_tls</a>
11905 (default: no)</b></DT><DD>
11906
11907 <p> Enforcement mode: require that remote SMTP servers use TLS
11908 encryption, and never send mail in the clear. This also requires
11909 that the remote SMTP server hostname matches the information in
11910 the remote server certificate, and that the remote SMTP server
11911 certificate was issued by a CA that is trusted by the Postfix SMTP
11912 client. If the certificate doesn't verify or the hostname doesn't
11913 match, delivery is deferred and mail stays in the queue. </p>
11914
11915 <p> The server hostname is matched against all names provided as
11916 dNSNames in the SubjectAlternativeName. If no dNSNames are specified,
11917 the CommonName is checked. The behavior may be changed with the
11918 <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> option. </p>
11919
11920 <p> This option is useful only if you are definitely sure that you
11921 will only connect to servers that support <a href="https://tools.ietf.org/html/rfc2487">RFC 2487</a> _and_ that
11922 provide valid server certificates. Typical use is for clients that
11923 send all their email to a dedicated mailhub. </p>
11924
11925 <p> This feature is available in Postfix 2.2 and later. With
11926 Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
11927
11928
11929 </DD>
11930
11931 <DT><b><a name="smtp_fallback_relay">smtp_fallback_relay</a>
11932 (default: $<a href="postconf.5.html#fallback_relay">fallback_relay</a>)</b></DT><DD>
11933
11934 <p> Optional list of relay destinations that will be used when an
11935 SMTP destination is not found, or when delivery fails due to a
11936 non-permanent error. With Postfix 2.2 and earlier this parameter
11937 is called <a href="postconf.5.html#fallback_relay">fallback_relay</a>. </p>
11938
11939 <p> By default, <a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a> is empty, mail is returned to
11940 the sender when a destination is not found, and delivery is deferred
11941 after it fails due to a non-permanent error. </p>
11942
11943 <p> With bulk email deliveries, it can be beneficial to run the
11944 fallback relay MTA on the same host, so that it can reuse the sender
11945 IP address. This speeds up deliveries that are delayed by IP-based
11946 reputation systems (greylist, etc.). </p>
11947
11948 <p> The fallback relays must be SMTP destinations. Specify a domain,
11949 host, host:port, [host]:port, [address] or [address]:port; the form
11950 [host] turns off MX lookups. If you specify multiple SMTP
11951 destinations, Postfix will try them in the specified order. </p>
11952
11953 <p> To prevent mailer loops between MX hosts and fall-back hosts,
11954 Postfix version 2.2 and later will not use the fallback relays for
11955 destinations that it is MX host for (assuming DNS lookup is turned on).
11956 </p>
11957
11958
11959 </DD>
11960
11961 <DT><b><a name="smtp_generic_maps">smtp_generic_maps</a>
11962 (default: empty)</b></DT><DD>
11963
11964 <p> Optional lookup tables that perform address rewriting in the
11965 Postfix SMTP client, typically to transform a locally valid address into
11966 a globally valid address when sending mail across the Internet.
11967 This is needed when the local machine does not have its own Internet
11968 domain name, but uses something like <i>localdomain.local</i>
11969 instead. </p>
11970
11971 <p>
11972 Specify zero or more "type:name" lookup tables, separated by
11973 whitespace or comma. Tables will be searched in the specified order
11974 until a match is found.
11975 </p>
11976
11977 <p> The table format and lookups are documented in <a href="generic.5.html">generic(5)</a>;
11978 examples are shown in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> and
11979 <a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> documents. </p>
11980
11981 <p> This feature is available in Postfix 2.2 and later. </p>
11982
11983
11984 </DD>
11985
11986 <DT><b><a name="smtp_header_checks">smtp_header_checks</a>
11987 (default: empty)</b></DT><DD>
11988
11989 <p> Restricted <a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP client.
11990 These tables are searched while mail is being delivered. Actions
11991 that change the delivery time or destination are not available.
11992 </p>
11993
11994 <p> This feature is available in Postfix 2.5 and later. </p>
11995
11996
11997 </DD>
11998
11999 <DT><b><a name="smtp_helo_name">smtp_helo_name</a>
12000 (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
12001
12002 <p>
12003 The hostname to send in the SMTP HELO or EHLO command.
12004 </p>
12005
12006 <p>
12007 The default value is the machine hostname. Specify a hostname or
12008 [ip.add.re.ss].
12009 </p>
12010
12011 <p>
12012 This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP
12013 clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
12014 client, for example:
12015 </p>
12016
12017 <blockquote>
12018 <pre>
12019 /etc/postfix/<a href="master.5.html">master.cf</a>:
12020 mysmtp ... smtp -o <a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a>=foo.bar.com
12021 </pre>
12022 </blockquote>
12023
12024 <p>
12025 This feature is available in Postfix 2.0 and later.
12026 </p>
12027
12028
12029 </DD>
12030
12031 <DT><b><a name="smtp_helo_timeout">smtp_helo_timeout</a>
12032 (default: 300s)</b></DT><DD>
12033
12034 <p>
12035 The Postfix SMTP client time limit for sending the HELO or EHLO command,
12036 and for receiving the initial remote SMTP server response.
12037 </p>
12038
12039 <p> Specify a non-zero time value (an integral value plus an optional
12040 one-letter suffix that specifies the time unit). Time units: s
12041 (seconds), m (minutes), h (hours), d (days), w (weeks).
12042 The default time unit is s (seconds). </p>
12043
12044
12045 </DD>
12046
12047 <DT><b><a name="smtp_host_lookup">smtp_host_lookup</a>
12048 (default: dns)</b></DT><DD>
12049
12050 <p>
12051 What mechanisms the Postfix SMTP client uses to look up a host's
12052 IP address. This parameter is ignored when DNS lookups are disabled
12053 (see: <a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a> and <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>). The "dns"
12054 mechanism is always tried before "native" if both are listed.
12055 </p>
12056
12057 <p>
12058 Specify one of the following:
12059 </p>
12060
12061 <dl>
12062
12063 <dt><b>dns</b></dt>
12064
12065 <dd>Hosts can be found in the DNS (preferred). </dd>
12066
12067 <dt><b>native</b></dt>
12068
12069 <dd>Use the native naming service only (nsswitch.conf, or equivalent
12070 mechanism). </dd>
12071
12072 <dt><b>dns, native</b></dt>
12073
12074 <dd>Use the native service for hosts not found in the DNS. </dd>
12075
12076 </dl>
12077
12078 <p>
12079 This feature is available in Postfix 2.1 and later.
12080 </p>
12081
12082
12083 </DD>
12084
12085 <DT><b><a name="smtp_line_length_limit">smtp_line_length_limit</a>
12086 (default: 998)</b></DT><DD>
12087
12088 <p>
12089 The maximal length of message header and body lines that Postfix
12090 will send via SMTP. This limit does not include the <CR><LF>
12091 at the end of each line. Longer lines are broken by inserting
12092 "<CR><LF><SPACE>", to minimize the damage to MIME
12093 formatted mail. Specify zero to disable this limit.
12094 </p>
12095
12096 <p>
12097 The Postfix limit of 998 characters not including <CR><LF>
12098 is consistent with the SMTP limit of 1000 characters including
12099 <CR><LF>. The Postfix limit was 990 with Postfix 2.8
12100 and earlier.
12101 </p>
12102
12103
12104 </DD>
12105
12106 <DT><b><a name="smtp_mail_timeout">smtp_mail_timeout</a>
12107 (default: 300s)</b></DT><DD>
12108
12109 <p>
12110 The Postfix SMTP client time limit for sending the MAIL FROM command,
12111 and for receiving the remote SMTP server response.
12112 </p>
12113
12114 <p> Specify a non-zero time value (an integral value plus an optional
12115 one-letter suffix that specifies the time unit). Time units: s
12116 (seconds), m (minutes), h (hours), d (days), w (weeks).
12117 The default time unit is s (seconds). </p>
12118
12119
12120 </DD>
12121
12122 <DT><b><a name="smtp_mime_header_checks">smtp_mime_header_checks</a>
12123 (default: empty)</b></DT><DD>
12124
12125 <p> Restricted mime_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
12126 client. These tables are searched while mail is being delivered.
12127 Actions that change the delivery time or destination are not
12128 available. </p>
12129
12130 <p> This feature is available in Postfix 2.5 and later. </p>
12131
12132
12133 </DD>
12134
12135 <DT><b><a name="smtp_min_data_rate">smtp_min_data_rate</a>
12136 (default: 500)</b></DT><DD>
12137
12138 <p> The minimum plaintext data transfer rate in bytes/second for
12139 DATA requests, when deadlines are enabled with <a href="postconf.5.html#smtp_per_request_deadline">smtp_per_request_deadline</a>.
12140 After a write operation transfers N plaintext message bytes (possibly
12141 after TLS encryption), and after the DATA request deadline is
12142 decremented by the elapsed time of that write operation, the DATA
12143 request deadline is incremented by N/smtp_min_data_rate seconds.
12144 However, the deadline will never be incremented beyond the time
12145 limit specified with <a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>. </p>
12146
12147 <p> This feature is available in Postfix 3.7 and later. </p>
12148
12149
12150 </DD>
12151
12152 <DT><b><a name="smtp_mx_address_limit">smtp_mx_address_limit</a>
12153 (default: 5)</b></DT><DD>
12154
12155 <p>
12156 The maximal number of MX (mail exchanger) IP addresses that can
12157 result from Postfix SMTP client mail exchanger lookups, or zero (no
12158 limit). Prior to
12159 Postfix version 2.3, this limit was disabled by default.
12160 </p>
12161
12162 <p>
12163 This feature is available in Postfix 2.1 and later.
12164 </p>
12165
12166
12167 </DD>
12168
12169 <DT><b><a name="smtp_mx_session_limit">smtp_mx_session_limit</a>
12170 (default: 2)</b></DT><DD>
12171
12172 <p> The maximal number of SMTP sessions per delivery request before
12173 the Postfix SMTP client
12174 gives up or delivers to a fall-back <a href="postconf.5.html#relayhost">relay host</a>, or zero (no
12175 limit). This restriction ignores sessions that fail to complete the
12176 SMTP initial handshake (Postfix version 2.2 and earlier) or that fail to
12177 complete the EHLO and TLS handshake (Postfix version 2.3 and later). </p>
12178
12179 <p> This feature is available in Postfix 2.1 and later. </p>
12180
12181
12182 </DD>
12183
12184 <DT><b><a name="smtp_nested_header_checks">smtp_nested_header_checks</a>
12185 (default: empty)</b></DT><DD>
12186
12187 <p> Restricted nested_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
12188 client. These tables are searched while mail is being delivered.
12189 Actions that change the delivery time or destination are not
12190 available. </p>
12191
12192 <p> This feature is available in Postfix 2.5 and later. </p>
12193
12194
12195 </DD>
12196
12197 <DT><b><a name="smtp_never_send_ehlo">smtp_never_send_ehlo</a>
12198 (default: no)</b></DT><DD>
12199
12200 <p> Never send EHLO at the start of an SMTP session. See also the
12201 <a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> parameter. </p>
12202
12203
12204 </DD>
12205
12206 <DT><b><a name="smtp_per_record_deadline">smtp_per_record_deadline</a>
12207 (default: no)</b></DT><DD>
12208
12209 <p> Change the behavior of the smtp_*_timeout time limits, from a
12210 time limit per read or write system call, to a time limit to send
12211 or receive a complete record (an SMTP command line, SMTP response
12212 line, SMTP message content line, or TLS protocol message). This
12213 limits the impact from hostile peers that trickle data one byte at
12214 a time. </p>
12215
12216 <p> Note: when per-record deadlines are enabled, a short timeout
12217 may cause problems with TLS over very slow network connections.
12218 The reasons are that a TLS protocol message can be up to 16 kbytes
12219 long (with TLSv1), and that an entire TLS protocol message must be
12220 sent or received within the per-record deadline. </p>
12221
12222 <p> This feature is available in Postfix 2.9-3.6. With older
12223 Postfix releases, the behavior is as if this parameter is set to
12224 "no". Postfix 3.7 and later use <a href="postconf.5.html#smtp_per_request_deadline">smtp_per_request_deadline</a>. </p>
12225
12226
12227 </DD>
12228
12229 <DT><b><a name="smtp_per_request_deadline">smtp_per_request_deadline</a>
12230 (default: no)</b></DT><DD>
12231
12232 <p> Change the behavior of the smtp_*_timeout time limits, from a
12233 time limit per plaintext or TLS read or write call, to a combined
12234 time limit for sending a complete SMTP request and for receiving a
12235 complete SMTP response. The deadline limits only the time spent
12236 waiting for plaintext or TLS read or write calls, not time spent
12237 elsewhere. The per-request deadline limits the impact from hostile
12238 peers that trickle data one byte at a time. </p>
12239
12240 <p> See <a href="postconf.5.html#smtp_min_data_rate">smtp_min_data_rate</a> for how the per-request deadline is
12241 managed during the DATA phase. </p>
12242
12243 <p> Note: when per-request deadlines are enabled, a short time limit
12244 may cause problems with TLS over very slow network connections. The
12245 reason is that a TLS protocol message can be up to 16 kbytes long
12246 (with TLSv1), and that an entire TLS protocol message must be
12247 transferred within the per-request deadline. </p>
12248
12249 <p> This feature is available in Postfix 3.7 and later. A weaker
12250 feature, called <a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a>, is available with Postfix
12251 2.9-3.6. </p>
12252
12253 <p> This feature is available in Postfix 3.7 and later. </p>
12254
12255
12256 </DD>
12257
12258 <DT><b><a name="smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
12259 (default: 10s)</b></DT><DD>
12260
12261 <p>
12262 How long the Postfix SMTP client pauses before sending
12263 ".<CR><LF>" in order to work around the PIX firewall
12264 "<CR><LF>.<CR><LF>" bug.
12265 </p>
12266
12267 <p>
12268 Choosing too short a time makes this workaround ineffective when
12269 sending large messages over slow network connections.
12270 </p>
12271
12272 <p> Specify a non-zero time value (an integral value plus an optional
12273 one-letter suffix that specifies the time unit). Time units: s
12274 (seconds), m (minutes), h (hours), d (days), w (weeks).
12275 The default time unit is s (seconds). </p>
12276
12277
12278 </DD>
12279
12280 <DT><b><a name="smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
12281 (default: empty)</b></DT><DD>
12282
12283 <p> Lookup tables, indexed by the remote SMTP server address, with
12284 per-destination workarounds for CISCO PIX firewall bugs. The table
12285 is not indexed by hostname for consistency with
12286 <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>. </p>
12287
12288 <p>
12289 Specify zero or more "type:name" lookup tables, separated by
12290 whitespace or comma. Tables will be searched in the specified order
12291 until a match is found.
12292 </p>
12293
12294 <p> This feature is available in Postfix 2.4 and later. </p>
12295
12296
12297 </DD>
12298
12299 <DT><b><a name="smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
12300 (default: 500s)</b></DT><DD>
12301
12302 <p> How long a message must be queued before the Postfix SMTP client
12303 turns on the PIX firewall "<CR><LF>.<CR><LF>"
12304 bug workaround for delivery through firewalls with "smtp fixup"
12305 mode turned on. </p>
12306
12307 <p> Specify a non-negative time value (an integral value plus an optional
12308 one-letter suffix that specifies the time unit). Time units: s
12309 (seconds), m (minutes), h (hours), d (days), w (weeks).
12310 The default time unit is s (seconds). </p>
12311
12312 <p>
12313 By default, the workaround is turned off for mail that is queued
12314 for less than 500 seconds. In other words, the workaround is normally
12315 turned off for the first delivery attempt.
12316 </p>
12317
12318 <p>
12319 Specify 0 to enable the PIX firewall
12320 "<CR><LF>.<CR><LF>" bug workaround upon the
12321 first delivery attempt.
12322 </p>
12323
12324
12325 </DD>
12326
12327 <DT><b><a name="smtp_pix_workarounds">smtp_pix_workarounds</a>
12328 (default: disable_esmtp, delay_dotcrlf)</b></DT><DD>
12329
12330 <p> A list that specifies zero or more workarounds for CISCO PIX
12331 firewall bugs. These workarounds are implemented by the Postfix
12332 SMTP client. Workaround names are separated by comma or space, and
12333 are case insensitive. This parameter setting can be overruled with
12334 per-destination <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> settings. </p>
12335
12336 <dl>
12337
12338 <dt><b>delay_dotcrlf</b><dd> Insert a delay before sending
12339 ".<CR><LF>" after the end of the message content. The
12340 delay is subject to the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> and
12341 <a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> parameter settings. </dd>
12342
12343 <dt><b>disable_esmtp</b><dd> Disable all extended SMTP commands:
12344 send HELO instead of EHLO. </dd>
12345
12346 </dl>
12347
12348 <p> This feature is available in Postfix 2.4 and later. The default
12349 settings are backwards compatible with earlier Postfix versions.
12350 </p>
12351
12352
12353 </DD>
12354
12355 <DT><b><a name="smtp_quit_timeout">smtp_quit_timeout</a>
12356 (default: 300s)</b></DT><DD>
12357
12358 <p>
12359 The Postfix SMTP client time limit for sending the QUIT command,
12360 and for receiving the remote SMTP server response.
12361 </p>
12362
12363 <p> Specify a non-zero time value (an integral value plus an optional
12364 one-letter suffix that specifies the time unit). Time units: s
12365 (seconds), m (minutes), h (hours), d (days), w (weeks).
12366 The default time unit is s (seconds). </p>
12367
12368
12369 </DD>
12370
12371 <DT><b><a name="smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
12372 (default: yes)</b></DT><DD>
12373
12374 <p>
12375 Quote addresses in Postfix SMTP client MAIL FROM and RCPT TO commands
12376 as required
12377 by <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. This includes putting quotes around an address localpart
12378 that ends in ".".
12379 </p>
12380
12381 <p>
12382 The default is to comply with <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. If you have to send mail to
12383 a broken SMTP server, configure a special SMTP client in <a href="master.5.html">master.cf</a>:
12384 </p>
12385
12386 <blockquote>
12387 <pre>
12388 /etc/postfix/<a href="master.5.html">master.cf</a>:
12389 broken-smtp . . . smtp -o <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>=no
12390 </pre>
12391 </blockquote>
12392
12393 <p>
12394 and route mail for the destination in question to the "broken-smtp"
12395 message delivery with a <a href="transport.5.html">transport(5)</a> table.
12396 </p>
12397
12398 <p>
12399 This feature is available in Postfix 2.1 and later.
12400 </p>
12401
12402
12403 </DD>
12404
12405 <DT><b><a name="smtp_randomize_addresses">smtp_randomize_addresses</a>
12406 (default: yes)</b></DT><DD>
12407
12408 <p>
12409 Randomize the order of equal-preference MX host addresses. This
12410 is a performance feature of the Postfix SMTP client.
12411 </p>
12412
12413
12414 </DD>
12415
12416 <DT><b><a name="smtp_rcpt_timeout">smtp_rcpt_timeout</a>
12417 (default: 300s)</b></DT><DD>
12418
12419 <p>
12420 The Postfix SMTP client time limit for sending the SMTP RCPT TO
12421 command, and for receiving the remote SMTP server response.
12422 </p>
12423
12424 <p> Specify a non-zero time value (an integral value plus an optional
12425 one-letter suffix that specifies the time unit). Time units: s
12426 (seconds), m (minutes), h (hours), d (days), w (weeks).
12427 The default time unit is s (seconds). </p>
12428
12429
12430 </DD>
12431
12432 <DT><b><a name="smtp_reply_filter">smtp_reply_filter</a>
12433 (default: empty)</b></DT><DD>
12434
12435 <p> A mechanism to transform replies from remote SMTP servers one
12436 line at a time. This is a last-resort tool to work around server
12437 replies that break interoperability with the Postfix SMTP client.
12438 Other uses involve fault injection to test Postfix's handling of
12439 invalid responses. </p>
12440
12441 <p> Notes: </p>
12442
12443 <ul>
12444
12445 <li> <p> In the case of a multi-line reply, the Postfix SMTP client
12446 uses the final reply line's numerical SMTP reply code and enhanced
12447 status code. </p>
12448
12449 <li> <p> The numerical SMTP reply code (XYZ) takes precedence over
12450 the enhanced status code (X.Y.Z). When the enhanced status code
12451 initial digit differs from the SMTP reply code initial digit, or
12452 when no enhanced status code is present, the Postfix SMTP client
12453 uses a generic enhanced status code (X.0.0) instead. </p>
12454
12455 </ul>
12456
12457 <p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
12458 string is a single SMTP reply line as received from the remote SMTP
12459 server, except that the trailing <CR><LF> are removed.
12460 When the lookup succeeds, the result replaces the single SMTP reply
12461 line. </p>
12462
12463 <p> Examples: </p>
12464
12465 <pre>
12466 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
12467 <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/reply_filter
12468 </pre>
12469
12470 <pre>
12471 /etc/postfix/reply_filter:
12472 # Transform garbage into "250-filler..." so that it looks like
12473 # one line from a multi-line reply. It does not matter what we
12474 # substitute here as long it has the right syntax. The Postfix
12475 # SMTP client will use the final line's numerical SMTP reply
12476 # code and enhanced status code.
12477 !/^([2-5][0-9][0-9]($|[- ]))/ 250-filler for garbage
12478 </pre>
12479
12480 <p> This feature is available in Postfix 2.7. </p>
12481
12482
12483 </DD>
12484
12485 <DT><b><a name="smtp_rset_timeout">smtp_rset_timeout</a>
12486 (default: 20s)</b></DT><DD>
12487
12488 <p> The Postfix SMTP client time limit for sending the RSET command,
12489 and for receiving the remote SMTP server response. The SMTP client
12490 sends RSET in
12491 order to finish a recipient address probe, or to verify that a
12492 cached session is still usable. </p>
12493
12494 <p> Specify a non-zero time value (an integral value plus an optional
12495 one-letter suffix that specifies the time unit). Time units: s
12496 (seconds), m (minutes), h (hours), d (days), w (weeks).
12497 The default time unit is s (seconds). </p>
12498
12499 <p> This feature is available in Postfix 2.1 and later. </p>
12500
12501
12502 </DD>
12503
12504 <DT><b><a name="smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
12505 (default: empty)</b></DT><DD>
12506
12507 <p> An optional table to prevent repeated SASL authentication
12508 failures with the same remote SMTP server hostname, username and
12509 password. Each table (key, value) pair contains a server name, a
12510 username and password, and the full server response. This information
12511 is stored when a remote SMTP server rejects an authentication attempt
12512 with a 535 reply code. As long as the <a href="postconf.5.html#smtp_sasl_password_maps">smtp_sasl_password_maps</a>
12513 information does not change, and as long as the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
12514 information does not expire (see <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>) the
12515 Postfix SMTP client avoids SASL authentication attempts with the
12516 same server, username and password, and instead bounces or defers
12517 mail as controlled with the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> configuration
12518 parameter. </p>
12519
12520 <p> Use a per-destination delivery concurrency of 1 (for example,
12521 "<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> = 1",
12522 "<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> = 1", etc.), otherwise multiple
12523 delivery agents may experience a login failure at the same time.
12524 </p>
12525
12526 <p> The table must be accessed via the proxywrite service, i.e. the
12527 map name must start with "<a href="proxymap.8.html">proxy</a>:". The table should be stored under
12528 the directory specified with the <a href="postconf.5.html#data_directory">data_directory</a> parameter. </p>
12529
12530 <p> This feature uses cryptographic hashing to protect plain-text
12531 passwords, and requires that Postfix is compiled with TLS support.
12532 </p>
12533
12534 <p> Example: </p>
12535
12536 <pre>
12537 <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> = <a href="proxymap.8.html">proxy</a>:<a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/sasl_auth_cache
12538 </pre>
12539
12540 <p> This feature is available in Postfix 2.5 and later. </p>
12541
12542
12543 </DD>
12544
12545 <DT><b><a name="smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
12546 (default: 90d)</b></DT><DD>
12547
12548 <p> The maximal age of an <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> entry before it
12549 is removed. </p>
12550
12551 <p> Specify a non-negative time value (an integral value plus an optional
12552 one-letter suffix that specifies the time unit). Time units: s
12553 (seconds), m (minutes), h (hours), d (days), w (weeks).
12554 The default time unit is d (days). </p>
12555
12556 <p> This feature is available in Postfix 2.5 and later. </p>
12557
12558
12559 </DD>
12560
12561 <DT><b><a name="smtp_sasl_auth_enable">smtp_sasl_auth_enable</a>
12562 (default: no)</b></DT><DD>
12563
12564 <p>
12565 Enable SASL authentication in the Postfix SMTP client. By default,
12566 the Postfix SMTP client uses no authentication.
12567 </p>
12568
12569 <p>
12570 Example:
12571 </p>
12572
12573 <pre>
12574 <a href="postconf.5.html#smtp_sasl_auth_enable">smtp_sasl_auth_enable</a> = yes
12575 </pre>
12576
12577
12578 </DD>
12579
12580 <DT><b><a name="smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
12581 (default: yes)</b></DT><DD>
12582
12583 <p> When a remote SMTP server rejects a SASL authentication request
12584 with a 535 reply code, defer mail delivery instead of returning
12585 mail as undeliverable. The latter behavior was hard-coded prior to
12586 Postfix version 2.5. </p>
12587
12588 <p> Note: the setting "yes" overrides the global <a href="postconf.5.html#soft_bounce">soft_bounce</a>
12589 parameter, but the setting "no" does not. </p>
12590
12591 <p> Example: </p>
12592
12593 <pre>
12594 # Default as of Postfix 2.5
12595 <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = yes
12596 # The old hard-coded default
12597 <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = no
12598 </pre>
12599
12600 <p> This feature is available in Postfix 2.5 and later. </p>
12601
12602
12603 </DD>
12604
12605 <DT><b><a name="smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
12606 (default: empty)</b></DT><DD>
12607
12608 <p>
12609 If non-empty, a Postfix SMTP client filter for the remote SMTP
12610 server's list of offered SASL mechanisms. Different client and
12611 server implementations may support different mechanism lists; by
12612 default, the Postfix SMTP client will use the intersection of the
12613 two. <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> specifies an optional third mechanism
12614 list to intersect with. </p>
12615
12616 <p> Specify mechanism names, "/file/name" patterns or "<a href="DATABASE_README.html">type:table</a>"
12617 lookup tables. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>" lookups
12618 is ignored. Specify "!pattern" to exclude a mechanism name from the
12619 list. The form "!/file/name" is supported only in Postfix version
12620 2.4 and later. </p>
12621
12622 <p> This feature is available in Postfix 2.2 and later. </p>
12623
12624 <p>
12625 Examples:
12626 </p>
12627
12628 <pre>
12629 <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = plain, login
12630 <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = /etc/postfix/smtp_mechs
12631 <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = !gssapi, !login, <a href="DATABASE_README.html#types">static</a>:rest
12632 </pre>
12633
12634
12635 </DD>
12636
12637 <DT><b><a name="smtp_sasl_password_maps">smtp_sasl_password_maps</a>
12638 (default: empty)</b></DT><DD>
12639
12640 <p>
12641 Optional Postfix SMTP client lookup tables with one username:password
12642 entry per sender, remote hostname or next-hop domain. Per-sender
12643 lookup is done only when sender-dependent authentication is enabled.
12644 If no username:password entry is found, then the Postfix SMTP client
12645 will not attempt to authenticate to the remote host.
12646 </p>
12647
12648 <p> Use <a href="postconf.5.html#smtp_sasl_password_result_delimiter">smtp_sasl_password_result_delimiter</a> to specify an
12649 alternative separator between username and password. </p>
12650
12651 <p>
12652 The Postfix SMTP client opens the lookup table before going to
12653 chroot jail, so you can leave the password file in /etc/postfix.
12654 </p>
12655
12656 <p>
12657 Specify zero or more "type:name" lookup tables, separated by
12658 whitespace or comma. Tables will be searched in the specified order
12659 until a match is found.
12660 </p>
12661
12662
12663 </DD>
12664
12665 <DT><b><a name="smtp_sasl_password_result_delimiter">smtp_sasl_password_result_delimiter</a>
12666 (default: :)</b></DT><DD>
12667
12668 <p> The delimiter between username and password in sasl_passwd_maps lookup
12669 results. Specify one non-whitespace character that does not appear in
12670 the username. </p>
12671
12672 <p> This feature is available in Postfix ≥ 3.9. </p>
12673
12674
12675 </DD>
12676
12677 <DT><b><a name="smtp_sasl_path">smtp_sasl_path</a>
12678 (default: empty)</b></DT><DD>
12679
12680 <p> Implementation-specific information that the Postfix SMTP client
12681 passes through to
12682 the SASL plug-in implementation that is selected with
12683 <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>. Typically this specifies the name of a
12684 configuration file or rendezvous point. </p>
12685
12686 <p> This feature is available in Postfix 2.3 and later. </p>
12687
12688
12689 </DD>
12690
12691 <DT><b><a name="smtp_sasl_security_options">smtp_sasl_security_options</a>
12692 (default: noplaintext, noanonymous)</b></DT><DD>
12693
12694 <p> Postfix SMTP client SASL security options; as of Postfix 2.3
12695 the list of available
12696 features depends on the SASL client implementation that is selected
12697 with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>. </p>
12698
12699 <p> The following security features are defined for the <b>cyrus</b>
12700 client SASL implementation: </p>
12701
12702 <p>
12703 Specify zero or more of the following:
12704 </p>
12705
12706 <dl>
12707
12708 <dt><b>noplaintext</b></dt>
12709
12710 <dd>Disallow methods that use plaintext passwords. </dd>
12711
12712 <dt><b>noactive</b></dt>
12713
12714 <dd>Disallow methods subject to active (non-dictionary) attack.
12715 </dd>
12716
12717 <dt><b>nodictionary</b></dt>
12718
12719 <dd>Disallow methods subject to passive (dictionary) attack. </dd>
12720
12721 <dt><b>noanonymous</b></dt>
12722
12723 <dd>Disallow methods that allow anonymous authentication. </dd>
12724
12725 <dt><b>mutual_auth</b></dt>
12726
12727 <dd>Only allow methods that provide mutual authentication (not
12728 available with SASL version 1). </dd>
12729
12730 </dl>
12731
12732 <p>
12733 Example:
12734 </p>
12735
12736 <pre>
12737 <a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> = noplaintext
12738 </pre>
12739
12740
12741 </DD>
12742
12743 <DT><b><a name="smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
12744 (default: $<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a>)</b></DT><DD>
12745
12746 <p> The SASL authentication security options that the Postfix SMTP
12747 client uses for TLS encrypted SMTP sessions. </p>
12748
12749 <p> This feature is available in Postfix 2.2 and later. </p>
12750
12751
12752 </DD>
12753
12754 <DT><b><a name="smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a>
12755 (default: $<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>)</b></DT><DD>
12756
12757 <p> The SASL authentication security options that the Postfix SMTP
12758 client uses for TLS encrypted SMTP sessions with a verified server
12759 certificate. </p>
12760
12761 <p> When mail is sent to the public MX host for the recipient's
12762 domain, server certificates are by default optional, and delivery
12763 proceeds even if certificate verification fails. For delivery via
12764 a submission service that requires SASL authentication, it may be
12765 appropriate to send plaintext passwords only when the connection
12766 to the server is strongly encrypted <b>and</b> the server identity
12767 is verified. </p>
12768
12769 <p> The <a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> parameter makes it
12770 possible to only enable plaintext mechanisms when a secure connection
12771 to the server is available. Submission servers subject to this
12772 policy must either have verifiable certificates or offer suitable
12773 non-plaintext SASL mechanisms. </p>
12774
12775 <p> This feature is available in Postfix 2.6 and later. </p>
12776
12777
12778 </DD>
12779
12780 <DT><b><a name="smtp_sasl_type">smtp_sasl_type</a>
12781 (default: cyrus)</b></DT><DD>
12782
12783 <p> The SASL plug-in type that the Postfix SMTP client should use
12784 for authentication. The available types are listed with the
12785 "<b>postconf -A</b>" command. </p>
12786
12787 <p> This feature is available in Postfix 2.3 and later. </p>
12788
12789
12790 </DD>
12791
12792 <DT><b><a name="smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
12793 (default: no)</b></DT><DD>
12794
12795 <p> Whether or not to append the "AUTH=<>" option to the MAIL
12796 FROM command in SASL-authenticated SMTP sessions. The default is
12797 not to send this, to avoid problems with broken remote SMTP servers.
12798 Before Postfix 2.9 the behavior is as if "<a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
12799 = yes".
12800
12801 <p> This feature is available in Postfix 2.9 and later. </p>
12802
12803
12804 </DD>
12805
12806 <DT><b><a name="smtp_send_xforward_command">smtp_send_xforward_command</a>
12807 (default: no)</b></DT><DD>
12808
12809 <p>
12810 Send the non-standard XFORWARD command when the Postfix SMTP server
12811 EHLO response announces XFORWARD support.
12812 </p>
12813
12814 <p>
12815 This allows a Postfix SMTP delivery agent, used for injecting mail
12816 into
12817 a content filter, to forward the name, address, protocol and HELO
12818 name of the original client to the content filter and downstream
12819 queuing SMTP server. This can produce more useful logging than
12820 localhost[127.0.0.1] etc.
12821 </p>
12822
12823 <p>
12824 This feature is available in Postfix 2.1 and later.
12825 </p>
12826
12827
12828 </DD>
12829
12830 <DT><b><a name="smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
12831 (default: no)</b></DT><DD>
12832
12833 <p>
12834 Enable sender-dependent authentication in the Postfix SMTP client; this is
12835 available only with SASL authentication, and disables SMTP connection
12836 caching to ensure that mail from different senders will use the
12837 appropriate credentials. </p>
12838
12839 <p>
12840 This feature is available in Postfix 2.3 and later.
12841 </p>
12842
12843
12844 </DD>
12845
12846 <DT><b><a name="smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a>
12847 (default: yes)</b></DT><DD>
12848
12849 <p>
12850 Skip SMTP servers that greet with a 4XX status code (go away, try
12851 again later).
12852 </p>
12853
12854 <p>
12855 By default, the Postfix SMTP client moves on the next mail exchanger.
12856 Specify
12857 "<a href="postconf.5.html#smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a> = no" if Postfix should defer delivery
12858 immediately.
12859 </p>
12860
12861 <p> This feature is available in Postfix 2.0 and earlier.
12862 Later Postfix versions always skip remote SMTP servers that greet
12863 with a
12864 4XX status code. </p>
12865
12866
12867 </DD>
12868
12869 <DT><b><a name="smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
12870 (default: yes)</b></DT><DD>
12871
12872 <p>
12873 Skip remote SMTP servers that greet with a 5XX status code.
12874 </p>
12875
12876 <p> By default, the Postfix SMTP client moves on the next mail
12877 exchanger. Specify "<a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> = no" if Postfix should
12878 bounce the mail immediately. Caution: the latter behavior appears
12879 to contradict <a href="https://tools.ietf.org/html/rfc2821">RFC 2821</a>. </p>
12880
12881
12882 </DD>
12883
12884 <DT><b><a name="smtp_skip_quit_response">smtp_skip_quit_response</a>
12885 (default: yes)</b></DT><DD>
12886
12887 <p>
12888 Do not wait for the response to the SMTP QUIT command.
12889 </p>
12890
12891
12892 </DD>
12893
12894 <DT><b><a name="smtp_starttls_timeout">smtp_starttls_timeout</a>
12895 (default: 300s)</b></DT><DD>
12896
12897 <p> Time limit for Postfix SMTP client write and read operations
12898 during TLS startup and shutdown handshake procedures. </p>
12899
12900 <p> Specify a non-zero time value (an integral value plus an optional
12901 one-letter suffix that specifies the time unit). Time units: s
12902 (seconds), m (minutes), h (hours), d (days), w (weeks).
12903 The default time unit is s (seconds). </p>
12904
12905 <p> This feature is available in Postfix 2.2 and later. </p>
12906
12907
12908 </DD>
12909
12910 <DT><b><a name="smtp_tcp_port">smtp_tcp_port</a>
12911 (default: smtp)</b></DT><DD>
12912
12913 <p>
12914 The default TCP port that the Postfix SMTP client connects to.
12915 Specify a symbolic name (see services(5)) or a numeric port.
12916 </p>
12917
12918
12919 </DD>
12920
12921 <DT><b><a name="smtp_tls_CAfile">smtp_tls_CAfile</a>
12922 (default: empty)</b></DT><DD>
12923
12924 <p> A file containing CA certificates of root CAs trusted to sign
12925 either remote SMTP server certificates or intermediate CA certificates.
12926 These are loaded into memory before the <a href="smtp.8.html">smtp(8)</a> client enters the
12927 chroot jail. If the number of trusted roots is large, consider using
12928 <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> instead, but note that the latter directory must be
12929 present in the chroot jail if the <a href="smtp.8.html">smtp(8)</a> client is chrooted. This
12930 file may also be used to augment the client certificate trust chain,
12931 but it is best to include all the required certificates directly in
12932 $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> (or, Postfix ≥ 3.4 $<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>). </p>
12933
12934 <p> Specify "<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /path/to/system_CA_file" to use
12935 ONLY the system-supplied default Certification Authority certificates.
12936 </p>
12937
12938 <p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
12939 appending the system-supplied default CAs and trusting third-party
12940 certificates. </p>
12941
12942 <p> Example: </p>
12943
12944 <pre>
12945 <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /etc/postfix/CAcert.pem
12946 </pre>
12947
12948 <p> This feature is available in Postfix 2.2 and later. </p>
12949
12950
12951 </DD>
12952
12953 <DT><b><a name="smtp_tls_CApath">smtp_tls_CApath</a>
12954 (default: empty)</b></DT><DD>
12955
12956 <p> Directory with PEM format Certification Authority certificates
12957 that the Postfix SMTP client uses to verify a remote SMTP server
12958 certificate. Don't forget to create the necessary "hash" links
12959 with, for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs".
12960 </p>
12961
12962 <p> To use this option in chroot mode, this directory (or a copy)
12963 must be inside the chroot jail. </p>
12964
12965 <p> Specify "<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /path/to/system_CA_directory" to
12966 use ONLY the system-supplied default Certification Authority certificates.
12967 </p>
12968
12969 <p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
12970 appending the system-supplied default CAs and trusting third-party
12971 certificates. </p>
12972
12973 <p> Example: </p>
12974
12975 <pre>
12976 <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /etc/postfix/certs
12977 </pre>
12978
12979 <p> This feature is available in Postfix 2.2 and later. </p>
12980
12981
12982 </DD>
12983
12984 <DT><b><a name="smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a>
12985 (default: no)</b></DT><DD>
12986
12987 <p> Try to detect a mail hijacking attack based on a TLS protocol
12988 vulnerability (CVE-2009-3555), where an attacker prepends malicious
12989 HELO, MAIL, RCPT, DATA commands to a Postfix SMTP client TLS session.
12990 The attack would succeed with non-Postfix SMTP servers that reply
12991 to the malicious HELO, MAIL, RCPT, DATA commands after negotiating
12992 the Postfix SMTP client TLS session. </p>
12993
12994 <p> This feature is available in Postfix 2.7. </p>
12995
12996
12997 </DD>
12998
12999 <DT><b><a name="smtp_tls_cert_file">smtp_tls_cert_file</a>
13000 (default: empty)</b></DT><DD>
13001
13002 <p> File with the Postfix SMTP client RSA certificate in PEM format.
13003 This file may also contain the Postfix SMTP client private RSA key, and
13004 these may be the same as the Postfix SMTP server RSA certificate and key
13005 file. With Postfix ≥ 3.4 the preferred way to configure client keys
13006 and certificates is via the "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p>
13007
13008 <p> Do not configure client certificates unless you <b>must</b> present
13009 client TLS certificates to one or more servers. Client certificates are
13010 not usually needed, and can cause problems in configurations that work
13011 well without them. The recommended setting is to let the defaults stand: </p>
13012
13013 <blockquote>
13014 <pre>
13015 <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> =
13016 <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> =
13017 <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> =
13018 <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> =
13019 # Obsolete DSA parameters
13020 <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> =
13021 <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> =
13022 # Postfix ≥ 3.4 interface
13023 <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> =
13024 </pre>
13025 </blockquote>
13026
13027 <p> The best way to use the default settings is to comment out the above
13028 parameters in <a href="postconf.5.html">main.cf</a> if present. </p>
13029
13030 <p> To enable remote SMTP servers to verify the Postfix SMTP client
13031 certificate, the issuing CA certificates must be made available to the
13032 server. You should include the required certificates in the client
13033 certificate file, the client certificate first, then the issuing
13034 CA(s) (bottom-up order). </p>
13035
13036 <p> Example: the certificate for "client.example.com" was issued by
13037 "intermediate CA" which itself has a certificate issued by "root CA".
13038 As the "root" super-user create the client.pem file with: </p>
13039
13040 <blockquote>
13041 <pre>
13042 # <b>umask 077</b>
13043 # <b>cat client_key.pem client_cert.pem intermediate_CA.pem > chain.pem </b>
13044 </pre>
13045 </blockquote>
13046
13047 <p> If you also want to verify remote SMTP server certificates issued by
13048 these CAs, you can add the CA certificates to the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>, in
13049 which case it is not necessary to have them in the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>,
13050 <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> (obsolete) or <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. </p>
13051
13052 <p> A certificate supplied here must be usable as an SSL client certificate
13053 and hence pass the "openssl verify -purpose sslclient ..." test. </p>
13054
13055 <p> Example: </p>
13056
13057 <pre>
13058 <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> = /etc/postfix/chain.pem
13059 </pre>
13060
13061 <p> This feature is available in Postfix 2.2 and later. </p>
13062
13063
13064 </DD>
13065
13066 <DT><b><a name="smtp_tls_chain_files">smtp_tls_chain_files</a>
13067 (default: empty)</b></DT><DD>
13068
13069 <p> List of one or more PEM files, each holding one or more private keys
13070 directly followed by a corresponding certificate chain. The file names
13071 are separated by commas and/or whitespace. This parameter obsoletes the
13072 legacy algorithm-specific key and certificate file settings. When this
13073 parameter is non-empty, the legacy parameters are ignored, and a warning
13074 is logged if any are also non-empty. </p>
13075
13076 <p> With the proliferation of multiple private key algorithms—which,
13077 as of OpenSSL 1.1.1, include DSA (obsolete), RSA, ECDSA, Ed25519
13078 and Ed448—it is increasingly impractical to use separate
13079 parameters to configure the key and certificate chain for each
13080 algorithm. Therefore, Postfix now supports storing multiple keys and
13081 corresponding certificate chains in a single file or in a set of files.
13082
13083 <p> Each key must appear <b>immediately before</b> the corresponding
13084 certificate, optionally followed by additional issuer certificates that
13085 complete the certificate chain for that key. When multiple files are
13086 specified, they are equivalent to a single file that is concatenated
13087 from those files in the given order. Thus, while a key must always
13088 precede its certificate and issuer chain, it can be in a separate file,
13089 so long as that file is listed immediately before the file that holds
13090 the corresponding certificate chain. Once all the files are
13091 concatenated, the sequence of PEM objects must be: <i>key1, cert1,
13092 [chain1], key2, cert2, [chain2], ..., keyN, certN, [chainN].</i> </p>
13093
13094 <p> Storing the private key in the same file as the corresponding
13095 certificate is more reliable. With the key and certificate in separate
13096 files, there is a chance that during key rollover a Postfix process
13097 might load a private key and certificate from separate files that don't
13098 match. Various operational errors may even result in a persistent
13099 broken configuration in which the certificate does not match the private
13100 key. </p>
13101
13102 <p> The file or files must contain at most one key of each type. If,
13103 for example, two or more RSA keys and corresponding chains are listed,
13104 depending on the version of OpenSSL either only the last one will be
13105 used or a configuration error may be detected. Note that while
13106 "Ed25519" and "Ed448" are considered separate algorithms, the various
13107 ECDSA curves (typically one of prime256v1, secp384r1 or secp521r1) are
13108 considered as different parameters of a single "ECDSA" algorithm, so it
13109 is not presently possible to configure keys for more than one ECDSA
13110 curve. </p>
13111
13112 <p>
13113 Example (separate files for each key and corresponding certificate chain):
13114 </p>
13115 <blockquote>
13116 <pre>
13117 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
13118 <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> =
13119 ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed25519.pem,
13120 ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed448.pem,
13121 ${<a href="postconf.5.html#config_directory">config_directory</a>}/rsa.pem
13122 </pre>
13123 </blockquote>
13124
13125 <blockquote>
13126 <pre>
13127 /etc/postfix/ed25519.pem:
13128 -----BEGIN PRIVATE KEY-----
13129 MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3
13130 -----END PRIVATE KEY-----
13131 -----BEGIN CERTIFICATE-----
13132 MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG
13133 ...
13134 nC0egv51YPDWxEHom4QA
13135 -----END CERTIFICATE-----
13136 </pre>
13137 </blockquote>
13138
13139 <blockquote>
13140 <pre>
13141 /etc/postfix/ed448.pem:
13142 -----BEGIN PRIVATE KEY-----
13143 MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe
13144 LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A==
13145 -----END PRIVATE KEY-----
13146 -----BEGIN CERTIFICATE-----
13147 MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG
13148 ...
13149 pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA
13150 -----END CERTIFICATE-----
13151 </pre>
13152 </blockquote>
13153
13154 <blockquote>
13155 <pre>
13156 /etc/postfix/rsa.pem:
13157 -----BEGIN PRIVATE KEY-----
13158 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL
13159 ...
13160 ahQkZ3+krcaJvDSMgvu0tDc=
13161 -----END PRIVATE KEY-----
13162 -----BEGIN CERTIFICATE-----
13163 MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL
13164 ...
13165 Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE=
13166 -----END CERTIFICATE-----
13167 </pre>
13168 </blockquote>
13169
13170 <p>
13171 Example (all keys and certificates in a single file):
13172 </p>
13173 <blockquote>
13174 <pre>
13175 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
13176 <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> = ${<a href="postconf.5.html#config_directory">config_directory</a>}/chains.pem
13177 </pre>
13178 </blockquote>
13179
13180 <blockquote>
13181 <pre>
13182 /etc/postfix/chains.pem:
13183 -----BEGIN PRIVATE KEY-----
13184 MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3
13185 -----END PRIVATE KEY-----
13186 -----BEGIN CERTIFICATE-----
13187 MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG
13188 ...
13189 nC0egv51YPDWxEHom4QA
13190 -----END CERTIFICATE-----
13191 -----BEGIN PRIVATE KEY-----
13192 MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe
13193 LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A==
13194 -----END PRIVATE KEY-----
13195 -----BEGIN CERTIFICATE-----
13196 MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG
13197 ...
13198 pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA
13199 -----END CERTIFICATE-----
13200 -----BEGIN PRIVATE KEY-----
13201 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL
13202 ...
13203 ahQkZ3+krcaJvDSMgvu0tDc=
13204 -----END PRIVATE KEY-----
13205 -----BEGIN CERTIFICATE-----
13206 MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL
13207 ...
13208 Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE=
13209 -----END CERTIFICATE-----
13210 </pre>
13211 </blockquote>
13212
13213 <p> This feature is available in Postfix 3.4 and later. </p>
13214
13215
13216 </DD>
13217
13218 <DT><b><a name="smtp_tls_cipherlist">smtp_tls_cipherlist</a>
13219 (default: empty)</b></DT><DD>
13220
13221 <p> Obsolete Postfix < 2.3 control for the Postfix SMTP client TLS
13222 cipher list. As this feature applies to all TLS security levels, it is easy
13223 to create interoperability problems by choosing a non-default cipher
13224 list. Do not use a non-default TLS cipher list on hosts that deliver email
13225 to the public Internet: you will be unable to send email to servers that
13226 only support the ciphers you exclude. Using a restricted cipher list
13227 may be more appropriate for an internal MTA, where one can exert some
13228 control over the TLS software and settings of the peer servers. </p>
13229
13230 <p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
13231
13232 <p> This feature is available in Postfix version 2.2. It is not used with
13233 Postfix 2.3 and later; use <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> instead. </p>
13234
13235
13236 </DD>
13237
13238 <DT><b><a name="smtp_tls_ciphers">smtp_tls_ciphers</a>
13239 (default: medium)</b></DT><DD>
13240
13241 <p> The minimum TLS cipher grade that the Postfix SMTP client
13242 will use with opportunistic TLS encryption. Cipher types listed in
13243 <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> are excluded from the base definition of
13244 the selected cipher grade. The default value is "medium" for
13245 Postfix releases after the middle of 2015, "export" for older
13246 releases. </p>
13247
13248 <p> When TLS is mandatory the cipher grade is chosen via the
13249 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
13250 details. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure
13251 ciphers on a per-destination basis. </p>
13252
13253 <p> This feature is available in Postfix 2.6 and later. With earlier Postfix
13254 releases only the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter is implemented,
13255 and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
13256
13257
13258 </DD>
13259
13260 <DT><b><a name="smtp_tls_connection_reuse">smtp_tls_connection_reuse</a>
13261 (default: no)</b></DT><DD>
13262
13263 <p> Try to make multiple deliveries per TLS-encrypted connection.
13264 This uses the <a href="tlsproxy.8.html">tlsproxy(8)</a> service to encrypt an SMTP connection,
13265 uses the <a href="scache.8.html">scache(8)</a> service to save that connection, and relies on
13266 hints from the <a href="qmgr.8.html">qmgr(8)</a> daemon. </p>
13267
13268 <p> See "<a href="TLS_README.html#client_tls_reuse">Client-side
13269 TLS connection reuse</a>" for background details. </p>
13270
13271 <p> This feature is available in Postfix 3.4 and later. </p>
13272
13273
13274 </DD>
13275
13276 <DT><b><a name="smtp_tls_dane_insecure_mx_policy">smtp_tls_dane_insecure_mx_policy</a>
13277 (default: dane)</b></DT><DD>
13278
13279 <p> The TLS policy for MX hosts with "secure" TLSA records when the
13280 nexthop destination security level is <b>dane</b>, but the MX
13281 record was found via an "insecure" MX lookup. The choices are:
13282 </p>
13283
13284 <dl>
13285 <dt><b>may</b></dt>
13286 <dd> The TLSA records will be ignored and TLS will be optional. If
13287 the MX host does not appear to support STARTTLS, or the STARTTLS
13288 handshake fails, mail may be sent in the clear. </dd>
13289 <dt><b>encrypt</b></dt>
13290 <dd> The TLSA records will signal a requirement to use TLS. While
13291 TLS encryption will be required, authentication will not be performed.
13292 </dd>
13293 <dt><b>dane</b></dt>
13294 <dd>The TLSA records will be used just as with "secure" MX records.
13295 TLS encryption will be required, and, if at least one of the TLSA
13296 records is "usable", authentication will be required. When
13297 authentication succeeds, it will be logged only as "Trusted", not
13298 "Verified", because the MX host name could have been forged. </dd>
13299 </dl>
13300
13301 <p> The default setting is "dane" as of Postfix versions 3.6.17,
13302 3.7.13, 3.8.8, 3.9.2, and 3.10.0. With earlier versions the default
13303 was mistakenly dependent on the <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> setting.
13304 </p>
13305
13306 <p> Though with "insecure" MX records an active attacker can
13307 compromise SMTP transport security by returning forged MX records,
13308 such attacks are "tamper-evident" since any forged MX hostnames
13309 will be recorded in the mail logs. Attackers who place a high value
13310 on staying hidden may be deterred from forging MX records. </p>
13311
13312 <p>
13313 This feature is available in Postfix 3.1 and later. The <b>may</b>
13314 policy is backwards-compatible with earlier Postfix versions.
13315 </p>
13316
13317
13318 </DD>
13319
13320 <DT><b><a name="smtp_tls_dcert_file">smtp_tls_dcert_file</a>
13321 (default: empty)</b></DT><DD>
13322
13323 <p> File with the Postfix SMTP client DSA certificate in PEM format.
13324 This file may also contain the Postfix SMTP client private DSA key.
13325 The DSA algorithm is obsolete and should not be used. </p>
13326
13327 <p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
13328 </p>
13329
13330 <p> Example: </p>
13331
13332 <pre>
13333 <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem
13334 </pre>
13335
13336 <p> This feature is available in Postfix 2.2 and later. </p>
13337
13338
13339 </DD>
13340
13341 <DT><b><a name="smtp_tls_dkey_file">smtp_tls_dkey_file</a>
13342 (default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD>
13343
13344 <p> File with the Postfix SMTP client DSA private key in PEM format.
13345 This file may be combined with the Postfix SMTP client DSA certificate
13346 file specified with $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>. The DSA algorithm is obsolete
13347 and should not be used. </p>
13348
13349 <p> The private key must be accessible without a pass-phrase, i.e. it
13350 must not be encrypted. File permissions should grant read-only
13351 access to the system superuser account ("root"), and no access
13352 to anyone else. </p>
13353
13354 <p> This feature is available in Postfix 2.2 and later. </p>
13355
13356
13357 </DD>
13358
13359 <DT><b><a name="smtp_tls_eccert_file">smtp_tls_eccert_file</a>
13360 (default: empty)</b></DT><DD>
13361
13362 <p> File with the Postfix SMTP client ECDSA certificate in PEM format.
13363 This file may also contain the Postfix SMTP client ECDSA private key.
13364 With Postfix ≥ 3.4 the preferred way to configure client keys and
13365 certificates is via the "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p>
13366
13367 <p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
13368 </p>
13369
13370 <p> Example: </p>
13371
13372 <pre>
13373 <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> = /etc/postfix/ecdsa-ccert.pem
13374 </pre>
13375
13376 <p> This feature is available in Postfix 2.6 and later, when Postfix is
13377 compiled and linked with OpenSSL 1.0.0 or later. </p>
13378
13379
13380 </DD>
13381
13382 <DT><b><a name="smtp_tls_eckey_file">smtp_tls_eckey_file</a>
13383 (default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD>
13384
13385 <p> File with the Postfix SMTP client ECDSA private key in PEM format.
13386 This file may be combined with the Postfix SMTP client ECDSA certificate
13387 file specified with $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. With Postfix ≥ 3.4 the
13388 preferred way to configure client keys and certificates is via the
13389 "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p>
13390
13391 <p> The private key must be accessible without a pass-phrase, i.e. it
13392 must not be encrypted. File permissions should grant read-only
13393 access to the system superuser account ("root"), and no access
13394 to anyone else. </p>
13395
13396 <p> This feature is available in Postfix 2.6 and later, when Postfix is
13397 compiled and linked with OpenSSL 1.0.0 or later. </p>
13398
13399
13400 </DD>
13401
13402 <DT><b><a name="smtp_tls_enable_rpk">smtp_tls_enable_rpk</a>
13403 (default: no)</b></DT><DD>
13404
13405 <p> Request that remote SMTP servers send an <a href="https://tools.ietf.org/html/rfc7250">RFC7250</a> raw public key
13406 instead of an X.509 certificate. This feature and the enable_rpk
13407 policy attribute are ignored when there is no raw public key support
13408 in the local TLS implementation. </p>
13409
13410 <ul>
13411
13412 <li> <p> At the "may", "encrypt" and "fingerprint" security levels,
13413 with parameter setting "<a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> = yes" or with "enable_rpk
13414 = yes" in a policy entry, the Postfix SMTP client will indicate in
13415 the TLS handshake that it prefers to receive a raw server public
13416 key, but it will still accept a server public key certificate. </p>
13417
13418 <li> <p> At the "fingerprint" security level, with parameter setting
13419 "<a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> = yes" or with "enable_rpk = yes" in a policy
13420 entry, server authentication based on certificate fingerprints
13421 becomes more fragile. Even if the server private key and certificate
13422 remain unchanged, the remote SMTP server will fail fingerprint
13423 authentication (won't match the configured list of fingerprints)
13424 when it starts sending a raw public key instead of a certificate,
13425 after its TLS implementation is updated with raw public key support.
13426 Therefore, <b>DO NOT</b> enable raw public keys to remote destinations
13427 authenticated by server <b>certificate</b> fingerprints. You should
13428 enable raw public keys only for servers matched via their public
13429 key fingerprint. </p>
13430
13431 <li> <p> At the "verify" and "secure" security levels, the Postfix
13432 SMTP client always ignores the parameter setting <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a>
13433 or the enable_rpk policy attribute. </p>
13434
13435 <li> <p> At the opportunistic "dane" security level, the Postfix
13436 SMTP client ignores the parameter setting <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> or
13437 the enable_rpk policy attribute (but it will respect them when it
13438 falls back to the "may" or "encrypt" level). When all valid TLSA
13439 records specify only server public keys (no certificates) and the
13440 local TLS implementation supports raw public keys, the client will
13441 indicate in the TLS handshake that it prefers to receive a raw
13442 public key, but it will still accept a public key certificate. </p>
13443
13444 <li> <p> At the mandatory "dane-only" security level, the Postfix
13445 SMTP client always ignores the parameter setting <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a>
13446 or the enable_rpk policy attribute. When all valid TLSA records
13447 specify only server public keys (no certificates) and the local TLS
13448 implementation supports raw public keys, the client will indicate
13449 in the TLS handshake that it prefers to receive a raw public key,
13450 but it will still accept a public key certificate. </p>
13451
13452 </ul>
13453
13454 <p>The Postfix SMTP client is always willing to send raw public keys
13455 to servers that solicit them when a client certificate is configured
13456 and the local TLS implementation supports raw public keys. </p>
13457
13458 <p> Sample commands to compute certificate and public key SHA256 digests: </p>
13459
13460 <pre>
13461 # SHA256 digest of the first certificate in "cert.pem"
13462 $ openssl x509 -in cert.pem -outform DER | openssl dgst -sha256 -c
13463 </pre>
13464
13465 <pre>
13466 # SHA256 digest of the SPKI of the first certificate in "cert.pem"
13467 $ openssl x509 -in cert.pem -pubkey -noout |
13468 openssl pkey -pubin -outform DER | openssl dgst -sha256 -c
13469 </pre>
13470
13471 <pre>
13472 # SHA256 digest of the SPKI of the first private key in "pkey.pem"
13473 $ openssl pkey -in pkey.pem -pubout -outform DER |
13474 openssl dgst -sha256 -c
13475 </pre>
13476
13477 <p> This feature is available in Postfix 3.9 and later. </p>
13478
13479
13480 </DD>
13481
13482 <DT><b><a name="smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
13483 (default: yes)</b></DT><DD>
13484
13485 <p> With mandatory TLS encryption, require that the remote SMTP
13486 server hostname matches the information in the remote SMTP server
13487 certificate. As of <a href="https://tools.ietf.org/html/rfc2487">RFC 2487</a> the requirements for hostname checking
13488 for MTA clients are not specified. </p>
13489
13490 <p> This option can be set to "no" to disable strict peer name
13491 checking. This setting has no effect on sessions that are controlled
13492 via the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table. </p>
13493
13494 <p> Disabling the hostname verification can make sense in a closed
13495 environment where special CAs are created. If not used carefully,
13496 this option opens the danger of a "man-in-the-middle" attack (the
13497 CommonName of this attacker will be logged). </p>
13498
13499 <p> This feature is available in Postfix 2.2 and later. With
13500 Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
13501
13502
13503 </DD>
13504
13505 <DT><b><a name="smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
13506 (default: empty)</b></DT><DD>
13507
13508 <p> List of ciphers or cipher types to exclude from the Postfix
13509 SMTP client cipher
13510 list at all TLS security levels. This is not an OpenSSL cipherlist, it is
13511 a simple list separated by whitespace and/or commas. The elements are a
13512 single cipher, or one or more "+" separated cipher properties, in which
13513 case only ciphers matching <b>all</b> the properties are excluded. </p>
13514
13515 <p> Examples (some of these will cause problems): </p>
13516
13517 <blockquote>
13518 <pre>
13519 <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL
13520 <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = MD5, DES
13521 <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = DES+MD5
13522 <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
13523 <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = kEDH+aRSA
13524 </pre>
13525 </blockquote>
13526
13527 <p> The first setting disables anonymous ciphers. The next setting
13528 disables ciphers that use the MD5 digest algorithm or the (single) DES
13529 encryption algorithm. The next setting disables ciphers that use MD5 and
13530 DES together. The next setting disables the two ciphers "AES256-SHA"
13531 and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
13532 key exchange with RSA authentication. </p>
13533
13534 <p> This feature is available in Postfix 2.3 and later. </p>
13535
13536
13537 </DD>
13538
13539 <DT><b><a name="smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
13540 (default: empty)</b></DT><DD>
13541
13542 <p> List of acceptable remote SMTP server certificate fingerprints for
13543 the "fingerprint" TLS security level (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> =
13544 fingerprint). At this security level, Certification Authorities are not
13545 used, and certificate expiration times are ignored. Instead, server
13546 certificates are verified directly via their certificate fingerprint
13547 or public key fingerprint (Postfix 2.9 and later). The fingerprint
13548 is a message digest of the server certificate (or public key). The
13549 digest algorithm is selected via the <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b>
13550 parameter. </p>
13551
13552 <p> The colons between each pair of nibbles in the fingerprint value
13553 are optional (Postfix ≥ 3.6). These were required in earlier
13554 Postfix releases. </p>
13555
13556 <p> When an <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a></b> table entry specifies the
13557 "fingerprint" security level, any "match" attributes in that entry specify
13558 the list of valid fingerprints for the corresponding destination. Multiple
13559 fingerprints can be combined with a "|" delimiter in a single match
13560 attribute, or multiple match attributes can be employed. </p>
13561
13562 <p> Example: Certificate fingerprint verification with internal mailhub.
13563 Two matching fingerprints are listed. The <a href="postconf.5.html#relayhost">relayhost</a> may be multiple
13564 physical hosts behind a load-balancer, each with its own private/public
13565 key and self-signed certificate. Alternatively, a single <a href="postconf.5.html#relayhost">relayhost</a> may
13566 be in the process of switching from one set of private/public keys to
13567 another, and both keys are trusted just prior to the transition. </p>
13568
13569 <blockquote>
13570 <pre>
13571 <a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
13572 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
13573 <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = sha256
13574 <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
13575 cd:fc:d8:db:f8:c4:82:96:6c:...:28:71:e8:f5:8d:a5:0d:9b:d4:a6
13576 dd:5c:ef:f5:c3:bc:64:25:36:...:99:36:06:ce:40:ef:de:2e:ad:a4
13577 </pre>
13578 </blockquote>
13579
13580 <p> Example: Certificate fingerprint verification with selected destinations.
13581 As in the example above, we show two matching fingerprints: </p>
13582
13583 <blockquote>
13584 <pre>
13585 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
13586 <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/tls_policy
13587 <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = sha256
13588 </pre>
13589 </blockquote>
13590
13591 <blockquote>
13592 <pre>
13593 /etc/postfix/tls_policy:
13594 example.com fingerprint
13595 match=51:e9:af:2e:1e:40:1f:...:64:0a:30:35:2d:09:16:31:5a:eb:82:76
13596 match=b6:b4:72:34:e2:59:cd:...:c2:ca:63:0d:4d:cc:2c:7d:84:de:e6:2f
13597 </pre>
13598 </blockquote>
13599
13600 <p> This feature is available in Postfix 2.5 and later. </p>
13601
13602
13603 </DD>
13604
13605 <DT><b><a name="smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
13606 (default: see "postconf -d" output)</b></DT><DD>
13607
13608 <p> The message digest algorithm used to construct remote SMTP server
13609 certificate fingerprints. At the "fingerprint" TLS security level
13610 (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> = fingerprint), the server certificate is
13611 verified by directly matching its certificate fingerprint or its public
13612 key fingerprint (Postfix 2.9 and later). The fingerprint is the
13613 message digest of the server certificate (or its public key)
13614 using the selected
13615 algorithm. With a digest algorithm resistant to "second pre-image"
13616 attacks, it is not feasible to create a new public key and a matching
13617 certificate (or public/private key-pair) that has the same fingerprint. </p>
13618
13619 <p> The default algorithm is <b>sha256</b> with Postfix ≥ 3.6
13620 and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix
13621 ≤ 3.5, the default algorithm is <b>md5</b>. </p>
13622
13623 <p> The best-practice algorithm is now <b>sha256</b>. Recent advances in hash
13624 function cryptanalysis have led to md5 and sha1 being deprecated in favor of
13625 sha256. However, as long as there are no known "second pre-image" attacks
13626 against the older algorithms, their use in this context, though not
13627 recommended, is still likely safe. </p>
13628
13629 <p> While additional digest algorithms are often available with OpenSSL's
13630 libcrypto, only those used by libssl in SSL cipher suites are available to
13631 Postfix. You'll likely find support for md5, sha1, sha256 and sha512. </p>
13632
13633 <p> To find the fingerprint of a specific certificate file, with a
13634 specific digest algorithm, run:
13635 </p>
13636
13637 <blockquote>
13638 <pre>
13639 $ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
13640 </pre>
13641 </blockquote>
13642
13643 <p> The text to the right of the "=" sign is the desired fingerprint.
13644 For example: </p>
13645
13646 <blockquote>
13647 <pre>
13648 $ openssl x509 -noout -fingerprint -sha256 -in cert.pem
13649 SHA256 Fingerprint=D4:6A:AB:19:24:...:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
13650 </pre>
13651 </blockquote>
13652
13653 <p> To extract the public key fingerprint from an X.509 certificate,
13654 you need to extract the public key from the certificate and compute
13655 the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
13656 the "-pubkey" option of the "x509" command extracts the public
13657 key always in "PEM" format. We pipe the result to another OpenSSL
13658 command that converts the key to DER and then to the "dgst" command
13659 to compute the fingerprint. </p>
13660
13661 <p> The actual command to transform the key to DER format depends on the
13662 version of OpenSSL used. As of OpenSSL 1.0.0, the "pkey" command supports
13663 all key types. </p>
13664 <blockquote>
13665 <pre>
13666 # OpenSSL ≥ 1.0 with SHA-256 fingerprints.
13667 $ openssl x509 -in cert.pem -noout -pubkey |
13668 openssl pkey -pubin -outform DER |
13669 openssl dgst -sha256 -c
13670 (stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:...:fc:09:1a:61:98:b5:bc:7c:60:58
13671 </pre>
13672 </blockquote>
13673
13674 <p> The Postfix SMTP server and client log the peer (leaf) certificate
13675 fingerprint and the public key fingerprint when the TLS loglevel is 2 or
13676 higher. </p>
13677
13678 <p> This feature is available in Postfix 2.5 and later. </p>
13679
13680
13681 </DD>
13682
13683 <DT><b><a name="smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a>
13684 (default: no)</b></DT><DD>
13685
13686 <p> Lookup the associated DANE TLSA RRset even when a hostname is
13687 not an alias and its address records lie in an unsigned zone. This
13688 is unlikely to ever yield DNSSEC validated results, since child
13689 zones of unsigned zones are also unsigned in the absence of DLV or
13690 locally configured non-root trust-anchors. We anticipate that such
13691 mechanisms will not be used for just the "_tcp" subdomain of a host.
13692 Suppressing the TLSA RRset lookup reduces latency and avoids potential
13693 interoperability problems with nameservers for unsigned zones that
13694 are not prepared to handle the new TLSA RRset. </p>
13695
13696 <p> This feature is available in Postfix 2.11. </p>
13697
13698
13699 </DD>
13700
13701 <DT><b><a name="smtp_tls_key_file">smtp_tls_key_file</a>
13702 (default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD>
13703
13704 <p> File with the Postfix SMTP client RSA private key in PEM format.
13705 This file may be combined with the Postfix SMTP client RSA certificate
13706 file specified with $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>. With Postfix ≥ 3.4 the
13707 preferred way to configure client keys and certificates is via the
13708 "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p>
13709
13710 <p> The private key must be accessible without a pass-phrase, i.e. it
13711 must not be encrypted. File permissions should grant read-only
13712 access to the system superuser account ("root"), and no access
13713 to anyone else. </p>
13714
13715 <p> Example: </p>
13716
13717 <pre>
13718 <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> = $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>
13719 </pre>
13720
13721 <p> This feature is available in Postfix 2.2 and later. </p>
13722
13723
13724 </DD>
13725
13726 <DT><b><a name="smtp_tls_loglevel">smtp_tls_loglevel</a>
13727 (default: 0)</b></DT><DD>
13728
13729 <p> Enable additional Postfix SMTP client logging of TLS activity.
13730 Each logging level also includes the information that is logged at
13731 a lower logging level. </p>
13732
13733 <dl compact>
13734
13735 <dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
13736
13737 <dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
13738 — no logging of remote SMTP server certificate trust-chain
13739 verification errors if server certificate verification is not required.
13740 With Postfix 2.8 and earlier, log the summary message and unconditionally
13741 log trust-chain verification errors. </dd>
13742
13743 <dt> </dt> <dd> 2 Also enable verbose logging in the Postfix TLS
13744 library, log session cache operations, and enable OpenSSL logging
13745 of the progress of the SSL handshake. </dd>
13746
13747 <dt> </dt> <dd> 3 Also log the hexadecimal and ASCII dump of the
13748 TLS negotiation process. </dd>
13749
13750 <dt> </dt> <dd> 4 Also log the hexadecimal and ASCII dump of complete
13751 transmission after STARTTLS. </dd>
13752
13753 </dl>
13754
13755 <p> Do not use "<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> = 2" or higher except in case of
13756 problems. Use of loglevel 4 is strongly discouraged. </p>
13757
13758 <p> This feature is available in Postfix 2.2 and later. </p>
13759
13760
13761 </DD>
13762
13763 <DT><b><a name="smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
13764 (default: medium)</b></DT><DD>
13765
13766 <p> The minimum TLS cipher grade that the Postfix SMTP client will
13767 use with
13768 mandatory TLS encryption. The default value "medium" is suitable
13769 for most destinations with which you may want to enforce TLS, and
13770 is beyond the reach of today's cryptanalytic methods. See
13771 <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure ciphers
13772 on a per-destination basis. </p>
13773
13774 <p> The following cipher grades are supported: </p>
13775
13776 <dl>
13777 <dt><b>high</b></dt>
13778 <dd> Enable only "HIGH" grade OpenSSL ciphers. This setting may
13779 be appropriate when all mandatory TLS destinations (e.g. when all
13780 mail is routed to a suitably capable <a href="postconf.5.html#relayhost">relayhost</a>) support at least one
13781 "HIGH" grade cipher. The underlying cipherlist is specified via the
13782 <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a> configuration parameter, which you are strongly
13783 encouraged not to change. </dd>
13784
13785 <dt><b>medium</b></dt>
13786 <dd> Enable "MEDIUM" grade or better OpenSSL ciphers.
13787 The underlying cipherlist is specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a>
13788 configuration parameter, which you are strongly encouraged not to change.
13789 </dd>
13790
13791 <dt><b>null</b></dt>
13792 <dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
13793 without encryption. This setting is only appropriate in the rare case
13794 that all servers are prepared to use NULL ciphers (not normally enabled
13795 in TLS servers). A plausible use-case is an LMTP server listening on a
13796 UNIX-domain socket that is configured to support "NULL" ciphers. The
13797 underlying cipherlist is specified via the <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a>
13798 configuration parameter, which you are strongly encouraged not to
13799 change. </dd>
13800
13801 <dt><b>low</b></dt>
13802 <dd> Enable "LOW" grade or stronger OpenSSL ciphers. In Postfix
13803 ≥ 3.8 this cipher grade is always identical to "medium". Recent
13804 versions of OpenSSL do not support any "LOW" grade ciphers. In
13805 earlier Postfix releases the underlying cipherlist was specified
13806 via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration parameter, which you are
13807 strongly encouraged not to change. This obsolete cipher grade
13808 SHOULD NOT be used. </dd>
13809
13810 <dt><b>export</b></dt>
13811 <dd> Enable "EXPORT" grade or stronger OpenSSL ciphers. In Postfix
13812 ≥ 3.8 this cipher grade is always identical to "medium". Recent
13813 versions of OpenSSL do not support any "EXPORT" grade ciphers. In
13814 earlier Postfix releases the underlying cipherlist was specified
13815 via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration parameter, which you are
13816 strongly encouraged not to change. This obsolete cipher grade
13817 SHOULD NOT be used. </dd>
13818
13819 </dl>
13820
13821 <p> The underlying cipherlists for grades other than "null" include
13822 anonymous ciphers, but these are automatically filtered out if the
13823 Postfix SMTP client is configured to verify server certificates.
13824 You are very unlikely to need to take any steps to exclude anonymous
13825 ciphers, they are excluded automatically as necessary. If you must
13826 exclude anonymous ciphers at the "may" or "encrypt" security levels,
13827 when the Postfix SMTP client does not need or use peer certificates, set
13828 "<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only when
13829 TLS is enforced, set "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
13830
13831 <p> This feature is available in Postfix 2.3 and later. </p>
13832
13833
13834 </DD>
13835
13836 <DT><b><a name="smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
13837 (default: empty)</b></DT><DD>
13838
13839 <p> Additional list of ciphers or cipher types to exclude from the
13840 Postfix SMTP client cipher list at mandatory TLS security levels. This list
13841 works in addition to the exclusions listed with <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
13842 (see there for syntax details). </p>
13843
13844 <p> Starting with Postfix 2.6, the mandatory cipher exclusions can be
13845 specified on a per-destination basis via the TLS policy "exclude"
13846 attribute. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for notes and examples. </p>
13847
13848 <p> This feature is available in Postfix 2.3 and later. </p>
13849
13850
13851 </DD>
13852
13853 <DT><b><a name="smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
13854 (default: see "postconf -d" output)</b></DT><DD>
13855
13856 <p> TLS protocols that the Postfix SMTP client will use with mandatory
13857 TLS encryption. In <a href="postconf.5.html">main.cf</a> the values are separated by whitespace,
13858 commas or colons. In the policy table "protocols" attribute (see
13859 <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon. An empty value
13860 means allow all protocols. </p>
13861
13862 <p> The valid protocol names (see SSL_get_version(3)) are "SSLv2",
13863 "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" and "TLSv1.3". Starting with
13864 Postfix 3.6, the default value is ">=TLSv1", which sets TLS 1.0 as
13865 the lowest supported TLS protocol version (see below). Older releases
13866 use the "!" exclusion syntax, also described below. </p>
13867
13868 <p> As of Postfix 3.6, the preferred way to limit the range of
13869 acceptable protocols is to set a lowest acceptable TLS protocol version
13870 and/or a highest acceptable TLS protocol version. To set the lower
13871 bound include an element of the form: ">=<i>version</i>" where
13872 <i>version</i> is a either one of the TLS protocol names listed above,
13873 or a hexadecimal number corresponding to the desired TLS protocol
13874 version (0301 for TLS 1.0, 0302 for TLS 1.1, etc.). For the upper
13875 bound, use "<=<i>version</i>". There must be no whitespace between
13876 the ">=" or "<=" symbols and the protocol name or number. </p>
13877
13878 <p> Hexadecimal protocol numbers make it possible to specify protocol
13879 bounds for TLS versions that are known to OpenSSL, but might not be
13880 known to Postfix. They cannot be used with the legacy exclusion syntax.
13881 Leading "0" or "0x" prefixes are supported, but not required.
13882 Therefore, "301", "0301", "0x301" and "0x0301" are all equivalent to
13883 "TLSv1". Hexadecimal versions unknown to OpenSSL will fail to set the
13884 upper or lower bound, and a warning will be logged. Hexadecimal
13885 versions should only be used when Postfix is linked with some future
13886 version of OpenSSL that supports TLS 1.4 or later, but Postfix does not
13887 yet support a symbolic name for that protocol version. </p>
13888
13889 <p>Hexadecimal example (Postfix ≥ 3.6):</p>
13890 <blockquote>
13891 <pre>
13892 # Allow only TLS 1.2 through (hypothetical) TLS 1.4, once supported
13893 # in some future version of OpenSSL (presently a warning is logged).
13894 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = >=TLSv1.2, <=0305
13895 # Allow only TLS 1.2 and up:
13896 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = >=0x0303
13897 </pre>
13898 </blockquote>
13899
13900 <p> With Postfix < 3.6 there is no support for a minimum or maximum
13901 version, and the protocol range is configured via protocol exclusions.
13902 To require at least TLS 1.0, set "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2,
13903 !SSLv3". Listing the protocols to include, rather than the protocols to
13904 exclude, is supported, but not recommended. The exclusion syntax more
13905 accurately matches the underlying OpenSSL interface. </p>
13906
13907 <p> When using the exclusion syntax, take care to ensure that the range
13908 of protocols supported by the Postfix SMTP client is contiguous. When
13909 a protocol version is enabled, disabling any higher version implicitly
13910 disables all versions above that higher version. Thus, for example: </p>
13911
13912 <blockquote>
13913 <pre>
13914 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3, !TLSv1.1
13915 </pre>
13916 </blockquote>
13917
13918 <p> also disables any protocol versions higher than TLSv1.1 leaving
13919 only "TLSv1" enabled. </p>
13920
13921 <p> Support for "TLSv1.3" was introduced in OpenSSL 1.1.1. Disabling
13922 this protocol via "!TLSv1.3" is supported since Postfix 3.4 (or patch
13923 releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2). </p>
13924
13925 <p> While the vast majority of SMTP servers with DANE TLSA records now
13926 support at least TLS 1.2, a few still only support TLS 1.0. If you use
13927 "dane" or "dane-only" it is best not to disable TLSv1, except perhaps
13928 via the policy table for destinations which you are sure will support
13929 "TLSv1.2". </p>
13930
13931 <p> See the documentation of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> parameter and
13932 <a href="TLS_README.html">TLS_README</a> for more information about security levels. </p>
13933
13934 <p> Example: </p>
13935 <pre>
13936 # Preferred syntax with Postfix ≥ 3.6:
13937 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = >=TLSv1.2, <=TLSv1.3
13938 # Legacy syntax:
13939 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
13940 </pre>
13941
13942 <p> This feature is available in Postfix 2.3 and later. </p>
13943
13944
13945 </DD>
13946
13947 <DT><b><a name="smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
13948 (default: no)</b></DT><DD>
13949
13950 <p> Log the hostname of a remote SMTP server that offers STARTTLS,
13951 when TLS is not already enabled for that server. </p>
13952
13953 <p> The logfile record looks like: </p>
13954
13955 <pre>
13956 postfix/smtp[pid]: Host offered STARTTLS: [name.of.host]
13957 </pre>
13958
13959 <p> This feature is available in Postfix 2.2 and later. </p>
13960
13961
13962 </DD>
13963
13964 <DT><b><a name="smtp_tls_per_site">smtp_tls_per_site</a>
13965 (default: empty)</b></DT><DD>
13966
13967 <p> Optional lookup tables with the Postfix SMTP client TLS usage
13968 policy by next-hop destination and by remote SMTP server hostname.
13969 When both lookups succeed, the more specific per-site policy (NONE,
13970 MUST, etc.) overrides the less specific one (MAY), and the more secure
13971 per-site policy (MUST, etc.) overrides the less secure one (NONE).
13972 With Postfix 2.3 and later <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> is strongly discouraged:
13973 use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
13974
13975 <p> Use of the bare hostname as the per-site table lookup key is
13976 discouraged. Always use the full destination nexthop (enclosed in
13977 [] with a possible ":port" suffix). A recipient domain or MX-enabled
13978 transport next-hop with no port suffix may look like a bare hostname,
13979 but is still a suitable <i>destination</i>. </p>
13980
13981 <p> Specify a next-hop destination or server hostname on the left-hand
13982 side; no wildcards are allowed. The next-hop destination is either
13983 the recipient domain, or the destination specified with a <a href="transport.5.html">transport(5)</a>
13984 table, the <a href="postconf.5.html#relayhost">relayhost</a> parameter, or the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter.
13985 On the right hand side specify one of the following keywords: </p>
13986
13987 <dl>
13988
13989 <dt> NONE </dt> <dd> Don't use TLS at all. This overrides a less
13990 specific <b>MAY</b> lookup result from the alternate host or next-hop
13991 lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>, <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>,
13992 and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd>
13993
13994 <dt> MAY </dt> <dd> Try to use TLS if the server announces support,
13995 otherwise use an unencrypted connection; after a failed TLS handshake
13996 or TLS session, fall back to plaintext if the message has spent
13997 <a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a> in the mail queue. This level has less precedence
13998 than a more specific result (including <b>NONE</b>) from the alternate
13999 host or next-hop lookup key, and has less precedence than the more
14000 specific global "<a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> = yes" or "<a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
14001 = yes". </dd>
14002
14003 <dt> MUST_NOPEERMATCH </dt> <dd> Require TLS encryption, but do not
14004 require that the remote SMTP server hostname matches the information
14005 in the remote SMTP server certificate, or that the server certificate
14006 was issued by a trusted CA. This overrides a less secure <b>NONE</b>
14007 or a less specific <b>MAY</b> lookup result from the alternate host
14008 or next-hop lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>,
14009 <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd>
14010
14011 <dt> MUST </dt> <dd> Require TLS encryption, require that the remote
14012 SMTP server hostname matches the information in the remote SMTP
14013 server certificate, and require that the remote SMTP server certificate
14014 was issued by a trusted CA. This overrides a less secure <b>NONE</b>
14015 or <b>MUST_NOPEERMATCH</b> or a less specific <b>MAY</b> lookup
14016 result from the alternate host or next-hop lookup key, and overrides
14017 the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>, <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
14018 settings. </dd>
14019
14020 </dl>
14021
14022 <p> The above keywords correspond to the "none", "may", "encrypt" and
14023 "verify" security levels for the new <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> parameter
14024 introduced in Postfix 2.3. Starting with Postfix 2.3, and independently
14025 of how the policy is specified, the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
14026 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameters apply when TLS encryption
14027 is mandatory. Connections for which encryption is optional typically
14028 enable all "export" grade and better ciphers (see <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>
14029 and <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>). </p>
14030
14031 <p> As long as no secure DNS lookup mechanism is available, false
14032 hostnames in MX or CNAME responses can change the server hostname
14033 that Postfix uses for TLS policy lookup and server certificate
14034 verification. Even with a perfect match between the server hostname and
14035 the server certificate, there is no guarantee that Postfix is connected
14036 to the right server. See <a href="TLS_README.html">TLS_README</a> (Closing a DNS loophole with obsolete
14037 per-site TLS policies) for a possible work-around. </p>
14038
14039 <p> This feature is available in Postfix 2.2 and later. With
14040 Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
14041
14042
14043 </DD>
14044
14045 <DT><b><a name="smtp_tls_policy_maps">smtp_tls_policy_maps</a>
14046 (default: empty)</b></DT><DD>
14047
14048 <p> Optional lookup tables with the Postfix SMTP client TLS security
14049 policy by next-hop destination; when a non-empty value is specified,
14050 this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter. See
14051 <a href="TLS_README.html">TLS_README</a> for a more detailed discussion of TLS security levels,
14052 and see <a href="TLSRPT_README.html">TLSRPT_README</a> for additional configuration that may be
14053 needed for MTA-STS plugins. </p>
14054
14055 <p>
14056 Specify zero or more "type:name" lookup tables, separated by
14057 whitespace or comma. Tables will be searched in the specified order
14058 until a match is found.
14059 </p>
14060
14061 <p> The TLS policy table is indexed by the full next-hop destination,
14062 which is either the recipient domain, or the verbatim next-hop
14063 specified in the transport table, $<a href="postconf.5.html#local_transport">local_transport</a>, $<a href="postconf.5.html#virtual_transport">virtual_transport</a>,
14064 $<a href="postconf.5.html#relay_transport">relay_transport</a> or $<a href="postconf.5.html#default_transport">default_transport</a>. This includes any enclosing
14065 square brackets and any non-default destination server port suffix. The
14066 LMTP socket type prefix (inet: or unix:) is not included in the lookup
14067 key. </p>
14068
14069 <p> Only the next-hop domain, or $<a href="postconf.5.html#myhostname">myhostname</a> with LMTP over UNIX-domain
14070 sockets, is used as the nexthop name for certificate verification. The
14071 port and any enclosing square brackets are used in the table lookup key,
14072 but are not used for server name verification. </p>
14073
14074 <p> When the lookup key is a domain name without enclosing square brackets
14075 or any <i>:port</i> suffix (typically the recipient domain), and the full
14076 domain is not found in the table, just as with the <a href="transport.5.html">transport(5)</a> table,
14077 the parent domain starting with a leading "." is matched recursively. This
14078 allows one to specify a security policy for a recipient domain and all
14079 its sub-domains. </p>
14080
14081 <p> The lookup result is a security level, followed by an optional list
14082 of whitespace and/or comma separated name=value attributes that override
14083 related <a href="postconf.5.html">main.cf</a> settings. The TLS security levels in order of increasing
14084 security are: </p>
14085
14086 <dl>
14087
14088 <dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
14089 <dd>No TLS. No additional attributes are supported at this level. </dd>
14090
14091 <dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
14092 <dd>Opportunistic TLS. Since sending in the clear is acceptable,
14093 demanding stronger than default TLS security merely reduces
14094 interoperability. The optional "ciphers", "exclude", and "protocols"
14095 attributes (available for opportunistic TLS with Postfix ≥ 2.6) and
14096 "connection_reuse" attribute (Postfix ≥ 3.4) override the
14097 "<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>", "<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>", "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>",
14098 and "<a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a>" configuration parameters. In the policy
14099 table, multiple ciphers, protocols or excluded ciphers must be separated
14100 by colons, as attribute values may not contain whitespace or commas. At
14101 this level and higher, the optional "servername" attribute (available
14102 with Postfix ≥ 3.4) overrides the global "<a href="postconf.5.html#smtp_tls_servername">smtp_tls_servername</a>"
14103 parameter, enabling per-destination configuration of the SNI extension
14104 sent to the remote SMTP server. The optional "enable_rpk" attribute
14105 (Postfix ≥ 3.9) overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> parameter.
14106 When opportunistic TLS handshakes fail, Postfix retries the connection
14107 with TLS disabled. This allows mail delivery to sites with
14108 non-interoperable TLS implementations.</dd>
14109
14110 <dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
14111 <dd>Mandatory TLS encryption. Mail is delivered only if the remote SMTP
14112 server offers STARTTLS and the TLS handshake succeeds. At this level and
14113 higher, the optional "protocols" attribute overrides the <a href="postconf.5.html">main.cf</a>
14114 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameter, the optional "ciphers" attribute
14115 overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter, the optional
14116 "exclude" attribute (Postfix ≥ 2.6) overrides the <a href="postconf.5.html">main.cf</a>
14117 <a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> parameter, and the optional
14118 "connection_reuse" attribute (Postfix ≥ 3.4) overrides the <a href="postconf.5.html">main.cf</a>
14119 <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. In the policy table, multiple
14120 ciphers, protocols or excluded ciphers must be separated by colons, as
14121 attribute values may not contain whitespace or commas. The optional
14122 "enable_rpk" attribute (Postfix ≥ 3.9) overrides the <a href="postconf.5.html">main.cf</a>
14123 <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> parameter. </dd>
14124
14125 <dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
14126 <dd>Opportunistic DANE TLS. The TLS policy for the destination is
14127 obtained via TLSA records in DNSSEC. If no TLSA records are found,
14128 the effective security level used is <a
14129 href="TLS_README.html#client_tls_may">may</a>. If TLSA records are
14130 found, but none are usable, the effective security level is <a
14131 href="TLS_README.html#client_tls_encrypt">encrypt</a>. When usable
14132 TLSA records are obtained for the remote SMTP server, the
14133 server certificate must match the TLSA records. <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE)
14134 TLS authentication and DNSSEC support is available with Postfix
14135 2.11 and later. The optional "connection_reuse" attribute (Postfix
14136 ≥ 3.4) overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter.
14137 When the effective security level used is <a
14138 href="TLS_README.html#client_tls_may">may</a>, the optional "ciphers",
14139 "exclude", and "protocols" attributes (Postfix ≥ 2.6) override the
14140 "<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>", "<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>", and "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>"
14141 configuration parameters.
14142 When the effective security level used is <a
14143 href="TLS_README.html#client_tls_encrypt">encrypt</a>, the optional "ciphers",
14144 "exclude", and "protocols" attributes (Postfix ≥ 2.6) override the
14145 "<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>", "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>", and
14146 "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>" configuration parameters.
14147 </dd>
14148
14149 <dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
14150 <dd>Mandatory DANE TLS. The TLS policy for the destination is
14151 obtained via TLSA records in DNSSEC. If no TLSA records are found,
14152 or none are usable, no connection is made to the server. When
14153 usable TLSA records are obtained for the remote SMTP server, the
14154 server certificate must match the TLSA records. <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE) TLS
14155 authentication and DNSSEC support is available with Postfix 2.11
14156 and later. The optional "ciphers", "exclude", and "protocols" attributes
14157 (Postfix ≥ 2.6) override the "<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>",
14158 "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>", and "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>"
14159 configuration parameters. The optional "connection_reuse" attribute
14160 (Postfix ≥ 3.4) overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter.
14161 </dd>
14162
14163 <dt><b><a href="TLS_README.html#client_tls_fprint">fingerprint</a></b></dt>
14164 <dd>Certificate fingerprint
14165 verification. Available with Postfix 2.5 and later. At this security
14166 level, there are no trusted Certification Authorities. The certificate
14167 trust chain, expiration date, ... are not checked. Instead,
14168 the optional policy table "match" attribute, or else the <a href="postconf.5.html">main.cf</a>
14169 <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> parameter, lists the certificate
14170 fingerprints or the public key fingerprints (Postfix 2.9 and later)
14171 of acceptable server certificates. The digest
14172 algorithm used to calculate the fingerprint is selected by the
14173 <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Multiple fingerprints can
14174 be combined with a "|" delimiter in a single match attribute, or multiple
14175 match attributes can be employed. The ":" character is not used as a
14176 delimiter as it occurs between each pair of fingerprint (hexadecimal)
14177 digits. The optional "ciphers", "exclude", and "protocols" attributes
14178 (Postfix ≥ 2.6) override the "<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>",
14179 "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>", and "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>"
14180 configuration parameters. The optional "connection_reuse" attribute
14181 (Postfix ≥ 3.4) overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a>
14182 parameter. The optional "enable_rpk" attribute (Postfix ≥ 3.9)
14183 overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> parameter. </dd>
14184
14185 <dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
14186 <dd>Mandatory TLS verification. Mail is delivered only if the TLS
14187 handshake succeeds, the remote SMTP server certificate chain can be
14188 validated, and a DNS name in the certificate matches the specified match
14189 criteria. At this security level, DNS MX lookups are presumed to be
14190 secure enough, and the name verified in the server certificate is
14191 potentially obtained via unauthenticated DNS MX lookups. The optional
14192 "match" attribute overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
14193 parameter. In the policy table, multiple match patterns and strategies
14194 must be separated by colons. In practice explicit control over matching
14195 is more common with the "secure" policy, described below. The optional
14196 "ciphers", "exclude", and "protocols" attributes (Postfix ≥ 2.6)
14197 override the "<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>",
14198 "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>", and "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>"
14199 configuration parameters. With Postfix ≥ 2.11 the optional "tafile"
14200 policy table attribute modifies trust chain verification in the same
14201 manner as the "<a href="postconf.5.html#smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>" parameter. The "tafile"
14202 attribute may be specified multiple times to load multiple trust-anchor
14203 files. The optional "connection_reuse" attribute (Postfix ≥ 3.4)
14204 overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. </dd>
14205
14206 <dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
14207 <dd>Secure certificate verification. Mail is delivered only if the TLS
14208 handshake succeeds, the remote SMTP server certificate chain can be
14209 validated, and a DNS name in the certificate matches the specified match
14210 criteria. At this security level, DNS MX lookups, though potentially
14211 used to determine the candidate next-hop gateway IP addresses, are
14212 <b>not</b> presumed to be secure enough for TLS peername verification.
14213 Instead, the default name verified in the server certificate is obtained
14214 directly from the next-hop, or is explicitly specified via the optional
14215 "match" attribute which overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
14216 parameter. In the policy table, multiple match patterns and strategies
14217 must be separated by colons. The match attribute is most useful when
14218 multiple domains are supported by a common server: the policy entries
14219 for additional domains specify matching rules for the primary domain
14220 certificate. While transport table overrides that route the secondary
14221 domains to the primary nexthop also allow secure verification, they risk
14222 delivery to the wrong destination when domains change hands or are
14223 re-assigned to new gateways. With the "match" attribute approach,
14224 routing is not perturbed, and mail is deferred if verification of a new
14225 MX host fails. The optional "ciphers", "exclude", and "protocols"
14226 attributes (Postfix ≥ 2.6) override the "<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>",
14227 "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>", and "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>"
14228 configuration parameters. With Postfix ≥ 2.11 the "tafile" attribute
14229 optionally modifies trust chain verification in the same manner as the
14230 "<a href="postconf.5.html#smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>" parameter. The "tafile" attribute may be
14231 specified multiple times to load multiple trust-anchor files. The
14232 optional "connection_reuse" attribute (Postfix ≥ 3.4) overrides the
14233 <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. </dd>
14234
14235 </dl>
14236
14237 <p>
14238 Example:
14239 </p>
14240
14241 <pre>
14242 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
14243 <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/tls_policy
14244 # Postfix 2.5 and later.
14245 #
14246 # The default digest is sha256 with Postfix ≥ 3.6 and
14247 # compatibility level ≥ 3.
14248 #
14249 <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = sha256
14250 </pre>
14251
14252 <pre>
14253 /etc/postfix/tls_policy:
14254 example.edu none
14255 example.mil may
14256 example.gov encrypt protocols=TLSv1
14257 example.com verify ciphers=high
14258 example.net secure
14259 .example.net secure match=.example.net:example.net
14260 [mail.example.org]:587 secure match=nexthop
14261 # Postfix 2.5 and later
14262 [thumb.example.org] fingerprint
14263 match=b6:b4:72:34:e2:59:cd:...:c2:ca:63:0d:4d:cc:2c:7d:84:de:e6:2f
14264 match=51:e9:af:2e:1e:40:1f:...:64:0a:30:35:2d:09:16:31:5a:eb:82:76
14265 </pre>
14266
14267 <p> <b>Note:</b> The "hostname" strategy if listed in a non-default
14268 setting of <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> or in the "match" attribute
14269 in the policy table can render the "secure" level vulnerable to
14270 DNS forgery. Do not use the "hostname" strategy for secure-channel
14271 configurations in environments where DNS security is not assured. </p>
14272
14273 <p> This feature is available in Postfix 2.3 and later. </p>
14274
14275
14276 </DD>
14277
14278 <DT><b><a name="smtp_tls_protocols">smtp_tls_protocols</a>
14279 (default: see 'postconf -d' output)</b></DT><DD>
14280
14281 <p> TLS protocols that the Postfix SMTP client will use with
14282 opportunistic TLS encryption. In <a href="postconf.5.html">main.cf</a> the values are separated by
14283 whitespace, commas or colons. In the policy table "protocols" attribute
14284 (see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon. An empty
14285 value means allow all protocols. </p>
14286
14287 <p> The valid protocol names (see SSL_get_version(3)) are "SSLv2",
14288 "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" and "TLSv1.3". Starting with
14289 Postfix 3.6, the default value is ">=TLSv1", which sets TLS 1.0 as
14290 the lowest supported TLS protocol version (see below). Older releases
14291 use the "!" exclusion syntax, also described below. </p>
14292
14293 <p> As of Postfix 3.6, the preferred way to limit the range of
14294 acceptable protocols is to set the lowest acceptable TLS protocol
14295 version and/or the highest acceptable TLS protocol version. To set the
14296 lower bound include an element of the form: ">=<i>version</i>" where
14297 <i>version</i> is either one of the TLS protocol names listed above,
14298 or a hexadecimal number corresponding to the desired TLS protocol
14299 version (0301 for TLS 1.0, 0302 for TLS 1.1, etc.). For the upper
14300 bound, use "<=<i>version</i>". There must be no whitespace between
14301 the ">=" or "<=" symbols and the protocol name or number. </p>
14302
14303 <p> Hexadecimal protocol numbers make it possible to specify protocol
14304 bounds for TLS versions that are known to OpenSSL, but might not be
14305 known to Postfix. They cannot be used with the legacy exclusion syntax.
14306 Leading "0" or "0x" prefixes are supported, but not required.
14307 Therefore, "301", "0301", "0x301" and "0x0301" are all equivalent to
14308 "TLSv1". Hexadecimal versions unknown to OpenSSL will fail to set the
14309 upper or lower bound, and a warning will be logged. Hexadecimal
14310 versions should only be used when Postfix is linked with some future
14311 version of OpenSSL that supports TLS 1.4 or later, but Postfix does not
14312 yet support a symbolic name for that protocol version. </p>
14313
14314 <p>Hexadecimal example (Postfix ≥ 3.6):</p>
14315 <blockquote>
14316 <pre>
14317 # Allow only TLS 1.0 through (hypothetical) TLS 1.4, once supported
14318 # in some future version of OpenSSL (presently a warning is logged).
14319 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = >=TLSv1, <=0305
14320 # Allow only TLS 1.0 and up:
14321 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = >=0x0301
14322 </pre>
14323 </blockquote>
14324
14325 <p> With Postfix < 3.6 there is no support for a minimum or maximum
14326 version, and the protocol range is configured via protocol exclusions.
14327 To require at least TLS 1.0, set "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3".
14328 Listing the protocols to include, rather than protocols to exclude, is
14329 supported, but not recommended. The exclusion form more accurately
14330 matches the underlying OpenSSL interface. </p>
14331
14332 <p> When using the exclusion syntax, take care to ensure that the range of
14333 protocols advertised by an SSL/TLS client is contiguous. When a protocol
14334 version is enabled, disabling any higher version implicitly disables all
14335 versions above that higher version. Thus, for example:
14336 </p>
14337 <blockquote>
14338 <pre>
14339 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3, !TLSv1.1
14340 </pre>
14341 </blockquote>
14342 <p> also disables any protocols version higher than TLSv1.1 leaving
14343 only "TLSv1" enabled. </p>
14344
14345 <p> Support for "TLSv1.3" was introduced in OpenSSL 1.1.1. Disabling
14346 this protocol via "!TLSv1.3" is supported since Postfix 3.4 (or patch
14347 releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2). </p>
14348
14349 <p> Example: </p>
14350 <pre>
14351 # Preferred syntax with Postfix ≥ 3.6:
14352 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = >=TLSv1, <=TLSv1.3
14353 # Legacy syntax:
14354 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
14355 </pre>
14356
14357 <p> This feature is available in Postfix 2.6 and later. </p>
14358
14359
14360 </DD>
14361
14362 <DT><b><a name="smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
14363 (default: 9)</b></DT><DD>
14364
14365 <p> The verification depth for remote SMTP server certificates. A depth
14366 of 1 is sufficient if the issuing CA is listed in a local CA file. </p>
14367
14368 <p> The default verification depth is 9 (the OpenSSL default) for
14369 compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
14370 the default value was 5, but the limit was not actually enforced. If
14371 you have set this to a lower non-default value, certificates with longer
14372 trust chains may now fail to verify. Certificate chains with 1 or 2
14373 CAs are common, deeper chains are more rare and any number between 5
14374 and 9 should suffice in practice. You can choose a lower number if,
14375 for example, you trust certificates directly signed by an issuing CA
14376 but not any CAs it delegates to. </p>
14377
14378 <p> This feature is available in Postfix 2.2 and later. </p>
14379
14380
14381 </DD>
14382
14383 <DT><b><a name="smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
14384 (default: nexthop, dot-nexthop)</b></DT><DD>
14385
14386 <p> How the Postfix SMTP client verifies the server certificate
14387 peername for the "secure" TLS security level. In a "secure" TLS policy table
14388 ($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
14389 overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
14390
14391 <p> This parameter specifies one or more patterns or strategies separated
14392 by commas, whitespace or colons. In the policy table the only valid
14393 separator is the colon character. </p>
14394
14395 <p> For a description of the pattern and strategy syntax see the
14396 <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. The "hostname" strategy should
14397 be avoided in this context, as in the absence of a secure global DNS, using
14398 the results of MX lookups in certificate verification is not immune to active
14399 (man-in-the-middle) attacks on DNS. </p>
14400
14401 <p>
14402 Sample <a href="postconf.5.html">main.cf</a> setting:
14403 </p>
14404
14405 <blockquote>
14406 <pre>
14407 <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
14408 </pre>
14409 </blockquote>
14410
14411 <p>
14412 Sample policy table override:
14413 </p>
14414
14415 <blockquote>
14416 <pre>
14417 example.net secure match=example.com:.example.com
14418 .example.net secure match=example.com:.example.com
14419 </pre>
14420 </blockquote>
14421
14422 <p> This feature is available in Postfix 2.3 and later. </p>
14423
14424
14425 </DD>
14426
14427 <DT><b><a name="smtp_tls_security_level">smtp_tls_security_level</a>
14428 (default: empty)</b></DT><DD>
14429
14430 <p> The default SMTP TLS security level for the Postfix SMTP client.
14431 When a non-empty value is specified, this overrides the obsolete
14432 parameters <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>, <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>, and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>;
14433 when no value is specified for <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> or the obsolete
14434 parameters, the default SMTP TLS security level is
14435 <a href="TLS_README.html#client_tls_none">none</a>. </p>
14436
14437 <p> Specify one of the following security levels: </p>
14438
14439 <dl>
14440
14441 <dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
14442 <dd> No TLS. TLS will not be used unless enabled for specific
14443 destinations via <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </dd>
14444
14445 <dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
14446 <dd> Opportunistic TLS. Use TLS if this is supported by the remote
14447 SMTP server, otherwise use plaintext; after a failed TLS handshake
14448 or TLS session, fall back to plaintext if the message has spent
14449 <a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a> in the mail queue. Since
14450 sending in the clear is acceptable, demanding stronger than default TLS
14451 security merely reduces interoperability.
14452 The "<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>" and "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>" (Postfix ≥ 2.6)
14453 configuration parameters provide control over the protocols and
14454 cipher grade used with opportunistic TLS. With earlier releases the
14455 opportunistic TLS cipher grade is always "export" and no protocols
14456 are disabled.
14457 When TLS handshakes fail, the connection is retried with TLS disabled.
14458 This allows mail delivery to sites with non-interoperable TLS
14459 implementations. </dd>
14460
14461 <dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
14462 <dd>Mandatory TLS encryption. Since a minimum
14463 level of security is intended, it is reasonable to be specific about
14464 sufficiently secure protocol versions and ciphers. At this security level
14465 and higher, the <a href="postconf.5.html">main.cf</a> parameters <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> and
14466 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> specify the TLS protocols and minimum
14467 cipher grade which the administrator considers secure enough for
14468 mandatory encrypted sessions. This security level is not an appropriate
14469 default for systems delivering mail to the Internet. </dd>
14470
14471 <dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
14472 <dd>Opportunistic DANE TLS. At this security level, the TLS policy
14473 for the destination is obtained via DNSSEC. For TLSA policy to be
14474 in effect, the destination domain's containing DNS zone must be
14475 signed and the Postfix SMTP client's operating system must be
14476 configured to send its DNS queries to a recursive DNS nameserver
14477 that is able to validate the signed records. Each MX host's DNS
14478 zone should also be signed, and should publish DANE TLSA (<a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a>)
14479 records that specify how that MX host's TLS certificate is to be
14480 verified. TLSA records do not preempt the normal SMTP MX host
14481 selection algorithm, if some MX hosts support TLSA and others do
14482 not, TLS security will vary from delivery to delivery. It is up
14483 to the domain owner to configure their MX hosts and their DNS
14484 sensibly. To configure the Postfix SMTP client for DNSSEC lookups
14485 see the documentation for the <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> <a href="postconf.5.html">main.cf</a>
14486 parameter. When DNSSEC-validated TLSA records are not found the
14487 effective tls security level is "may". When TLSA records are found,
14488 but are all unusable the effective security level is "encrypt". For
14489 purposes of protocol and cipher selection, the "dane" security level
14490 is treated like a "mandatory" TLS security level, and weak ciphers
14491 and protocols are disabled. Since DANE authenticates server
14492 certificates the "aNULL" cipher-suites are transparently excluded
14493 at this level, no need to configure this manually. <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE)
14494 TLS authentication is available with Postfix 2.11 and later. </dd>
14495
14496 <dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
14497 <dd>Mandatory DANE TLS. This is just like "dane" above, but DANE
14498 TLSA authentication is required. There is no fallback to "may" or
14499 "encrypt" when TLSA records are missing or unusable. <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a>
14500 (DANE) TLS authentication is available with Postfix 2.11 and later.
14501 </dd>
14502
14503 <dt><b><a href="TLS_README.html#client_tls_fprint">fingerprint</a></b></dt>
14504 <dd>Certificate fingerprint verification.
14505 At this security level, there are no trusted Certification Authorities.
14506 The certificate trust chain, expiration date, etc., are
14507 not checked. Instead, the <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b>
14508 parameter lists the certificate fingerprint or public key fingerprint
14509 (Postfix 2.9 and later) of the valid server certificate. The digest
14510 algorithm used to calculate the fingerprint is selected by the
14511 <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Available with Postfix
14512 2.5 and later. </dd>
14513
14514 <dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
14515 <dd>Mandatory TLS verification. At this security
14516 level, DNS MX lookups are trusted to be secure enough, and the name
14517 verified in the server certificate is usually obtained indirectly
14518 via unauthenticated DNS MX lookups. The <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
14519 parameter controls how the server name is verified. In practice explicit
14520 control over matching is more common at the "secure" level, described
14521 below. This security level is not an appropriate default for systems
14522 delivering mail to the Internet. </dd>
14523
14524 <dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
14525 <dd>Secure-channel TLS. At this security level,
14526 DNS MX lookups, though potentially used to determine the candidate
14527 next-hop gateway IP addresses, are <b>not</b> trusted to be secure enough
14528 for TLS peername verification. Instead, the default name verified in
14529 the server certificate is obtained from the next-hop domain as specified
14530 in the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> configuration parameter. The default
14531 matching rule is that a server certificate matches when its name is equal
14532 to or is a sub-domain of the nexthop domain. This security level is not
14533 an appropriate default for systems delivering mail to the Internet. </dd>
14534
14535 </dl>
14536
14537 <p>
14538 Examples:
14539 </p>
14540
14541 <pre>
14542 # No TLS. Formerly: <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>=no and <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>=no.
14543 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = none
14544 </pre>
14545
14546 <pre>
14547 # Opportunistic TLS.
14548 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
14549 # Do not tweak opportunistic ciphers or protocols unless it is essential
14550 # to do so (if a security vulnerability is found in the SSL library that
14551 # can be mitigated by disabling a particular protocol or raising the
14552 # cipher grade).
14553 <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> = medium
14554 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = >=TLSv1
14555 # Legacy (Postfix < 3.6) syntax:
14556 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
14557 </pre>
14558
14559 <pre>
14560 # Mandatory (high-grade) TLS encryption.
14561 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
14562 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
14563 </pre>
14564
14565 <pre>
14566 # Authenticated TLS 1.2 or better matching the nexthop domain or a
14567 # subdomain.
14568 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = secure
14569 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
14570 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = >=TLSv1.2
14571 <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop, dot-nexthop
14572 </pre>
14573
14574 <pre>
14575 # Certificate fingerprint verification (Postfix ≥ 2.5).
14576 # The CA-less "fingerprint" security level only scales to a limited
14577 # number of destinations. As a global default rather than a per-site
14578 # setting, this is practical only when mail for all recipients is sent
14579 # to a central mail hub.
14580 <a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
14581 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
14582 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = >=TLSv1.2
14583 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
14584 <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
14585 3D:95:34:51:...:40:99:C0:C1
14586 EC:3B:2D:B0:...:A3:9D:72:F6
14587 </pre>
14588
14589 <p> This feature is available in Postfix 2.3 and later. </p>
14590
14591
14592 </DD>
14593
14594 <DT><b><a name="smtp_tls_servername">smtp_tls_servername</a>
14595 (default: empty)</b></DT><DD>
14596
14597 <p> Optional name to send to the remote SMTP server in the TLS Server
14598 Name Indication (SNI) extension. The SNI extension is always on when
14599 DANE is used to authenticate the server, and in that case the SNI name
14600 sent is the one required by <a href="https://tools.ietf.org/html/rfc7672">RFC7672</a> and this parameter is ignored. </p>
14601
14602 <p> Some SMTP servers use the received SNI name to select an appropriate
14603 certificate chain to present to the client. While this may improve
14604 interoperability with such servers, it may reduce interoperability with
14605 other servers that choose to abort the connection when they don't have a
14606 certificate chain configured for the requested name. Such servers
14607 should select a default certificate chain and continue the handshake,
14608 but some may not. Therefore, absent DANE, no SNI name is sent by
14609 default. </p>
14610
14611 <p> The SNI name must be either a valid DNS hostname, or else one of the
14612 special values <b>hostname</b> or <b>nexthop</b>, which select either the
14613 remote hostname or the nexthop domain respectively. DNS names for SNI must be
14614 in A-label (punycode) form. Invalid DNS names log a configuration error
14615 warning and mail delivery is deferred. </p>
14616
14617 <p> Except when using a <a href="postconf.5.html#relayhost">relayhost</a> to forward all email, the only
14618 sensible non-empty <a href="postconf.5.html">main.cf</a> setting for this parameter is
14619 <b>hostname</b>. Other non-empty values are only practical on a
14620 per-destination basis via the <b>servername</b> attribute of the Postfix
14621 TLS <a href="TLS_README.html#client_tls_policy">policy table</a>. When
14622 in doubt, leave this parameter empty, and configure per-destination SNI
14623 as needed. </p>
14624
14625 <p> This feature is available in Postfix 3.4 and later. </p>
14626
14627
14628 </DD>
14629
14630 <DT><b><a name="smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
14631 (default: empty)</b></DT><DD>
14632
14633 <p> Name of the file containing the optional Postfix SMTP client
14634 TLS session cache. Specify a database type that supports enumeration,
14635 such as <b>btree</b> or <b>sdbm</b>; there is no need to support
14636 concurrent access. The file is created if it does not exist. The <a href="smtp.8.html">smtp(8)</a>
14637 daemon does not use this parameter directly, rather the cache is
14638 implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
14639 per-smtp-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not effective.
14640 Note that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon:
14641 $<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, $<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
14642 (and with Postfix 2.3 and later $<a href="postconf.5.html#lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>), needs to
14643 be stored separately. It is not at this time possible to store multiple
14644 caches in a single database. </p>
14645
14646 <p> Note: <b>dbm</b> databases are not suitable. TLS
14647 session objects are too large. </p>
14648
14649 <p> As of version 2.5, Postfix no longer uses root privileges when
14650 opening this file. The file should now be stored under the Postfix-owned
14651 <a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
14652 under a non-Postfix directory is redirected to the Postfix-owned
14653 <a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
14654
14655 <p> Example: </p>
14656
14657 <pre>
14658 <a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/smtp_scache
14659 </pre>
14660
14661 <p> This feature is available in Postfix 2.2 and later. </p>
14662
14663
14664 </DD>
14665
14666 <DT><b><a name="smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
14667 (default: 3600s)</b></DT><DD>
14668
14669 <p> The expiration time of Postfix SMTP client TLS session cache
14670 information. A cache cleanup is performed periodically
14671 every $<a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> seconds. As with
14672 $<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>, this parameter is implemented in the
14673 <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtp-instance <a href="master.5.html">master.cf</a> overrides
14674 are not possible. </p>
14675
14676 <p> As of Postfix 2.11 this setting cannot exceed 100 days. If set
14677 ≤ 0, session caching is disabled. If set to a positive value
14678 less than 2 minutes, the minimum value of 2 minutes is used instead. </p>
14679
14680 <p> Specify a non-zero time value (an integral value plus an optional
14681 one-letter suffix that specifies the time unit). Time units: s
14682 (seconds), m (minutes), h (hours), d (days), w (weeks).
14683 The default time unit is s (seconds). </p>
14684
14685 <p> This feature is available in Postfix 2.2 and later. </p>
14686
14687
14688 </DD>
14689
14690 <DT><b><a name="smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
14691 (default: empty)</b></DT><DD>
14692
14693 <p> Zero or more PEM-format files with trust-anchor certificates
14694 and/or public keys. If the parameter is not empty the root CAs in
14695 CAfile and CApath are no longer trusted. Rather, the Postfix SMTP
14696 client will only trust certificate-chains signed by one of the
14697 trust-anchors contained in the chosen files. The specified
14698 trust-anchor certificates and public keys are not subject to
14699 expiration, and need not be (self-signed) root CAs. They may, if
14700 desired, be intermediate certificates. Therefore, these certificates
14701 also may be found "in the middle" of the trust chain presented by
14702 the remote SMTP server, and any untrusted issuing parent certificates
14703 will be ignored. Specify a list of pathnames separated by comma
14704 or whitespace. </p>
14705
14706 <p> Whether specified in <a href="postconf.5.html">main.cf</a>, or on a per-destination basis,
14707 the trust-anchor PEM file must be accessible to the Postfix SMTP
14708 client in the chroot jail if applicable. The trust-anchor file
14709 should contain only certificates and public keys, no private key
14710 material, and must be readable by the non-privileged $<a href="postconf.5.html#mail_owner">mail_owner</a>
14711 user. This allows destinations to be bound to a set of specific
14712 CAs or public keys without trusting the same CAs for all destinations.
14713 </p>
14714
14715 <p> The <a href="postconf.5.html">main.cf</a> parameter supports single-purpose Postfix installations
14716 that send mail to a fixed set of SMTP peers. At most sites, if
14717 trust-anchor files are used at all, they will be specified on a
14718 per-destination basis via the "tafile" attribute of the "verify"
14719 and "secure" levels in <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </p>
14720
14721 <p> The underlying mechanism is in support of <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE TLSA),
14722 which defines mechanisms for an SMTP client MTA to securely determine
14723 server TLS certificates via DNS. </p>
14724
14725 <p> If you want your trust anchors to be public keys, with OpenSSL
14726 you can extract a single PEM public key from a PEM X.509 file
14727 containing a single certificate, as follows: </p>
14728
14729 <blockquote>
14730 <pre>
14731 $ openssl x509 -in cert.pem -out ta-key.pem -noout -pubkey
14732 </pre>
14733 </blockquote>
14734
14735 <p> This feature is available in Postfix 2.11 and later. </p>
14736
14737
14738 </DD>
14739
14740 <DT><b><a name="smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
14741 (default: hostname)</b></DT><DD>
14742
14743 <p> How the Postfix SMTP client verifies the server certificate
14744 peername for the
14745 "verify" TLS security level. In a "verify" TLS policy table
14746 ($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
14747 overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
14748
14749 <p> This parameter specifies one or more patterns or strategies separated
14750 by commas, whitespace or colons. In the policy table the only valid
14751 separator is the colon character. </p>
14752
14753 <p> Patterns specify domain names, or domain name suffixes: </p>
14754
14755 <dl>
14756
14757 <dt><i>example.com</i></dt> <dd> Match the <i>example.com</i> domain,
14758 i.e. one of the names in the server certificate must be <i>example.com</i>.
14759 Upper and lower case distinctions are ignored. </dd>
14760
14761 <dt><i>.example.com</i></dt>
14762 <dd> Match subdomains of the <i>example.com</i> domain, i.e. match
14763 a name in the server certificate that consists of a non-zero number of
14764 labels followed by a <i>.example.com</i> suffix. Case distinctions are
14765 ignored.</dd>
14766
14767 </dl>
14768
14769 <p> Strategies specify a transformation from the next-hop domain
14770 to the expected name in the server certificate: </p>
14771
14772 <dl>
14773
14774 <dt>nexthop</dt>
14775 <dd> Match against the next-hop domain, which is either the recipient
14776 domain, or the transport next-hop configured for the domain stripped of
14777 any optional socket type prefix, enclosing square brackets and trailing
14778 port. When MX lookups are not suppressed, this is the original nexthop
14779 domain prior to the MX lookup, not the result of the MX lookup. For
14780 LMTP delivery via UNIX-domain sockets, the verified next-hop name is
14781 $<a href="postconf.5.html#myhostname">myhostname</a>. This strategy is suitable for use with the "secure"
14782 policy. Case is ignored.</dd>
14783
14784 <dt>dot-nexthop</dt>
14785 <dd> As above, but match server certificate names that are subdomains
14786 of the next-hop domain. Case is ignored.</dd>
14787
14788 <dt>hostname</dt> <dd> Match against the hostname of the server, often
14789 obtained via an unauthenticated DNS MX lookup. For LMTP delivery via
14790 UNIX-domain sockets, the verified name is $<a href="postconf.5.html#myhostname">myhostname</a>. This matches
14791 the verification strategy of the "MUST" keyword in the obsolete
14792 <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table, and is suitable for use with the "verify"
14793 security level. When the next-hop name is enclosed in square brackets
14794 to suppress MX lookups, the "hostname" strategy is the same as the
14795 "nexthop" strategy. Case is ignored.</dd>
14796
14797 </dl>
14798
14799 <p>
14800 Sample <a href="postconf.5.html">main.cf</a> setting:
14801 </p>
14802
14803 <pre>
14804 <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
14805 </pre>
14806
14807 <p>
14808 Sample policy table override:
14809 </p>
14810
14811 <pre>
14812 example.com verify match=hostname:nexthop
14813 .example.com verify match=example.com:.example.com:hostname
14814 </pre>
14815
14816 <p> This feature is available in Postfix 2.3 and later. </p>
14817
14818
14819 </DD>
14820
14821 <DT><b><a name="smtp_tls_wrappermode">smtp_tls_wrappermode</a>
14822 (default: no)</b></DT><DD>
14823
14824 <p> Request that the Postfix SMTP client connects using the
14825 SUBMISSIONS (formerly called SMTPS) protocol instead of using the
14826 STARTTLS command. </p>
14827
14828 <p> This mode requires "<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt" or
14829 stronger. </p>
14830
14831 <p> Example: deliver all remote mail via a provider's submissions
14832 service at "mail.example.com". </p>
14833
14834 <pre>
14835 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
14836 # Client-side SUBMISSIONS requires "encrypt" or stronger.
14837 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
14838 <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> = yes
14839 # The [] suppress MX lookups.
14840 <a href="postconf.5.html#relayhost">relayhost</a> = [mail.example.com]:submissions
14841 </pre>
14842
14843 <p> More examples are in <a href="TLS_README.html">TLS_README</a>, including examples for older
14844 Postfix versions. </p>
14845
14846 <p> This feature is available in Postfix 3.0 and later. </p>
14847
14848
14849 </DD>
14850
14851 <DT><b><a name="smtp_tlsrpt_enable">smtp_tlsrpt_enable</a>
14852 (default: no)</b></DT><DD>
14853
14854 <p> Enable support for <a href="https://tools.ietf.org/html/rfc8460">RFC 8460</a> TLSRPT notifications. A mail receiving
14855 domain can publish a TLSRPT policy in DNS, to request periodic
14856 summaries of successful and failed SMTP over TLS connections to
14857 their MX servers. This feature requires that Postfix is built
14858 with a TLSRPT supporting library. </p>
14859
14860 <p> See <a href="TLSRPT_README.html">TLSRPT_README</a> for configuration examples and additional
14861 requirements for MTA-STS <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> plugins. </p>
14862
14863 <p> This feature is available in Postfix ≥ 3.10. </p>
14864
14865
14866 </DD>
14867
14868 <DT><b><a name="smtp_tlsrpt_skip_reused_handshakes">smtp_tlsrpt_skip_reused_handshakes</a>
14869 (default: yes)</b></DT><DD>
14870
14871 <p> Do not report the TLSRPT status for TLS protocol handshakes
14872 that reuse a previously-negotiated TLS session (there is no new
14873 information to report). Report the TLSRPT status only for "new" TLS
14874 sessions. Set this to "no" to log the TLSRPT status of all TLS
14875 handshakes, for example to troubleshoot Postfix TLSRPT support.
14876 </p>
14877
14878 <p> Note: if an SMTP over TLS connection is reused, there is no
14879 second etc. TLS handshake to report. </p>
14880
14881 <p> This feature is available in Postfix ≥ 3.10. </p>
14882
14883
14884 </DD>
14885
14886 <DT><b><a name="smtp_tlsrpt_socket_name">smtp_tlsrpt_socket_name</a>
14887 (default: empty)</b></DT><DD>
14888
14889 <p> The pathname of a UNIX-domain datagram socket that is managed
14890 by a local TLSRPT reporting service. This parameter must specify a
14891 pathname (absolute, or relative to $<a href="postconf.5.html#queue_directory">queue_directory</a>) when
14892 "<a href="postconf.5.html#smtp_tlsrpt_enable">smtp_tlsrpt_enable</a> = yes". </p>
14893
14894 <p> See <a href="TLSRPT_README.html">TLSRPT_README</a> for configuration examples and additional
14895 requirements for MTA-STS <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> plugins. </p>
14896
14897 <p> This feature is available in Postfix ≥ 3.10. </p>
14898
14899
14900 </DD>
14901
14902 <DT><b><a name="smtp_use_tls">smtp_use_tls</a>
14903 (default: no)</b></DT><DD>
14904
14905 <p> Opportunistic mode: use TLS when a remote SMTP server announces
14906 STARTTLS support, otherwise send the mail in the clear. Beware:
14907 some SMTP servers offer STARTTLS even if it is not configured. With
14908 Postfix < 2.3, if the TLS handshake fails, and no other server is
14909 available, delivery is deferred and mail stays in the queue. If this
14910 is a concern for you, use the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> feature instead. </p>
14911
14912 <p> This feature is available in Postfix 2.2 and later. With
14913 Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
14914
14915
14916 </DD>
14917
14918 <DT><b><a name="smtp_xforward_timeout">smtp_xforward_timeout</a>
14919 (default: 300s)</b></DT><DD>
14920
14921 <p>
14922 The Postfix SMTP client time limit for sending the XFORWARD command,
14923 and for receiving the remote SMTP server response.
14924 </p>
14925
14926 <p> Specify a non-zero time value (an integral value plus an optional
14927 one-letter suffix that specifies the time unit). Time units: s
14928 (seconds), m (minutes), h (hours), d (days), w (weeks).
14929 The default time unit is s (seconds). </p>
14930
14931 <p>
14932 This feature is available in Postfix 2.1 and later.
14933 </p>
14934
14935
14936 </DD>
14937
14938 <DT><b><a name="smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
14939 (default: $<a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a>)</b></DT><DD>
14940
14941 <p> What remote SMTP clients are allowed to specify the XVERP command.
14942 This command requests that mail be delivered one recipient at a
14943 time with a per recipient return address. </p>
14944
14945 <p> By default, no clients are allowed to specify XVERP. </p>
14946
14947 <p> This parameter was renamed with Postfix version 2.1. The default value
14948 is backwards compatible with Postfix version 2.0. </p>
14949
14950 <p> Specify a list of network/netmask patterns, separated by commas
14951 and/or whitespace. The mask specifies the number of bits in the
14952 network part of a host address. You can also specify hostnames or
14953 .domain names (the initial dot causes the domain to match any name
14954 below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name"
14955 pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
14956 is matched when a table entry matches a lookup string (the lookup
14957 result is ignored). Continue long lines by starting the next line
14958 with whitespace. Specify "!pattern" to exclude an address or network
14959 block from the list. The form "!/file/name" is supported only in
14960 Postfix version 2.4 and later. </p>
14961
14962 <p> Note: IP version 6 address information must be specified inside
14963 <tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> value, and in
14964 files specified with "/file/name". IP version 6 addresses contain
14965 the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
14966 pattern. </p>
14967
14968
14969 </DD>
14970
14971 <DT><b><a name="smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>
14972 (default: empty)</b></DT><DD>
14973
14974 <p>
14975 What remote SMTP clients are allowed to use the XCLIENT feature. This
14976 command overrides remote SMTP client information that is used for access
14977 control. Typical use is for SMTP-based content filters, fetchmail-like
14978 programs, or SMTP server access rule testing. See the <a href="XCLIENT_README.html">XCLIENT_README</a>
14979 document for details.
14980 </p>
14981
14982 <p>
14983 This feature is available in Postfix 2.1 and later.
14984 </p>
14985
14986 <p>
14987 By default, no clients are allowed to specify XCLIENT.
14988 </p>
14989
14990 <p>
14991 Specify a list of network/netmask patterns, separated by commas
14992 and/or whitespace. The mask specifies the number of bits in the
14993 network part of a host address. You can also specify hostnames or
14994 .domain names (the initial dot causes the domain to match any name
14995 below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name"
14996 pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
14997 is matched when a table entry matches a lookup string (the lookup
14998 result is ignored). Continue long lines by starting the next line
14999 with whitespace. Specify "!pattern" to exclude an address or network
15000 block from the list. The form "!/file/name" is supported only in
15001 Postfix version 2.4 and later. </p>
15002
15003 <p> Note: IP version 6 address information must be specified inside
15004 <tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> value, and in
15005 files specified with "/file/name". IP version 6 addresses contain
15006 the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
15007 pattern. </p>
15008
15009
15010 </DD>
15011
15012 <DT><b><a name="smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a>
15013 (default: empty)</b></DT><DD>
15014
15015 <p>
15016 What remote SMTP clients are allowed to use the XFORWARD feature. This
15017 command forwards information that is used to improve logging after
15018 SMTP-based content filters. See the <a href="XFORWARD_README.html">XFORWARD_README</a> document for
15019 details.
15020 </p>
15021
15022 <p>
15023 This feature is available in Postfix 2.1 and later.
15024 </p>
15025
15026 <p>
15027 By default, no clients are allowed to specify XFORWARD.
15028 </p>
15029
15030 <p>
15031 Specify a list of network/netmask patterns, separated by commas
15032 and/or whitespace. The mask specifies the number of bits in the
15033 network part of a host address. You can also specify hostnames or
15034 .domain names (the initial dot causes the domain to match any name
15035 below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name"
15036 pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
15037 is matched when a table entry matches a lookup string (the lookup
15038 result is ignored). Continue long lines by starting the next line
15039 with whitespace. Specify "!pattern" to exclude an address or network
15040 block from the list. The form "!/file/name" is supported only in
15041 Postfix version 2.4 and later. </p>
15042
15043 <p> Note: IP version 6 address information must be specified inside
15044 <tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> value, and in
15045 files specified with "/file/name". IP version 6 addresses contain
15046 the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
15047 pattern. </p>
15048
15049
15050 </DD>
15051
15052 <DT><b><a name="smtpd_banner">smtpd_banner</a>
15053 (default: $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a>)</b></DT><DD>
15054
15055 <p>
15056 The text that follows the 220 status code in the SMTP greeting
15057 banner. Some people like to see the mail version advertised. By
15058 default, Postfix shows no version.
15059 </p>
15060
15061 <p>
15062 You MUST specify $<a href="postconf.5.html#myhostname">myhostname</a> at the start of the text. This is
15063 required by the SMTP protocol.
15064 </p>
15065
15066 <p>
15067 Example:
15068 </p>
15069
15070 <pre>
15071 <a href="postconf.5.html#smtpd_banner">smtpd_banner</a> = $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a> ($<a href="postconf.5.html#mail_version">mail_version</a>)
15072 </pre>
15073
15074
15075 </DD>
15076
15077 <DT><b><a name="smtpd_client_auth_rate_limit">smtpd_client_auth_rate_limit</a>
15078 (default: 0)</b></DT><DD>
15079
15080 <p>
15081 The maximal number of AUTH commands that any client is allowed to
15082 send to this service per time unit, regardless of whether or not
15083 Postfix actually accepts those commands. The time unit is specified
15084 with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
15085 </p>
15086
15087 <p>
15088 By default, there is no limit on the number of AUTH commands that a
15089 client may send.
15090 </p>
15091
15092 <p>
15093 To disable this feature, specify a limit of 0.
15094 </p>
15095
15096 <p>
15097 WARNING: The purpose of this feature is to limit abuse. It must
15098 not be used to regulate legitimate mail traffic.
15099 </p>
15100
15101 <p>
15102 This feature is available in Postfix 3.1 and later.
15103 </p>
15104
15105
15106 </DD>
15107
15108 <DT><b><a name="smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>
15109 (default: 50)</b></DT><DD>
15110
15111 <p>
15112 How many simultaneous connections any client is allowed to
15113 make to this service. By default, the limit is set to half
15114 the default process limit value.
15115 </p>
15116
15117 <p>
15118 To disable this feature, specify a limit of 0.
15119 </p>
15120
15121 <p>
15122 WARNING: The purpose of this feature is to limit abuse. It must
15123 not be used to regulate legitimate mail traffic.
15124 </p>
15125
15126 <p>
15127 This feature is available in Postfix 2.2 and later.
15128 </p>
15129
15130
15131 </DD>
15132
15133 <DT><b><a name="smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a>
15134 (default: 0)</b></DT><DD>
15135
15136 <p>
15137 The maximal number of connection attempts any client is allowed to
15138 make to this service per time unit. The time unit is specified
15139 with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
15140 </p>
15141
15142 <p>
15143 By default, a client can make as many connections per time unit as
15144 Postfix can accept.
15145 </p>
15146
15147 <p>
15148 To disable this feature, specify a limit of 0.
15149 </p>
15150
15151 <p>
15152 WARNING: The purpose of this feature is to limit abuse. It must
15153 not be used to regulate legitimate mail traffic.
15154 </p>
15155
15156 <p>
15157 This feature is available in Postfix 2.2 and later.
15158 </p>
15159
15160 <p>
15161 Example:
15162 </p>
15163
15164 <pre>
15165 <a href="postconf.5.html#smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> = 1000
15166 </pre>
15167
15168
15169 </DD>
15170
15171 <DT><b><a name="smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
15172 (default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
15173
15174 <p>
15175 Clients that are excluded from smtpd_client_*_count/rate_limit
15176 restrictions. See the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter
15177 description for the parameter value syntax.
15178 </p>
15179
15180 <p>
15181 By default, clients in trusted networks are excluded. Specify a
15182 list of network blocks, hostnames or .domain names (the initial
15183 dot causes the domain to match any name below it).
15184 </p>
15185
15186 <p> Note: IP version 6 address information must be specified inside
15187 <tt>[]</tt> in the <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> value, and
15188 in files specified with "/file/name". IP version 6 addresses
15189 contain the ":" character, and would otherwise be confused with a
15190 "<a href="DATABASE_README.html">type:table</a>" pattern. </p>
15191
15192 <p> Pattern matching of domain names is controlled by the presence
15193 or absence of "<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>" in the
15194 <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value (Postfix 3.0 and
15195 later). </p>
15196
15197 <p>
15198 This feature is available in Postfix 2.2 and later.
15199 </p>
15200
15201
15202 </DD>
15203
15204 <DT><b><a name="smtpd_client_ipv4_prefix_length">smtpd_client_ipv4_prefix_length</a>
15205 (default: 32)</b></DT><DD>
15206
15207 <p> Aggregate smtpd_client_*_count and smtpd_client_*_rate statistics
15208 by IPv4 network blocks with the specified network prefix. Aggregation
15209 uses fewer <a href="anvil.8.html">anvil(8)</a> resources to maintain counters. By default,
15210 aggregation is disabled for IPv4. </p>
15211
15212 <p> This feature is available in Postfix 3.8 and later. </p>
15213
15214
15215 </DD>
15216
15217 <DT><b><a name="smtpd_client_ipv6_prefix_length">smtpd_client_ipv6_prefix_length</a>
15218 (default: 84)</b></DT><DD>
15219
15220 <p> Aggregate smtpd_client_*_count and smtpd_client_*_rate statistics
15221 by IPv6 network blocks with the specified network prefix. Aggregation
15222 uses fewer the <a href="anvil.8.html">anvil(8)</a> resources to maintain counters. By default,
15223 aggregation is enabled for IPv6. </p>
15224
15225 <p> This feature is available in Postfix 3.8 and later. </p>
15226
15227
15228 </DD>
15229
15230 <DT><b><a name="smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a>
15231 (default: 0)</b></DT><DD>
15232
15233 <p>
15234 The maximal number of message delivery requests that any client is
15235 allowed to make to this service per time unit, regardless of whether
15236 or not Postfix actually accepts those messages. The time unit is
15237 specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
15238 </p>
15239
15240 <p>
15241 By default, a client can send as many message delivery requests
15242 per time unit as Postfix can accept.
15243 </p>
15244
15245 <p>
15246 To disable this feature, specify a limit of 0.
15247 </p>
15248
15249 <p>
15250 WARNING: The purpose of this feature is to limit abuse. It must
15251 not be used to regulate legitimate mail traffic.
15252 </p>
15253
15254 <p>
15255 This feature is available in Postfix 2.2 and later.
15256 </p>
15257
15258 <p>
15259 Example:
15260 </p>
15261
15262 <pre>
15263 <a href="postconf.5.html#smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> = 1000
15264 </pre>
15265
15266
15267 </DD>
15268
15269 <DT><b><a name="smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a>
15270 (default: 0)</b></DT><DD>
15271
15272 <p>
15273 The maximal number of new (i.e., uncached) TLS sessions that a
15274 remote SMTP client is allowed to negotiate with this service per
15275 time unit. The time unit is specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a>
15276 configuration parameter.
15277 </p>
15278
15279 <p>
15280 By default, a remote SMTP client can negotiate as many new TLS
15281 sessions per time unit as Postfix can accept.
15282 </p>
15283
15284 <p>
15285 To disable this feature, specify a limit of 0. Otherwise, specify
15286 a limit that is at least the per-client concurrent session limit,
15287 or else legitimate client sessions may be rejected.
15288 </p>
15289
15290 <p>
15291 WARNING: The purpose of this feature is to limit abuse. It must
15292 not be used to regulate legitimate mail traffic.
15293 </p>
15294
15295 <p>
15296 This feature is available in Postfix 2.3 and later.
15297 </p>
15298
15299 <p>
15300 Example:
15301 </p>
15302
15303 <pre>
15304 <a href="postconf.5.html#smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a> = 100
15305 </pre>
15306
15307
15308 </DD>
15309
15310 <DT><b><a name="smtpd_client_port_logging">smtpd_client_port_logging</a>
15311 (default: no)</b></DT><DD>
15312
15313 <p> Enable logging of the remote SMTP client port in addition to
15314 the hostname and IP address. The logging format is "host[address]:port".
15315 </p>
15316
15317 <p> This feature is available in Postfix 2.5 and later. </p>
15318
15319
15320 </DD>
15321
15322 <DT><b><a name="smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a>
15323 (default: 0)</b></DT><DD>
15324
15325 <p>
15326 The maximal number of recipient addresses that any client is allowed
15327 to send to this service per time unit, regardless of whether or not
15328 Postfix actually accepts those recipients. The time unit is specified
15329 with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
15330 </p>
15331
15332 <p>
15333 By default, a client can send as many recipient addresses per time
15334 unit as Postfix can accept.
15335 </p>
15336
15337 <p>
15338 To disable this feature, specify a limit of 0.
15339 </p>
15340
15341 <p>
15342 WARNING: The purpose of this feature is to limit abuse. It must
15343 not be used to regulate legitimate mail traffic.
15344 </p>
15345
15346 <p>
15347 This feature is available in Postfix 2.2 and later.
15348 </p>
15349
15350 <p>
15351 Example:
15352 </p>
15353
15354 <pre>
15355 <a href="postconf.5.html#smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> = 1000
15356 </pre>
15357
15358
15359 </DD>
15360
15361 <DT><b><a name="smtpd_client_restrictions">smtpd_client_restrictions</a>
15362 (default: empty)</b></DT><DD>
15363
15364 <p>
15365 Optional restrictions that the Postfix SMTP server applies in the
15366 context of a client connection request.
15367 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
15368 restriction lists" for a discussion of evaluation context and time.
15369 </p>
15370
15371 <p>
15372 The default is to allow all connection requests.
15373 </p>
15374
15375 <p>
15376 Specify a list of restrictions, separated by commas and/or whitespace.
15377 Continue long lines by starting the next line with whitespace.
15378 Restrictions are applied in the order as specified; the first
15379 restriction that matches wins.
15380 </p>
15381
15382 <p>
15383 The following restrictions are specific to client hostname or
15384 client network address information.
15385 </p>
15386
15387 <dl>
15388
15389 <dt><b><a name="check_ccert_access">check_ccert_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15390
15391 <dd> By default use the remote SMTP client certificate fingerprint
15392 or the public key
15393 fingerprint (Postfix 2.9 and later) as the lookup key for the specified
15394 <a href="access.5.html">access(5)</a> database; with Postfix version 2.2, also require that the
15395 remote SMTP client certificate is verified successfully.
15396 The fingerprint digest algorithm is configurable via the
15397 <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
15398 Postfix version 2.5). This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
15399 = yes" and is available with Postfix version
15400 2.2 and later. </dd>
15401
15402 <dd> The default algorithm is <b>sha256</b> with Postfix ≥ 3.6
15403 and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix
15404 ≤ 3.5, the default algorithm is <b>md5</b>. The best-practice
15405 algorithm is now <b>sha256</b>. Recent advances in hash function
15406 cryptanalysis have led to md5 and sha1 being deprecated in favor of
15407 sha256. However, as long as there are no known "second pre-image"
15408 attacks against the older algorithms, their use in this context, though
15409 not recommended, is still likely safe. </dd>
15410
15411 <dd> Alternatively, <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> accepts an explicit search
15412 order (Postfix 3.5 and later). The default search order as described
15413 above corresponds with: </dd>
15414
15415 <dd> <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> { <a href="DATABASE_README.html">type:table</a>, { search_order = cert_fingerprint,
15416 pubkey_fingerprint } } </dd>
15417
15418 <dd> The commas are optional. </dd>
15419
15420 <dt><b><a name="check_client_access">check_client_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15421
15422 <dd>Search the specified access database for the client hostname
15423 or IP address. See the <a href="access.5.html">access(5)</a> manual page for details. </dd>
15424
15425 <dt><b><a name="check_client_a_access">check_client_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15426
15427 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the
15428 client hostname, and execute the corresponding action. Note: a result
15429 of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
15430 to exclude specific hosts from denylists. This feature is available
15431 in Postfix 3.0 and later. </dd>
15432
15433 <dt><b><a name="check_client_mx_access">check_client_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15434
15435 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
15436 client hostname, and execute the corresponding action. If no MX
15437 record is found, look up A or AAAA records, just like the Postfix
15438 SMTP client would. Note: a result
15439 of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
15440 to exclude specific hosts from denylists. This feature is available
15441 in Postfix 2.7 and later. </dd>
15442
15443 <dt><b><a name="check_client_ns_access">check_client_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15444
15445 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
15446 the client hostname, and execute the corresponding action. Note: a
15447 result of "OK" is not allowed for safety reasons. Instead, use DUNNO
15448 in order to exclude specific hosts from denylists. This feature is
15449 available in Postfix 2.7 and later. </dd>
15450
15451 <dt><b><a name="check_reverse_client_hostname_access">check_reverse_client_hostname_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15452
15453 <dd>Search the specified access database for the unverified reverse
15454 client hostname or IP address. See the <a href="access.5.html">access(5)</a>
15455 manual page for details. Note: a result of "OK" is not allowed for
15456 safety reasons. Instead, use DUNNO in order to exclude specific
15457 hosts from denylists. This feature is available in Postfix 2.6
15458 and later.</dd>
15459
15460 <dt><b><a name="check_reverse_client_hostname_a_access">check_reverse_client_hostname_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15461
15462 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the
15463 unverified reverse client hostname, and execute the corresponding
15464 action. Note: a result of "OK" is not allowed for safety reasons.
15465 Instead, use DUNNO in order to exclude specific hosts from denylists.
15466 This feature is available in Postfix 3.0 and later. </dd>
15467
15468 <dt><b><a name="check_reverse_client_hostname_mx_access">check_reverse_client_hostname_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15469
15470 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
15471 unverified reverse client hostname, and execute the corresponding
15472 action. If no MX record is found, look up A or AAAA records, just
15473 like the Postfix SMTP client would.
15474 Note: a result of "OK" is not allowed for safety reasons.
15475 Instead, use DUNNO in order to exclude specific hosts from denylists.
15476 This feature is available in Postfix 2.7 and later. </dd>
15477
15478 <dt><b><a name="check_reverse_client_hostname_ns_access">check_reverse_client_hostname_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15479
15480 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
15481 the unverified reverse client hostname, and execute the corresponding
15482 action. Note: a result of "OK" is not allowed for safety reasons.
15483 Instead, use DUNNO in order to exclude specific hosts from denylists.
15484 This feature is available in Postfix 2.7 and later. </dd>
15485
15486 <dt><b><a name="check_sasl_access">check_sasl_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15487
15488 <dd> Use the remote SMTP client SASL user name as the lookup key for
15489 the specified <a href="access.5.html">access(5)</a> database. The lookup key has the form
15490 "username@domainname" when the <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> parameter
15491 value is non-empty. Unlike the <a href="postconf.5.html#check_client_access">check_client_access</a> feature,
15492 <a href="postconf.5.html#check_sasl_access">check_sasl_access</a> does not perform matches of parent domains or IP
15493 subnet ranges. This feature is available with Postfix version 2.11
15494 and later. </dd>
15495
15496 <dt><b><a name="permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
15497
15498 <dd>Permit the request when the client IP address matches
15499 $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. </dd>
15500
15501 <dt><b><a name="permit_mynetworks">permit_mynetworks</a></b></dt>
15502
15503 <dd>Permit the request when the client IP address matches any
15504 network or network address listed in $<a href="postconf.5.html#mynetworks">mynetworks</a>. </dd>
15505
15506 <dt><b><a name="permit_sasl_authenticated">permit_sasl_authenticated</a></b></dt>
15507
15508 <dd> Permit the request when the client is successfully
15509 authenticated via the <a href="https://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH) protocol. </dd>
15510
15511 <dt><b><a name="permit_tls_all_clientcerts">permit_tls_all_clientcerts</a></b></dt>
15512
15513 <dd> Permit the request when the remote SMTP client certificate is
15514 verified successfully. This option must be used only if a special
15515 CA issues the certificates and only this CA is listed as a trusted
15516 CA. Otherwise, clients with a third-party certificate would also
15517 be allowed to relay. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" when the
15518 trusted CA is specified with <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> or <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>,
15519 to prevent Postfix from appending the system-supplied default CAs.
15520 This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes" and is available
15521 with Postfix version 2.2 and later.</dd>
15522
15523 <dt><b><a name="permit_tls_clientcerts">permit_tls_clientcerts</a></b></dt>
15524
15525 <dd>Permit the request when the remote SMTP client certificate
15526 fingerprint or public key fingerprint (Postfix 2.9 and later) is
15527 listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
15528 The fingerprint digest algorithm is configurable via the
15529 <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
15530 Postfix version 2.5). This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
15531 = yes" and is available with Postfix version 2.2 and later.</dd>
15532
15533 <dd> The default algorithm is <b>sha256</b> with Postfix ≥ 3.6
15534 and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix
15535 ≤ 3.5, the default algorithm is <b>md5</b>. The best-practice
15536 algorithm is now <b>sha256</b>. Recent advances in hash function
15537 cryptanalysis have led to md5 and sha1 being deprecated in favor of
15538 sha256. However, as long as there are no known "second pre-image"
15539 attacks against the older algorithms, their use in this context, though
15540 not recommended, is still likely safe. </dd>
15541
15542 <dt><b><a name="reject_rbl_client">reject_rbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
15543
15544 <dd>Reject the request when the reversed client network address is
15545 listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
15546 (Postfix version 2.1 and later only). Each "<i>d</i>" is a number,
15547 or a pattern inside "[]" that contains one or more ";"-separated
15548 numbers or number..number ranges (Postfix version 2.8 and later).
15549 If no "<i>=d.d.d.d</i>" is specified, reject the request when the
15550 reversed client network address is listed with any A record under
15551 <i>rbl_domain</i>. <br>
15552 The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
15553 rejected requests (default: 554), the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter
15554 specifies the default server reply, and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter
15555 specifies tables with server replies indexed by <i>rbl_domain</i>.
15556 This feature is available in Postfix 2.0 and later. </dd>
15557
15558 <dt><b><a name="permit_dnswl_client">permit_dnswl_client <i>dnswl_domain=d.d.d.d</i></a></b></dt>
15559
15560 <dd>Accept the request when the reversed client network address is
15561 listed with the A record "<i>d.d.d.d</i>" under <i>dnswl_domain</i>.
15562 Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
15563 one or more ";"-separated numbers or number..number ranges.
15564 If no "<i>=d.d.d.d</i>" is specified, accept the request when the
15565 reversed client network address is listed with any A record under
15566 <i>dnswl_domain</i>. <br> For safety, <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a> is silently
15567 ignored when it would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>. The
15568 result is DEFER_IF_REJECT when allowlist lookup fails. This feature
15569 is available in Postfix 2.8 and later. </dd>
15570
15571 <dt><b><a name="reject_rhsbl_client">reject_rhsbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
15572
15573 <dd>Reject the request when the client hostname is listed with the
15574 A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
15575 2.1 and later only). Each "<i>d</i>" is a number, or a pattern
15576 inside "[]" that contains one or more ";"-separated numbers or
15577 number..number ranges (Postfix version 2.8 and later). If no
15578 "<i>=d.d.d.d</i>" is specified, reject the request when the client
15579 hostname is listed with
15580 any A record under <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a>
15581 description above for additional RBL related configuration parameters.
15582 This feature is available in Postfix 2.0 and later; with Postfix
15583 version 2.8 and later, <a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a> will usually
15584 produce better results. </dd>
15585
15586 <dt><b><a name="permit_rhswl_client">permit_rhswl_client <i>rhswl_domain=d.d.d.d</i></a></b></dt>
15587
15588 <dd>Accept the request when the client hostname is listed with the
15589 A record "<i>d.d.d.d</i>" under <i>rhswl_domain</i>. Each "<i>d</i>"
15590 is a number, or a pattern inside "[]" that contains one or more
15591 ";"-separated numbers or number..number ranges. If no
15592 "<i>=d.d.d.d</i>" is specified, accept the request when the client
15593 hostname is listed with any A record under <i>rhswl_domain</i>.
15594 <br> Caution: client name allowlisting is fragile, since the client
15595 name lookup can fail due to temporary outages. Client name
15596 allowlisting should be used only to reduce false positives in e.g.
15597 DNS-based blocklists, and not for making access rule exceptions.
15598 <br> For safety, <a href="postconf.5.html#permit_rhswl_client">permit_rhswl_client</a> is silently ignored when it
15599 would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>. The result is DEFER_IF_REJECT
15600 when allowlist lookup fails. This feature is available in Postfix
15601 2.8 and later. </dd>
15602
15603 <dt><b><a name="reject_rhsbl_reverse_client">reject_rhsbl_reverse_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
15604
15605 <dd>Reject the request when the unverified reverse client hostname
15606 is listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>.
15607 Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
15608 one or more ";"-separated numbers or number..number ranges.
15609 If no "<i>=d.d.d.d</i>" is specified, reject the request when the
15610 unverified reverse client hostname is listed with any A record under
15611 <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description above for
15612 additional RBL related configuration parameters. This feature is
15613 available in Postfix 2.8 and later. </dd>
15614
15615 <dt><b><a name="reject_unknown_client_hostname">reject_unknown_client_hostname</a></b> (with Postfix < 2.3: reject_unknown_client)</dt>
15616
15617 <dd>Reject the request when 1) the client IP address->name mapping
15618 fails, or 2) the name->address mapping fails, or 3) the name->address
15619 mapping does not match the client IP address. <br> This is a
15620 stronger restriction than the <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a>
15621 feature, which triggers only under condition 1) above. <br> The
15622 <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response code
15623 for rejected requests (default: 450). The reply is always 450 in
15624 case the address->name or name->address lookup failed due to
15625 a temporary problem. </dd>
15626
15627 <dt><b><a name="reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a></b></dt>
15628
15629 <dd>Reject the request when the client IP address has no address->name
15630 mapping. <br> This is a weaker restriction than the
15631 <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> feature, which requires not only
15632 that the address->name and name->address mappings exist, but
15633 also that the two mappings reproduce the client IP address. <br>
15634 The <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response
15635 code for rejected requests (default: 450). The reply is always 450
15636 in case the address->name lookup failed due to a temporary
15637 problem. <br> This feature is available in Postfix 2.3 and
15638 later. </dd>
15639
15640 </dl>
15641
15642 <p>
15643 In addition, you can use any of the following <a name="generic">
15644 generic</a> restrictions. These restrictions are applicable in
15645 any SMTP command context.
15646 </p>
15647
15648 <dl>
15649
15650 <dt><b><a name="check_policy_service">check_policy_service <i>servername</i></a></b></dt>
15651
15652 <dd>Query the specified policy server. See the <a href="SMTPD_POLICY_README.html">SMTPD_POLICY_README</a>
15653 document for details. This feature is available in Postfix 2.1
15654 and later. </dd>
15655
15656 <dt><b><a name="defer">defer</a></b></dt>
15657
15658 <dd>Defer the request. The client is told to try again later. This
15659 restriction is useful at the end of a restriction list, to make
15660 the default policy explicit. <br> The <a href="postconf.5.html#defer_code">defer_code</a> parameter specifies
15661 the SMTP server reply code (default: 450).</dd>
15662
15663 <dt><b><a name="defer_if_permit">defer_if_permit</a></b></dt>
15664
15665 <dd>Defer the request if some later restriction would result in an
15666 explicit or implicit PERMIT action. This is useful when a denylisting
15667 feature fails due to a temporary problem. This feature is available
15668 in Postfix version 2.1 and later. </dd>
15669
15670 <dt><b><a name="defer_if_reject">defer_if_reject</a></b></dt>
15671
15672 <dd>Defer the request if some later restriction would result in a
15673 REJECT action. This is useful when an allowlisting feature fails
15674 due to a temporary problem. This feature is available in Postfix
15675 version 2.1 and later. </dd>
15676
15677 <dt><b><a name="permit">permit</a></b></dt>
15678
15679 <dd>Permit the request. This restriction is useful at the end of
15680 a restriction list, to make the default policy explicit.</dd>
15681
15682 <dt><b><a name="reject_multi_recipient_bounce">reject_multi_recipient_bounce</a></b></dt>
15683
15684 <dd>Reject the request when the envelope sender is the null address,
15685 and the message has multiple envelope recipients. This usage has
15686 rare but legitimate applications: under certain conditions,
15687 multi-recipient mail that was posted with the DSN option NOTIFY=NEVER
15688 may be forwarded with the null sender address.
15689 <br> Note: this restriction can only work reliably
15690 when used in <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> or
15691 <a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>, because the total number of
15692 recipients is not known at an earlier stage of the SMTP conversation.
15693 Use at the RCPT stage will only reject the second etc. recipient.
15694 <br>
15695 The <a href="postconf.5.html#multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> parameter specifies the
15696 response code for rejected requests (default: 550). This feature
15697 is available in Postfix 2.1 and later. </dd>
15698
15699 <dt><b><a name="reject_plaintext_session">reject_plaintext_session</a></b></dt>
15700
15701 <dd>Reject the request when the connection is not encrypted. This
15702 restriction should not be used before the client has had a chance
15703 to negotiate encryption with the AUTH or STARTTLS commands.
15704 <br>
15705 The <a href="postconf.5.html#plaintext_reject_code">plaintext_reject_code</a> parameter specifies the response
15706 code for rejected requests (default: 450). This feature is available
15707 in Postfix 2.3 and later. </dd>
15708
15709 <dt><b><a name="reject_unauth_pipelining">reject_unauth_pipelining</a></b></dt>
15710
15711 <dd>Reject the request when the client sends SMTP commands ahead
15712 of time where it is not allowed, or when the client sends SMTP
15713 commands ahead of time without knowing that Postfix actually supports
15714 ESMTP command pipelining. This stops mail from bulk mail software
15715 that improperly uses ESMTP command pipelining in order to speed up
15716 deliveries.
15717 <br> With Postfix 2.6 and later, the SMTP server sets a per-session
15718 flag whenever it detects illegal pipelining, including pipelined
15719 HELO or EHLO commands. The <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> feature simply
15720 tests whether the flag was set at any point in time during the
15721 session.
15722 <br> With older Postfix versions, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> checks
15723 the current status of the input read queue, and its usage is not
15724 recommended in contexts other than <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a>. </dd>
15725
15726 <dt><b><a name="reject">reject</a></b></dt>
15727
15728 <dd>Reject the request. This restriction is useful at the end of
15729 a restriction list, to make the default policy explicit. The
15730 <a href="postconf.5.html#reject_code">reject_code</a> configuration parameter specifies the response code for
15731 rejected requests (default: 554).</dd>
15732
15733 <dt><b><a name="sleep">sleep <i>seconds</i></a></b></dt>
15734
15735 <dd>Pause for the specified number of seconds and proceed with
15736 the next restriction in the list, if any. This may stop zombie
15737 mail when used as:
15738 <pre>
15739 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
15740 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
15741 sleep 1, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
15742 <a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = no
15743 </pre>
15744 This feature is available in Postfix 2.3. </dd>
15745
15746 <dt><b><a name="warn_if_reject">warn_if_reject</a></b></dt>
15747
15748 <dd> A safety net for testing. When "<a href="postconf.5.html#warn_if_reject">warn_if_reject</a>" is placed
15749 before a reject-type restriction, access table query, or
15750 <a href="postconf.5.html#check_policy_service">check_policy_service</a> query, this logs a "reject_warning" message
15751 instead of rejecting a request (when a reject-type restriction fails
15752 due to a temporary error, this logs a "reject_warning" message for
15753 any implicit "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" actions that would normally prevent
15754 mail from being accepted by some later access restriction). This
15755 feature has no effect on <a href="postconf.5.html#defer_if_reject">defer_if_reject</a> restrictions. </dd>
15756
15757 </dl>
15758
15759 <p>
15760 Other restrictions that are valid in this context:
15761 </p>
15762
15763 <ul>
15764
15765 <li> SMTP command specific restrictions that are described under
15766 the <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>, <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> or
15767 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameters. When helo, sender or
15768 recipient restrictions are listed under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>,
15769 they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
15770 $<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> is evaluated at the time of the RCPT TO
15771 command.
15772
15773 </ul>
15774
15775 <p>
15776 Example:
15777 </p>
15778
15779 <pre>
15780 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a>
15781 </pre>
15782
15783
15784 </DD>
15785
15786 <DT><b><a name="smtpd_command_filter">smtpd_command_filter</a>
15787 (default: empty)</b></DT><DD>
15788
15789 <p> A mechanism to transform commands from remote SMTP clients.
15790 This is a last-resort tool to work around client commands that break
15791 interoperability with the Postfix SMTP server. Other uses involve
15792 fault injection to test Postfix's handling of invalid commands.
15793 </p>
15794
15795 <p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
15796 string is the SMTP command as received from the remote SMTP client,
15797 except that initial whitespace and the trailing <CR><LF>
15798 are removed. The result value is executed by the Postfix SMTP
15799 server. </p>
15800
15801 <p> There is no need to use <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for the following
15802 cases: </p>
15803
15804 <ul>
15805
15806 <li> <p> Use "<a href="postconf.5.html#resolve_numeric_domain">resolve_numeric_domain</a> = yes" to accept
15807 "<i>user@ipaddress</i>". </p>
15808
15809 <li> <p> Postfix already accepts the correct form
15810 "<i>user@[ipaddress]</i>". Use <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> or <a href="postconf.5.html#canonical_maps">canonical_maps</a>
15811 to translate these into domain names if necessary. </p>
15812
15813 <li> <p> Use "<a href="postconf.5.html#strict_rfc821_envelopes">strict_rfc821_envelopes</a> = no" to accept "RCPT TO:<<i>User
15814 Name <user (a] example.com>></i>". Postfix will ignore the "<i>User
15815 Name</i>" part and deliver to the <i><user (a] example.com></i> address.
15816 </p>
15817
15818 </ul>
15819
15820 <p> Examples of problems that can be solved with the <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>
15821 feature: </p>
15822
15823 <pre>
15824 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
15825 <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/command_filter
15826 </pre>
15827
15828 <pre>
15829 /etc/postfix/command_filter:
15830 # Work around clients that send malformed HELO commands.
15831 /^HELO\s*$/ HELO domain.invalid
15832 </pre>
15833
15834 <pre>
15835 # Work around clients that send empty lines.
15836 /^\s*$/ NOOP
15837 </pre>
15838
15839 <pre>
15840 # Work around clients that send RCPT TO:<'user@domain'>.
15841 # WARNING: do not lose the parameters that follow the address.
15842 /^(RCPT\s+TO:\s*<)'([^[:space:]]+)'(>.*)/ $1$2$3
15843 </pre>
15844
15845 <pre>
15846 # Append XVERP to MAIL FROM commands to request VERP-style delivery.
15847 # See <a href="VERP_README.html">VERP_README</a> for more information on how to use Postfix VERP.
15848 /^(MAIL\s+FROM:\s*<listname@example\.com>.*)/ $1 XVERP
15849 </pre>
15850
15851 <pre>
15852 # Bounce-never mail sink. Use <a href="postconf.5.html#notify_classes">notify_classes</a>=bounce,resource,software
15853 # to send bounced mail to the postmaster (with message body removed).
15854 /^(RCPT\s+TO:\s*<.*>.*)\s+NOTIFY=\S+(.*)/ $1 NOTIFY=NEVER$2
15855 /^(RCPT\s+TO:.*)/ $1 NOTIFY=NEVER
15856 </pre>
15857
15858 <p> This feature is available in Postfix 2.7. </p>
15859
15860
15861 </DD>
15862
15863 <DT><b><a name="smtpd_data_restrictions">smtpd_data_restrictions</a>
15864 (default: empty)</b></DT><DD>
15865
15866 <p>
15867 Optional access restrictions that the Postfix SMTP server applies
15868 in the context of the SMTP DATA command.
15869 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
15870 restriction lists" for a discussion of evaluation context and time.
15871 </p>
15872
15873 <p>
15874 This feature is available in Postfix 2.0 and later.
15875 </p>
15876
15877 <p>
15878 Specify a list of restrictions, separated by commas and/or whitespace.
15879 Continue long lines by starting the next line with whitespace.
15880 Restrictions are applied in the order as specified; the first
15881 restriction that matches wins.
15882 </p>
15883
15884 <p>
15885 The following restrictions are valid in this context:
15886 </p>
15887
15888 <ul>
15889
15890 <li><a href="#generic">Generic</a> restrictions that can be used
15891 in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
15892
15893 <li>SMTP command specific restrictions described under
15894 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
15895 <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> or <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
15896
15897 <li>However, no recipient information is available in the case of
15898 multi-recipient mail. Acting on only one recipient would be misleading,
15899 because any decision will affect all recipients equally. Acting on
15900 all recipients would require a possibly very large amount of memory,
15901 and would also be misleading for the reasons mentioned before.
15902
15903 </ul>
15904
15905 <p>
15906 Examples:
15907 </p>
15908
15909 <pre>
15910 <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
15911 <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a>
15912 </pre>
15913
15914
15915 </DD>
15916
15917 <DT><b><a name="smtpd_delay_open_until_valid_rcpt">smtpd_delay_open_until_valid_rcpt</a>
15918 (default: yes)</b></DT><DD>
15919
15920 <p> Postpone the start of an SMTP mail transaction until a valid
15921 RCPT TO command is received. Specify "no" to create a mail transaction
15922 as soon as the Postfix SMTP server receives a valid MAIL FROM
15923 command. </p>
15924
15925 <p> With sites that reject lots of mail, the default setting reduces
15926 the use of
15927 disk, CPU and memory resources. The downside is that rejected
15928 recipients are logged with NOQUEUE instead of a mail transaction
15929 ID (also known as a queue ID).
15930 </p>
15931
15932 <p> This feature is available in Postfix 2.3 and later. </p>
15933
15934
15935 </DD>
15936
15937 <DT><b><a name="smtpd_delay_reject">smtpd_delay_reject</a>
15938 (default: yes)</b></DT><DD>
15939
15940 <p>
15941 Wait until the RCPT TO command before evaluating
15942 $<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, $<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> and
15943 $<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, or wait until the ETRN command before
15944 evaluating $<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> and $<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>.
15945 </p>
15946
15947 <p>
15948 This feature is turned on by default because some clients apparently
15949 mis-behave when the Postfix SMTP server rejects commands before
15950 RCPT TO.
15951 </p>
15952
15953 <p>
15954 The default setting has one major benefit: it allows Postfix to log
15955 recipient address information when rejecting a client name/address
15956 or sender address, so that it is possible to find out whose mail
15957 is being rejected.
15958 </p>
15959
15960
15961 </DD>
15962
15963 <DT><b><a name="smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>
15964 (default: empty)</b></DT><DD>
15965
15966 <p> Lookup tables, indexed by the remote SMTP client address, with
15967 case insensitive lists of EHLO keywords (pipelining, starttls, auth,
15968 etc.) that the Postfix SMTP server will not send in the EHLO response
15969 to a
15970 remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
15971 The tables are not searched by hostname for robustness reasons. </p>
15972
15973 <p>
15974 Specify zero or more "type:name" lookup tables, separated by
15975 whitespace or comma. Tables will be searched in the specified order
15976 until a match is found.
15977 </p>
15978
15979 <p> This feature is available in Postfix 2.2 and later. </p>
15980
15981
15982 </DD>
15983
15984 <DT><b><a name="smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
15985 (default: empty)</b></DT><DD>
15986
15987 <p> A case insensitive list of EHLO keywords (pipelining, starttls,
15988 auth, etc.) that the Postfix SMTP server will not send in the EHLO
15989 response
15990 to a remote SMTP client. </p>
15991
15992 <p> This feature is available in Postfix 2.2 and later. </p>
15993
15994 <p> Notes: </p>
15995
15996 <ul>
15997
15998 <li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
15999 this action from being logged. </p>
16000
16001 <li> <p> Use the <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> feature
16002 to discard EHLO keywords selectively. </p>
16003
16004 </ul>
16005
16006
16007 </DD>
16008
16009 <DT><b><a name="smtpd_dns_reply_filter">smtpd_dns_reply_filter</a>
16010 (default: empty)</b></DT><DD>
16011
16012 <p> Optional filter for Postfix SMTP server DNS lookup results.
16013 See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example.
16014 </p>
16015
16016 <p> This feature is available in Postfix 3.0 and later. </p>
16017
16018
16019 </DD>
16020
16021 <DT><b><a name="smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>
16022 (default: empty)</b></DT><DD>
16023
16024 <p> Optional access restrictions that the Postfix SMTP server
16025 applies in the context of the SMTP END-OF-DATA command.
16026 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
16027 restriction lists" for a discussion of evaluation context and time.
16028 </p>
16029
16030 <p> This feature is available in Postfix 2.2 and later. </p>
16031
16032 <p> See <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> for details and limitations. </p>
16033
16034
16035 </DD>
16036
16037 <DT><b><a name="smtpd_enforce_tls">smtpd_enforce_tls</a>
16038 (default: no)</b></DT><DD>
16039
16040 <p> Mandatory TLS: announce STARTTLS support to remote SMTP clients,
16041 and reject all plaintext commands except HELO, EHLO, XCLIENT,
16042 STARTTLS, NOOP, QUIT, and (Postfix ≥ 3.9) HELP.
16043 According to <a href="https://tools.ietf.org/html/rfc2487">RFC 2487</a>
16044 this MUST NOT be applied in case of a publicly-referenced SMTP
16045 server. Instead, this should be used on dedicated servers, for
16046 example submission (port 587). This option is therefore off by
16047 default. </p>
16048
16049 <p> Note 1: "<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> = yes" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes". </p>
16050
16051 <p> Note 2: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
16052 STARTTLS due to insufficient privileges to access the server private
16053 key. This is intended behavior. </p>
16054
16055 <p> This feature is deprecated as of Postfix 3.9. Specify
16056 <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
16057
16058 <p> This feature is available in Postfix 2.2 and later. With
16059 Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
16060
16061
16062 </DD>
16063
16064 <DT><b><a name="smtpd_error_sleep_time">smtpd_error_sleep_time</a>
16065 (default: 1s)</b></DT><DD>
16066
16067 <p>With Postfix version 2.1 and later: the SMTP server response delay after
16068 a client has made more than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors, and
16069 fewer than $<a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a> errors, without delivering mail.
16070 </p>
16071
16072 <p>With Postfix version 2.0 and earlier: the SMTP server delay
16073 before sending a reject (4xx or 5xx) response, when the client has
16074 made fewer than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors without delivering
16075 mail. When the client has made $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> or more errors,
16076 delay all responses with the larger of (number of errors) seconds
16077 or $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a>. </p>
16078
16079 <p> Specify a non-negative time value (an integral value plus an optional
16080 one-letter suffix that specifies the time unit). Time units: s
16081 (seconds), m (minutes), h (hours), d (days), w (weeks).
16082 The default time unit is s (seconds). </p>
16083
16084
16085 </DD>
16086
16087 <DT><b><a name="smtpd_etrn_restrictions">smtpd_etrn_restrictions</a>
16088 (default: empty)</b></DT><DD>
16089
16090 <p>
16091 Optional restrictions that the Postfix SMTP server applies in the
16092 context of a client ETRN command.
16093 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
16094 restriction lists" for a discussion of evaluation context and time.
16095 </p>
16096
16097 <p>
16098 The Postfix ETRN implementation accepts only destinations that are
16099 eligible for the Postfix "fast flush" service. See the <a href="ETRN_README.html">ETRN_README</a>
16100 file for details.
16101 </p>
16102
16103 <p>
16104 Specify a list of restrictions, separated by commas and/or whitespace.
16105 Continue long lines by starting the next line with whitespace.
16106 Restrictions are applied in the order as specified; the first
16107 restriction that matches wins.
16108 </p>
16109
16110 <p>
16111 The following restrictions are specific to the domain name information
16112 received with the ETRN command.
16113 </p>
16114
16115 <dl>
16116
16117 <dt><b><a name="check_etrn_access">check_etrn_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
16118
16119 <dd>Search the specified access database for the ETRN domain name.
16120 See the <a href="access.5.html">access(5)</a> manual page for details.
16121 </dd>
16122
16123 </dl>
16124
16125 <p>
16126 Other restrictions that are valid in this context:
16127 </p>
16128
16129 <ul>
16130
16131 <li><a href="#generic">Generic</a> restrictions that can be used
16132 in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
16133
16134 <li>SMTP command specific restrictions described under
16135 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> and <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>.
16136
16137 </ul>
16138
16139 <p>
16140 Example:
16141 </p>
16142
16143 <pre>
16144 <a href="postconf.5.html#smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, reject
16145 </pre>
16146
16147
16148 </DD>
16149
16150 <DT><b><a name="smtpd_expansion_filter">smtpd_expansion_filter</a>
16151 (default: see "postconf -d" output)</b></DT><DD>
16152
16153 <p>
16154 What characters are allowed in $name expansions of RBL reply
16155 templates. Characters not in the allowed set are replaced by "_".
16156 Use C like escapes to specify special characters such as whitespace.
16157 </p>
16158
16159 <p>
16160 The <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> value is not subject to Postfix configuration
16161 parameter $name expansion.
16162 </p>
16163
16164 <p>
16165 This feature is available in Postfix 2.0 and later.
16166 </p>
16167
16168
16169 </DD>
16170
16171 <DT><b><a name="smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a>
16172 (default: Postfix ≥ 3.9: normalize)</b></DT><DD>
16173
16174 <p> Reject or restrict input lines from an SMTP client that end in
16175 <LF> instead of the standard <CR><LF>. Such line
16176 endings are commonly allowed with UNIX-based SMTP servers, but they
16177 violate <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>, and allowing such line endings can make a server
16178 vulnerable to <a href="https://www.postfix.org/smtp-smuggling.html">
16179 SMTP smuggling</a>. </p>
16180
16181 <p> Specify one of the following values (case does not matter): </p>
16182
16183 <dl compact>
16184
16185 <dt> <b>normalize</b> (default for Postfix ≥ 3.9) </dt>
16186 <dd> Require the standard
16187 End-of-DATA sequence <CR><LF>.<CR><LF>.
16188 Otherwise, allow command or message content lines ending in the
16189 non-standard <LF>, and process them as if the client sent the
16190 standard <CR><LF>. <br> <br> This maintains compatibility
16191 with many legitimate SMTP client applications that send a mix of
16192 standard and non-standard line endings, but will fail to receive
16193 email from client implementations that do not terminate DATA content
16194 with the standard End-of-DATA sequence
16195 <CR><LF>.<CR><LF>. <br> <br> Such clients
16196 can be excluded with <a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a>. </dd>
16197
16198 <dt> <b>note</b> </dt> <dd> Same as "normalize", but also notes in
16199 the log whether the Postfix SMTP server received any lines with
16200 "bare <LF>". The information is formatted as "<tt>disconnect
16201 from name[address] ... notes=bare_lf</tt>". The notes value is
16202 expected to become a list of comma-separated names. <br> <br> This
16203 feature is available in Postfix 3.9 and later. </dd>
16204
16205 <dt> <b>yes</b> </dt> <dd> Compatibility alias for <b>normalize</b>. </dd>
16206
16207 <dt> <b>reject</b> </dt> <dd> Require the standard End-of-DATA
16208 sequence <CR><LF>.<CR><LF>. Reject a command
16209 or message content when a line contains bare <LF>, log a "bare
16210 <LF> received" error, and reply with the SMTP status code in
16211 $<a href="postconf.5.html#smtpd_forbid_bare_newline_reject_code">smtpd_forbid_bare_newline_reject_code</a>. <br> <br> This will reject
16212 email from SMTP clients that send any non-standard line endings
16213 such as web applications, netcat, or load balancer health checks.
16214 <br> <br> This will also reject email from services that use BDAT
16215 to send MIME text containing a bare newline (<a href="https://tools.ietf.org/html/rfc3030">RFC 3030</a> Section 3
16216 requires canonical MIME format for text message types, defined in
16217 <a href="https://tools.ietf.org/html/rfc2045">RFC 2045</a> Sections 2.7 and 2.8). <br> <br> Such clients can be
16218 excluded with <a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a> (or, in the case
16219 of BDAT violations, BDAT can be selectively disabled with
16220 <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>, or globally disabled with
16221 <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>). </dd>
16222
16223 <dt> <b>no</b> (default for Postfix < 3.9) </dt>
16224 <dd> Do not require the standard End-of-DATA
16225 sequence <CR><LF>.<CR><LF>. Always process
16226 a bare <LF> as if the client sent <CR><LF>. This
16227 option is fully backwards compatible, but is not recommended for
16228 an Internet-facing SMTP server, because it is vulnerable to <a
16229 href="https://www.postfix.org/smtp-smuggling.html"> SMTP smuggling</a>.
16230 </dd>
16231
16232 </dl>
16233
16234 <p> Recommended settings: </p>
16235
16236 <blockquote>
16237 <pre>
16238 # Require the standard End-of-DATA sequence <CR><LF>.<CR><LF>.
16239 # Otherwise, allow bare <LF> and process it as if the client sent
16240 # <CR><LF>.
16241 #
16242 # This maintains compatibility with many legitimate SMTP client
16243 # applications that send a mix of standard and non-standard line
16244 # endings, but will fail to receive email from client implementations
16245 # that do not terminate DATA content with the standard End-of-DATA
16246 # sequence <CR><LF>.<CR><LF>.
16247 #
16248 # Such clients can be allowlisted with <a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a>.
16249 # The example below allowlists SMTP clients in trusted networks.
16250 #
16251 <a href="postconf.5.html#smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a> = normalize
16252 <a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a>
16253 </pre>
16254 </blockquote>
16255
16256 <p> Alternative: </p>
16257
16258 <blockquote>
16259 <pre>
16260 # Reject input lines that contain <LF> and log a "bare <LF> received"
16261 # error. Require that input lines end in <CR><LF>, and require the
16262 # standard End-of-DATA sequence <CR><LF>.<CR><LF>.
16263 #
16264 # This will reject email from SMTP clients that send any non-standard
16265 # line endings such as web applications, netcat, or load balancer
16266 # health checks.
16267 #
16268 # This will also reject email from services that use BDAT to send
16269 # MIME text containing a bare newline (<a href="https://tools.ietf.org/html/rfc3030">RFC 3030</a> Section 3 requires
16270 # canonical MIME format for text message types, defined in <a href="https://tools.ietf.org/html/rfc2045">RFC 2045</a>
16271 # Sections 2.7 and 2.8).
16272 #
16273 # Such clients can be allowlisted with <a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a>.
16274 # The example below allowlists SMTP clients in trusted networks.
16275 #
16276 <a href="postconf.5.html#smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a> = reject
16277 <a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a>
16278 #
16279 # Alternatively, in the case of BDAT violations, BDAT can be selectively
16280 # disabled with <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>, or globally
16281 # disabled with <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>.
16282 #
16283 # <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> = <a href="cidr_table.5.html">cidr</a>:/path/to/file
16284 # /path/to/file:
16285 # 10.0.0.0/24 chunking, silent-discard
16286 # <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> = chunking, silent-discard
16287 </pre>
16288 </blockquote>
16289
16290 <p> This feature with settings <b>yes</b> and <b>no</b> is available
16291 in Postfix 3.8.4, 3.7.9, 3.6.13, and 3.5.23. Additionally, the
16292 settings <b>reject</b>, and <b>normalize</b> are available with
16293 Postfix ≥ 3.9, 3.8.5, 3.7.10, 3.6.14, and 3.5.24. </p>
16294
16295
16296 </DD>
16297
16298 <DT><b><a name="smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a>
16299 (default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
16300
16301 <p> Exclude the specified clients from <a href="postconf.5.html#smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a>
16302 enforcement. This setting uses the same syntax and parent-domain
16303 matching behavior as <a href="postconf.5.html#mynetworks">mynetworks</a>. </p>
16304
16305 <p> This feature is available in Postfix ≥ 3.9, 3.8.4, 3.7.9,
16306 3.6.13, and 3.5.23. </p>
16307
16308
16309 </DD>
16310
16311 <DT><b><a name="smtpd_forbid_bare_newline_reject_code">smtpd_forbid_bare_newline_reject_code</a>
16312 (default: 550)</b></DT><DD>
16313
16314 <p>
16315 The numerical Postfix SMTP server response code when rejecting a
16316 request with "<a href="postconf.5.html#smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a> = reject".
16317 Specify a 5XX status code (521 to disconnect).
16318 </p>
16319
16320 <p> This feature is available in Postfix ≥ 3.9, 3.8.5, 3.7.10,
16321 3.6.14, and 3.5.24. </p>
16322
16323
16324 </DD>
16325
16326 <DT><b><a name="smtpd_forbid_unauth_pipelining">smtpd_forbid_unauth_pipelining</a>
16327 (default: Postfix ≥ 3.9: yes)</b></DT><DD>
16328
16329 <p> Disconnect remote SMTP clients that violate <a href="https://tools.ietf.org/html/rfc2920">RFC 2920</a> (or 5321)
16330 command pipelining constraints. The server replies with "554 5.5.0
16331 Error: SMTP protocol synchronization" and logs the unexpected remote
16332 SMTP client input. This feature is enabled by default with Postfix
16333 ≥ 3.9. Specify "<a href="postconf.5.html#smtpd_forbid_unauth_pipelining">smtpd_forbid_unauth_pipelining</a> = no" to disable.
16334 </p>
16335
16336 <p> This feature is available in Postfix ≥ 3.9, 3.8.1, 3.7.6,
16337 3.6.10, and 3.5.20. </p>
16338
16339
16340 </DD>
16341
16342 <DT><b><a name="smtpd_forbidden_commands">smtpd_forbidden_commands</a>
16343 (default: CONNECT GET POST <a href="regexp_table.5.html">regexp</a>:{{/^[^A-Z]/ Bogus}})</b></DT><DD>
16344
16345 <p>
16346 List of commands that cause the Postfix SMTP server to immediately
16347 terminate the session with a 221 code. This can be used to disconnect
16348 clients that obviously attempt to abuse the system. In addition to the
16349 commands listed in this parameter, commands that follow the "Label:"
16350 format of message headers will also cause a disconnect. With Postfix
16351 versions 3.6 and earlier, the default value is "CONNECT GET POST".
16352 </p>
16353
16354 <p>
16355 This feature is available in Postfix 2.2 and later.
16356 </p>
16357
16358 <p>
16359 Support for inline regular expressions was added in Postfix version
16360 3.7. See <a href="regexp_table.5.html">regexp_table(5)</a> for a description of the syntax and features.
16361 </p>
16362
16363
16364 </DD>
16365
16366 <DT><b><a name="smtpd_hard_error_limit">smtpd_hard_error_limit</a>
16367 (default: normal: 20, <a href="STRESS_README.html">overload</a>: 1)</b></DT><DD>
16368
16369 <p>
16370 The maximal number of errors a remote SMTP client is allowed to
16371 make without delivering mail. The Postfix SMTP server disconnects
16372 when the limit is reached. Normally the default limit is 20, but
16373 it changes under overload to just 1. With Postfix 2.5 and earlier,
16374 the SMTP server always allows up to 20 errors by default.
16375 Valid values are greater than zero.
16376
16377 </p>
16378
16379
16380 </DD>
16381
16382 <DT><b><a name="smtpd_helo_required">smtpd_helo_required</a>
16383 (default: no)</b></DT><DD>
16384
16385 <p>
16386 Require that a remote SMTP client introduces itself with the HELO
16387 or EHLO command before sending the MAIL command or other commands
16388 that require EHLO negotiation.
16389 </p>
16390
16391 <p>
16392 Example:
16393 </p>
16394
16395 <pre>
16396 <a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes
16397 </pre>
16398
16399
16400 </DD>
16401
16402 <DT><b><a name="smtpd_helo_restrictions">smtpd_helo_restrictions</a>
16403 (default: empty)</b></DT><DD>
16404
16405 <p>
16406 Optional restrictions that the Postfix SMTP server applies in the
16407 context of a client HELO command.
16408 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
16409 restriction lists" for a discussion of evaluation context and time.
16410 </p>
16411
16412 <p>
16413 The default is to permit everything.
16414 </p>
16415
16416 <p> Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
16417 restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
16418 simply skip <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> by not sending HELO or EHLO).
16419 </p>
16420
16421 <p>
16422 Specify a list of restrictions, separated by commas and/or whitespace.
16423 Continue long lines by starting the next line with whitespace.
16424 Restrictions are applied in the order as specified; the first
16425 restriction that matches wins.
16426 </p>
16427
16428 <p>
16429 The following restrictions are specific to the hostname information
16430 received with the HELO or EHLO command.
16431 </p>
16432
16433 <dl>
16434
16435 <dt><b><a name="check_helo_access">check_helo_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
16436
16437 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the HELO or EHLO
16438 hostname, and execute the corresponding action.
16439 Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
16440 restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
16441 simply skip <a href="postconf.5.html#check_helo_access">check_helo_access</a> by not sending HELO or EHLO). </dd>
16442
16443 <dt><b><a name="check_helo_a_access">check_helo_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
16444
16445 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
16446 the HELO or EHLO hostname, and execute the corresponding action.
16447 Note 1: a result of "OK" is not allowed for safety reasons. Instead,
16448 use DUNNO in order to exclude specific hosts from denylists. Note
16449 2: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
16450 restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
16451 simply skip check_helo_a_access by not sending HELO or EHLO). This
16452 feature is available in Postfix 3.0 and later.
16453 </dd>
16454
16455 <dt><b><a name="check_helo_mx_access">check_helo_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
16456
16457 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
16458 the HELO or EHLO hostname, and execute the corresponding action.
16459 If no MX record is found, look up A or AAAA records, just like the
16460 Postfix SMTP client would.
16461 Note 1: a result of "OK" is not allowed for safety reasons. Instead,
16462 use DUNNO in order to exclude specific hosts from denylists. Note
16463 2: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
16464 restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
16465 simply skip <a href="postconf.5.html#check_helo_mx_access">check_helo_mx_access</a> by not sending HELO or EHLO). This
16466 feature is available in Postfix 2.1 and later.
16467 </dd>
16468
16469 <dt><b><a name="check_helo_ns_access">check_helo_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
16470
16471 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
16472 for the HELO or EHLO hostname, and execute the corresponding action.
16473 Note 1: a result of "OK" is not allowed for safety reasons. Instead,
16474 use DUNNO in order to exclude specific hosts from denylists. Note
16475 2: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
16476 restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
16477 simply skip <a href="postconf.5.html#check_helo_ns_access">check_helo_ns_access</a> by not sending HELO or EHLO). This
16478 feature is available in Postfix 2.1 and later.
16479 </dd>
16480
16481 <dt><b><a name="reject_invalid_helo_hostname">reject_invalid_helo_hostname</a></b> (with Postfix < 2.3: reject_invalid_hostname)</dt>
16482
16483 <dd>Reject the request when the HELO or EHLO hostname is malformed.
16484 Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce
16485 this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply
16486 skip <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> by not sending HELO or EHLO).
16487 <br> The <a href="postconf.5.html#invalid_hostname_reject_code">invalid_hostname_reject_code</a> specifies the response code
16488 for rejected requests (default: 501).</dd>
16489
16490 <dt><b><a name="reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a></b> (with Postfix < 2.3: reject_non_fqdn_hostname)</dt>
16491
16492 <dd>Reject the request when the HELO or EHLO hostname is not in
16493 fully-qualified domain or address literal form, as required by the
16494 RFC. Note: specify
16495 "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this restriction
16496 (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply skip
16497 <a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a> by not sending HELO or EHLO). <br>
16498 The <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
16499 rejected requests (default: 504).</dd>
16500
16501 <dt><b><a name="reject_rhsbl_helo">reject_rhsbl_helo <i>rbl_domain=d.d.d.d</i></a></b></dt>
16502
16503 <dd>Reject the request when the HELO or EHLO hostname is
16504 listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
16505 (Postfix version 2.1 and later only). Each "<i>d</i>" is a number,
16506 or a pattern inside "[]" that contains one or more ";"-separated
16507 numbers or number..number ranges (Postfix version 2.8 and later).
16508 If no "<i>=d.d.d.d</i>" is
16509 specified, reject the request when the HELO or EHLO hostname is
16510 listed with any A record under <i>rbl_domain</i>. See the
16511 <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description for additional RBL related configuration
16512 parameters. Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
16513 enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
16514 client can simply skip <a href="postconf.5.html#reject_rhsbl_helo">reject_rhsbl_helo</a> by not sending HELO or
16515 EHLO). This feature is available in Postfix 2.0
16516 and later. </dd>
16517
16518 <dt><b><a name="reject_unknown_helo_hostname">reject_unknown_helo_hostname</a></b> (with Postfix < 2.3: reject_unknown_hostname)</dt>
16519
16520 <dd>Reject the request when the HELO or EHLO hostname has no DNS A
16521 or MX record. <br> The reply is specified with the
16522 <a href="postconf.5.html#unknown_hostname_reject_code">unknown_hostname_reject_code</a> parameter (default: 450) or
16523 <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a> (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).
16524 See the respective parameter descriptions for details. <br>
16525 Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
16526 enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
16527 client can simply skip <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> by not sending
16528 HELO or EHLO). </dd>
16529
16530 </dl>
16531
16532 <p>
16533 Other restrictions that are valid in this context:
16534 </p>
16535
16536 <ul>
16537
16538 <li> <a href="#generic">Generic</a> restrictions that can be used
16539 in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
16540
16541 <li> Client hostname or network address specific restrictions
16542 described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
16543
16544 <li> SMTP command specific restrictions described under
16545 <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> or <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When
16546 sender or recipient restrictions are listed under <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
16547 they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
16548 $<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> is evaluated at the time of the RCPT TO
16549 command.
16550
16551 </ul>
16552
16553 <p>
16554 Examples:
16555 </p>
16556
16557 <pre>
16558 <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a>
16559 <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>
16560 </pre>
16561
16562
16563 </DD>
16564
16565 <DT><b><a name="smtpd_hide_client_session">smtpd_hide_client_session</a>
16566 (default: no)</b></DT><DD>
16567
16568 <p> Do not include SMTP client session information in the Postfix
16569 SMTP server's Received: message header. </p>
16570
16571 <ul>
16572
16573 <li> <p> The default setting, "<a href="postconf.5.html#smtpd_hide_client_session">smtpd_hide_client_session</a> = no",
16574 must be used for the port 25 MTA service. It provides information
16575 that is required by <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. </p>
16576
16577 <li> <p> The setting "<a href="postconf.5.html#smtpd_hide_client_session">smtpd_hide_client_session</a> = yes" may be used
16578 for the port 587 and 465 MUA services. This hides the SMTP client
16579 hostname and IP address, TLS session details, SASL login details,
16580 and SMTP protocol details. </p>
16581
16582 </ul>
16583
16584 <p> Depending on the number of recipients, a redacted Received:
16585 header has one of the following forms: </p>
16586
16587 <blockquote>
16588 <pre>
16589 Received: by mail.example.com (Postfix) id postfix-queue-id
16590 for <user (a] example.com>; Day, dd Mon yyyy hh:mm:ss tz-offset (zone)
16591 <br>
16592 Received: by mail.example.com (Postfix) id postfix-queue-id
16593 Day, dd Mon yyyy hh:mm:ss tz-offset (zone)
16594 </pre>
16595 </blockquote>
16596
16597 <p> The redacted form hides that a message was received with SMTP,
16598 and therefore it does not need to provide the information required by
16599 <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. The form does still meet <a href="https://tools.ietf.org/html/rfc5322">RFC 5322</a> requirements. </p>
16600
16601 <p> This feature is available in Postfix ≥ 3.10. </p>
16602
16603
16604 </DD>
16605
16606 <DT><b><a name="smtpd_history_flush_threshold">smtpd_history_flush_threshold</a>
16607 (default: 100)</b></DT><DD>
16608
16609 <p>
16610 The maximal number of lines in the Postfix SMTP server command history
16611 before it is flushed upon receipt of EHLO, RSET, or end of DATA.
16612 </p>
16613
16614
16615 </DD>
16616
16617 <DT><b><a name="smtpd_junk_command_limit">smtpd_junk_command_limit</a>
16618 (default: normal: 100, <a href="STRESS_README.html">overload</a>: 1)</b></DT><DD>
16619
16620 <p>
16621 The number of junk commands (NOOP, VRFY, ETRN or RSET) that a remote
16622 SMTP client can send before the Postfix SMTP server starts to
16623 increment the error counter with each junk command. The junk
16624 command count is reset after mail is delivered. See also the
16625 <a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> and <a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> configuration
16626 parameters. Normally the default limit is 100, but it changes under
16627 overload to just 1. With Postfix 2.5 and earlier, the SMTP server
16628 always allows up to 100 junk commands by default. </p>
16629
16630
16631 </DD>
16632
16633 <DT><b><a name="smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a>
16634 (default: empty)</b></DT><DD>
16635
16636 <p> Enable logging of the named "permit" actions in SMTP server
16637 access lists (by default, the SMTP server logs "reject" actions but
16638 not "permit" actions). This feature does not affect conditional
16639 actions such as "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>". </p>
16640
16641 <p> Specify a list of "permit" action names, "/file/name" or
16642 "<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. The
16643 list is matched left to right, and the search stops on the first
16644 match. A "/file/name" pattern is replaced by its contents; a
16645 "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup
16646 key (the lookup result is ignored). Continue long lines by starting
16647 the next line with whitespace. Specify "!pattern" to exclude a name
16648 from the list. </p>
16649
16650 <p> Examples: </p>
16651
16652 <pre>
16653 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
16654 # Log all "permit" actions.
16655 <a href="postconf.5.html#smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a> = <a href="DATABASE_README.html#types">static</a>:all
16656 </pre>
16657
16658 <pre>
16659 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
16660 # Log "<a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a>" only.
16661 <a href="postconf.5.html#smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a> = <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a>
16662 </pre>
16663
16664 <p> This feature is available in Postfix 2.10 and later. </p>
16665
16666
16667 </DD>
16668
16669 <DT><b><a name="smtpd_milter_maps">smtpd_milter_maps</a>
16670 (default: empty)</b></DT><DD>
16671
16672 <p> Lookup tables with Milter settings per remote SMTP client IP
16673 address. The lookup result overrides the <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> setting,
16674 and has the same syntax. </p>
16675
16676 <p> Note: lookup tables cannot return empty responses. Specify a
16677 lookup result of DISABLE (case does not matter) to indicate that
16678 Milter support should be disabled. </p>
16679
16680 <p> Example to disable Milters for local clients: </p>
16681
16682 <pre>
16683 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
16684 <a href="postconf.5.html#smtpd_milter_maps">smtpd_milter_maps</a> = <a href="cidr_table.5.html">cidr</a>:/etc/postfix/smtpd_milter_map
16685 <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> = inet:host:port, { inet:host:port, ... }, ...
16686 </pre>
16687
16688 <pre>
16689 /etc/postfix/smtpd_milter_map:
16690 # Disable Milters for local clients.
16691 127.0.0.0/8 DISABLE
16692 192.168.0.0/16 DISABLE
16693 ::/64 DISABLE
16694 2001:db8::/32 DISABLE
16695 </pre>
16696
16697 <p> This feature is available in Postfix 3.2 and later. </p>
16698
16699
16700 </DD>
16701
16702 <DT><b><a name="smtpd_milters">smtpd_milters</a>
16703 (default: empty)</b></DT><DD>
16704
16705 <p> A list of Milter (mail filter) applications for new mail that
16706 arrives via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. Specify space or comma as
16707 separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details. </p>
16708
16709 <p> This feature is available in Postfix 2.3 and later. </p>
16710
16711
16712 </DD>
16713
16714 <DT><b><a name="smtpd_min_data_rate">smtpd_min_data_rate</a>
16715 (default: 500)</b></DT><DD>
16716
16717 <p> The minimum plaintext data transfer rate in bytes/second for
16718 DATA and BDAT requests, when deadlines are enabled with
16719 <a href="postconf.5.html#smtpd_per_request_deadline">smtpd_per_request_deadline</a>. After a read operation transfers N
16720 plaintext message bytes (possibly after TLS decryption), and after
16721 the DATA or BDAT request deadline is decremented by the elapsed
16722 time of that read operation, the DATA or BDAT request deadline is
16723 incremented by N/smtpd_min_data_rate seconds. However, the deadline
16724 will never be incremented beyond the time limit specified with
16725 <a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a>. </p>
16726
16727 <p> This feature is available in Postfix 3.7 and later. </p>
16728
16729
16730 </DD>
16731
16732 <DT><b><a name="smtpd_noop_commands">smtpd_noop_commands</a>
16733 (default: empty)</b></DT><DD>
16734
16735 <p>
16736 List of commands that the Postfix SMTP server replies to with "250
16737 Ok", without doing any syntax checks and without changing state.
16738 This list overrides any commands built into the Postfix SMTP server.
16739 </p>
16740
16741
16742 </DD>
16743
16744 <DT><b><a name="smtpd_null_access_lookup_key">smtpd_null_access_lookup_key</a>
16745 (default: <>)</b></DT><DD>
16746
16747 <p>
16748 The lookup key to be used in SMTP <a href="access.5.html">access(5)</a> tables instead of the
16749 null sender address.
16750 </p>
16751
16752
16753 </DD>
16754
16755 <DT><b><a name="smtpd_peername_lookup">smtpd_peername_lookup</a>
16756 (default: yes)</b></DT><DD>
16757
16758 <p> Attempt to look up the remote SMTP client hostname, and verify that
16759 the name matches the client IP address. A client name is set to
16760 "unknown" when it cannot be looked up or verified, or when name
16761 lookup is disabled. Turning off name lookup reduces delays due to
16762 DNS lookup and increases the maximal inbound delivery rate. </p>
16763
16764 <p> This feature is available in Postfix 2.3 and later. </p>
16765
16766
16767 </DD>
16768
16769 <DT><b><a name="smtpd_per_record_deadline">smtpd_per_record_deadline</a>
16770 (default: normal: no, <a href="STRESS_README.html">overload</a>: yes)</b></DT><DD>
16771
16772 <p> Change the behavior of the <a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a> and <a href="postconf.5.html#smtpd_starttls_timeout">smtpd_starttls_timeout</a>
16773 time limits, from a
16774 time limit per read or write system call, to a time limit to send
16775 or receive a complete record (an SMTP command line, SMTP response
16776 line, SMTP message content line, or TLS protocol message). This
16777 limits the impact from hostile peers that trickle data one byte at
16778 a time. </p>
16779
16780 <p> Note: when per-record deadlines are enabled, a short timeout
16781 may cause problems with TLS over very slow network connections.
16782 The reasons are that a TLS protocol message can be up to 16 kbytes
16783 long (with TLSv1), and that an entire TLS protocol message must be
16784 sent or received within the per-record deadline. </p>
16785
16786 <p> This feature is available in Postfix 2.9-3.6. With older
16787 Postfix releases, the behavior is as if this parameter is set to
16788 "no". Postfix 3.7 and later use <a href="postconf.5.html#smtpd_per_request_deadline">smtpd_per_request_deadline</a>. </p>
16789
16790
16791 </DD>
16792
16793 <DT><b><a name="smtpd_per_request_deadline">smtpd_per_request_deadline</a>
16794 (default: normal: no, <a href="STRESS_README.html">overload</a>: yes)</b></DT><DD>
16795
16796 <p> Change the behavior of the <a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a> and <a href="postconf.5.html#smtpd_starttls_timeout">smtpd_starttls_timeout</a>
16797 time limits, from a time limit per plaintext or TLS read or write
16798 call, to a combined time limit for receiving a complete SMTP request
16799 and for sending a complete SMTP response. The deadline limits only
16800 the time spent waiting for plaintext or TLS read or write calls,
16801 not time spent elsewhere. The per-request deadline limits the impact
16802 from hostile peers that trickle data one byte at a time. </p>
16803
16804 <p> See <a href="postconf.5.html#smtpd_min_data_rate">smtpd_min_data_rate</a> for how the per-request deadline is
16805 managed during the DATA and BDAT phase. </p>
16806
16807 <p> Note: when per-request deadlines are enabled, a short time limit
16808 may cause problems with TLS over very slow network connections. The
16809 reason is that a TLS protocol message can be up to 16 kbytes long
16810 (with TLSv1), and that an entire TLS protocol message must be
16811 transferred within the per-request deadline. </p>
16812
16813 <p> This feature is available in Postfix 3.7 and later. A weaker
16814 feature, called <a href="postconf.5.html#smtpd_per_record_deadline">smtpd_per_record_deadline</a>, is available with Postfix
16815 2.9-3.6. With older Postfix releases, the behavior is as if this
16816 parameter is set to "no". </p>
16817
16818 <p> This feature is available in Postfix 3.7 and later. </p>
16819
16820
16821 </DD>
16822
16823 <DT><b><a name="smtpd_policy_service_default_action">smtpd_policy_service_default_action</a>
16824 (default: 451 4.3.5 Server configuration problem)</b></DT><DD>
16825
16826 <p> The default action when an SMTPD policy service request fails.
16827 Specify "DUNNO" to behave as if the failed SMTPD policy service
16828 request was not sent, and to continue processing other access
16829 restrictions, if any. </p>
16830
16831 <p> Limitations: </p>
16832
16833 <ul>
16834
16835 <li> <p> This parameter may specify any value that would be a valid
16836 SMTPD policy server response (or <a href="access.5.html">access(5)</a> map lookup result). An
16837 <a href="access.5.html">access(5)</a> map or policy server in this parameter value may need to
16838 be declared in advance with a restriction_class setting. </p>
16839
16840 <li> <p> If the specified action invokes another <a href="postconf.5.html#check_policy_service">check_policy_service</a>
16841 request, that request will have the built-in default action. </p>
16842
16843 </ul>
16844
16845 <p> This feature is available in Postfix 3.0 and later. </p>
16846
16847
16848 </DD>
16849
16850 <DT><b><a name="smtpd_policy_service_max_idle">smtpd_policy_service_max_idle</a>
16851 (default: 300s)</b></DT><DD>
16852
16853 <p>
16854 The time after which an idle SMTPD policy service connection is
16855 closed.
16856 </p>
16857
16858 <p> Specify a non-zero time value (an integral value plus an optional
16859 one-letter suffix that specifies the time unit). Time units: s
16860 (seconds), m (minutes), h (hours), d (days), w (weeks).
16861 The default time unit is s (seconds). </p>
16862
16863 <p>
16864 This feature is available in Postfix 2.1 and later.
16865 </p>
16866
16867
16868 </DD>
16869
16870 <DT><b><a name="smtpd_policy_service_max_ttl">smtpd_policy_service_max_ttl</a>
16871 (default: 1000s)</b></DT><DD>
16872
16873 <p>
16874 The time after which an active SMTPD policy service connection is
16875 closed.
16876 </p>
16877
16878 <p> Specify a non-zero time value (an integral value plus an optional
16879 one-letter suffix that specifies the time unit). Time units: s
16880 (seconds), m (minutes), h (hours), d (days), w (weeks).
16881 The default time unit is s (seconds). </p>
16882
16883 <p>
16884 This feature is available in Postfix 2.1 and later.
16885 </p>
16886
16887
16888 </DD>
16889
16890 <DT><b><a name="smtpd_policy_service_policy_context">smtpd_policy_service_policy_context</a>
16891 (default: empty)</b></DT><DD>
16892
16893 <p> Optional information that the Postfix SMTP server specifies in
16894 the "policy_context" attribute of a policy service request (originally,
16895 to share the same service endpoint among multiple <a href="postconf.5.html#check_policy_service">check_policy_service</a>
16896 clients). </p>
16897
16898 <p>
16899 This feature is available in Postfix 3.1 and later.
16900 </p>
16901
16902
16903 </DD>
16904
16905 <DT><b><a name="smtpd_policy_service_request_limit">smtpd_policy_service_request_limit</a>
16906 (default: 0)</b></DT><DD>
16907
16908 <p>
16909 The maximal number of requests per SMTPD policy service connection,
16910 or zero (no limit). Once a connection reaches this limit, the
16911 connection is closed and the next request will be sent over a new
16912 connection. This is a workaround to avoid error-recovery delays
16913 with policy servers that cannot maintain a persistent connection.
16914 </p>
16915
16916 <p>
16917 This feature is available in Postfix 3.0 and later.
16918 </p>
16919
16920
16921 </DD>
16922
16923 <DT><b><a name="smtpd_policy_service_retry_delay">smtpd_policy_service_retry_delay</a>
16924 (default: 1s)</b></DT><DD>
16925
16926 <p> The delay between attempts to resend a failed SMTPD policy
16927 service request. Specify a value greater than zero. </p>
16928
16929 <p> Specify a non-zero time value (an integral value plus an optional
16930 one-letter suffix that specifies the time unit). Time units: s
16931 (seconds), m (minutes), h (hours), d (days), w (weeks).
16932 The default time unit is s (seconds). </p>
16933
16934 <p> This feature is available in Postfix 3.0 and later. </p>
16935
16936
16937 </DD>
16938
16939 <DT><b><a name="smtpd_policy_service_timeout">smtpd_policy_service_timeout</a>
16940 (default: 100s)</b></DT><DD>
16941
16942 <p>
16943 The time limit for connecting to, writing to, or receiving from a
16944 delegated SMTPD policy server.
16945 </p>
16946
16947 <p> Specify a non-zero time value (an integral value plus an optional
16948 one-letter suffix that specifies the time unit). Time units: s
16949 (seconds), m (minutes), h (hours), d (days), w (weeks).
16950 The default time unit is s (seconds). </p>
16951
16952 <p>
16953 This feature is available in Postfix 2.1 and later.
16954 </p>
16955
16956
16957 </DD>
16958
16959 <DT><b><a name="smtpd_policy_service_try_limit">smtpd_policy_service_try_limit</a>
16960 (default: 2)</b></DT><DD>
16961
16962 <p> The maximal number of attempts to send an SMTPD policy service
16963 request before giving up. Specify a value greater than zero. </p>
16964
16965 <p> This feature is available in Postfix 3.0 and later. </p>
16966
16967
16968 </DD>
16969
16970 <DT><b><a name="smtpd_proxy_ehlo">smtpd_proxy_ehlo</a>
16971 (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
16972
16973 <p>
16974 How the Postfix SMTP server announces itself to the proxy filter.
16975 By default, the Postfix hostname is used.
16976 </p>
16977
16978 <p>
16979 This feature is available in Postfix 2.1 and later.
16980 </p>
16981
16982
16983 </DD>
16984
16985 <DT><b><a name="smtpd_proxy_filter">smtpd_proxy_filter</a>
16986 (default: empty)</b></DT><DD>
16987
16988 <p> The hostname and TCP port of the mail filtering proxy server.
16989 The proxy receives all mail from the Postfix SMTP server, and is
16990 supposed to give the result to another Postfix SMTP server process.
16991 </p>
16992
16993 <p> Specify "host:port" or "inet:host:port" for a TCP endpoint, or
16994 "unix:pathname" for a UNIX-domain endpoint. The host can be specified
16995 as an IP address or as a symbolic name; no MX lookups are done.
16996 When no "host" or "host:" is specified, the local machine is
16997 assumed. Pathname interpretation is relative to the Postfix queue
16998 directory. </p>
16999
17000 <p> This feature is available in Postfix 2.1 and later. </p>
17001
17002 <p> The "inet:" and "unix:" prefixes are available in Postfix 2.3
17003 and later. </p>
17004
17005
17006 </DD>
17007
17008 <DT><b><a name="smtpd_proxy_options">smtpd_proxy_options</a>
17009 (default: empty)</b></DT><DD>
17010
17011 <p>
17012 List of options that control how the Postfix SMTP server
17013 communicates with a before-queue content filter. Specify zero or
17014 more of the following, separated by comma or whitespace. </p>
17015
17016 <dl>
17017
17018 <dt><b>speed_adjust</b></dt>
17019
17020 <dd> <p> Do not connect to a before-queue content filter until an entire
17021 message has been received. This reduces the number of simultaneous
17022 before-queue content filter processes. </p>
17023
17024 <p> NOTE 1: A filter must not <i>selectively</i> reject recipients
17025 of a multi-recipient message. Rejecting all recipients is OK, as
17026 is accepting all recipients. </p>
17027
17028 <p> NOTE 2: This feature increases the minimum amount of free queue
17029 space by $<a href="postconf.5.html#message_size_limit">message_size_limit</a>. The extra space is needed to save the
17030 message to a temporary file. </p> </dd>
17031
17032 </dl>
17033
17034 <p>
17035 This feature is available in Postfix 2.7 and later.
17036 </p>
17037
17038
17039 </DD>
17040
17041 <DT><b><a name="smtpd_proxy_timeout">smtpd_proxy_timeout</a>
17042 (default: 100s)</b></DT><DD>
17043
17044 <p>
17045 The time limit for connecting to a proxy filter and for sending or
17046 receiving information. When a connection fails the client gets a
17047 generic error message while more detailed information is logged to
17048 the maillog file.
17049 </p>
17050
17051 <p> Specify a non-zero time value (an integral value plus an optional
17052 one-letter suffix that specifies the time unit). Time units: s
17053 (seconds), m (minutes), h (hours), d (days), w (weeks).
17054 The default time unit is s (seconds). </p>
17055
17056 <p>
17057 This feature is available in Postfix 2.1 and later.
17058 </p>
17059
17060
17061 </DD>
17062
17063 <DT><b><a name="smtpd_recipient_limit">smtpd_recipient_limit</a>
17064 (default: 1000)</b></DT><DD>
17065
17066 <p>
17067 The maximal number of recipients that the Postfix SMTP server
17068 accepts per message delivery request.
17069 </p>
17070
17071
17072 </DD>
17073
17074 <DT><b><a name="smtpd_recipient_overshoot_limit">smtpd_recipient_overshoot_limit</a>
17075 (default: 1000)</b></DT><DD>
17076
17077 <p> The number of recipients that a remote SMTP client can send in
17078 excess of the limit specified with $<a href="postconf.5.html#smtpd_recipient_limit">smtpd_recipient_limit</a>, before
17079 the Postfix SMTP server increments the per-session error count
17080 for each excess recipient. </p>
17081
17082
17083 </DD>
17084
17085 <DT><b><a name="smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>
17086 (default: see "postconf -d" output)</b></DT><DD>
17087
17088 <p>
17089 Optional restrictions that the Postfix SMTP server applies in the
17090 context of a client RCPT TO command, after <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
17091 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
17092 restriction lists" for a discussion of evaluation context and time.
17093 </p>
17094
17095 <p> With Postfix versions before 2.10, the rules for relay permission
17096 and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
17097 resulting in error-prone configuration. As of Postfix 2.10, relay
17098 permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
17099 so that a permissive spam blocking policy under
17100 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
17101 mail relay policy. </p>
17102
17103 <p> For backwards compatibility, sites that migrate from Postfix
17104 versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
17105 value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
17106
17107 <p>
17108 IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
17109 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
17110 at least one of the following restrictions. Otherwise Postfix will
17111 refuse to receive mail:
17112 </p>
17113
17114 <blockquote>
17115 <pre>
17116 reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
17117 </pre>
17118 </blockquote>
17119
17120 <blockquote>
17121 <pre>
17122 defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
17123 </pre>
17124 </blockquote>
17125
17126 <p>
17127 Specify a list of restrictions, separated by commas and/or whitespace.
17128 Continue long lines by starting the next line with whitespace.
17129 Restrictions are applied in the order as specified; the first
17130 restriction that matches wins.
17131 </p>
17132
17133 <p>
17134 The following restrictions are specific to the recipient address
17135 that is received with the RCPT TO command.
17136 </p>
17137
17138 <dl>
17139
17140 <dt><b><a name="check_recipient_access">check_recipient_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
17141
17142 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the resolved RCPT
17143 TO address, and execute the corresponding action. </dd>
17144
17145 <dt><b><a name="check_recipient_a_access">check_recipient_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
17146
17147 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
17148 the RCPT TO domain, and execute the corresponding action. Note:
17149 a result of "OK" is not allowed for safety reasons. Instead, use
17150 DUNNO in order to exclude specific hosts from denylists. This
17151 feature is available in Postfix 3.0 and later. </dd>
17152
17153 <dt><b><a name="check_recipient_mx_access">check_recipient_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
17154
17155 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
17156 the RCPT TO domain, and execute the corresponding action. If no
17157 MX record is found, look up A or AAAA records, just like the Postfix
17158 SMTP client would. Note:
17159 a result of "OK" is not allowed for safety reasons. Instead, use
17160 DUNNO in order to exclude specific hosts from denylists. This
17161 feature is available in Postfix 2.1 and later. </dd>
17162
17163 <dt><b><a name="check_recipient_ns_access">check_recipient_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
17164
17165 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
17166 for the RCPT TO domain, and execute the corresponding action.
17167 Note: a result of "OK" is not allowed for safety reasons. Instead,
17168 use DUNNO in order to exclude specific hosts from denylists. This
17169 feature is available in Postfix 2.1 and later. </dd>
17170
17171 <dt><b><a name="permit_auth_destination">permit_auth_destination</a></b></dt>
17172
17173 <dd>Permit the request when one of the following is true:
17174
17175 <ul>
17176
17177 <li> Postfix is a mail forwarder: the resolved RCPT TO domain matches
17178 $<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and the address contains no
17179 sender-specified routing (user@elsewhere@domain),
17180
17181 <li> Postfix is the final destination: the resolved RCPT TO domain
17182 matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>, $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>,
17183 $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, or $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>, and the address
17184 contains no sender-specified routing (user@elsewhere@domain).
17185
17186 </ul></dd>
17187
17188 <dt><b><a name="permit_mx_backup">permit_mx_backup</a></b></dt>
17189
17190 <dd>Permit the request when the local mail system is a backup MX for
17191 the RCPT TO domain, or when the domain is an authorized destination
17192 (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> for definition).
17193
17194 <ul>
17195
17196 <li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> does not accept addresses that have
17197 sender-specified routing information (example: user@elsewhere@domain).
17198
17199 <li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> can be vulnerable to mis-use when
17200 access is not restricted with <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>.
17201
17202 <li> Safety: as of Postfix version 2.3, <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> no longer
17203 accepts the address when the local mail system is a primary MX for
17204 the recipient domain. Exception: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> accepts the address
17205 when it specifies an authorized destination (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
17206 for definition).
17207
17208 <li> Limitation: mail may be rejected in case of a temporary DNS
17209 lookup problem with Postfix prior to version 2.0.
17210
17211 </ul></dd>
17212
17213 <dt><b><a name="reject_non_fqdn_recipient">reject_non_fqdn_recipient</a></b></dt>
17214
17215 <dd>Reject the request when the RCPT TO address specifies a
17216 domain that is not in
17217 fully-qualified domain form, as required by the RFC. <br> The
17218 <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
17219 rejected requests (default: 504). </dd>
17220
17221 <dt><b><a name="reject_rhsbl_recipient">reject_rhsbl_recipient <i>rbl_domain=d.d.d.d</i></a></b></dt>
17222
17223 <dd>Reject the request when the RCPT TO domain is listed with the
17224 A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
17225 2.1 and later only). Each "<i>d</i>" is a number, or a pattern
17226 inside "[]" that contains one or more ";"-separated numbers or
17227 number..number ranges (Postfix version 2.8 and later). If no
17228 "<i>=d.d.d.d</i>" is specified, reject
17229 the request when the RCPT TO domain is listed with
17230 any A record under <i>rbl_domain</i>. <br> The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a>
17231 parameter specifies the response code for rejected requests (default:
17232 554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter specifies the default server
17233 reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter specifies tables with server
17234 replies indexed by <i>rbl_domain</i>. This feature is available
17235 in Postfix version 2.0 and later.</dd>
17236
17237 <dt><b><a name="reject_unauth_destination">reject_unauth_destination</a></b></dt>
17238
17239 <dd>Reject the request unless one of the following is true:
17240
17241 <ul>
17242
17243 <li> Postfix is a mail forwarder: the resolved RCPT TO domain matches
17244 $<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and contains no sender-specified
17245 routing (user@elsewhere@domain),
17246
17247 <li> Postfix is the final destination: the resolved RCPT TO domain
17248 matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>, $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>,
17249 $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, or $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>, and contains
17250 no sender-specified routing (user@elsewhere@domain).
17251
17252 </ul>The <a href="postconf.5.html#relay_domains_reject_code">relay_domains_reject_code</a> parameter specifies the response
17253 code for rejected requests (default: 554). </dd>
17254
17255 <dt><b><a name="defer_unauth_destination">defer_unauth_destination</a></b></dt>
17256
17257 <dd> Reject the same requests as <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>, with a
17258 non-permanent error code. This feature is available in Postfix
17259 2.10 and later.</dd>
17260
17261 <dt><b><a name="reject_unknown_recipient_domain">reject_unknown_recipient_domain</a></b></dt>
17262
17263 <dd>Reject the request when Postfix is not final destination for
17264 the recipient domain, and the RCPT TO domain has 1) no DNS MX and
17265 no DNS A
17266 record or 2) a malformed MX record such as a record with
17267 a zero-length MX hostname (Postfix version 2.3 and later). <br> The
17268 reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter
17269 (default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default:
17270 <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 556 (nullmx, Postfix 3.0 and
17271 later). See the respective parameter descriptions for details.
17272 </dd>
17273
17274 <dt><b><a name="reject_unlisted_recipient">reject_unlisted_recipient</a></b> (with Postfix version 2.0: check_recipient_maps)</dt>
17275
17276 <dd> Reject the request when the RCPT TO address is not listed in
17277 the list of valid recipients for its domain class. See the
17278 <a href="postconf.5.html#smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> parameter description for details.
17279 This feature is available in Postfix 2.1 and later.</dd>
17280
17281 <dt><b><a name="reject_unverified_recipient">reject_unverified_recipient</a></b></dt>
17282
17283 <dd>Reject the request when mail to the RCPT TO address is known
17284 to bounce, or when the recipient address destination is not reachable.
17285 Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
17286 see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The
17287 <a href="postconf.5.html#unverified_recipient_reject_code">unverified_recipient_reject_code</a> parameter specifies the numerical
17288 response code when an address is known to bounce (default: 450,
17289 change it to 550 when you are confident that it is safe to do so).
17290 <br>The <a href="postconf.5.html#unverified_recipient_defer_code">unverified_recipient_defer_code</a> parameter specifies the
17291 numerical response code when an address probe failed due to a
17292 temporary problem (default: 450). <br> The
17293 <a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> parameter specifies the action
17294 after address probe failure due to a temporary problem (default:
17295 <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). <br> This feature breaks for aliased addresses
17296 with "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> = no" (Postfix ≤ 3.2). <br>
17297 This feature is available in Postfix 2.1 and later. </dd>
17298
17299 </dl>
17300
17301 <p>
17302 Other restrictions that are valid in this context:
17303 </p>
17304
17305 <ul>
17306
17307 <li><a href="#generic">Generic</a> restrictions that can be used
17308 in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
17309
17310 <li>SMTP command specific restrictions described under
17311 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> and
17312 <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>.
17313
17314 </ul>
17315
17316 <p>
17317 Example:
17318 </p>
17319
17320 <pre>
17321 # The Postfix before 2.10 default mail relay policy. Later Postfix
17322 # versions implement this preferably with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
17323 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
17324 </pre>
17325
17326
17327 </DD>
17328
17329 <DT><b><a name="smtpd_reject_footer">smtpd_reject_footer</a>
17330 (default: empty)</b></DT><DD>
17331
17332 <p> Optional information that is appended after each Postfix SMTP
17333 server
17334 4XX or 5XX response. </p>
17335
17336 <p> The following example uses "\c" at the start of the template
17337 (supported in Postfix 2.10 and later) to suppress the line break
17338 between the reply text and the footer text. With earlier Postfix
17339 versions, the footer text always begins on a new line, and the "\c"
17340 is output literally. </p>
17341
17342 <pre>
17343 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
17344 <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> = \c. For assistance, call 800-555-0101.
17345 Please provide the following information in your problem report:
17346 time ($localtime), client ($client_address) and server
17347 ($server_name).
17348 </pre>
17349
17350 <p> Server response: </p>
17351
17352 <pre>
17353 550-5.5.1 <user@example> Recipient address rejected: User
17354 unknown. For assistance, call 800-555-0101. Please provide the
17355 following information in your problem report: time (Jan 4 15:42:00),
17356 client (192.168.1.248) and server (mail1.example.com).
17357 </pre>
17358
17359 <p> Note: the above text is meant to make it easier to find the
17360 Postfix logfile records for a failed SMTP session. The text itself
17361 is not logged to the Postfix SMTP server's maillog file. </p>
17362
17363 <p> Be sure to keep the text as short as possible. Long text may
17364 be truncated before it is logged to the remote SMTP client's maillog
17365 file, or before it is returned to the sender in a delivery status
17366 notification. </p>
17367
17368 <p> The template text is not subject to Postfix configuration
17369 parameter $name expansion. Instead, this feature supports a limited
17370 number of $name attributes in the footer text. These attributes are
17371 replaced with their current value for the SMTP session. </p>
17372
17373 <p> Note: specify $$name in footer text that is looked up from
17374 <a href="regexp_table.5.html">regexp</a>: or <a href="pcre_table.5.html">pcre</a>:-based <a href="postconf.5.html#smtpd_reject_footer_maps">smtpd_reject_footer_maps</a>, otherwise the
17375 Postfix server will not use the footer text and will log a warning
17376 instead. </p>
17377
17378 <dl>
17379
17380 <dt> <b>client_address</b> </dt> <dd> The Client IP address that
17381 is logged in the maillog file. </dd>
17382
17383 <dt> <b>client_port</b> </dt> <dd> The client TCP port that is
17384 logged in the maillog file. </dd>
17385
17386 <dt> <b>localtime</b> </dt> <dd> The server local time (Mmm dd
17387 hh:mm:ss) that is logged in the maillog file. </dd>
17388
17389 <dt> <b>server_name</b> </dt> <dd> The server's <a href="postconf.5.html#myhostname">myhostname</a> value.
17390 This attribute is made available for sites with multiple MTAs
17391 (perhaps behind a load-balancer), where the server name can help
17392 the server support team to quickly find the right log files. </dd>
17393
17394 </dl>
17395
17396 <p> Notes: </p>
17397
17398 <ul>
17399
17400 <li> <p> NOT SUPPORTED are other attributes such as sender, recipient,
17401 or <a href="postconf.5.html">main.cf</a> parameters. </p>
17402
17403 <li> <p> For safety reasons, text that does not match
17404 $<a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> is censored. </p>
17405
17406 </ul>
17407
17408 <p> This feature supports the two-character sequence \n as a request
17409 for a line break in the footer text. Postfix automatically inserts
17410 after each line break the three-digit SMTP reply code (and optional
17411 enhanced status code) from the original Postfix reject message.
17412 </p>
17413
17414 <p> To work around mail software that mis-handles multi-line replies,
17415 specify the two-character sequence \c at the start of the template.
17416 This suppresses the line break between the reply text and the footer
17417 text (Postfix 2.10 and later). </p>
17418
17419 <p> This feature is available in Postfix 2.8 and later. </p>
17420
17421
17422 </DD>
17423
17424 <DT><b><a name="smtpd_reject_footer_maps">smtpd_reject_footer_maps</a>
17425 (default: empty)</b></DT><DD>
17426
17427 <p> Lookup tables, indexed by the complete Postfix SMTP server 4xx or
17428 5xx response, with reject footer templates. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>
17429 for details. </p>
17430
17431 <p>
17432 Specify zero or more "type:name" lookup tables, separated by
17433 whitespace or comma. Tables will be searched in the specified order
17434 until a match is found.
17435 </p>
17436
17437 <p> This feature is available in Postfix 3.4 and later. </p>
17438
17439
17440 </DD>
17441
17442 <DT><b><a name="smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a>
17443 (default: yes)</b></DT><DD>
17444
17445 <p>
17446 Request that the Postfix SMTP server rejects mail for unknown
17447 recipient addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_recipient">reject_unlisted_recipient</a>
17448 access restriction is specified. This prevents the Postfix queue
17449 from filling up with undeliverable MAILER-DAEMON messages.
17450 </p>
17451
17452 <p> An address is considered "unknown" when 1) it does not match a
17453 <a href="virtual.5.html">virtual(5)</a> alias or <a href="canonical.5.html">canonical(5)</a> mapping, and 2) the address is not
17454 valid for its address class. For a definition of class-based address
17455 validation, see <a href="ADDRESS_CLASS_README.html#classes">
17456 ADDRESS_CLASS_README</a>. </p>
17457
17458 <p>
17459 This feature is available in Postfix 2.1 and later.
17460 </p>
17461
17462
17463 </DD>
17464
17465 <DT><b><a name="smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a>
17466 (default: no)</b></DT><DD>
17467
17468 <p> Request that the Postfix SMTP server rejects mail from unknown
17469 sender addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a>
17470 access restriction is specified. This can slow down an explosion
17471 of forged mail from worms or viruses. </p>
17472
17473 <p> An address is considered "unknown" when 1) it does not match a
17474 <a href="virtual.5.html">virtual(5)</a> alias or <a href="canonical.5.html">canonical(5)</a> mapping, and 2) the address is not
17475 valid for its address class. For a definition of class-based address
17476 validation, see <a href="ADDRESS_CLASS_README.html#classes">
17477 ADDRESS_CLASS_README</a>. </p>
17478
17479 <p>
17480 This feature is available in Postfix 2.1 and later.
17481 </p>
17482
17483
17484 </DD>
17485
17486 <DT><b><a name="smtpd_relay_before_recipient_restrictions">smtpd_relay_before_recipient_restrictions</a>
17487 (default: see "postconf -d" output)</b></DT><DD>
17488
17489 <p> Evaluate <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> before <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
17490 Historically, <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> was evaluated after
17491 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>, contradicting documented behavior. </p>
17492
17493 <p> Background: the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> feature is primarily
17494 designed to enforce a mail relaying policy, while
17495 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> is primarily designed to enforce spam
17496 blocking policy. Both are evaluated while replying to the RCPT TO
17497 command, and both support the same features. </p>
17498
17499 <p> This feature is available in Postfix 3.6 and later. </p>
17500
17501
17502 </DD>
17503
17504 <DT><b><a name="smtpd_relay_restrictions">smtpd_relay_restrictions</a>
17505 (default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>)</b></DT><DD>
17506
17507 <p> Access restrictions for mail relay control that the Postfix
17508 SMTP server applies in the context of the RCPT TO command, before
17509 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
17510 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
17511 restriction lists" for a discussion of evaluation context and time.
17512 </p>
17513
17514 <p> With Postfix versions before 2.10, the rules for relay permission
17515 and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
17516 resulting in error-prone configuration. As of Postfix 2.10, relay
17517 permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
17518 so that a permissive spam blocking policy under
17519 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
17520 mail relay policy. </p>
17521
17522 <p> For backwards compatibility, sites that migrate from Postfix
17523 versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
17524 value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
17525
17526 <p>
17527 By default, the Postfix SMTP server accepts:
17528 </p>
17529
17530 <ul>
17531
17532 <li> Mail from clients whose IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>, or:
17533
17534 <li> Mail from clients who are SASL authenticated, or:
17535
17536 <li> Mail to remote destinations that match $<a href="postconf.5.html#relay_domains">relay_domains</a>, except
17537 for addresses that contain sender-specified routing
17538 (user@elsewhere@domain), or:
17539
17540 <li> Mail to local destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
17541 or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, or
17542 $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
17543
17544 </ul>
17545
17546 <p>
17547 IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
17548 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
17549 at least one of the following restrictions. Otherwise Postfix will
17550 refuse to receive mail:
17551 </p>
17552
17553 <blockquote>
17554 <pre>
17555 reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
17556 </pre>
17557 </blockquote>
17558
17559 <blockquote>
17560 <pre>
17561 defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
17562 </pre>
17563 </blockquote>
17564
17565 <p>
17566 Specify a list of restrictions, separated by commas and/or whitespace.
17567 Continue long lines by starting the next line with whitespace.
17568 The same restrictions are available as documented under
17569 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
17570 </p>
17571
17572 <p> This feature is available in Postfix 2.10 and later. </p>
17573
17574
17575 </DD>
17576
17577 <DT><b><a name="smtpd_restriction_classes">smtpd_restriction_classes</a>
17578 (default: empty)</b></DT><DD>
17579
17580 <p>
17581 User-defined aliases for groups of access restrictions. The aliases
17582 can be specified in <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> etc., and on the
17583 right-hand side of a Postfix <a href="access.5.html">access(5)</a> table.
17584 </p>
17585
17586 <p>
17587 One major application is for implementing per-recipient UCE control.
17588 See the <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a> document for other examples.
17589 </p>
17590
17591
17592 </DD>
17593
17594 <DT><b><a name="smtpd_sasl_application_name">smtpd_sasl_application_name</a>
17595 (default: smtpd)</b></DT><DD>
17596
17597 <p>
17598 The application name that the Postfix SMTP server uses for SASL
17599 server initialization. This
17600 controls the name of the SASL configuration file. The default value
17601 is <b>smtpd</b>, corresponding to a SASL configuration file named
17602 <b>smtpd.conf</b>.
17603 </p>
17604
17605 <p>
17606 This feature is available in Postfix 2.1 and 2.2. With Postfix 2.3
17607 it was renamed to <a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.
17608 </p>
17609
17610
17611 </DD>
17612
17613 <DT><b><a name="smtpd_sasl_auth_enable">smtpd_sasl_auth_enable</a>
17614 (default: no)</b></DT><DD>
17615
17616 <p>
17617 Enable SASL authentication in the Postfix SMTP server. By default,
17618 the Postfix SMTP server does not use authentication.
17619 </p>
17620
17621 <p>
17622 If a remote SMTP client is authenticated, the <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>
17623 access restriction can be used to permit relay access, like this:
17624 </p>
17625
17626 <blockquote>
17627 <pre>
17628 # With Postfix 2.10 and later, the mail relay policy is
17629 # preferably specified under <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
17630 <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> =
17631 <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
17632 </pre>
17633
17634 <pre>
17635 # With Postfix before 2.10, the relay policy can be
17636 # specified only under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
17637 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> =
17638 <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
17639 </pre>
17640 </blockquote>
17641
17642 <p> To reject all SMTP connections from unauthenticated clients,
17643 specify "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes" (which is the default) and use:
17644 </p>
17645
17646 <blockquote>
17647 <pre>
17648 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> = <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, reject
17649 </pre>
17650 </blockquote>
17651
17652 <p>
17653 See the <a href="SASL_README.html">SASL_README</a> file for SASL configuration and operation details.
17654 </p>
17655
17656
17657 </DD>
17658
17659 <DT><b><a name="smtpd_sasl_authenticated_header">smtpd_sasl_authenticated_header</a>
17660 (default: no)</b></DT><DD>
17661
17662 <p> Report the SASL authenticated user name in the <a href="smtpd.8.html">smtpd(8)</a> Received
17663 message header. </p>
17664
17665 <p> This feature is available in Postfix 2.3 and later. </p>
17666
17667
17668 </DD>
17669
17670 <DT><b><a name="smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a>
17671 (default: empty)</b></DT><DD>
17672
17673 <p>
17674 What remote SMTP clients the Postfix SMTP server will not offer
17675 AUTH support to.
17676 </p>
17677
17678 <p>
17679 Some clients (Netscape 4 at least) have a bug that causes them to
17680 require a login and password whenever AUTH is offered, whether it's
17681 necessary or not. To work around this, specify, for example,
17682 $<a href="postconf.5.html#mynetworks">mynetworks</a> to prevent Postfix from offering AUTH to local clients.
17683 </p>
17684
17685 <p>
17686 Specify a list of network/netmask patterns, separated by commas
17687 and/or whitespace. The mask specifies the number of bits in the
17688 network part of a host address. You can also specify "/file/name" or
17689 "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name" pattern is replaced by its
17690 contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry
17691 matches a lookup string (the lookup result is ignored). Continue
17692 long lines by starting the next line with whitespace. Specify
17693 "!pattern" to exclude an address or network block from the list.
17694 The form "!/file/name" is supported only in Postfix version 2.4 and
17695 later. </p>
17696
17697 <p> Note: IP version 6 address information must be specified inside
17698 <tt>[]</tt> in the <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> value, and in
17699 files specified with "/file/name". IP version 6 addresses contain
17700 the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
17701 pattern. </p>
17702
17703 <p>
17704 Example:
17705 </p>
17706
17707 <pre>
17708 <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a>
17709 </pre>
17710
17711 <p>
17712 This feature is available in Postfix 2.1 and later.
17713 </p>
17714
17715
17716 </DD>
17717
17718 <DT><b><a name="smtpd_sasl_local_domain">smtpd_sasl_local_domain</a>
17719 (default: empty)</b></DT><DD>
17720
17721 <p>
17722 The name of the Postfix SMTP server's local SASL authentication
17723 realm.
17724 </p>
17725
17726 <p>
17727 By default, the local authentication realm name is the null string.
17728 </p>
17729
17730 <p>
17731 Examples:
17732 </p>
17733
17734 <pre>
17735 <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
17736 <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#myhostname">myhostname</a>
17737 </pre>
17738
17739
17740 </DD>
17741
17742 <DT><b><a name="smtpd_sasl_mechanism_filter">smtpd_sasl_mechanism_filter</a>
17743 (default: !external, <a href="DATABASE_README.html#types">static</a>:rest)</b></DT><DD>
17744
17745 <p> If non-empty, a filter for the SASL mechanism names that the
17746 Postfix SMTP server will announce in the EHLO response. By default,
17747 the Postfix SMTP server will not announce the EXTERNAL mechanism,
17748 because Postfix support for that is not implemented. </p>
17749
17750 <p> Specify mechanism names, "/file/name" patterns, or "<a href="DATABASE_README.html">type:table</a>"
17751 lookup tables, separated by comma or whitespace. The right-hand
17752 side result from "<a href="DATABASE_README.html">type:table</a>" lookups is ignored. Specify "!pattern"
17753 to exclude a mechanism name from the list. </p>
17754
17755 <p>
17756 Examples:
17757 </p>
17758
17759 <pre>
17760 <a href="postconf.5.html#smtpd_sasl_mechanism_filter">smtpd_sasl_mechanism_filter</a> = !external, !gssapi, <a href="DATABASE_README.html#types">static</a>:rest
17761 <a href="postconf.5.html#smtpd_sasl_mechanism_filter">smtpd_sasl_mechanism_filter</a> = login, plain
17762 <a href="postconf.5.html#smtpd_sasl_mechanism_filter">smtpd_sasl_mechanism_filter</a> = /etc/postfix/smtpd_mechs
17763 </pre>
17764
17765 <p> This feature is available in Postfix 3.6 and later. </p>
17766
17767
17768 </DD>
17769
17770 <DT><b><a name="smtpd_sasl_path">smtpd_sasl_path</a>
17771 (default: smtpd)</b></DT><DD>
17772
17773 <p> Implementation-specific information that the Postfix SMTP server
17774 passes through to
17775 the SASL plug-in implementation that is selected with
17776 <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>. Typically this specifies the name of a
17777 configuration file or rendezvous point. </p>
17778
17779 <p> This feature is available in Postfix 2.3 and later. In earlier
17780 releases it was called <b><a href="postconf.5.html#smtpd_sasl_application_name">smtpd_sasl_application_name</a></b>. </p>
17781
17782
17783 </DD>
17784
17785 <DT><b><a name="smtpd_sasl_response_limit">smtpd_sasl_response_limit</a>
17786 (default: 12288)</b></DT><DD>
17787
17788 <p> The maximum length of a SASL client's response to a server challenge.
17789 When the client's "initial response" is longer than the normal limit for
17790 SMTP commands, the client must omit its initial response, and wait for an
17791 empty server challenge; it can then send what would have been its "initial
17792 response" as a response to the empty server challenge. <a href="https://tools.ietf.org/html/rfc4954">RFC4954</a> requires the
17793 server to accept client responses up to at least 12288 octets of
17794 base64-encoded text. The default value is therefore also the minimum value
17795 accepted for this parameter.</p>
17796
17797 <p> This feature is available in Postfix 3.4 and later. Prior versions use
17798 "<a href="postconf.5.html#line_length_limit">line_length_limit</a>", which may need to be raised to accommodate larger client
17799 responses, as may be needed with GSSAPI authentication of Windows AD users
17800 who are members of many groups. </p>
17801
17802
17803 </DD>
17804
17805 <DT><b><a name="smtpd_sasl_security_options">smtpd_sasl_security_options</a>
17806 (default: noanonymous)</b></DT><DD>
17807
17808 <p> Postfix SMTP server SASL security options; as of Postfix 2.3
17809 the list of available
17810 features depends on the SASL server implementation that is selected
17811 with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>. </p>
17812
17813 <p> The following security features are defined for the <b>cyrus</b>
17814 server SASL implementation: </p>
17815
17816 <p>
17817 Restrict what authentication mechanisms the Postfix SMTP server
17818 will offer to the client. The list of available authentication
17819 mechanisms is system dependent.
17820 </p>
17821
17822 <p>
17823 Specify zero or more of the following:
17824 </p>
17825
17826 <dl>
17827
17828 <dt><b>noplaintext</b></dt>
17829
17830 <dd>Disallow methods that use plaintext passwords. </dd>
17831
17832 <dt><b>noactive</b></dt>
17833
17834 <dd>Disallow methods subject to active (non-dictionary) attack. </dd>
17835
17836 <dt><b>nodictionary</b></dt>
17837
17838 <dd>Disallow methods subject to passive (dictionary) attack. </dd>
17839
17840 <dt><b>noanonymous</b></dt>
17841
17842 <dd>Disallow methods that allow anonymous authentication. </dd>
17843
17844 <dt><b>forward_secrecy</b></dt>
17845
17846 <dd>Only allow methods that support forward secrecy (Dovecot only).
17847 </dd>
17848
17849 <dt><b>mutual_auth</b></dt>
17850
17851 <dd>Only allow methods that provide mutual authentication (not available
17852 with Cyrus SASL version 1). </dd>
17853
17854 </dl>
17855
17856 <p>
17857 By default, the Postfix SMTP server accepts plaintext passwords but
17858 not anonymous logins.
17859 </p>
17860
17861 <p>
17862 Warning: it appears that clients try authentication methods in the
17863 order as advertised by the server (e.g., PLAIN ANONYMOUS CRAM-MD5)
17864 which means that if you disable plaintext passwords, clients will
17865 log in anonymously, even when they should be able to use CRAM-MD5.
17866 So, if you disable plaintext logins, disable anonymous logins too.
17867 Postfix treats anonymous login as no authentication.
17868 </p>
17869
17870 <p>
17871 Example:
17872 </p>
17873
17874 <pre>
17875 <a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a> = noanonymous, noplaintext
17876 </pre>
17877
17878
17879 </DD>
17880
17881 <DT><b><a name="smtpd_sasl_service">smtpd_sasl_service</a>
17882 (default: smtp)</b></DT><DD>
17883
17884 <p> The service name that is passed to the SASL plug-in that is
17885 selected with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b> and <b><a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a></b>.
17886 </p>
17887
17888 <p> This feature is available in Postfix 2.11 and later. Prior
17889 versions behave as if "<b>smtp</b>" is specified. </p>
17890
17891
17892 </DD>
17893
17894 <DT><b><a name="smtpd_sasl_tls_security_options">smtpd_sasl_tls_security_options</a>
17895 (default: $<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a>)</b></DT><DD>
17896
17897 <p> The SASL authentication security options that the Postfix SMTP
17898 server uses for TLS encrypted SMTP sessions. </p>
17899
17900 <p> This feature is available in Postfix 2.2 and later. </p>
17901
17902
17903 </DD>
17904
17905 <DT><b><a name="smtpd_sasl_type">smtpd_sasl_type</a>
17906 (default: cyrus)</b></DT><DD>
17907
17908 <p> The SASL plug-in type that the Postfix SMTP server should use
17909 for authentication. The available types are listed with the
17910 "<b>postconf -a</b>" command. </p>
17911
17912 <p> This feature is available in Postfix 2.3 and later. </p>
17913
17914
17915 </DD>
17916
17917 <DT><b><a name="smtpd_sender_login_maps">smtpd_sender_login_maps</a>
17918 (default: empty)</b></DT><DD>
17919
17920 <p>
17921 Optional lookup table with the SASL login names that own the
17922 envelope sender
17923 (MAIL FROM) addresses.
17924 </p>
17925
17926 <blockquote> <p> Note: to enforce that the From: header address
17927 matches the envelope sender (MAIL FROM) address, use an external
17928 filter such as a Milter, for the submission or submissions (formerly
17929 called smtps )
17930 services. For example: <a href="https://github.com/magcks/milterfrom">https://github.com/magcks/milterfrom</a>. </p>
17931 </blockquote>
17932
17933 <p>
17934 Specify zero or more "type:name" lookup tables, separated by
17935 whitespace or comma. Tables will be searched in the specified order
17936 until a match is found. With lookups from
17937 indexed files such as DB or DBM, or from networked tables such as
17938 NIS, LDAP or SQL, the following search operations are done with a
17939 sender address of <i>user@domain</i>: </p>
17940
17941 <dl>
17942
17943 <dt> 1) <i>user@domain</i> </dt>
17944
17945 <dd>This table lookup is always done and has the highest precedence. </dd>
17946
17947 <dt> 2) <i>user</i> </dt>
17948
17949 <dd>This table lookup is done only when the <i>domain</i> part of the
17950 sender address matches $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
17951 or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. </dd>
17952
17953 <dt> 3) <i>@domain</i> </dt>
17954
17955 <dd>This table lookup is done last and has the lowest precedence. </dd>
17956
17957 </dl>
17958
17959 <p>
17960 In all cases the result of table lookup must be either "not found"
17961 or a list of SASL login names separated by comma and/or whitespace.
17962 </p>
17963
17964
17965 </DD>
17966
17967 <DT><b><a name="smtpd_sender_restrictions">smtpd_sender_restrictions</a>
17968 (default: empty)</b></DT><DD>
17969
17970 <p>
17971 Optional restrictions that the Postfix SMTP server applies in the
17972 context of a client MAIL FROM command.
17973 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
17974 restriction lists" for a discussion of evaluation context and time.
17975 </p>
17976
17977 <p>
17978 The default is to permit everything.
17979 </p>
17980
17981 <p>
17982 Specify a list of restrictions, separated by commas and/or whitespace.
17983 Continue long lines by starting the next line with whitespace.
17984 Restrictions are applied in the order as specified; the first
17985 restriction that matches wins.
17986 </p>
17987
17988 <p>
17989 The following restrictions are specific to the sender address
17990 received with the MAIL FROM command.
17991 </p>
17992
17993 <dl>
17994
17995 <dt><b><a name="check_sender_access">check_sender_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
17996
17997 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MAIL FROM
17998 address, and execute the corresponding action. </dd>
17999
18000 <dt><b><a name="check_sender_a_access">check_sender_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
18001
18002 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
18003 the MAIL FROM domain, and execute the corresponding action. Note:
18004 a result of "OK" is not allowed for safety reasons. Instead, use
18005 DUNNO in order to exclude specific hosts from denylists. This
18006 feature is available in Postfix 3.0 and later. </dd>
18007
18008 <dt><b><a name="check_sender_mx_access">check_sender_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
18009
18010 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
18011 the MAIL FROM domain, and execute the corresponding action. If no
18012 MX record is found, look up A or AAAA records, just like the Postfix
18013 SMTP client would. Note:
18014 a result of "OK" is not allowed for safety reasons. Instead, use
18015 DUNNO in order to exclude specific hosts from denylists. This
18016 feature is available in Postfix 2.1 and later. </dd>
18017
18018 <dt><b><a name="check_sender_ns_access">check_sender_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
18019
18020 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
18021 for the MAIL FROM domain, and execute the corresponding action.
18022 Note: a result of "OK" is not allowed for safety reasons. Instead,
18023 use DUNNO in order to exclude specific hosts from denylists. This
18024 feature is available in Postfix 2.1 and later. </dd>
18025
18026 <dt><b><a name="reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a></b></dt>
18027
18028 <dd> Reject the request when the client is authenticated with SASL,
18029 but either the MAIL FROM address is not listed in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>,
18030 or the SASL login name is not an owner for that address.
18031 <br>
18032 This prevents an authenticated client from using a MAIL FROM address
18033 that they do not explicitly own.
18034 <br>
18035 Note: to enforce that the From: header address matches the envelope
18036 sender (MAIL FROM) address, use an external filter such as a Milter,
18037 for the submission or submissions (formerly called smtps) services.
18038 For example: <a href="https://github.com/magcks/milterfrom">https://github.com/magcks/milterfrom</a>.
18039 <br>
18040 This feature is available in Postfix version 2.1 and later. </dd>
18041
18042 <dt><b><a name="reject_known_sender_login_mismatch">reject_known_sender_login_mismatch</a></b></dt>
18043
18044 <dd> When the client is authenticated with SASL, reject the request
18045 when the MAIL FROM address is listed in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>,
18046 but the SASL login name is not an owner for that address.
18047 <br>
18048 When the client is not authenticated with SASL, reject the request
18049 when SASL is enabled, and the MAIL FROM address is listed in
18050 $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.
18051 <br>
18052 This protects any MAIL FROM address that is listed in
18053 $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>, while still allowing a client to use any
18054 unlisted MAIL FROM address.
18055 <br>
18056 Note: to enforce that the From: header address matches the envelope
18057 sender (MAIL FROM) address, use an external filter such as a Milter,
18058 for the submission or submissions (formerly called smtps) services.
18059 For example: <a href="https://github.com/magcks/milterfrom">https://github.com/magcks/milterfrom</a>.
18060 <br>
18061 This feature is available in Postfix version 2.11 and later.</dd>
18062
18063 <dt><b><a name="reject_non_fqdn_sender">reject_non_fqdn_sender</a></b></dt>
18064
18065 <dd>Reject the request when the MAIL FROM address specifies a
18066 domain that is not in
18067 fully-qualified domain form as required by the RFC. <br> The
18068 <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
18069 rejected requests (default: 504). </dd>
18070
18071 <dt><b><a name="reject_rhsbl_sender">reject_rhsbl_sender <i>rbl_domain=d.d.d.d</i></a></b></dt>
18072
18073 <dd>Reject the request when the MAIL FROM domain is listed with
18074 the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix
18075 version 2.1 and later only). Each "<i>d</i>" is a number, or a
18076 pattern inside "[]" that contains one or more ";"-separated numbers
18077 or number..number ranges (Postfix version 2.8 and later). If no
18078 "<i>=d.d.d.d</i>" is specified,
18079 reject the request when the MAIL FROM domain is
18080 listed with any A record under <i>rbl_domain</i>. <br> The
18081 <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
18082 rejected requests (default: 554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter
18083 specifies the default server reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter
18084 specifies tables with server replies indexed by <i>rbl_domain</i>.
18085 This feature is available in Postfix 2.0 and later.</dd>
18086
18087 <dt><b><a name="reject_sender_login_mismatch">reject_sender_login_mismatch</a></b></dt>
18088
18089 <dd> As of Postfix 2.1, this is an alias for
18090 "<a href="postconf.5.html#reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a>,
18091 <a href="postconf.5.html#reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a>".</dd>
18092
18093 <dt><b><a name="reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a></b></dt>
18094
18095 <dd> Reject the request when SASL is enabled, the MAIL FROM address
18096 is listed in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>, but the client is not
18097 authenticated with SASL.
18098 <br>
18099 With SASL enabled, this prevents an unauthenticated client from
18100 using any MAIL FROM address that is listed in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.
18101 <br>
18102 Note: to enforce that the From: header address matches the envelope
18103 sender (MAIL FROM) address, use an external filter such as a Milter,
18104 for the submission or submissions (formerly called smtps) services.
18105 For example: <a href="https://github.com/magcks/milterfrom">https://github.com/magcks/milterfrom</a>.
18106 <br>
18107 This feature is available in Postfix version 2.1 and later.</dd>
18108
18109 <dt><b><a name="reject_unknown_sender_domain">reject_unknown_sender_domain</a></b></dt>
18110
18111 <dd>Reject the request when Postfix is not the final destination for
18112 the sender address, and the MAIL FROM domain has 1) no DNS MX and
18113 no DNS A
18114 record, or 2) a malformed MX record such as a record with
18115 a zero-length MX hostname (Postfix version 2.3 and later). <br> The
18116 reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter
18117 (default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default:
18118 <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 550 (nullmx, Postfix 3.0 and
18119 later). See the respective parameter descriptions for details.
18120 </dd>
18121
18122 <dt><b><a name="reject_unlisted_sender">reject_unlisted_sender</a></b></dt>
18123
18124 <dd>Reject the request when the MAIL FROM address is not listed in
18125 the list of valid recipients for its domain class. See the
18126 <a href="postconf.5.html#smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> parameter description for details.
18127 This feature is available in Postfix 2.1 and later.</dd>
18128
18129 <dt><b><a name="reject_unverified_sender">reject_unverified_sender</a></b></dt>
18130
18131 <dd>Reject the request when mail to the MAIL FROM address is known to
18132 bounce, or when the sender address destination is not reachable.
18133 Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
18134 see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The
18135 <a href="postconf.5.html#unverified_sender_reject_code">unverified_sender_reject_code</a> parameter specifies the numerical
18136 response code when an address is known to bounce (default: 450,
18137 change into 550 when you are confident that it is safe to do so).
18138 <br>The <a href="postconf.5.html#unverified_sender_defer_code">unverified_sender_defer_code</a> specifies the numerical response
18139 code when an address probe failed due to a temporary problem
18140 (default: 450). <br> The <a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a> parameter
18141 specifies the action after address probe failure due to a temporary
18142 problem (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). <br> This feature breaks for
18143 aliased addresses with "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> = no" (Postfix
18144 ≤ 3.2). <br> This feature is available in Postfix 2.1 and later.
18145 </dd>
18146
18147 </dl>
18148
18149 <p>
18150 Other restrictions that are valid in this context:
18151 </p>
18152
18153 <ul>
18154
18155 <li> <a href="#generic">Generic</a> restrictions that can be used
18156 in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
18157
18158 <li> SMTP command specific restrictions described under
18159 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> and <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>.
18160
18161 <li> SMTP command specific restrictions described under
18162 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When recipient restrictions are listed
18163 under <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, they have effect only with
18164 "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that $<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> is
18165 evaluated at the time of the RCPT TO command.
18166
18167 </ul>
18168
18169 <p>
18170 Examples:
18171 </p>
18172
18173 <pre>
18174 <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> = <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
18175 <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> = <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>,
18176 <a href="postconf.5.html#check_sender_access">check_sender_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access
18177 </pre>
18178
18179
18180 </DD>
18181
18182 <DT><b><a name="smtpd_service_name">smtpd_service_name</a>
18183 (default: smtpd)</b></DT><DD>
18184
18185 <p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> hands off allowed
18186 connections to. In a future version there may be different
18187 classes of SMTP service. </p>
18188
18189 <p> This feature is available in Postfix 2.8. </p>
18190
18191
18192 </DD>
18193
18194 <DT><b><a name="smtpd_soft_error_limit">smtpd_soft_error_limit</a>
18195 (default: 10)</b></DT><DD>
18196
18197 <p>
18198 The number of errors a remote SMTP client is allowed to make without
18199 delivering mail before the Postfix SMTP server slows down all its
18200 responses.
18201 </p>
18202
18203 <ul>
18204
18205 <li><p>With Postfix version 2.1 and later, when the error count
18206 is > $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a>, the Postfix SMTP server
18207 delays all responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a>. </p>
18208
18209 <li><p>With Postfix versions 2.0 and earlier, when the error count
18210 is > $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a>, the Postfix SMTP server delays all
18211 responses by the larger of (number of errors) seconds or
18212 $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a>. </p>
18213
18214 <li><p>With Postfix versions 2.0 and earlier, when the error count
18215 is ≤ $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a>, the Postfix SMTP server delays 4XX
18216 and 5XX responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a>. </p>
18217
18218 </ul>
18219
18220
18221 </DD>
18222
18223 <DT><b><a name="smtpd_starttls_timeout">smtpd_starttls_timeout</a>
18224 (default: see "postconf -d" output)</b></DT><DD>
18225
18226 <p> The time limit for Postfix SMTP server write and read operations
18227 during TLS startup and shutdown handshake procedures. The current
18228 default value is stress-dependent. Before Postfix version 2.8, it
18229 was fixed at 300s. </p>
18230
18231 <p> Specify a non-zero time value (an integral value plus an optional
18232 one-letter suffix that specifies the time unit). Time units: s
18233 (seconds), m (minutes), h (hours), d (days), w (weeks).
18234 The default time unit is s (seconds). </p>
18235
18236 <p> This feature is available in Postfix 2.2 and later. </p>
18237
18238
18239 </DD>
18240
18241 <DT><b><a name="smtpd_timeout">smtpd_timeout</a>
18242 (default: normal: 300s, <a href="STRESS_README.html">overload</a>: 10s)</b></DT><DD>
18243
18244 <p> When the Postfix SMTP server wants to send an SMTP server
18245 response, how long the Postfix SMTP server will wait for an underlying
18246 network write operation to complete; and when the Postfix SMTP
18247 server Postfix wants to receive an SMTP client request, how long
18248 the Postfix SMTP server will wait for an underlying network read
18249 operation to complete. See the <a href="postconf.5.html#smtpd_per_request_deadline">smtpd_per_request_deadline</a> for how
18250 this time limit may be enforced (with Postfix 2.9-3.6 see
18251 <a href="postconf.5.html#smtpd_per_record_deadline">smtpd_per_record_deadline</a>). </p>
18252
18253 <p> Normally the default limit
18254 is 300s, but it changes under overload to just 10s. With Postfix
18255 2.5 and earlier, the SMTP server always uses a time limit of 300s
18256 by default.
18257 </p>
18258
18259 <p>
18260 Note: if you set SMTP time limits to very large values you may have
18261 to update the global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter.
18262 </p>
18263
18264 <p> Specify a non-zero time value (an integral value plus an optional
18265 one-letter suffix that specifies the time unit). Time units: s
18266 (seconds), m (minutes), h (hours), d (days), w (weeks).
18267 The default time unit is s (seconds). </p>
18268
18269
18270 </DD>
18271
18272 <DT><b><a name="smtpd_tls_CAfile">smtpd_tls_CAfile</a>
18273 (default: empty)</b></DT><DD>
18274
18275 <p> A file containing (PEM format) CA certificates of root CAs trusted
18276 to sign either remote SMTP client certificates or intermediate CA
18277 certificates. These are loaded into memory before the <a href="smtpd.8.html">smtpd(8)</a> server
18278 enters the chroot jail. If the number of trusted roots is large, consider
18279 using <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> instead, but note that the latter directory must
18280 be present in the chroot jail if the <a href="smtpd.8.html">smtpd(8)</a> server is chrooted. This
18281 file may also be used to augment the server certificate trust chain,
18282 but it is best to include all the required certificates directly in the
18283 server certificate file. </p>
18284
18285 <p> Specify "<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /path/to/system_CA_file" to use ONLY
18286 the system-supplied default Certification Authority certificates.
18287 </p>
18288
18289 <p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
18290 appending the system-supplied default CAs and trusting third-party
18291 certificates. </p>
18292
18293 <p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are not
18294 requested, and <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> should remain empty. If you do make use
18295 of client certificates, the distinguished names (DNs) of the Certification
18296 Authorities listed in <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> are sent to the remote SMTP client
18297 in the client certificate request message. MUAs with multiple client
18298 certificates may use the list of preferred Certification Authorities
18299 to select the correct client certificate. You may want to put your
18300 "preferred" CA or CAs in this file, and install other trusted CAs in
18301 $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
18302
18303 <p> Example: </p>
18304
18305 <pre>
18306 <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /etc/postfix/CAcert.pem
18307 </pre>
18308
18309 <p> This feature is available in Postfix 2.2 and later. </p>
18310
18311
18312 </DD>
18313
18314 <DT><b><a name="smtpd_tls_CApath">smtpd_tls_CApath</a>
18315 (default: empty)</b></DT><DD>
18316
18317 <p> A directory containing (PEM format) CA certificates of root CAs
18318 trusted to sign either remote SMTP client certificates or intermediate CA
18319 certificates. Do not forget to create the necessary "hash" links with,
18320 for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs". To use
18321 <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> in chroot mode, this directory (or a copy) must be
18322 inside the chroot jail. </p>
18323
18324 <p> Specify "<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /path/to/system_CA_directory" to
18325 use ONLY the system-supplied default Certification Authority certificates.
18326 </p>
18327
18328 <p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
18329 appending the system-supplied default CAs and trusting third-party
18330 certificates. </p>
18331
18332 <p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are
18333 not requested, and <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> should remain empty. In contrast
18334 to <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, DNs of Certification Authorities installed
18335 in $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> are not included in the client certificate
18336 request message. MUAs with multiple client certificates may use the
18337 list of preferred Certification Authorities to select the correct
18338 client certificate. You may want to put your "preferred" CA or
18339 CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, and install the remaining trusted CAs in
18340 $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
18341
18342 <p> Example: </p>
18343
18344 <pre>
18345 <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /etc/postfix/certs
18346 </pre>
18347
18348 <p> This feature is available in Postfix 2.2 and later. </p>
18349
18350
18351 </DD>
18352
18353 <DT><b><a name="smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>
18354 (default: yes)</b></DT><DD>
18355
18356 <p> Force the Postfix SMTP server to issue a TLS session id, even
18357 when TLS session caching is turned off (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
18358 is empty). This behavior is compatible with Postfix < 2.3. </p>
18359
18360 <p> With Postfix 2.3 and later the Postfix SMTP server can disable
18361 session id generation when TLS session caching is turned off. This
18362 keeps remote SMTP clients from caching sessions that almost certainly cannot
18363 be re-used. </p>
18364
18365 <p> By default, the Postfix SMTP server always generates TLS session
18366 ids. This works around a known defect in mail client applications
18367 such as MS Outlook, and may also prevent interoperability issues
18368 with other MTAs. </p>
18369
18370 <p> Example: </p>
18371
18372 <pre>
18373 <a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> = no
18374 </pre>
18375
18376 <p> This feature is available in Postfix 2.3 and later. </p>
18377
18378
18379 </DD>
18380
18381 <DT><b><a name="smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
18382 (default: no)</b></DT><DD>
18383
18384 <p> Ask a remote SMTP client for a client certificate. This
18385 information is needed for certificate based mail relaying with,
18386 for example, the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> feature. </p>
18387
18388 <p> Some clients such as Netscape will either complain if no
18389 certificate is available (for the list of CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)
18390 or will offer multiple client certificates to choose from. This
18391 may be annoying, so this option is "off" by default. </p>
18392
18393 <p> This feature is available in Postfix 2.2 and later. </p>
18394
18395
18396 </DD>
18397
18398 <DT><b><a name="smtpd_tls_auth_only">smtpd_tls_auth_only</a>
18399 (default: no)</b></DT><DD>
18400
18401 <p> When TLS encryption is optional in the Postfix SMTP server, do
18402 not announce or accept SASL authentication over unencrypted
18403 connections. </p>
18404
18405 <p> This feature is available in Postfix 2.2 and later. </p>
18406
18407
18408 </DD>
18409
18410 <DT><b><a name="smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>
18411 (default: 9)</b></DT><DD>
18412
18413 <p> The verification depth for remote SMTP client certificates. A
18414 depth of 1 is sufficient if the issuing CA is listed in a local CA
18415 file. </p>
18416
18417 <p> The default verification depth is 9 (the OpenSSL default) for
18418 compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
18419 the default value was 5, but the limit was not actually enforced. If
18420 you have set this to a lower non-default value, certificates with longer
18421 trust chains may now fail to verify. Certificate chains with 1 or 2
18422 CAs are common, deeper chains are more rare and any number between 5
18423 and 9 should suffice in practice. You can choose a lower number if,
18424 for example, you trust certificates directly signed by an issuing CA
18425 but not any CAs it delegates to. </p>
18426
18427 <p> This feature is available in Postfix 2.2 and later. </p>
18428
18429
18430 </DD>
18431
18432 <DT><b><a name="smtpd_tls_cert_file">smtpd_tls_cert_file</a>
18433 (default: empty)</b></DT><DD>
18434
18435 <p> File with the Postfix SMTP server RSA certificate in PEM format.
18436 This file may also contain the Postfix SMTP server private RSA key.
18437 With Postfix ≥ 3.4 the preferred way to configure server keys and
18438 certificates is via the "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p>
18439
18440 <p> Public Internet MX hosts without certificates signed by a "reputable"
18441 CA must generate, and be prepared to present to most clients, a
18442 self-signed or private-CA signed certificate. The client will not be
18443 able to authenticate the server, but unless it is running Postfix 2.3 or
18444 similar software, it will still insist on a server certificate. </p>
18445
18446 <p> For servers that are <b>not</b> public Internet MX hosts, Postfix
18447 supports configurations with no certificates. This entails the use of
18448 just the anonymous TLS ciphers, which are not supported by typical SMTP
18449 clients. Since some clients may not fall back to plain text after a TLS
18450 handshake failure, a certificate-less Postfix SMTP server will be unable
18451 to receive email from some TLS-enabled clients. To avoid accidental
18452 configurations with no certificates, Postfix enables certificate-less
18453 operation only when the administrator explicitly sets
18454 "<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = none". This ensures that new Postfix SMTP server
18455 configurations will not accidentally enable TLS without certificates. </p>
18456
18457 <p> Note that server certificates are not optional in TLS 1.3. To run
18458 without certificates you'd have to disable the TLS 1.3 protocol by
18459 including '!TLSv1.3' in "<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>" and perhaps also
18460 "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>". It is simpler instead to just
18461 configure a certificate chain. Certificate-less operation is not
18462 recommended. <p>
18463
18464 <p> Both RSA and DSA certificates are supported. When both types
18465 are present, the cipher used determines which certificate will be
18466 presented to the client. For Netscape and OpenSSL clients without
18467 special cipher choices the RSA certificate is preferred. </p>
18468
18469 <p> To enable a remote SMTP client to verify the Postfix SMTP server
18470 certificate, the issuing CA certificates must be made available to the
18471 client. You should include the required certificates in the server
18472 certificate file, the server certificate first, then the issuing
18473 CA(s) (bottom-up order). </p>
18474
18475 <p> Example: the certificate for "server.example.com" was issued by
18476 "intermediate CA" which itself has a certificate of "root CA".
18477 Create the server.pem file with "cat server_cert.pem intermediate_CA.pem
18478 root_CA.pem > server.pem". </p>
18479
18480 <p> If you also want to verify client certificates issued by these
18481 CAs, you can add the CA certificates to the <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, in which
18482 case it is not necessary to have them in the <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>,
18483 <a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> (obsolete) or <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. </p>
18484
18485 <p> A certificate supplied here must be usable as an SSL server certificate
18486 and hence pass the "openssl verify -purpose sslserver ..." test. </p>
18487
18488 <p> Example: </p>
18489
18490 <pre>
18491 <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = /etc/postfix/server.pem
18492 </pre>
18493
18494 <p> This feature is available in Postfix 2.2 and later. </p>
18495
18496
18497 </DD>
18498
18499 <DT><b><a name="smtpd_tls_chain_files">smtpd_tls_chain_files</a>
18500 (default: empty)</b></DT><DD>
18501
18502 <p> List of one or more PEM files, each holding one or more private keys
18503 directly followed by a corresponding certificate chain. The file names
18504 are separated by commas and/or whitespace. This parameter obsoletes the
18505 legacy algorithm-specific key and certificate file settings. When this
18506 parameter is non-empty, the legacy parameters are ignored, and a warning
18507 is logged if any are also non-empty. </p>
18508
18509 <p> With the proliferation of multiple private key algorithms—which,
18510 as of OpenSSL 1.1.1, include DSA (obsolete), RSA, ECDSA, Ed25519
18511 and Ed448—it is increasingly impractical to use separate
18512 parameters to configure the key and certificate chain for each
18513 algorithm. Therefore, Postfix now supports storing multiple keys and
18514 corresponding certificate chains in a single file or in a set of files.
18515
18516 <p> Each key must appear <b>immediately before</b> the corresponding
18517 certificate, optionally followed by additional issuer certificates that
18518 complete the certificate chain for that key. When multiple files are
18519 specified, they are equivalent to a single file that is concatenated
18520 from those files in the given order. Thus, while a key must always
18521 precede its certificate and issuer chain, it can be in a separate file,
18522 so long as that file is listed immediately before the file that holds
18523 the corresponding certificate chain. Once all the files are
18524 concatenated, the sequence of PEM objects must be: <i>key1, cert1,
18525 [chain1], key2, cert2, [chain2], ..., keyN, certN, [chainN].</i> </p>
18526
18527 <p> Storing the private key in the same file as the corresponding
18528 certificate is more reliable. With the key and certificate in separate
18529 files, there is a chance that during key rollover a Postfix process
18530 might load a private key and certificate from separate files that don't
18531 match. Various operational errors may even result in a persistent
18532 broken configuration in which the certificate does not match the private
18533 key. </p>
18534
18535 <p> The file or files must contain at most one key of each type. If,
18536 for example, two or more RSA keys and corresponding chains are listed,
18537 depending on the version of OpenSSL either only the last one will be
18538 used or a configuration error may be detected. Note that while
18539 "Ed25519" and "Ed448" are considered separate algorithms, the various
18540 ECDSA curves (typically one of prime256v1, secp384r1 or secp521r1) are
18541 considered as different parameters of a single "ECDSA" algorithm, so it
18542 is not presently possible to configure keys for more than one ECDSA
18543 curve. </p>
18544
18545 <p> RSA is still the most widely supported algorithm. Presently (late
18546 2018), ECDSA support is common, but not yet universal, and Ed25519 and
18547 Ed448 support is mostly absent. Therefore, an RSA key should generally
18548 be configured, along with any additional keys for the other algorithms
18549 when desired. </p>
18550
18551 <p>
18552 Example (separate files for each key and corresponding certificate chain):
18553 </p>
18554 <blockquote>
18555 <pre>
18556 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
18557 <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> =
18558 ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed25519.pem,
18559 ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed448.pem,
18560 ${<a href="postconf.5.html#config_directory">config_directory</a>}/rsa.pem
18561 </pre>
18562 </blockquote>
18563
18564 <blockquote>
18565 <pre>
18566 /etc/postfix/ed25519.pem:
18567 -----BEGIN PRIVATE KEY-----
18568 MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3
18569 -----END PRIVATE KEY-----
18570 -----BEGIN CERTIFICATE-----
18571 MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG
18572 ...
18573 nC0egv51YPDWxEHom4QA
18574 -----END CERTIFICATE-----
18575 </pre>
18576 </blockquote>
18577
18578 <blockquote>
18579 <pre>
18580 /etc/postfix/ed448.pem:
18581 -----BEGIN PRIVATE KEY-----
18582 MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe
18583 LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A==
18584 -----END PRIVATE KEY-----
18585 -----BEGIN CERTIFICATE-----
18586 MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG
18587 ...
18588 pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA
18589 -----END CERTIFICATE-----
18590 </pre>
18591 </blockquote>
18592
18593 <blockquote>
18594 <pre>
18595 /etc/postfix/rsa.pem:
18596 -----BEGIN PRIVATE KEY-----
18597 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL
18598 ...
18599 ahQkZ3+krcaJvDSMgvu0tDc=
18600 -----END PRIVATE KEY-----
18601 -----BEGIN CERTIFICATE-----
18602 MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL
18603 ...
18604 Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE=
18605 -----END CERTIFICATE-----
18606 </pre>
18607 </blockquote>
18608
18609 <p>
18610 Example (all keys and certificates in a single file):
18611 </p>
18612 <blockquote>
18613 <pre>
18614 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
18615 <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> = ${<a href="postconf.5.html#config_directory">config_directory</a>}/chains.pem
18616 </pre>
18617 </blockquote>
18618
18619 <blockquote>
18620 <pre>
18621 /etc/postfix/chains.pem:
18622 -----BEGIN PRIVATE KEY-----
18623 MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3
18624 -----END PRIVATE KEY-----
18625 -----BEGIN CERTIFICATE-----
18626 MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG
18627 ...
18628 nC0egv51YPDWxEHom4QA
18629 -----END CERTIFICATE-----
18630 -----BEGIN PRIVATE KEY-----
18631 MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe
18632 LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A==
18633 -----END PRIVATE KEY-----
18634 -----BEGIN CERTIFICATE-----
18635 MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG
18636 ...
18637 pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA
18638 -----END CERTIFICATE-----
18639 -----BEGIN PRIVATE KEY-----
18640 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL
18641 ...
18642 ahQkZ3+krcaJvDSMgvu0tDc=
18643 -----END PRIVATE KEY-----
18644 -----BEGIN CERTIFICATE-----
18645 MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL
18646 ...
18647 Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE=
18648 -----END CERTIFICATE-----
18649 </pre>
18650 </blockquote>
18651
18652 <p> This feature is available in Postfix 3.4 and later. </p>
18653
18654
18655 </DD>
18656
18657 <DT><b><a name="smtpd_tls_cipherlist">smtpd_tls_cipherlist</a>
18658 (default: empty)</b></DT><DD>
18659
18660 <p> Obsolete Postfix < 2.3 control for the Postfix SMTP server TLS
18661 cipher list. It is easy to create interoperability problems by choosing
18662 a non-default cipher list. Do not use a non-default TLS cipherlist for
18663 MX hosts on the public Internet. Clients that begin the TLS handshake,
18664 but are unable to agree on a common cipher, may not be able to send any
18665 email to the SMTP server. Using a restricted cipher list may be more
18666 appropriate for a dedicated MSA or an internal mailhub, where one can
18667 exert some control over the TLS software and settings of the connecting
18668 clients. </p>
18669
18670 <p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
18671
18672 <p>This feature is available with Postfix version 2.2. It is not used with
18673 Postfix 2.3 and later; use <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> instead. </p>
18674
18675
18676 </DD>
18677
18678 <DT><b><a name="smtpd_tls_ciphers">smtpd_tls_ciphers</a>
18679 (default: medium)</b></DT><DD>
18680
18681 <p> The minimum TLS cipher grade that the Postfix SMTP server
18682 will use with opportunistic TLS encryption. Cipher types listed in
18683 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are excluded from the base definition of
18684 the selected cipher grade. The default value is "medium" for Postfix
18685 releases after the middle of 2015, "export" for older releases.
18686 </p>
18687
18688 <p> When TLS is mandatory the cipher grade is chosen via the
18689 <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
18690 details. </p>
18691
18692 <p> This feature is available in Postfix 2.6 and later. With earlier Postfix
18693 releases only the <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> parameter is implemented,
18694 and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
18695
18696
18697 </DD>
18698
18699 <DT><b><a name="smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>
18700 (default: empty)</b></DT><DD>
18701
18702 <p> File with the Postfix SMTP server DSA certificate in PEM format.
18703 This file may also contain the Postfix SMTP server private DSA key.
18704 The DSA algorithm is obsolete and should not be used. </p>
18705
18706 <p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details.
18707 </p>
18708
18709 <p> Example: </p>
18710
18711 <pre>
18712 <a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> = /etc/postfix/server-dsa.pem
18713 </pre>
18714
18715 <p> This feature is available in Postfix 2.2 and later. </p>
18716
18717
18718 </DD>
18719
18720 <DT><b><a name="smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
18721 (default: empty)</b></DT><DD>
18722
18723 <p> File with DH parameters that the Postfix SMTP server should
18724 use with non-export EDH ciphers. </p>
18725
18726 <p> With Postfix ≥ 3.7, built with OpenSSL version is 3.0.0 or later, if the
18727 parameter value is either empty or "<b>auto</b>", then the DH parameter
18728 selection is delegated to the OpenSSL library, which selects appropriate
18729 parameters based on the TLS handshake. This choice is likely to be the most
18730 interoperable with SMTP clients using various TLS libraries, and custom local
18731 parameters are no longer recommended when using Postfix ≥ 3.7 built against
18732 OpenSSL 3.0.0. </p>
18733
18734 <p> The best-practice choice of parameters uses a 2048-bit prime. This is fine,
18735 despite the historical "1024" in the parameter name. Do not be tempted to use
18736 much larger values, performance degrades quickly, and you may also cease to
18737 interoperate with some mainstream SMTP clients. As of Postfix 3.1, the
18738 compiled-in default prime is 2048-bits, and it is not strictly necessary,
18739 though perhaps somewhat beneficial to generate custom DH parameters. </p>
18740
18741 <p> Instead of using the exact same parameter sets as distributed
18742 with other TLS packages, it is more secure to generate your own
18743 set of parameters with something like the following commands: </p>
18744
18745 <blockquote>
18746 <pre>
18747 openssl dhparam -out /etc/postfix/dh2048.pem 2048
18748 openssl dhparam -out /etc/postfix/dh1024.pem 1024
18749 # As of Postfix 3.6, export-grade 512-bit DH parameters are no longer
18750 # supported or needed.
18751 openssl dhparam -out /etc/postfix/dh512.pem 512
18752 </pre>
18753 </blockquote>
18754
18755 <p> It is safe to share the same DH parameters between multiple
18756 Postfix instances. If you prefer, you can generate separate
18757 parameters for each instance. </p>
18758
18759 <p> If you want to take maximal advantage of ciphers that offer <a
18760 href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
18761 the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
18762 started</a> section of <a
18763 href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The
18764 full document conveniently presents all information about Postfix
18765 "perfect" forward secrecy support in one place: what forward secrecy
18766 is, how to tweak settings, and what you can expect to see when
18767 Postfix uses ciphers with forward secrecy. </p>
18768
18769 <p> Example: </p>
18770
18771 <pre>
18772 <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> = /etc/postfix/dh2048.pem
18773 </pre>
18774
18775 <p>This feature is available in Postfix 2.2 and later.</p>
18776
18777
18778 </DD>
18779
18780 <DT><b><a name="smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
18781 (default: empty)</b></DT><DD>
18782
18783 <p> File with DH parameters that the Postfix SMTP server should
18784 use with export-grade EDH ciphers. The default SMTP server cipher
18785 grade is "medium" with Postfix releases after the middle of 2015,
18786 and as a result export-grade cipher suites are by default not used.
18787 </p>
18788
18789 <p> With Postfix ≥ 3.6 export-grade Diffie-Hellman key exchange
18790 is no longer supported, and this parameter is silently ignored. </p>
18791
18792 <p> See also the discussion under the <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
18793 configuration parameter. </p>
18794
18795 <p> Example: </p>
18796
18797 <pre>
18798 <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> = /etc/postfix/dh_512.pem
18799 </pre>
18800
18801 <p>This feature is available in Postfix 2.2 and later,
18802 but is ignored in Postfix 3.6 and later.</p>
18803
18804
18805 </DD>
18806
18807 <DT><b><a name="smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>
18808 (default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
18809
18810 <p> File with the Postfix SMTP server DSA private key in PEM format.
18811 This file may be combined with the Postfix SMTP server DSA certificate
18812 file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. The DSA algorithm is obsolete
18813 and should not be used. </p>
18814
18815 <p> The private key must be accessible without a pass-phrase, i.e. it
18816 must not be encrypted. File permissions should grant read-only
18817 access to the system superuser account ("root"), and no access
18818 to anyone else. </p>
18819
18820 <p> This feature is available in Postfix 2.2 and later. </p>
18821
18822
18823 </DD>
18824
18825 <DT><b><a name="smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>
18826 (default: empty)</b></DT><DD>
18827
18828 <p> File with the Postfix SMTP server ECDSA certificate in PEM format.
18829 This file may also contain the Postfix SMTP server private ECDSA key.
18830 With Postfix ≥ 3.4 the preferred way to configure server keys and
18831 certificates is via the "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p>
18832
18833 <p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details. </p>
18834
18835 <p> Example: </p>
18836
18837 <pre>
18838 <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> = /etc/postfix/ecdsa-scert.pem
18839 </pre>
18840
18841 <p> This feature is available in Postfix 2.6 and later, when Postfix is
18842 compiled and linked with OpenSSL 1.0.0 or later. </p>
18843
18844
18845 </DD>
18846
18847 <DT><b><a name="smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>
18848 (default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
18849
18850 <p> File with the Postfix SMTP server ECDSA private key in PEM format.
18851 This file may be combined with the Postfix SMTP server ECDSA certificate
18852 file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. With Postfix ≥ 3.4 the
18853 preferred way to configure server keys and certificates is via the
18854 "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p>
18855
18856 <p> The private key must be accessible without a pass-phrase, i.e. it
18857 must not be encrypted. File permissions should grant read-only
18858 access to the system superuser account ("root"), and no access
18859 to anyone else. </p>
18860
18861 <p> This feature is available in Postfix 2.6 and later, when Postfix is
18862 compiled and linked with OpenSSL 1.0.0 or later. </p>
18863
18864
18865 </DD>
18866
18867 <DT><b><a name="smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>
18868 (default: see "postconf -d" output)</b></DT><DD>
18869
18870 <p> The Postfix SMTP server security grade for ephemeral elliptic-curve
18871 Diffie-Hellman (EECDH) key exchange. As of Postfix 3.6, the value of
18872 this parameter is always ignored, and Postfix behaves as though the
18873 <b>auto</b> value (described below) was chosen.
18874 </p>
18875
18876 <p> This feature is not used as of Postfix 3.6. Do not specify. </p>
18877
18878 <p> The available choices are: </p>
18879
18880 <dl>
18881
18882 <dt><b>auto</b></dt> <dd> Use the most preferred curve that is
18883 supported by both the client and the server. This setting requires
18884 Postfix ≥ 3.2 compiled and linked with OpenSSL ≥ 1.0.2. This
18885 is the default setting under the above conditions (and the only
18886 setting used with Postfix ≥ 3.6). </dd>
18887
18888 <dt><b>none</b></dt> <dd> Don't use EECDH. Ciphers based on EECDH key
18889 exchange will be disabled. This is the default in Postfix versions
18890 2.6 and 2.7. </dd>
18891
18892 <dt><b>strong</b></dt> <dd> Use EECDH with approximately 128 bits of
18893 security at a reasonable computational cost. This is the default in
18894 Postfix versions 2.8–3.5. </dd>
18895
18896 <dt><b>ultra</b></dt> <dd> Use EECDH with approximately 192 bits of
18897 security at computational cost that is approximately twice as high
18898 as 128 bit strength ECC. </dd>
18899
18900 </dl>
18901
18902 <p> If you want to take maximal advantage of ciphers that offer <a
18903 href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
18904 the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
18905 started</a> section of <a
18906 href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The
18907 full document conveniently presents all information about Postfix
18908 "perfect" forward secrecy support in one place: what forward secrecy
18909 is, how to tweak settings, and what you can expect to see when
18910 Postfix uses ciphers with forward secrecy. </p>
18911
18912 <p> This feature is available in Postfix 2.6 and later, when it is
18913 compiled and linked with OpenSSL 1.0.0 or later on platforms
18914 where EC algorithms have not been disabled by the vendor. </p>
18915
18916
18917 </DD>
18918
18919 <DT><b><a name="smtpd_tls_enable_rpk">smtpd_tls_enable_rpk</a>
18920 (default: no)</b></DT><DD>
18921
18922 <p> Request that remote SMTP clients send an <a href="https://tools.ietf.org/html/rfc7250">RFC7250</a> raw public key
18923 instead of an X.509 certificate, when asking for or requiring client
18924 authentication. This feature is ignored when there is no raw public
18925 key support in the local TLS implementation. </p>
18926
18927 <p> The Postfix SMTP server will log a warning when "<a href="postconf.5.html#smtpd_tls_enable_rpk">smtpd_tls_enable_rpk</a>
18928 = yes", but the remote SMTP client sends a certificate, the
18929 certificate's public key fingerprint does not match a <a href="postconf.5.html#check_ccert_access">check_ccert_access</a>
18930 table, while the certificate fingerprint does match a <a href="postconf.5.html#check_ccert_access">check_ccert_access</a>
18931 table. The remote SMTP client would lose access when it starts
18932 sending a raw public key instead of a certificate, after its TLS
18933 implementation is updated with raw public key support. </p>
18934
18935 <p> The Postfix SMTP server always sends a raw public key instead
18936 of a certificate, if solicited by the remote SMTP client and the
18937 local TLS implementation supports raw public keys. If the client
18938 sends a server name indication with an SNI TLS extension, and
18939 <a href="postconf.5.html#tls_server_sni_maps">tls_server_sni_maps</a> is configured, the server will extract a raw
18940 public key from the indicated certificate. </p>
18941
18942 <p> Sample commands to compute certificate and public key SHA256 digests: </p>
18943
18944 <pre>
18945 # SHA256 digest of the first certificate in "cert.pem"
18946 $ openssl x509 -in cert.pem -outform DER | openssl dgst -sha256 -c
18947 </pre>
18948
18949 <pre>
18950 # SHA256 digest of the SPKI of the first certificate in "cert.pem"
18951 $ openssl x509 -in cert.pem -pubkey -noout |
18952 openssl pkey -pubin -outform DER | openssl dgst -sha256 -c
18953 </pre>
18954
18955 <pre>
18956 # SHA256 digest of the SPKI of the first private key in "pkey.pem"
18957 $ openssl pkey -in pkey.pem -pubout -outform DER |
18958 openssl dgst -sha256 -c
18959 </pre>
18960
18961 <p> This feature is available in Postfix 3.9 and later. </p>
18962
18963
18964 </DD>
18965
18966 <DT><b><a name="smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
18967 (default: empty)</b></DT><DD>
18968
18969 <p> List of ciphers or cipher types to exclude from the SMTP server
18970 cipher list at all TLS security levels. Excluding valid ciphers
18971 can create interoperability problems. DO NOT exclude ciphers unless it
18972 is essential to do so. This is not an OpenSSL cipherlist; it is a simple
18973 list separated by whitespace and/or commas. The elements are a single
18974 cipher, or one or more "+" separated cipher properties, in which case
18975 only ciphers matching <b>all</b> the properties are excluded. </p>
18976
18977 <p> Examples (some of these will cause problems): </p>
18978
18979 <blockquote>
18980 <pre>
18981 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL
18982 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = MD5, DES
18983 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = DES+MD5
18984 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
18985 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = kEDH+aRSA
18986 </pre>
18987 </blockquote>
18988
18989 <p> The first setting disables anonymous ciphers. The next setting
18990 disables ciphers that use the MD5 digest algorithm or the (single) DES
18991 encryption algorithm. The next setting disables ciphers that use MD5 and
18992 DES together. The next setting disables the two ciphers "AES256-SHA"
18993 and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
18994 key exchange with RSA authentication. </p>
18995
18996 <p> This feature is available in Postfix 2.3 and later. </p>
18997
18998
18999 </DD>
19000
19001 <DT><b><a name="smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>
19002 (default: see "postconf -d" output)</b></DT><DD>
19003
19004 <p> The message digest algorithm to construct remote SMTP client-certificate
19005 fingerprints or public key fingerprints (Postfix 2.9 and later) for
19006 <b><a href="postconf.5.html#check_ccert_access">check_ccert_access</a></b> and <b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a></b>. </p>
19007
19008 <p> The default algorithm is <b>sha256</b> with Postfix ≥ 3.6
19009 and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix
19010 ≤ 3.5, the default algorithm is <b>md5</b>. </p>
19011
19012 <p> The best-practice algorithm is now <b>sha256</b>. Recent advances in hash
19013 function cryptanalysis have led to md5 and sha1 being deprecated in favor of
19014 sha256. However, as long as there are no known "second pre-image" attacks
19015 against the older algorithms, their use in this context, though not
19016 recommended, is still likely safe. </p>
19017
19018 <p> While additional digest algorithms are often available with OpenSSL's
19019 libcrypto, only those used by libssl in SSL cipher suites are available to
19020 Postfix. You'll likely find support for md5, sha1, sha256 and sha512. </p>
19021
19022 <p> To find the fingerprint of a specific certificate file, with a
19023 specific digest algorithm, run: </p>
19024
19025 <blockquote>
19026 <pre>
19027 $ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
19028 </pre>
19029 </blockquote>
19030
19031 <p> The text to the right of "=" sign is the desired fingerprint.
19032 For example: </p>
19033
19034 <blockquote>
19035 <pre>
19036 $ openssl x509 -noout -fingerprint -sha256 -in cert.pem
19037 SHA256 Fingerprint=D4:6A:AB:19:24:...:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
19038 </pre>
19039 </blockquote>
19040
19041 <p> To extract the public key fingerprint from an X.509 certificate,
19042 you need to extract the public key from the certificate and compute
19043 the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
19044 the "-pubkey" option of the "x509" command extracts the public
19045 key always in "PEM" format. We pipe the result to another OpenSSL
19046 command that converts the key to DER and then to the "dgst" command
19047 to compute the fingerprint. </p>
19048
19049 <p> Example: </p>
19050 <blockquote>
19051 <pre>
19052 $ openssl x509 -in cert.pem -noout -pubkey |
19053 openssl pkey -pubin -outform DER |
19054 openssl dgst -sha256 -c
19055 (stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58
19056 </pre>
19057 </blockquote>
19058
19059 <p> The Postfix SMTP server and client log the peer (leaf) certificate
19060 fingerprint and public key fingerprint when the TLS loglevel is 2 or
19061 higher. </p>
19062
19063 <p> Example: client-certificate access table, with sha256 fingerprints: </p>
19064
19065 <blockquote>
19066 <pre>
19067 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
19068 <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> = sha256
19069 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
19070 <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access,
19071 reject
19072 </pre>
19073 <pre>
19074 /etc/postfix/access:
19075 # Action folded to next line...
19076 AF:88:7C:AD:51:95:6F:36:96:...:01:FB:2E:48:CD:AB:49:25:A2:3B
19077 OK
19078 85:16:78:FD:73:6E:CE:70:E0:...:5F:0D:3C:C8:6D:C4:2C:24:59:E1
19079 <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
19080 </pre>
19081 </blockquote>
19082
19083 <p> This feature is available in Postfix 2.5 and later. </p>
19084
19085
19086 </DD>
19087
19088 <DT><b><a name="smtpd_tls_key_file">smtpd_tls_key_file</a>
19089 (default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
19090
19091 <p> File with the Postfix SMTP server RSA private key in PEM format.
19092 This file may be combined with the Postfix SMTP server RSA certificate
19093 file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>. With Postfix ≥ 3.4 the
19094 preferred way to configure server keys and certificates is via the
19095 "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p>
19096
19097 <p> The private key must be accessible without a pass-phrase, i.e. it
19098 must not be encrypted. File permissions should grant read-only
19099 access to the system superuser account ("root"), and no access
19100 to anyone else. </p>
19101
19102
19103 </DD>
19104
19105 <DT><b><a name="smtpd_tls_loglevel">smtpd_tls_loglevel</a>
19106 (default: 0)</b></DT><DD>
19107
19108 <p> Enable additional Postfix SMTP server logging of TLS activity.
19109 Each logging level also includes the information that is logged at
19110 a lower logging level. </p>
19111
19112 <dl compact>
19113
19114 <dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
19115
19116 <dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
19117 — no logging of client certificate trust-chain verification errors
19118 if client certificate verification is not required. With Postfix 2.8 and
19119 earlier, log the summary message, peer certificate summary information
19120 and unconditionally log trust-chain verification errors. </dd>
19121
19122 <dt> </dt> <dd> 2 Also enable verbose logging in the Postfix TLS
19123 library, log session cache operations, and enable OpenSSL logging
19124 of the progress of the SSL handshake. </dd>
19125
19126 <dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation
19127 process. </dd>
19128
19129 <dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
19130 transmission after STARTTLS. </dd>
19131
19132 </dl>
19133
19134 <p> Do not use "<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> = 2" or higher except in case
19135 of problems. Use of loglevel 4 is strongly discouraged. </p>
19136
19137 <p> This feature is available in Postfix 2.2 and later. </p>
19138
19139
19140 </DD>
19141
19142 <DT><b><a name="smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
19143 (default: medium)</b></DT><DD>
19144
19145 <p> The minimum TLS cipher grade that the Postfix SMTP server will
19146 use with mandatory TLS encryption. The default grade ("medium") is
19147 sufficiently strong that any benefit from globally restricting TLS
19148 sessions to a more stringent grade is likely negligible, especially
19149 given the fact that many implementations still do not offer any stronger
19150 ("high" grade) ciphers, while those that do, will always use "high"
19151 grade ciphers. So insisting on "high" grade ciphers is generally
19152 counter-productive. Allowing "export" or "low" ciphers is typically
19153 not a good idea, as systems limited to just these are limited to
19154 obsolete browsers. No known SMTP clients fail to support at least
19155 one "medium" or "high" grade cipher. </p>
19156
19157 <p> The following cipher grades are supported: </p>
19158
19159 <dl>
19160 <dt><b>high</b></dt>
19161 <dd> Enable only "HIGH" grade OpenSSL ciphers. The
19162 underlying cipherlist is specified via the <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a>
19163 configuration parameter, which you are strongly encouraged to
19164 not change. </dd>
19165
19166 <dt><b>medium</b></dt>
19167 <dd> Enable "MEDIUM" grade or stronger OpenSSL ciphers. These use 128-bit
19168 or longer symmetric bulk-encryption keys. This is the default minimum
19169 strength for mandatory TLS encryption. The underlying cipherlist is
19170 specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a> configuration parameter, which
19171 you are strongly encouraged not to change. </dd>
19172
19173 <dt><b>null</b></dt>
19174 <dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
19175 without encryption. This setting is only appropriate in the rare
19176 case that all clients are prepared to use NULL ciphers (not normally
19177 enabled in TLS clients). The underlying cipherlist is specified via the
19178 <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> configuration parameter, which you are strongly
19179 encouraged not to change. </dd>
19180
19181 <dt><b>low</b></dt>
19182 <dd> Enable "LOW" grade or stronger OpenSSL ciphers. In Postfix
19183 ≥ 3.8 this cipher grade is always identical to "medium". Recent
19184 versions of OpenSSL do not support any "LOW" grade ciphers. In
19185 earlier Postfix releases the underlying cipherlist was specified
19186 via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration parameter, which you are
19187 strongly encouraged not to change. This obsolete cipher grade
19188 SHOULD NOT be used. </dd>
19189
19190 <dt><b>export</b></dt>
19191 <dd> Enable "EXPORT" grade or stronger OpenSSL ciphers. In Postfix
19192 ≥ 3.8 this cipher grade is always identical to "medium". Recent
19193 versions of OpenSSL do not support any "EXPORT" grade ciphers. In
19194 earlier Postfix releases the underlying cipherlist was specified
19195 via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration parameter, which you are
19196 strongly encouraged not to change. This obsolete cipher grade
19197 SHOULD NOT be used. </dd>
19198
19199 </dl>
19200
19201 <p> Cipher types listed in
19202 <a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> or <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are
19203 excluded from the base definition of the selected cipher grade. See
19204 <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> for cipher controls that apply to opportunistic
19205 TLS. </p>
19206
19207 <p> The underlying cipherlists for grades other than "null" include
19208 anonymous ciphers, but these are automatically filtered out if the
19209 server is configured to ask for remote SMTP client certificates. You are very
19210 unlikely to need to take any steps to exclude anonymous ciphers, they
19211 are excluded automatically as required. If you must exclude anonymous
19212 ciphers even when Postfix does not need or use peer certificates, set
19213 "<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only
19214 when TLS is enforced, set "<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
19215
19216 <p> This feature is available in Postfix 2.3 and later. </p>
19217
19218
19219 </DD>
19220
19221 <DT><b><a name="smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>
19222 (default: empty)</b></DT><DD>
19223
19224 <p> Additional list of ciphers or cipher types to exclude from the
19225 Postfix SMTP server cipher list at mandatory TLS security levels.
19226 This list
19227 works in addition to the exclusions listed with <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
19228 (see there for syntax details). </p>
19229
19230 <p> This feature is available in Postfix 2.3 and later. </p>
19231
19232
19233 </DD>
19234
19235 <DT><b><a name="smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>
19236 (default: see "postconf -d" output)</b></DT><DD>
19237
19238 <p> TLS protocols accepted by the Postfix SMTP server with mandatory TLS
19239 encryption. If the list is empty, the server supports all available TLS
19240 protocol versions. A non-empty value is a list of protocol names to
19241 include or exclude, separated by whitespace, commas or colons. </p>
19242
19243 <p> The valid protocol names (see SSL_get_version(3)) are "SSLv2",
19244 "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" and "TLSv1.3". Starting with
19245 Postfix 3.6, the default value is ">=TLSv1", which sets TLS 1.0 as
19246 the lowest supported TLS protocol version (see below). Older releases
19247 use the "!" exclusion syntax, also described below. </p>
19248
19249 <p> As of Postfix 3.6, the preferred way to limit the range of
19250 acceptable protocols is to set the lowest acceptable TLS protocol
19251 version and/or the highest acceptable TLS protocol version. To set the
19252 lower bound include an element of the form: ">=<i>version</i>" where
19253 <i>version</i> is a either one of the TLS protocol names listed above,
19254 or a hexadecimal number corresponding to the desired TLS protocol
19255 version (0301 for TLS 1.0, 0302 for TLS 1.1, etc.). For the upper
19256 bound, use "<=<i>version</i>". There must be no whitespace between
19257 the ">=" or "<=" symbols and the protocol name or number. </p>
19258
19259 <p> Hexadecimal protocol numbers make it possible to specify protocol
19260 bounds for TLS versions that are known to OpenSSL, but might not be
19261 known to Postfix. They cannot be used with the legacy exclusion syntax.
19262 Leading "0" or "0x" prefixes are supported, but not required.
19263 Therefore, "301", "0301", "0x301" and "0x0301" are all equivalent to
19264 "TLSv1". Hexadecimal versions unknown to OpenSSL will fail to set the
19265 upper or lower bound, and a warning will be logged. Hexadecimal
19266 versions should only be used when Postfix is linked with some future
19267 version of OpenSSL that supports TLS 1.4 or later, but Postfix does not
19268 yet support a symbolic name for that protocol version. </p>
19269
19270 <p>Hexadecimal example (Postfix ≥ 3.6):</p>
19271 <blockquote>
19272 <pre>
19273 # Allow only TLS 1.2 through (hypothetical) TLS 1.4, once supported
19274 # in some future version of OpenSSL (presently a warning is logged).
19275 <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = >=TLSv1.2, <=0305
19276 # Allow only TLS 1.2 and up:
19277 <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = >=0x0303
19278 </pre>
19279 </blockquote>
19280
19281 <p> With Postfix < 3.6 there is no support for a minimum or maximum
19282 version, and the protocol range is configured via protocol exclusions.
19283 To require at least TLS 1.0, set "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> =
19284 !SSLv2, !SSLv3". Listing the protocols to include, rather than
19285 protocols to exclude, is supported, but not recommended. The exclusion
19286 form more accurately matches the underlying OpenSSL interface. </p>
19287
19288 <p> Support for "TLSv1.3" was introduced in OpenSSL 1.1.1. Disabling
19289 this protocol via "!TLSv1.3" is supported since Postfix 3.4 (or patch
19290 releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2). </p>
19291
19292 <p> Example: </p>
19293
19294 <pre>
19295 # Preferred syntax with Postfix ≥ 3.6:
19296 <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = >=TLSv1.2, <=TLSv1.3
19297 # Legacy syntax:
19298 <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
19299 </pre>
19300
19301 <p> This feature is available in Postfix 2.3 and later. </p>
19302
19303
19304 </DD>
19305
19306 <DT><b><a name="smtpd_tls_protocols">smtpd_tls_protocols</a>
19307 (default: see 'postconf -d' output)</b></DT><DD>
19308
19309 <p> TLS protocols accepted by the Postfix SMTP server with opportunistic
19310 TLS encryption. If the list is empty, the server supports all available
19311 TLS protocol versions. A non-empty value is a list of protocol names to
19312 include or exclude, separated by whitespace, commas or colons. </p>
19313
19314 <p> The valid protocol names (see SSL_get_version(3)) are "SSLv2",
19315 "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" and "TLSv1.3". Starting with
19316 Postfix 3.6, the default value is ">=TLSv1", which sets TLS 1.0 as
19317 the lowest supported TLS protocol version (see below). Older releases
19318 use the "!" exclusion syntax, also described below. </p>
19319
19320 <p> As of Postfix 3.6, the preferred way to limit the range of
19321 acceptable protocols is to set the lowest acceptable TLS protocol
19322 version and/or the highest acceptable TLS protocol version. To set the
19323 lower bound include an element of the form: ">=<i>version</i>" where
19324 <i>version</i> is a either one of the TLS protocol names listed above,
19325 or a hexadecimal number corresponding to the desired TLS protocol
19326 version (0301 for TLS 1.0, 0302 for TLS 1.1, etc.). For the upper
19327 bound, use "<=<i>version</i>". There must be no whitespace between
19328 the ">=" or "<=" symbols and the protocol name or number. </p>
19329
19330 <p> Hexadecimal protocol numbers make it possible to specify protocol
19331 bounds for TLS versions that are known to OpenSSL, but might not be
19332 known to Postfix. They cannot be used with the legacy exclusion syntax.
19333 Leading "0" or "0x" prefixes are supported, but not required.
19334 Therefore, "301", "0301", "0x301" and "0x0301" are all equivalent to
19335 "TLSv1". Hexadecimal versions unknown to OpenSSL will fail to set the
19336 upper or lower bound, and a warning will be logged. Hexadecimal
19337 versions should only be used when Postfix is linked with some future
19338 version of OpenSSL that supports TLS 1.4 or later, but Postfix does not
19339 yet support a symbolic name for that protocol version. </p>
19340
19341 <p>Hexadecimal example (Postfix ≥ 3.6):</p>
19342 <blockquote>
19343 <pre>
19344 # Allow only TLS 1.0 through (hypothetical) TLS 1.4, once supported
19345 # in some future version of OpenSSL (presently a warning is logged).
19346 <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = >=TLSv1, <=0305
19347 # Allow only TLS 1.0 and up:
19348 <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = >=0x0301
19349 </pre>
19350 </blockquote>
19351
19352 <p> With Postfix < 3.6 there is no support for a minimum or maximum
19353 version, and the protocol range is configured via protocol exclusions.
19354 To require at least TLS 1.0, set "<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3".
19355 Listing the protocols to include, rather than protocols to exclude, is
19356 supported, but not recommended. The exclusion form more accurately
19357 matches the underlying OpenSSL interface. </p>
19358
19359 <p> Support for "TLSv1.3" was introduced in OpenSSL 1.1.1. Disabling
19360 this protocol via "!TLSv1.3" is supported since Postfix 3.4 (or patch
19361 releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2). </p>
19362
19363 <p> Example: </p>
19364 <pre>
19365 # Preferred syntax with Postfix ≥ 3.6:
19366 <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = >=TLSv1, <=TLSv1.3
19367 # Legacy syntax:
19368 <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3
19369 </pre>
19370
19371 <p> This feature is available in Postfix 2.6 and later. </p>
19372
19373
19374 </DD>
19375
19376 <DT><b><a name="smtpd_tls_received_header">smtpd_tls_received_header</a>
19377 (default: no)</b></DT><DD>
19378
19379 <p> Request that the Postfix SMTP server produces Received: message
19380 headers that include information about the protocol and cipher used,
19381 as well as the remote SMTP client CommonName and client certificate issuer
19382 CommonName. This is disabled by default, as the information may
19383 be modified in transit through other mail servers. Only information
19384 that was recorded by the final destination can be trusted. </p>
19385
19386 <p> This feature is available in Postfix 2.2 and later. </p>
19387
19388
19389 </DD>
19390
19391 <DT><b><a name="smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>
19392 (default: no)</b></DT><DD>
19393
19394 <p> With mandatory TLS encryption, require a trusted remote SMTP client
19395 certificate in order to allow TLS connections to proceed. This
19396 option implies "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes". </p>
19397
19398 <p> When TLS encryption is optional, this setting is ignored with
19399 a warning written to the mail log. </p>
19400
19401 <p> This feature is available in Postfix 2.2 and later. </p>
19402
19403
19404 </DD>
19405
19406 <DT><b><a name="smtpd_tls_security_level">smtpd_tls_security_level</a>
19407 (default: empty)</b></DT><DD>
19408
19409 <p> The SMTP TLS security level for the Postfix SMTP server; when
19410 a non-empty value is specified, this overrides the obsolete parameters
19411 <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a> and <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>. This parameter is ignored with
19412 "<a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> = yes". </p>
19413
19414 <p> Specify one of the following security levels: </p>
19415
19416 <dl>
19417
19418 <dt><b>none</b></dt> <dd> TLS will not be used. </dd>
19419
19420 <dt><b>may</b></dt> <dd> Opportunistic TLS: announce STARTTLS support
19421 to remote SMTP clients, but do not require that clients use TLS encryption.
19422 </dd>
19423
19424 <dt><b>encrypt</b></dt> <dd>Mandatory TLS encryption: announce
19425 STARTTLS support to remote SMTP clients, and reject all plaintext
19426 commands except HELO, EHLO, XCLIENT, STARTTLS, NOOP, QUIT, and (Postfix
19427 ≥ 3.9) HELP. According to <a href="https://tools.ietf.org/html/rfc2487">RFC 2487</a> this MUST NOT be applied in case
19428 of a publicly-referenced SMTP server. Instead, this should be used
19429 on dedicated servers, for example submission (port 587). </dd>
19430
19431 </dl>
19432
19433 <p> Note 1: the "fingerprint", "verify" and "secure" levels are not
19434 supported here.
19435 The Postfix SMTP server logs a warning and uses "encrypt" instead.
19436 To verify remote SMTP client certificates, see <a href="TLS_README.html">TLS_README</a> for a discussion
19437 of the <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>, <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>, and <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
19438 features. </p>
19439
19440 <p> Note 2: The parameter setting "<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> =
19441 encrypt" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes".</p>
19442
19443 <p> Note 3: when invoked via "sendmail -bs", Postfix will never
19444 offer STARTTLS due to insufficient privileges to access the server
19445 private key. This is intended behavior.</p>
19446
19447 <p> This feature is available in Postfix 2.3 and later. </p>
19448
19449
19450 </DD>
19451
19452 <DT><b><a name="smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
19453 (default: empty)</b></DT><DD>
19454
19455 <p> Name of the file containing the optional Postfix SMTP server
19456 TLS session cache. Specify a database type that supports enumeration,
19457 such as <b>btree</b> or <b>sdbm</b>; there is no need to support
19458 concurrent access. The file is created if it does not exist. The <a href="smtpd.8.html">smtpd(8)</a>
19459 daemon does not use this parameter directly, rather the cache is
19460 implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
19461 per-smtpd-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not
19462 effective. Note that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a>
19463 daemon: $<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, $<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
19464 (and with Postfix 2.3 and later $<a href="postconf.5.html#lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>), needs to be
19465 stored separately. It is not at this time possible to store multiple
19466 caches in a single database. </p>
19467
19468 <p> Note: <b>dbm</b> databases are not suitable. TLS
19469 session objects are too large. </p>
19470
19471 <p> As of version 2.5, Postfix no longer uses root privileges when
19472 opening this file. The file should now be stored under the Postfix-owned
19473 <a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
19474 under a non-Postfix directory is redirected to the Postfix-owned
19475 <a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
19476
19477 <p> As of Postfix 2.11 the preferred mechanism for session resumption
19478 is <a href="https://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side
19479 storage. Consequently, for Postfix ≥ 2.11 this parameter should
19480 generally be left empty. TLS session tickets require an OpenSSL
19481 library (at least version 0.9.8h) that provides full support for
19482 this TLS extension. See also <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p>
19483
19484 <p> Example: </p>
19485
19486 <pre>
19487 <a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/smtpd_scache
19488 </pre>
19489
19490 <p> This feature is available in Postfix 2.2 and later. </p>
19491
19492
19493 </DD>
19494
19495 <DT><b><a name="smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>
19496 (default: 3600s)</b></DT><DD>
19497
19498 <p> The expiration time of Postfix SMTP server TLS session cache
19499 information. A cache cleanup is performed periodically
19500 every $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> seconds. As with
19501 $<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, this parameter is implemented in the
19502 <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtpd-instance <a href="master.5.html">master.cf</a> overrides
19503 are not possible. </p>
19504
19505 <p> As of Postfix 2.11 this setting cannot exceed 100 days. If set
19506 ≤ 0, session caching is disabled, not just via the database, but
19507 also via <a href="https://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side
19508 storage. If set to a positive value less than 2 minutes, the minimum
19509 value of 2 minutes is used instead. TLS session tickets require
19510 an OpenSSL library (at least version 0.9.8h) that provides full
19511 support for this TLS extension. </p>
19512
19513 <p> Specify a non-negative time value (an integral value plus an optional
19514 one-letter suffix that specifies the time unit). Time units: s
19515 (seconds), m (minutes), h (hours), d (days), w (weeks).
19516 The default time unit is s (seconds). </p>
19517
19518 <p> This feature is available in Postfix 2.2 and later, and updated
19519 for TLS session ticket support in Postfix 2.11. </p>
19520
19521
19522 </DD>
19523
19524 <DT><b><a name="smtpd_tls_wrappermode">smtpd_tls_wrappermode</a>
19525 (default: no)</b></DT><DD>
19526
19527 <p> Run the Postfix SMTP server in TLS "wrapper" mode,
19528 instead of using the STARTTLS command. </p>
19529
19530 <p> If you want to support this service, enable a special port in
19531 <a href="master.5.html">master.cf</a>, and specify "-o <a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a>=yes" on the SMTP
19532 server's command line. Port 465 (submissions, formerly called smtps)
19533 is reserved for this purpose. </p>
19534
19535 <p> This feature is available in Postfix 2.2 and later. </p>
19536
19537
19538 </DD>
19539
19540 <DT><b><a name="smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a>
19541 (default: empty)</b></DT><DD>
19542
19543 <p> The name of the proxy protocol used by an optional before-smtpd
19544 proxy agent. When a proxy agent is used, this protocol conveys local
19545 and remote address and port information. Specify
19546 "<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
19547 protocol; version 2 is supported with Postfix 3.5 and later. </p>
19548
19549 <p> NOTE: To use the nginx proxy with <a href="smtpd.8.html">smtpd(8)</a>, enable the XCLIENT
19550 protocol with <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>. This supports SASL
19551 authentication in the proxy agent (Postfix 2.9 and later). <p>
19552
19553 <p> This feature is available in Postfix 2.10 and later. </p>
19554
19555
19556 </DD>
19557
19558 <DT><b><a name="smtpd_upstream_proxy_timeout">smtpd_upstream_proxy_timeout</a>
19559 (default: 5s)</b></DT><DD>
19560
19561 <p> The time limit for the proxy protocol specified with the
19562 <a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> parameter. </p>
19563
19564 <p> Specify a non-zero time value (an integral value plus an optional
19565 one-letter suffix that specifies the time unit). Time units: s
19566 (seconds), m (minutes), h (hours), d (days), w (weeks).
19567 The default time unit is s (seconds). </p>
19568
19569 <p> This feature is available in Postfix 2.10 and later. </p>
19570
19571
19572 </DD>
19573
19574 <DT><b><a name="smtpd_use_tls">smtpd_use_tls</a>
19575 (default: no)</b></DT><DD>
19576
19577 <p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
19578 but do not require that clients use TLS encryption. </p>
19579
19580 <p> Note: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
19581 STARTTLS due to insufficient privileges to access the server private
19582 key. This is intended behavior. </p>
19583
19584 <p> This feature is deprecated as of Postfix 3.9. Specify
19585 <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
19586
19587 <p> This feature is available in Postfix 2.2 and later. With
19588 Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
19589
19590
19591 </DD>
19592
19593 <DT><b><a name="smtputf8_autodetect_classes">smtputf8_autodetect_classes</a>
19594 (default: sendmail, verify)</b></DT><DD>
19595
19596 <p> Detect that a message requires SMTPUTF8 support for the specified
19597 mail origin classes. This is a workaround to avoid chicken-and-egg
19598 problems during the initial SMTPUTF8 roll-out in environments with
19599 pre-existing mail flows that contain UTF8. Those mail flows should
19600 not break because Postfix suddenly refuses to deliver such mail
19601 to down-stream MTAs that don't announce SMTPUTF8 support. </p>
19602
19603 <p> The problem is that Postfix cannot rely solely on the sender's
19604 declaration that a message requires SMTPUTF8 support, because UTF8
19605 may be introduced during local processing (for example, the client
19606 hostname in Postfix's Received: header, adding @$<a href="postconf.5.html#myorigin">myorigin</a> or
19607 .$<a href="postconf.5.html#mydomain">mydomain</a> to an incomplete address, address rewriting, alias
19608 expansion, automatic BCC recipients, local forwarding, and changes
19609 made by header checks or Milter applications). </p>
19610
19611 <p> For now, the default is to enable "SMTPUTF8 required" autodetection
19612 only for Postfix sendmail command-line submissions and address
19613 verification probes. This may change once SMTPUTF8 support achieves
19614 world domination. However, sites that add UTF8 content via local
19615 processing (see above) should autodetect the need for SMTPUTF8
19616 support for all email.</p>
19617
19618 <p> Specify one or more of the following: </p>
19619
19620 <dl compact>
19621
19622 <dt> <b> sendmail </b> </dt> <dd> Submission with the Postfix
19623 <a href="sendmail.1.html">sendmail(1)</a> command. </dd>
19624
19625 <dt> <b> smtpd </b> </dt> <dd> Mail received with the <a href="smtpd.8.html">smtpd(8)</a>
19626 daemon. </dd>
19627
19628 <dt> <b> qmqpd </b> </dt> <dd> Mail received with the <a href="qmqpd.8.html">qmqpd(8)</a>
19629 daemon. </dd>
19630
19631 <dt> <b> forward </b> </dt> <dd> Local forwarding or aliasing. When
19632 a message is received with "SMTPUTF8 required", then the forwarded
19633 (aliased) message always has "SMTPUTF8 required". </dd>
19634
19635 <dt> <b> bounce </b> </dt> <dd> Submission by the <a href="bounce.8.html">bounce(8)</a> daemon.
19636 When a message is received with "SMTPUTF8 required", then the
19637 delivery status notification always has "SMTPUTF8 required". </dd>
19638
19639 <dt> <b> notify </b> </dt> <dd> Postmaster notification from the
19640 <a href="smtp.8.html">smtp(8)</a> or <a href="smtpd.8.html">smtpd(8)</a> daemon. </dd>
19641
19642 <dt> <b> verify </b> </dt> <dd> Address verification probe from the
19643 <a href="verify.8.html">verify(8)</a> daemon. </dd>
19644
19645 <dt> <b> all </b> </dt> <dd> Enable SMTPUTF8 autodetection for all
19646 mail. </dd>
19647
19648 </dl>
19649
19650 <p> This feature is available in Postfix 3.0 and later. </p>
19651
19652
19653 </DD>
19654
19655 <DT><b><a name="smtputf8_enable">smtputf8_enable</a>
19656 (default: yes)</b></DT><DD>
19657
19658 <p> Enable preliminary SMTPUTF8 support for the protocols described
19659 in <a href="https://tools.ietf.org/html/rfc6531">RFC 6531</a>, <a href="https://tools.ietf.org/html/rfc6532">RFC 6532</a>, and <a href="https://tools.ietf.org/html/rfc6533">RFC 6533</a>. This requires that Postfix is
19660 built to support these protocols. </p>
19661
19662 <p> This feature is available in Postfix 3.0 and later. </p>
19663
19664
19665 </DD>
19666
19667 <DT><b><a name="socketmap_max_reply_size">socketmap_max_reply_size</a>
19668 (default: 100000)</b></DT><DD>
19669
19670 <p> The maximum allowed reply size from a socketmap server, not
19671 including the netstring encapsulation. </p>
19672
19673 <p> This feature is available in Postfix ≥ 3.10. </p>
19674
19675
19676 </DD>
19677
19678 <DT><b><a name="soft_bounce">soft_bounce</a>
19679 (default: no)</b></DT><DD>
19680
19681 <p>
19682 Safety net to keep mail queued that would otherwise be returned to
19683 the sender. This parameter disables locally-generated bounces,
19684 changes the handling of negative responses from remote servers,
19685 content filters or plugins,
19686 and prevents the Postfix SMTP server from rejecting mail permanently
19687 by changing 5xx reply codes into 4xx. However, <a href="postconf.5.html#soft_bounce">soft_bounce</a> is no
19688 cure for address rewriting mistakes or mail routing mistakes.
19689 </p>
19690
19691 <p>
19692 Note: "<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes" is in some cases implemented by modifying
19693 server responses. Therefore, the response that Postfix logs may
19694 differ from the response that Postfix actually sends or receives.
19695 </p>
19696
19697 <p>
19698 Example:
19699 </p>
19700
19701 <pre>
19702 <a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes
19703 </pre>
19704
19705
19706 </DD>
19707
19708 <DT><b><a name="stale_lock_time">stale_lock_time</a>
19709 (default: 500s)</b></DT><DD>
19710
19711 <p>
19712 The time after which a stale exclusive mailbox lockfile is removed.
19713 This is used for delivery to file or mailbox.
19714 </p>
19715
19716 <p> Specify a non-zero time value (an integral value plus an optional
19717 one-letter suffix that specifies the time unit). Time units: s
19718 (seconds), m (minutes), h (hours), d (days), w (weeks).
19719 The default time unit is s (seconds). </p>
19720
19721
19722 </DD>
19723
19724 <DT><b><a name="stress">stress</a>
19725 (default: empty)</b></DT><DD>
19726
19727 <p> This feature is documented in the <a href="STRESS_README.html">STRESS_README</a> document. </p>
19728
19729 <p> This feature is available in Postfix 2.5 and later. </p>
19730
19731
19732 </DD>
19733
19734 <DT><b><a name="strict_7bit_headers">strict_7bit_headers</a>
19735 (default: no)</b></DT><DD>
19736
19737 <p>
19738 Reject mail with 8-bit text in message headers. This blocks mail
19739 from poorly written applications.
19740 </p>
19741
19742 <p>
19743 This feature should not be enabled on a general purpose mail server,
19744 because it is likely to reject legitimate email.
19745 </p>
19746
19747 <p>
19748 This feature is available in Postfix 2.0 and later.
19749 </p>
19750
19751
19752 </DD>
19753
19754 <DT><b><a name="strict_8bitmime">strict_8bitmime</a>
19755 (default: no)</b></DT><DD>
19756
19757 <p>
19758 Enable both <a href="postconf.5.html#strict_7bit_headers">strict_7bit_headers</a> and <a href="postconf.5.html#strict_8bitmime_body">strict_8bitmime_body</a>.
19759 </p>
19760
19761 <p>
19762 This feature should not be enabled on a general purpose mail server,
19763 because it is likely to reject legitimate email.
19764 </p>
19765
19766 <p>
19767 This feature is available in Postfix 2.0 and later.
19768 </p>
19769
19770
19771 </DD>
19772
19773 <DT><b><a name="strict_8bitmime_body">strict_8bitmime_body</a>
19774 (default: no)</b></DT><DD>
19775
19776 <p>
19777 Reject 8-bit message body text without 8-bit MIME content encoding
19778 information. This blocks mail from poorly written applications.
19779 </p>
19780
19781 <p>
19782 Unfortunately, this also rejects majordomo approval requests when
19783 the included request contains valid 8-bit MIME mail, and it rejects
19784 bounces from mailers that do not MIME encapsulate 8-bit content
19785 (for example, bounces from qmail or from old versions of Postfix).
19786 </p>
19787
19788 <p>
19789 This feature should not be enabled on a general purpose mail server,
19790 because it is likely to reject legitimate email.
19791 </p>
19792
19793 <p>
19794 This feature is available in Postfix 2.0 and later.
19795 </p>
19796
19797
19798 </DD>
19799
19800 <DT><b><a name="strict_mailbox_ownership">strict_mailbox_ownership</a>
19801 (default: yes)</b></DT><DD>
19802
19803 <p> Defer delivery when a mailbox file is not owned by its recipient.
19804 The default setting is not backwards compatible. </p>
19805
19806 <p> This feature is available in Postfix 2.5.3 and later. </p>
19807
19808
19809 </DD>
19810
19811 <DT><b><a name="strict_mime_encoding_domain">strict_mime_encoding_domain</a>
19812 (default: no)</b></DT><DD>
19813
19814 <p>
19815 Reject mail with invalid Content-Transfer-Encoding: information
19816 for the message/* or multipart/* MIME content types. This blocks
19817 mail from poorly written software.
19818 </p>
19819
19820 <p>
19821 This feature should not be enabled on a general purpose mail server,
19822 because it will reject mail after a single violation.
19823 </p>
19824
19825 <p>
19826 This feature is available in Postfix 2.0 and later.
19827 </p>
19828
19829
19830 </DD>
19831
19832 <DT><b><a name="strict_rfc821_envelopes">strict_rfc821_envelopes</a>
19833 (default: no)</b></DT><DD>
19834
19835 <p>
19836 Require that addresses received in SMTP MAIL FROM and RCPT TO
19837 commands are enclosed with <>, and that those addresses do
19838 not contain <a href="https://tools.ietf.org/html/rfc822">RFC 822</a> style comments or phrases. This stops mail
19839 from poorly written software.
19840 </p>
19841
19842 <p>
19843 By default, the Postfix SMTP server accepts <a href="https://tools.ietf.org/html/rfc822">RFC 822</a> syntax in MAIL
19844 FROM and RCPT TO addresses.
19845 </p>
19846
19847
19848 </DD>
19849
19850 <DT><b><a name="strict_smtputf8">strict_smtputf8</a>
19851 (default: no)</b></DT><DD>
19852
19853 <p> Enable stricter enforcement of the SMTPUTF8 protocol. The Postfix
19854 SMTP server accepts UTF8 sender or recipient addresses only when
19855 the client requests an SMTPUTF8 mail transaction. </p>
19856
19857 <p> This feature is available in Postfix 3.0 and later. </p>
19858
19859
19860 </DD>
19861
19862 <DT><b><a name="sun_mailtool_compatibility">sun_mailtool_compatibility</a>
19863 (default: no)</b></DT><DD>
19864
19865 <p>
19866 Obsolete SUN mailtool compatibility feature. Instead, use
19867 "<a href="postconf.5.html#mailbox_delivery_lock">mailbox_delivery_lock</a> = dotlock".
19868 </p>
19869
19870
19871 </DD>
19872
19873 <DT><b><a name="swap_bangpath">swap_bangpath</a>
19874 (default: yes)</b></DT><DD>
19875
19876 <p>
19877 Enable the rewriting of "site!user" into "user@site". This is
19878 necessary if your machine is connected to UUCP networks. It is
19879 enabled by default.
19880 </p>
19881
19882 <p> Note: with Postfix version 2.2, message header address rewriting
19883 happens only when one of the following conditions is true: </p>
19884
19885 <ul>
19886
19887 <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
19888
19889 <li> The message is received from a network client that matches
19890 $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
19891
19892 <li> The message is received from the network, and the
19893 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
19894
19895 </ul>
19896
19897 <p> To get the behavior before Postfix version 2.2, specify
19898 "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
19899
19900 <p>
19901 Example:
19902 </p>
19903
19904 <pre>
19905 <a href="postconf.5.html#swap_bangpath">swap_bangpath</a> = no
19906 </pre>
19907
19908
19909 </DD>
19910
19911 <DT><b><a name="syslog_facility">syslog_facility</a>
19912 (default: mail)</b></DT><DD>
19913
19914 <p>
19915 The syslog facility of Postfix logging. Specify a facility as
19916 defined in syslog.conf(5). The default facility is "mail".
19917 </p>
19918
19919 <p>
19920 Warning: a non-default <a href="postconf.5.html#syslog_facility">syslog_facility</a> setting takes effect only
19921 after a Postfix process has completed initialization. Errors during
19922 process initialization will be logged with the default facility.
19923 Examples are errors while parsing the command line arguments, and
19924 errors while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
19925 </p>
19926
19927
19928 </DD>
19929
19930 <DT><b><a name="syslog_name">syslog_name</a>
19931 (default: see "postconf -d" output)</b></DT><DD>
19932
19933 <p>
19934 A prefix that is prepended to the process name in syslog
19935 records, so that, for example, "smtpd" becomes "prefix/smtpd".
19936 </p>
19937
19938 <p>
19939 Warning: a non-default <a href="postconf.5.html#syslog_name">syslog_name</a> setting takes effect only after
19940 a Postfix process has completed initialization. Errors during
19941 process initialization will be logged with the default name. Examples
19942 are errors while parsing the command line arguments, and errors
19943 while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
19944 </p>
19945
19946
19947 </DD>
19948
19949 <DT><b><a name="tcp_windowsize">tcp_windowsize</a>
19950 (default: 0)</b></DT><DD>
19951
19952 <p> An optional workaround for routers that break TCP window scaling.
19953 Specify a value > 0 and < 65536 to enable this feature. With
19954 Postfix TCP servers (<a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a>), this feature is implemented
19955 by the Postfix <a href="master.8.html">master(8)</a> daemon. </p>
19956
19957 <p> To change this parameter without stopping Postfix, you need to
19958 first terminate all Postfix TCP servers: </p>
19959
19960 <blockquote>
19961 <pre>
19962 # postconf -e <a href="postconf.5.html#master_service_disable">master_service_disable</a>=inet
19963 # postfix reload
19964 </pre>
19965 </blockquote>
19966
19967 <p> This immediately terminates all processes that accept network
19968 connections. Next, you enable Postfix TCP servers with the updated
19969 <a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> setting: </p>
19970
19971 <blockquote>
19972 <pre>
19973 # postconf -e <a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a>=65535 <a href="postconf.5.html#master_service_disable">master_service_disable</a>=
19974 # postfix reload
19975 </pre>
19976 </blockquote>
19977
19978 <p> If you skip these steps with a running Postfix system, then the
19979 <a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> change will work only for Postfix TCP clients (<a href="smtp.8.html">smtp(8)</a>,
19980 <a href="lmtp.8.html">lmtp(8)</a>). </p>
19981
19982 <p> This feature is available in Postfix 2.6 and later. </p>
19983
19984
19985 </DD>
19986
19987 <DT><b><a name="tls_append_default_CA">tls_append_default_CA</a>
19988 (default: no)</b></DT><DD>
19989
19990 <p> Append the system-supplied default Certification Authority
19991 certificates to the ones specified with *_tls_CApath or *_tls_CAfile.
19992 The default is "no"; this prevents Postfix from trusting third-party
19993 certificates and giving them relay permission with
19994 <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p>
19995
19996 <p> This feature is available in Postfix 2.4.15, 2.5.11, 2.6.8,
19997 2.7.2 and later versions. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = yes" for
19998 backwards compatibility, to avoid breaking certificate verification
19999 with sites that don't use <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p>
20000
20001
20002 </DD>
20003
20004 <DT><b><a name="tls_config_file">tls_config_file</a>
20005 (default: default)</b></DT><DD>
20006
20007 <p> Optional configuration file with baseline OpenSSL settings.
20008 OpenSSL loads any SSL settings found in the configuration file for
20009 the selected application name (see <a href="postconf.5.html#tls_config_name">tls_config_name</a>) or else the
20010 built-in application name "openssl_conf" when no application name is
20011 specified, or no corresponding configuration section is present.
20012 </p>
20013
20014 <p> With OpenSSL releases 1.1.1 and 1.1.1a, applications (including
20015 Postfix) can neither specify an alternative configuration file, nor
20016 avoid loading the default configuration file. </p>
20017
20018 <p> With OpenSSL 1.1.1b or later, this parameter may be set to one of:
20019 </p>
20020
20021 <dl>
20022
20023 <dt> <b>default</b> (default) </dt> <dd> Load the system-wide
20024 "openssl.cnf" configuration file. </dd>
20025
20026 <dt> <b>none</b> (recommended, OpenSSL 1.1.1b or later only) </dt>
20027 <dd> This setting disables loading of the system-wide "openssl.cnf"
20028 file. </dd>
20029
20030 <dt> <b><i>/absolute-path</i></b> (OpenSSL 1.1.1b or later only) </dt>
20031 <dd> Load the configuration file specified by <i>/absolute-path</i>.
20032 With this setting it is an error for the file to not contain any
20033 settings for the selected <a href="postconf.5.html#tls_config_name">tls_config_name</a>. There is no fallback to
20034 the default "openssl_conf" name. </dd>
20035
20036 </dl>
20037
20038 <p> Failures in processing of the built-in default configuration file,
20039 are silently ignored. Any errors in loading a non-default configuration
20040 file are detected by Postfix, and cause TLS support to be disabled.
20041 </p>
20042
20043 <p> The OpenSSL configuration file format is not documented here,
20044 beyond giving two examples. <p>
20045
20046 <p> Example: Default settings for all applications. </p>
20047
20048 <blockquote>
20049 <pre>
20050 # The name 'openssl_conf' is the default application name
20051 # The section name to the right of the '=' sign is arbitrary,
20052 # any name will do, so long as it refers to the desired section.
20053 #
20054 # The name 'system_default' selects the settings applied internally
20055 # by the SSL library as part of SSL object creation. Applications
20056 # can then apply any additional settings of their choice.
20057 #
20058 # In this example, TLS versions prior to 1.2 are disabled by default.
20059 #
20060 openssl_conf = system_wide_settings
20061 [system_wide_settings]
20062 ssl_conf = ssl_library_settings
20063 [ssl_library_settings]
20064 system_default = initial_ssl_settings
20065 [initial_ssl_settings]
20066 MinProtocol = TLSv1.2
20067 </pre>
20068 </blockquote>
20069
20070 <p> Example: Custom settings for an application named "postfix". </p>
20071
20072 <blockquote>
20073 <pre>
20074 # The mapping from an application name to the corresponding configuration
20075 # section must appear near the top of the file, (in what is sometimes called
20076 # the "default section") prior to the start of any explicitly named
20077 # "[sections]". The named sections can appear in any order and don't nest.
20078 #
20079 postfix = postfix_settings
20080 [postfix_settings]
20081 ssl_conf = postfix_ssl_settings
20082 [postfix_ssl_settings]
20083 system_default = baseline_postfix_settings
20084 [baseline_postfix_settings]
20085 MinProtocol = TLSv1
20086 </pre>
20087 </blockquote>
20088
20089 <p> Example: Custom OpenSSL group settings. </p>
20090
20091 <pre>
20092 <a href="postconf.5.html">main.cf</a>:
20093 <a href="postconf.5.html#tls_config_file">tls_config_file</a> = ${<a href="postconf.5.html#config_directory">config_directory</a>}/openssl.cnf
20094 <a href="postconf.5.html#tls_config_name">tls_config_name</a> = postfix
20095 </pre>
20096
20097 <pre>
20098 openssl.cnf:
20099 postfix = postfix_settings
20100 </pre>
20101
20102 <pre>
20103 [postfix_settings]
20104 ssl_conf = postfix_ssl_settings
20105 </pre>
20106
20107 <pre>
20108 [postfix_ssl_settings]
20109 system_default = baseline_postfix_settings
20110 </pre>
20111
20112 <pre>
20113 [baseline_postfix_settings]
20114 # New OpenSSL 3.5 syntax, for older releases consider
20115 # the Postfix default:
20116 #
20117 # Groups = X25519:X448:prime256v1:secp384r1:secp521r1:ffdhe2048:ffdhe3072
20118 #
20119 Groups = *X25519MLKEM768 / *X25519:X448 / P-256:P-384
20120 </pre>
20121
20122 <p> Caution: It is typically best to just use the default OpenSSL
20123 group settings, by setting "<a href="postconf.5.html#tls_config_file">tls_config_file</a> = none". Overly strict
20124 system-wide TLS settings will conflict with Postfix's opportunistic
20125 TLS, where being less restrictive is better than downgrading to
20126 cleartext SMTP. </p>
20127
20128 <p> This feature is available in Postfix ≥ 3.9, 3.8.1, 3.7.6,
20129 3.6.10, and 3.5.20. </p>
20130
20131
20132 </DD>
20133
20134 <DT><b><a name="tls_config_name">tls_config_name</a>
20135 (default: empty)</b></DT><DD>
20136
20137 <p> The application name passed by Postfix to OpenSSL library
20138 initialization functions. This name is used to select the desired
20139 configuration "section" in the OpenSSL configuration file specified
20140 via the <a href="postconf.5.html#tls_config_file">tls_config_file</a> parameter. When empty, or when the
20141 selected name is not present in the configuration file, the default
20142 application name ("openssl_conf") is used as a fallback. </p>
20143
20144 <p> This feature is available in Postfix ≥ 3.9. </p>
20145
20146
20147 </DD>
20148
20149 <DT><b><a name="tls_daemon_random_bytes">tls_daemon_random_bytes</a>
20150 (default: 32)</b></DT><DD>
20151
20152 <p> The number of pseudo-random bytes that an <a href="smtp.8.html">smtp(8)</a> or <a href="smtpd.8.html">smtpd(8)</a>
20153 process requests from the <a href="tlsmgr.8.html">tlsmgr(8)</a> server in order to seed its
20154 internal pseudo random number generator (PRNG). The default of 32
20155 bytes (equivalent to 256 bits) is sufficient to generate a 128bit
20156 (or 168bit) session key. </p>
20157
20158 <p> This feature is available in Postfix 2.2 and later. </p>
20159
20160
20161 </DD>
20162
20163 <DT><b><a name="tls_dane_digest_agility">tls_dane_digest_agility</a>
20164 (default: on)</b></DT><DD>
20165
20166 <p> Configure <a href="https://tools.ietf.org/html/rfc7671">RFC7671</a> DANE TLSA digest algorithm agility.
20167 Do not change this setting from its default value. </p>
20168
20169 <p> See Section 8 of <a href="https://tools.ietf.org/html/rfc7671">RFC7671</a> for correct key rotation procedures. </p>
20170
20171 <p> This feature is available in Postfix 2.11 through 3.1. Postfix
20172 3.2 and later ignore this configuration parameter and behave as
20173 though it were set to "on". </p>
20174
20175
20176 </DD>
20177
20178 <DT><b><a name="tls_dane_digests">tls_dane_digests</a>
20179 (default: sha512 sha256)</b></DT><DD>
20180
20181 <p> DANE TLSA (<a href="https://tools.ietf.org/html/rfc6698">RFC 6698</a>, <a href="https://tools.ietf.org/html/rfc7671">RFC 7671</a>, <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a>) resource-record "matching
20182 type" digest algorithms in descending preference order. All the
20183 specified algorithms must be supported by the underlying OpenSSL
20184 library, otherwise the Postfix SMTP client will not support DANE
20185 TLSA security. </p>
20186
20187 <p> Specify a list of digest names separated by commas and/or
20188 whitespace. Each digest name may be followed by an optional
20189 "=<number>" suffix. For example, "sha512" may instead be specified
20190 as "sha512=2" and "sha256" may instead be specified as "sha256=1".
20191 The optional number must match the <a
20192 href="https://www.iana.org/assignments/dane-parameters/dane-parameters.xhtml#matching-types"
20193 >IANA</a> assigned TLSA matching type number the algorithm in question.
20194 Postfix will check this constraint for the algorithms it knows about.
20195 Additional matching type algorithms registered with IANA can be added
20196 with explicit numbers provided they are supported by OpenSSL. </p>
20197
20198 <p> Invalid list elements are logged with a warning and disable DANE
20199 support. TLSA RRs that specify digests not included in the list are
20200 ignored with a warning. </p>
20201
20202 <p> Note: It is unwise to omit sha256 from the digest list. This
20203 digest algorithm is the only mandatory to implement digest algorithm
20204 in <a href="https://tools.ietf.org/html/rfc6698">RFC 6698</a>, and many servers are expected to publish TLSA records
20205 with just sha256 digests. Unless one of the standard digests is
20206 seriously compromised and servers have had ample time to update their
20207 TLSA records you should not omit any standard digests, just arrange
20208 them in order from strongest to weakest. </p>
20209
20210 <p> This feature is available in Postfix 2.11 and later. </p>
20211
20212
20213 </DD>
20214
20215 <DT><b><a name="tls_dane_trust_anchor_digest_enable">tls_dane_trust_anchor_digest_enable</a>
20216 (default: yes)</b></DT><DD>
20217
20218 <p> Enable support for <a href="https://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE TLSA) DNS records that contain
20219 digests of trust-anchors with certificate usage "2". Do not change
20220 this setting from its default value. </p>
20221
20222 <p> This feature is available in Postfix 2.11 through 3.1. It has
20223 been withdrawn in Postfix 3.2, as trust-anchor TLSA records are now
20224 widely used and have proved sufficiently reliable. Postfix 3.2 and
20225 later ignore this configuration parameter and behaves as though it
20226 were set to "yes". </p>
20227
20228
20229 </DD>
20230
20231 <DT><b><a name="tls_disable_workarounds">tls_disable_workarounds</a>
20232 (default: see "postconf -d" output)</b></DT><DD>
20233
20234 <p> List or bit-mask of OpenSSL bug work-arounds to disable. </p>
20235
20236 <p> The OpenSSL toolkit includes a set of work-arounds for buggy SSL/TLS
20237 implementations. Applications, such as Postfix, that want to maximize
20238 interoperability ask the OpenSSL library to enable the full set of
20239 recommended work-arounds. </p>
20240
20241 <p> From time to time, it is discovered that a work-around creates a
20242 security issue, and should no longer be used. If upgrading OpenSSL
20243 to a fixed version is not an option or an upgrade is not available
20244 in a timely manner, or in closed environments where no buggy clients
20245 or servers exist, it may be appropriate to disable some or all of the
20246 OpenSSL interoperability work-arounds. This parameter specifies which
20247 bug work-arounds to disable. </p>
20248
20249 <p> If the value of the parameter is a hexadecimal long integer starting
20250 with "0x", the bug work-arounds corresponding to the bits specified in
20251 its value are removed from the <b>SSL_OP_ALL</b> work-around bit-mask
20252 (see openssl/ssl.h and SSL_CTX_set_options(3)). You can specify more
20253 bits than are present in SSL_OP_ALL, excess bits are ignored. Specifying
20254 0xFFFFFFFF disables all bug-workarounds on a 32-bit system. This should
20255 also be sufficient on 64-bit systems, until OpenSSL abandons support
20256 for 32-bit systems and starts using the high 32 bits of a 64-bit
20257 bug-workaround mask. </p>
20258
20259 <p> Otherwise, the parameter is a white-space or comma separated list
20260 of specific named bug work-arounds chosen from the list below. It
20261 is possible that your OpenSSL version includes new bug work-arounds
20262 added after your Postfix source code was last updated, in that case
20263 you can only disable one of these via the hexadecimal syntax above. </p>
20264
20265 <dl>
20266
20267 <dt><b>CRYPTOPRO_TLSEXT_BUG</b></dt> <dd>New with GOST support in
20268 OpenSSL 1.0.0.</dd>
20269
20270 <dt><b>DONT_INSERT_EMPTY_FRAGMENTS</b></dt> <dd>See
20271 SSL_CTX_set_options(3)</dd>
20272
20273 <dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
20274
20275 <dt><b>MICROSOFT_BIG_SSLV3_BUFFER</b></dt> <dd>See
20276 SSL_CTX_set_options(3)</dd>
20277
20278 <dt><b>MICROSOFT_SESS_ID_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
20279
20280 <dt><b>MSIE_SSLV2_RSA_PADDING</b></dt> <dd> also aliased as
20281 <b>CVE-2005-2969</b>. Postfix 2.8 disables this work-around by
20282 default with OpenSSL versions that may predate the fix. Fixed in
20283 OpenSSL 0.9.7h and OpenSSL 0.9.8a.</dd>
20284
20285 <dt><b>NETSCAPE_CHALLENGE_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
20286
20287 <dt><b>NETSCAPE_REUSE_CIPHER_CHANGE_BUG</b></dt> <dd> also aliased
20288 as <b>CVE-2010-4180</b>. Postfix 2.8 disables this work-around by
20289 default with OpenSSL versions that may predate the fix. Fixed in
20290 OpenSSL 0.9.8q and OpenSSL 1.0.0c.</dd>
20291
20292 <dt><b>SSLEAY_080_CLIENT_DH_BUG</b></dt> <dd>See
20293 SSL_CTX_set_options(3)</dd>
20294
20295 <dt><b>SSLREF2_REUSE_CERT_TYPE_BUG</b></dt> <dd>See
20296 SSL_CTX_set_options(3)</dd>
20297
20298 <dt><b>TLS_BLOCK_PADDING_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
20299
20300 <dt><b>TLS_D5_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
20301
20302 <dt><b>TLS_ROLLBACK_BUG</b></dt> <dd>See SSL_CTX_set_options(3).
20303 This is disabled in OpenSSL 0.9.7 and later. Nobody should still
20304 be using 0.9.6! </dd>
20305
20306 <dt><b>TLSEXT_PADDING</b></dt><dd>Postfix ≥ 3.4. See SSL_CTX_set_options(3).</dd>
20307
20308 </dl>
20309
20310 <p> This feature is available in Postfix 2.8 and later. </p>
20311
20312
20313 </DD>
20314
20315 <DT><b><a name="tls_eecdh_auto_curves">tls_eecdh_auto_curves</a>
20316 (default: see "postconf -d" output)</b></DT><DD>
20317
20318 <p> The prioritized list of elliptic curves, that should be enabled in the
20319 Postfix SMTP client and server. The selected curves should be implemented
20320 by OpenSSL and be standardized for use in the TLS "supported groups" extension
20321 (<a href="https://tools.ietf.org/html/rfc8422">RFC8422</a>, <a href="https://tools.ietf.org/html/rfc8446">RFC8446</a> and <a href="https://tools.ietf.org/html/rfc8447">RFC8447</a>). Be sure to include at least "x25519" and
20322 "prime256v1" (the OpenSSL name for "secp256r1", a.k.a. "P-256"). The default
20323 list is suitable for most users. </p>
20324
20325 <p> On the client side, the first curve listed will be used to construct the
20326 client's initial TLS 1.3 "keyshare". If this is not supported by the server,
20327 the TLS handshake may require an additional round-trip after the server issues
20328 a HelloRetryRequest (HRR) indicating a suitable mutually supported curve. </p>
20329
20330 <p> Postfix skips curve names that are unknown to OpenSSL, or that are known
20331 but not yet implemented. This makes it possible to "anticipate" support for
20332 curves that should be used once they become available, or to deploy the same
20333 setting on a server "farm" where not all servers support the same curves. </p>
20334
20335 <p> As of Postfix 3.10, when compiled with OpenSSL 3.0 or later, the "curve"
20336 names can be more general key encapsulation mechanisms (KEMs), and/or may be
20337 loaded from an external "provider" (via a suitable <a href="postconf.5.html#tls_config_file">tls_config_file</a>). </p>
20338
20339 <p> See also the "<a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a>" parameter, which supports
20340 customizing the list of FFDHE groups enabled with TLS 1.3. That setting
20341 is introduced with Postfix 3.8, when built against OpenSSL 3.0 or later.
20342 </p>
20343
20344 <p> Post-quantum cryptography support: OpenSSL 3.5 introduces new
20345 configuration syntax that Postfix will not attempt to imitate.
20346 Instead, with Postfix 3.6.17, 3.7.13, 3.8.8, 3.9.2, and later, set
20347 both <a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a> and if available <a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a>
20348 to the empty value, to enable algorithm selection through OpenSSL
20349 configuration. See <a href="postconf.5.html#tls_config_file">tls_config_file</a> for a configuration example.
20350 </p>
20351
20352 <p> This feature is available in Postfix 3.2 and later, when it is
20353 compiled and linked with OpenSSL 1.0.2 or later on platforms where
20354 EC algorithms have not been disabled by the vendor. </p>
20355
20356
20357 </DD>
20358
20359 <DT><b><a name="tls_eecdh_strong_curve">tls_eecdh_strong_curve</a>
20360 (default: prime256v1)</b></DT><DD>
20361
20362 <p> The elliptic curve used by the Postfix SMTP server for sensibly
20363 strong
20364 ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
20365 server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The phrase "sensibly
20366 strong" means approximately 128-bit security based on best known
20367 attacks. The selected curve must be implemented by OpenSSL (as
20368 reported by ecparam(1) with the "-list_curves" option) and be one
20369 of the curves listed in Section 5.1.1 of <a href="https://tools.ietf.org/html/rfc8422">RFC 8422</a>. You should not
20370 generally change this setting. Remote SMTP client implementations
20371 must support this curve for EECDH key exchange to take place. It
20372 is unwise to choose only "bleeding-edge" curves supported by only a
20373 small subset of clients. </p>
20374
20375 <p> This feature is not used as of Postfix 3.6. Do not specify. </p>
20376
20377 <p> The default "strong" curve is rated in NSA <a
20378 href="https://web.archive.org/web/20160330034144/https://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
20379 B</a> for information classified up to SECRET. </p>
20380
20381 <p> Note: elliptic curve names are poorly standardized; different
20382 standards groups are assigning different names to the same underlying
20383 curves. The curve with the X9.62 name "prime256v1" is also known
20384 under the SECG name "secp256r1", but OpenSSL does not recognize the
20385 latter name. </p>
20386
20387 <p> If you want to take maximal advantage of ciphers that offer <a
20388 href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
20389 the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
20390 started</a> section of <a
20391 href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The
20392 full document conveniently presents all information about Postfix
20393 "perfect" forward secrecy support in one place: what forward secrecy
20394 is, how to tweak settings, and what you can expect to see when
20395 Postfix uses ciphers with forward secrecy. </p>
20396
20397 <p> This feature is available in Postfix 2.6 and later, when it is
20398 compiled and linked with OpenSSL 1.0.0 or later on platforms where
20399 EC algorithms have not been disabled by the vendor. </p>
20400
20401
20402 </DD>
20403
20404 <DT><b><a name="tls_eecdh_ultra_curve">tls_eecdh_ultra_curve</a>
20405 (default: secp384r1)</b></DT><DD>
20406
20407 <p> The elliptic curve used by the Postfix SMTP server for maximally
20408 strong
20409 ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
20410 server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = ultra". The phrase "maximally
20411 strong" means approximately 192-bit security based on best known attacks.
20412 This additional strength comes at a significant computational cost, most
20413 users should instead set "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The selected
20414 curve must be implemented by OpenSSL (as reported by ecparam(1) with the
20415 "-list_curves" option) and be one of the curves listed in Section 5.1.1
20416 of <a href="https://tools.ietf.org/html/rfc8422">RFC 8422</a>. You should not generally change this setting. Remote SMTP
20417 client implementations must support this curve for EECDH key exchange
20418 to take place. It is unwise to choose only "bleeding-edge" curves
20419 supported by only a small subset of clients. </p>
20420
20421 <p> This feature is not used as of Postfix 3.6. Do not specify. </p>
20422
20423 <p> This default "ultra" curve is rated in NSA <a
20424 href="https://web.archive.org/web/20160330034144/https://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
20425 B</a> for information classified up to TOP SECRET. </p>
20426
20427 <p> If you want to take maximal advantage of ciphers that offer <a
20428 href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
20429 the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
20430 started</a> section of <a
20431 href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The
20432 full document conveniently presents all information about Postfix
20433 "perfect" forward secrecy support in one place: what forward secrecy
20434 is, how to tweak settings, and what you can expect to see when
20435 Postfix uses ciphers with forward secrecy. </p>
20436
20437 <p> This feature is available in Postfix 2.6 and later, when it is
20438 compiled and linked with OpenSSL 1.0.0 or later on platforms where
20439 EC algorithms have not been disabled by the vendor. </p>
20440
20441
20442 </DD>
20443
20444 <DT><b><a name="tls_export_cipherlist">tls_export_cipherlist</a>
20445 (default: see "postconf -d" output)</b></DT><DD>
20446
20447 <p> The OpenSSL cipherlist for "export" or higher grade ciphers.
20448 Ignored as of Postfix 3.8. In earlier Postfix releases this
20449 defined the meaning of the "export" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
20450 <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>,
20451 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>, <a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and
20452 <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly encouraged not to
20453 change this setting. </p>
20454
20455 <p> This feature is available in Postfix 2.3 and later. </p>
20456
20457
20458 </DD>
20459
20460 <DT><b><a name="tls_fast_shutdown_enable">tls_fast_shutdown_enable</a>
20461 (default: yes)</b></DT><DD>
20462
20463 <p> A workaround for implementations that hang Postfix while shutting
20464 down a TLS session, until Postfix times out. With this enabled,
20465 Postfix will not wait for the remote TLS peer to respond to a TLS
20466 'close' notification. This behavior is recommended for TLSv1.0 and
20467 later. </p>
20468
20469
20470 </DD>
20471
20472 <DT><b><a name="tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a>
20473 (default: see "postconf -d" output)</b></DT><DD>
20474
20475 <p> The prioritized list of finite-field Diffie-Hellman ephemeral
20476 (FFDHE) key exchange groups supported by the Postfix SMTP client and
20477 server. OpenSSL 3.0 adds support for FFDHE key agreement in TLS 1.3.
20478 In OpenSSL 1.1.1, TLS 1.3 was only supported with elliptic-curve based
20479 key agreement. The "<a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a>" parameter makes it possible
20480 to configure the list of FFDHE groups that the Postfix client or server
20481 will enable in OpenSSL 3.0 and up. This parameter has no effect when
20482 Postfix is built against earlier OpenSSL versions. </p>
20483
20484 <p> The default list of FFDHE groups that Postfix enables in OpenSSL 3.0
20485 and up includes just the 2048 and 3072-bit groups. Stronger FFDHE
20486 groups perform poorly and EC groups are a much better choice for the
20487 same security level. Postfix ignores group names that are unknown to
20488 OpenSSL, or that are known but not yet implemented. The FFDHE groups
20489 are largely a backup, in case some peer does not support EC key
20490 exchange, or EC key exchange needs to be disabled for some pressing
20491 reason. </p>
20492
20493 <p> Setting this parameter empty disables FFDHE support in TLS 1.3.
20494 Whether FFDHE key agreement is enabled in TLS 1.2 and earlier depends
20495 on whether any of the "kDHE" ciphers are included in the cipherlist.
20496 </p>
20497
20498 <p> Conversely, setting "<a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a>" empty disables TLS 1.3
20499 EC key agreement in OpenSSL 3.0 and later. If both are set empty,
20500 Postfix will fall back to OpenSSL preferences as described next. </p>
20501
20502 <p> Post-quantum cryptography support: OpenSSL 3.5 introduces new
20503 configuration syntax that Postfix will not attempt to imitate.
20504 Instead, with Postfix 3.6.17, 3.7.13, 3.8.8, 3.9.2, and later, set
20505 both <a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a> and <a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a> to the empty
20506 value, to enable algorithm selection through OpenSSL configuration.
20507 See <a href="postconf.5.html#tls_config_file">tls_config_file</a> for a configuration example. </p>
20508
20509 <p> All the default groups and EC curves should be sufficiently strong to make
20510 "pruning" the defaults unwise. At a minimum, "x25519" and "prime256v1" (the
20511 OpenSSL name for "secp256r1", a.k.a. "P-256") should be among the enabled EC
20512 curves, while "dhe2048" and "dhe3072" should be among the FFDHE groups. </p>
20513
20514 <p> This feature is available in Postfix 3.8 and later, when it is
20515 compiled and linked with OpenSSL 3.0 or later. </p>
20516
20517
20518 </DD>
20519
20520 <DT><b><a name="tls_high_cipherlist">tls_high_cipherlist</a>
20521 (default: see "postconf -d" output)</b></DT><DD>
20522
20523 <p> The OpenSSL cipherlist for "high" grade ciphers. This defines
20524 the meaning of the "high" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
20525 <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
20526 <a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly
20527 encouraged not to change this setting. </p>
20528
20529 <p> This feature is available in Postfix 2.3 and later. </p>
20530
20531
20532 </DD>
20533
20534 <DT><b><a name="tls_legacy_public_key_fingerprints">tls_legacy_public_key_fingerprints</a>
20535 (default: no)</b></DT><DD>
20536
20537 <p> A temporary migration aid for sites that use certificate
20538 <i>public-key</i> fingerprints with Postfix 2.9.0..2.9.5, which use
20539 an incorrect algorithm. This parameter has no effect on the certificate
20540 fingerprint support that is available since Postfix 2.2. </p>
20541
20542 <p> Specify "<a href="postconf.5.html#tls_legacy_public_key_fingerprints">tls_legacy_public_key_fingerprints</a> = yes" temporarily,
20543 pending a migration from configuration files with incorrect Postfix
20544 2.9.0..2.9.5 certificate public-key finger prints, to the correct
20545 fingerprints used by Postfix 2.9.6 and later. To compute the correct
20546 certificate public-key fingerprints, see <a href="TLS_README.html">TLS_README</a>. </p>
20547
20548 <p> This feature is available in Postfix 2.9.6 and later. </p>
20549
20550
20551 </DD>
20552
20553 <DT><b><a name="tls_low_cipherlist">tls_low_cipherlist</a>
20554 (default: see "postconf -d" output)</b></DT><DD>
20555
20556 <p> The OpenSSL cipherlist for "low" or higher grade ciphers.
20557 Ignored as of Postfix 3.8. In earlier Postfix releases this
20558 defined the meaning of the "low" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
20559 <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>,
20560 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>, <a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and
20561 <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly encouraged not to
20562 change this setting. </p>
20563
20564 <p> This feature is available in Postfix 2.3 and later. </p>
20565
20566
20567 </DD>
20568
20569 <DT><b><a name="tls_medium_cipherlist">tls_medium_cipherlist</a>
20570 (default: see "postconf -d" output)</b></DT><DD>
20571
20572 <p> The OpenSSL cipherlist for "medium" or higher grade ciphers. This
20573 defines the meaning of the "medium" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
20574 <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
20575 <a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. This is the
20576 default cipherlist for mandatory TLS encryption in the TLS client
20577 (with anonymous ciphers disabled when verifying server certificates).
20578 This is the default cipherlist for opportunistic TLS with Postfix
20579 releases after the middle of 2015. You are strongly encouraged not
20580 to change this setting. </p>
20581
20582 <p> This feature is available in Postfix 2.3 and later. </p>
20583
20584
20585 </DD>
20586
20587 <DT><b><a name="tls_null_cipherlist">tls_null_cipherlist</a>
20588 (default: eNULL:!aNULL)</b></DT><DD>
20589
20590 <p> The OpenSSL cipherlist for "NULL" grade ciphers that provide
20591 authentication without encryption. This defines the meaning of the "null"
20592 setting in <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
20593 <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly encouraged not to
20594 change this setting. </p>
20595
20596 <p> This feature is available in Postfix 2.3 and later. </p>
20597
20598
20599 </DD>
20600
20601 <DT><b><a name="tls_preempt_cipherlist">tls_preempt_cipherlist</a>
20602 (default: no)</b></DT><DD>
20603
20604 <p> With SSLv3 and later, use the Postfix SMTP server's cipher
20605 preference order instead of the remote client's cipher preference
20606 order. </p>
20607
20608 <p> By default, the OpenSSL server selects the client's most preferred
20609 cipher that the server supports. With SSLv3 and later, the server may
20610 choose its own most preferred cipher that is supported (offered) by
20611 the client. Setting "<a href="postconf.5.html#tls_preempt_cipherlist">tls_preempt_cipherlist</a> = yes" enables server cipher
20612 preferences. </p>
20613
20614 <p> While server cipher selection may in some cases lead to a more secure
20615 or performant cipher choice, there is some risk of interoperability
20616 issues. In the past, some SSL clients have listed lower priority ciphers
20617 that they did not implement correctly. If the server chooses a cipher
20618 that the client prefers less, it may select a cipher whose client
20619 implementation is flawed. Most notably Windows 2003 Microsoft
20620 Exchange servers have flawed implementations of DES-CBC3-SHA, which
20621 OpenSSL considers stronger than RC4-SHA. Enabling server cipher-suite
20622 selection may create interoperability issues with Windows 2003
20623 Microsoft Exchange clients. </p>
20624
20625 <p> This feature is available in Postfix 2.8 and later, in combination
20626 with OpenSSL 0.9.7 and later. </p>
20627
20628
20629 </DD>
20630
20631 <DT><b><a name="tls_random_bytes">tls_random_bytes</a>
20632 (default: 32)</b></DT><DD>
20633
20634 <p> The number of bytes that <a href="tlsmgr.8.html">tlsmgr(8)</a> reads from $<a href="postconf.5.html#tls_random_source">tls_random_source</a>
20635 when (re)seeding the in-memory pseudo random number generator (PRNG)
20636 pool. The default of 32 bytes (256 bits) is good enough for 128bit
20637 symmetric keys. If using EGD or a device file, a maximum of 255
20638 bytes is read. </p>
20639
20640 <p> This feature is available in Postfix 2.2 and later. </p>
20641
20642
20643 </DD>
20644
20645 <DT><b><a name="tls_random_exchange_name">tls_random_exchange_name</a>
20646 (default: see "postconf -d" output)</b></DT><DD>
20647
20648 <p> Name of the pseudo random number generator (PRNG) state file
20649 that is maintained by <a href="tlsmgr.8.html">tlsmgr(8)</a>. The file is created when it does
20650 not exist, and its length is fixed at 1024 bytes. </p>
20651
20652 <p> As of version 2.5, Postfix no longer uses root privileges when
20653 opening this file, and the default file location was changed from
20654 ${<a href="postconf.5.html#config_directory">config_directory</a>}/prng_exch to ${<a href="postconf.5.html#data_directory">data_directory</a>}/prng_exch. As
20655 a migration aid, an attempt to open the file under a non-Postfix
20656 directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
20657 warning is logged. </p>
20658
20659 <p> This feature is available in Postfix 2.2 and later. </p>
20660
20661
20662 </DD>
20663
20664 <DT><b><a name="tls_random_prng_update_period">tls_random_prng_update_period</a>
20665 (default: 3600s)</b></DT><DD>
20666
20667 <p> The time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to save the state of
20668 the pseudo random number generator (PRNG) to the file specified
20669 with $<a href="postconf.5.html#tls_random_exchange_name">tls_random_exchange_name</a>. </p>
20670
20671 <p> Specify a non-zero time value (an integral value plus an optional
20672 one-letter suffix that specifies the time unit). Time units: s
20673 (seconds), m (minutes), h (hours), d (days), w (weeks).
20674 The default time unit is s (seconds). </p>
20675
20676 <p> This feature is available in Postfix 2.2 and later. </p>
20677
20678
20679 </DD>
20680
20681 <DT><b><a name="tls_random_reseed_period">tls_random_reseed_period</a>
20682 (default: 3600s)</b></DT><DD>
20683
20684 <p> The maximal time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to re-seed the
20685 in-memory pseudo random number generator (PRNG) pool from external
20686 sources. The actual time between re-seeding attempts is calculated
20687 using the PRNG, and is between 0 and the time specified. </p>
20688
20689 <p> Specify a non-zero time value (an integral value plus an optional
20690 one-letter suffix that specifies the time unit). Time units: s
20691 (seconds), m (minutes), h (hours), d (days), w (weeks).
20692 The default time unit is s (seconds). </p>
20693
20694 <p> This feature is available in Postfix 2.2 and later. </p>
20695
20696
20697 </DD>
20698
20699 <DT><b><a name="tls_random_source">tls_random_source</a>
20700 (default: see "postconf -d" output)</b></DT><DD>
20701
20702 <p> The external entropy source for the in-memory <a href="tlsmgr.8.html">tlsmgr(8)</a> pseudo
20703 random number generator (PRNG) pool. Be sure to specify a non-blocking
20704 source. If this source is not a regular file, the entropy source
20705 type must be prepended: egd:/path/to/egd_socket for a source with
20706 EGD compatible socket interface, or dev:/path/to/device for a
20707 device file. </p>
20708
20709 <p> Note: on OpenBSD systems specify dev:/dev/arandom when dev:/dev/urandom
20710 gives timeout errors. </p>
20711
20712 <p> This feature is available in Postfix 2.2 and later. </p>
20713
20714
20715 </DD>
20716
20717 <DT><b><a name="tls_required_enable">tls_required_enable</a>
20718 (default: yes)</b></DT><DD>
20719
20720 <p> Enable support for the "TLS-Required: no" message header, defined
20721 in <a href="https://tools.ietf.org/html/rfc8689">RFC 8689</a>. By adding this header to a message, a sender requests
20722 no enforcement of TLS policy. This limits the Postfix SMTP client
20723 TLS security level to "may", that is, do not verify remote SMTP
20724 server certificates, and fall back to plaintext if TLS is unavailable.
20725 If a message contains a "TLS-Required: no" header, then Postfix
20726 will add that header to a delivery status notification for that
20727 message. </p>
20728
20729 <p> This feature is available in Postfix ≥ 3.10. </p>
20730
20731
20732 </DD>
20733
20734 <DT><b><a name="tls_server_sni_maps">tls_server_sni_maps</a>
20735 (default: empty)</b></DT><DD>
20736
20737 <p> Optional lookup tables that map names received from remote SMTP
20738 clients via the TLS Server Name Indication (SNI) extension to the
20739 appropriate keys and certificate chains. This parameter is implemented
20740 in the Postfix TLS library, and applies to both <a href="smtpd.8.html">smtpd(8)</a> and the SMTP
20741 server mode of <a href="tlsproxy.8.html">tlsproxy(8)</a>. </p>
20742
20743 <p> When this parameter is non-empty, the Postfix SMTP server enables
20744 SNI extension processing, and logs SNI values that are invalid or
20745 don't match an entry in the specified tables. When an entry
20746 does match, the SNI name is logged as part of the connection summary
20747 at log levels 1 and higher. </p>
20748
20749 <p> The lookup key is either the verbatim SNI domain name or an
20750 ancestor domain prefixed with a leading dot. For internationalized
20751 domains, the lookup key must be in IDNA 2008 A-label form (as
20752 required in the TLS SNI extension). </p>
20753
20754 <p> The syntax of the lookup value is the same as with the
20755 <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> parameter (see there for additional details),
20756 but here scoped to just TLS connections in which the client sends
20757 a matching SNI domain name. </p>
20758
20759 <p> Example: </p>
20760 <blockquote>
20761 <pre>
20762 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
20763 #
20764 # The indexed SNI table must be created with "postmap -F"
20765 #
20766 indexed = ${<a href="postconf.5.html#default_database_type">default_database_type</a>}:${<a href="postconf.5.html#config_directory">config_directory</a>}/
20767 <a href="postconf.5.html#tls_server_sni_maps">tls_server_sni_maps</a> = ${indexed}sni
20768 </pre>
20769 </blockquote>
20770
20771 <blockquote>
20772 <pre>
20773 /etc/postfix/sni:
20774 #
20775 # The example.com domain has both an RSA and ECDSA certificate
20776 # chain. The chain files MUST start with the private key,
20777 # with the certificate chain next, starting with the leaf
20778 # (server) certificate, and then the issuer certificates.
20779 #
20780 example.com /etc/postfix/sni-chains/rsa2048.example.com.pem,
20781 /etc/postfix/sni-chains/ecdsa-p256.example.com.pem
20782 #
20783 # The example.net domain has a wildcard certificate, and two
20784 # additional DNS names. So its certificate chain is also used
20785 # with any subdomain, plus the additional names.
20786 #
20787 example.net /etc/postfix/sni-chains/example.net.pem
20788 .example.net /etc/postfix/sni-chains/example.net.pem
20789 example.info /etc/postfix/sni-chains/example.net.pem
20790 example.org /etc/postfix/sni-chains/example.net.pem
20791 </pre>
20792 </blockquote>
20793
20794 <p> Note that the SNI lookup tables should also have entries for
20795 the domains that correspond to the Postfix SMTP server's default
20796 certificate(s). This ensures that the remote SMTP client's TLS SNI
20797 extension gets a positive response when it specifies one of the
20798 Postfix SMTP server's <a href="ADDRESS_CLASS_README.html#default_domain_class">default domains</a>, and ensures that the Postfix
20799 SMTP server will not log an SNI name mismatch for such a domain.
20800 The Postfix SMTP server's default certificates are then only used
20801 when the client sends no SNI or when it sends SNI with a domain
20802 that the server knows no certificate(s) for. </p>
20803
20804 <p> The mapping from an SNI domain name to a certificate chain is indirect. In
20805 the input source files for "cdb", "hash", "btree" or other tables that are
20806 converted to on-disk indexed files via <a href="postmap.1.html">postmap(1)</a>, the value specified for each
20807 key is a list of filenames. When <a href="postmap.1.html">postmap(1)</a> is used with the <b>-F</b> option,
20808 the generated table stores for each lookup key the base64-encoded contents of
20809 the associated files. When querying tables via <b>postmap -Fq</b>, the table
20810 value is decoded from base64, yielding the original file content, plus a new
20811 line. </p>
20812
20813 <p> With "regexp", "pcre", "inline", "texthash", "static" and similar
20814 tables that are interpreted at run-time, and don't have a separate
20815 source format, the table value is again a list files, that are loaded
20816 into memory when the table is opened. </p>
20817
20818 <p> With tables whose content is managed outside of Postfix, such
20819 as LDAP, MySQL, PostgreSQL, socketmap and tcp, the value must be a
20820 concatenation of the desired PEM keys and certificate chains, that
20821 is then further encoded to yield a single-line base64 string.
20822 Creation of such tables and secure storage (the value includes
20823 private key material) are outside the responsibility of Postfix. </p>
20824
20825 <p> With "socketmap" and "tcp" the data will be transmitted in the clear, and
20826 there is no query access control, so these are generally unsuitable for storing
20827 SNI chains. With LDAP and SQL, you should restrict read access and use TLS to
20828 protect the sensitive data in transit. </p>
20829
20830 <p> Typically there is only one private key and its chain of certificates
20831 starting with the "leaf" certificate corresponding to that key, and
20832 continuing with the appropriate intermediate issuer CA certificates,
20833 with each certificate ideally followed by its issuer. Servers
20834 that have keys and certificates for more than one algorithm (e.g.
20835 both an RSA key and an ECDSA key, or even RSA, ECDSA and Ed25519)
20836 can use multiple chains concatenated together, with the key always
20837 listed before the corresponding certificates. </p>
20838
20839 <p> This feature is available in Postfix 3.4 and later. </p>
20840
20841
20842 </DD>
20843
20844 <DT><b><a name="tls_session_ticket_cipher">tls_session_ticket_cipher</a>
20845 (default: Postfix ≥ 3.0: aes-256-cbc, Postfix < 3.0: aes-128-cbc)</b></DT><DD>
20846
20847 <p> Algorithm used to encrypt <a href="https://tools.ietf.org/html/rfc5077">RFC5077</a> TLS session tickets. This
20848 algorithm must use CBC mode, have a 128-bit block size, and must
20849 have a key length between 128 and 256 bits. The default is
20850 aes-256-cbc. Overriding the default to choose a different algorithm
20851 is discouraged. </p>
20852
20853 <p> Setting this parameter empty disables session ticket support
20854 in the Postfix SMTP server. Another way to disable session ticket
20855 support is via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter. </p>
20856
20857 <p> This feature is available in Postfix 3.0 and later. </p>
20858
20859
20860 </DD>
20861
20862 <DT><b><a name="tls_ssl_options">tls_ssl_options</a>
20863 (default: empty)</b></DT><DD>
20864
20865 <p> List or bit-mask of OpenSSL options to enable. </p>
20866
20867 <p> The OpenSSL toolkit provides a set of options that applications
20868 can enable to tune the OpenSSL behavior. Some of these work around
20869 bugs in other implementations and are on by default. You can use
20870 the <a href="postconf.5.html#tls_disable_workarounds">tls_disable_workarounds</a> parameter to selectively disable some
20871 or all of the bug work-arounds, making OpenSSL more strict at the
20872 cost of non-interoperability with SSL clients or servers that exhibit
20873 the bugs. </p>
20874
20875 <p> Other options are off by default, and typically enable or disable
20876 features rather than bug work-arounds. These may be turned on (with
20877 care) via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter. The value is a white-space
20878 or comma separated list of named options chosen from the list below.
20879 The names are not case-sensitive, you can use lower-case if you
20880 prefer. The upper case values below match the corresponding macro
20881 name in the ssl.h header file with the SSL_OP_ prefix removed. It
20882 is possible that your OpenSSL version includes new options added
20883 after your Postfix source code was last updated, in that case you
20884 can only enable one of these via the hexadecimal syntax below. </p>
20885
20886 <p> You should only enable features via the hexadecimal mask when
20887 the need to control the feature is critical (to deal with a new
20888 vulnerability or a serious interoperability problem). Postfix DOES
20889 NOT promise backwards compatible behavior with respect to the mask
20890 bits. A feature enabled via the mask in one release may be enabled
20891 by other means in a later release, and the mask bit will then be
20892 ignored. Therefore, use of the hexadecimal mask is only a temporary
20893 measure until a new Postfix or OpenSSL release provides a better
20894 solution. </p>
20895
20896 <p> If the value of the parameter is a hexadecimal long integer
20897 starting with "0x", the options corresponding to the bits specified
20898 in its value are enabled (see openssl/ssl.h and SSL_CTX_set_options(3)).
20899 You can only enable options not already controlled by other Postfix
20900 settings. For example, you cannot disable protocols or enable
20901 server cipher preference. Do not attempt to enable all features by
20902 specifying 0xFFFFFFFF, this is unlikely to be a good idea. Some
20903 bug work-arounds are also valid here, allowing them to be re-enabled
20904 if/when they're no longer enabled by default. The supported values
20905 include: </p>
20906
20907 <dl>
20908
20909 <dt><b>ENABLE_MIDDLEBOX_COMPAT</b></dt> <dd>Postfix ≥ 3.4. See
20910 SSL_CTX_set_options(3).</dd>
20911
20912 <dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3).</dd>
20913
20914 <dt><b>NO_TICKET</b></dt> <dd>Enabled by default when needed in
20915 fully-patched Postfix ≥ 2.7. Not needed at all for Postfix ≥
20916 2.11, unless for some reason you do not want to support TLS session
20917 resumption. Best not set explicitly. See SSL_CTX_set_options(3).</dd>
20918
20919 <dt><b>NO_COMPRESSION</b></dt> <dd>Disable SSL compression even if
20920 supported by the OpenSSL library. Compression is CPU-intensive,
20921 and compression before encryption does not always improve security. </dd>
20922
20923 <dt><b>NO_RENEGOTIATION</b></dt> <dd>Postfix ≥ 3.4. This can
20924 reduce opportunities for a potential CPU exhaustion attack. See
20925 SSL_CTX_set_options(3).</dd>
20926
20927 <dt><b>NO_SESSION_RESUMPTION_ON_RENEGOTIATION</b></dt> <dd>Postfix
20928 ≥ 3.4. See SSL_CTX_set_options(3).</dd>
20929
20930 <dt><b>PRIORITIZE_CHACHA</b></dt> <dd>Postfix ≥ 3.4. See SSL_CTX_set_options(3).</dd>
20931
20932 </dl>
20933
20934 <p> This feature is available in Postfix 2.11 and later. </p>
20935
20936
20937 </DD>
20938
20939 <DT><b><a name="tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a>
20940 (default: yes)</b></DT><DD>
20941
20942 <p> Match multiple DNS labels with "*" in wildcard certificates.
20943 </p>
20944
20945 <p> Some mail service providers prepend the customer domain name
20946 to a base domain for which they have a wildcard TLS certificate.
20947 For example, the MX records for example.com hosted by example.net
20948 may be: </p>
20949
20950 <blockquote>
20951 <pre>
20952 example.com. IN MX 0 example.com.mx1.example.net.
20953 example.com. IN MX 0 example.com.mx2.example.net.
20954 </pre>
20955 </blockquote>
20956
20957 <p> and the TLS certificate may be for "*.example.net". The "*"
20958 then corresponds with multiple labels in the mail server domain
20959 name. While multi-label wildcards are not widely supported, and
20960 are not blessed by any standard, there is little to be gained by
20961 disallowing their use in this context. </p>
20962
20963 <p> Notes: <p>
20964
20965 <ul>
20966
20967 <li> <p> In a certificate name, the "*" is special only when it is
20968 used as the first label. </p>
20969
20970 <li> <p> While Postfix (2.11 or later) can match "*" with multiple
20971 domain name labels, other implementations likely will not. </p>
20972
20973 <li> <p> Earlier Postfix implementations behave as if
20974 "<a href="postconf.5.html#tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a> = no". </p>
20975
20976 </ul>
20977
20978 <p> This feature is available in Postfix 2.11 and later. </p>
20979
20980
20981 </DD>
20982
20983 <DT><b><a name="tlsmgr_service_name">tlsmgr_service_name</a>
20984 (default: tlsmgr)</b></DT><DD>
20985
20986 <p> The name of the <a href="tlsmgr.8.html">tlsmgr(8)</a> service entry in <a href="master.5.html">master.cf</a>. This
20987 service maintains TLS session caches and other information in support
20988 of TLS. </p>
20989
20990 <p> This feature is available in Postfix 2.11 and later. </p>
20991
20992
20993 </DD>
20994
20995 <DT><b><a name="tlsproxy_client_CAfile">tlsproxy_client_CAfile</a>
20996 (default: $<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>)</b></DT><DD>
20997
20998 <p> A file containing CA certificates of root CAs trusted to sign
20999 either remote TLS server certificates or intermediate CA certificates.
21000 See <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> for further details. </p>
21001
21002 <p> This feature is available in Postfix 3.4 and later. </p>
21003
21004
21005 </DD>
21006
21007 <DT><b><a name="tlsproxy_client_CApath">tlsproxy_client_CApath</a>
21008 (default: $<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a>)</b></DT><DD>
21009
21010 <p> Directory with PEM format Certification Authority certificates
21011 that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client uses to verify a remote TLS
21012 server certificate. See <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> for further details. </p>
21013
21014 <p> This feature is available in Postfix 3.4 and later. </p>
21015
21016
21017 </DD>
21018
21019 <DT><b><a name="tlsproxy_client_cert_file">tlsproxy_client_cert_file</a>
21020 (default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD>
21021
21022 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client RSA certificate in PEM
21023 format. See <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for further details. The preferred way
21024 to configure tlsproxy client keys and certificates is via the
21025 "<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p>
21026
21027 <p> This feature is available in Postfix 3.4 and later. </p>
21028
21029
21030 </DD>
21031
21032 <DT><b><a name="tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>
21033 (default: $<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>)</b></DT><DD>
21034
21035 <p> Files with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client keys and certificate
21036 chains in PEM format. See <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> for further details. </p>
21037
21038 <p> This feature is available in Postfix 3.4 and later. </p>
21039
21040
21041 </DD>
21042
21043 <DT><b><a name="tlsproxy_client_dcert_file">tlsproxy_client_dcert_file</a>
21044 (default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD>
21045
21046 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client DSA certificate in PEM
21047 format. See <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> for further details. DSA is obsolete and
21048 should not be used. </p>
21049
21050 <p> This feature is available in Postfix 3.4 and later. </p>
21051
21052
21053 </DD>
21054
21055 <DT><b><a name="tlsproxy_client_dkey_file">tlsproxy_client_dkey_file</a>
21056 (default: $<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a>)</b></DT><DD>
21057
21058 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client DSA private key in PEM
21059 format. See <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> for further details. DSA is obsolete and
21060 should not be used. </p>
21061
21062 <p> This feature is available in Postfix 3.4 and later. </p>
21063
21064
21065 </DD>
21066
21067 <DT><b><a name="tlsproxy_client_eccert_file">tlsproxy_client_eccert_file</a>
21068 (default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD>
21069
21070 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client ECDSA certificate in PEM
21071 format. See <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> for further details. The preferred way
21072 to configure tlsproxy client keys and certificates is via the
21073 "<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p>
21074
21075 <p> This feature is available in Postfix 3.4 and later. </p>
21076
21077
21078 </DD>
21079
21080 <DT><b><a name="tlsproxy_client_eckey_file">tlsproxy_client_eckey_file</a>
21081 (default: $<a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a>)</b></DT><DD>
21082
21083 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client ECDSA private key in PEM
21084 format. See <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> for further details. The preferred way
21085 to configure tlsproxy client keys and certificates is via the
21086 "<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p>
21087
21088 <p> This feature is available in Postfix 3.4 and later. </p>
21089
21090
21091 </DD>
21092
21093 <DT><b><a name="tlsproxy_client_enforce_tls">tlsproxy_client_enforce_tls</a>
21094 (default: $<a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>)</b></DT><DD>
21095
21096 <p> Enforcement mode: require that SMTP servers use TLS encryption.
21097 See <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> for further details. Use
21098 <a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> instead. </p>
21099
21100 <p> This feature is deprecated as of Postfix 3.9. Specify
21101 <a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> instead. </p>
21102
21103 <p> This feature is available in Postfix 3.4 and later. </p>
21104
21105
21106 </DD>
21107
21108 <DT><b><a name="tlsproxy_client_fingerprint_digest">tlsproxy_client_fingerprint_digest</a>
21109 (default: $<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>)</b></DT><DD>
21110
21111 <p> The message digest algorithm used to construct remote TLS server
21112 certificate fingerprints. See <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> for
21113 further details. </p>
21114
21115 <p> This feature is available in Postfix 3.4 and later. </p>
21116
21117
21118 </DD>
21119
21120 <DT><b><a name="tlsproxy_client_key_file">tlsproxy_client_key_file</a>
21121 (default: $<a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a>)</b></DT><DD>
21122
21123 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client RSA private key in PEM
21124 format. See <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> for further details. The preferred way to
21125 configure tlsproxy client keys and certificates is via the
21126 "<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p>
21127
21128 <p> This feature is available in Postfix 3.4 and later. </p>
21129
21130
21131 </DD>
21132
21133 <DT><b><a name="tlsproxy_client_level">tlsproxy_client_level</a>
21134 (default: $<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a>)</b></DT><DD>
21135
21136 <p> The default TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
21137 client. See <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> for further details. </p>
21138
21139 <p> This feature is available in Postfix 3.4 - 3.6. It was
21140 renamed to <a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> in Postfix 3.7. </p>
21141
21142
21143 </DD>
21144
21145 <DT><b><a name="tlsproxy_client_loglevel">tlsproxy_client_loglevel</a>
21146 (default: $<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>)</b></DT><DD>
21147
21148 <p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client logging of TLS
21149 activity. See <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> for further details. </p>
21150
21151 <p> This feature is available in Postfix 3.4 and later. </p>
21152
21153
21154 </DD>
21155
21156 <DT><b><a name="tlsproxy_client_loglevel_parameter">tlsproxy_client_loglevel_parameter</a>
21157 (default: <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>)</b></DT><DD>
21158
21159 <p> The name of the parameter that provides the <a href="postconf.5.html#tlsproxy_client_loglevel">tlsproxy_client_loglevel</a>
21160 value. </p>
21161
21162 <p> This feature is available in Postfix 3.4 and later. </p>
21163
21164
21165 </DD>
21166
21167 <DT><b><a name="tlsproxy_client_per_site">tlsproxy_client_per_site</a>
21168 (default: $<a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a>)</b></DT><DD>
21169
21170 <p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS
21171 usage policy by next-hop destination and by remote TLS server
21172 hostname. See <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> for further details. </p>
21173
21174 <p> This feature is deprecated as of Postfix 3.9. Specify
21175 <a href="postconf.5.html#tlsproxy_client_policy_maps">tlsproxy_client_policy_maps</a> instead. </p>
21176
21177 <p> This feature is available in Postfix 3.4 and later. </p>
21178
21179
21180 </DD>
21181
21182 <DT><b><a name="tlsproxy_client_policy">tlsproxy_client_policy</a>
21183 (default: $<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>)</b></DT><DD>
21184
21185 <p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS
21186 security policy by next-hop destination. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>
21187 for further details. </p>
21188
21189 <p> This feature is available in Postfix 3.4 - 3.6. It was
21190 renamed to <a href="postconf.5.html#tlsproxy_client_policy_maps">tlsproxy_client_policy_maps</a> in Postfix 3.7. </p>
21191
21192
21193 </DD>
21194
21195 <DT><b><a name="tlsproxy_client_policy_maps">tlsproxy_client_policy_maps</a>
21196 (default: $<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>)</b></DT><DD>
21197
21198 <p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS
21199 security policy by next-hop destination. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>
21200 for further details. </p>
21201
21202 <p> This feature is available in Postfix 3.7 and later. It
21203 was previously called <a href="postconf.5.html#tlsproxy_client_policy">tlsproxy_client_policy</a>. </p>
21204
21205
21206 </DD>
21207
21208 <DT><b><a name="tlsproxy_client_scert_verifydepth">tlsproxy_client_scert_verifydepth</a>
21209 (default: $<a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>)</b></DT><DD>
21210
21211 <p> The verification depth for remote TLS server certificates.
21212 See <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a> for further details. </p>
21213
21214 <p> This feature is available in Postfix 3.4 and later. </p>
21215
21216
21217 </DD>
21218
21219 <DT><b><a name="tlsproxy_client_security_level">tlsproxy_client_security_level</a>
21220 (default: $<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a>)</b></DT><DD>
21221
21222 <p> The default TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
21223 client. See <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> for further details. </p>
21224
21225 <p> This feature is available in Postfix 3.7 and later. It
21226 was previously called <a href="postconf.5.html#tlsproxy_client_level">tlsproxy_client_level</a>. </p>
21227
21228
21229 </DD>
21230
21231 <DT><b><a name="tlsproxy_client_use_tls">tlsproxy_client_use_tls</a>
21232 (default: $<a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>)</b></DT><DD>
21233
21234 <p> Opportunistic mode: use TLS when a remote server announces TLS
21235 support. See <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> for further details. Use
21236 <a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> instead. </p>
21237
21238 <p> This feature is deprecated as of Postfix 3.9. Specify
21239 <a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> instead. </p>
21240
21241 <p> This feature is available in Postfix 3.4 and later. </p>
21242
21243
21244 </DD>
21245
21246 <DT><b><a name="tlsproxy_enforce_tls">tlsproxy_enforce_tls</a>
21247 (default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
21248
21249 <p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
21250 require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> for
21251 further details. Use <a href="postconf.5.html#tlsproxy_tls_security_level">tlsproxy_tls_security_level</a> instead. </p>
21252
21253 <p> This feature is deprecated as of Postfix 3.9. Specify
21254 <a href="postconf.5.html#tlsproxy_tls_security_level">tlsproxy_tls_security_level</a> instead. </p>
21255
21256 <p> This feature is available in Postfix 2.8 and later. </p>
21257
21258
21259 </DD>
21260
21261 <DT><b><a name="tlsproxy_service_name">tlsproxy_service_name</a>
21262 (default: tlsproxy)</b></DT><DD>
21263
21264 <p> The name of the <a href="tlsproxy.8.html">tlsproxy(8)</a> service entry in <a href="master.5.html">master.cf</a>. This
21265 service performs plaintext <=> TLS ciphertext conversion. <p>
21266
21267 <p> This feature is available in Postfix 2.8 and later. </p>
21268
21269
21270 </DD>
21271
21272 <DT><b><a name="tlsproxy_tls_CAfile">tlsproxy_tls_CAfile</a>
21273 (default: $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)</b></DT><DD>
21274
21275 <p> A file containing (PEM format) CA certificates of root CAs
21276 trusted to sign either remote SMTP client certificates or intermediate
21277 CA certificates. See <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> for further details. </p>
21278
21279 <p> This feature is available in Postfix 2.8 and later. </p>
21280
21281
21282 </DD>
21283
21284 <DT><b><a name="tlsproxy_tls_CApath">tlsproxy_tls_CApath</a>
21285 (default: $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>)</b></DT><DD>
21286
21287 <p> A directory containing (PEM format) CA certificates of root CAs
21288 trusted to sign either remote SMTP client certificates or intermediate
21289 CA certificates. See <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> for further details. </p>
21290
21291 <p> This feature is available in Postfix 2.8 and later. </p>
21292
21293
21294 </DD>
21295
21296 <DT><b><a name="tlsproxy_tls_always_issue_session_ids">tlsproxy_tls_always_issue_session_ids</a>
21297 (default: $<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>)</b></DT><DD>
21298
21299 <p> Force the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server to issue a TLS session id,
21300 even when TLS session caching is turned off. See
21301 <a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> for further details. </p>
21302
21303 <p> This feature is available in Postfix 2.8 and later. </p>
21304
21305
21306 </DD>
21307
21308 <DT><b><a name="tlsproxy_tls_ask_ccert">tlsproxy_tls_ask_ccert</a>
21309 (default: $<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>)</b></DT><DD>
21310
21311 <p> Ask a remote SMTP client for a client certificate. See
21312 <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> for further details. </p>
21313
21314 <p> This feature is available in Postfix 2.8 and later. </p>
21315
21316
21317 </DD>
21318
21319 <DT><b><a name="tlsproxy_tls_ccert_verifydepth">tlsproxy_tls_ccert_verifydepth</a>
21320 (default: $<a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>)</b></DT><DD>
21321
21322 <p> The verification depth for remote SMTP client certificates. A
21323 depth of 1 is sufficient if the issuing CA is listed in a local CA
21324 file. See <a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> for further details. </p>
21325
21326 <p> This feature is available in Postfix 2.8 and later. </p>
21327
21328
21329 </DD>
21330
21331 <DT><b><a name="tlsproxy_tls_cert_file">tlsproxy_tls_cert_file</a>
21332 (default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
21333
21334 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA certificate in PEM
21335 format. This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
21336 private RSA key. See <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for further details. With
21337 Postfix ≥ 3.4 the preferred way to configure tlsproxy server keys and
21338 certificates is via the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p>
21339
21340 <p> This feature is available in Postfix 2.8 and later. </p>
21341
21342
21343 </DD>
21344
21345 <DT><b><a name="tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>
21346 (default: $<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>)</b></DT><DD>
21347
21348 <p> Files with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server keys and certificate
21349 chains in PEM format. See <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> for further details. </p>
21350
21351 <p> This feature is available in Postfix 3.4 and later. </p>
21352
21353
21354 </DD>
21355
21356 <DT><b><a name="tlsproxy_tls_ciphers">tlsproxy_tls_ciphers</a>
21357 (default: $<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>)</b></DT><DD>
21358
21359 <p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
21360 will use with opportunistic TLS encryption. See <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>
21361 for further details. </p>
21362
21363 <p> This feature is available in Postfix 2.8 and later. </p>
21364
21365
21366 </DD>
21367
21368 <DT><b><a name="tlsproxy_tls_dcert_file">tlsproxy_tls_dcert_file</a>
21369 (default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
21370
21371 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA certificate in PEM
21372 format. This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
21373 private DSA key. DSA is obsolete and should not be used. See
21374 <a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> for further details. </p>
21375
21376 <p> This feature is available in Postfix 2.8 and later. </p>
21377
21378
21379 </DD>
21380
21381 <DT><b><a name="tlsproxy_tls_dh1024_param_file">tlsproxy_tls_dh1024_param_file</a>
21382 (default: $<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>)</b></DT><DD>
21383
21384 <p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
21385 should use with non-export EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
21386 for further details. </p>
21387
21388 <p> This feature is deprecated as of Postfix 3.9. Do not specify. </p>
21389
21390 <p> This feature is available in Postfix 2.8 and later. </p>
21391
21392
21393 </DD>
21394
21395 <DT><b><a name="tlsproxy_tls_dh512_param_file">tlsproxy_tls_dh512_param_file</a>
21396 (default: $<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>)</b></DT><DD>
21397
21398 <p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
21399 should use with export-grade EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
21400 for further details. The default SMTP server cipher grade is
21401 "medium" with Postfix releases after the middle of 2015, and as a
21402 result export-grade cipher suites are by default not used. </p>
21403
21404 <p> With Postfix ≥ 3.6 export-grade Diffie-Hellman key exchange
21405 is no longer supported, and this parameter is silently ignored. </p>
21406
21407 <p> This feature is available in Postfix 2.8 and later. </p>
21408
21409
21410 </DD>
21411
21412 <DT><b><a name="tlsproxy_tls_dkey_file">tlsproxy_tls_dkey_file</a>
21413 (default: $<a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>)</b></DT><DD>
21414
21415 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA private key in PEM
21416 format. This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
21417 DSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. DSA is
21418 obsolete and should not be used. See <a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> for further
21419 details. </p>
21420
21421 <p> This feature is available in Postfix 2.8 and later. </p>
21422
21423
21424 </DD>
21425
21426 <DT><b><a name="tlsproxy_tls_eccert_file">tlsproxy_tls_eccert_file</a>
21427 (default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
21428
21429 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA certificate in PEM
21430 format. This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
21431 private ECDSA key. See <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> for further details. With
21432 Postfix ≥ 3.4 the preferred way to configure tlsproxy server keys and
21433 certificates is via the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p>
21434
21435 <p> This feature is available in Postfix 2.8 and later. </p>
21436
21437
21438 </DD>
21439
21440 <DT><b><a name="tlsproxy_tls_eckey_file">tlsproxy_tls_eckey_file</a>
21441 (default: $<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>)</b></DT><DD>
21442
21443 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA private key in PEM
21444 format. This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
21445 ECDSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. See
21446 <a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> for further details. With Postfix ≥ 3.4 the
21447 preferred way to configure tlsproxy server keys and certificates is via
21448 the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p>
21449
21450 <p> This feature is available in Postfix 2.8 and later. </p>
21451
21452
21453 </DD>
21454
21455 <DT><b><a name="tlsproxy_tls_eecdh_grade">tlsproxy_tls_eecdh_grade</a>
21456 (default: $<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>)</b></DT><DD>
21457
21458 <p> The Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server security grade for ephemeral
21459 elliptic-curve Diffie-Hellman (EECDH) key exchange. See
21460 <a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> for further details. </p>
21461
21462 <p> This feature is not used as of Postfix 3.6. Do not specify. </p>
21463
21464 <p> This feature is available in Postfix 2.8 and later. </p>
21465
21466
21467 </DD>
21468
21469 <DT><b><a name="tlsproxy_tls_enable_rpk">tlsproxy_tls_enable_rpk</a>
21470 (default: $<a href="postconf.5.html#smtpd_tls_enable_rpk">smtpd_tls_enable_rpk</a>)</b></DT><DD>
21471
21472 <p> Request that remote SMTP clients send an <a href="https://tools.ietf.org/html/rfc7250">RFC7250</a> raw public key
21473 instead of an X.509 certificate, when asking or requiring client
21474 authentication. See $<a href="postconf.5.html#smtpd_tls_enable_rpk">smtpd_tls_enable_rpk</a> for details. </p>
21475
21476 <p> This feature is available in Postfix 3.9 and later. </p>
21477
21478
21479 </DD>
21480
21481 <DT><b><a name="tlsproxy_tls_exclude_ciphers">tlsproxy_tls_exclude_ciphers</a>
21482 (default: $<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>)</b></DT><DD>
21483
21484 <p> List of ciphers or cipher types to exclude from the <a href="tlsproxy.8.html">tlsproxy(8)</a>
21485 server cipher list at all TLS security levels. See
21486 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> for further details. </p>
21487
21488 <p> This feature is available in Postfix 2.8 and later. </p>
21489
21490
21491 </DD>
21492
21493 <DT><b><a name="tlsproxy_tls_fingerprint_digest">tlsproxy_tls_fingerprint_digest</a>
21494 (default: $<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>)</b></DT><DD>
21495
21496 <p> The message digest algorithm to construct remote SMTP
21497 client-certificate
21498 fingerprints. See <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> for further details.
21499 </p>
21500
21501 <p> This feature is available in Postfix 2.8 and later. </p>
21502
21503
21504 </DD>
21505
21506 <DT><b><a name="tlsproxy_tls_key_file">tlsproxy_tls_key_file</a>
21507 (default: $<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a>)</b></DT><DD>
21508
21509 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA private key in PEM
21510 format. This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
21511 RSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>. See
21512 <a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a> for further details. With Postfix ≥ 3.4 the
21513 preferred way to configure tlsproxy server keys and certificates is via
21514 the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p>
21515
21516 <p> This feature is available in Postfix 2.8 and later. </p>
21517
21518
21519 </DD>
21520
21521 <DT><b><a name="tlsproxy_tls_loglevel">tlsproxy_tls_loglevel</a>
21522 (default: $<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a>)</b></DT><DD>
21523
21524 <p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server logging of TLS
21525 activity. Each logging level also includes the information that
21526 is logged at a lower logging level. See <a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> for
21527 further details. </p>
21528
21529 <p> This feature is available in Postfix 2.8 and later. </p>
21530
21531
21532 </DD>
21533
21534 <DT><b><a name="tlsproxy_tls_mandatory_ciphers">tlsproxy_tls_mandatory_ciphers</a>
21535 (default: $<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>)</b></DT><DD>
21536
21537 <p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
21538 will use with mandatory TLS encryption. See <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
21539 for further details. </p>
21540
21541 <p> This feature is available in Postfix 2.8 and later. </p>
21542
21543
21544 </DD>
21545
21546 <DT><b><a name="tlsproxy_tls_mandatory_exclude_ciphers">tlsproxy_tls_mandatory_exclude_ciphers</a>
21547 (default: $<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>)</b></DT><DD>
21548
21549 <p> Additional list of ciphers or cipher types to exclude from the
21550 <a href="tlsproxy.8.html">tlsproxy(8)</a> server cipher list at mandatory TLS security levels.
21551 See <a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> for further details. </p>
21552
21553 <p> This feature is available in Postfix 2.8 and later. </p>
21554
21555
21556 </DD>
21557
21558 <DT><b><a name="tlsproxy_tls_mandatory_protocols">tlsproxy_tls_mandatory_protocols</a>
21559 (default: $<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>)</b></DT><DD>
21560
21561 <p> The SSL/TLS protocols accepted by the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
21562 with mandatory TLS encryption. If the list is empty, the server
21563 supports all available SSL/TLS protocol versions. See
21564 <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> for further details. </p>
21565
21566 <p> This feature is available in Postfix 2.8 and later. </p>
21567
21568
21569 </DD>
21570
21571 <DT><b><a name="tlsproxy_tls_protocols">tlsproxy_tls_protocols</a>
21572 (default: $<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>)</b></DT><DD>
21573
21574 <p> List of TLS protocols that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server will
21575 exclude or include with opportunistic TLS encryption. See
21576 <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> for further details. </p>
21577
21578 <p> This feature is available in Postfix 2.8 and later. </p>
21579
21580
21581 </DD>
21582
21583 <DT><b><a name="tlsproxy_tls_req_ccert">tlsproxy_tls_req_ccert</a>
21584 (default: $<a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>)</b></DT><DD>
21585
21586 <p> With mandatory TLS encryption, require a trusted remote SMTP
21587 client certificate in order to allow TLS connections to proceed.
21588 See <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> for further details. </p>
21589
21590 <p> This feature is available in Postfix 2.8 and later. </p>
21591
21592
21593 </DD>
21594
21595 <DT><b><a name="tlsproxy_tls_security_level">tlsproxy_tls_security_level</a>
21596 (default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
21597
21598 <p> The SMTP TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server;
21599 when a non-empty value is specified, this overrides the obsolete
21600 parameters <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a> and <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>. See
21601 <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> for further details. </p>
21602
21603 <p> This feature is available in Postfix 2.8 and later. </p>
21604
21605
21606 </DD>
21607
21608 <DT><b><a name="tlsproxy_tls_session_cache_timeout">tlsproxy_tls_session_cache_timeout</a>
21609 (default: $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>)</b></DT><DD>
21610
21611 <p> Obsolete expiration time of Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server TLS session
21612 cache information. Since the cache is shared with <a href="smtpd.8.html">smtpd(8)</a> and managed
21613 by <a href="tlsmgr.8.html">tlsmgr(8)</a>, there is only one expiration time for the SMTP server cache
21614 shared by all three services, namely <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p>
21615
21616 <p> This feature is available in Postfix 2.8-2.10. </p>
21617
21618
21619 </DD>
21620
21621 <DT><b><a name="tlsproxy_use_tls">tlsproxy_use_tls</a>
21622 (default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
21623
21624 <p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
21625 but do not require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>
21626 for further details. Use <a href="postconf.5.html#tlsproxy_tls_security_level">tlsproxy_tls_security_level</a> instead. </p>
21627
21628 <p> This feature is deprecated as of Postfix 3.9. Specify
21629 <a href="postconf.5.html#tlsproxy_tls_security_level">tlsproxy_tls_security_level</a> instead. </p>
21630
21631 <p> This feature is available in Postfix 2.8 and later. </p>
21632
21633
21634 </DD>
21635
21636 <DT><b><a name="tlsproxy_watchdog_timeout">tlsproxy_watchdog_timeout</a>
21637 (default: 10s)</b></DT><DD>
21638
21639 <p> How much time a <a href="tlsproxy.8.html">tlsproxy(8)</a> process may take to process local
21640 or remote I/O before it is terminated by a built-in watchdog timer.
21641 This is a safety mechanism that prevents <a href="tlsproxy.8.html">tlsproxy(8)</a> from becoming
21642 non-responsive due to a bug in Postfix itself or in system software.
21643 To avoid false alarms and unnecessary cache corruption this limit
21644 cannot be set under 10s. </p>
21645
21646 <p> Specify a non-zero time value (an integral value plus an optional
21647 one-letter suffix that specifies the time unit). Time units: s
21648 (seconds), m (minutes), h (hours), d (days), w (weeks).
21649 The default time unit is s (seconds). </p>
21650
21651 <p> This feature is available in Postfix 2.8 and later </p>
21652
21653
21654 </DD>
21655
21656 <DT><b><a name="trace_service_name">trace_service_name</a>
21657 (default: trace)</b></DT><DD>
21658
21659 <p>
21660 The name of the trace service. This service is implemented by the
21661 <a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
21662 of mail deliveries and produces a mail delivery report when verbose
21663 delivery is requested with "<b>sendmail -v</b>".
21664 </p>
21665
21666 <p>
21667 This feature is available in Postfix 2.1 and later.
21668 </p>
21669
21670
21671 </DD>
21672
21673 <DT><b><a name="transport_delivery_slot_cost">transport_delivery_slot_cost</a>
21674 (default: $<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b></DT><DD>
21675
21676 <p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
21677 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
21678 the message delivery transport. </p>
21679
21680 <p> Note: <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> parameters will not
21681 show up in "postconf" command output before Postfix version 2.9.
21682 This limitation applies to many parameters whose name is a combination
21683 of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
21684 "_delivery_slot_cost"). </p>
21685
21686
21687 </DD>
21688
21689 <DT><b><a name="transport_delivery_slot_discount">transport_delivery_slot_discount</a>
21690 (default: $<a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>)</b></DT><DD>
21691
21692 <p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>
21693 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
21694 the message delivery transport. </p>
21695
21696 <p> Note: <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> parameters will
21697 not show up in "postconf" command output before Postfix version
21698 2.9. This limitation applies to many parameters whose name is a
21699 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
21700 this case: "_delivery_slot_discount"). </p>
21701
21702
21703 </DD>
21704
21705 <DT><b><a name="transport_delivery_slot_loan">transport_delivery_slot_loan</a>
21706 (default: $<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b></DT><DD>
21707
21708 <p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>
21709 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
21710 the message delivery transport. </p>
21711
21712 <p> Note: <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> parameters will not
21713 show up in "postconf" command output before Postfix version 2.9.
21714 This limitation applies to many parameters whose name is a combination
21715 of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
21716 "_delivery_slot_loan"). </p>
21717
21718
21719 </DD>
21720
21721 <DT><b><a name="transport_destination_concurrency_failed_cohort_limit">transport_destination_concurrency_failed_cohort_limit</a>
21722 (default: $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>)</b></DT><DD>
21723
21724 <p> A transport-specific override for the
21725 <a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> parameter value,
21726 where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
21727 transport. </p>
21728
21729 <p> Note: some <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>
21730 parameters will not show up in "postconf" command output before
21731 Postfix version 2.9. This limitation applies to many parameters
21732 whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
21733 built-in suffix (in this case:
21734 "_destination_concurrency_failed_cohort_limit"). </p>
21735
21736 <p> This feature is available in Postfix 2.5 and later. </p>
21737
21738
21739 </DD>
21740
21741 <DT><b><a name="transport_destination_concurrency_limit">transport_destination_concurrency_limit</a>
21742 (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
21743
21744 <p> A transport-specific override for the
21745 <a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> parameter value, where
21746 <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
21747 transport. </p>
21748
21749 <p> Note: some <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a>
21750 parameters will not show up in "postconf" command output before
21751 Postfix version 2.9. This limitation applies to many parameters
21752 whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
21753 built-in suffix (in this case: "_destination_concurrency_limit").
21754 </p>
21755
21756
21757 </DD>
21758
21759 <DT><b><a name="transport_destination_concurrency_negative_feedback">transport_destination_concurrency_negative_feedback</a>
21760 (default: $<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>)</b></DT><DD>
21761
21762 <p> A transport-specific override for the
21763 <a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> parameter value,
21764 where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
21765 transport. </p>
21766
21767 <p> Note: some <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
21768 parameters will not show up in "postconf" command output before
21769 Postfix version 2.9. This limitation applies to many parameters
21770 whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
21771 built-in suffix (in this case:
21772 "_destination_concurrency_negative_feedback"). </p>
21773
21774 <p> This feature is available in Postfix 2.5 and later. </p>
21775
21776
21777 </DD>
21778
21779 <DT><b><a name="transport_destination_concurrency_positive_feedback">transport_destination_concurrency_positive_feedback</a>
21780 (default: $<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>)</b></DT><DD>
21781
21782 <p> A transport-specific override for the
21783 <a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> parameter value,
21784 where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
21785 transport. </p>
21786
21787 <p> Note: some <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
21788 parameters will not show up in "postconf" command output before
21789 Postfix version 2.9. This limitation applies to many parameters
21790 whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
21791 built-in suffix (in this case:
21792 "_destination_concurrency_positive_feedback"). </p>
21793
21794 <p> This feature is available in Postfix 2.5 and later. </p>
21795
21796
21797 </DD>
21798
21799 <DT><b><a name="transport_destination_rate_delay">transport_destination_rate_delay</a>
21800 (default: $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>)</b></DT><DD>
21801
21802 <p> A transport-specific override for the <a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>
21803 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
21804 the message delivery transport. </p>
21805
21806 <p> Note: some <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> parameters
21807 will not show up in "postconf" command output before Postfix version
21808 2.9. This limitation applies to many parameters whose name is a
21809 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
21810 this case: "_destination_rate_delay"). </p>
21811
21812 <p> This feature is available in Postfix 2.5 and later. </p>
21813
21814
21815 </DD>
21816
21817 <DT><b><a name="transport_destination_recipient_limit">transport_destination_recipient_limit</a>
21818 (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
21819
21820 <p> A transport-specific override for the
21821 <a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> parameter value, where
21822 <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
21823 transport. </p>
21824
21825 <p> Note: some <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> parameters
21826 will not show up in "postconf" command output before Postfix version
21827 2.9. This limitation applies to many parameters whose name is a
21828 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
21829 this case: "_destination_recipient_limit"). </p>
21830
21831
21832 </DD>
21833
21834 <DT><b><a name="transport_extra_recipient_limit">transport_extra_recipient_limit</a>
21835 (default: $<a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>)</b></DT><DD>
21836
21837 <p> A transport-specific override for the <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
21838 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
21839 the message delivery transport. </p>
21840
21841 <p> Note: <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> parameters will
21842 not show up in "postconf" command output before Postfix version
21843 2.9. This limitation applies to many parameters whose name is a
21844 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
21845 this case: "_extra_recipient_limit"). </p>
21846
21847
21848 </DD>
21849
21850 <DT><b><a name="transport_initial_destination_concurrency">transport_initial_destination_concurrency</a>
21851 (default: $<a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>)</b></DT><DD>
21852
21853 <p> A transport-specific override for the <a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>
21854 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
21855 the message delivery transport. </p>
21856
21857 <p> Note: some <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a>
21858 parameters will not show up in "postconf" command output before
21859 Postfix version 2.9. This limitation applies to many parameters
21860 whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
21861 built-in suffix (in this case: "_initial_destination_concurrency").
21862 </p>
21863
21864 <p> This feature is available in Postfix 2.5 and later. </p>
21865
21866
21867 </DD>
21868
21869 <DT><b><a name="transport_maps">transport_maps</a>
21870 (default: empty)</b></DT><DD>
21871
21872 <p>
21873 Optional lookup tables with mappings from recipient address to
21874 (message delivery transport, next-hop destination). See <a href="transport.5.html">transport(5)</a>
21875 for syntax details.
21876 </p>
21877
21878 <p> This information may override the message delivery transport
21879 and/or next-hop destination that are specified with $<a href="postconf.5.html#local_transport">local_transport</a>,
21880 $<a href="postconf.5.html#virtual_transport">virtual_transport</a>, $<a href="postconf.5.html#relay_transport">relay_transport</a>, $<a href="postconf.5.html#default_transport">default_transport</a>,
21881 $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>, $<a href="postconf.5.html#relayhost">relayhost</a>,
21882 $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>, or the recipient domain.
21883 </p>
21884
21885 <p>
21886 Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by
21887 whitespace or comma. Tables will be searched in the specified order
21888 until a match is found. If you use this
21889 feature with local files, run "<b>postmap /etc/postfix/transport</b>"
21890 after making a change. </p>
21891
21892 <p> Pattern matching of domain names is controlled by the presence
21893 or absence of "<a href="postconf.5.html#transport_maps">transport_maps</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
21894 parameter value. </p>
21895
21896 <p> For safety reasons, as of Postfix 2.3 this feature does not
21897 allow $number substitutions in regular expression maps. </p>
21898
21899 <p>
21900 Examples:
21901 </p>
21902
21903 <pre>
21904 <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/transport
21905 <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport
21906 </pre>
21907
21908
21909 </DD>
21910
21911 <DT><b><a name="transport_minimum_delivery_slots">transport_minimum_delivery_slots</a>
21912 (default: $<a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>)</b></DT><DD>
21913
21914 <p> A transport-specific override for the <a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>
21915 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
21916 the message delivery transport. </p>
21917
21918 <p> Note: <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> parameters will
21919 not show up in "postconf" command output before Postfix version
21920 2.9. This limitation applies to many parameters whose name is a
21921 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
21922 this case: "_minimum_delivery_slots"). </p>
21923
21924
21925 </DD>
21926
21927 <DT><b><a name="transport_recipient_limit">transport_recipient_limit</a>
21928 (default: $<a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>)</b></DT><DD>
21929
21930 <p> A transport-specific override for the <a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>
21931 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
21932 the message delivery transport. </p>
21933
21934 <p> Note: some <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> parameters will not
21935 show up in "postconf" command output before Postfix version 2.9.
21936 This limitation applies to many parameters whose name is a combination
21937 of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
21938 "_recipient_limit"). </p>
21939
21940
21941 </DD>
21942
21943 <DT><b><a name="transport_recipient_refill_delay">transport_recipient_refill_delay</a>
21944 (default: $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>)</b></DT><DD>
21945
21946 <p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>
21947 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
21948 the message delivery transport. </p>
21949
21950 <p> Note: <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> parameters will
21951 not show up in "postconf" command output before Postfix version
21952 2.9. This limitation applies to many parameters whose name is a
21953 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
21954 this case: "_recipient_refill_delay"). </p>
21955
21956 <p> This feature is available in Postfix 2.4 and later. </p>
21957
21958
21959 </DD>
21960
21961 <DT><b><a name="transport_recipient_refill_limit">transport_recipient_refill_limit</a>
21962 (default: $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>)</b></DT><DD>
21963
21964 <p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>
21965 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
21966 the message delivery transport. </p>
21967
21968 <p> Note: <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> parameters will
21969 not show up in "postconf" command output before Postfix version
21970 2.9. This limitation applies to many parameters whose name is a
21971 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
21972 this case: "_recipient_refill_limit"). </p>
21973
21974 <p> This feature is available in Postfix 2.4 and later. </p>
21975
21976
21977 </DD>
21978
21979 <DT><b><a name="transport_retry_time">transport_retry_time</a>
21980 (default: 60s)</b></DT><DD>
21981
21982 <p>
21983 The time between attempts by the Postfix queue manager to contact
21984 a malfunctioning message delivery transport.
21985 </p>
21986
21987 <p> Specify a non-zero time value (an integral value plus an optional
21988 one-letter suffix that specifies the time unit). Time units: s
21989 (seconds), m (minutes), h (hours), d (days), w (weeks).
21990 The default time unit is s (seconds). </p>
21991
21992
21993 </DD>
21994
21995 <DT><b><a name="transport_time_limit">transport_time_limit</a>
21996 (default: $<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b></DT><DD>
21997
21998 <p> A transport-specific override for the <a href="postconf.5.html#command_time_limit">command_time_limit</a> parameter
21999 value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message
22000 delivery transport. </p>
22001
22002 <p> Specify a non-zero time value (an integral value plus an optional
22003 one-letter suffix that specifies the time unit). Time units: s
22004 (seconds), m (minutes), h (hours), d (days), w (weeks).
22005 The default time unit is s (seconds). </p>
22006
22007 <p> Note: <a href="postconf.5.html#transport_time_limit"><i>transport</i>_time_limit</a> parameters will not show up
22008 in "postconf" command output before Postfix version 2.9. This
22009 limitation applies to many parameters whose name is a combination
22010 of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
22011 "_time_limit"). </p>
22012
22013
22014 </DD>
22015
22016 <DT><b><a name="transport_transport_rate_delay">transport_transport_rate_delay</a>
22017 (default: $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>)</b></DT><DD>
22018
22019 <p> A transport-specific override for the <a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>
22020 parameter value, where the initial <i>transport</i> in the parameter
22021 name is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
22022
22023 <p> Specify a non-negative time value (an integral value plus an optional
22024 one-letter suffix that specifies the time unit). Time units: s
22025 (seconds), m (minutes), h (hours), d (days), w (weeks).
22026 The default time unit is s (seconds). </p>
22027
22028 <p> Note: <a href="postconf.5.html#transport_transport_rate_delay"><i>transport</i>_transport_rate_delay</a> parameters will
22029 not show up in "postconf" command output before Postfix version
22030 2.9. This limitation applies to many parameters whose name is a
22031 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
22032 this case: "_transport_rate_delay"). </p>
22033
22034
22035 </DD>
22036
22037 <DT><b><a name="trigger_timeout">trigger_timeout</a>
22038 (default: 10s)</b></DT><DD>
22039
22040 <p>
22041 The time limit for sending a trigger to a Postfix daemon (for
22042 example, the <a href="pickup.8.html">pickup(8)</a> or <a href="qmgr.8.html">qmgr(8)</a> daemon). This time limit prevents
22043 programs from getting stuck when the mail system is under heavy
22044 load.
22045 </p>
22046
22047 <p> Specify a non-zero time value (an integral value plus an optional
22048 one-letter suffix that specifies the time unit). Time units: s
22049 (seconds), m (minutes), h (hours), d (days), w (weeks).
22050 The default time unit is s (seconds). </p>
22051
22052
22053 </DD>
22054
22055 <DT><b><a name="undisclosed_recipients_header">undisclosed_recipients_header</a>
22056 (default: see "postconf -d" output)</b></DT><DD>
22057
22058 <p>
22059 Message header that the Postfix <a href="cleanup.8.html">cleanup(8)</a> server inserts when a
22060 message contains no To: or Cc: message header. With Postfix 2.8
22061 and later, the default value is empty. With Postfix 2.4-2.7,
22062 specify an empty value to disable this feature. </p>
22063
22064 <p> Example: </p>
22065
22066 <pre>
22067 # Default value before Postfix 2.8.
22068 # Note: the ":" and ";" are both required.
22069 <a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> = To: undisclosed-recipients:;
22070 </pre>
22071
22072
22073 </DD>
22074
22075 <DT><b><a name="unknown_address_reject_code">unknown_address_reject_code</a>
22076 (default: 450)</b></DT><DD>
22077
22078 <p>
22079 The numerical response code when the Postfix SMTP server rejects a
22080 sender or recipient address because its domain is unknown. This
22081 is one of the possible replies from the restrictions
22082 <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a> and <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>.
22083 </p>
22084
22085 <p>
22086 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
22087 </p>
22088
22089
22090 </DD>
22091
22092 <DT><b><a name="unknown_address_tempfail_action">unknown_address_tempfail_action</a>
22093 (default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
22094
22095 <p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
22096 or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> fail due to a temporary error
22097 condition. Specify "defer" to defer the remote SMTP client request
22098 immediately. With the default "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix
22099 SMTP server continues to look for opportunities to reject mail, and
22100 defers the client request only if it would otherwise be accepted.
22101 </p>
22102
22103 <p> This feature is available in Postfix 2.6 and later. </p>
22104
22105
22106 </DD>
22107
22108 <DT><b><a name="unknown_client_reject_code">unknown_client_reject_code</a>
22109 (default: 450)</b></DT><DD>
22110
22111 <p>
22112 The numerical Postfix SMTP server response code when a client
22113 without valid address <=> name mapping is rejected by the
22114 <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> restriction. The SMTP server always replies
22115 with 450 when the mapping failed due to a temporary error condition.
22116 </p>
22117
22118 <p>
22119 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
22120 </p>
22121
22122
22123 </DD>
22124
22125 <DT><b><a name="unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>
22126 (default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
22127
22128 <p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>
22129 fails due to a temporary error condition. Specify "defer" to defer
22130 the remote SMTP client request immediately. With the default
22131 "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
22132 for opportunities to reject mail, and defers the client request
22133 only if it would otherwise be accepted. </p>
22134
22135 <p> This feature is available in Postfix 2.6 and later. </p>
22136
22137
22138 </DD>
22139
22140 <DT><b><a name="unknown_hostname_reject_code">unknown_hostname_reject_code</a>
22141 (default: 450)</b></DT><DD>
22142
22143 <p>
22144 The numerical Postfix SMTP server response code when the hostname
22145 specified with the HELO or EHLO command is rejected by the
22146 <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> restriction.
22147 </p>
22148
22149 <p>
22150 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
22151 </p>
22152
22153
22154 </DD>
22155
22156 <DT><b><a name="unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a>
22157 (default: 550)</b></DT><DD>
22158
22159 <p>
22160 The numerical Postfix SMTP server response code when a recipient
22161 address is local, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> specifies a list of
22162 lookup tables that does not match the recipient. A recipient
22163 address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
22164 $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> or $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>.
22165 </p>
22166
22167 <p>
22168 The default setting is 550 (reject mail) but it is safer to initially
22169 use 450 (try again later) so you have time to find out if your
22170 <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> settings are OK.
22171 </p>
22172
22173 <p>
22174 Example:
22175 </p>
22176
22177 <pre>
22178 <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 450
22179 </pre>
22180
22181 <p>
22182 This feature is available in Postfix 2.0 and later.
22183 </p>
22184
22185
22186 </DD>
22187
22188 <DT><b><a name="unknown_relay_recipient_reject_code">unknown_relay_recipient_reject_code</a>
22189 (default: 550)</b></DT><DD>
22190
22191 <p>
22192 The numerical Postfix SMTP server reply code when a recipient
22193 address matches $<a href="postconf.5.html#relay_domains">relay_domains</a>, and <a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> specifies
22194 a list of lookup tables that does not match the recipient address.
22195 </p>
22196
22197 <p>
22198 This feature is available in Postfix 2.0 and later.
22199 </p>
22200
22201
22202 </DD>
22203
22204 <DT><b><a name="unknown_virtual_alias_reject_code">unknown_virtual_alias_reject_code</a>
22205 (default: 550)</b></DT><DD>
22206
22207 <p>
22208 The Postfix SMTP server reply code when a recipient address matches
22209 $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, and $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> specifies a list
22210 of lookup tables that does not match the recipient address.
22211 </p>
22212
22213 <p>
22214 This feature is available in Postfix 2.0 and later.
22215 </p>
22216
22217
22218 </DD>
22219
22220 <DT><b><a name="unknown_virtual_mailbox_reject_code">unknown_virtual_mailbox_reject_code</a>
22221 (default: 550)</b></DT><DD>
22222
22223 <p>
22224 The Postfix SMTP server reply code when a recipient address matches
22225 $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>, and $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> specifies a list
22226 of lookup tables that does not match the recipient address.
22227 </p>
22228
22229 <p>
22230 This feature is available in Postfix 2.0 and later.
22231 </p>
22232
22233
22234 </DD>
22235
22236 <DT><b><a name="unverified_recipient_defer_code">unverified_recipient_defer_code</a>
22237 (default: 450)</b></DT><DD>
22238
22239 <p>
22240 The numerical Postfix SMTP server response when a recipient address
22241 probe fails due to a temporary error condition.
22242 </p>
22243
22244 <p>
22245 Unlike elsewhere in Postfix, you can specify 250 in order to
22246 accept the address anyway.
22247 </p>
22248
22249 <p>
22250 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
22251 </p>
22252
22253 <p>
22254 This feature is available in Postfix 2.6 and later.
22255 </p>
22256
22257
22258 </DD>
22259
22260 <DT><b><a name="unverified_recipient_reject_code">unverified_recipient_reject_code</a>
22261 (default: 450)</b></DT><DD>
22262
22263 <p>
22264 The numerical Postfix SMTP server response when a recipient address
22265 is rejected by the <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> restriction.
22266 </p>
22267
22268 <p>
22269 Unlike elsewhere in Postfix, you can specify 250 in order to
22270 accept the address anyway.
22271 </p>
22272
22273 <p>
22274 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
22275 </p>
22276
22277 <p>
22278 This feature is available in Postfix 2.1 and later.
22279 </p>
22280
22281
22282 </DD>
22283
22284 <DT><b><a name="unverified_recipient_reject_reason">unverified_recipient_reject_reason</a>
22285 (default: empty)</b></DT><DD>
22286
22287 <p> The Postfix SMTP server's reply when rejecting mail with
22288 <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. Do not include the numeric SMTP reply
22289 code or the enhanced status code. By default, the response includes
22290 actual address verification details.
22291
22292 <p> Example: </p>
22293
22294 <pre>
22295 <a href="postconf.5.html#unverified_recipient_reject_reason">unverified_recipient_reject_reason</a> = Recipient address lookup failed
22296 </pre>
22297
22298 <p> This feature is available in Postfix 2.6 and later. </p>
22299
22300
22301 </DD>
22302
22303 <DT><b><a name="unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>
22304 (default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
22305
22306 <p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>
22307 fails due to a temporary error condition. Specify "defer" to defer
22308 the remote SMTP client request immediately. With the default
22309 "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
22310 for opportunities to reject mail, and defers the client request
22311 only if it would otherwise be accepted. </p>
22312
22313 <p> This feature is available in Postfix 2.6 and later. </p>
22314
22315
22316 </DD>
22317
22318 <DT><b><a name="unverified_sender_defer_code">unverified_sender_defer_code</a>
22319 (default: 450)</b></DT><DD>
22320
22321 <p>
22322 The numerical Postfix SMTP server response code when a sender address
22323 probe fails due to a temporary error condition.
22324 </p>
22325
22326 <p>
22327 Unlike elsewhere in Postfix, you can specify 250 in order to
22328 accept the address anyway.
22329 </p>
22330
22331 <p>
22332 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
22333 </p>
22334
22335 <p>
22336 This feature is available in Postfix 2.6 and later.
22337 </p>
22338
22339
22340 </DD>
22341
22342 <DT><b><a name="unverified_sender_reject_code">unverified_sender_reject_code</a>
22343 (default: 450)</b></DT><DD>
22344
22345 <p>
22346 The numerical Postfix SMTP server response code when a recipient
22347 address is rejected by the <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> restriction.
22348 </p>
22349
22350 <p>
22351 Unlike elsewhere in Postfix, you can specify 250 in order to
22352 accept the address anyway.
22353 </p>
22354
22355 <p>
22356 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
22357 </p>
22358
22359 <p>
22360 This feature is available in Postfix 2.1 and later.
22361 </p>
22362
22363
22364 </DD>
22365
22366 <DT><b><a name="unverified_sender_reject_reason">unverified_sender_reject_reason</a>
22367 (default: empty)</b></DT><DD>
22368
22369 <p> The Postfix SMTP server's reply when rejecting mail with
22370 <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>. Do not include the numeric SMTP reply
22371 code or the enhanced status code. By default, the response includes
22372 actual address verification details.
22373
22374 <p> Example: </p>
22375
22376 <pre>
22377 <a href="postconf.5.html#unverified_sender_reject_reason">unverified_sender_reject_reason</a> = Sender address lookup failed
22378 </pre>
22379
22380 <p> This feature is available in Postfix 2.6 and later. </p>
22381
22382
22383 </DD>
22384
22385 <DT><b><a name="unverified_sender_tempfail_action">unverified_sender_tempfail_action</a>
22386 (default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
22387
22388 <p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>
22389 fails due to a temporary error condition. Specify "defer" to defer
22390 the remote SMTP client request immediately. With the default
22391 "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
22392 for opportunities to reject mail, and defers the client request
22393 only if it would otherwise be accepted. </p>
22394
22395 <p> This feature is available in Postfix 2.6 and later. </p>
22396
22397
22398 </DD>
22399
22400 <DT><b><a name="use_srv_lookup">use_srv_lookup</a>
22401 (default: empty)</b></DT><DD>
22402
22403 <p> Enables discovery for the specified service(s) using DNS SRV
22404 records. For example, with "<a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = submission" and
22405 "<a href="postconf.5.html#relayhost">relayhost</a> = example.com:submission", the Postfix SMTP client will
22406 look up DNS SRV records for _submission._tcp.example.com, and will
22407 relay email through the hosts and ports that are specified with
22408 those records. See <a href="https://tools.ietf.org/html/rfc2782">RFC 2782</a> for details of the host selection
22409 process. </p>
22410
22411 <p> Specify zero or more service names separated by comma and/or
22412 whitespace. Any name in the services(5) database may be specified,
22413 though in practice only submission or submissions (formerly called
22414 smtp) make sense. </p>
22415
22416 <p> When SRV record lookup is enabled with <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a>, you can
22417 enclose a domain name in "[]" to force IP address lookup instead
22418 of SRV record lookup. </p>
22419
22420 <p> Example 1: MUA-to-MTA submission using SRV record lookup for
22421 the "submission" service for domain "example.com". This uses the
22422 default SMTP delivery agent with STARTTLS, and looks up SRV records
22423 for "_submission._tcp.example.com". </p>
22424
22425 <pre>
22426 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
22427 <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = submission
22428 <a href="postconf.5.html#relayhost">relayhost</a> = example.com:submission
22429 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
22430 ...see <a href="SASL_README.html">SASL_README</a> for sasl configuration...
22431 </pre>
22432
22433 <p> Example 2: MUA-to-MTA submission using SRV record lookup for
22434 the "submissions" service for domain "example.org". This uses a
22435 dedicated SMTP delivery agent (smtp-wraptls) with tls_wrappermode
22436 turned on, and looks up SRV records for "_submissions._tcp.example.org".
22437 </p>
22438
22439 <p> Note: specify the older name "smtps" instead of "submissions"
22440 when a provider has DNS SRV records like "_smtps._tcp.example.org"
22441 instead of "_submissions._tcp.example.org". </p>
22442
22443 <pre>
22444 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
22445 <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = submissions
22446 <a href="postconf.5.html#default_transport">default_transport</a> = smtp-wraptls:example.org:submissions
22447 ...see <a href="SASL_README.html">SASL_README</a> for sasl configuration...
22448 </pre>
22449
22450 <pre>
22451 /etc/postfix/<a href="master.5.html">master.cf</a>:
22452 smtp-wraptls unix ... ... ... ... ... smtp
22453 -o { <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> = yes }
22454 -o { <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt }
22455 </pre>
22456
22457 <p> Example 3: Sender-dependent selection for a combination of
22458 MUA-to-MTA submission services. This combines examples 1 and 2 with
22459 examples of how to disable SRV and look up IP address records for
22460 "smtp-relay.example.net" and "smtp-relay.other.example". Again,
22461 specify the older name "smtps" instead of "submissions" when a
22462 provider has DNS SRV records like "_smtps._tcp.example.org" instead
22463 of "_submissions._tcp.example.org". </p>
22464
22465 <pre>
22466 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
22467 <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = submission, submissions
22468 <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> = <a href="DATABASE_README.html#types">inline</a>:{
22469 # Destinations that support SRV record lookup.
22470 { user1 (a] example.com = <a href="smtp.8.html">smtp</a>:example.com:submission }
22471 { user2 (a] example.org = smtp-wraptls:example.org:submissions }
22472 # Use [destination] to force IP address lookups.
22473 { user3 (a] example.net = <a href="smtp.8.html">smtp</a>:[smtp-relay.example.net]:submission }
22474 { user4 (a] other.example =
22475 smtp-wraptls:[smtp-relay.other.example]:submissions } }
22476 ...see <a href="SASL_README.html">SASL_README</a> for sasl configuration...
22477 </pre>
22478
22479 <p> Example 4: MTA-to-MTA traffic, using SRV record lookup for the
22480 SMTP service. This is useful for Postfix tests, and may be useful
22481 in environments where ports are dynamically assigned to servers.
22482 </p>
22483
22484 <pre>
22485 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
22486 <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = smtp
22487 # Fall back to MX record lookup when SRV records are unavailable.
22488 #<a href="postconf.5.html#allow_srv_lookup_fallback">allow_srv_lookup_fallback</a> = yes
22489 #<a href="postconf.5.html#ignore_srv_lookup_error">ignore_srv_lookup_error</a> = yes
22490 </pre>
22491
22492 <p> This feature is available in Postfix 3.8 and later. </p>
22493
22494
22495 </DD>
22496
22497 <DT><b><a name="verp_delimiter_filter">verp_delimiter_filter</a>
22498 (default: -=+)</b></DT><DD>
22499
22500 <p>
22501 The characters Postfix accepts as VERP delimiter characters on the
22502 Postfix <a href="sendmail.1.html">sendmail(1)</a> command line and in SMTP commands.
22503 </p>
22504
22505 <p>
22506 This feature is available in Postfix 1.1 and later.
22507 </p>
22508
22509
22510 </DD>
22511
22512 <DT><b><a name="virtual_alias_address_length_limit">virtual_alias_address_length_limit</a>
22513 (default: 1000)</b></DT><DD>
22514
22515 <p>
22516 The maximal length of an email address after virtual alias expansion.
22517 This stops <a href="ADDRESS_REWRITING_README.html#virtual">virtual aliasing</a> loops that increase the address length
22518 exponentially.
22519 </p>
22520
22521 <p>
22522 This feature is available in Postfix 3.0 and later.
22523 </p>
22524
22525
22526 </DD>
22527
22528 <DT><b><a name="virtual_alias_domains">virtual_alias_domains</a>
22529 (default: $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>)</b></DT><DD>
22530
22531 <p> Postfix is the final destination for the specified list of virtual
22532 alias domains, that is, domains for which all addresses are aliased
22533 to addresses in other local or remote domains. The SMTP server
22534 validates recipient addresses with $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> and rejects
22535 non-existent recipients. See also the <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> class
22536 in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file </p>
22537
22538 <p>
22539 This feature is available in Postfix 2.0 and later. The default
22540 value is backwards compatible with Postfix version 1.1.
22541 </p>
22542
22543 <p>
22544 The default value is $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> so that you can keep all
22545 information about <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a> in one place. If you have
22546 many users, it is better to separate information that changes more
22547 frequently (virtual address -> local or remote address mapping)
22548 from information that changes less frequently (the list of virtual
22549 domain names).
22550 </p>
22551
22552 <p> Specify a list of host or domain names, "/file/name" or
22553 "<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. A
22554 "/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
22555 lookup table is matched when a table entry matches a host or domain name
22556 (the lookup result is ignored). Continue long lines by starting
22557 the next line with whitespace. Specify "!pattern" to exclude a host
22558 or domain name from the list. The form "!/file/name" is supported
22559 only in Postfix version 2.4 and later. </p>
22560
22561 <p>
22562 See also the <a href="VIRTUAL_README.html">VIRTUAL_README</a> and <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> documents
22563 for further information.
22564 </p>
22565
22566 <p>
22567 Example:
22568 </p>
22569
22570 <pre>
22571 <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = virtual1.tld virtual2.tld
22572 </pre>
22573
22574
22575 </DD>
22576
22577 <DT><b><a name="virtual_alias_expansion_limit">virtual_alias_expansion_limit</a>
22578 (default: 1000)</b></DT><DD>
22579
22580 <p>
22581 The maximal number of addresses that virtual alias expansion produces
22582 from each original recipient.
22583 </p>
22584
22585 <p>
22586 This feature is available in Postfix 2.1 and later.
22587 </p>
22588
22589
22590 </DD>
22591
22592 <DT><b><a name="virtual_alias_maps">virtual_alias_maps</a>
22593 (default: $<a href="postconf.5.html#virtual_maps">virtual_maps</a>)</b></DT><DD>
22594
22595 <p>
22596 Optional lookup tables that are often searched with a full email
22597 address (including domain) and that apply to all recipients: <a href="local.8.html">local(8)</a>,
22598 virtual, and remote; this is unlike <a href="postconf.5.html#alias_maps">alias_maps</a> that are only searched
22599 with an email address localpart (no domain) and that apply
22600 only to <a href="local.8.html">local(8)</a> recipients.
22601 The <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> table format and lookups
22602 are documented in <a href="virtual.5.html">virtual(5)</a>. For an overview of Postfix address
22603 manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
22604 </p>
22605
22606 <p>
22607 This feature is available in Postfix 2.0 and later. The default
22608 value is backwards compatible with Postfix version 1.1.
22609 </p>
22610
22611 <p>
22612 Specify zero or more "type:name" lookup tables, separated by
22613 whitespace or comma. Tables will be searched in the specified order
22614 until a match is found.
22615 Note: these lookups are recursive.
22616 </p>
22617
22618 <p>
22619 If you use this feature with indexed files, run "<b>postmap
22620 /etc/postfix/virtual</b>" after changing the file.
22621 </p>
22622
22623 <p>
22624 Examples:
22625 </p>
22626
22627 <pre>
22628 <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/virtual
22629 <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/virtual
22630 </pre>
22631
22632
22633 </DD>
22634
22635 <DT><b><a name="virtual_alias_recursion_limit">virtual_alias_recursion_limit</a>
22636 (default: 1000)</b></DT><DD>
22637
22638 <p>
22639 The maximal nesting depth of virtual alias expansion. Currently
22640 the recursion limit is applied only to the left branch of the
22641 expansion graph, so the depth of the tree can in the worst case
22642 reach the sum of the expansion and recursion limits. This may
22643 change in the future.
22644 </p>
22645
22646 <p>
22647 This feature is available in Postfix 2.1 and later.
22648 </p>
22649
22650
22651 </DD>
22652
22653 <DT><b><a name="virtual_delivery_status_filter">virtual_delivery_status_filter</a>
22654 (default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
22655
22656 <p> Optional filter for the <a href="virtual.8.html">virtual(8)</a> delivery agent to change the
22657 delivery status code or explanatory text of successful or unsuccessful
22658 deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p>
22659
22660 <p> This feature is available in Postfix 3.0 and later. </p>
22661
22662
22663 </DD>
22664
22665 <DT><b><a name="virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a>
22666 (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
22667
22668 <p> The maximal number of parallel deliveries to the same destination
22669 via the virtual message delivery transport. This limit is enforced
22670 by the queue manager. The message delivery transport name is the
22671 first field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
22672
22673
22674 </DD>
22675
22676 <DT><b><a name="virtual_destination_recipient_limit">virtual_destination_recipient_limit</a>
22677 (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
22678
22679 <p> The maximal number of recipients per message for the virtual
22680 message delivery transport. This limit is enforced by the queue
22681 manager. The message delivery transport name is the first field in
22682 the entry in the <a href="master.5.html">master.cf</a> file. </p>
22683
22684 <p> Setting this parameter to a value of 1 changes the meaning of
22685 <a href="postconf.5.html#virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> from concurrency per domain
22686 into concurrency per recipient. </p>
22687
22688
22689 </DD>
22690
22691 <DT><b><a name="virtual_gid_maps">virtual_gid_maps</a>
22692 (default: empty)</b></DT><DD>
22693
22694 <p>
22695 Lookup tables with the per-recipient group ID for <a href="virtual.8.html">virtual(8)</a> mailbox
22696 delivery.
22697 </p>
22698
22699 <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
22700 It does not apply when mail is delivered with a different mail
22701 delivery program. </p>
22702
22703 <p>
22704 Specify zero or more "type:name" lookup tables, separated by
22705 whitespace or comma. Tables will be searched in the specified order
22706 until a match is found.
22707 </p>
22708
22709 <p>
22710 In a lookup table, specify a left-hand side of "@domain.tld" to
22711 match any user in the specified domain that does not have a specific
22712 "user (a] domain.tld" entry.
22713 </p>
22714
22715 <p>
22716 When a recipient address has an optional address extension
22717 (user+foo (a] domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
22718 the full address first, and when the lookup fails, it looks up the
22719 unextended address (user (a] domain.tld).
22720 </p>
22721
22722 <p>
22723 Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
22724 regular expression substitution of $1 etc. in regular expression
22725 lookup tables, because that would open a security hole.
22726 </p>
22727
22728 <p>
22729 Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
22730 silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
22731 it will open the table directly. Before Postfix version 2.2, the
22732 <a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
22733 </p>
22734
22735
22736 </DD>
22737
22738 <DT><b><a name="virtual_mailbox_base">virtual_mailbox_base</a>
22739 (default: empty)</b></DT><DD>
22740
22741 <p>
22742 A prefix that the <a href="virtual.8.html">virtual(8)</a> delivery agent prepends to all pathname
22743 results from $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> table lookups. This is a safety
22744 measure to ensure that an out of control map doesn't litter the
22745 file system with mailboxes. While <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> could be
22746 set to "/", this setting isn't recommended.
22747 </p>
22748
22749 <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
22750 It does not apply when mail is delivered with a different mail
22751 delivery program. </p>
22752
22753 <p>
22754 Example:
22755 </p>
22756
22757 <pre>
22758 <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /var/mail
22759 </pre>
22760
22761
22762 </DD>
22763
22764 <DT><b><a name="virtual_mailbox_domains">virtual_mailbox_domains</a>
22765 (default: $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>)</b></DT><DD>
22766
22767 <p> Postfix is the final destination for the specified list of domains;
22768 mail is delivered via the $<a href="postconf.5.html#virtual_transport">virtual_transport</a> mail delivery transport.
22769 By default this is the Postfix <a href="virtual.8.html">virtual(8)</a> delivery agent. The SMTP
22770 server validates recipient addresses with $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
22771 and rejects mail for non-existent recipients. See also the virtual
22772 mailbox domain class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file. </p>
22773
22774 <p> This parameter expects the same syntax as the <a href="postconf.5.html#mydestination">mydestination</a>
22775 configuration parameter. </p>
22776
22777 <p>
22778 This feature is available in Postfix 2.0 and later. The default
22779 value is backwards compatible with Postfix version 1.1.
22780 </p>
22781
22782
22783 </DD>
22784
22785 <DT><b><a name="virtual_mailbox_limit">virtual_mailbox_limit</a>
22786 (default: 51200000)</b></DT><DD>
22787
22788 <p>
22789 The maximal size in bytes of an individual <a href="virtual.8.html">virtual(8)</a> mailbox or
22790 maildir file, or zero (no limit). </p>
22791
22792 <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
22793 It does not apply when mail is delivered with a different mail
22794 delivery program. </p>
22795
22796
22797 </DD>
22798
22799 <DT><b><a name="virtual_mailbox_lock">virtual_mailbox_lock</a>
22800 (default: see "postconf -d" output)</b></DT><DD>
22801
22802 <p>
22803 How to lock a UNIX-style <a href="virtual.8.html">virtual(8)</a> mailbox before attempting
22804 delivery. For a list of available file locking methods, use the
22805 "<b>postconf -l</b>" command.
22806 </p>
22807
22808 <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
22809 It does not apply when mail is delivered with a different mail
22810 delivery program. </p>
22811
22812 <p>
22813 This setting is ignored with <b>maildir</b> style delivery, because
22814 such deliveries are safe without application-level locks.
22815 </p>
22816
22817 <p>
22818 Note 1: the <b>dotlock</b> method requires that the recipient UID
22819 or GID has write access to the parent directory of the recipient's
22820 mailbox file.
22821 </p>
22822
22823 <p>
22824 Note 2: the default setting of this parameter is system dependent.
22825 </p>
22826
22827
22828 </DD>
22829
22830 <DT><b><a name="virtual_mailbox_maps">virtual_mailbox_maps</a>
22831 (default: empty)</b></DT><DD>
22832
22833 <p>
22834 Optional lookup tables with all valid addresses in the domains that
22835 match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
22836 </p>
22837
22838 <p>
22839 Specify zero or more "type:name" lookup tables, separated by
22840 whitespace or comma. Tables will be searched in the specified order
22841 until a match is found.
22842 </p>
22843
22844 <p>
22845 In a lookup table, specify a left-hand side of "@domain.tld" to
22846 match any user in the specified domain that does not have a specific
22847 "user (a] domain.tld" entry.
22848 </p>
22849
22850 <p>
22851 With the default "<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> = $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>",
22852 lookup tables also need entries with a left-hand side of "domain.tld"
22853 to satisfy virtual_mailbox_domain lookups (the right-hand side is
22854 required but will not be used).
22855 </p>
22856
22857 <p> The remainder of this text is specific to the <a href="virtual.8.html">virtual(8)</a> delivery
22858 agent. It does not apply when mail is delivered with a different
22859 mail delivery program. </p>
22860
22861 <p>
22862 The <a href="virtual.8.html">virtual(8)</a> delivery agent uses this table to look up the
22863 per-recipient mailbox or maildir pathname. If the lookup result
22864 ends in a slash ("/"), maildir-style delivery is carried out,
22865 otherwise the path is assumed to specify a UNIX-style mailbox file.
22866 Note that $<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> is unconditionally prepended to
22867 this path.
22868 </p>
22869
22870 <p>
22871 When a recipient address has an optional address extension
22872 (user+foo (a] domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
22873 the full address first, and when the lookup fails, it looks up the
22874 unextended address (user (a] domain.tld).
22875 </p>
22876
22877 <p>
22878 Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
22879 regular expression substitution of $1 etc. in regular expression
22880 lookup tables, because that would open a security hole.
22881 </p>
22882
22883 <p>
22884 Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
22885 silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
22886 it will open the table directly. Before Postfix version 2.2, the
22887 <a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
22888 </p>
22889
22890
22891 </DD>
22892
22893 <DT><b><a name="virtual_maps">virtual_maps</a>
22894 (default: empty)</b></DT><DD>
22895
22896 <p> Optional lookup tables with a) names of domains for which all
22897 addresses are aliased to addresses in other local or remote domains,
22898 and b) addresses that are aliased to addresses in other local or
22899 remote domains. Available before Postfix version 2.0. With Postfix
22900 version 2.0 and later, this is replaced by separate controls: <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>
22901 and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
22902
22903
22904 </DD>
22905
22906 <DT><b><a name="virtual_minimum_uid">virtual_minimum_uid</a>
22907 (default: 100)</b></DT><DD>
22908
22909 <p>
22910 The minimum user ID value that the <a href="virtual.8.html">virtual(8)</a> delivery agent accepts
22911 as a result from $<a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> table lookup. Returned
22912 values less than this will be rejected, and the message will be
22913 deferred.
22914 </p>
22915
22916 <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
22917 It does not apply when mail is delivered with a different mail
22918 delivery program. </p>
22919
22920
22921 </DD>
22922
22923 <DT><b><a name="virtual_transport">virtual_transport</a>
22924 (default: virtual)</b></DT><DD>
22925
22926 <p>
22927 The default mail delivery transport and next-hop destination for
22928 final delivery to domains listed with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
22929 This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
22930 </p>
22931
22932 <p>
22933 Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
22934 is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
22935 The <i>:nexthop</i> destination is optional; its syntax is documented
22936 in the manual page of the corresponding delivery agent.
22937 </p>
22938
22939 <p>
22940 This feature is available in Postfix 2.0 and later.
22941 </p>
22942
22943
22944 </DD>
22945
22946 <DT><b><a name="virtual_uid_maps">virtual_uid_maps</a>
22947 (default: empty)</b></DT><DD>
22948
22949 <p>
22950 Lookup tables with the per-recipient user ID that the <a href="virtual.8.html">virtual(8)</a>
22951 delivery agent uses while writing to the recipient's mailbox.
22952 </p>
22953
22954 <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
22955 It does not apply when mail is delivered with a different mail
22956 delivery program. </p>
22957
22958 <p>
22959 Specify zero or more "type:name" lookup tables, separated by
22960 whitespace or comma. Tables will be searched in the specified order
22961 until a match is found.
22962 </p>
22963
22964 <p>
22965 In a lookup table, specify a left-hand side of "@domain.tld"
22966 to match any user in the specified domain that does not have a
22967 specific "user (a] domain.tld" entry.
22968 </p>
22969
22970 <p>
22971 When a recipient address has an optional address extension
22972 (user+foo (a] domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
22973 the full address first, and when the lookup fails, it looks up the
22974 unextended address (user (a] domain.tld).
22975 </p>
22976
22977 <p>
22978 Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
22979 regular expression substitution of $1 etc. in regular expression
22980 lookup tables, because that would open a security hole.
22981 </p>
22982
22983 <p>
22984 Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
22985 silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
22986 it will open the table directly. Before Postfix version 2.2, the
22987 <a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
22988 </p>
22989
22990
22991 </DD>
22992
22993 </dl>
22994
22995 </body>
22996
22997 </html>
22998