xref: /netbsd-src/external/ibm-public/postfix/dist/html/postconf.5.html (revision 404ee5b9334f618040b6cdef96a0ff35a6fc4636)
1<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
2        "http://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=us-ascii">
11
12</head>
13
14<body>
15
16<h1><img src="postfix-logo.jpg" width="203" height="98" alt="">Postfix Configuration Parameters </h1>
17
18<hr>
19
20<h2> Postfix main.cf file format </h2>
21
22<p> The Postfix main.cf configuration file specifies a very small
23subset of all the parameters that control the operation of the
24Postfix mail system. Parameters not explicitly specified are left
25at their default values. </p>
26
27<p> The general format of the main.cf file is as follows: </p>
28
29<ul>
30
31<li> <p> Each logical line is in the form "parameter = value".
32Whitespace around the "=" is ignored, as is whitespace at the end
33of a logical line. </p>
34
35<li> <p> Empty lines and whitespace-only lines are ignored, as are
36lines whose first non-whitespace character is a `#'. </p>
37
38<li> <p> A logical line starts with non-whitespace text. A line
39that starts with whitespace continues a logical line. </p>
40
41<li> <p> A parameter value may refer to other parameters. </p>
42
43<ul>
44
45<li> <p> The expressions "$name" and "${name}" are recursively
46replaced with the value of the named parameter, except where noted.
47An undefined parameter value is replaced with the empty value.  </p>
48
49<li> <p> The expressions "${name?value}" and "${name?{value}}" are
50replaced with "value" when "$name" is non-empty. These forms are
51supported with Postfix versions &ge; 2.2 and &ge; 3.0, respectively.
52</p>
53
54<li> <p> The expressions "${name:value}" and "${name?{value}}" are
55replaced with "value" when "$name" is empty. These forms are supported
56with Postfix versions &ge; 2.2 and &ge; 3.0, respectively.  </p>
57
58<li> <p> The expression "${name?{value1}:{value2}}" is replaced
59with "value1" when "$name" is non-empty, and with "value2" when
60"$name" is empty.  The "{}" is required for "value1", optional for
61"value2".  This form is supported with Postfix versions &ge; 3.0.
62</p>
63
64<li> <p> The first item inside "${...}" may be a logical expression
65of the form: "{value3} == {value4}". Besides the "==" (equality)
66operator Postfix supports "!=" (inequality), "&lt;", "&le;", "&ge;",
67and "&gt;". The comparison is numerical when both operands are all
68digits, otherwise the comparison is lexicographical. These forms
69are supported with Postfix versions &ge; 3.0. </p>
70
71<li> <p> Each "value" is subject to recursive named parameter and
72logical expression evaluation, except where noted.  </p>
73
74<li> <p> Whitespace before or after each "{value}" is ignored. </p>
75
76<li> <p> Specify "$$" to produce a single "$" character. </p>
77
78<li> <p> The legacy form "$(...)" is equivalent to the preferred
79form "${...}". </p>
80
81</ul>
82
83<li> <p> When the same parameter is defined multiple times, only
84the last instance is remembered. </p>
85
86<li> <p> Otherwise, the order of main.cf parameter definitions does
87not matter. </p>
88
89</ul>
90
91<p> The remainder of this document is a description of all Postfix
92configuration parameters. Default values are shown after the
93parameter name in parentheses, and can be looked up with the
94"<b>postconf -d</b>" command. </p>
95
96<p> Note: this is not an invitation to make changes to Postfix
97configuration parameters. Unnecessary changes are likely to impair
98the operation of the mail system.  </p>
99
100<dl>
101<DT><b><a name="2bounce_notice_recipient">2bounce_notice_recipient</a>
102(default: postmaster)</b></DT><DD>
103
104<p> The recipient of undeliverable mail that cannot be returned to
105the sender.  This feature is enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
106parameter.  </p>
107
108
109</DD>
110
111<DT><b><a name="access_map_defer_code">access_map_defer_code</a>
112(default: 450)</b></DT><DD>
113
114<p>
115The numerical Postfix SMTP server response code for
116an <a href="access.5.html">access(5)</a> map "defer" action, including "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>"
117or "<a href="postconf.5.html#defer_if_reject">defer_if_reject</a>". Prior to Postfix 2.6, the response
118is hard-coded as "450".
119</p>
120
121<p>
122Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
123</p>
124
125<p>
126This feature is available in Postfix 2.6 and later.
127</p>
128
129
130</DD>
131
132<DT><b><a name="access_map_reject_code">access_map_reject_code</a>
133(default: 554)</b></DT><DD>
134
135<p>
136The numerical Postfix SMTP server response code for
137an <a href="access.5.html">access(5)</a> map "reject" action.
138</p>
139
140<p>
141Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
142</p>
143
144
145</DD>
146
147<DT><b><a name="address_verify_cache_cleanup_interval">address_verify_cache_cleanup_interval</a>
148(default: 12h)</b></DT><DD>
149
150<p> The amount of time between <a href="verify.8.html">verify(8)</a> address verification
151database cleanup runs. This feature requires that the database
152supports the "delete" and "sequence" operators.  Specify a zero
153interval to disable database cleanup. </p>
154
155<p> After each database cleanup run, the <a href="verify.8.html">verify(8)</a> daemon logs the
156number of entries that were retained and dropped. A cleanup run is
157logged as "partial" when the daemon terminates early after "<b>postfix
158reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
159seconds. </p>
160
161<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
162(weeks). </p>
163
164<p> This feature is available in Postfix 2.7. </p>
165
166
167</DD>
168
169<DT><b><a name="address_verify_default_transport">address_verify_default_transport</a>
170(default: $<a href="postconf.5.html#default_transport">default_transport</a>)</b></DT><DD>
171
172<p>
173Overrides the <a href="postconf.5.html#default_transport">default_transport</a> parameter setting for address
174verification probes.
175</p>
176
177<p>
178This feature is available in Postfix 2.1 and later.
179</p>
180
181
182</DD>
183
184<DT><b><a name="address_verify_local_transport">address_verify_local_transport</a>
185(default: $<a href="postconf.5.html#local_transport">local_transport</a>)</b></DT><DD>
186
187<p>
188Overrides the <a href="postconf.5.html#local_transport">local_transport</a> parameter setting for address
189verification probes.
190</p>
191
192<p>
193This feature is available in Postfix 2.1 and later.
194</p>
195
196
197</DD>
198
199<DT><b><a name="address_verify_map">address_verify_map</a>
200(default: see "postconf -d" output)</b></DT><DD>
201
202<p>
203Lookup table for persistent address verification status
204storage.  The table is maintained by the <a href="verify.8.html">verify(8)</a> service, and
205is opened before the process releases privileges.
206</p>
207
208<p>
209The lookup table is persistent by default (Postfix 2.7 and later).
210Specify an empty table name to keep the information in volatile
211memory which is lost after "<b>postfix reload</b>" or "<b>postfix
212stop</b>". This is the default with Postfix version 2.6 and earlier.
213</p>
214
215<p>
216Specify a location in a file system that will not fill up. If the
217database becomes corrupted, the world comes to an end. To recover
218delete (NOT: truncate) the file and do "<b>postfix reload</b>".
219</p>
220
221<p> Postfix daemon processes do not use root privileges when opening
222this file (Postfix 2.5 and later).  The file must therefore be
223stored under a Postfix-owned directory such as the <a href="postconf.5.html#data_directory">data_directory</a>.
224As a migration aid, an attempt to open the file under a non-Postfix
225directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
226warning is logged. </p>
227
228<p>
229Examples:
230</p>
231
232<pre>
233<a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">hash</a>:/var/db/postfix/verify
234<a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/verify
235</pre>
236
237<p>
238This feature is available in Postfix 2.1 and later.
239</p>
240
241
242</DD>
243
244<DT><b><a name="address_verify_negative_cache">address_verify_negative_cache</a>
245(default: yes)</b></DT><DD>
246
247<p>
248Enable caching of failed address verification probe results.  When
249this feature is enabled, the cache may pollute quickly with garbage.
250When this feature is disabled, Postfix will generate an address
251probe for every lookup.
252</p>
253
254<p>
255This feature is available in Postfix 2.1 and later.
256</p>
257
258
259</DD>
260
261<DT><b><a name="address_verify_negative_expire_time">address_verify_negative_expire_time</a>
262(default: 3d)</b></DT><DD>
263
264<p>
265The time after which a failed probe expires from the address
266verification cache.
267</p>
268
269<p>
270Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
271</p>
272
273<p>
274This feature is available in Postfix 2.1 and later.
275</p>
276
277
278</DD>
279
280<DT><b><a name="address_verify_negative_refresh_time">address_verify_negative_refresh_time</a>
281(default: 3h)</b></DT><DD>
282
283<p>
284The time after which a failed address verification probe needs to
285be refreshed.
286</p>
287
288<p>
289Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
290</p>
291
292<p>
293This feature is available in Postfix 2.1 and later.
294</p>
295
296
297</DD>
298
299<DT><b><a name="address_verify_pending_request_limit">address_verify_pending_request_limit</a>
300(default: see "postconf -d" output)</b></DT><DD>
301
302<p> A safety limit that prevents address verification requests from
303overwhelming the Postfix queue. By default, the number of pending
304requests is limited to 1/4 of the <a href="QSHAPE_README.html#active_queue">active queue</a> maximum size
305(<a href="postconf.5.html#qmgr_message_active_limit">qmgr_message_active_limit</a>). The queue manager enforces the limit
306by tempfailing requests that exceed the limit. This affects only
307unknown addresses and inactive addresses that have expired, because
308the <a href="verify.8.html">verify(8)</a> daemon automatically refreshes an active address
309before it expires. </p>
310
311<p> This feature is available in Postfix 3.1 and later.  </p>
312
313
314</DD>
315
316<DT><b><a name="address_verify_poll_count">address_verify_poll_count</a>
317(default: normal: 3, overload: 1)</b></DT><DD>
318
319<p>
320How many times to query the <a href="verify.8.html">verify(8)</a> service for the completion
321of an address verification request in progress.
322</p>
323
324<p> By default, the Postfix SMTP server polls the <a href="verify.8.html">verify(8)</a> service
325up to three times under non-overload conditions, and only once when
326under overload.  With Postfix version 2.5 and earlier, the SMTP
327server always polls the <a href="verify.8.html">verify(8)</a> service up to three times by
328default.  </p>
329
330<p>
331Specify 1 to implement a crude form of greylisting, that is, always
332defer the first delivery request for a new address.
333</p>
334
335<p>
336Examples:
337</p>
338
339<pre>
340# Postfix &le; 2.6 default
341<a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 3
342# Poor man's greylisting
343<a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 1
344</pre>
345
346<p>
347This feature is available in Postfix 2.1 and later.
348</p>
349
350
351</DD>
352
353<DT><b><a name="address_verify_poll_delay">address_verify_poll_delay</a>
354(default: 3s)</b></DT><DD>
355
356<p>
357The delay between queries for the completion of an address
358verification request in progress.
359</p>
360
361<p>
362The default polling delay is 3 seconds.
363</p>
364
365<p>
366Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
367</p>
368
369<p>
370This feature is available in Postfix 2.1 and later.
371</p>
372
373
374</DD>
375
376<DT><b><a name="address_verify_positive_expire_time">address_verify_positive_expire_time</a>
377(default: 31d)</b></DT><DD>
378
379<p>
380The time after which a successful probe expires from the address
381verification cache.
382</p>
383
384<p>
385Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
386</p>
387
388<p>
389This feature is available in Postfix 2.1 and later.
390</p>
391
392
393</DD>
394
395<DT><b><a name="address_verify_positive_refresh_time">address_verify_positive_refresh_time</a>
396(default: 7d)</b></DT><DD>
397
398<p>
399The time after which a successful address verification probe needs
400to be refreshed.  The address verification status is not updated
401when the probe fails (optimistic caching).
402</p>
403
404<p>
405Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
406</p>
407
408<p>
409This feature is available in Postfix 2.1 and later.
410</p>
411
412
413</DD>
414
415<DT><b><a name="address_verify_relay_transport">address_verify_relay_transport</a>
416(default: $<a href="postconf.5.html#relay_transport">relay_transport</a>)</b></DT><DD>
417
418<p>
419Overrides the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter setting for address
420verification probes.
421</p>
422
423<p>
424This feature is available in Postfix 2.1 and later.
425</p>
426
427
428</DD>
429
430<DT><b><a name="address_verify_relayhost">address_verify_relayhost</a>
431(default: $<a href="postconf.5.html#relayhost">relayhost</a>)</b></DT><DD>
432
433<p>
434Overrides the <a href="postconf.5.html#relayhost">relayhost</a> parameter setting for address verification
435probes. This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
436</p>
437
438<p>
439This feature is available in Postfix 2.1 and later.
440</p>
441
442
443</DD>
444
445<DT><b><a name="address_verify_sender">address_verify_sender</a>
446(default: $<a href="postconf.5.html#double_bounce_sender">double_bounce_sender</a>)</b></DT><DD>
447
448<p> The sender address to use in address verification probes; prior
449to Postfix 2.5 the default was "postmaster". To
450avoid problems with address probes that are sent in response to
451address probes, the Postfix SMTP server excludes the probe sender
452address from all SMTPD access blocks. </p>
453
454<p>
455Specify an empty value (<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> =) or &lt;&gt; if you want
456to use the null sender address. Beware, some sites reject mail from
457&lt;&gt;, even though RFCs require that such addresses be accepted.
458</p>
459
460<p>
461Examples:
462</p>
463
464<pre>
465<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = &lt;&gt;
466<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = postmaster@my.domain
467</pre>
468
469<p>
470This feature is available in Postfix 2.1 and later.
471</p>
472
473
474</DD>
475
476<DT><b><a name="address_verify_sender_dependent_default_transport_maps">address_verify_sender_dependent_default_transport_maps</a>
477(default: $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>)</b></DT><DD>
478
479<p> Overrides the <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter
480setting for address verification probes.  </p>
481
482<p> This feature is available in Postfix 2.7 and later.  </p>
483
484
485</DD>
486
487<DT><b><a name="address_verify_sender_dependent_relayhost_maps">address_verify_sender_dependent_relayhost_maps</a>
488(default: $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>)</b></DT><DD>
489
490<p>
491Overrides the <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> parameter setting for address
492verification probes.
493</p>
494
495<p>
496This feature is available in Postfix 2.3 and later.
497</p>
498
499
500</DD>
501
502<DT><b><a name="address_verify_sender_ttl">address_verify_sender_ttl</a>
503(default: 0s)</b></DT><DD>
504
505<p> The time between changes in the time-dependent portion of address
506verification probe sender addresses. The time-dependent portion is
507appended to the localpart of the address specified with the
508<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> parameter. This feature is ignored when the
509probe sender addresses is the null sender, i.e. the <a href="postconf.5.html#address_verify_sender">address_verify_sender</a>
510value is empty or &lt;&gt;. </p>
511
512<p> Historically, the probe sender address was fixed. This has
513caused such addresses to end up on spammer mailing lists, and has
514resulted in wasted network and processing resources.  </p>
515
516<p> To enable time-dependent probe sender addresses, specify a
517non-zero time value (an integral value plus an optional one-letter
518suffix that specifies the time unit).  Specify a value of at least
519several hours, to avoid problems with senders that use greylisting.
520Avoid nice TTL values, to make the result less predictable.  Time
521units are: s (seconds), m (minutes), h (hours), d (days), w (weeks).
522</p>
523
524<p> This feature is available in Postfix 2.9 and later.  </p>
525
526
527</DD>
528
529<DT><b><a name="address_verify_service_name">address_verify_service_name</a>
530(default: verify)</b></DT><DD>
531
532<p>
533The name of the <a href="verify.8.html">verify(8)</a> address verification service. This service
534maintains the status of sender and/or recipient address verification
535probes, and generates probes on request by other Postfix processes.
536</p>
537
538
539</DD>
540
541<DT><b><a name="address_verify_transport_maps">address_verify_transport_maps</a>
542(default: $<a href="postconf.5.html#transport_maps">transport_maps</a>)</b></DT><DD>
543
544<p>
545Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address verification
546probes.
547</p>
548
549<p>
550This feature is available in Postfix 2.1 and later.
551</p>
552
553
554</DD>
555
556<DT><b><a name="address_verify_virtual_transport">address_verify_virtual_transport</a>
557(default: $<a href="postconf.5.html#virtual_transport">virtual_transport</a>)</b></DT><DD>
558
559<p>
560Overrides the <a href="postconf.5.html#virtual_transport">virtual_transport</a> parameter setting for address
561verification probes.
562</p>
563
564<p>
565This feature is available in Postfix 2.1 and later.
566</p>
567
568
569</DD>
570
571<DT><b><a name="alias_database">alias_database</a>
572(default: see "postconf -d" output)</b></DT><DD>
573
574<p>
575The alias databases for <a href="local.8.html">local(8)</a> delivery that are updated with
576"<b>newaliases</b>" or with "<b>sendmail -bi</b>".
577</p>
578
579<p>
580This is a separate configuration parameter because not all the
581tables specified with $<a href="postconf.5.html#alias_maps">alias_maps</a> have to be local files.
582</p>
583
584<p>
585Examples:
586</p>
587
588<pre>
589<a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases
590<a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/mail/aliases
591</pre>
592
593
594</DD>
595
596<DT><b><a name="alias_maps">alias_maps</a>
597(default: see "postconf -d" output)</b></DT><DD>
598
599<p>
600The alias databases that are used for <a href="local.8.html">local(8)</a> delivery. See
601<a href="aliases.5.html">aliases(5)</a> for syntax details.
602Specify zero or more "type:name" lookup tables, separated by
603whitespace or comma. Tables will be searched in the specified order
604until a match is found.
605Note: these lookups are recursive.
606</p>
607
608<p>
609The default list is system dependent.  On systems with NIS, the
610default is to search the local alias database, then the NIS alias
611database.
612</p>
613
614<p>
615If you change the alias database, run "<b>postalias /etc/aliases</b>"
616(or wherever your system stores the mail alias file), or simply
617run "<b>newaliases</b>" to build the necessary DBM or DB file.
618</p>
619
620<p>
621The <a href="local.8.html">local(8)</a> delivery agent disallows regular expression substitution
622of $1 etc. in <a href="postconf.5.html#alias_maps">alias_maps</a>, because that would open a security hole.
623</p>
624
625<p>
626The <a href="local.8.html">local(8)</a> delivery agent will silently ignore requests to use
627the <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
628table directly. Before Postfix version 2.2, the <a href="local.8.html">local(8)</a> delivery
629agent will terminate with a fatal error.
630</p>
631
632<p>
633Examples:
634</p>
635
636<pre>
637<a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases, nis:mail.aliases
638<a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases
639</pre>
640
641
642</DD>
643
644<DT><b><a name="allow_mail_to_commands">allow_mail_to_commands</a>
645(default: alias, forward)</b></DT><DD>
646
647<p>
648Restrict <a href="local.8.html">local(8)</a> mail delivery to external commands.  The default
649is to disallow delivery to "|command" in :include:  files (see
650<a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
651</p>
652
653<p>
654Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
655in order to allow commands in <a href="aliases.5.html">aliases(5)</a>, .forward files or in
656:include:  files, respectively.
657</p>
658
659<p>
660Example:
661</p>
662
663<pre>
664<a href="postconf.5.html#allow_mail_to_commands">allow_mail_to_commands</a> = alias,forward,include
665</pre>
666
667
668</DD>
669
670<DT><b><a name="allow_mail_to_files">allow_mail_to_files</a>
671(default: alias, forward)</b></DT><DD>
672
673<p>
674Restrict <a href="local.8.html">local(8)</a> mail delivery to external files. The default is
675to disallow "/file/name" destinations in :include:  files (see
676<a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
677</p>
678
679<p>
680Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
681in order to allow "/file/name" destinations in <a href="aliases.5.html">aliases(5)</a>, .forward
682files and in :include:  files, respectively.
683</p>
684
685<p>
686Example:
687</p>
688
689<pre>
690<a href="postconf.5.html#allow_mail_to_files">allow_mail_to_files</a> = alias,forward,include
691</pre>
692
693
694</DD>
695
696<DT><b><a name="allow_min_user">allow_min_user</a>
697(default: no)</b></DT><DD>
698
699<p>
700Allow a sender or recipient address to have `-' as the first
701character.  By
702default, this is not allowed, to avoid accidents with software that
703passes email addresses via the command line. Such software
704would not be able to distinguish a malicious address from a
705bona fide command-line option. Although this can be prevented by
706inserting a "--" option terminator into the command line, this is
707difficult to enforce consistently and globally.  </p>
708
709<p> As of Postfix version 2.5, this feature is implemented by
710<a href="trivial-rewrite.8.html">trivial-rewrite(8)</a>.  With earlier versions this feature was implemented
711by <a href="qmgr.8.html">qmgr(8)</a> and was limited to recipient addresses only. </p>
712
713
714</DD>
715
716<DT><b><a name="allow_percent_hack">allow_percent_hack</a>
717(default: yes)</b></DT><DD>
718
719<p>
720Enable the rewriting of the form "user%domain" to "user@domain".
721This is enabled by default.
722</p>
723
724<p> Note: as of Postfix version 2.2, message header address rewriting
725happens only when one of the following conditions is true: </p>
726
727<ul>
728
729<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
730
731<li> The message is received from a network client that matches
732$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
733
734<li> The message is received from the network, and the
735<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
736
737</ul>
738
739<p> To get the behavior before Postfix version 2.2, specify
740"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
741
742<p>
743Example:
744</p>
745
746<pre>
747<a href="postconf.5.html#allow_percent_hack">allow_percent_hack</a> = no
748</pre>
749
750
751</DD>
752
753<DT><b><a name="allow_untrusted_routing">allow_untrusted_routing</a>
754(default: no)</b></DT><DD>
755
756<p>
757Forward mail with sender-specified routing (user[@%!]remote[@%!]site)
758from untrusted clients to destinations matching $<a href="postconf.5.html#relay_domains">relay_domains</a>.
759</p>
760
761<p>
762By default, this feature is turned off.  This closes a nasty open
763relay loophole where a backup MX host can be tricked into forwarding
764junk mail to a primary MX host which then spams it out to the world.
765</p>
766
767<p>
768This parameter also controls if non-local addresses with sender-specified
769routing can match Postfix access tables. By default, such addresses
770cannot match Postfix access tables, because the address is ambiguous.
771</p>
772
773
774</DD>
775
776<DT><b><a name="alternate_config_directories">alternate_config_directories</a>
777(default: empty)</b></DT><DD>
778
779<p>
780A list of non-default Postfix configuration directories that may
781be specified with "-c <a href="postconf.5.html#config_directory">config_directory</a>" on the command line, or
782via the MAIL_CONFIG environment parameter.
783</p>
784
785<p>
786This list must be specified in the default Postfix configuration
787directory, and is used by set-gid Postfix commands such as <a href="postqueue.1.html">postqueue(1)</a>
788and <a href="postdrop.1.html">postdrop(1)</a>.
789</p>
790
791
792</DD>
793
794<DT><b><a name="always_add_missing_headers">always_add_missing_headers</a>
795(default: no)</b></DT><DD>
796
797<p> Always add (Resent-) From:, To:, Date: or Message-ID: headers
798when not present.  Postfix 2.6 and later add these headers only
799when clients match the <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter
800setting.  Earlier Postfix versions always add these headers; this
801may break DKIM signatures that cover non-existent headers.
802The <a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> parameter setting determines
803whether a To: header will be added. </p>
804
805
806</DD>
807
808<DT><b><a name="always_bcc">always_bcc</a>
809(default: empty)</b></DT><DD>
810
811<p>
812Optional address that receives a "blind carbon copy" of each message
813that is received by the Postfix mail system.
814</p>
815
816<p>
817Note: with Postfix 2.3 and later the BCC address is added as if it
818was specified with NOTIFY=NONE. The sender will not be notified
819when the BCC address is undeliverable, as long as all down-stream
820software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
821</p>
822
823<p>
824Note: with Postfix 2.2 and earlier the sender will be notified
825when the BCC address is undeliverable.
826</p>
827
828<p> Note: automatic BCC recipients are produced only for new mail.
829To avoid mailer loops, automatic BCC recipients are not generated
830after Postfix forwards mail internally, or after Postfix generates
831mail itself. </p>
832
833
834</DD>
835
836<DT><b><a name="anvil_rate_time_unit">anvil_rate_time_unit</a>
837(default: 60s)</b></DT><DD>
838
839<p>
840The time unit over which client connection rates and other rates
841are calculated.
842</p>
843
844<p>
845This feature is implemented by the <a href="anvil.8.html">anvil(8)</a> service which is available
846in Postfix version 2.2 and later.
847</p>
848
849<p>
850The default interval is relatively short. Because of the high
851frequency of updates, the <a href="anvil.8.html">anvil(8)</a> server uses volatile memory
852only. Thus, information is lost whenever the process terminates.
853</p>
854
855<p>
856Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
857The default time unit is s (seconds).
858</p>
859
860
861</DD>
862
863<DT><b><a name="anvil_status_update_time">anvil_status_update_time</a>
864(default: 600s)</b></DT><DD>
865
866<p>
867How frequently the <a href="anvil.8.html">anvil(8)</a> connection and rate limiting server
868logs peak usage information.
869</p>
870
871<p>
872This feature is available in Postfix 2.2 and later.
873</p>
874
875<p>
876Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
877The default time unit is s (seconds).
878</p>
879
880
881</DD>
882
883<DT><b><a name="append_at_myorigin">append_at_myorigin</a>
884(default: yes)</b></DT><DD>
885
886<p>
887With locally submitted mail, append the string "@$<a href="postconf.5.html#myorigin">myorigin</a>" to mail
888addresses without domain information. With remotely submitted mail,
889append the string "@$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>" instead.
890</p>
891
892<p>
893Note 1: this feature is enabled by default and must not be turned off.
894Postfix does not support domain-less addresses.
895</p>
896
897<p> Note 2: with Postfix version 2.2, message header address rewriting
898happens only when one of the following conditions is true: </p>
899
900<ul>
901
902<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
903
904<li> The message is received from a network client that matches
905$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
906
907<li> The message is received from the network, and the
908<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
909
910</ul>
911
912<p> To get the behavior before Postfix version 2.2, specify
913"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
914
915
916</DD>
917
918<DT><b><a name="append_dot_mydomain">append_dot_mydomain</a>
919(default: Postfix &ge; 3.0: no, Postfix &lt; 3.0: yes)</b></DT><DD>
920
921<p>
922With locally submitted mail, append the string ".$<a href="postconf.5.html#mydomain">mydomain</a>" to
923addresses that have no ".domain" information. With remotely submitted
924mail, append the string ".$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>"
925instead.
926</p>
927
928<p>
929Note 1: this feature is enabled by default. If disabled, users will not be
930able to send mail to "user@partialdomainname" but will have to
931specify full domain names instead.
932</p>
933
934<p> Note 2: with Postfix version 2.2, message header address rewriting
935happens only when one of the following conditions is true: </p>
936
937<ul>
938
939<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
940
941<li> The message is received from a network client that matches
942$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
943
944<li> The message is received from the network, and the
945<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
946
947</ul>
948
949<p> To get the behavior before Postfix version 2.2, specify
950"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
951
952
953</DD>
954
955<DT><b><a name="application_event_drain_time">application_event_drain_time</a>
956(default: 100s)</b></DT><DD>
957
958<p>
959How long the <a href="postkick.1.html">postkick(1)</a> command waits for a request to enter the
960Postfix daemon process input buffer before giving up.
961</p>
962
963<p>
964Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
965The default time unit is s (seconds).
966</p>
967
968<p>
969This feature is available in Postfix 2.1 and later.
970</p>
971
972
973</DD>
974
975<DT><b><a name="authorized_flush_users">authorized_flush_users</a>
976(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
977
978<p>
979List of users who are authorized to flush the queue.
980</p>
981
982<p>
983By default, all users are allowed to flush the queue.  Access is
984always granted if the invoking user is the super-user or the
985$<a href="postconf.5.html#mail_owner">mail_owner</a> user.  Otherwise, the real UID of the process is looked
986up in the system password file, and access is granted only if the
987corresponding login name is on the access list.  The username
988"unknown" is used for processes whose real UID is not found in the
989password file.  </p>
990
991<p>
992Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
993separated by commas and/or whitespace. The list is matched left to
994right, and the search stops on the first match. A "/file/name"
995pattern is replaced
996by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
997matches a lookup key (the lookup result is ignored).  Continue long
998lines by starting the next line with whitespace. Specify "!pattern"
999to exclude a name from the list. The form "!/file/name" is supported
1000only in Postfix version 2.4 and later.  </p>
1001
1002<p>
1003This feature is available in Postfix 2.2 and later.
1004</p>
1005
1006
1007</DD>
1008
1009<DT><b><a name="authorized_mailq_users">authorized_mailq_users</a>
1010(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
1011
1012<p>
1013List of users who are authorized to view the queue.
1014</p>
1015
1016<p>
1017By default, all users are allowed to view the queue.  Access is
1018always granted if the invoking user is the super-user or the
1019$<a href="postconf.5.html#mail_owner">mail_owner</a> user.  Otherwise, the real UID of the process is looked
1020up in the system password file, and access is granted only if the
1021corresponding login name is on the access list.  The username
1022"unknown" is used for processes whose real UID is not found in the
1023password file.  </p>
1024
1025<p>
1026Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
1027separated by commas and/or whitespace. The list is matched left to
1028right, and the search stops on the first match. A "/file/name"
1029pattern is replaced
1030by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
1031matches a lookup key (the lookup result is ignored).  Continue long
1032lines by starting the next line with whitespace. Specify "!pattern"
1033to exclude a user name from the list. The form "!/file/name" is
1034supported only in Postfix version 2.4 and later.  </p>
1035
1036<p>
1037This feature is available in Postfix 2.2 and later.
1038</p>
1039
1040
1041</DD>
1042
1043<DT><b><a name="authorized_submit_users">authorized_submit_users</a>
1044(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
1045
1046<p>
1047List of users who are authorized to submit mail with the <a href="sendmail.1.html">sendmail(1)</a>
1048command (and with the privileged <a href="postdrop.1.html">postdrop(1)</a> helper command).
1049</p>
1050
1051<p>
1052By default, all users are allowed to submit mail.  Otherwise, the
1053real UID of the process is looked up in the system password file,
1054and access is granted only if the corresponding login name is on
1055the access list.  The username "unknown" is used for processes
1056whose real UID is not found in the password file. To deny mail
1057submission access to all users specify an empty list.  </p>
1058
1059<p>
1060Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
1061separated by commas and/or whitespace. The list is matched left to right,
1062and the search stops on the first match. A "/file/name" pattern is
1063replaced by its contents;
1064a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup key
1065(the lookup result is ignored).  Continue long lines by starting the
1066next line with whitespace. Specify "!pattern" to exclude a user
1067name from the list. The form "!/file/name" is supported only in
1068Postfix version 2.4 and later.  </p>
1069
1070<p>
1071Example:
1072</p>
1073
1074<pre>
1075<a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> = !www, <a href="DATABASE_README.html#types">static</a>:all
1076</pre>
1077
1078<p>
1079This feature is available in Postfix 2.2 and later.
1080</p>
1081
1082
1083</DD>
1084
1085<DT><b><a name="authorized_verp_clients">authorized_verp_clients</a>
1086(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
1087
1088<p> What remote SMTP clients are allowed to specify the XVERP command.
1089This command requests that mail be delivered one recipient at a
1090time with a per recipient return address.  </p>
1091
1092<p> By default, only trusted clients are allowed to specify XVERP.
1093</p>
1094
1095<p> This parameter was introduced with Postfix version 1.1.  Postfix
1096version 2.1 renamed this parameter to <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
1097and changed the default to none. </p>
1098
1099<p> Specify a list of network/netmask patterns, separated by commas
1100and/or whitespace. The mask specifies the number of bits in the
1101network part of a host address. You can also specify hostnames or
1102.domain names (the initial dot causes the domain to match any name
1103below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
1104pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
1105is matched when a table entry matches a lookup string (the lookup
1106result is ignored).  Continue long lines by starting the next line
1107with whitespace. Specify "!pattern" to exclude an address or network
1108block from the list. The form "!/file/name" is supported only in
1109Postfix version 2.4 and later. </p>
1110
1111<p> Note: IP version 6 address information must be specified inside
1112<tt>[]</tt> in the <a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a> value, and in files
1113specified with "/file/name".  IP version 6 addresses contain the
1114":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
1115pattern.  </p>
1116
1117
1118</DD>
1119
1120<DT><b><a name="backwards_bounce_logfile_compatibility">backwards_bounce_logfile_compatibility</a>
1121(default: yes)</b></DT><DD>
1122
1123<p>
1124Produce additional <a href="bounce.8.html">bounce(8)</a> logfile records that can be read by
1125Postfix versions before 2.0. The current and more extensible "name =
1126value" format is needed in order to implement more sophisticated
1127functionality.
1128</p>
1129
1130<p>
1131This feature is available in Postfix 2.1 and later.
1132</p>
1133
1134
1135</DD>
1136
1137<DT><b><a name="berkeley_db_create_buffer_size">berkeley_db_create_buffer_size</a>
1138(default: 16777216)</b></DT><DD>
1139
1140<p>
1141The per-table I/O buffer size for programs that create Berkeley DB
1142hash or btree tables.  Specify a byte count.
1143</p>
1144
1145<p>
1146This feature is available in Postfix 2.0 and later.
1147</p>
1148
1149
1150</DD>
1151
1152<DT><b><a name="berkeley_db_read_buffer_size">berkeley_db_read_buffer_size</a>
1153(default: 131072)</b></DT><DD>
1154
1155<p>
1156The per-table I/O buffer size for programs that read Berkeley DB
1157hash or btree tables.  Specify a byte count.
1158</p>
1159
1160<p>
1161This feature is available in Postfix 2.0 and later.
1162</p>
1163
1164
1165</DD>
1166
1167<DT><b><a name="best_mx_transport">best_mx_transport</a>
1168(default: empty)</b></DT><DD>
1169
1170<p>
1171Where the Postfix SMTP client should deliver mail when it detects
1172a "mail loops back to myself" error condition. This happens when
1173the local MTA is the best SMTP mail exchanger for a destination
1174not 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>,
1175$<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,
1176the Postfix SMTP client returns such mail as undeliverable.
1177</p>
1178
1179<p>
1180Specify, for example, "<a href="postconf.5.html#best_mx_transport">best_mx_transport</a> = local" to pass the mail
1181from the Postfix SMTP client to the <a href="local.8.html">local(8)</a> delivery agent. You
1182can specify
1183any message delivery "transport" or "transport:nexthop" that is
1184defined in the <a href="master.5.html">master.cf</a> file. See the <a href="transport.5.html">transport(5)</a> manual page
1185for the syntax and meaning of "transport" or "transport:nexthop".
1186</p>
1187
1188<p>
1189However, this feature is expensive because it ties up a Postfix
1190SMTP client process while the <a href="local.8.html">local(8)</a> delivery agent is doing its
1191work. It is more efficient (for Postfix) to list all <a href="VIRTUAL_README.html#canonical">hosted domains</a>
1192in a table or database.
1193</p>
1194
1195
1196</DD>
1197
1198<DT><b><a name="biff">biff</a>
1199(default: yes)</b></DT><DD>
1200
1201<p>
1202Whether or not to use the local <a href="postconf.5.html#biff">biff</a> service.  This service sends
1203"new mail" notifications to users who have requested new mail
1204notification with the UNIX command "<a href="postconf.5.html#biff">biff</a> y".
1205</p>
1206
1207<p>
1208For compatibility reasons this feature is on by default.  On systems
1209with lots of interactive users, the <a href="postconf.5.html#biff">biff</a> service can be a performance
1210drain.  Specify "<a href="postconf.5.html#biff">biff</a> = no" in <a href="postconf.5.html">main.cf</a> to disable.
1211</p>
1212
1213
1214</DD>
1215
1216<DT><b><a name="body_checks">body_checks</a>
1217(default: empty)</b></DT><DD>
1218
1219<p> Optional lookup tables for content inspection as specified in
1220the <a href="header_checks.5.html">body_checks(5)</a> manual page.  </p>
1221
1222<p> Note: with Postfix versions before 2.0, these rules inspect
1223all content after the primary message headers. </p>
1224
1225
1226</DD>
1227
1228<DT><b><a name="body_checks_size_limit">body_checks_size_limit</a>
1229(default: 51200)</b></DT><DD>
1230
1231<p>
1232How much text in a message body segment (or attachment, if you
1233prefer to use that term) is subjected to <a href="postconf.5.html#body_checks">body_checks</a> inspection.
1234The amount of text is limited to avoid scanning huge attachments.
1235</p>
1236
1237<p>
1238This feature is available in Postfix 2.0 and later.
1239</p>
1240
1241
1242</DD>
1243
1244<DT><b><a name="bounce_notice_recipient">bounce_notice_recipient</a>
1245(default: postmaster)</b></DT><DD>
1246
1247<p>
1248The recipient of postmaster notifications with the message headers
1249of mail that Postfix did not deliver and of SMTP conversation
1250transcripts of mail that Postfix did not receive.  This feature is
1251enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter.  </p>
1252
1253
1254</DD>
1255
1256<DT><b><a name="bounce_queue_lifetime">bounce_queue_lifetime</a>
1257(default: 5d)</b></DT><DD>
1258
1259<p>
1260Consider a bounce message as undeliverable, when delivery fails
1261with a temporary error, and the time in the queue has reached the
1262<a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> limit.  By default, this limit is the same
1263as for regular mail.
1264</p>
1265
1266<p>
1267Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
1268The default time unit is d (days).
1269</p>
1270
1271<p>
1272Specify 0 when mail delivery should be tried only once.
1273</p>
1274
1275<p>
1276This feature is available in Postfix 2.1 and later.
1277</p>
1278
1279
1280</DD>
1281
1282<DT><b><a name="bounce_service_name">bounce_service_name</a>
1283(default: bounce)</b></DT><DD>
1284
1285<p>
1286The name of the <a href="bounce.8.html">bounce(8)</a> service. This service maintains a record
1287of failed delivery attempts and generates non-delivery notifications.
1288</p>
1289
1290<p>
1291This feature is available in Postfix 2.0 and later.
1292</p>
1293
1294
1295</DD>
1296
1297<DT><b><a name="bounce_size_limit">bounce_size_limit</a>
1298(default: 50000)</b></DT><DD>
1299
1300<p> The maximal amount of original message text that is sent in a
1301non-delivery notification. Specify a byte count.  A message is
1302returned as either message/rfc822 (the complete original) or as
1303text/rfc822-headers (the headers only).  With Postfix version 2.4
1304and earlier, a message is always returned as message/rfc822 and is
1305truncated when it exceeds the size limit.
1306</p>
1307
1308<p> Notes: </p>
1309
1310<ul>
1311
1312<li> <p> If you increase this limit, then you should increase the
1313<a href="postconf.5.html#mime_nesting_limit">mime_nesting_limit</a> value proportionally.  </p>
1314
1315<li> <p> Be careful when making changes.  Excessively large values
1316will result in the loss of non-delivery notifications, when a bounce
1317message size exceeds a local or remote MTA's message size limit.
1318</p>
1319
1320</ul>
1321
1322
1323</DD>
1324
1325<DT><b><a name="bounce_template_file">bounce_template_file</a>
1326(default: empty)</b></DT><DD>
1327
1328<p> Pathname of a configuration file with bounce message templates.
1329These override the built-in templates of delivery status notification
1330(DSN) messages for undeliverable mail, for delayed mail, successful
1331delivery, or delivery verification. The <a href="bounce.5.html">bounce(5)</a> manual page
1332describes how to edit and test template files.  </p>
1333
1334<p> Template message body text may contain $name references to
1335Postfix configuration parameters. The result of $name expansion can
1336be previewed with "<b>postconf -b <i>file_name</i></b>" before the file
1337is placed into the Postfix configuration directory.  </p>
1338
1339<p> This feature is available in Postfix 2.3 and later.  </p>
1340
1341
1342</DD>
1343
1344<DT><b><a name="broken_sasl_auth_clients">broken_sasl_auth_clients</a>
1345(default: no)</b></DT><DD>
1346
1347<p>
1348Enable interoperability with remote SMTP clients that implement an obsolete
1349version of the AUTH command (<a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a>). Examples of such clients
1350are MicroSoft Outlook Express version 4 and MicroSoft Exchange
1351version 5.0.
1352</p>
1353
1354<p>
1355Specify "<a href="postconf.5.html#broken_sasl_auth_clients">broken_sasl_auth_clients</a> = yes" to have Postfix advertise
1356AUTH support in a non-standard way.
1357</p>
1358
1359
1360</DD>
1361
1362<DT><b><a name="canonical_classes">canonical_classes</a>
1363(default: envelope_sender, envelope_recipient, header_sender, header_recipient)</b></DT><DD>
1364
1365<p> What addresses are subject to <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping.
1366By default, <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping is applied to envelope
1367sender and recipient addresses, and to header sender and header
1368recipient addresses.  </p>
1369
1370<p> Specify one or more of: envelope_sender, envelope_recipient,
1371header_sender, header_recipient </p>
1372
1373<p> This feature is available in Postfix 2.2 and later. </p>
1374
1375
1376</DD>
1377
1378<DT><b><a name="canonical_maps">canonical_maps</a>
1379(default: empty)</b></DT><DD>
1380
1381<p>
1382Optional address mapping lookup tables for message headers and
1383envelopes. The mapping is applied to both sender and recipient
1384addresses, in both envelopes and in headers, as controlled
1385with the <a href="postconf.5.html#canonical_classes">canonical_classes</a> parameter. This is typically used
1386to clean up dirty addresses from legacy mail systems, or to replace
1387login names by Firstname.Lastname.  The table format and lookups
1388are documented in <a href="canonical.5.html">canonical(5)</a>. For an overview of Postfix address
1389manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
1390</p>
1391
1392<p>
1393Specify zero or more "type:name" lookup tables, separated by
1394whitespace or comma. Tables will be searched in the specified order
1395until a match is found.
1396Note: these lookups are recursive.
1397</p>
1398
1399<p>
1400If you use this feature, run "<b>postmap /etc/postfix/canonical</b>" to
1401build the necessary DBM or DB file after every change. The changes
1402will become visible after a minute or so.  Use "<b>postfix reload</b>"
1403to eliminate the delay.
1404</p>
1405
1406<p> Note: with Postfix version 2.2, message header address mapping
1407happens only when message header address rewriting is enabled: </p>
1408
1409<ul>
1410
1411<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
1412
1413<li> The message is received from a network client that matches
1414$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
1415
1416<li> The message is received from the network, and the
1417<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
1418
1419</ul>
1420
1421<p> To get the behavior before Postfix version 2.2, specify
1422"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
1423
1424<p>
1425Examples:
1426</p>
1427
1428<pre>
1429<a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/canonical
1430<a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/canonical
1431</pre>
1432
1433
1434</DD>
1435
1436<DT><b><a name="cleanup_service_name">cleanup_service_name</a>
1437(default: cleanup)</b></DT><DD>
1438
1439<p>
1440The name of the <a href="cleanup.8.html">cleanup(8)</a> service. This service rewrites addresses
1441into the standard form, and performs <a href="canonical.5.html">canonical(5)</a> address mapping
1442and <a href="virtual.5.html">virtual(5)</a> aliasing.
1443</p>
1444
1445<p>
1446This feature is available in Postfix 2.0 and later.
1447</p>
1448
1449
1450</DD>
1451
1452<DT><b><a name="command_directory">command_directory</a>
1453(default: see "postconf -d" output)</b></DT><DD>
1454
1455<p>
1456The location of all postfix administrative commands.
1457</p>
1458
1459
1460</DD>
1461
1462<DT><b><a name="command_execution_directory">command_execution_directory</a>
1463(default: empty)</b></DT><DD>
1464
1465<p> The <a href="local.8.html">local(8)</a> delivery agent working directory for delivery to
1466external command.  Failure to change directory causes the delivery
1467to be deferred. </p>
1468
1469<p> The following $name expansions are done on <a href="postconf.5.html#command_execution_directory">command_execution_directory</a>
1470before the directory is changed. Expansion happens in the context
1471of the delivery request.  The result of $name expansion is filtered
1472with the character set that is specified with the
1473<a href="postconf.5.html#execution_directory_expansion_filter">execution_directory_expansion_filter</a> parameter.  </p>
1474
1475<dl>
1476
1477<dt><b>$user</b></dt>
1478
1479<dd>The recipient's username. </dd>
1480
1481<dt><b>$shell</b></dt>
1482
1483<dd>The recipient's login shell pathname. </dd>
1484
1485<dt><b>$home</b></dt>
1486
1487<dd>The recipient's home directory. </dd>
1488
1489<dt><b>$recipient</b></dt>
1490
1491<dd>The full recipient address. </dd>
1492
1493<dt><b>$extension</b></dt>
1494
1495<dd>The optional recipient address extension. </dd>
1496
1497<dt><b>$domain</b></dt>
1498
1499<dd>The recipient domain. </dd>
1500
1501<dt><b>$local</b></dt>
1502
1503<dd>The entire recipient localpart. </dd>
1504
1505<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
1506
1507<dd>The address extension delimiter that was found in the recipient
1508address (Postfix 2.11 and later), or the system-wide recipient
1509address extension delimiter (Postfix 2.10 and earlier). </dd>
1510
1511<dt><b>${name?value}</b></dt>
1512
1513<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
1514
1515<dt><b>${name:value}</b></dt>
1516
1517<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
1518
1519</dl>
1520
1521<p>
1522Instead of $name you can also specify ${name} or $(name).
1523</p>
1524
1525<p> This feature is available in Postfix 2.2 and later. </p>
1526
1527
1528</DD>
1529
1530<DT><b><a name="command_expansion_filter">command_expansion_filter</a>
1531(default: see "postconf -d" output)</b></DT><DD>
1532
1533<p>
1534Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
1535$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>.
1536Characters outside the
1537allowed set are replaced by underscores.
1538</p>
1539
1540
1541</DD>
1542
1543<DT><b><a name="command_time_limit">command_time_limit</a>
1544(default: 1000s)</b></DT><DD>
1545
1546<p>
1547Time limit for delivery to external commands. This limit is used
1548by the <a href="local.8.html">local(8)</a> delivery agent, and is the default time limit for
1549delivery by the <a href="pipe.8.html">pipe(8)</a> delivery agent.
1550</p>
1551
1552<p>
1553Note: if you set this time limit to a large value you must update the
1554global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter as well.
1555</p>
1556
1557
1558</DD>
1559
1560<DT><b><a name="compatibility_level">compatibility_level</a>
1561(default: 0)</b></DT><DD>
1562
1563<p> A safety net that causes Postfix to run with backwards-compatible
1564default settings after an upgrade to a newer Postfix version. </p>
1565
1566<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>
1567value is less than the Postfix built-in value), Postfix looks for
1568settings that are left at their implicit default value, and logs a
1569message when a backwards-compatible default setting is required.
1570</p>
1571
1572<blockquote>
1573<pre>
1574using backwards-compatible default setting <i>name=value</i>
1575    to [accept a specific client request]
1576
1577using backwards-compatible default setting <i>name=value</i>
1578    to [enable specific Postfix behavior]
1579</pre>
1580</blockquote>
1581
1582<p> See <a href="COMPATIBILITY_README.html">COMPATIBILITY_README</a> for specific message details. If such
1583a message is logged in the context of a legitimate request, the
1584system administrator should make the backwards-compatible setting
1585permanent in <a href="postconf.5.html">main.cf</a> or <a href="master.5.html">master.cf</a>, for example: </p>
1586
1587<blockquote>
1588<pre>
1589# <b>postconf</b> <i>name=value</i>
1590# <b>postfix reload</b>
1591</pre>
1592</blockquote>
1593
1594<p> When no more backwards-compatible settings need to be made
1595permanent, the administrator should turn off backwards compatibility
1596by updating the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting in <a href="postconf.5.html">main.cf</a>:</p>
1597
1598<blockquote>
1599<pre>
1600# <b>postconf <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i></b>
1601# <b>postfix reload</b>
1602</pre>
1603</blockquote>
1604
1605<p> For <i>N</i> specify the number that is logged in your <a href="postfix.1.html">postfix(1)</a>
1606warning message: </p>
1607
1608<blockquote>
1609<pre>
1610warning: To disable backwards compatibility use "postconf
1611    <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i>" and "postfix reload"
1612</pre>
1613</blockquote>
1614
1615<p> This feature is available in Postfix 3.0 and later. </p>
1616
1617
1618</DD>
1619
1620<DT><b><a name="config_directory">config_directory</a>
1621(default: see "postconf -d" output)</b></DT><DD>
1622
1623<p> The default location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a>
1624configuration files. This can be overruled via the following
1625mechanisms: </p>
1626
1627<ul>
1628
1629<li> <p> The MAIL_CONFIG environment variable (daemon processes
1630and commands). </p>
1631
1632<li> <p> The "-c" command-line option (commands only). </p>
1633
1634</ul>
1635
1636<p> With Postfix command that run with set-gid privileges, a
1637<a href="postconf.5.html#config_directory">config_directory</a> override requires either root privileges, or it
1638requires that the directory is listed with the <a href="postconf.5.html#alternate_config_directories">alternate_config_directories</a>
1639parameter in the default <a href="postconf.5.html">main.cf</a> file.  </p>
1640
1641
1642</DD>
1643
1644<DT><b><a name="confirm_delay_cleared">confirm_delay_cleared</a>
1645(default: no)</b></DT><DD>
1646
1647<p> After sending a "your message is delayed" notification, inform
1648the sender when the delay clears up. This can result in a sudden
1649burst of notifications at the end of a prolonged network outage,
1650and is therefore disabled by default. </p>
1651
1652<p> See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>. </p>
1653
1654<p> This feature is available in Postfix 3.0 and later. </p>
1655
1656
1657</DD>
1658
1659<DT><b><a name="connection_cache_protocol_timeout">connection_cache_protocol_timeout</a>
1660(default: 5s)</b></DT><DD>
1661
1662<p> Time limit for connection cache connect, send or receive
1663operations.  The time limit is enforced in the client. </p>
1664
1665<p> This feature is available in Postfix 2.3 and later. </p>
1666
1667
1668</DD>
1669
1670<DT><b><a name="connection_cache_service_name">connection_cache_service_name</a>
1671(default: scache)</b></DT><DD>
1672
1673<p> The name of the <a href="scache.8.html">scache(8)</a> connection cache service.  This service
1674maintains a limited pool of cached sessions.  </p>
1675
1676<p> This feature is available in Postfix 2.2 and later. </p>
1677
1678
1679</DD>
1680
1681<DT><b><a name="connection_cache_status_update_time">connection_cache_status_update_time</a>
1682(default: 600s)</b></DT><DD>
1683
1684<p> How frequently the <a href="scache.8.html">scache(8)</a> server logs usage statistics with
1685connection cache hit and miss rates for logical destinations and for
1686physical endpoints. </p>
1687
1688
1689</DD>
1690
1691<DT><b><a name="connection_cache_ttl_limit">connection_cache_ttl_limit</a>
1692(default: 2s)</b></DT><DD>
1693
1694<p> The maximal time-to-live value that the <a href="scache.8.html">scache(8)</a> connection
1695cache server
1696allows. Requests that specify a larger TTL will be stored with the
1697maximum allowed TTL. The purpose of this additional control is to
1698protect the infrastructure against careless people. The cache TTL
1699is already bounded by $<a href="postconf.5.html#max_idle">max_idle</a>.  </p>
1700
1701
1702</DD>
1703
1704<DT><b><a name="content_filter">content_filter</a>
1705(default: empty)</b></DT><DD>
1706
1707<p> After the message is queued, send the entire message to the
1708specified <i>transport:destination</i>. The <i>transport</i> name
1709specifies the first field of a mail delivery agent definition in
1710<a href="master.5.html">master.cf</a>; the syntax of the next-hop <i>destination</i> is described
1711in the manual page of the corresponding delivery agent.  More
1712information about external content filters is in the Postfix
1713<a href="FILTER_README.html">FILTER_README</a> file.  </p>
1714
1715<p> Notes: </p>
1716
1717<ul>
1718
1719<li> <p> This setting has lower precedence than a FILTER action
1720that 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>
1721table. </p>
1722
1723<li> <p> The meaning of an empty next-hop filter <i>destination</i>
1724is version dependent.  Postfix 2.7 and later will use the recipient
1725domain; earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>.  Specify
1726"<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility with Postfix
17272.6 or earlier, or specify a <a href="postconf.5.html#content_filter">content_filter</a> value with an explicit
1728next-hop <i>destination</i>.  </p>
1729
1730</ul>
1731
1732
1733</DD>
1734
1735<DT><b><a name="cyrus_sasl_config_path">cyrus_sasl_config_path</a>
1736(default: empty)</b></DT><DD>
1737
1738<p> Search path for Cyrus SASL application configuration files,
1739currently used only to locate the $<a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.conf file.
1740Specify zero or more directories separated by a colon character,
1741or an empty value to use Cyrus SASL's built-in search path.  </p>
1742
1743<p> This feature is available in Postfix 2.5 and later when compiled
1744with Cyrus SASL 2.1.22 or later. </p>
1745
1746
1747</DD>
1748
1749<DT><b><a name="daemon_directory">daemon_directory</a>
1750(default: see "postconf -d" output)</b></DT><DD>
1751
1752<p>
1753The directory with Postfix support programs and daemon programs.
1754These should not be invoked directly by humans. The directory must
1755be owned by root.
1756</p>
1757
1758
1759</DD>
1760
1761<DT><b><a name="daemon_table_open_error_is_fatal">daemon_table_open_error_is_fatal</a>
1762(default: no)</b></DT><DD>
1763
1764<p> How a Postfix daemon process handles errors while opening lookup
1765tables: gradual degradation or immediate termination. </p>
1766
1767<dl>
1768
1769<dt> <b> no </b> (default) </dt> <dd> <p> Gradual degradation: a
1770daemon process logs a message of type "error" and continues execution
1771with reduced functionality. Features that do not depend on the
1772unavailable table will work normally, while features that depend
1773on the table will result in a type "warning" message.  <br> When
1774the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter value contains the "data" class, the
1775Postfix SMTP server and client will report transcripts of sessions
1776with an error because a table is unavailable.  </p> </dd>
1777
1778<dt> <b> yes </b> (historical behavior) </dt> <dd> <p> Immediate
1779termination: a daemon process logs a type "fatal" message and
1780terminates immediately.  This option reduces the number of possible
1781code paths through Postfix, and may therefore be slightly more
1782secure than the default.  </p> </dd>
1783
1784</dl>
1785
1786<p> For the sake of sanity, the number of type "error" messages is
1787limited to 13 over the lifetime of a daemon process. </p>
1788
1789<p> This feature is available in Postfix 2.9 and later.  </p>
1790
1791
1792</DD>
1793
1794<DT><b><a name="daemon_timeout">daemon_timeout</a>
1795(default: 18000s)</b></DT><DD>
1796
1797<p> How much time a Postfix daemon process may take to handle a
1798request before it is terminated by a built-in watchdog timer.  </p>
1799
1800<p>
1801Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
1802The default time unit is s (seconds).
1803</p>
1804
1805
1806</DD>
1807
1808<DT><b><a name="data_directory">data_directory</a>
1809(default: see "postconf -d" output)</b></DT><DD>
1810
1811<p> The directory with Postfix-writable data files (for example:
1812caches, pseudo-random numbers).  This directory must be owned by
1813the <a href="postconf.5.html#mail_owner">mail_owner</a> account, and must not be shared with non-Postfix
1814software.  </p>
1815
1816<p> This feature is available in Postfix 2.5 and later. </p>
1817
1818
1819</DD>
1820
1821<DT><b><a name="debug_peer_level">debug_peer_level</a>
1822(default: 2)</b></DT><DD>
1823
1824<p> The increment in verbose logging level when a remote client or
1825server matches a pattern in the <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter.  </p>
1826
1827
1828</DD>
1829
1830<DT><b><a name="debug_peer_list">debug_peer_list</a>
1831(default: empty)</b></DT><DD>
1832
1833<p> Optional list of remote client or server hostname or network
1834address patterns that cause the verbose logging level to increase
1835by the amount specified in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>.  </p>
1836
1837<p> Specify domain names, network/netmask patterns, "/file/name"
1838patterns or "<a href="DATABASE_README.html">type:table</a>" lookup tables. The right-hand side result
1839from "<a href="DATABASE_README.html">type:table</a>" lookups is ignored.  </p>
1840
1841<p> Pattern matching of domain names is controlled by the presence
1842or 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>
1843parameter value.  </p>
1844
1845<p>
1846Examples:
1847</p>
1848
1849<pre>
1850<a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = 127.0.0.1
1851<a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = example.com
1852</pre>
1853
1854
1855</DD>
1856
1857<DT><b><a name="debugger_command">debugger_command</a>
1858(default: empty)</b></DT><DD>
1859
1860<p>
1861The external command to execute when a Postfix daemon program is
1862invoked with the -D option.
1863</p>
1864
1865<p>
1866Use "command .. &amp; sleep 5" so that the debugger can attach before
1867the process marches on. If you use an X-based debugger, be sure to
1868set up your XAUTHORITY environment variable before starting Postfix.
1869</p>
1870
1871<p>
1872Note: the command is subject to $name expansion, before it is
1873passed to the default command interpreter. Specify "$$" to
1874produce a single "$" character.
1875</p>
1876
1877<p>
1878Example:
1879</p>
1880
1881<pre>
1882<a href="postconf.5.html#debugger_command">debugger_command</a> =
1883    PATH=/usr/bin:/usr/X11R6/bin
1884    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> &amp; sleep 5
1885</pre>
1886
1887
1888</DD>
1889
1890<DT><b><a name="default_database_type">default_database_type</a>
1891(default: see "postconf -d" output)</b></DT><DD>
1892
1893<p>
1894The default database type for use in <a href="newaliases.1.html">newaliases(1)</a>, <a href="postalias.1.html">postalias(1)</a>
1895and <a href="postmap.1.html">postmap(1)</a> commands. On many UNIX systems the default type is
1896either <b>dbm</b> or <b>hash</b>. The default setting is frozen
1897when the Postfix system is built.
1898</p>
1899
1900<p>
1901Examples:
1902</p>
1903
1904<pre>
1905<a href="postconf.5.html#default_database_type">default_database_type</a> = hash
1906<a href="postconf.5.html#default_database_type">default_database_type</a> = dbm
1907</pre>
1908
1909
1910</DD>
1911
1912<DT><b><a name="default_delivery_slot_cost">default_delivery_slot_cost</a>
1913(default: 5)</b></DT><DD>
1914
1915<p>
1916How often the Postfix queue manager's scheduler is allowed to
1917preempt delivery of one message with another.
1918</p>
1919
1920<p>
1921Each transport maintains a so-called "available delivery slot counter"
1922for each message. One message can be preempted by another one when
1923the other message can be delivered using no more delivery slots
1924(i.e., invocations of delivery agents) than the current message
1925counter has accumulated (or will eventually accumulate - see about
1926slot loans below). This parameter controls how often is the counter
1927incremented - it happens after each <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
1928recipients have been delivered.
1929</p>
1930
1931<p>
1932The cost of 0 is used to disable the preempting scheduling completely.
1933The minimum value the scheduling algorithm can use is 2 - use it
1934if you want to maximize the message throughput rate. Although there
1935is no maximum, it doesn't make much sense to use values above say
193650.
1937</p>
1938
1939<p>
1940The only reason why the value of 2 is not the default is the way
1941this parameter affects the delivery of mailing-list mail. In the
1942worst case, their delivery can take somewhere between (cost+1/cost)
1943and (cost/cost-1) times more than if the preemptive scheduler was
1944disabled. The default value of 5 turns out to provide reasonable
1945message response times while making sure the mailing-list deliveries
1946are not extended by more than 20-25 percent even in the worst case.
1947</p>
1948
1949<p> Use <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> to specify a
1950transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1951name of the message delivery transport.
1952</p>
1953
1954<p>
1955Examples:
1956</p>
1957
1958<pre>
1959<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 0
1960<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 2
1961</pre>
1962
1963
1964</DD>
1965
1966<DT><b><a name="default_delivery_slot_discount">default_delivery_slot_discount</a>
1967(default: 50)</b></DT><DD>
1968
1969<p>
1970The default value for transport-specific _delivery_slot_discount
1971settings.
1972</p>
1973
1974<p>
1975This parameter speeds up the moment when a message preemption can
1976happen. Instead of waiting until the full amount of delivery slots
1977required is available, the preemption can happen when
1978transport_delivery_slot_discount percent of the required amount
1979plus transport_delivery_slot_loan still remains to be accumulated.
1980Note that the full amount will still have to be accumulated before
1981another preemption can take place later.
1982</p>
1983
1984<p> Use <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> to specify a
1985transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1986name of the message delivery transport.
1987</p>
1988
1989
1990</DD>
1991
1992<DT><b><a name="default_delivery_slot_loan">default_delivery_slot_loan</a>
1993(default: 3)</b></DT><DD>
1994
1995<p>
1996The default value for transport-specific _delivery_slot_loan
1997settings.
1998</p>
1999
2000<p>
2001This parameter speeds up the moment when a message preemption can
2002happen. Instead of waiting until the full amount of delivery slots
2003required is available, the preemption can happen when
2004transport_delivery_slot_discount percent of the required amount
2005plus transport_delivery_slot_loan still remains to be accumulated.
2006Note that the full amount will still have to be accumulated before
2007another preemption can take place later.
2008</p>
2009
2010<p> Use <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> to specify a
2011transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2012name of the message delivery transport.
2013</p>
2014
2015
2016</DD>
2017
2018<DT><b><a name="default_delivery_status_filter">default_delivery_status_filter</a>
2019(default: empty)</b></DT><DD>
2020
2021<p> Optional filter to replace the delivery status code or explanatory
2022text of successful or unsuccessful deliveries.  This does not allow
2023the replacement of a successful status code (2.X.X) with an
2024unsuccessful status code (4.X.X or 5.X.X) or vice versa.  </p>
2025
2026<p> The following parameters can be used to implement a filter for
2027specific delivery agents: <a href="postconf.5.html#lmtp_delivery_status_filter">lmtp_delivery_status_filter</a>,
2028<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>,
2029<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
2030parameters support the same filter syntax as described here. </p>
2031
2032<p> Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup table names, separated
2033by comma or whitespace. For each successful or unsuccessful delivery
2034to a recipient, the tables are queried in the specified order with
2035one line of text that is structured as follows: </p>
2036
2037<blockquote>
2038enhanced-status-code SPACE explanatory-text
2039</blockquote>
2040
2041<p> The first table match wins. The lookup result must have the
2042same structure as the query, a successful status code (2.X.X) must
2043be replaced with a successful status code, an unsuccessful status
2044code (4.X.X or 5.X.X) must be replaced with an unsuccessful status
2045code, and the explanatory text field must be non-empty. Other results
2046will result in a warning.  </p>
2047
2048<p> Example 1: convert specific soft TLS errors into hard errors,
2049by overriding the first number in the enhanced status code.  </p>
2050
2051<blockquote>
2052<pre>
2053/etc/postfix/<a href="postconf.5.html">main.cf</a>:
2054    <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
2055</pre>
2056</blockquote>
2057
2058<blockquote>
2059<pre>
2060/etc/postfix/smtp_dsn_filter:
2061    /^4(\.\d+\.\d+ TLS is required, but host \S+ refused to start TLS: .+)/
2062        5$1
2063    /^4(\.\d+\.\d+ TLS is required, but was not offered by host .+)/
2064        5$1
2065    # Do not change the following into hard bounces. They may
2066    # result from a local configuration problem.
2067    # 4.\d+.\d+ TLS is required, but our TLS engine is unavailable
2068    # 4.\d+.\d+ TLS is required, but unavailable
2069    # 4.\d+.\d+ Cannot start TLS: handshake failure
2070</pre>
2071</blockquote>
2072
2073<p> Example 2: censor the per-recipient delivery status text so
2074that it does not reveal the destination command or filename
2075when a remote sender requests confirmation of successful delivery.
2076</p>
2077
2078<blockquote>
2079<pre>
2080/etc/postfix/<a href="postconf.5.html">main.cf</a>:
2081    <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
2082</pre>
2083</blockquote>
2084
2085<blockquote>
2086<pre>
2087/etc/postfix/local_dsn_filter:
2088    /^(2\S+ delivered to file).+/    $1
2089    /^(2\S+ delivered to command).+/ $1
2090</pre>
2091</blockquote>
2092
2093<p> Notes: </p>
2094
2095<ul>
2096
2097<li> <p> This feature will NOT override the <a href="postconf.5.html#soft_bounce">soft_bounce</a> safety net. </p>
2098
2099<li> <p> This feature will change the enhanced status code and text
2100that is logged to the maillog file, and that is reported to the
2101sender in delivery confirmation or non-delivery notifications.
2102</p>
2103
2104</ul>
2105
2106<p> This feature is available in Postfix 3.0 and later. </p>
2107
2108
2109</DD>
2110
2111<DT><b><a name="default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
2112(default: 1)</b></DT><DD>
2113
2114<p> How many pseudo-cohorts must suffer connection or handshake
2115failure before a specific destination is considered unavailable
2116(and further delivery is suspended). Specify zero to disable this
2117feature. A destination's pseudo-cohort failure count is reset each
2118time a delivery completes without connection or handshake failure
2119for that specific destination. </p>
2120
2121<p> A pseudo-cohort is the number of deliveries equal to a destination's
2122delivery concurrency. </p>
2123
2124<p> Use <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> to specify
2125a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2126name of the message delivery transport. </p>
2127
2128<p> This feature is available in Postfix 2.5. The default setting
2129is compatible with earlier Postfix versions. </p>
2130
2131
2132</DD>
2133
2134<DT><b><a name="default_destination_concurrency_limit">default_destination_concurrency_limit</a>
2135(default: 20)</b></DT><DD>
2136
2137<p>
2138The default maximal number of parallel deliveries to the same
2139destination.  This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>,
2140<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.
2141With per-destination recipient limit &gt; 1, a destination is a domain,
2142otherwise it is a recipient.
2143</p>
2144
2145<p> Use <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> to specify a
2146transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2147name of the message delivery transport.
2148</p>
2149
2150
2151</DD>
2152
2153<DT><b><a name="default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>
2154(default: 1)</b></DT><DD>
2155
2156<p> The per-destination amount of delivery concurrency negative
2157feedback, after a delivery completes with a connection or handshake
2158failure. Feedback values are in the range 0..1 inclusive. With
2159negative feedback, concurrency is decremented at the beginning of
2160a sequence of length 1/feedback. This is unlike positive feedback,
2161where concurrency is incremented at the end of a sequence of length
21621/feedback. </p>
2163
2164<p> As of Postfix version 2.5, negative feedback cannot reduce
2165delivery concurrency to zero.  Instead, a destination is marked
2166dead (further delivery suspended) after the failed pseudo-cohort
2167count reaches $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
2168(or $<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>).
2169To make the scheduler completely immune to connection or handshake
2170failures, specify a zero feedback value and a zero failed pseudo-cohort
2171limit.  </p>
2172
2173<p> Specify one of the following forms: </p>
2174
2175<dl>
2176
2177<dt> <b><i>number</i> </b> </dt>
2178
2179<dt> <b><i>number</i> / <i>number</i> </b> </dt>
2180
2181<dd> Constant feedback. The value must be in the range 0..1 inclusive.
2182The default setting of "1" is compatible with Postfix versions
2183before 2.5, where a destination's delivery concurrency is throttled
2184down to zero (and further delivery suspended) after a single failed
2185pseudo-cohort. </dd>
2186
2187<dt> <b><i>number</i> / concurrency </b> </dt>
2188
2189<dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
2190The <i>number</i> must be in the range 0..1 inclusive. With
2191<i>number</i> equal to "1", a destination's delivery concurrency
2192is decremented by 1 after each failed pseudo-cohort.  </dd>
2193
2194</dl>
2195
2196<p> A pseudo-cohort is the number of deliveries equal to a destination's
2197delivery concurrency. </p>
2198
2199<p> Use <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
2200to specify a transport-specific override, where <i>transport</i>
2201is the <a href="master.5.html">master.cf</a>
2202name of the message delivery transport. </p>
2203
2204<p> This feature is available in Postfix 2.5. The default setting
2205is compatible with earlier Postfix versions. </p>
2206
2207
2208</DD>
2209
2210<DT><b><a name="default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>
2211(default: 1)</b></DT><DD>
2212
2213<p> The per-destination amount of delivery concurrency positive
2214feedback, after a delivery completes without connection or handshake
2215failure. Feedback values are in the range 0..1 inclusive.  The
2216concurrency increases until it reaches the per-destination maximal
2217concurrency limit. With positive feedback, concurrency is incremented
2218at the end of a sequence with length 1/feedback. This is unlike
2219negative feedback, where concurrency is decremented at the start
2220of a sequence of length 1/feedback. </p>
2221
2222<p> Specify one of the following forms:  </p>
2223
2224<dl>
2225
2226<dt> <b><i>number</i> </b> </dt>
2227
2228<dt> <b><i>number</i> / <i>number</i> </b> </dt>
2229
2230<dd> Constant feedback.  The value must be in the range 0..1
2231inclusive. The default setting of "1" is compatible with Postfix
2232versions before 2.5, where a destination's delivery concurrency
2233doubles after each successful pseudo-cohort.  </dd>
2234
2235<dt> <b><i>number</i> / concurrency </b> </dt>
2236
2237<dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
2238The <i>number</i> must be in the range 0..1 inclusive. With
2239<i>number</i> equal to "1", a destination's delivery concurrency
2240is incremented by 1 after each successful pseudo-cohort.  </dd>
2241
2242</dl>
2243
2244<p> A pseudo-cohort is the number of deliveries equal to a destination's
2245delivery concurrency. </p>
2246
2247<p> Use <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
2248to specify a transport-specific override, where <i>transport</i>
2249is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
2250
2251<p> This feature is available in Postfix 2.5 and later.  </p>
2252
2253
2254</DD>
2255
2256<DT><b><a name="default_destination_rate_delay">default_destination_rate_delay</a>
2257(default: 0s)</b></DT><DD>
2258
2259<p> The default amount of delay that is inserted between individual
2260deliveries to the same destination; the resulting behavior depends
2261on the value of the corresponding per-destination recipient limit.
2262</p>
2263
2264<ul>
2265
2266<li> <p> With a corresponding per-destination recipient limit &gt;
22671, the rate delay specifies the time between deliveries to the
2268<i>same domain</i>.  Different domains are delivered in parallel,
2269subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p>
2270
2271<li> <p> With a corresponding per-destination recipient limit equal
2272to 1, the rate delay specifies the time between deliveries to the
2273<i>same recipient</i>. Different recipients are delivered in
2274parallel, subject to the process limits specified in <a href="master.5.html">master.cf</a>.
2275</p>
2276
2277</ul>
2278
2279<p> To enable the delay, specify a non-zero time value (an integral
2280value plus an optional one-letter suffix that specifies the time
2281unit). </p>
2282
2283<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
2284(weeks). The default time unit is s (seconds). </p>
2285
2286<p> NOTE: the delay is enforced by the queue manager. The delay
2287timer state does not survive "<b>postfix reload</b>" or "<b>postfix
2288stop</b>".
2289</p>
2290
2291<p> Use <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> to specify a
2292transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2293name of the message delivery transport.
2294</p>
2295
2296<p> NOTE: with a non-zero _destination_rate_delay, specify a
2297<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> of 10
2298or more to prevent Postfix from deferring all mail for the same
2299destination after only one connection or handshake error. </p>
2300
2301<p> This feature is available in Postfix 2.5 and later. </p>
2302
2303
2304</DD>
2305
2306<DT><b><a name="default_destination_recipient_limit">default_destination_recipient_limit</a>
2307(default: 50)</b></DT><DD>
2308
2309<p>
2310The default maximal number of recipients per message delivery.
2311This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>, <a href="pipe.8.html">pipe(8)</a>,
2312<a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents.
2313</p>
2314
2315<p> Setting this parameter to a value of 1 affects email deliveries
2316as follows:</p>
2317
2318<ul>
2319
2320<li> <p> It changes the meaning of the corresponding per-destination
2321concurrency limit, from concurrency of deliveries to the <i>same
2322domain</i> into concurrency of deliveries to the <i>same recipient</i>.
2323Different recipients are delivered in parallel, subject to the
2324process limits specified in <a href="master.5.html">master.cf</a>. </p>
2325
2326<li> <p> It changes the meaning of the corresponding per-destination
2327rate delay, from the delay between deliveries to the <i>same
2328domain</i> into the delay between deliveries to the <i>same
2329recipient</i>.  Again, different recipients are delivered in parallel,
2330subject to the process limits specified in <a href="master.5.html">master.cf</a>.  </p>
2331
2332<li> <p> It changes the meaning of other corresponding per-destination
2333settings in a similar manner, from settings for delivery to the
2334<i>same domain</i> into settings for delivery to the <i>same
2335recipient</i>.
2336
2337</ul>
2338
2339<p> Use <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> to specify a
2340transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2341name of the message delivery transport.
2342</p>
2343
2344
2345</DD>
2346
2347<DT><b><a name="default_extra_recipient_limit">default_extra_recipient_limit</a>
2348(default: 1000)</b></DT><DD>
2349
2350<p>
2351The default value for the extra per-transport limit imposed on the
2352number of in-memory recipients.  This extra recipient space is
2353reserved for the cases when the Postfix queue manager's scheduler
2354preempts one message with another and suddenly needs some extra
2355recipients slots for the chosen message in order to avoid performance
2356degradation.
2357</p>
2358
2359<p> Use <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> to specify a
2360transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2361name of the message delivery transport.
2362</p>
2363
2364
2365</DD>
2366
2367<DT><b><a name="default_filter_nexthop">default_filter_nexthop</a>
2368(default: empty)</b></DT><DD>
2369
2370<p> When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies no explicit
2371next-hop destination, use $<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> instead; when
2372that value is empty, use the domain in the recipient address.
2373Specify "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility
2374with Postfix version 2.6 and earlier, or specify an explicit next-hop
2375destination with each <a href="postconf.5.html#content_filter">content_filter</a> value or FILTER action. </p>
2376
2377<p> This feature is available in Postfix 2.7 and later.  </p>
2378
2379
2380</DD>
2381
2382<DT><b><a name="default_minimum_delivery_slots">default_minimum_delivery_slots</a>
2383(default: 3)</b></DT><DD>
2384
2385<p>
2386How many recipients a message must have in order to invoke the
2387Postfix queue manager's scheduling algorithm at all.  Messages
2388which would never accumulate at least this many delivery slots
2389(subject to slot cost parameter as well) are never preempted.
2390</p>
2391
2392<p> Use <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> to specify a
2393transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2394name of the message delivery transport.
2395</p>
2396
2397
2398</DD>
2399
2400<DT><b><a name="default_privs">default_privs</a>
2401(default: nobody)</b></DT><DD>
2402
2403<p>
2404The default rights used by the <a href="local.8.html">local(8)</a> delivery agent for delivery
2405to external file or command.  These rights are used when delivery
2406is requested from an <a href="aliases.5.html">aliases(5)</a> file that is owned by <b>root</b>, or
2407when delivery is done on behalf of <b>root</b>. <b>DO NOT SPECIFY A
2408PRIVILEGED USER OR THE POSTFIX OWNER</b>.
2409</p>
2410
2411
2412</DD>
2413
2414<DT><b><a name="default_process_limit">default_process_limit</a>
2415(default: 100)</b></DT><DD>
2416
2417<p>
2418The default maximal number of Postfix child processes that provide
2419a given service. This limit can be overruled for specific services
2420in the <a href="master.5.html">master.cf</a> file.
2421</p>
2422
2423
2424</DD>
2425
2426<DT><b><a name="default_rbl_reply">default_rbl_reply</a>
2427(default: see "postconf -d" output)</b></DT><DD>
2428
2429<p>
2430The default Postfix SMTP server response template for a request that is
2431rejected by an RBL-based restriction. This template can be overruled
2432by specific entries in the optional <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> lookup table.
2433</p>
2434
2435<p>
2436This feature is available in Postfix 2.0 and later.
2437</p>
2438
2439<p>
2440The template is subject to exactly one level of $name substitution:
2441</p>
2442
2443<dl>
2444
2445<dt><b>$client</b></dt>
2446
2447<dd>The client hostname and IP address, formatted as name[address]. </dd>
2448
2449<dt><b>$client_address</b></dt>
2450
2451<dd>The client IP address. </dd>
2452
2453<dt><b>$client_name</b></dt>
2454
2455<dd>The client hostname or "unknown". See <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a>
2456for more details. </dd>
2457
2458<dt><b>$reverse_client_name</b></dt>
2459
2460<dd>The client hostname from address-&gt;name lookup, or "unknown".
2461See <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a> for more details. </dd>
2462
2463<dt><b>$helo_name</b></dt>
2464
2465<dd>The hostname given in HELO or EHLO command or empty string. </dd>
2466
2467<dt><b>$rbl_class</b></dt>
2468
2469<dd>The blacklisted entity type: Client host, Helo command, Sender
2470address, or Recipient address. </dd>
2471
2472<dt><b>$rbl_code</b></dt>
2473
2474<dd>The numerical SMTP response code, as specified with the
2475<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> configuration parameter. Note: The numerical
2476SMTP response code is required, and must appear at the start of the
2477reply. With Postfix version 2.3 and later this information may be followed
2478by an <a href="http://tools.ietf.org/html/rfc3463">RFC 3463</a> enhanced status code. </dd>
2479
2480<dt><b>$rbl_domain</b></dt>
2481
2482<dd>The RBL domain where $rbl_what is blacklisted. </dd>
2483
2484<dt><b>$rbl_reason</b></dt>
2485
2486<dd>The reason why $rbl_what is blacklisted, or an empty string. </dd>
2487
2488<dt><b>$rbl_what</b></dt>
2489
2490<dd>The entity that is blacklisted (an IP address, a hostname, a domain
2491name, or an email address whose domain was blacklisted). </dd>
2492
2493<dt><b>$recipient</b></dt>
2494
2495<dd>The recipient address or &lt;&gt; in case of the null address. </dd>
2496
2497<dt><b>$recipient_domain</b></dt>
2498
2499<dd>The recipient domain or empty string. </dd>
2500
2501<dt><b>$recipient_name</b></dt>
2502
2503<dd>The recipient address localpart or &lt;&gt; in case of null address. </dd>
2504
2505<dt><b>$sender</b></dt>
2506
2507<dd>The sender address or &lt;&gt; in case of the null address. </dd>
2508
2509<dt><b>$sender_domain</b></dt>
2510
2511<dd>The sender domain or empty string. </dd>
2512
2513<dt><b>$sender_name</b></dt>
2514
2515<dd>The sender address localpart or &lt;&gt; in case of the null address. </dd>
2516
2517<dt><b>${name?text}</b></dt>
2518
2519<dd>Expands to `text' if $name is not empty. </dd>
2520
2521<dt><b>${name:text}</b></dt>
2522
2523<dd>Expands to `text' if $name is empty. </dd>
2524
2525</dl>
2526
2527<p>
2528Instead of $name you can also specify ${name} or $(name).
2529</p>
2530
2531<p> Note: when an enhanced status code is specified in an RBL reply
2532template, it is subject to modification.  The following transformations
2533are needed when the same RBL reply template is used for client,
2534helo, sender, or recipient access restrictions.  </p>
2535
2536<ul>
2537
2538<li> <p> When rejecting a sender address, the Postfix SMTP server
2539will transform a recipient DSN status (e.g., 4.1.1-4.1.6) into the
2540corresponding sender DSN status, and vice versa. </p>
2541
2542<li> <p> When rejecting non-address information (such as the HELO
2543command argument or the client hostname/address), the Postfix SMTP
2544server will transform a sender or recipient DSN status into a generic
2545non-address DSN status (e.g., 4.0.0).  </p>
2546
2547</ul>
2548
2549
2550</DD>
2551
2552<DT><b><a name="default_recipient_limit">default_recipient_limit</a>
2553(default: 20000)</b></DT><DD>
2554
2555<p>
2556The default per-transport upper limit on the number of in-memory
2557recipients.  These limits take priority over the global
2558<a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> after the message has been assigned
2559to the respective transports.  See also <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
2560and <a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>.
2561</p>
2562
2563<p> Use <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> to specify a
2564transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2565name of the message delivery transport.
2566</p>
2567
2568
2569</DD>
2570
2571<DT><b><a name="default_recipient_refill_delay">default_recipient_refill_delay</a>
2572(default: 5s)</b></DT><DD>
2573
2574<p>
2575The default per-transport maximum delay between recipients refills.
2576When not all message recipients fit into the memory at once, keep loading
2577more of them at least once every this many seconds.  This is used to
2578make sure the recipients are refilled in timely manner even when
2579$<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> is too high for too slow deliveries.
2580</p>
2581
2582<p> Use <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> to specify a
2583transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2584name of the message delivery transport.
2585</p>
2586
2587<p> This feature is available in Postfix 2.4 and later. </p>
2588
2589
2590</DD>
2591
2592<DT><b><a name="default_recipient_refill_limit">default_recipient_refill_limit</a>
2593(default: 100)</b></DT><DD>
2594
2595<p>
2596The default per-transport limit on the number of recipients refilled at
2597once.  When not all message recipients fit into the memory at once, keep
2598loading more of them in batches of at least this many at a time.  See also
2599$<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>, which may result in recipient batches
2600lower than this when this limit is too high for too slow deliveries.
2601</p>
2602
2603<p> Use <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> to specify a
2604transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2605name of the message delivery transport.
2606</p>
2607
2608<p> This feature is available in Postfix 2.4 and later. </p>
2609
2610
2611</DD>
2612
2613<DT><b><a name="default_transport">default_transport</a>
2614(default: smtp)</b></DT><DD>
2615
2616<p>
2617The default mail delivery transport and next-hop destination for
2618destinations that do not match $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
2619$<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>,
2620or $<a href="postconf.5.html#relay_domains">relay_domains</a>.  This information can be overruled with the
2621<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter and with the
2622<a href="transport.5.html">transport(5)</a> table. </p>
2623
2624<p>
2625In order of decreasing precedence, the nexthop destination is taken
2626from $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>, $<a href="postconf.5.html#default_transport">default_transport</a>,
2627$<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>, $<a href="postconf.5.html#relayhost">relayhost</a>, or from the recipient
2628domain.
2629</p>
2630
2631<p>
2632Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
2633is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
2634The <i>:nexthop</i> destination is optional; its syntax is documented
2635in the manual page of the corresponding delivery agent.
2636</p>
2637
2638<p>
2639Example:
2640</p>
2641
2642<pre>
2643<a href="postconf.5.html#default_transport">default_transport</a> = uucp:relayhostname
2644</pre>
2645
2646
2647</DD>
2648
2649<DT><b><a name="default_transport_rate_delay">default_transport_rate_delay</a>
2650(default: 0s)</b></DT><DD>
2651
2652<p> The default amount of delay that is inserted between individual
2653deliveries over the same message delivery transport, regardless of
2654destination. If non-zero, all deliveries over the same message
2655delivery transport will happen one at a time. </p>
2656
2657<p>Use <a href="postconf.5.html#transport_transport_rate_delay"><i>transport</i>_transport_rate_delay</a> to specify a
2658transport-specific override, where the initial <i>transport</i> is
2659the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
2660
2661<p> Example: throttle outbound SMTP mail to at most 3 deliveries
2662per minute. </p>
2663
2664<pre>
2665/etc/postfix/<a href="postconf.5.html">main.cf</a>:
2666    smtp_transport_rate_delay = 20s
2667</pre>
2668
2669<p> To enable the delay, specify a non-zero time value (an integral
2670value plus an optional one-letter suffix that specifies the time
2671unit). </p>
2672
2673<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
2674(weeks). The default time unit is s (seconds). </p>
2675
2676<p> NOTE: the delay is enforced by the queue manager. </p>
2677
2678<p> This feature is available in Postfix 3.1 and later. </p>
2679
2680
2681</DD>
2682
2683<DT><b><a name="default_verp_delimiters">default_verp_delimiters</a>
2684(default: +=)</b></DT><DD>
2685
2686<p> The two default VERP delimiter characters. These are used when
2687no explicit delimiters are specified with the SMTP XVERP command
2688or with the "<b>sendmail -V</b>" command-line option. Specify
2689characters that are allowed by the <a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> setting.
2690</p>
2691
2692<p>
2693This feature is available in Postfix 1.1 and later.
2694</p>
2695
2696
2697</DD>
2698
2699<DT><b><a name="defer_code">defer_code</a>
2700(default: 450)</b></DT><DD>
2701
2702<p>
2703The numerical Postfix SMTP server response code when a remote SMTP
2704client request is rejected by the "defer" restriction.
2705</p>
2706
2707<p>
2708Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
2709</p>
2710
2711
2712</DD>
2713
2714<DT><b><a name="defer_service_name">defer_service_name</a>
2715(default: defer)</b></DT><DD>
2716
2717<p>
2718The name of the defer service. This service is implemented by the
2719<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
2720of failed delivery attempts and generates non-delivery notifications.
2721</p>
2722
2723<p>
2724This feature is available in Postfix 2.0 and later.
2725</p>
2726
2727
2728</DD>
2729
2730<DT><b><a name="defer_transports">defer_transports</a>
2731(default: empty)</b></DT><DD>
2732
2733<p>
2734The names of message delivery transports that should not deliver mail
2735unless someone issues "<b>sendmail -q</b>" or equivalent. Specify zero
2736or more names of mail delivery transports names that appear in the
2737first field of <a href="master.5.html">master.cf</a>.
2738</p>
2739
2740<p>
2741Example:
2742</p>
2743
2744<pre>
2745<a href="postconf.5.html#defer_transports">defer_transports</a> = smtp
2746</pre>
2747
2748
2749</DD>
2750
2751<DT><b><a name="delay_logging_resolution_limit">delay_logging_resolution_limit</a>
2752(default: 2)</b></DT><DD>
2753
2754<p> The maximal number of digits after the decimal point when logging
2755sub-second delay values.  Specify a number in the range 0..6.  </p>
2756
2757<p> Large delay values are rounded off to an integral number seconds;
2758delay values below the <a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> are logged
2759as "0", and delay values under 100s are logged with at most two-digit
2760precision.  </p>
2761
2762<p> The format of the "delays=a/b/c/d" logging is as follows: </p>
2763
2764<ul>
2765
2766<li> a = time from message arrival to last <a href="QSHAPE_README.html#active_queue">active queue</a> entry
2767
2768<li> b = time from last <a href="QSHAPE_README.html#active_queue">active queue</a> entry to connection setup
2769
2770<li> c = time in connection setup, including DNS, EHLO and STARTTLS
2771
2772<li> d = time in message transmission
2773
2774</ul>
2775
2776<p> This feature is available in Postfix 2.3 and later.  </p>
2777
2778
2779</DD>
2780
2781<DT><b><a name="delay_notice_recipient">delay_notice_recipient</a>
2782(default: postmaster)</b></DT><DD>
2783
2784<p>
2785The recipient of postmaster notifications with the message headers
2786of mail that cannot be delivered within $<a href="postconf.5.html#delay_warning_time">delay_warning_time</a> time
2787units.  </p>
2788
2789<p>
2790See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>.
2791</p>
2792
2793
2794</DD>
2795
2796<DT><b><a name="delay_warning_time">delay_warning_time</a>
2797(default: 0h)</b></DT><DD>
2798
2799<p>
2800The time after which the sender receives a copy of the message
2801headers of mail that is still queued. The <a href="postconf.5.html#confirm_delay_cleared">confirm_delay_cleared</a>
2802parameter controls sender notification when the delay clears up.
2803</p>
2804
2805<p>
2806To enable this feature, specify a non-zero time value (an integral
2807value plus an optional one-letter suffix that specifies the time
2808unit).
2809</p>
2810
2811<p>
2812Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
2813The default time unit is h (hours).
2814</p>
2815
2816<p>
2817See 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>.
2818</p>
2819
2820
2821</DD>
2822
2823<DT><b><a name="deliver_lock_attempts">deliver_lock_attempts</a>
2824(default: 20)</b></DT><DD>
2825
2826<p>
2827The maximal number of attempts to acquire an exclusive lock on a
2828mailbox file or <a href="bounce.8.html">bounce(8)</a> logfile.
2829</p>
2830
2831
2832</DD>
2833
2834<DT><b><a name="deliver_lock_delay">deliver_lock_delay</a>
2835(default: 1s)</b></DT><DD>
2836
2837<p>
2838The time between attempts to acquire an exclusive lock on a mailbox
2839file or <a href="bounce.8.html">bounce(8)</a> logfile.
2840</p>
2841
2842<p>
2843Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
2844The default time unit is s (seconds).
2845</p>
2846
2847
2848</DD>
2849
2850<DT><b><a name="destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a>
2851(default: no)</b></DT><DD>
2852
2853<p> Make the queue manager's feedback algorithm verbose for performance
2854analysis purposes. </p>
2855
2856<p> This feature is available in Postfix 2.5 and later. </p>
2857
2858
2859</DD>
2860
2861<DT><b><a name="detect_8bit_encoding_header">detect_8bit_encoding_header</a>
2862(default: yes)</b></DT><DD>
2863
2864<p> Automatically detect 8BITMIME body content by looking at
2865Content-Transfer-Encoding: message headers; historically, this
2866behavior was hard-coded to be "always on".  </p>
2867
2868<p> This feature is available in Postfix 2.5 and later. </p>
2869
2870
2871</DD>
2872
2873<DT><b><a name="disable_dns_lookups">disable_dns_lookups</a>
2874(default: no)</b></DT><DD>
2875
2876<p>
2877Disable DNS lookups in the Postfix SMTP and LMTP clients. When
2878disabled, hosts are looked up with the getaddrinfo() system
2879library routine which normally also looks in /etc/hosts.  As of
2880Postfix 2.11, this parameter is deprecated; use <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>
2881instead.
2882</p>
2883
2884<p>
2885DNS lookups are enabled by default.
2886</p>
2887
2888
2889</DD>
2890
2891<DT><b><a name="disable_mime_input_processing">disable_mime_input_processing</a>
2892(default: no)</b></DT><DD>
2893
2894<p>
2895Turn off MIME processing while receiving mail. This means that no
2896special treatment is given to Content-Type: message headers, and
2897that all text after the initial message headers is considered to
2898be part of the message body.
2899</p>
2900
2901<p>
2902This feature is available in Postfix 2.0 and later.
2903</p>
2904
2905<p>
2906Mime input processing is enabled by default, and is needed in order
2907to recognize MIME headers in message content.
2908</p>
2909
2910
2911</DD>
2912
2913<DT><b><a name="disable_mime_output_conversion">disable_mime_output_conversion</a>
2914(default: no)</b></DT><DD>
2915
2916<p>
2917Disable the conversion of 8BITMIME format to 7BIT format.  Mime
2918output conversion is needed when the destination does not advertise
29198BITMIME support.
2920</p>
2921
2922<p>
2923This feature is available in Postfix 2.0 and later.
2924</p>
2925
2926
2927</DD>
2928
2929<DT><b><a name="disable_verp_bounces">disable_verp_bounces</a>
2930(default: no)</b></DT><DD>
2931
2932<p>
2933Disable sending one bounce report per recipient.
2934</p>
2935
2936<p>
2937The default, one per recipient, is what ezmlm needs.
2938</p>
2939
2940<p>
2941This feature is available in Postfix 1.1 and later.
2942</p>
2943
2944
2945</DD>
2946
2947<DT><b><a name="disable_vrfy_command">disable_vrfy_command</a>
2948(default: no)</b></DT><DD>
2949
2950<p>
2951Disable the SMTP VRFY command. This stops some techniques used to
2952harvest email addresses.
2953</p>
2954
2955<p>
2956Example:
2957</p>
2958
2959<pre>
2960<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> = no
2961</pre>
2962
2963
2964</DD>
2965
2966<DT><b><a name="dns_ncache_ttl_fix_enable">dns_ncache_ttl_fix_enable</a>
2967(default: no)</b></DT><DD>
2968
2969<p> Enable a workaround for future libc incompatibility. The Postfix
2970implementation of <a href="http://tools.ietf.org/html/rfc2308">RFC 2308</a> negative reply caching relies on the
2971promise that res_query() and res_search() invoke res_send(), which
2972returns the server response in an application buffer even if the
2973requested record does not exist. If this promise is broken, specify
2974"yes" to enable a  workaround for DNS reputation lookups. </p>
2975
2976<p>
2977This feature is available in Postfix 3.1 and later.
2978</p>
2979
2980
2981</DD>
2982
2983<DT><b><a name="dnsblog_reply_delay">dnsblog_reply_delay</a>
2984(default: 0s)</b></DT><DD>
2985
2986<p> A debugging aid to artificially delay DNS responses. </p>
2987
2988<p> This feature is available in Postfix 2.8.  </p>
2989
2990
2991</DD>
2992
2993<DT><b><a name="dnsblog_service_name">dnsblog_service_name</a>
2994(default: dnsblog)</b></DT><DD>
2995
2996<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
2997service performs DNS white/blacklist lookups. </p>
2998
2999<p> This feature is available in Postfix 2.8 and later. </p>
3000
3001
3002</DD>
3003
3004<DT><b><a name="dont_remove">dont_remove</a>
3005(default: 0)</b></DT><DD>
3006
3007<p>
3008Don't remove queue files and save them to the "saved" mail queue.
3009This is a debugging aid.  To inspect the envelope information and
3010content of a Postfix queue file, use the <a href="postcat.1.html">postcat(1)</a> command.
3011</p>
3012
3013
3014</DD>
3015
3016<DT><b><a name="double_bounce_sender">double_bounce_sender</a>
3017(default: double-bounce)</b></DT><DD>
3018
3019<p> The sender address of postmaster notifications that are generated
3020by the mail system. All mail to this address is silently discarded,
3021in order to terminate mail bounce loops.  </p>
3022
3023
3024</DD>
3025
3026<DT><b><a name="duplicate_filter_limit">duplicate_filter_limit</a>
3027(default: 1000)</b></DT><DD>
3028
3029<p> The maximal number of addresses remembered by the address
3030duplicate filter for <a href="aliases.5.html">aliases(5)</a> or <a href="virtual.5.html">virtual(5)</a> alias expansion, or
3031for <a href="showq.8.html">showq(8)</a> queue displays.  </p>
3032
3033
3034</DD>
3035
3036<DT><b><a name="empty_address_default_transport_maps_lookup_key">empty_address_default_transport_maps_lookup_key</a>
3037(default: &lt;&gt;)</b></DT><DD>
3038
3039<p> The <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> search string that
3040will be used instead of the null sender address. </p>
3041
3042<p> This feature is available in Postfix 2.7 and later.  </p>
3043
3044
3045</DD>
3046
3047<DT><b><a name="empty_address_recipient">empty_address_recipient</a>
3048(default: MAILER-DAEMON)</b></DT><DD>
3049
3050<p>
3051The recipient of mail addressed to the null address.  Postfix does
3052not accept such addresses in SMTP commands, but they may still be
3053created locally as the result of configuration or software error.
3054</p>
3055
3056
3057</DD>
3058
3059<DT><b><a name="empty_address_relayhost_maps_lookup_key">empty_address_relayhost_maps_lookup_key</a>
3060(default: &lt;&gt;)</b></DT><DD>
3061
3062<p> The <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> search string that will be
3063used instead of the null sender address. </p>
3064
3065<p> This feature is available in Postfix 2.5 and later. With
3066earlier versions, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> lookups were
3067skipped for the null sender address.  </p>
3068
3069
3070</DD>
3071
3072<DT><b><a name="enable_errors_to">enable_errors_to</a>
3073(default: no)</b></DT><DD>
3074
3075<p> Report mail delivery errors to the address specified with the
3076non-standard Errors-To: message header, instead of the envelope
3077sender address (this feature is removed with Postfix version 2.2, is
3078turned off by default with Postfix version 2.1, and is always turned on
3079with older Postfix versions).  </p>
3080
3081
3082</DD>
3083
3084<DT><b><a name="enable_long_queue_ids">enable_long_queue_ids</a>
3085(default: no)</b></DT><DD>
3086
3087<p> Enable long, non-repeating, queue IDs (queue file names).  The
3088benefit of non-repeating names is simpler logfile analysis and
3089easier queue migration (there is no need to run "postsuper" to
3090change queue file names that don't match their message file inode
3091number).  </p>
3092
3093<p> Note: see below for how to convert long queue file names to
3094Postfix &le; 2.8. </p>
3095
3096<p> Changing the parameter value to "yes" has the following effects:
3097</p>
3098
3099<ul>
3100
3101<li> <p> Existing queue file names are not affected. </p>
3102
3103<li> <p> New queue files are created with names such as 3Pt2mN2VXxznjll.
3104These are encoded in a 52-character alphabet that contains digits
3105(0-9), upper-case letters (B-Z) and lower-case letters (b-z). For
3106safety reasons the vowels (AEIOUaeiou) are excluded from the alphabet.
3107The name format is: 6 or more characters for the time in seconds,
31084 characters for the time in microseconds, the 'z'; the remainder
3109is the file inode number encoded in the first 51 characters of the
311052-character alphabet.  </p>
3111
3112<li> <p> New messages have a Message-ID header with
3113<i>queueID</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>.  </p>
3114
3115<li> <p> The mailq (postqueue -p) output has a wider Queue ID column.
3116The number of whitespace-separated fields is not changed. <p>
3117
3118<li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters
3119of the queue file creation time in microseconds, after conversion
3120into hexadecimal representation. This produces the same queue hashing
3121behavior as if the queue file name was created with "<a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>
3122= no". </p>
3123
3124</ul>
3125
3126<p> Changing the parameter value to "no" has the following effects:
3127</p>
3128
3129<ul>
3130
3131<li> <p> Existing long queue file names are renamed to the short
3132form (while running "postfix reload" or "postsuper").  </p>
3133
3134<li> <p> New queue files are created with names such as C3CD21F3E90
3135from a hexadecimal alphabet that contains digits (0-9) and upper-case
3136letters (A-F). The name format is: 5 characters for the time in
3137microseconds; the remainder is the file inode number. </p>
3138
3139<li> <p> New messages have a Message-ID header with
3140<i>YYYYMMDDHHMMSS.queueid</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>, where
3141<i>YYYYMMDDHHMMSS</i> are the year, month, day, hour, minute and
3142second.
3143
3144<li> <p> The mailq (postqueue -p) output has the same format as
3145with Postfix &le; 2.8. <p>
3146
3147<li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters
3148of the queue file name, with the hexadecimal representation of the
3149file creation time in microseconds.  </p>
3150
3151</ul>
3152
3153<p> Before migration to Postfix &le; 2.8, the following commands
3154are required to convert long queue file names into short names: </p>
3155
3156<pre>
3157# postfix stop
3158# postconf <a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>=no
3159# postsuper
3160</pre>
3161
3162<p> Repeat the postsuper command until it reports no more queue file
3163name changes. </p>
3164
3165<p> This feature is available in Postfix 2.9 and later.  </p>
3166
3167
3168</DD>
3169
3170<DT><b><a name="enable_original_recipient">enable_original_recipient</a>
3171(default: yes)</b></DT><DD>
3172
3173<p> Enable support for the X-Original-To message header. This header
3174is needed for multi-recipient mailboxes.  </p>
3175
3176<p> When this parameter is set to yes, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs
3177duplicate elimination on distinct pairs of (original recipient,
3178rewritten recipient), and generates non-empty original recipient
3179queue file records.  </p>
3180
3181<p> When this parameter is set to no, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs
3182duplicate elimination on the rewritten recipient address only, and
3183generates empty original recipient queue file records.  </p>
3184
3185<p> This feature is available in Postfix 2.1 and later. With Postfix
3186version 2.0, support for the X-Original-To message header is always turned
3187on. Postfix versions before 2.0 have no support for the X-Original-To
3188message header.  </p>
3189
3190
3191</DD>
3192
3193<DT><b><a name="error_notice_recipient">error_notice_recipient</a>
3194(default: postmaster)</b></DT><DD>
3195
3196<p> The recipient of postmaster notifications about mail delivery
3197problems that are caused by policy, resource, software or protocol
3198errors.  These notifications are enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
3199parameter.  </p>
3200
3201
3202</DD>
3203
3204<DT><b><a name="error_service_name">error_service_name</a>
3205(default: error)</b></DT><DD>
3206
3207<p>
3208The name of the <a href="error.8.html">error(8)</a> pseudo delivery agent. This service always
3209returns mail as undeliverable.
3210</p>
3211
3212<p>
3213This feature is available in Postfix 2.0 and later.
3214</p>
3215
3216
3217</DD>
3218
3219<DT><b><a name="execution_directory_expansion_filter">execution_directory_expansion_filter</a>
3220(default: see "postconf -d" output)</b></DT><DD>
3221
3222<p> Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows
3223in $name expansions of $<a href="postconf.5.html#command_execution_directory">command_execution_directory</a>.  Characters
3224outside the allowed set are replaced by underscores.  </p>
3225
3226<p> This feature is available in Postfix 2.2 and later. </p>
3227
3228
3229</DD>
3230
3231<DT><b><a name="expand_owner_alias">expand_owner_alias</a>
3232(default: no)</b></DT><DD>
3233
3234<p>
3235When delivering to an alias "aliasname" that has an "owner-aliasname"
3236companion alias, set the envelope sender address to the expansion
3237of the "owner-aliasname" alias. Normally, Postfix sets the envelope
3238sender address to the name of the "owner-aliasname" alias.
3239</p>
3240
3241
3242</DD>
3243
3244<DT><b><a name="export_environment">export_environment</a>
3245(default: see "postconf -d" output)</b></DT><DD>
3246
3247<p>
3248The list of environment variables that a Postfix process will export
3249to non-Postfix processes. The TZ variable is needed for sane
3250time keeping on System-V-ish systems.
3251</p>
3252
3253<p>
3254Specify a list of names and/or name=value pairs, separated by
3255whitespace or comma. Specify "{ name=value }" to protect whitespace
3256or comma in parameter values (whitespace after "{" and before "}"
3257is ignored). The form name=value is supported with Postfix version
32582.1 and later; the use of {} is supported with Postfix 3.0 and
3259later.  </p>
3260
3261<p>
3262Example:
3263</p>
3264
3265<pre>
3266<a href="postconf.5.html#export_environment">export_environment</a> = TZ PATH=/bin:/usr/bin
3267</pre>
3268
3269
3270</DD>
3271
3272<DT><b><a name="extract_recipient_limit">extract_recipient_limit</a>
3273(default: 10240)</b></DT><DD>
3274
3275<p>
3276The maximal number of recipient addresses that Postfix will extract
3277from message headers when mail is submitted with "<b>sendmail -t</b>".
3278</p>
3279
3280<p>
3281This feature was removed in Postfix version 2.1.
3282</p>
3283
3284
3285</DD>
3286
3287<DT><b><a name="fallback_relay">fallback_relay</a>
3288(default: empty)</b></DT><DD>
3289
3290<p>
3291Optional list of relay hosts for SMTP destinations that can't be
3292found or that are unreachable. With Postfix 2.3 this parameter
3293is renamed to <a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a>. </p>
3294
3295<p>
3296By default, mail is returned to the sender when a destination is
3297not found, and delivery is deferred when a destination is unreachable.
3298</p>
3299
3300<p> The fallback relays must be SMTP destinations. Specify a domain,
3301host, host:port, [host]:port, [address] or [address]:port; the form
3302[host] turns off MX lookups.  If you specify multiple SMTP
3303destinations, Postfix will try them in the specified order.  </p>
3304
3305<p> Note: before Postfix 2.2, do not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
3306when relaying mail
3307for a backup or primary MX domain. Mail would loop between the
3308Postfix MX host and the <a href="postconf.5.html#fallback_relay">fallback_relay</a> host when the final destination
3309is unavailable. </p>
3310
3311<ul>
3312
3313<li> In <a href="postconf.5.html">main.cf</a> specify "<a href="postconf.5.html#relay_transport">relay_transport</a> = relay",
3314
3315<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
3316the end of the <tt>relay</tt> entry.
3317
3318<li> In transport maps, specify "relay:<i>nexthop...</i>"
3319as the right-hand side for backup or primary MX domain entries.
3320
3321</ul>
3322
3323<p> Postfix version 2.2 and later will not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
3324for destinations that it is MX host for.
3325</p>
3326
3327
3328</DD>
3329
3330<DT><b><a name="fallback_transport">fallback_transport</a>
3331(default: empty)</b></DT><DD>
3332
3333<p>
3334Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
3335agent should use for names that are not found in the <a href="aliases.5.html">aliases(5)</a>
3336or UNIX password database.
3337</p>
3338
3339<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
3340is: 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>,
3341<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>,
3342<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>
3343
3344
3345</DD>
3346
3347<DT><b><a name="fallback_transport_maps">fallback_transport_maps</a>
3348(default: empty)</b></DT><DD>
3349
3350<p> Optional lookup tables with per-recipient message delivery
3351transports for recipients that the <a href="local.8.html">local(8)</a> delivery agent could
3352not find in the <a href="aliases.5.html">aliases(5)</a> or UNIX password database. </p>
3353
3354<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
3355is: 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>,
3356<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>,
3357<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>
3358
3359<p> For safety reasons, this feature does not allow $number
3360substitutions in regular expression maps. </p>
3361
3362<p> This feature is available in Postfix 2.3 and later. </p>
3363
3364
3365</DD>
3366
3367<DT><b><a name="fast_flush_domains">fast_flush_domains</a>
3368(default: $<a href="postconf.5.html#relay_domains">relay_domains</a>)</b></DT><DD>
3369
3370<p>
3371Optional list of destinations that are eligible for per-destination
3372logfiles with mail that is queued to those destinations.
3373</p>
3374
3375<p>
3376By default, Postfix maintains "fast flush" logfiles only for
3377destinations that the Postfix SMTP server is willing to relay to
3378(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
3379the <a href="postconf.5.html#relay_domains">relay_domains</a> parameter in the <a href="postconf.5.html">postconf(5)</a> manual).
3380</p>
3381
3382<p> Specify a list of hosts or domains, "/file/name" patterns or
3383"<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
3384Continue long lines by starting the next line with whitespace. A
3385"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
3386lookup table is matched when the domain or its parent domain appears
3387as lookup key.  </p>
3388
3389<p> Pattern matching of domain names is controlled by the presence
3390or 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>
3391parameter value.  </p>
3392
3393<p>
3394Specify "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> =" (i.e., empty) to disable the feature
3395altogether.
3396</p>
3397
3398
3399</DD>
3400
3401<DT><b><a name="fast_flush_purge_time">fast_flush_purge_time</a>
3402(default: 7d)</b></DT><DD>
3403
3404<p>
3405The time after which an empty per-destination "fast flush" logfile
3406is deleted.
3407</p>
3408
3409<p>
3410You can specify the time as a number, or as a number followed by
3411a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
3412d=days, w=weeks.  The default time unit is days.
3413</p>
3414
3415
3416</DD>
3417
3418<DT><b><a name="fast_flush_refresh_time">fast_flush_refresh_time</a>
3419(default: 12h)</b></DT><DD>
3420
3421<p>
3422The time after which a non-empty but unread per-destination "fast
3423flush" logfile needs to be refreshed.  The contents of a logfile
3424are refreshed by requesting delivery of all messages listed in the
3425logfile.
3426</p>
3427
3428<p>
3429You can specify the time as a number, or as a number followed by
3430a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
3431d=days, w=weeks.  The default time unit is hours.
3432</p>
3433
3434
3435</DD>
3436
3437<DT><b><a name="fault_injection_code">fault_injection_code</a>
3438(default: 0)</b></DT><DD>
3439
3440<p>
3441Force specific internal tests to fail, to test the handling of
3442errors that are difficult to reproduce otherwise.
3443</p>
3444
3445
3446</DD>
3447
3448<DT><b><a name="flush_service_name">flush_service_name</a>
3449(default: flush)</b></DT><DD>
3450
3451<p>
3452The name of the <a href="flush.8.html">flush(8)</a> service. This service maintains per-destination
3453logfiles with the queue file names of mail that is queued for those
3454destinations.
3455</p>
3456
3457<p>
3458This feature is available in Postfix 2.0 and later.
3459</p>
3460
3461
3462</DD>
3463
3464<DT><b><a name="fork_attempts">fork_attempts</a>
3465(default: 5)</b></DT><DD>
3466
3467<p> The maximal number of attempts to fork() a child process.  </p>
3468
3469
3470</DD>
3471
3472<DT><b><a name="fork_delay">fork_delay</a>
3473(default: 1s)</b></DT><DD>
3474
3475<p> The delay between attempts to fork() a child process.  </p>
3476
3477<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
3478(weeks).  The default time unit is s (seconds).  </p>
3479
3480
3481</DD>
3482
3483<DT><b><a name="forward_expansion_filter">forward_expansion_filter</a>
3484(default: see "postconf -d" output)</b></DT><DD>
3485
3486<p>
3487Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
3488$name expansions of $<a href="postconf.5.html#forward_path">forward_path</a>.  Characters outside the
3489allowed set are replaced by underscores.
3490</p>
3491
3492
3493</DD>
3494
3495<DT><b><a name="forward_path">forward_path</a>
3496(default: see "postconf -d" output)</b></DT><DD>
3497
3498<p> The <a href="local.8.html">local(8)</a> delivery agent search list for finding a .forward
3499file with user-specified delivery methods. The first file that is
3500found is used.  </p>
3501
3502<p> The following $name expansions are done on <a href="postconf.5.html#forward_path">forward_path</a> before
3503the search actually happens. The result of $name expansion is
3504filtered with the character set that is specified with the
3505<a href="postconf.5.html#forward_expansion_filter">forward_expansion_filter</a> parameter.  </p>
3506
3507<dl>
3508
3509<dt><b>$user</b></dt>
3510
3511<dd>The recipient's username. </dd>
3512
3513<dt><b>$shell</b></dt>
3514
3515<dd>The recipient's login shell pathname. </dd>
3516
3517<dt><b>$home</b></dt>
3518
3519<dd>The recipient's home directory. </dd>
3520
3521<dt><b>$recipient</b></dt>
3522
3523<dd>The full recipient address. </dd>
3524
3525<dt><b>$extension</b></dt>
3526
3527<dd>The optional recipient address extension. </dd>
3528
3529<dt><b>$domain</b></dt>
3530
3531<dd>The recipient domain. </dd>
3532
3533<dt><b>$local</b></dt>
3534
3535<dd>The entire recipient localpart. </dd>
3536
3537<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
3538
3539<dd>The address extension delimiter that was found in the recipient
3540address (Postfix 2.11 and later), or the system-wide recipient
3541address extension delimiter (Postfix 2.10 and earlier). </dd>
3542
3543<dt><b>${name?value}</b></dt>
3544
3545<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
3546
3547<dt><b>${name:value}</b></dt>
3548
3549<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
3550
3551</dl>
3552
3553<p>
3554Instead of $name you can also specify ${name} or $(name).
3555</p>
3556
3557<p>
3558Examples:
3559</p>
3560
3561<pre>
3562<a href="postconf.5.html#forward_path">forward_path</a> = /var/forward/$user
3563<a href="postconf.5.html#forward_path">forward_path</a> =
3564    /var/forward/$user/.forward$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>$extension,
3565    /var/forward/$user/.forward
3566</pre>
3567
3568
3569</DD>
3570
3571<DT><b><a name="frozen_delivered_to">frozen_delivered_to</a>
3572(default: yes)</b></DT><DD>
3573
3574<p> Update the <a href="local.8.html">local(8)</a> delivery agent's idea of the Delivered-To:
3575address (see <a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a>) only once, at the start of
3576a delivery attempt; do not update the Delivered-To: address while
3577expanding aliases or .forward files. </p>
3578
3579<p> This feature is available in Postfix 2.3 and later. With older
3580Postfix releases, the behavior is as if this parameter is set to
3581"no". The old setting can be expensive with deeply nested aliases
3582or .forward files. When an alias or .forward file changes the
3583Delivered-To: address, it ties up one queue file and one cleanup
3584process instance while mail is being forwarded.  </p>
3585
3586
3587</DD>
3588
3589<DT><b><a name="hash_queue_depth">hash_queue_depth</a>
3590(default: 1)</b></DT><DD>
3591
3592<p>
3593The number of subdirectory levels for queue directories listed with
3594the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> parameter. Queue hashing is implemented by
3595creating one or more levels of directories with one-character names.
3596Originally, these directory names were equal to the first characters
3597of the queue file name, with the hexadecimal representation of the
3598file creation time in microseconds. </p>
3599
3600<p> With long queue file names, queue hashing produces the same
3601results as with short names. The file creation time in microseconds
3602is converted into hexadecimal form before the result is used for
3603queue hashing.  The base 16 encoding gives finer control over the
3604number of subdirectories than is possible with the base 52 encoding
3605of long queue file names.  </p>
3606
3607<p>
3608After 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,
3609execute the command "<b>postfix reload</b>".
3610</p>
3611
3612
3613</DD>
3614
3615<DT><b><a name="hash_queue_names">hash_queue_names</a>
3616(default: deferred, defer)</b></DT><DD>
3617
3618<p>
3619The names of queue directories that are split across multiple
3620subdirectory levels.
3621</p>
3622
3623<p> Before Postfix version 2.2, the default list of hashed queues
3624was significantly larger. Claims about improvements in file system
3625technology 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>
3626is no longer needed. Fewer hashed directories speed up the time
3627needed to restart Postfix. </p>
3628
3629<p>
3630After 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,
3631execute the command "<b>postfix reload</b>".
3632</p>
3633
3634
3635</DD>
3636
3637<DT><b><a name="header_address_token_limit">header_address_token_limit</a>
3638(default: 10240)</b></DT><DD>
3639
3640<p>
3641The maximal number of address tokens are allowed in an address
3642message header. Information that exceeds the limit is discarded.
3643The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
3644</p>
3645
3646
3647</DD>
3648
3649<DT><b><a name="header_checks">header_checks</a>
3650(default: empty)</b></DT><DD>
3651
3652<p>
3653Optional lookup tables for content inspection of primary non-MIME
3654message headers, as specified in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
3655</p>
3656
3657
3658</DD>
3659
3660<DT><b><a name="header_size_limit">header_size_limit</a>
3661(default: 102400)</b></DT><DD>
3662
3663<p>
3664The maximal amount of memory in bytes for storing a message header.
3665If a header is larger, the excess is discarded.  The limit is
3666enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
3667</p>
3668
3669
3670</DD>
3671
3672<DT><b><a name="helpful_warnings">helpful_warnings</a>
3673(default: yes)</b></DT><DD>
3674
3675<p>
3676Log warnings about problematic configuration settings, and provide
3677helpful suggestions.
3678</p>
3679
3680<p>
3681This feature is available in Postfix 2.0 and later.
3682</p>
3683
3684
3685</DD>
3686
3687<DT><b><a name="home_mailbox">home_mailbox</a>
3688(default: empty)</b></DT><DD>
3689
3690<p>
3691Optional pathname of a mailbox file relative to a <a href="local.8.html">local(8)</a> user's
3692home directory.
3693</p>
3694
3695<p>
3696Specify a pathname ending in "/" for qmail-style delivery.
3697</p>
3698
3699<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
3700is: 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>,
3701<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>,
3702<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>
3703
3704<p>
3705Examples:
3706</p>
3707
3708<pre>
3709<a href="postconf.5.html#home_mailbox">home_mailbox</a> = Mailbox
3710<a href="postconf.5.html#home_mailbox">home_mailbox</a> = Maildir/
3711</pre>
3712
3713
3714</DD>
3715
3716<DT><b><a name="hopcount_limit">hopcount_limit</a>
3717(default: 50)</b></DT><DD>
3718
3719<p>
3720The maximal number of Received:  message headers that is allowed
3721in the primary message headers. A message that exceeds the limit
3722is bounced, in order to stop a mailer loop.
3723</p>
3724
3725
3726</DD>
3727
3728<DT><b><a name="html_directory">html_directory</a>
3729(default: see "postconf -d" output)</b></DT><DD>
3730
3731<p>
3732The location of Postfix HTML files that describe how to build,
3733configure or operate a specific Postfix subsystem or feature.
3734</p>
3735
3736
3737</DD>
3738
3739<DT><b><a name="ignore_mx_lookup_error">ignore_mx_lookup_error</a>
3740(default: no)</b></DT><DD>
3741
3742<p> Ignore DNS MX lookups that produce no response.  By default,
3743the Postfix SMTP client defers delivery and tries again after some
3744delay.  This behavior is required by the SMTP standard.  </p>
3745
3746<p>
3747Specify "<a href="postconf.5.html#ignore_mx_lookup_error">ignore_mx_lookup_error</a> = yes" to force a DNS A record
3748lookup instead. This violates the SMTP standard and can result in
3749mis-delivery of mail.
3750</p>
3751
3752
3753</DD>
3754
3755<DT><b><a name="import_environment">import_environment</a>
3756(default: see "postconf -d" output)</b></DT><DD>
3757
3758<p>
3759The list of environment parameters that a Postfix process will
3760import from a non-Postfix parent process. Examples of relevant
3761parameters:
3762</p>
3763
3764<dl>
3765
3766<dt><b>TZ</b></dt>
3767
3768<dd>Needed for sane time keeping on most System-V-ish systems. </dd>
3769
3770<dt><b>DISPLAY</b></dt>
3771
3772<dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
3773
3774<dt><b>XAUTHORITY</b></dt>
3775
3776<dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
3777
3778<dt><b>MAIL_CONFIG</b></dt>
3779
3780<dd>Needed to make "<b>postfix -c</b>" work. </dd>
3781
3782</dl>
3783
3784<p> Specify a list of names and/or name=value pairs, separated by
3785whitespace or comma. Specify "{ name=value }" to protect whitespace
3786or comma in parameter values (whitespace after "{" and before "}"
3787is ignored). The form name=value is supported with Postfix version
37882.1 and later; the use of {} is supported with Postfix 3.0 and
3789later.  </p>
3790
3791
3792</DD>
3793
3794<DT><b><a name="in_flow_delay">in_flow_delay</a>
3795(default: 1s)</b></DT><DD>
3796
3797<p> Time to pause before accepting a new message, when the message
3798arrival rate exceeds the message delivery rate. This feature is
3799turned on by default (it's disabled on SCO UNIX due to an SCO bug).
3800</p>
3801
3802<p>
3803With the default 100 Postfix SMTP server process limit, "<a href="postconf.5.html#in_flow_delay">in_flow_delay</a>
3804= 1s" limits the mail inflow to 100 messages per second above the
3805number of messages delivered per second.
3806</p>
3807
3808<p>
3809Specify 0 to disable the feature. Valid delays are 0..10.
3810</p>
3811
3812
3813</DD>
3814
3815<DT><b><a name="inet_interfaces">inet_interfaces</a>
3816(default: all)</b></DT><DD>
3817
3818<p> The network interface addresses that this mail system receives
3819mail on. Specify "all" to receive mail on all network
3820interfaces (default), and "loopback-only" to receive mail
3821on loopback network interfaces only (Postfix version 2.2 and later).  The
3822parameter also controls delivery of mail to <tt>user@[ip.address]</tt>.
3823</p>
3824
3825<p>
3826Note 1: you need to stop and start Postfix when this parameter changes.
3827</p>
3828
3829<p> Note 2: address information may be enclosed inside <tt>[]</tt>,
3830but this form is not required here. </p>
3831
3832<p> When <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies just one IPv4 and/or IPv6 address
3833that is not a loopback address, the Postfix SMTP client will use
3834this address as the IP source address for outbound mail. Support
3835for IPv6 is available in Postfix version 2.2 and later. </p>
3836
3837<p>
3838On a multi-homed firewall with separate Postfix instances listening on the
3839"inside" and "outside" interfaces, this can prevent each instance from
3840being able to reach remote SMTP servers on the "other side" of the
3841firewall. Setting
3842<a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> to 0.0.0.0 avoids the potential problem for
3843IPv4, and setting <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> to :: solves the problem
3844for IPv6. </p>
3845
3846<p>
3847A better solution for multi-homed firewalls is to leave <a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
3848at the default value and instead use explicit IP addresses in
3849the <a href="master.5.html">master.cf</a> SMTP server definitions.  This preserves the Postfix
3850SMTP client's
3851loop detection, by ensuring that each side of the firewall knows that the
3852other IP address is still the same host. Setting $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> to a
3853single IPv4 and/or IPV6 address is primarily useful with virtual
3854hosting of domains on
3855secondary IP addresses, when each IP address serves a different domain
3856(and has a different $<a href="postconf.5.html#myhostname">myhostname</a> setting). </p>
3857
3858<p>
3859See also the <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> parameter, for network addresses that
3860are forwarded to Postfix by way of a proxy or address translator.
3861</p>
3862
3863<p>
3864Examples:
3865</p>
3866
3867<pre>
3868<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = all (DEFAULT)
3869<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback-only (Postfix version 2.2 and later)
3870<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1
3871<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1, [::1] (Postfix version 2.2 and later)
3872<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 192.168.1.2, 127.0.0.1
3873</pre>
3874
3875
3876</DD>
3877
3878<DT><b><a name="inet_protocols">inet_protocols</a>
3879(default: all)</b></DT><DD>
3880
3881<p> The Internet protocols Postfix will attempt to use when making
3882or accepting connections. Specify one or more of "ipv4"
3883or "ipv6", separated by whitespace or commas. The form
3884"all" is equivalent to "ipv4, ipv6" or "ipv4", depending
3885on whether the operating system implements IPv6. </p>
3886
3887<p> With Postfix 2.8 and earlier the default is "ipv4". For backwards
3888compatibility with these releases, the Postfix 2.9 and later upgrade
3889procedure appends an explicit "<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4" setting to
3890<a href="postconf.5.html">main.cf</a> when no explicit setting is present. This compatibility
3891workaround will be phased out as IPv6 deployment becomes more common.
3892</p>
3893
3894<p> This feature is available in Postfix 2.2 and later. </p>
3895
3896<p> Note: you MUST stop and start Postfix after changing this
3897parameter. </p>
3898
3899<p> On systems that pre-date IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>), an
3900IPv6 server will also accept IPv4 connections, even when IPv4 is
3901turned off with the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter.  On systems with
3902IPV6_V6ONLY support, Postfix will use separate server sockets for
3903IPv6 and IPv4, and each will accept only connections for the
3904corresponding protocol.  </p>
3905
3906<p> When IPv4 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
3907Postfix will look up DNS type A records, and will convert
3908IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original
3909IPv4 form (1.2.3.4).  The latter is needed on hosts that pre-date
3910IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>). </p>
3911
3912<p> When IPv6 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
3913Postfix will do DNS type AAAA record lookups. </p>
3914
3915<p> When both IPv4 and IPv6 support are enabled, the Postfix SMTP
3916client will choose the protocol as specified with the
3917<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> parameter. Postfix versions before 2.8
3918attempt to connect via IPv6 before attempting to use IPv4.  </p>
3919
3920<p>
3921Examples:
3922</p>
3923
3924<pre>
3925<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4
3926<a href="postconf.5.html#inet_protocols">inet_protocols</a> = all (DEFAULT)
3927<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv6
3928<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4, ipv6
3929</pre>
3930
3931
3932</DD>
3933
3934<DT><b><a name="initial_destination_concurrency">initial_destination_concurrency</a>
3935(default: 5)</b></DT><DD>
3936
3937<p>
3938The initial per-destination concurrency level for parallel delivery
3939to the same destination.
3940With per-destination recipient limit &gt; 1, a destination is a domain,
3941otherwise it is a recipient.
3942</p>
3943
3944<p> Use <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> to specify
3945a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
3946name of the message delivery transport (Postfix 2.5 and later). </p>
3947
3948<p>
3949Warning: with concurrency of 1, one bad message can be enough to
3950block all mail to a site.
3951</p>
3952
3953
3954</DD>
3955
3956<DT><b><a name="internal_mail_filter_classes">internal_mail_filter_classes</a>
3957(default: empty)</b></DT><DD>
3958
3959<p> What categories of Postfix-generated mail are subject to
3960before-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>
3961and <a href="postconf.5.html#body_checks">body_checks</a>.  Specify zero or more of the following, separated
3962by whitespace or comma.  </p>
3963
3964<dl>
3965
3966<dt><b>bounce</b></dt> <dd> Inspect the content of delivery
3967status notifications. </dd>
3968
3969<dt><b>notify</b></dt> <dd> Inspect the content of postmaster
3970notifications by the <a href="smtp.8.html">smtp(8)</a> and <a href="smtpd.8.html">smtpd(8)</a> processes. </dd>
3971
3972</dl>
3973
3974<p> NOTE: It's generally not safe to enable content inspection of
3975Postfix-generated email messages. The user is warned. </p>
3976
3977<p> This feature is available in Postfix 2.3 and later. </p>
3978
3979
3980</DD>
3981
3982<DT><b><a name="invalid_hostname_reject_code">invalid_hostname_reject_code</a>
3983(default: 501)</b></DT><DD>
3984
3985<p>
3986The numerical Postfix SMTP server response code when the client
3987HELO or EHLO command parameter is rejected by the <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a>
3988restriction.
3989</p>
3990
3991<p>
3992Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
3993</p>
3994
3995
3996</DD>
3997
3998<DT><b><a name="ipc_idle">ipc_idle</a>
3999(default: version dependent)</b></DT><DD>
4000
4001<p>
4002The time after which a client closes an idle internal communication
4003channel.  The purpose is to allow Postfix daemon processes to
4004terminate voluntarily after they become idle. This is used, for
4005example, by the Postfix address resolving and rewriting clients.
4006</p>
4007
4008<p> With Postfix 2.4 the default value was reduced from 100s to 5s. </p>
4009
4010<p>
4011Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4012The default time unit is s (seconds).
4013</p>
4014
4015
4016</DD>
4017
4018<DT><b><a name="ipc_timeout">ipc_timeout</a>
4019(default: 3600s)</b></DT><DD>
4020
4021<p>
4022The time limit for sending or receiving information over an internal
4023communication channel.  The purpose is to break out of deadlock
4024situations. If the time limit is exceeded the software aborts with a
4025fatal error.
4026</p>
4027
4028<p>
4029Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4030The default time unit is s (seconds).
4031</p>
4032
4033
4034</DD>
4035
4036<DT><b><a name="ipc_ttl">ipc_ttl</a>
4037(default: 1000s)</b></DT><DD>
4038
4039<p>
4040The time after which a client closes an active internal communication
4041channel.  The purpose is to allow Postfix daemon processes to
4042terminate voluntarily
4043after reaching their client limit.  This is used, for example, by
4044the Postfix address resolving and rewriting clients.
4045</p>
4046
4047<p>
4048Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4049The default time unit is s (seconds).
4050</p>
4051
4052<p>
4053This feature is available in Postfix 2.1 and later.
4054</p>
4055
4056
4057</DD>
4058
4059<DT><b><a name="line_length_limit">line_length_limit</a>
4060(default: 2048)</b></DT><DD>
4061
4062<p> Upon input, long lines are chopped up into pieces of at most
4063this length; upon delivery, long lines are reconstructed.  </p>
4064
4065
4066</DD>
4067
4068<DT><b><a name="lmdb_map_size">lmdb_map_size</a>
4069(default: 16777216)</b></DT><DD>
4070
4071<p>
4072The initial OpenLDAP LMDB database size limit in bytes.  Each time
4073a database becomes full, its size limit is doubled.
4074</p>
4075
4076<p>
4077This feature is available in Postfix 2.11 and later.
4078</p>
4079
4080
4081</DD>
4082
4083<DT><b><a name="lmtp_address_preference">lmtp_address_preference</a>
4084(default: ipv6)</b></DT><DD>
4085
4086<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a>
4087configuration parameter.  See there for details. </p>
4088
4089<p> This feature is available in Postfix 2.8 and later.  </p>
4090
4091
4092</DD>
4093
4094<DT><b><a name="lmtp_address_verify_target">lmtp_address_verify_target</a>
4095(default: rcpt)</b></DT><DD>
4096
4097<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a>
4098configuration parameter.  See there for details. </p>
4099
4100<p> This feature is available in Postfix 3.0 and later.  </p>
4101
4102
4103</DD>
4104
4105<DT><b><a name="lmtp_assume_final">lmtp_assume_final</a>
4106(default: no)</b></DT><DD>
4107
4108<p> When a remote LMTP server announces no DSN support, assume that
4109the
4110server performs final delivery, and send "delivered" delivery status
4111notifications instead of "relayed". The default setting is backwards
4112compatible to avoid the infinitesimal possibility of breaking
4113existing LMTP-based content filters. </p>
4114
4115
4116</DD>
4117
4118<DT><b><a name="lmtp_bind_address">lmtp_bind_address</a>
4119(default: empty)</b></DT><DD>
4120
4121<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> configuration
4122parameter.  See there for details. </p>
4123
4124<p> This feature is available in Postfix 2.3 and later. </p>
4125
4126
4127</DD>
4128
4129<DT><b><a name="lmtp_bind_address6">lmtp_bind_address6</a>
4130(default: empty)</b></DT><DD>
4131
4132<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> configuration
4133parameter.  See there for details. </p>
4134
4135<p> This feature is available in Postfix 2.3 and later. </p>
4136
4137
4138</DD>
4139
4140<DT><b><a name="lmtp_body_checks">lmtp_body_checks</a>
4141(default: empty)</b></DT><DD>
4142
4143<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_body_checks">smtp_body_checks</a> configuration
4144parameter. See there for details. </p>
4145
4146<p> This feature is available in Postfix 2.5 and later. </p>
4147
4148
4149</DD>
4150
4151<DT><b><a name="lmtp_cache_connection">lmtp_cache_connection</a>
4152(default: yes)</b></DT><DD>
4153
4154<p>
4155Keep Postfix LMTP client connections open for up to $<a href="postconf.5.html#max_idle">max_idle</a>
4156seconds. When the LMTP client receives a request for the same
4157connection the connection is reused.
4158</p>
4159
4160<p> This parameter is available in Postfix version 2.2 and earlier.
4161With Postfix version 2.3 and later, see <a href="postconf.5.html#lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>,
4162<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>.
4163</p>
4164
4165<p>
4166The effectiveness of cached connections will be determined by the
4167number of remote LMTP servers in use, and the concurrency limit specified
4168for the Postfix LMTP client. Cached connections are closed under any of
4169the following conditions:
4170</p>
4171
4172<ul>
4173
4174<li> The Postfix LMTP client idle time limit is reached.  This limit is
4175specified with the Postfix <a href="postconf.5.html#max_idle">max_idle</a> configuration parameter.
4176
4177<li> A delivery request specifies a different destination than the
4178one currently cached.
4179
4180<li> The per-process limit on the number of delivery requests is
4181reached.  This limit is specified with the Postfix <a href="postconf.5.html#max_use">max_use</a>
4182configuration parameter.
4183
4184<li> Upon the onset of another delivery request, the remote LMTP server
4185associated with the current session does not respond to the RSET
4186command.
4187
4188</ul>
4189
4190<p>
4191Most of these limitations have been with the Postfix
4192a connection cache that is shared among multiple LMTP client
4193programs.
4194</p>
4195
4196
4197</DD>
4198
4199<DT><b><a name="lmtp_cname_overrides_servername">lmtp_cname_overrides_servername</a>
4200(default: yes)</b></DT><DD>
4201
4202<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
4203configuration parameter.  See there for details. </p>
4204
4205<p> This feature is available in Postfix 2.3 and later. </p>
4206
4207
4208</DD>
4209
4210<DT><b><a name="lmtp_connect_timeout">lmtp_connect_timeout</a>
4211(default: 0s)</b></DT><DD>
4212
4213<p> The Postfix LMTP client time limit for completing a TCP connection, or
4214zero (use the operating system built-in time limit).  When no
4215connection can be made within the deadline, the LMTP client tries
4216the next address on the mail exchanger list.  </p>
4217
4218<p>
4219Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4220The default time unit is s (seconds).
4221</p>
4222
4223<p>
4224Example:
4225</p>
4226
4227<pre>
4228<a href="postconf.5.html#lmtp_connect_timeout">lmtp_connect_timeout</a> = 30s
4229</pre>
4230
4231
4232</DD>
4233
4234<DT><b><a name="lmtp_connection_cache_destinations">lmtp_connection_cache_destinations</a>
4235(default: empty)</b></DT><DD>
4236
4237<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
4238configuration parameter.  See there for details. </p>
4239
4240<p> This feature is available in Postfix 2.3 and later. </p>
4241
4242
4243</DD>
4244
4245<DT><b><a name="lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>
4246(default: yes)</b></DT><DD>
4247
4248<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
4249configuration parameter.  See there for details. </p>
4250
4251<p> This feature is available in Postfix 2.3 and later. </p>
4252
4253
4254</DD>
4255
4256<DT><b><a name="lmtp_connection_cache_time_limit">lmtp_connection_cache_time_limit</a>
4257(default: 2s)</b></DT><DD>
4258
4259<p> The LMTP-specific version of the
4260<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> configuration parameter.
4261See there for details. </p>
4262
4263<p> This feature is available in Postfix 2.3 and later. </p>
4264
4265
4266</DD>
4267
4268<DT><b><a name="lmtp_connection_reuse_count_limit">lmtp_connection_reuse_count_limit</a>
4269(default: 0)</b></DT><DD>
4270
4271<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a>
4272configuration parameter.  See there for details. </p>
4273
4274<p> This feature is available in Postfix 2.11 and later. </p>
4275
4276
4277</DD>
4278
4279<DT><b><a name="lmtp_connection_reuse_time_limit">lmtp_connection_reuse_time_limit</a>
4280(default: 300s)</b></DT><DD>
4281
4282<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
4283configuration parameter.  See there for details. </p>
4284
4285<p> This feature is available in Postfix 2.3 and later. </p>
4286
4287
4288</DD>
4289
4290<DT><b><a name="lmtp_data_done_timeout">lmtp_data_done_timeout</a>
4291(default: 600s)</b></DT><DD>
4292
4293<p> The Postfix LMTP client time limit for sending the LMTP ".",
4294and for receiving the remote LMTP server response.  When no response
4295is received within the deadline, a warning is logged that the mail
4296may be delivered multiple times.  </p>
4297
4298<p>
4299Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4300The default time unit is s (seconds).
4301</p>
4302
4303
4304</DD>
4305
4306<DT><b><a name="lmtp_data_init_timeout">lmtp_data_init_timeout</a>
4307(default: 120s)</b></DT><DD>
4308
4309<p>
4310The Postfix LMTP client time limit for sending the LMTP DATA command,
4311and
4312for receiving the remote LMTP server response.
4313</p>
4314
4315<p>
4316Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4317The default time unit is s (seconds).
4318</p>
4319
4320
4321</DD>
4322
4323<DT><b><a name="lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
4324(default: 180s)</b></DT><DD>
4325
4326<p>
4327The Postfix LMTP client time limit for sending the LMTP message
4328content.
4329When the connection stalls for more than $<a href="postconf.5.html#lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
4330the LMTP client terminates the transfer.
4331</p>
4332
4333<p>
4334Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4335The default time unit is s (seconds).
4336</p>
4337
4338
4339</DD>
4340
4341<DT><b><a name="lmtp_defer_if_no_mx_address_found">lmtp_defer_if_no_mx_address_found</a>
4342(default: no)</b></DT><DD>
4343
4344<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>
4345configuration parameter.  See there for details. </p>
4346
4347<p> This feature is available in Postfix 2.3 and later. </p>
4348
4349
4350</DD>
4351
4352<DT><b><a name="lmtp_delivery_status_filter">lmtp_delivery_status_filter</a>
4353(default: empty)</b></DT><DD>
4354
4355<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a>
4356configuration parameter.  See there for details. </p>
4357
4358<p> This feature is available in Postfix 3.0 and later. </p>
4359
4360
4361</DD>
4362
4363<DT><b><a name="lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a>
4364(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
4365
4366<p> The maximal number of parallel deliveries to the same destination
4367via the lmtp message delivery transport. This limit is enforced by
4368the queue manager. The message delivery transport name is the first
4369field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
4370
4371
4372</DD>
4373
4374<DT><b><a name="lmtp_destination_recipient_limit">lmtp_destination_recipient_limit</a>
4375(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
4376
4377<p> The maximal number of recipients per message for the lmtp
4378message delivery transport. This limit is enforced by the queue
4379manager. The message delivery transport name is the first field in
4380the entry in the <a href="master.5.html">master.cf</a> file.  </p>
4381
4382<p> Setting this parameter to a value of 1 changes the meaning of
4383<a href="postconf.5.html#lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a> from concurrency per domain into
4384concurrency per recipient.  </p>
4385
4386
4387</DD>
4388
4389<DT><b><a name="lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a>
4390(default: empty)</b></DT><DD>
4391
4392<p> Lookup tables, indexed by the remote LMTP server address, with
4393case insensitive lists of LHLO keywords (pipelining, starttls,
4394auth, etc.) that the Postfix LMTP client will ignore in the LHLO
4395response
4396from a remote LMTP server. See <a href="postconf.5.html#lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a> for
4397details. The table is not indexed by hostname for consistency with
4398<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
4399
4400<p> This feature is available in Postfix 2.3 and later. </p>
4401
4402
4403</DD>
4404
4405<DT><b><a name="lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a>
4406(default: empty)</b></DT><DD>
4407
4408<p> A case insensitive list of LHLO keywords (pipelining, starttls,
4409auth, etc.) that the Postfix LMTP client will ignore in the LHLO
4410response
4411from a remote LMTP server. </p>
4412
4413<p> This feature is available in Postfix 2.3 and later. </p>
4414
4415<p> Notes: </p>
4416
4417<ul>
4418
4419<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
4420this action from being logged. </p>
4421
4422<li> <p> Use the <a href="postconf.5.html#lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a> feature to
4423discard LHLO keywords selectively. </p>
4424
4425</ul>
4426
4427
4428</DD>
4429
4430<DT><b><a name="lmtp_dns_reply_filter">lmtp_dns_reply_filter</a>
4431(default: empty)</b></DT><DD>
4432
4433<p> Optional filter for Postfix LMTP client DNS lookup results.
4434See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example.  </p>
4435
4436<p> This feature is available in Postfix 3.0 and later. </p>
4437
4438
4439</DD>
4440
4441<DT><b><a name="lmtp_dns_resolver_options">lmtp_dns_resolver_options</a>
4442(default: empty)</b></DT><DD>
4443
4444<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_resolver_options">smtp_dns_resolver_options</a>
4445configuration parameter.  See there for details. </p>
4446
4447<p> This feature is available in Postfix 2.8 and later.  </p>
4448
4449
4450</DD>
4451
4452<DT><b><a name="lmtp_dns_support_level">lmtp_dns_support_level</a>
4453(default: empty)</b></DT><DD>
4454
4455<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>
4456configuration parameter.  See there for details.  </p>
4457
4458<p> This feature is available in Postfix 2.11 and later.  </p>
4459
4460
4461</DD>
4462
4463<DT><b><a name="lmtp_enforce_tls">lmtp_enforce_tls</a>
4464(default: no)</b></DT><DD>
4465
4466<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> configuration
4467parameter.  See there for details. </p>
4468
4469<p> This feature is available in Postfix 2.3 and later. </p>
4470
4471
4472</DD>
4473
4474<DT><b><a name="lmtp_fallback_relay">lmtp_fallback_relay</a>
4475(default: empty)</b></DT><DD>
4476
4477<p> Optional list of relay hosts for LMTP destinations that can't be
4478found or that are unreachable.  In <a href="postconf.5.html">main.cf</a> elements are separated by
4479whitespace or commas.  </p>
4480
4481<p> By default, mail is returned to the sender when a destination is not
4482found, and delivery is deferred when a destination is unreachable.  </p>
4483
4484<p> The fallback relays must be TCP destinations, specified without
4485a leading "inet:" prefix.  Specify a host or host:port.  Since MX
4486lookups do not apply with LMTP, there is no need to use the "[host]" or
4487"[host]:port" forms.  If you specify multiple LMTP destinations, Postfix
4488will try them in the specified order.  </p>
4489
4490<p>
4491This feature is available in Postfix 3.1 and later.
4492</p>
4493
4494
4495</DD>
4496
4497<DT><b><a name="lmtp_generic_maps">lmtp_generic_maps</a>
4498(default: empty)</b></DT><DD>
4499
4500<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_generic_maps">smtp_generic_maps</a> configuration
4501parameter.  See there for details. </p>
4502
4503<p> This feature is available in Postfix 2.3 and later. </p>
4504
4505
4506</DD>
4507
4508<DT><b><a name="lmtp_header_checks">lmtp_header_checks</a>
4509(default: empty)</b></DT><DD>
4510
4511<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_header_checks">smtp_header_checks</a> configuration
4512parameter. See there for details. </p>
4513
4514<p> This feature is available in Postfix 2.5 and later. </p>
4515
4516
4517</DD>
4518
4519<DT><b><a name="lmtp_host_lookup">lmtp_host_lookup</a>
4520(default: dns)</b></DT><DD>
4521
4522<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a> configuration
4523parameter.  See there for details. </p>
4524
4525<p> This feature is available in Postfix 2.3 and later. </p>
4526
4527
4528</DD>
4529
4530<DT><b><a name="lmtp_lhlo_name">lmtp_lhlo_name</a>
4531(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
4532
4533<p>
4534The hostname to send in the LMTP LHLO command.
4535</p>
4536
4537<p>
4538The default value is the machine hostname.  Specify a hostname or
4539[ip.add.re.ss].
4540</p>
4541
4542<p>
4543This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all LMTP
4544clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
4545client, for example:
4546</p>
4547
4548<blockquote>
4549<pre>
4550/etc/postfix/<a href="master.5.html">master.cf</a>:
4551    mylmtp ... lmtp -o <a href="postconf.5.html#lmtp_lhlo_name">lmtp_lhlo_name</a>=foo.bar.com
4552</pre>
4553</blockquote>
4554
4555<p>
4556This feature is available in Postfix 2.3 and later.
4557</p>
4558
4559
4560</DD>
4561
4562<DT><b><a name="lmtp_lhlo_timeout">lmtp_lhlo_timeout</a>
4563(default: 300s)</b></DT><DD>
4564
4565<p> The Postfix LMTP client time limit for sending the LHLO command,
4566and for receiving the initial remote LMTP server response. </p>
4567
4568<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
4569(weeks).  The default time unit is s (seconds).  </p>
4570
4571
4572</DD>
4573
4574<DT><b><a name="lmtp_line_length_limit">lmtp_line_length_limit</a>
4575(default: 990)</b></DT><DD>
4576
4577<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_line_length_limit">smtp_line_length_limit</a>
4578configuration parameter.  See there for details. </p>
4579
4580<p> This feature is available in Postfix 2.3 and later. </p>
4581
4582
4583</DD>
4584
4585<DT><b><a name="lmtp_mail_timeout">lmtp_mail_timeout</a>
4586(default: 300s)</b></DT><DD>
4587
4588<p>
4589The Postfix LMTP client time limit for sending the MAIL FROM command,
4590and for receiving the remote LMTP server response.
4591</p>
4592
4593<p>
4594Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4595The default time unit is s (seconds).
4596</p>
4597
4598
4599</DD>
4600
4601<DT><b><a name="lmtp_mime_header_checks">lmtp_mime_header_checks</a>
4602(default: empty)</b></DT><DD>
4603
4604<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mime_header_checks">smtp_mime_header_checks</a>
4605configuration parameter. See there for details. </p>
4606
4607<p> This feature is available in Postfix 2.5 and later. </p>
4608
4609
4610</DD>
4611
4612<DT><b><a name="lmtp_mx_address_limit">lmtp_mx_address_limit</a>
4613(default: 5)</b></DT><DD>
4614
4615<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a> configuration
4616parameter.  See there for details. </p>
4617
4618<p> This feature is available in Postfix 2.3 and later. </p>
4619
4620
4621</DD>
4622
4623<DT><b><a name="lmtp_mx_session_limit">lmtp_mx_session_limit</a>
4624(default: 2)</b></DT><DD>
4625
4626<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_session_limit">smtp_mx_session_limit</a> configuration
4627parameter.  See there for details. </p>
4628
4629<p> This feature is available in Postfix 2.3 and later. </p>
4630
4631
4632</DD>
4633
4634<DT><b><a name="lmtp_nested_header_checks">lmtp_nested_header_checks</a>
4635(default: empty)</b></DT><DD>
4636
4637<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_nested_header_checks">smtp_nested_header_checks</a>
4638configuration parameter. See there for details. </p>
4639
4640<p> This feature is available in Postfix 2.5 and later. </p>
4641
4642
4643</DD>
4644
4645<DT><b><a name="lmtp_per_record_deadline">lmtp_per_record_deadline</a>
4646(default: no)</b></DT><DD>
4647
4648<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a>
4649configuration parameter.  See there for details. </p>
4650
4651<p> This feature is available in Postfix 2.9 and later.  </p>
4652
4653
4654</DD>
4655
4656<DT><b><a name="lmtp_pix_workaround_delay_time">lmtp_pix_workaround_delay_time</a>
4657(default: 10s)</b></DT><DD>
4658
4659<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
4660configuration parameter.  See there for details. </p>
4661
4662<p> This feature is available in Postfix 2.3 and later. </p>
4663
4664
4665</DD>
4666
4667<DT><b><a name="lmtp_pix_workaround_maps">lmtp_pix_workaround_maps</a>
4668(default: empty)</b></DT><DD>
4669
4670<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
4671configuration parameter.  See there for details. </p>
4672
4673<p> This feature is available in Postfix 2.4 and later. </p>
4674
4675
4676</DD>
4677
4678<DT><b><a name="lmtp_pix_workaround_threshold_time">lmtp_pix_workaround_threshold_time</a>
4679(default: 500s)</b></DT><DD>
4680
4681<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
4682configuration parameter.  See there for details. </p>
4683
4684<p> This feature is available in Postfix 2.3 and later. </p>
4685
4686
4687</DD>
4688
4689<DT><b><a name="lmtp_pix_workarounds">lmtp_pix_workarounds</a>
4690(default: empty)</b></DT><DD>
4691
4692<p> The LMTP-specific version of the smtp_pix_workaround
4693configuration parameter.  See there for details. </p>
4694
4695<p> This feature is available in Postfix 2.4 and later. </p>
4696
4697
4698</DD>
4699
4700<DT><b><a name="lmtp_quit_timeout">lmtp_quit_timeout</a>
4701(default: 300s)</b></DT><DD>
4702
4703<p>
4704The Postfix LMTP client time limit for sending the QUIT command,
4705and for receiving the remote LMTP server response.
4706</p>
4707
4708<p>
4709Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4710The default time unit is s (seconds).
4711</p>
4712
4713
4714</DD>
4715
4716<DT><b><a name="lmtp_quote_rfc821_envelope">lmtp_quote_rfc821_envelope</a>
4717(default: yes)</b></DT><DD>
4718
4719<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
4720configuration parameter.  See there for details. </p>
4721
4722<p> This feature is available in Postfix 2.3 and later. </p>
4723
4724
4725</DD>
4726
4727<DT><b><a name="lmtp_randomize_addresses">lmtp_randomize_addresses</a>
4728(default: yes)</b></DT><DD>
4729
4730<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_randomize_addresses">smtp_randomize_addresses</a>
4731configuration parameter.  See there for details. </p>
4732
4733<p> This feature is available in Postfix 2.3 and later. </p>
4734
4735
4736</DD>
4737
4738<DT><b><a name="lmtp_rcpt_timeout">lmtp_rcpt_timeout</a>
4739(default: 300s)</b></DT><DD>
4740
4741<p>
4742The Postfix LMTP client time limit for sending the RCPT TO command,
4743and for receiving the remote LMTP server response.
4744</p>
4745
4746<p>
4747Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4748The default time unit is s (seconds).
4749</p>
4750
4751
4752</DD>
4753
4754<DT><b><a name="lmtp_reply_filter">lmtp_reply_filter</a>
4755(default: empty)</b></DT><DD>
4756
4757<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a>
4758configuration parameter.  See there for details. </p>
4759
4760<p> This feature is available in Postfix 2.7 and later. </p>
4761
4762
4763</DD>
4764
4765<DT><b><a name="lmtp_rset_timeout">lmtp_rset_timeout</a>
4766(default: 20s)</b></DT><DD>
4767
4768<p> The Postfix LMTP client time limit for sending the RSET command,
4769and for receiving the remote LMTP server response. The LMTP client
4770sends RSET in
4771order to finish a recipient address probe, or to verify that a
4772cached connection is still alive.  </p>
4773
4774<p>
4775Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4776The default time unit is s (seconds).
4777</p>
4778
4779
4780</DD>
4781
4782<DT><b><a name="lmtp_sasl_auth_cache_name">lmtp_sasl_auth_cache_name</a>
4783(default: empty)</b></DT><DD>
4784
4785<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
4786configuration parameter.  See there for details. </p>
4787
4788<p> This feature is available in Postfix 2.5 and later. </p>
4789
4790
4791</DD>
4792
4793<DT><b><a name="lmtp_sasl_auth_cache_time">lmtp_sasl_auth_cache_time</a>
4794(default: 90d)</b></DT><DD>
4795
4796<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
4797configuration parameter.  See there for details. </p>
4798
4799<p> This feature is available in Postfix 2.5 and later. </p>
4800
4801
4802</DD>
4803
4804<DT><b><a name="lmtp_sasl_auth_enable">lmtp_sasl_auth_enable</a>
4805(default: no)</b></DT><DD>
4806
4807<p>
4808Enable SASL authentication in the Postfix LMTP client.
4809</p>
4810
4811
4812</DD>
4813
4814<DT><b><a name="lmtp_sasl_auth_soft_bounce">lmtp_sasl_auth_soft_bounce</a>
4815(default: yes)</b></DT><DD>
4816
4817<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
4818configuration parameter.  See there for details. </p>
4819
4820<p> This feature is available in Postfix 2.5 and later. </p>
4821
4822
4823</DD>
4824
4825<DT><b><a name="lmtp_sasl_mechanism_filter">lmtp_sasl_mechanism_filter</a>
4826(default: empty)</b></DT><DD>
4827
4828<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
4829configuration parameter.  See there for details. </p>
4830
4831<p> This feature is available in Postfix 2.3 and later. </p>
4832
4833
4834</DD>
4835
4836<DT><b><a name="lmtp_sasl_password_maps">lmtp_sasl_password_maps</a>
4837(default: empty)</b></DT><DD>
4838
4839<p>
4840Optional Postfix LMTP client lookup tables with one username:password entry
4841per host or domain.  If a remote host or domain has no username:password
4842entry, then the Postfix LMTP client will not attempt to authenticate
4843to the remote host.
4844</p>
4845
4846
4847</DD>
4848
4849<DT><b><a name="lmtp_sasl_path">lmtp_sasl_path</a>
4850(default: empty)</b></DT><DD>
4851
4852<p> Implementation-specific information that is passed through to
4853the SASL plug-in implementation that is selected with
4854<b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>.  Typically this specifies the name of a
4855configuration file or rendezvous point. </p>
4856
4857<p> This feature is available in Postfix 2.3 and later. </p>
4858
4859
4860</DD>
4861
4862<DT><b><a name="lmtp_sasl_security_options">lmtp_sasl_security_options</a>
4863(default: noplaintext, noanonymous)</b></DT><DD>
4864
4865<p> SASL security options; as of Postfix 2.3 the list of available
4866features depends on the SASL client implementation that is selected
4867with <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>.  </p>
4868
4869<p> The following security features are defined for the <b>cyrus</b>
4870client SASL implementation: </p>
4871
4872<dl>
4873
4874<dt><b>noplaintext</b></dt>
4875
4876<dd>Disallow authentication methods that use plaintext passwords. </dd>
4877
4878<dt><b>noactive</b></dt>
4879
4880<dd>Disallow authentication methods that are vulnerable to non-dictionary
4881active attacks. </dd>
4882
4883<dt><b>nodictionary</b></dt>
4884
4885<dd>Disallow authentication methods that are vulnerable to passive
4886dictionary attack. </dd>
4887
4888<dt><b>noanonymous</b></dt>
4889
4890<dd>Disallow anonymous logins. </dd>
4891
4892</dl>
4893
4894<p>
4895Example:
4896</p>
4897
4898<pre>
4899<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a> = noplaintext
4900</pre>
4901
4902
4903</DD>
4904
4905<DT><b><a name="lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>
4906(default: $<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a>)</b></DT><DD>
4907
4908<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
4909configuration parameter.  See there for details. </p>
4910
4911<p> This feature is available in Postfix 2.3 and later. </p>
4912
4913
4914</DD>
4915
4916<DT><b><a name="lmtp_sasl_tls_verified_security_options">lmtp_sasl_tls_verified_security_options</a>
4917(default: $<a href="postconf.5.html#lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>)</b></DT><DD>
4918
4919<p> The LMTP-specific version of the
4920<a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> configuration parameter.
4921See there for details. </p>
4922
4923<p> This feature is available in Postfix 2.3 and later. </p>
4924
4925
4926</DD>
4927
4928<DT><b><a name="lmtp_sasl_type">lmtp_sasl_type</a>
4929(default: cyrus)</b></DT><DD>
4930
4931<p> The SASL plug-in type that the Postfix LMTP client should use
4932for authentication.  The available types are listed with the
4933"<b>postconf -A</b>" command. </p>
4934
4935<p> This feature is available in Postfix 2.3 and later. </p>
4936
4937
4938</DD>
4939
4940<DT><b><a name="lmtp_send_dummy_mail_auth">lmtp_send_dummy_mail_auth</a>
4941(default: no)</b></DT><DD>
4942
4943<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
4944configuration parameter.  See there for details. </p>
4945
4946<p> This feature is available in Postfix 2.9 and later.  </p>
4947
4948
4949</DD>
4950
4951<DT><b><a name="lmtp_send_xforward_command">lmtp_send_xforward_command</a>
4952(default: no)</b></DT><DD>
4953
4954<p>
4955Send an XFORWARD command to the remote LMTP server when the LMTP LHLO
4956server response announces XFORWARD support.  This allows an <a href="lmtp.8.html">lmtp(8)</a>
4957delivery agent, used for content filter message injection, to
4958forward the name, address, protocol and HELO name of the original
4959client to the content filter and downstream queuing LMTP server.
4960Before you change the value to yes, it is best to make sure that
4961your content filter supports this command.
4962</p>
4963
4964<p>
4965This feature is available in Postfix 2.1 and later.
4966</p>
4967
4968
4969</DD>
4970
4971<DT><b><a name="lmtp_sender_dependent_authentication">lmtp_sender_dependent_authentication</a>
4972(default: no)</b></DT><DD>
4973
4974<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
4975configuration parameter.  See there for details. </p>
4976
4977<p> This feature is available in Postfix 2.3 and later. </p>
4978
4979
4980</DD>
4981
4982<DT><b><a name="lmtp_skip_5xx_greeting">lmtp_skip_5xx_greeting</a>
4983(default: yes)</b></DT><DD>
4984
4985<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
4986configuration parameter.  See there for details. </p>
4987
4988<p> This feature is available in Postfix 2.3 and later. </p>
4989
4990
4991</DD>
4992
4993<DT><b><a name="lmtp_skip_quit_response">lmtp_skip_quit_response</a>
4994(default: no)</b></DT><DD>
4995
4996<p>
4997Wait for the response to the LMTP QUIT command.
4998</p>
4999
5000
5001</DD>
5002
5003<DT><b><a name="lmtp_starttls_timeout">lmtp_starttls_timeout</a>
5004(default: 300s)</b></DT><DD>
5005
5006<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_starttls_timeout">smtp_starttls_timeout</a> configuration
5007parameter.  See there for details. </p>
5008
5009<p> This feature is available in Postfix 2.3 and later. </p>
5010
5011
5012</DD>
5013
5014<DT><b><a name="lmtp_tcp_port">lmtp_tcp_port</a>
5015(default: 24)</b></DT><DD>
5016
5017<p>
5018The default TCP port that the Postfix LMTP client connects to.
5019</p>
5020
5021
5022</DD>
5023
5024<DT><b><a name="lmtp_tls_CAfile">lmtp_tls_CAfile</a>
5025(default: empty)</b></DT><DD>
5026
5027<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>
5028configuration parameter.  See there for details. </p>
5029
5030<p> This feature is available in Postfix 2.3 and later. </p>
5031
5032
5033</DD>
5034
5035<DT><b><a name="lmtp_tls_CApath">lmtp_tls_CApath</a>
5036(default: empty)</b></DT><DD>
5037
5038<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a>
5039configuration parameter.  See there for details. </p>
5040
5041<p> This feature is available in Postfix 2.3 and later. </p>
5042
5043
5044</DD>
5045
5046<DT><b><a name="lmtp_tls_block_early_mail_reply">lmtp_tls_block_early_mail_reply</a>
5047(default: empty)</b></DT><DD>
5048
5049<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>
5050configuration parameter.  See there for details. </p>
5051
5052<p> This feature is available in Postfix 2.7 and later. </p>
5053
5054
5055</DD>
5056
5057<DT><b><a name="lmtp_tls_cert_file">lmtp_tls_cert_file</a>
5058(default: empty)</b></DT><DD>
5059
5060<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>
5061configuration parameter.  See there for details. </p>
5062
5063<p> This feature is available in Postfix 2.3 and later. </p>
5064
5065
5066</DD>
5067
5068<DT><b><a name="lmtp_tls_ciphers">lmtp_tls_ciphers</a>
5069(default: medium)</b></DT><DD>
5070
5071<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> configuration
5072parameter. See there for details. </p>
5073
5074<p> This feature is available in Postfix 2.6 and later. </p>
5075
5076
5077</DD>
5078
5079<DT><b><a name="lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>
5080(default: empty)</b></DT><DD>
5081
5082<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>
5083configuration parameter.  See there for details. </p>
5084
5085<p> This feature is available in Postfix 2.3 and later. </p>
5086
5087
5088</DD>
5089
5090<DT><b><a name="lmtp_tls_dkey_file">lmtp_tls_dkey_file</a>
5091(default: $<a href="postconf.5.html#lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>)</b></DT><DD>
5092
5093<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a>
5094configuration parameter.  See there for details. </p>
5095
5096<p> This feature is available in Postfix 2.3 and later. </p>
5097
5098
5099</DD>
5100
5101<DT><b><a name="lmtp_tls_eccert_file">lmtp_tls_eccert_file</a>
5102(default: empty)</b></DT><DD>
5103
5104<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> configuration
5105parameter.  See there for details. </p>
5106
5107<p> This feature is available in Postfix 2.6 and later, when Postfix is
5108compiled and linked with OpenSSL 1.0.0 or later. </p>
5109
5110
5111</DD>
5112
5113<DT><b><a name="lmtp_tls_eckey_file">lmtp_tls_eckey_file</a>
5114(default: empty)</b></DT><DD>
5115
5116<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> configuration
5117parameter.  See there for details. </p>
5118
5119<p> This feature is available in Postfix 2.6 and later, when Postfix is
5120compiled and linked with OpenSSL 1.0.0 or later. </p>
5121
5122
5123</DD>
5124
5125<DT><b><a name="lmtp_tls_enforce_peername">lmtp_tls_enforce_peername</a>
5126(default: yes)</b></DT><DD>
5127
5128<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
5129configuration parameter.  See there for details. </p>
5130
5131<p> This feature is available in Postfix 2.3 and later. </p>
5132
5133
5134</DD>
5135
5136<DT><b><a name="lmtp_tls_exclude_ciphers">lmtp_tls_exclude_ciphers</a>
5137(default: empty)</b></DT><DD>
5138
5139<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
5140configuration parameter.  See there for details. </p>
5141
5142<p> This feature is available in Postfix 2.3 and later. </p>
5143
5144
5145</DD>
5146
5147<DT><b><a name="lmtp_tls_fingerprint_cert_match">lmtp_tls_fingerprint_cert_match</a>
5148(default: empty)</b></DT><DD>
5149
5150<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
5151configuration parameter.  See there for details. </p>
5152
5153<p> This feature is available in Postfix 2.5 and later. </p>
5154
5155
5156</DD>
5157
5158<DT><b><a name="lmtp_tls_fingerprint_digest">lmtp_tls_fingerprint_digest</a>
5159(default: md5)</b></DT><DD>
5160
5161<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
5162configuration parameter.  See there for details. </p>
5163
5164<p> This feature is available in Postfix 2.5 and later. </p>
5165
5166
5167</DD>
5168
5169<DT><b><a name="lmtp_tls_force_insecure_host_tlsa_lookup">lmtp_tls_force_insecure_host_tlsa_lookup</a>
5170(default: no)</b></DT><DD>
5171
5172<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>
5173configuration parameter.  See there for details. </p>
5174
5175<p> This feature is available in Postfix 2.11 and later. </p>
5176
5177
5178</DD>
5179
5180<DT><b><a name="lmtp_tls_key_file">lmtp_tls_key_file</a>
5181(default: $<a href="postconf.5.html#lmtp_tls_cert_file">lmtp_tls_cert_file</a>)</b></DT><DD>
5182
5183<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a>
5184configuration parameter.  See there for details. </p>
5185
5186<p> This feature is available in Postfix 2.3 and later. </p>
5187
5188
5189</DD>
5190
5191<DT><b><a name="lmtp_tls_loglevel">lmtp_tls_loglevel</a>
5192(default: 0)</b></DT><DD>
5193
5194<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>
5195configuration parameter.  See there for details. </p>
5196
5197<p> This feature is available in Postfix 2.3 and later. </p>
5198
5199
5200</DD>
5201
5202<DT><b><a name="lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>
5203(default: medium)</b></DT><DD>
5204
5205<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
5206configuration parameter.  See there for details. </p>
5207
5208<p> This feature is available in Postfix 2.3 and later. </p>
5209
5210
5211</DD>
5212
5213<DT><b><a name="lmtp_tls_mandatory_exclude_ciphers">lmtp_tls_mandatory_exclude_ciphers</a>
5214(default: empty)</b></DT><DD>
5215
5216<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
5217configuration parameter.  See there for details. </p>
5218
5219<p> This feature is available in Postfix 2.3 and later. </p>
5220
5221
5222</DD>
5223
5224<DT><b><a name="lmtp_tls_mandatory_protocols">lmtp_tls_mandatory_protocols</a>
5225(default: !SSLv2, !SSLv3)</b></DT><DD>
5226
5227<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
5228configuration parameter. See there for details. </p>
5229
5230<p> This feature is available in Postfix 2.3 and later. </p>
5231
5232
5233</DD>
5234
5235<DT><b><a name="lmtp_tls_note_starttls_offer">lmtp_tls_note_starttls_offer</a>
5236(default: no)</b></DT><DD>
5237
5238<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
5239configuration parameter.  See there for details. </p>
5240
5241<p> This feature is available in Postfix 2.3 and later. </p>
5242
5243
5244</DD>
5245
5246<DT><b><a name="lmtp_tls_per_site">lmtp_tls_per_site</a>
5247(default: empty)</b></DT><DD>
5248
5249<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> configuration
5250parameter.  See there for details. </p>
5251
5252<p> This feature is available in Postfix 2.3 and later. </p>
5253
5254
5255</DD>
5256
5257<DT><b><a name="lmtp_tls_policy_maps">lmtp_tls_policy_maps</a>
5258(default: empty)</b></DT><DD>
5259
5260<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>
5261configuration parameter. See there for details. </p>
5262
5263<p> This feature is available in Postfix 2.3 and later. </p>
5264
5265
5266</DD>
5267
5268<DT><b><a name="lmtp_tls_protocols">lmtp_tls_protocols</a>
5269(default: !SSLv2, !SSLv3)</b></DT><DD>
5270
5271<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> configuration
5272parameter. See there for details. </p>
5273
5274<p> This feature is available in Postfix 2.6 and later. </p>
5275
5276
5277</DD>
5278
5279<DT><b><a name="lmtp_tls_scert_verifydepth">lmtp_tls_scert_verifydepth</a>
5280(default: 9)</b></DT><DD>
5281
5282<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
5283configuration parameter.  See there for details. </p>
5284
5285<p> This feature is available in Postfix 2.3 and later. </p>
5286
5287
5288</DD>
5289
5290<DT><b><a name="lmtp_tls_secure_cert_match">lmtp_tls_secure_cert_match</a>
5291(default: nexthop)</b></DT><DD>
5292
5293<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
5294configuration parameter. See there for details. </p>
5295
5296<p> This feature is available in Postfix 2.3 and later. </p>
5297
5298
5299</DD>
5300
5301<DT><b><a name="lmtp_tls_security_level">lmtp_tls_security_level</a>
5302(default: empty)</b></DT><DD>
5303
5304<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> configuration
5305parameter.  See there for details. </p>
5306
5307<p> This feature is available in Postfix 2.3 and later. </p>
5308
5309
5310</DD>
5311
5312<DT><b><a name="lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>
5313(default: empty)</b></DT><DD>
5314
5315<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
5316configuration parameter. See there for details. </p>
5317
5318<p> This feature is available in Postfix 2.3 and later. </p>
5319
5320
5321</DD>
5322
5323<DT><b><a name="lmtp_tls_session_cache_timeout">lmtp_tls_session_cache_timeout</a>
5324(default: 3600s)</b></DT><DD>
5325
5326<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
5327configuration parameter.  See there for details. </p>
5328
5329<p> This feature is available in Postfix 2.3 and later. </p>
5330
5331
5332</DD>
5333
5334<DT><b><a name="lmtp_tls_trust_anchor_file">lmtp_tls_trust_anchor_file</a>
5335(default: empty)</b></DT><DD>
5336
5337<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
5338configuration parameter.  See there for details.  </p>
5339
5340<p> This feature is available in Postfix 2.11 and later.  </p>
5341
5342
5343</DD>
5344
5345<DT><b><a name="lmtp_tls_verify_cert_match">lmtp_tls_verify_cert_match</a>
5346(default: hostname)</b></DT><DD>
5347
5348<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
5349configuration parameter. See there for details. </p>
5350
5351<p> This feature is available in Postfix 2.3 and later. </p>
5352
5353
5354</DD>
5355
5356<DT><b><a name="lmtp_use_tls">lmtp_use_tls</a>
5357(default: no)</b></DT><DD>
5358
5359<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> configuration
5360parameter.  See there for details. </p>
5361
5362<p> This feature is available in Postfix 2.3 and later. </p>
5363
5364
5365</DD>
5366
5367<DT><b><a name="lmtp_xforward_timeout">lmtp_xforward_timeout</a>
5368(default: 300s)</b></DT><DD>
5369
5370<p>
5371The Postfix LMTP client time limit for sending the XFORWARD command,
5372and for receiving the remote LMTP server response.
5373</p>
5374
5375<p>
5376In case of problems the client does NOT try the next address on
5377the mail exchanger list.
5378</p>
5379
5380<p>
5381Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
5382The default time unit is s (seconds).
5383</p>
5384
5385<p>
5386This feature is available in Postfix 2.1 and later.
5387</p>
5388
5389
5390</DD>
5391
5392<DT><b><a name="local_command_shell">local_command_shell</a>
5393(default: empty)</b></DT><DD>
5394
5395<p>
5396Optional shell program for <a href="local.8.html">local(8)</a> delivery to non-Postfix command.
5397By default, non-Postfix commands are executed directly; commands
5398are given to given to the default shell (typically, /bin/sh) only
5399when they contain shell meta characters or shell built-in commands.
5400</p>
5401
5402<p> "sendmail's restricted shell" (smrsh) is what most people will
5403use in order to restrict what programs can be run from e.g. .forward
5404files (smrsh is part of the Sendmail distribution).  </p>
5405
5406<p> Note: when a shell program is specified, it is invoked even
5407when the command contains no shell built-in commands or meta
5408characters.  </p>
5409
5410<p>
5411Example:
5412</p>
5413
5414<pre>
5415<a href="postconf.5.html#local_command_shell">local_command_shell</a> = /some/where/smrsh -c
5416<a href="postconf.5.html#local_command_shell">local_command_shell</a> = /bin/bash -c
5417</pre>
5418
5419
5420</DD>
5421
5422<DT><b><a name="local_delivery_status_filter">local_delivery_status_filter</a>
5423(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
5424
5425<p> Optional filter for the <a href="local.8.html">local(8)</a> delivery agent to change the
5426status code or explanatory text of successful or unsuccessful
5427deliveries.  See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details.  </p>
5428
5429<p> This feature is available in Postfix 3.0 and later. </p>
5430
5431
5432</DD>
5433
5434<DT><b><a name="local_destination_concurrency_limit">local_destination_concurrency_limit</a>
5435(default: 2)</b></DT><DD>
5436
5437<p> The maximal number of parallel deliveries via the local mail
5438delivery transport to the same recipient (when
5439"<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> = 1") or the maximal number of
5440parallel deliveries to the same <a href="ADDRESS_CLASS_README.html#local_domain_class">local domain</a> (when
5441"<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> &gt; 1"). This limit is enforced by
5442the queue manager. The message delivery transport name is the first
5443field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
5444
5445<p> A low limit of 2 is recommended, just in case someone has an
5446expensive shell command in a .forward file or in an alias (e.g.,
5447a mailing list manager).  You don't want to run lots of those at
5448the same time.  </p>
5449
5450
5451</DD>
5452
5453<DT><b><a name="local_destination_recipient_limit">local_destination_recipient_limit</a>
5454(default: 1)</b></DT><DD>
5455
5456<p> The maximal number of recipients per message delivery via the
5457local mail delivery transport. This limit is enforced by the queue
5458manager. The message delivery transport name is the first field in
5459the entry in the <a href="master.5.html">master.cf</a> file. </p>
5460
5461<p> Setting this parameter to a value &gt; 1 changes the meaning of
5462<a href="postconf.5.html#local_destination_concurrency_limit">local_destination_concurrency_limit</a> from concurrency per recipient
5463into concurrency per domain.  </p>
5464
5465
5466</DD>
5467
5468<DT><b><a name="local_header_rewrite_clients">local_header_rewrite_clients</a>
5469(default: <a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a>)</b></DT><DD>
5470
5471<p> Rewrite message header addresses in mail from these clients and
5472update incomplete addresses with the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or
5473$<a href="postconf.5.html#mydomain">mydomain</a>; either don't rewrite message headers from other clients
5474at all, or rewrite message headers and update incomplete addresses
5475with the domain specified in the <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>
5476parameter.  </p>
5477
5478<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
5479for details of how domain names are appended to incomplete addresses.
5480</p>
5481
5482<p> Specify a list of zero or more of the following:  </p>
5483
5484<dl>
5485
5486<dt><b><a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
5487
5488<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
5489client IP address matches $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. This is enabled by
5490default. </dd>
5491
5492<dt><b><a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a></b></dt>
5493
5494<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
5495client IP address matches any network or network address listed in
5496$<a href="postconf.5.html#mynetworks">mynetworks</a>. This setting will not prevent remote mail header
5497address rewriting when mail from a remote client is forwarded by
5498a neighboring system.  </dd>
5499
5500<dt><b><a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> </b></dt>
5501
5502<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
5503client is successfully authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH)
5504protocol. </dd>
5505
5506<dt><b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> </b></dt>
5507
5508<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
5509remote SMTP client TLS certificate fingerprint or public key fingerprint
5510(Postfix 2.9 and later) is listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
5511The fingerprint digest algorithm is configurable via the
5512<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
5513Postfix version 2.5).  </dd>
5514
5515<dt><b><a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a> </b></dt>
5516
5517<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
5518remote SMTP client TLS certificate is successfully verified, regardless of
5519whether it is listed on the server, and regardless of the certifying
5520authority. </dd>
5521
5522<dt><b><a name="check_address_map">check_address_map</a> <i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
5523
5524<dt><b><i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
5525
5526<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
5527client IP address matches the specified lookup table.
5528The lookup result is ignored, and no subnet lookup is done. This
5529is suitable for, e.g., pop-before-smtp lookup tables. </dd>
5530
5531</dl>
5532
5533<p> Examples:  </p>
5534
5535<p> The Postfix &lt; 2.2 backwards compatible setting: always rewrite
5536message headers, and always append my own domain to incomplete
5537header addresses.  </p>
5538
5539<blockquote>
5540<pre>
5541<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all
5542</pre>
5543</blockquote>
5544
5545<p> The purist (and default) setting: rewrite headers only in mail
5546from Postfix sendmail and in SMTP mail from this machine. </p>
5547
5548<blockquote>
5549<pre>
5550<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>
5551</pre>
5552</blockquote>
5553
5554<p> The intermediate setting: rewrite header addresses and append
5555$<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> information only with mail from Postfix
5556sendmail, from local clients, or from authorized SMTP clients. </p>
5557
5558<p> Note: this setting will not prevent remote mail header address
5559rewriting when mail from a remote client is forwarded by a neighboring
5560system.  </p>
5561
5562<blockquote>
5563<pre>
5564<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
5565    <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
5566    <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
5567</pre>
5568</blockquote>
5569
5570
5571</DD>
5572
5573<DT><b><a name="local_recipient_maps">local_recipient_maps</a>
5574(default: <a href="proxymap.8.html">proxy</a>:unix:passwd.byname $<a href="postconf.5.html#alias_maps">alias_maps</a>)</b></DT><DD>
5575
5576<p> Lookup tables with all names or addresses of local recipients:
5577a recipient address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
5578$<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.  Specify @domain as a
5579wild-card for domains that do not have a valid recipient list.
5580Technically, tables listed with $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> are used as
5581lists: Postfix needs to know only if a lookup string is found or
5582not, but it does not use the result from table lookup.  </p>
5583
5584<p>
5585Specify zero or more "type:name" lookup tables, separated by
5586whitespace or comma. Tables will be searched in the specified order
5587until a match is found.
5588</p>
5589
5590<p>
5591If this parameter is non-empty (the default), then the Postfix SMTP
5592server will reject mail for unknown local users.
5593</p>
5594
5595<p>
5596To turn off local recipient checking in the Postfix SMTP server,
5597specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty).
5598</p>
5599
5600<p>
5601The default setting assumes that you use the default Postfix local
5602delivery agent for local delivery. You need to update the
5603<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> setting if:
5604</p>
5605
5606<ul>
5607
5608<li>You redefine the local delivery agent in <a href="master.5.html">master.cf</a>.
5609
5610<li>You redefine the "<a href="postconf.5.html#local_transport">local_transport</a>" setting in <a href="postconf.5.html">main.cf</a>.
5611
5612<li>You use the "<a href="postconf.5.html#luser_relay">luser_relay</a>", "<a href="postconf.5.html#mailbox_transport">mailbox_transport</a>", or "<a href="postconf.5.html#fallback_transport">fallback_transport</a>"
5613feature of the Postfix <a href="local.8.html">local(8)</a> delivery agent.
5614
5615</ul>
5616
5617<p>
5618Details are described in the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> file.
5619</p>
5620
5621<p>
5622Beware: if the Postfix SMTP server runs chrooted, you need to access
5623the passwd file via the <a href="proxymap.8.html">proxymap(8)</a> service, in order to overcome
5624chroot access restrictions. The alternative, maintaining a copy of
5625the system password file in the chroot jail is not practical.
5626</p>
5627
5628<p>
5629Examples:
5630</p>
5631
5632<pre>
5633<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =
5634</pre>
5635
5636
5637</DD>
5638
5639<DT><b><a name="local_transport">local_transport</a>
5640(default: <a href="local.8.html">local</a>:$<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
5641
5642<p> The default mail delivery transport and next-hop destination
5643for final delivery to domains listed with <a href="postconf.5.html#mydestination">mydestination</a>, and for
5644[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>.
5645This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
5646
5647<p>
5648By default, local mail is delivered to the transport called "local",
5649which is just the name of a service that is defined the <a href="master.5.html">master.cf</a> file.
5650</p>
5651
5652<p>
5653Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
5654is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
5655The <i>:nexthop</i> destination is optional; its syntax is documented
5656in the manual page of the corresponding delivery agent.
5657</p>
5658
5659<p>
5660Beware: if you override the default local delivery agent then you
5661need to review the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> document, otherwise the
5662SMTP server may reject mail for local recipients.
5663</p>
5664
5665
5666</DD>
5667
5668<DT><b><a name="luser_relay">luser_relay</a>
5669(default: empty)</b></DT><DD>
5670
5671<p>
5672Optional catch-all destination for unknown <a href="local.8.html">local(8)</a> recipients.
5673By default, mail for unknown recipients in domains that match
5674$<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
5675as undeliverable.
5676</p>
5677
5678<p>
5679The following $name expansions are done on <a href="postconf.5.html#luser_relay">luser_relay</a>:
5680</p>
5681
5682<dl>
5683
5684<dt><b>$domain</b></dt>
5685
5686<dd>The recipient domain. </dd>
5687
5688<dt><b>$extension</b></dt>
5689
5690<dd>The recipient address extension. </dd>
5691
5692<dt><b>$home</b></dt>
5693
5694<dd>The recipient's home directory. </dd>
5695
5696<dt><b>$local</b></dt>
5697
5698<dd>The entire recipient address localpart. </dd>
5699
5700<dt><b>$recipient</b></dt>
5701
5702<dd>The full recipient address. </dd>
5703
5704<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
5705
5706<dd>The address extension delimiter that was found in the recipient
5707address (Postfix 2.11 and later), or the system-wide recipient
5708address extension delimiter (Postfix 2.10 and earlier). </dd>
5709
5710<dt><b>$shell</b></dt>
5711
5712<dd>The recipient's login shell. </dd>
5713
5714<dt><b>$user</b></dt>
5715
5716<dd>The recipient username. </dd>
5717
5718<dt><b>${name?value}</b></dt>
5719
5720<dd>Expands to <i>value</i> when <i>$name</i> has a non-empty value. </dd>
5721
5722<dt><b>${name:value}</b></dt>
5723
5724<dd>Expands to <i>value</i> when <i>$name</i> has an empty value. </dd>
5725
5726</dl>
5727
5728<p>
5729Instead of $name you can also specify ${name} or $(name).
5730</p>
5731
5732<p>
5733Note: <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.
5734</p>
5735
5736<p>
5737Note: if you use this feature for accounts not in the UNIX password
5738file, then you must specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty)
5739in the <a href="postconf.5.html">main.cf</a> file, otherwise the Postfix SMTP server will reject mail
5740for non-UNIX accounts with "User unknown in local recipient table".
5741</p>
5742
5743<p>
5744Examples:
5745</p>
5746
5747<pre>
5748<a href="postconf.5.html#luser_relay">luser_relay</a> = $user@other.host
5749<a href="postconf.5.html#luser_relay">luser_relay</a> = $local@other.host
5750<a href="postconf.5.html#luser_relay">luser_relay</a> = admin+$local
5751</pre>
5752
5753
5754</DD>
5755
5756<DT><b><a name="mail_name">mail_name</a>
5757(default: Postfix)</b></DT><DD>
5758
5759<p>
5760The mail system name that is displayed in Received: headers, in
5761the SMTP greeting banner, and in bounced mail.
5762</p>
5763
5764
5765</DD>
5766
5767<DT><b><a name="mail_owner">mail_owner</a>
5768(default: postfix)</b></DT><DD>
5769
5770<p>
5771The UNIX system account that owns the Postfix queue and most Postfix
5772daemon processes.  Specify the name of an unprivileged user account
5773that does not share a user or group ID with other accounts, and that
5774owns no other files
5775or processes on the system.  In particular, don't specify nobody
5776or daemon.  PLEASE USE A DEDICATED USER ID AND GROUP ID.
5777</p>
5778
5779<p>
5780When this parameter value is changed you need to re-run "<b>postfix
5781set-permissions</b>" (with Postfix version 2.0 and earlier:
5782"<b>/etc/postfix/post-install set-permissions</b>".
5783</p>
5784
5785
5786</DD>
5787
5788<DT><b><a name="mail_release_date">mail_release_date</a>
5789(default: see "postconf -d" output)</b></DT><DD>
5790
5791<p>
5792The Postfix release date, in "YYYYMMDD" format.
5793</p>
5794
5795
5796</DD>
5797
5798<DT><b><a name="mail_spool_directory">mail_spool_directory</a>
5799(default: see "postconf -d" output)</b></DT><DD>
5800
5801<p>
5802The directory where <a href="local.8.html">local(8)</a> UNIX-style mailboxes are kept. The
5803default setting depends on the system type. Specify a name ending
5804in / for maildir-style delivery.
5805</p>
5806
5807<p>
5808Note: maildir delivery is done with the privileges of the recipient.
5809If you use the <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> setting for maildir style
5810delivery, then you must create the top-level maildir directory in
5811advance. Postfix will not create it.
5812</p>
5813
5814<p>
5815Examples:
5816</p>
5817
5818<pre>
5819<a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/mail
5820<a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/spool/mail
5821</pre>
5822
5823
5824</DD>
5825
5826<DT><b><a name="mail_version">mail_version</a>
5827(default: see "postconf -d" output)</b></DT><DD>
5828
5829<p>
5830The version of the mail system. Stable releases are named
5831<i>major</i>.<i>minor</i>.<i>patchlevel</i>. Experimental releases
5832also include the release date. The version string can be used in,
5833for example, the SMTP greeting banner.
5834</p>
5835
5836
5837</DD>
5838
5839<DT><b><a name="mailbox_command">mailbox_command</a>
5840(default: empty)</b></DT><DD>
5841
5842<p>
5843Optional external command that the <a href="local.8.html">local(8)</a> delivery agent should
5844use for mailbox delivery.  The command is run with the user ID and
5845the primary group ID privileges of the recipient.  Exception:
5846command delivery for root executes with $<a href="postconf.5.html#default_privs">default_privs</a> privileges.
5847This is not a problem, because 1) mail for root should always be
5848aliased to a real user and 2) don't log in as root, use "su" instead.
5849</p>
5850
5851<p>
5852The following environment variables are exported to the command:
5853</p>
5854
5855<dl>
5856
5857<dt><b>CLIENT_ADDRESS</b></dt>
5858
5859<dd>Remote client network address. Available in Postfix version 2.2 and
5860later. </dd>
5861
5862<dt><b>CLIENT_HELO</b></dt>
5863
5864<dd>Remote client EHLO command parameter. Available in Postfix version 2.2
5865and later.</dd>
5866
5867<dt><b>CLIENT_HOSTNAME</b></dt>
5868
5869<dd>Remote client hostname. Available in Postfix version 2.2 and later.
5870</dd>
5871
5872<dt><b>CLIENT_PROTOCOL</b></dt>
5873
5874<dd>Remote client protocol. Available in Postfix version 2.2 and later.
5875</dd>
5876
5877<dt><b>DOMAIN</b></dt>
5878
5879<dd>The domain part of the recipient address. </dd>
5880
5881<dt><b>EXTENSION</b></dt>
5882
5883<dd>The optional address extension. </dd>
5884
5885<dt><b>HOME</b></dt>
5886
5887<dd>The recipient home directory. </dd>
5888
5889<dt><b>LOCAL</b></dt>
5890
5891<dd>The recipient address localpart. </dd>
5892
5893<dt><b>LOGNAME</b></dt>
5894
5895<dd>The recipient's username. </dd>
5896
5897<dt><b>ORIGINAL_RECIPIENT</b></dt>
5898
5899<dd>The entire recipient address, before any address rewriting or
5900aliasing.  </dd>
5901
5902<dt><b>RECIPIENT</b></dt>
5903
5904<dd>The full recipient address. </dd>
5905
5906<dt><b>SASL_METHOD</b></dt>
5907
5908<dd>SASL authentication method specified in the remote client AUTH
5909command. Available in Postfix version 2.2 and later. </dd>
5910
5911<dt><b>SASL_SENDER</b></dt>
5912
5913<dd>SASL sender address specified in the remote client MAIL FROM
5914command. Available in Postfix version 2.2 and later. </dd>
5915
5916<dt><b>SASL_USER</b></dt>
5917
5918<dd>SASL username specified in the remote client AUTH command.
5919Available in Postfix version 2.2 and later.  </dd>
5920
5921<dt><b>SENDER</b></dt>
5922
5923<dd>The full sender address. </dd>
5924
5925<dt><b>SHELL</b></dt>
5926
5927<dd>The recipient's login shell. </dd>
5928
5929<dt><b>USER</b></dt>
5930
5931<dd>The recipient username. </dd>
5932
5933</dl>
5934
5935<p>
5936Unlike other Postfix configuration parameters, the <a href="postconf.5.html#mailbox_command">mailbox_command</a>
5937parameter is not subjected to $name substitutions. This is to make
5938it easier to specify shell syntax (see example below).
5939</p>
5940
5941<p>
5942If you can, avoid shell meta characters because they will force
5943Postfix to run an expensive shell process. If you're delivering
5944via Procmail then running a shell won't make a noticeable difference
5945in the total cost.
5946</p>
5947
5948<p>
5949Note: if you use the <a href="postconf.5.html#mailbox_command">mailbox_command</a> feature to deliver mail
5950system-wide, you must set up an alias that forwards mail for root
5951to a real user.
5952</p>
5953
5954<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
5955is: 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>,
5956<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>,
5957<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>
5958
5959<p>
5960Examples:
5961</p>
5962
5963<pre>
5964<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail
5965<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail -a "$EXTENSION"
5966<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/maildrop -d "$USER"
5967        -f "$SENDER" "$EXTENSION"
5968</pre>
5969
5970
5971</DD>
5972
5973<DT><b><a name="mailbox_command_maps">mailbox_command_maps</a>
5974(default: empty)</b></DT><DD>
5975
5976<p>
5977Optional lookup tables with per-recipient external commands to use
5978for <a href="local.8.html">local(8)</a> mailbox delivery.  Behavior is as with <a href="postconf.5.html#mailbox_command">mailbox_command</a>.
5979</p>
5980
5981<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
5982is: 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>,
5983<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>,
5984<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>
5985
5986<p>
5987Specify zero or more "type:name" lookup tables, separated by
5988whitespace or comma. Tables will be searched in the specified order
5989until a match is found.
5990</p>
5991
5992
5993</DD>
5994
5995<DT><b><a name="mailbox_delivery_lock">mailbox_delivery_lock</a>
5996(default: see "postconf -d" output)</b></DT><DD>
5997
5998<p>
5999How to lock a UNIX-style <a href="local.8.html">local(8)</a> mailbox before attempting delivery.
6000For a list of available file locking methods, use the "<b>postconf
6001-l</b>" command.
6002</p>
6003
6004<p>
6005This setting is ignored with <b>maildir</b> style delivery,
6006because such deliveries are safe without explicit locks.
6007</p>
6008
6009<p>
6010Note: The <b>dotlock</b> method requires that the recipient UID or
6011GID has write access to the parent directory of the mailbox file.
6012</p>
6013
6014<p>
6015Note: the default setting of this parameter is system dependent.
6016</p>
6017
6018
6019</DD>
6020
6021<DT><b><a name="mailbox_size_limit">mailbox_size_limit</a>
6022(default: 51200000)</b></DT><DD>
6023
6024<p> The maximal size of any <a href="local.8.html">local(8)</a> individual mailbox or maildir
6025file, or zero (no limit).  In fact, this limits the size of any
6026file that is written to upon local delivery, including files written
6027by external commands that are executed by the <a href="local.8.html">local(8)</a> delivery
6028agent.  </p>
6029
6030<p>
6031This limit must not be smaller than the message size limit.
6032</p>
6033
6034
6035</DD>
6036
6037<DT><b><a name="mailbox_transport">mailbox_transport</a>
6038(default: empty)</b></DT><DD>
6039
6040<p>
6041Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
6042agent should use for mailbox delivery to all local recipients,
6043whether or not they are found in the UNIX passwd database.
6044</p>
6045
6046<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
6047is: 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>,
6048<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>,
6049<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>
6050
6051
6052</DD>
6053
6054<DT><b><a name="mailbox_transport_maps">mailbox_transport_maps</a>
6055(default: empty)</b></DT><DD>
6056
6057<p> Optional lookup tables with per-recipient message delivery
6058transports to use for <a href="local.8.html">local(8)</a> mailbox delivery, whether or not the
6059recipients are found in the UNIX passwd database. </p>
6060
6061<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
6062is: 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>,
6063<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>,
6064<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>
6065
6066<p>
6067Specify zero or more "type:name" lookup tables, separated by
6068whitespace or comma. Tables will be searched in the specified order
6069until a match is found.
6070</p>
6071
6072<p> For safety reasons, this feature does not allow $number
6073substitutions in regular expression maps. </p>
6074
6075<p> This feature is available in Postfix 2.3 and later. </p>
6076
6077
6078</DD>
6079
6080<DT><b><a name="mailq_path">mailq_path</a>
6081(default: see "postconf -d" output)</b></DT><DD>
6082
6083<p>
6084Sendmail compatibility feature that specifies where the Postfix
6085<a href="mailq.1.html">mailq(1)</a> command is installed. This command can be used to
6086list the Postfix mail queue.
6087</p>
6088
6089
6090</DD>
6091
6092<DT><b><a name="manpage_directory">manpage_directory</a>
6093(default: see "postconf -d" output)</b></DT><DD>
6094
6095<p>
6096Where the Postfix manual pages are installed.
6097</p>
6098
6099
6100</DD>
6101
6102<DT><b><a name="maps_rbl_domains">maps_rbl_domains</a>
6103(default: empty)</b></DT><DD>
6104
6105<p>
6106Obsolete feature: use the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> feature instead.
6107</p>
6108
6109
6110</DD>
6111
6112<DT><b><a name="maps_rbl_reject_code">maps_rbl_reject_code</a>
6113(default: 554)</b></DT><DD>
6114
6115<p>
6116The numerical Postfix SMTP server response code when a remote SMTP
6117client 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>,
6118<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
6119<a href="postconf.5.html#reject_rhsbl_recipient">reject_rhsbl_recipient</a> restriction.
6120</p>
6121
6122<p>
6123Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
6124</p>
6125
6126
6127</DD>
6128
6129<DT><b><a name="masquerade_classes">masquerade_classes</a>
6130(default: envelope_sender, header_sender, header_recipient)</b></DT><DD>
6131
6132<p>
6133What addresses are subject to address masquerading.
6134</p>
6135
6136<p>
6137By default, address masquerading is limited to envelope sender
6138addresses, and to header sender and header recipient addresses.
6139This allows you to use address masquerading on a mail gateway while
6140still being able to forward mail to users on individual machines.
6141</p>
6142
6143<p>
6144Specify zero or more of: envelope_sender, envelope_recipient,
6145header_sender, header_recipient
6146</p>
6147
6148
6149</DD>
6150
6151<DT><b><a name="masquerade_domains">masquerade_domains</a>
6152(default: empty)</b></DT><DD>
6153
6154<p>
6155Optional list of domains whose subdomain structure will be stripped
6156off in email addresses.
6157</p>
6158
6159<p>
6160The list is processed left to right, and processing stops at the
6161first match.  Thus,
6162</p>
6163
6164<blockquote>
6165<pre>
6166<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = foo.example.com example.com
6167</pre>
6168</blockquote>
6169
6170<p>
6171strips "user@any.thing.foo.example.com" to "user@foo.example.com",
6172but strips "user@any.thing.else.example.com" to "user@example.com".
6173</p>
6174
6175<p>
6176A domain name prefixed with ! means do not masquerade this domain
6177or its subdomains. Thus,
6178</p>
6179
6180<blockquote>
6181<pre>
6182<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = !foo.example.com example.com
6183</pre>
6184</blockquote>
6185
6186<p>
6187does not change "user@any.thing.foo.example.com" or "user@foo.example.com",
6188but strips "user@any.thing.else.example.com" to "user@example.com".
6189</p>
6190
6191<p> Note: with Postfix version 2.2, message header address masquerading
6192happens only when message header address rewriting is enabled: </p>
6193
6194<ul>
6195
6196<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
6197
6198<li> The message is received from a network client that matches
6199$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
6200
6201<li> The message is received from the network, and the
6202<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
6203
6204</ul>
6205
6206<p> To get the behavior before Postfix version 2.2, specify
6207"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
6208
6209<p>
6210Example:
6211</p>
6212
6213<pre>
6214<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
6215</pre>
6216
6217
6218</DD>
6219
6220<DT><b><a name="masquerade_exceptions">masquerade_exceptions</a>
6221(default: empty)</b></DT><DD>
6222
6223<p>
6224Optional list of user names that are not subjected to address
6225masquerading, even when their address matches $<a href="postconf.5.html#masquerade_domains">masquerade_domains</a>.
6226</p>
6227
6228<p>
6229By default, address masquerading makes no exceptions.
6230</p>
6231
6232<p>
6233Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
6234separated by commas and/or whitespace. The list is matched left to
6235right, and the search stops on the first match. A "/file/name"
6236pattern is replaced
6237by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
6238matches a lookup key (the lookup result is ignored).  Continue long
6239lines by starting the next line with whitespace. Specify "!pattern"
6240to exclude a name from the list. The form "!/file/name" is supported
6241only in Postfix version 2.4 and later.  </p>
6242
6243<p>
6244Examples:
6245</p>
6246
6247<pre>
6248<a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root, mailer-daemon
6249<a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root
6250</pre>
6251
6252
6253</DD>
6254
6255<DT><b><a name="master_service_disable">master_service_disable</a>
6256(default: empty)</b></DT><DD>
6257
6258<p> Selectively disable <a href="master.8.html">master(8)</a> listener ports by service type
6259or by service name and type.  Specify a list of service types
6260("inet", "unix", "fifo", or "pass") or "name/type" tuples, where
6261"name" is the first field of a <a href="master.5.html">master.cf</a> entry and "type" is a
6262service type. As with other Postfix matchlists, a search stops at
6263the first match.  Specify "!pattern" to exclude a service from the
6264list. By default, all <a href="master.8.html">master(8)</a> listener ports are enabled.  </p>
6265
6266<p> Note: this feature does not support "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
6267patterns, nor does it support wildcards such as "*" or "all". This
6268is intentional. </p>
6269
6270<p> Examples: </p>
6271
6272<pre>
6273# With Postfix 2.6..2.10 use '.' instead of '/'.
6274# Turn on all <a href="master.8.html">master(8)</a> listener ports (the default).
6275<a href="postconf.5.html#master_service_disable">master_service_disable</a> =
6276# Turn off only the main SMTP listener port.
6277<a href="postconf.5.html#master_service_disable">master_service_disable</a> = smtp/inet
6278# Turn off all TCP/IP listener ports.
6279<a href="postconf.5.html#master_service_disable">master_service_disable</a> = inet
6280# Turn off all TCP/IP listener ports except "foo".
6281<a href="postconf.5.html#master_service_disable">master_service_disable</a> = !foo/inet, inet
6282</pre>
6283
6284<p> This feature is available in Postfix 2.6 and later. </p>
6285
6286
6287</DD>
6288
6289<DT><b><a name="max_idle">max_idle</a>
6290(default: 100s)</b></DT><DD>
6291
6292<p>
6293The maximum amount of time that an idle Postfix daemon process waits
6294for an incoming connection before terminating voluntarily.  This
6295parameter
6296is ignored by the Postfix queue manager and by other long-lived
6297Postfix daemon processes.
6298</p>
6299
6300<p>
6301Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
6302The default time unit is s (seconds).
6303</p>
6304
6305
6306</DD>
6307
6308<DT><b><a name="max_use">max_use</a>
6309(default: 100)</b></DT><DD>
6310
6311<p>
6312The maximal number of incoming connections that a Postfix daemon
6313process will service before terminating voluntarily.  This parameter
6314is ignored by the Postfix queue
6315manager and by other long-lived Postfix daemon processes.
6316</p>
6317
6318
6319</DD>
6320
6321<DT><b><a name="maximal_backoff_time">maximal_backoff_time</a>
6322(default: 4000s)</b></DT><DD>
6323
6324<p>
6325The maximal time between attempts to deliver a deferred message.
6326</p>
6327
6328<p> This parameter should be set to a value greater than or equal
6329to $<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>
6330
6331<p>
6332Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
6333The default time unit is s (seconds).
6334</p>
6335
6336
6337</DD>
6338
6339<DT><b><a name="maximal_queue_lifetime">maximal_queue_lifetime</a>
6340(default: 5d)</b></DT><DD>
6341
6342<p>
6343Consider a message as undeliverable, when delivery fails with a
6344temporary error, and the time in the queue has reached the
6345<a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> limit.
6346</p>
6347
6348<p>
6349Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
6350The default time unit is d (days).
6351</p>
6352
6353<p>
6354Specify 0 when mail delivery should be tried only once.
6355</p>
6356
6357
6358</DD>
6359
6360<DT><b><a name="message_drop_headers">message_drop_headers</a>
6361(default: bcc, content-length, resent-bcc, return-path)</b></DT><DD>
6362
6363<p> Names of message headers that the <a href="cleanup.8.html">cleanup(8)</a> daemon will remove
6364after applying <a href="header_checks.5.html">header_checks(5)</a> and before invoking Milter applications.
6365The default setting is compatible with Postfix &lt; 3.0. </p>
6366
6367<p> Specify a list of header names, separated by comma or space.
6368Names are matched in a case-insensitive manner.  The list of supported
6369header names is limited only by available memory.  </p>
6370
6371<p> This feature is available in Postfix 3.0 and later. </p>
6372
6373
6374</DD>
6375
6376<DT><b><a name="message_reject_characters">message_reject_characters</a>
6377(default: empty)</b></DT><DD>
6378
6379<p> The set of characters that Postfix will reject in message
6380content.  The usual C-like escape sequences are recognized: <tt>\a
6381\b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
6382<tt>\\</tt>. </p>
6383
6384<p> Note 1: this feature does not recognize text that requires MIME
6385decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a>
6386and <a href="postconf.5.html#body_checks">body_checks</a>.  </p>
6387
6388<p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a>
6389= <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>".  </p>
6390
6391<p> Example: </p>
6392
6393<pre>
6394<a href="postconf.5.html#message_reject_characters">message_reject_characters</a> = \0
6395</pre>
6396
6397<p> This feature is available in Postfix 2.3 and later.  </p>
6398
6399
6400</DD>
6401
6402<DT><b><a name="message_size_limit">message_size_limit</a>
6403(default: 10240000)</b></DT><DD>
6404
6405<p>
6406The maximal size in bytes of a message, including envelope information.
6407</p>
6408
6409<p> Note: be careful when making changes.  Excessively small values
6410will result in the loss of non-delivery notifications, when a bounce
6411message size exceeds the local or remote MTA's message size limit.
6412</p>
6413
6414
6415</DD>
6416
6417<DT><b><a name="message_strip_characters">message_strip_characters</a>
6418(default: empty)</b></DT><DD>
6419
6420<p> The set of characters that Postfix will remove from message
6421content.  The usual C-like escape sequences are recognized: <tt>\a
6422\b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
6423<tt>\\</tt>. </p>
6424
6425<p> Note 1: this feature does not recognize text that requires MIME
6426decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a>
6427and <a href="postconf.5.html#body_checks">body_checks</a>.  </p>
6428
6429<p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a>
6430= <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>".  </p>
6431
6432<p> Example: </p>
6433
6434<pre>
6435<a href="postconf.5.html#message_strip_characters">message_strip_characters</a> = \0
6436</pre>
6437
6438<p> This feature is available in Postfix 2.3 and later.  </p>
6439
6440
6441</DD>
6442
6443<DT><b><a name="meta_directory">meta_directory</a>
6444(default: see 'postconf -d' output)</b></DT><DD>
6445
6446<p> The location of non-executable files that are shared among
6447multiple Postfix instances, such as postfix-files, dynamicmaps.cf,
6448and the multi-instance template files <a href="postconf.5.html">main.cf</a>.proto and <a href="master.5.html">master.cf</a>.proto.
6449This directory should contain only Postfix-related files.  Typically,
6450the <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>
6451parameter (/etc/postfix or /usr/local/etc/postfix).  </p>
6452
6453<p> For backwards compatibility with Postfix versions 2.6..2.11,
6454specify "<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
6455installing or upgrading Postfix, or specify "<a href="postconf.5.html#meta_directory">meta_directory</a> =
6456/path/name" on the "make makefiles", "make install" or "make upgrade"
6457command line.  </p>
6458
6459<p> This feature is available in Postfix 3.0 and later. </p>
6460
6461
6462</DD>
6463
6464<DT><b><a name="milter_command_timeout">milter_command_timeout</a>
6465(default: 30s)</b></DT><DD>
6466
6467<p> The time limit for sending an SMTP command to a Milter (mail
6468filter) application, and for receiving the response.  </p>
6469
6470<p> Specify a non-zero time value (an integral value plus an optional
6471one-letter suffix that specifies the time unit). </p>
6472
6473<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
6474(weeks). The default time unit is s (seconds). </p>
6475
6476<p> This feature is available in Postfix 2.3 and later. </p>
6477
6478
6479</DD>
6480
6481<DT><b><a name="milter_connect_macros">milter_connect_macros</a>
6482(default: see "postconf -d" output)</b></DT><DD>
6483
6484<p> The macros that are sent to Milter (mail filter) applications
6485after completion of an SMTP connection. See <a href="MILTER_README.html">MILTER_README</a>
6486for a list of available macro names and their meanings. </p>
6487
6488<p> This feature is available in Postfix 2.3 and later. </p>
6489
6490
6491</DD>
6492
6493<DT><b><a name="milter_connect_timeout">milter_connect_timeout</a>
6494(default: 30s)</b></DT><DD>
6495
6496<p> The time limit for connecting to a Milter (mail filter)
6497application, and for negotiating protocol options. </p>
6498
6499<p> Specify a non-zero time value (an integral value plus an optional
6500one-letter suffix that specifies the time unit). </p>
6501
6502<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
6503(weeks). The default time unit is s (seconds). </p>
6504
6505<p> This feature is available in Postfix 2.3 and later. </p>
6506
6507
6508</DD>
6509
6510<DT><b><a name="milter_content_timeout">milter_content_timeout</a>
6511(default: 300s)</b></DT><DD>
6512
6513<p> The time limit for sending message content to a Milter (mail
6514filter) application, and for receiving the response.  </p>
6515
6516<p> Specify a non-zero time value (an integral value plus an optional
6517one-letter suffix that specifies the time unit). </p>
6518
6519<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
6520(weeks). The default time unit is s (seconds). </p>
6521
6522<p> This feature is available in Postfix 2.3 and later. </p>
6523
6524
6525</DD>
6526
6527<DT><b><a name="milter_data_macros">milter_data_macros</a>
6528(default: see "postconf -d" output)</b></DT><DD>
6529
6530<p> The macros that are sent to version 4 or higher Milter (mail
6531filter) applications after the SMTP DATA command. See <a href="MILTER_README.html">MILTER_README</a>
6532for a list of available macro names and their meanings.  </p>
6533
6534<p> This feature is available in Postfix 2.3 and later. </p>
6535
6536
6537</DD>
6538
6539<DT><b><a name="milter_default_action">milter_default_action</a>
6540(default: tempfail)</b></DT><DD>
6541
6542<p> The default action when a Milter (mail filter) application is
6543unavailable or mis-configured. Specify one of the following: </p>
6544
6545<dl compact>
6546
6547<dt>accept</dt> <dd>Proceed as if the mail filter was not present.
6548</dd>
6549
6550<dt>reject</dt> <dd>Reject all further commands in this session
6551with a permanent status code.</dd>
6552
6553<dt>tempfail</dt> <dd>Reject all further commands in this session
6554with a temporary status code. </dd>
6555
6556<dt>quarantine</dt> <dd>Like "accept", but freeze the message in
6557the "<a href="QSHAPE_README.html#hold_queue">hold" queue</a>. Available with Postfix 2.6 and later. </dd>
6558
6559</dl>
6560
6561<p> This feature is available in Postfix 2.3 and later. </p>
6562
6563
6564</DD>
6565
6566<DT><b><a name="milter_end_of_data_macros">milter_end_of_data_macros</a>
6567(default: see "postconf -d" output)</b></DT><DD>
6568
6569<p> The macros that are sent to Milter (mail filter) applications
6570after the message end-of-data. See <a href="MILTER_README.html">MILTER_README</a> for a list of
6571available macro names and their meanings.  </p>
6572
6573<p> This feature is available in Postfix 2.3 and later. </p>
6574
6575
6576</DD>
6577
6578<DT><b><a name="milter_end_of_header_macros">milter_end_of_header_macros</a>
6579(default: see "postconf -d" output)</b></DT><DD>
6580
6581<p> The macros that are sent to Milter (mail filter) applications
6582after the end of the message header. See <a href="MILTER_README.html">MILTER_README</a> for a list
6583of available macro names and their meanings.  </p>
6584
6585<p> This feature is available in Postfix 2.5 and later. </p>
6586
6587
6588</DD>
6589
6590<DT><b><a name="milter_header_checks">milter_header_checks</a>
6591(default: empty)</b></DT><DD>
6592
6593<p> Optional lookup tables for content inspection of message headers
6594that are produced by Milter applications.  See the <a href="header_checks.5.html">header_checks(5)</a>
6595manual page available actions. Currently, PREPEND is not implemented.
6596</p>
6597
6598<p> The following example sends all mail that is marked as SPAM to
6599a spam handling machine. Note that matches are case-insensitive
6600by default. </p>
6601
6602<pre>
6603/etc/postfix/<a href="postconf.5.html">main.cf</a>:
6604    <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>
6605</pre>
6606
6607<pre>
6608/etc/postfix/<a href="postconf.5.html#milter_header_checks">milter_header_checks</a>:
6609    /^X-SPAM-FLAG:\s+YES/ FILTER mysmtp:sanitizer.example.com:25
6610</pre>
6611
6612<p> The <a href="postconf.5.html#milter_header_checks">milter_header_checks</a> mechanism could also be used for
6613whitelisting. For example it could be used to skip heavy content
6614inspection for DKIM-signed mail from known friendly domains. </p>
6615
6616<p> This feature is available in Postfix 2.7, and as an optional
6617patch for Postfix 2.6. </p>
6618
6619
6620</DD>
6621
6622<DT><b><a name="milter_helo_macros">milter_helo_macros</a>
6623(default: see "postconf -d" output)</b></DT><DD>
6624
6625<p> The macros that are sent to Milter (mail filter) applications
6626after the SMTP HELO or EHLO command. See
6627<a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their meanings.
6628</p>
6629
6630<p> This feature is available in Postfix 2.3 and later. </p>
6631
6632
6633</DD>
6634
6635<DT><b><a name="milter_macro_daemon_name">milter_macro_daemon_name</a>
6636(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
6637
6638<p> The {daemon_name} macro value for Milter (mail filter) applications.
6639See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
6640meanings.  </p>
6641
6642<p> This feature is available in Postfix 2.3 and later. </p>
6643
6644
6645</DD>
6646
6647<DT><b><a name="milter_macro_defaults">milter_macro_defaults</a>
6648(default: empty)</b></DT><DD>
6649
6650<p> Optional list of <i>name=value</i> pairs that specify default
6651values for arbitrary macros that Postfix may send to Milter
6652applications.  These defaults are used when there is no corresponding
6653information from the message delivery context. </p>
6654
6655<p> Specify <i>name=value</i> or <i>{name}=value</i> pairs separated
6656by comma or whitespace.  Enclose a pair in "{}" when a value contains
6657comma or whitespace (this form ignores whitespace after the enclosing
6658"{", around the "=", and before the enclosing "}"). </p>
6659
6660<p> This feature is available in Postfix 3.1 and later.  </p>
6661
6662
6663</DD>
6664
6665<DT><b><a name="milter_macro_v">milter_macro_v</a>
6666(default: $<a href="postconf.5.html#mail_name">mail_name</a> $<a href="postconf.5.html#mail_version">mail_version</a>)</b></DT><DD>
6667
6668<p> The {v} macro value for Milter (mail filter) applications.
6669See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
6670meanings.  </p>
6671
6672<p> This feature is available in Postfix 2.3 and later. </p>
6673
6674
6675</DD>
6676
6677<DT><b><a name="milter_mail_macros">milter_mail_macros</a>
6678(default: see "postconf -d" output)</b></DT><DD>
6679
6680<p> The macros that are sent to Milter (mail filter) applications
6681after the SMTP MAIL FROM command. See <a href="MILTER_README.html">MILTER_README</a>
6682for a list of available macro names and their meanings. </p>
6683
6684<p> This feature is available in Postfix 2.3 and later. </p>
6685
6686
6687</DD>
6688
6689<DT><b><a name="milter_protocol">milter_protocol</a>
6690(default: 6)</b></DT><DD>
6691
6692<p> The mail filter protocol version and optional protocol extensions
6693for communication with a Milter application; prior to Postfix 2.6
6694the default protocol is 2. Postfix
6695sends this version number during the initial protocol handshake.
6696It should match the version number that is expected by the mail
6697filter application (or by its Milter library).  </p>
6698
6699<p>Protocol versions: </p>
6700
6701<dl compact>
6702
6703<dt>2</dt> <dd>Use Sendmail 8 mail filter protocol version 2 (default
6704with Sendmail version 8.11 .. 8.13 and Postfix version 2.3 ..
67052.5).</dd>
6706
6707<dt>3</dt> <dd>Use Sendmail 8 mail filter protocol version 3.</dd>
6708
6709<dt>4</dt> <dd>Use Sendmail 8 mail filter protocol version 4.</dd>
6710
6711<dt>6</dt> <dd>Use Sendmail 8 mail filter protocol version 6 (default
6712with Sendmail version 8.14 and Postfix version 2.6).</dd>
6713
6714</dl>
6715
6716<p>Protocol extensions: </p>
6717
6718<dl compact>
6719
6720<dt>no_header_reply</dt> <dd> Specify this when the Milter application
6721will not reply for each individual message header.</dd>
6722
6723</dl>
6724
6725<p> This feature is available in Postfix 2.3 and later. </p>
6726
6727
6728</DD>
6729
6730<DT><b><a name="milter_rcpt_macros">milter_rcpt_macros</a>
6731(default: see "postconf -d" output)</b></DT><DD>
6732
6733<p> The macros that are sent to Milter (mail filter) applications
6734after the SMTP RCPT TO command. See <a href="MILTER_README.html">MILTER_README</a>
6735for a list of available macro names and their meanings. </p>
6736
6737<p> This feature is available in Postfix 2.3 and later. </p>
6738
6739
6740</DD>
6741
6742<DT><b><a name="milter_unknown_command_macros">milter_unknown_command_macros</a>
6743(default: see "postconf -d" output)</b></DT><DD>
6744
6745<p> The macros that are sent to version 3 or higher Milter (mail
6746filter) applications after an unknown SMTP command.  See <a href="MILTER_README.html">MILTER_README</a>
6747for a list of available macro names and their meanings.  </p>
6748
6749<p> This feature is available in Postfix 2.3 and later. </p>
6750
6751
6752</DD>
6753
6754<DT><b><a name="mime_boundary_length_limit">mime_boundary_length_limit</a>
6755(default: 2048)</b></DT><DD>
6756
6757<p>
6758The maximal length of MIME multipart boundary strings. The MIME
6759processor is unable to distinguish between boundary strings that
6760do not differ in the first $<a href="postconf.5.html#mime_boundary_length_limit">mime_boundary_length_limit</a> characters.
6761</p>
6762
6763<p>
6764This feature is available in Postfix 2.0 and later.
6765</p>
6766
6767
6768</DD>
6769
6770<DT><b><a name="mime_header_checks">mime_header_checks</a>
6771(default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
6772
6773<p>
6774Optional lookup tables for content inspection of MIME related
6775message headers, as described in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
6776</p>
6777
6778<p>
6779This feature is available in Postfix 2.0 and later.
6780</p>
6781
6782
6783</DD>
6784
6785<DT><b><a name="mime_nesting_limit">mime_nesting_limit</a>
6786(default: 100)</b></DT><DD>
6787
6788<p>
6789The maximal recursion level that the MIME processor will handle.
6790Postfix refuses mail that is nested deeper than the specified limit.
6791</p>
6792
6793<p>
6794This feature is available in Postfix 2.0 and later.
6795</p>
6796
6797
6798</DD>
6799
6800<DT><b><a name="minimal_backoff_time">minimal_backoff_time</a>
6801(default: 300s)</b></DT><DD>
6802
6803<p>
6804The minimal time between attempts to deliver a deferred message;
6805prior to Postfix 2.4 the default value was 1000s.
6806</p>
6807
6808<p>
6809This parameter also limits the time an unreachable destination is
6810kept in the short-term, in-memory, destination status cache.
6811</p>
6812
6813<p> This parameter should be set greater than or equal to
6814$<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>
6815
6816<p>
6817Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
6818The default time unit is s (seconds).
6819</p>
6820
6821
6822</DD>
6823
6824<DT><b><a name="multi_instance_directories">multi_instance_directories</a>
6825(default: empty)</b></DT><DD>
6826
6827<p> An optional list of non-default Postfix configuration directories;
6828these directories belong to additional Postfix instances that share
6829the Postfix executable files and documentation with the default
6830Postfix instance, and that are started, stopped, etc., together
6831with the default Postfix instance.  Specify a list of pathnames
6832separated by comma or whitespace.  </p>
6833
6834<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
6835runs in single-instance mode and operates on a single Postfix
6836instance only. Otherwise, the <a href="postfix.1.html">postfix(1)</a> command runs in multi-instance
6837mode and invokes the multi-instance manager specified with the
6838<a href="postconf.5.html#multi_instance_wrapper">multi_instance_wrapper</a> parameter. The multi-instance manager in
6839turn executes <a href="postfix.1.html">postfix(1)</a> commands for the default instance and for
6840all Postfix instances in $<a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>.  </p>
6841
6842<p> Currently, this parameter setting is ignored except for the
6843default <a href="postconf.5.html">main.cf</a> file. </p>
6844
6845<p> This feature is available in Postfix 2.6 and later. </p>
6846
6847
6848</DD>
6849
6850<DT><b><a name="multi_instance_enable">multi_instance_enable</a>
6851(default: no)</b></DT><DD>
6852
6853<p> Allow this Postfix instance to be started, stopped, etc., by a
6854multi-instance manager.  By default, new instances are created in
6855a safe state that prevents them from being started inadvertently.
6856This parameter is reserved for the multi-instance manager.  </p>
6857
6858<p> This feature is available in Postfix 2.6 and later. </p>
6859
6860
6861</DD>
6862
6863<DT><b><a name="multi_instance_group">multi_instance_group</a>
6864(default: empty)</b></DT><DD>
6865
6866<p> The optional instance group name of this Postfix instance. A
6867group identifies closely-related Postfix instances that the
6868multi-instance manager can start, stop, etc., as a unit.  This
6869parameter is reserved for the multi-instance manager. </p>
6870
6871<p> This feature is available in Postfix 2.6 and later. </p>
6872
6873
6874</DD>
6875
6876<DT><b><a name="multi_instance_name">multi_instance_name</a>
6877(default: empty)</b></DT><DD>
6878
6879<p> The optional instance name of this Postfix instance. This name
6880becomes also the default value for the <a href="postconf.5.html#syslog_name">syslog_name</a> parameter. </p>
6881
6882<p> This feature is available in Postfix 2.6 and later. </p>
6883
6884
6885</DD>
6886
6887<DT><b><a name="multi_instance_wrapper">multi_instance_wrapper</a>
6888(default: empty)</b></DT><DD>
6889
6890<p> The pathname of a multi-instance manager command that the
6891<a href="postfix.1.html">postfix(1)</a> command invokes when the <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>
6892parameter value is non-empty. The pathname may be followed by
6893initial command arguments separated by whitespace; shell
6894metacharacters such as quotes are not supported in this context.
6895</p>
6896
6897<p> The <a href="postfix.1.html">postfix(1)</a> command invokes the manager command with the
6898<a href="postfix.1.html">postfix(1)</a> non-option command arguments on the manager command line,
6899and with all installation configuration parameters exported into
6900the manager command process environment. The manager command in
6901turn invokes the <a href="postfix.1.html">postfix(1)</a> command for individual Postfix instances
6902as "postfix -c <i><a href="postconf.5.html#config_directory">config_directory</a></i> <i>command</i>".  </p>
6903
6904<p> This feature is available in Postfix 2.6 and later. </p>
6905
6906
6907</DD>
6908
6909<DT><b><a name="multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a>
6910(default: 550)</b></DT><DD>
6911
6912<p>
6913The numerical Postfix SMTP server response code when a remote SMTP
6914client request is blocked by the <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a>
6915restriction.
6916</p>
6917
6918<p>
6919Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
6920</p>
6921
6922<p>
6923This feature is available in Postfix 2.1 and later.
6924</p>
6925
6926
6927</DD>
6928
6929<DT><b><a name="mydestination">mydestination</a>
6930(default: $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a>, localhost)</b></DT><DD>
6931
6932<p> The list of domains that are delivered via the $<a href="postconf.5.html#local_transport">local_transport</a>
6933mail delivery transport. By default this is the Postfix <a href="local.8.html">local(8)</a>
6934delivery agent which looks up all recipients in /etc/passwd and
6935/etc/aliases. The SMTP server validates recipient addresses with
6936$<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> and rejects non-existent recipients. See also
6937the <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.
6938</p>
6939
6940<p>
6941The default <a href="postconf.5.html#mydestination">mydestination</a> value specifies names for the local
6942machine only.  On a mail domain gateway, you should also include
6943$<a href="postconf.5.html#mydomain">mydomain</a>.
6944</p>
6945
6946<p>
6947The $<a href="postconf.5.html#local_transport">local_transport</a> delivery method is also selected for mail
6948addressed to user@[the.net.work.address] of the mail system (the
6949IP 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>
6950parameters).
6951</p>
6952
6953<p>
6954Warnings:
6955</p>
6956
6957<ul>
6958
6959<li><p>Do not specify the names of virtual domains - those domains
6960are specified elsewhere. See <a href="VIRTUAL_README.html">VIRTUAL_README</a> for more information. </p>
6961
6962<li><p>Do not specify the names of domains that this machine is
6963backup MX host for. See <a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> for how to
6964set up backup MX hosts. </p>
6965
6966<li><p>By default, the Postfix SMTP server rejects mail for recipients
6967not listed with the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> parameter.  See the
6968<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>
6969and <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> parameters. </p>
6970
6971</ul>
6972
6973<p>
6974Specify a list of host or domain names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
6975patterns, separated by commas and/or whitespace. A "/file/name"
6976pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
6977is matched when a name matches a lookup key (the lookup result is
6978ignored).  Continue long lines by starting the next line with
6979whitespace.  </p>
6980
6981<p>
6982Examples:
6983</p>
6984
6985<pre>
6986<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>
6987<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>
6988</pre>
6989
6990
6991</DD>
6992
6993<DT><b><a name="mydomain">mydomain</a>
6994(default: see "postconf -d" output)</b></DT><DD>
6995
6996<p>
6997The internet domain name of this mail system.  The default is to
6998use $<a href="postconf.5.html#myhostname">myhostname</a> minus the first component, or "localdomain" (Postfix
69992.3 and later).  $<a href="postconf.5.html#mydomain">mydomain</a> is used as
7000a default value for many other configuration parameters.
7001</p>
7002
7003<p>
7004Example:
7005</p>
7006
7007<pre>
7008<a href="postconf.5.html#mydomain">mydomain</a> = domain.tld
7009</pre>
7010
7011
7012</DD>
7013
7014<DT><b><a name="myhostname">myhostname</a>
7015(default: see "postconf -d" output)</b></DT><DD>
7016
7017<p>
7018The internet hostname of this mail system. The default is to use
7019the fully-qualified domain name (FQDN) from gethostname(), or to
7020use the non-FQDN result from gethostname() and append ".$<a href="postconf.5.html#mydomain">mydomain</a>".
7021$<a href="postconf.5.html#myhostname">myhostname</a> is used as a default value for many other configuration
7022parameters.  </p>
7023
7024<p>
7025Example:
7026</p>
7027
7028<pre>
7029<a href="postconf.5.html#myhostname">myhostname</a> = host.example.com
7030</pre>
7031
7032
7033</DD>
7034
7035<DT><b><a name="mynetworks">mynetworks</a>
7036(default: see "postconf -d" output)</b></DT><DD>
7037
7038<p>
7039The list of "trusted" remote SMTP clients that have more privileges than
7040"strangers".
7041</p>
7042
7043<p>
7044In particular, "trusted" SMTP clients are allowed to relay mail
7045through Postfix.  See the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> parameter
7046description in the <a href="postconf.5.html">postconf(5)</a> manual.
7047</p>
7048
7049<p>
7050You can specify the list of "trusted" network addresses by hand
7051or you can let Postfix do it for you (which is the default).
7052See the description of the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> parameter for more
7053information.
7054</p>
7055
7056<p>
7057If you specify the <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand,
7058Postfix ignores the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> setting.
7059</p>
7060
7061<p> Specify a list of network addresses or network/netmask patterns,
7062separated by commas and/or whitespace. Continue long lines by
7063starting the next line with whitespace. </p>
7064
7065<p> The netmask specifies the number of bits in the network part
7066of a host address.  You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
7067patterns.  A "/file/name" pattern is replaced by its contents; a
7068"<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry matches a
7069lookup string (the lookup result is ignored). </p>
7070
7071<p> The list is matched left to right, and the search stops on the
7072first match.  Specify "!pattern" to exclude an address or network
7073block from the list. The form "!/file/name" is supported only
7074in Postfix version 2.4 and later. </p>
7075
7076<p> Note 1: Pattern matching of domain names is controlled by the
7077or 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>
7078parameter value.  </p>
7079
7080<p> Note 2: IP version 6 address information must be specified inside
7081<tt>[]</tt> in the <a href="postconf.5.html#mynetworks">mynetworks</a> value, and in files specified with
7082"/file/name".  IP version 6 addresses contain the ":" character,
7083and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" pattern.  </p>
7084
7085<p> Examples:  </p>
7086
7087<pre>
7088<a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28
7089<a href="postconf.5.html#mynetworks">mynetworks</a> = !192.168.0.1, 192.168.0.0/28
7090<a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64
7091<a href="postconf.5.html#mynetworks">mynetworks</a> = $<a href="postconf.5.html#config_directory">config_directory</a>/mynetworks
7092<a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/network_table
7093</pre>
7094
7095
7096</DD>
7097
7098<DT><b><a name="mynetworks_style">mynetworks_style</a>
7099(default: Postfix &ge; 3.0: host, Postfix &lt; 3.0: subnet)</b></DT><DD>
7100
7101<p>
7102The method to generate the default value for the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter.
7103This is the list of trusted networks for relay access control etc.
7104</p>
7105
7106<ul>
7107
7108<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = host" when Postfix should
7109"trust" only the local machine. </p>
7110
7111<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = subnet" when Postfix
7112should "trust" remote SMTP clients in the same IP subnetworks as the local
7113machine.  On Linux, this works correctly only with interfaces
7114specified with the "ifconfig" command. </p>
7115
7116<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = class" when Postfix should
7117"trust" remote SMTP clients in the same IP class A/B/C networks as the
7118local machine.  Caution: this may cause
7119Postfix to "trust" your entire provider's network.  Instead, specify
7120an explicit <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand, as described with the <a href="postconf.5.html#mynetworks">mynetworks</a>
7121configuration parameter. </p>
7122
7123</ul>
7124
7125
7126</DD>
7127
7128<DT><b><a name="myorigin">myorigin</a>
7129(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
7130
7131<p>
7132The domain name that locally-posted mail appears to come
7133from, and that locally posted mail is delivered to. The default,
7134$<a href="postconf.5.html#myhostname">myhostname</a>, is adequate for small sites.  If you run a domain with
7135multiple machines, you should (1) change this to $<a href="postconf.5.html#mydomain">mydomain</a> and (2)
7136set up a domain-wide alias database that aliases each user to
7137user@that.users.mailhost.
7138</p>
7139
7140<p>
7141Example:
7142</p>
7143
7144<pre>
7145<a href="postconf.5.html#myorigin">myorigin</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
7146</pre>
7147
7148
7149</DD>
7150
7151<DT><b><a name="nested_header_checks">nested_header_checks</a>
7152(default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
7153
7154<p>
7155Optional lookup tables for content inspection of non-MIME message
7156headers in attached messages, as described in the <a href="header_checks.5.html">header_checks(5)</a>
7157manual page.
7158</p>
7159
7160<p>
7161This feature is available in Postfix 2.0 and later.
7162</p>
7163
7164
7165</DD>
7166
7167<DT><b><a name="newaliases_path">newaliases_path</a>
7168(default: see "postconf -d" output)</b></DT><DD>
7169
7170<p>
7171Sendmail compatibility feature that specifies the location of the
7172<a href="newaliases.1.html">newaliases(1)</a> command. This command can be used to rebuild the
7173<a href="local.8.html">local(8)</a> <a href="aliases.5.html">aliases(5)</a> database.
7174</p>
7175
7176
7177</DD>
7178
7179<DT><b><a name="non_fqdn_reject_code">non_fqdn_reject_code</a>
7180(default: 504)</b></DT><DD>
7181
7182<p>
7183The numerical Postfix SMTP server reply code when a client request
7184is 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>
7185or <a href="postconf.5.html#reject_non_fqdn_recipient">reject_non_fqdn_recipient</a> restriction.
7186</p>
7187
7188
7189</DD>
7190
7191<DT><b><a name="non_smtpd_milters">non_smtpd_milters</a>
7192(default: empty)</b></DT><DD>
7193
7194<p> A list of Milter (mail filter) applications for new mail that
7195does not arrive via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. This includes local
7196submission via the <a href="sendmail.1.html">sendmail(1)</a> command line, new mail that arrives
7197via the Postfix <a href="qmqpd.8.html">qmqpd(8)</a> server, and old mail that is re-injected
7198into the queue with "postsuper -r".  Specify space or comma as
7199separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details.  </p>
7200
7201<p> This feature is available in Postfix 2.3 and later. </p>
7202
7203
7204</DD>
7205
7206<DT><b><a name="notify_classes">notify_classes</a>
7207(default: resource, software)</b></DT><DD>
7208
7209<p>
7210The list of error classes that are reported to the postmaster. The
7211default is to report only the most serious problems. The paranoid
7212may wish to turn on the policy (UCE and mail relaying) and protocol
7213error (broken mail software) reports.
7214</p>
7215
7216<p> NOTE: postmaster notifications may contain confidential information
7217such as SASL passwords or message content.  It is the system
7218administrator's responsibility to treat such information with care.
7219</p>
7220
7221<p>
7222The error classes are:
7223</p>
7224
7225<dl>
7226
7227<dt><b>bounce</b> (also implies <b>2bounce</b>)</dt>
7228
7229<dd>Send the postmaster copies of the headers of bounced mail, and
7230send transcripts of SMTP sessions when Postfix rejects mail. The
7231notification is sent to the address specified with the
7232<a href="postconf.5.html#bounce_notice_recipient">bounce_notice_recipient</a> configuration parameter (default: postmaster).
7233</dd>
7234
7235<dt><b>2bounce</b></dt>
7236
7237<dd>Send undeliverable bounced mail to the postmaster. The notification
7238is sent to the address specified with the <a href="postconf.5.html#2bounce_notice_recipient">2bounce_notice_recipient</a>
7239configuration parameter (default: postmaster). </dd>
7240
7241<dt><b>data</b></dt>
7242
7243<dd>Send the postmaster a transcript of the SMTP session with an
7244error because a critical data file was unavailable. The notification
7245is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
7246configuration parameter (default: postmaster). <br> This feature
7247is available in Postfix 2.9 and later.  </dd>
7248
7249<dt><b>delay</b></dt>
7250
7251<dd>Send the postmaster copies of the headers of delayed mail (see
7252<a href="postconf.5.html#delay_warning_time">delay_warning_time</a>). The
7253notification is sent to the address specified with the
7254<a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a> configuration parameter (default: postmaster).
7255</dd>
7256
7257<dt><b>policy</b></dt>
7258
7259<dd>Send the postmaster a transcript of the SMTP session when a
7260client request was rejected because of (UCE) policy. The notification
7261is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
7262configuration parameter (default: postmaster).  </dd>
7263
7264<dt><b>protocol</b></dt>
7265
7266<dd>Send the postmaster a transcript of the SMTP session in case
7267of client or server protocol errors. The notification is sent to
7268the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration
7269parameter (default: postmaster). </dd>
7270
7271<dt><b>resource</b></dt>
7272
7273<dd>Inform the postmaster of mail not delivered due to resource
7274problems.  The notification is sent to the address specified with
7275the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
7276postmaster). </dd>
7277
7278<dt><b>software</b></dt>
7279
7280<dd>Inform the postmaster of mail not delivered due to software
7281problems.  The notification is sent to the address specified with
7282the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
7283postmaster). </dd>
7284
7285</dl>
7286
7287<p>
7288Examples:
7289</p>
7290
7291<pre>
7292<a href="postconf.5.html#notify_classes">notify_classes</a> = bounce, delay, policy, protocol, resource, software
7293<a href="postconf.5.html#notify_classes">notify_classes</a> = 2bounce, resource, software
7294</pre>
7295
7296
7297</DD>
7298
7299<DT><b><a name="nullmx_reject_code">nullmx_reject_code</a>
7300(default: 556)</b></DT><DD>
7301
7302<p> The numerical reply code when the Postfix SMTP server rejects
7303a sender or recipient address because its domain has a nullmx DNS
7304record (an MX record with an empty hostname). This is one of the
7305possible replies from the restrictions <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
7306and <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>. </p>
7307
7308<p> This feature is available in Postfix 3.0 and later. </p>
7309
7310
7311</DD>
7312
7313<DT><b><a name="openssl_path">openssl_path</a>
7314(default: openssl)</b></DT><DD>
7315
7316<p>
7317The location of the OpenSSL command line program openssl(1).  This
7318is used by the "<b><a href="postfix-tls.1.html">postfix tls</a></b>" command to create private keys,
7319certificate signing requests, self-signed certificates, and to
7320compute public key digests for DANE TLSA records.  In multi-instance
7321environments, this parameter is always determined from the configuration
7322of the default Postfix instance.
7323</p>
7324
7325<p> Example: </p>
7326
7327<blockquote>
7328<pre>
7329/etc/postfix/<a href="postconf.5.html">main.cf</a>:
7330    # NetBSD pkgsrc:
7331    <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/pkg/bin/openssl
7332    # Local build:
7333    <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/local/bin/openssl
7334</pre>
7335</blockquote>
7336
7337<p>
7338This feature is available in Postfix 3.1 and later.
7339</p>
7340
7341
7342</DD>
7343
7344<DT><b><a name="owner_request_special">owner_request_special</a>
7345(default: yes)</b></DT><DD>
7346
7347<p>
7348Give special treatment to owner-listname and listname-request
7349address localparts: don't split such addresses when the
7350<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is set to "-".  This feature is useful for
7351mailing lists.
7352</p>
7353
7354
7355</DD>
7356
7357<DT><b><a name="parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
7358(default: see "postconf -d" output)</b></DT><DD>
7359
7360<p>
7361A list of Postfix features where the pattern "example.com" also
7362matches subdomains of example.com,
7363instead of requiring an explicit ".example.com" pattern.  This is
7364planned backwards compatibility:  eventually, all Postfix features
7365are expected to require explicit ".example.com" style patterns when
7366you really want to match subdomains.
7367</p>
7368
7369<p> The following Postfix feature names are supported. </p>
7370
7371<dl>
7372
7373<dt> Postfix version 1.0 and later</dt>
7374
7375<dd>
7376<a href="postconf.5.html#debug_peer_list">debug_peer_list</a>,
7377<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a>,
7378<a href="postconf.5.html#mynetworks">mynetworks</a>,
7379<a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>,
7380<a href="postconf.5.html#relay_domains">relay_domains</a>,
7381<a href="postconf.5.html#transport_maps">transport_maps</a>
7382</dd>
7383
7384<dt> Postfix version 1.1 and later</dt>
7385
7386<dd>
7387<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>,
7388smtpd_access_maps,
7389</dd>
7390
7391<dt> Postfix version 2.8 and later </dt>
7392
7393<dd>
7394<a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a>
7395</dd>
7396
7397<dt> Postfix version 3.0 and later </dt>
7398
7399<dd>
7400<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
7401</dd>
7402
7403</dl>
7404
7405
7406</DD>
7407
7408<DT><b><a name="permit_mx_backup_networks">permit_mx_backup_networks</a>
7409(default: empty)</b></DT><DD>
7410
7411<p>
7412Restrict the use of the <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> SMTP access feature to
7413only domains whose primary MX hosts match the listed networks.
7414The parameter value syntax is the same as with the <a href="postconf.5.html#mynetworks">mynetworks</a>
7415parameter; note, however, that the default value is empty.  </p>
7416
7417<p> Pattern matching of domain names is controlled by the presence
7418or absence of "<a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>" in the
7419<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value.  </p>
7420
7421
7422</DD>
7423
7424<DT><b><a name="pickup_service_name">pickup_service_name</a>
7425(default: pickup)</b></DT><DD>
7426
7427<p>
7428The name of the <a href="pickup.8.html">pickup(8)</a> service. This service picks up local mail
7429submissions from the Postfix <a href="QSHAPE_README.html#maildrop_queue">maildrop queue</a>.
7430</p>
7431
7432<p>
7433This feature is available in Postfix 2.0 and later.
7434</p>
7435
7436
7437</DD>
7438
7439<DT><b><a name="pipe_delivery_status_filter">pipe_delivery_status_filter</a>
7440(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
7441
7442<p> Optional filter for the <a href="pipe.8.html">pipe(8)</a> delivery agent to change the
7443delivery status code or explanatory text of successful or unsuccessful
7444deliveries.  See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details.  </p>
7445
7446<p> This feature is available in Postfix 3.0 and later. </p>
7447
7448
7449</DD>
7450
7451<DT><b><a name="plaintext_reject_code">plaintext_reject_code</a>
7452(default: 450)</b></DT><DD>
7453
7454<p>
7455The numerical Postfix SMTP server response code when a request
7456is rejected by the <b><a href="postconf.5.html#reject_plaintext_session">reject_plaintext_session</a></b> restriction.
7457</p>
7458
7459<p> This feature is available in Postfix 2.3 and later. </p>
7460
7461
7462</DD>
7463
7464<DT><b><a name="postmulti_control_commands">postmulti_control_commands</a>
7465(default: reload flush)</b></DT><DD>
7466
7467<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager
7468treats as "control" commands, that operate on running instances. For
7469these commands, disabled instances are skipped. </p>
7470
7471<p> This feature is available in Postfix 2.6 and later. </p>
7472
7473
7474</DD>
7475
7476<DT><b><a name="postmulti_start_commands">postmulti_start_commands</a>
7477(default: start)</b></DT><DD>
7478
7479<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
7480as "start" commands. For these commands, disabled instances are "checked"
7481rather than "started", and failure to "start" a member instance of an
7482instance group will abort the start-up of later instances. </p>
7483
7484<p> This feature is available in Postfix 2.6 and later. </p>
7485
7486
7487</DD>
7488
7489<DT><b><a name="postmulti_stop_commands">postmulti_stop_commands</a>
7490(default: see "postconf -d" output)</b></DT><DD>
7491
7492<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
7493as "stop" commands. For these commands, disabled instances are skipped,
7494and enabled instances are processed in reverse order. </p>
7495
7496<p> This feature is available in Postfix 2.6 and later. </p>
7497
7498
7499</DD>
7500
7501<DT><b><a name="postscreen_access_list">postscreen_access_list</a>
7502(default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>)</b></DT><DD>
7503
7504<p> Permanent white/blacklist for remote SMTP client IP addresses.
7505<a href="postscreen.8.html">postscreen(8)</a> searches this list immediately after a remote SMTP
7506client connects.  Specify a comma- or whitespace-separated list of
7507commands (in upper or lower case) or lookup tables. The search stops
7508upon the first command that fires for the client IP address. </p>
7509
7510<dl>
7511
7512<dt> <b> <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a> </b> </dt> <dd> Whitelist the client and
7513terminate the search if the client IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>.
7514Do not subject the client to any before/after 220 greeting tests.
7515Pass the connection immediately to a Postfix SMTP server process.
7516<br> Pattern matching of domain names is controlled by the presence
7517or absence of "<a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a>" in the
7518<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </dd>
7519
7520<dt> <b> <a href="DATABASE_README.html">type:table</a> </b> </dt> <dd> Query the specified lookup
7521table. Each table lookup result is an access list, except that
7522access lists inside a table cannot specify <a href="DATABASE_README.html">type:table</a> entries.  <br>
7523To discourage the use of hash, btree, etc. tables, there is no
7524support for substring matching like <a href="smtpd.8.html">smtpd(8)</a>. Use CIDR tables
7525instead.  </dd>
7526
7527<dt> <b> permit </b> </dt> <dd> Whitelist the client and terminate
7528the search. Do not subject the client to any before/after 220
7529greeting tests. Pass the connection immediately to a Postfix SMTP
7530server process. </dd>
7531
7532<dt> <b> reject </b> </dt> <dd> Blacklist the client and terminate
7533the search. Subject the client to the action configured with the
7534<a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> configuration parameter. </dd>
7535
7536<dt> <b> dunno </b> </dt> <dd> All <a href="postscreen.8.html">postscreen(8)</a> access lists
7537implicitly have this command at the end. <br> When <b> dunno </b>
7538is executed inside a lookup table, return from the lookup table and
7539evaluate the next command.  <br> When <b> dunno </b> is executed
7540outside a lookup table, terminate the search, and subject the client
7541to the configured before/after 220 greeting tests. </dd>
7542
7543</dl>
7544
7545<p> Example: </p>
7546
7547<pre>
7548/etc/postfix/<a href="postconf.5.html">main.cf</a>:
7549    <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
7550                <a href="cidr_table.5.html">cidr</a>:/etc/postfix/postscreen_access.cidr
7551    <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> = enforce
7552</pre>
7553
7554<pre>
7555/etc/postfix/postscreen_access.<a href="cidr_table.5.html">cidr</a>:
7556    # Rules are evaluated in the order as specified.
7557    # Blacklist 192.168.* except 192.168.0.1.
7558    192.168.0.1         dunno
7559    192.168.0.0/16      reject
7560</pre>
7561
7562<p> This feature is available in Postfix 2.8. </p>
7563
7564
7565</DD>
7566
7567<DT><b><a name="postscreen_bare_newline_action">postscreen_bare_newline_action</a>
7568(default: ignore)</b></DT><DD>
7569
7570<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends
7571a bare newline character, that is, a newline not preceded by carriage
7572return.  Specify one of the following: </p>
7573
7574<dl>
7575
7576<dt> <b>ignore</b> </dt>
7577
7578<dd> Ignore the failure of this test. Allow other tests to complete.
7579Do <i>not</i> repeat this test before some the result from some
7580other test expires.
7581This option is useful for testing and collecting statistics
7582without blocking mail permanently. </dd>
7583
7584<dt> <b>enforce</b> </dt>
7585
7586<dd> Allow other tests to complete. Reject attempts to deliver mail
7587with a 550 SMTP reply, and log the helo/sender/recipient information.
7588Repeat this test the next time the client connects. </dd>
7589
7590<dt> <b>drop</b> </dt>
7591
7592<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7593this test the next time the client connects.  </dd>
7594
7595</dl>
7596
7597<p> This feature is available in Postfix 2.8. </p>
7598
7599
7600</DD>
7601
7602<DT><b><a name="postscreen_bare_newline_enable">postscreen_bare_newline_enable</a>
7603(default: no)</b></DT><DD>
7604
7605<p> Enable "bare newline" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
7606server. These tests are expensive: a remote SMTP client must
7607disconnect after
7608it passes the test, before it can talk to a real Postfix SMTP server.
7609</p>
7610
7611<p> This feature is available in Postfix 2.8.  </p>
7612
7613
7614</DD>
7615
7616<DT><b><a name="postscreen_bare_newline_ttl">postscreen_bare_newline_ttl</a>
7617(default: 30d)</b></DT><DD>
7618
7619<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
7620a successful "bare newline" SMTP protocol test. During this
7621time, the client IP address is excluded from this test. The default
7622is long because a remote SMTP client must disconnect after it passes
7623the test,
7624before it can talk to a real Postfix SMTP server. </p>
7625
7626<p> Specify a non-zero time value (an integral value plus an optional
7627one-letter suffix that specifies the time unit).  Time units: s
7628(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7629
7630<p> This feature is available in Postfix 2.8.  </p>
7631
7632
7633</DD>
7634
7635<DT><b><a name="postscreen_blacklist_action">postscreen_blacklist_action</a>
7636(default: ignore)</b></DT><DD>
7637
7638<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client is
7639permanently blacklisted with the <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> parameter.
7640Specify one of the following: </p>
7641
7642<dl>
7643
7644<dt> <b>ignore</b> (default) </dt>
7645
7646<dd> Ignore  this result. Allow other tests to complete.  Repeat
7647this test the next time the client connects.
7648This option is useful for testing and collecting statistics
7649without blocking mail. </dd>
7650
7651<dt> <b>enforce</b> </dt>
7652
7653<dd> Allow other tests to complete. Reject attempts to deliver mail
7654with a 550 SMTP reply, and log the helo/sender/recipient information.
7655Repeat this test the next time the client connects. </dd>
7656
7657<dt> <b>drop</b> </dt>
7658
7659<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7660this test the next time the client connects. </dd>
7661
7662</dl>
7663
7664<p> This feature is available in Postfix 2.8. </p>
7665
7666
7667</DD>
7668
7669<DT><b><a name="postscreen_cache_cleanup_interval">postscreen_cache_cleanup_interval</a>
7670(default: 12h)</b></DT><DD>
7671
7672<p> The amount of time between <a href="postscreen.8.html">postscreen(8)</a> cache cleanup runs.
7673Cache cleanup increases the load on the cache database and should
7674therefore not be run frequently. This feature requires that the
7675cache database supports the "delete" and "sequence" operators.
7676Specify a zero interval to disable cache cleanup. </p>
7677
7678<p> After each cache cleanup run, the <a href="postscreen.8.html">postscreen(8)</a> daemon logs the
7679number of entries that were retained and dropped. A cleanup run is
7680logged as "partial" when the daemon terminates early after "<b>postfix
7681reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
7682seconds. </p>
7683
7684<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
7685(weeks).  </p>
7686
7687<p> This feature is available in Postfix 2.8. </p>
7688
7689
7690</DD>
7691
7692<DT><b><a name="postscreen_cache_map">postscreen_cache_map</a>
7693(default: <a href="DATABASE_README.html#types">btree</a>:$<a href="postconf.5.html#data_directory">data_directory</a>/postscreen_cache)</b></DT><DD>
7694
7695<p> Persistent storage for the <a href="postscreen.8.html">postscreen(8)</a> server decisions. </p>
7696
7697<p> To share a <a href="postscreen.8.html">postscreen(8)</a> cache between multiple <a href="postscreen.8.html">postscreen(8)</a>
7698instances, 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".
7699This requires Postfix version 2.9 or later; earlier <a href="proxymap.8.html">proxymap(8)</a>
7700implementations don't support cache cleanup. For an alternative
7701approach see the <a href="memcache_table.5.html">memcache_table(5)</a> manpage. </p>
7702
7703<p> This feature is available in Postfix 2.8. </p>
7704
7705
7706</DD>
7707
7708<DT><b><a name="postscreen_cache_retention_time">postscreen_cache_retention_time</a>
7709(default: 7d)</b></DT><DD>
7710
7711<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will cache an expired
7712temporary whitelist entry before it is removed. This prevents clients
7713from being logged as "NEW" just because their cache entry expired
7714an hour ago. It also prevents the cache from filling up with clients
7715that passed some deep protocol test once and never came back. </p>
7716
7717<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
7718(weeks).  </p>
7719
7720<p> This feature is available in Postfix 2.8. </p>
7721
7722
7723</DD>
7724
7725<DT><b><a name="postscreen_client_connection_count_limit">postscreen_client_connection_count_limit</a>
7726(default: $<a href="postconf.5.html#smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>)</b></DT><DD>
7727
7728<p> How many simultaneous connections any remote SMTP client is
7729allowed to have
7730with the <a href="postscreen.8.html">postscreen(8)</a> daemon. By default, this limit is the same
7731as with the Postfix SMTP server. Note that the triage process can
7732take several seconds, with the time spent in <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
7733delay, and with the time spent talking to the <a href="postscreen.8.html">postscreen(8)</a> built-in
7734dummy SMTP protocol engine. </p>
7735
7736<p> This feature is available in Postfix 2.8.  </p>
7737
7738
7739</DD>
7740
7741<DT><b><a name="postscreen_command_count_limit">postscreen_command_count_limit</a>
7742(default: 20)</b></DT><DD>
7743
7744<p> The limit on the total number of commands per SMTP session for
7745<a href="postscreen.8.html">postscreen(8)</a>'s built-in SMTP protocol engine.  This SMTP engine
7746defers or rejects all attempts to deliver mail, therefore there is
7747no need to enforce separate limits on the number of junk commands
7748and error commands.  </p>
7749
7750<p> This feature is available in Postfix 2.8.  </p>
7751
7752
7753</DD>
7754
7755<DT><b><a name="postscreen_command_filter">postscreen_command_filter</a>
7756(default: $<a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>)</b></DT><DD>
7757
7758<p> A mechanism to transform commands from remote SMTP clients.
7759See <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for further details. </p>
7760
7761<p> This feature is available in Postfix 2.8 and later. </p>
7762
7763
7764</DD>
7765
7766<DT><b><a name="postscreen_command_time_limit">postscreen_command_time_limit</a>
7767(default: normal: 300s, overload: 10s)</b></DT><DD>
7768
7769<p> The time limit to read an entire command line with <a href="postscreen.8.html">postscreen(8)</a>'s
7770built-in SMTP protocol engine. </p>
7771
7772<p> This feature is available in Postfix 2.8.  </p>
7773
7774
7775</DD>
7776
7777<DT><b><a name="postscreen_disable_vrfy_command">postscreen_disable_vrfy_command</a>
7778(default: $<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a>)</b></DT><DD>
7779
7780<p> Disable the SMTP VRFY command in the <a href="postscreen.8.html">postscreen(8)</a> daemon.  See
7781<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> for details.  </p>
7782
7783<p> This feature is available in Postfix 2.8.  </p>
7784
7785
7786</DD>
7787
7788<DT><b><a name="postscreen_discard_ehlo_keyword_address_maps">postscreen_discard_ehlo_keyword_address_maps</a>
7789(default: $<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>)</b></DT><DD>
7790
7791<p> Lookup tables, indexed by the remote SMTP client address, with
7792case insensitive lists of EHLO keywords (pipelining, starttls, auth,
7793etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO response
7794to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
7795The table is not searched by hostname for robustness reasons.  </p>
7796
7797<p> This feature is available in Postfix 2.8 and later. </p>
7798
7799
7800</DD>
7801
7802<DT><b><a name="postscreen_discard_ehlo_keywords">postscreen_discard_ehlo_keywords</a>
7803(default: $<a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>)</b></DT><DD>
7804
7805<p> A case insensitive list of EHLO keywords (pipelining, starttls,
7806auth, etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO
7807response to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
7808for details. </p>
7809
7810<p> This feature is available in Postfix 2.8 and later. </p>
7811
7812
7813</DD>
7814
7815<DT><b><a name="postscreen_dnsbl_action">postscreen_dnsbl_action</a>
7816(default: ignore)</b></DT><DD>
7817
7818<p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client's combined
7819DNSBL score is equal to or greater than a threshold (as defined
7820with 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>
7821parameters).  Specify one of the following: </p>
7822
7823<dl>
7824
7825<dt> <b>ignore</b> (default) </dt>
7826
7827<dd> Ignore the failure of this test. Allow other tests to complete.
7828Repeat this test the next time the client connects.
7829This option is useful for testing and collecting statistics
7830without blocking mail. </dd>
7831
7832<dt> <b>enforce</b> </dt>
7833
7834<dd> Allow other tests to complete. Reject attempts to deliver mail
7835with a 550 SMTP reply, and log the helo/sender/recipient information.
7836Repeat this test the next time the client connects. </dd>
7837
7838<dt> <b>drop</b> </dt>
7839
7840<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7841this test the next time the client connects. </dd>
7842
7843</dl>
7844
7845<p> This feature is available in Postfix 2.8. </p>
7846
7847
7848</DD>
7849
7850<DT><b><a name="postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>
7851(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>
7852
7853<p> The maximum amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the
7854result from a successful DNS-based reputation test before a
7855client IP address is required to pass that test again. If the DNS
7856reply specifies a shorter TTL value, that value will be used unless
7857it would be smaller than <a href="postconf.5.html#postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>.  </p>
7858
7859<p> Specify a non-zero time value (an integral value plus an optional
7860one-letter suffix that specifies the time unit).  Time units: s
7861(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7862
7863<p> This feature is available in Postfix 3.1. The default setting
7864is backwards-compatible with older Postfix versions. </p>
7865
7866
7867</DD>
7868
7869<DT><b><a name="postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>
7870(default: 60s)</b></DT><DD>
7871
7872<p> The minimum amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the
7873result from a successful DNS-based reputation test before a
7874client IP address is required to pass that test again. If the DNS
7875reply specifies a larger TTL value, that value will be used unless
7876it would be larger than <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>.  </p>
7877
7878<p> Specify a non-zero time value (an integral value plus an optional
7879one-letter suffix that specifies the time unit).  Time units: s
7880(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7881
7882<p> This feature is available in Postfix 3.1. </p>
7883
7884
7885</DD>
7886
7887<DT><b><a name="postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a>
7888(default: empty)</b></DT><DD>
7889
7890<p> A mapping from actual DNSBL domain name which includes a secret
7891password, to the DNSBL domain name that postscreen will reply with
7892when it rejects mail.  When no mapping is found, the actual DNSBL
7893domain will be used. </p>
7894
7895<p> For maximal stability it is best to use a file that is read
7896into 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
7897to <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
7898file can be used, and b) <a href="DATABASE_README.html#types">texthash</a>: does not detect changes after
7899the file is read). </p>
7900
7901<p> Example: </p>
7902
7903<pre>
7904/etc/postfix/<a href="postconf.5.html">main.cf</a>:
7905    <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
7906</pre>
7907
7908<pre>
7909/etc/postfix/dnsbl_reply:
7910   secret.zen.spamhaus.org      zen.spamhaus.org
7911</pre>
7912
7913<p> This feature is available in Postfix 2.8.  </p>
7914
7915
7916</DD>
7917
7918<DT><b><a name="postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
7919(default: empty)</b></DT><DD>
7920
7921<p>Optional list of DNS white/blacklist domains, filters and weight
7922factors. When the list is non-empty, the <a href="dnsblog.8.html">dnsblog(8)</a> daemon will
7923query these domains with the IP addresses of remote SMTP clients,
7924and <a href="postscreen.8.html">postscreen(8)</a> will update an SMTP client's DNSBL score with
7925each non-error reply. </p>
7926
7927<p> Caution: when postscreen rejects mail, it replies with the DNSBL
7928domain name. Use the <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> feature to hide
7929"password" information in DNSBL domain names. </p>
7930
7931<p> When a client's score is equal to or greater than the threshold
7932specified with <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>, <a href="postscreen.8.html">postscreen(8)</a> can drop
7933the connection with the remote SMTP client. </p>
7934
7935<p> Specify a list of domain=filter*weight entries, separated by
7936comma or whitespace.  </p>
7937
7938<ul>
7939
7940<li> <p> When no "=filter" is specified, <a href="postscreen.8.html">postscreen(8)</a> will use any
7941non-error DNSBL reply.  Otherwise, <a href="postscreen.8.html">postscreen(8)</a> uses only DNSBL
7942replies that match the filter. The filter has the form d.d.d.d,
7943where each d is a number, or a pattern inside [] that contains one
7944or more ";"-separated numbers or number..number ranges.  </p>
7945
7946<li> <p> When no "*weight" is specified, <a href="postscreen.8.html">postscreen(8)</a> increments
7947the remote SMTP client's DNSBL score by 1.  Otherwise, the weight must be
7948an integral number, and <a href="postscreen.8.html">postscreen(8)</a> adds the specified weight to
7949the remote SMTP client's DNSBL score.  Specify a negative number for
7950whitelisting.  </p>
7951
7952<li> <p> When one <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> entry produces multiple
7953DNSBL responses, <a href="postscreen.8.html">postscreen(8)</a> applies the weight at most once.
7954</p>
7955
7956</ul>
7957
7958<p> Examples: </p>
7959
7960<p> To use example.com as a high-confidence blocklist, and to
7961block mail with example.net and example.org only when both agree:
7962</p>
7963
7964<pre>
7965<a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a> = 2
7966<a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com*2, example.net, example.org
7967</pre>
7968
7969<p> To filter only DNSBL replies containing 127.0.0.4: </p>
7970
7971<pre>
7972<a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com=127.0.0.4
7973</pre>
7974
7975<p> This feature is available in Postfix 2.8. </p>
7976
7977
7978</DD>
7979
7980<DT><b><a name="postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>
7981(default: 1)</b></DT><DD>
7982
7983<p> The inclusive lower bound for blocking a remote SMTP client, based on
7984its combined DNSBL score as defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
7985parameter. </p>
7986
7987<p> This feature is available in Postfix 2.8.  </p>
7988
7989
7990</DD>
7991
7992<DT><b><a name="postscreen_dnsbl_timeout">postscreen_dnsbl_timeout</a>
7993(default: 10s)</b></DT><DD>
7994
7995<p> The time limit for DNSBL or DNSWL lookups. This is separate from
7996the timeouts in the <a href="dnsblog.8.html">dnsblog(8)</a> daemon which are defined by system
7997resolver(3) routines. </p>
7998
7999<p> This feature is available in Postfix 3.0.  </p>
8000
8001
8002</DD>
8003
8004<DT><b><a name="postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>
8005(default: 1h)</b></DT><DD>
8006
8007<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
8008a successful DNS-based reputation test before a client
8009IP address is required to pass that test again.  </p>
8010
8011<p> Specify a non-zero time value (an integral value plus an optional
8012one-letter suffix that specifies the time unit).  Time units: s
8013(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
8014
8015<p> This feature is available in Postfix 2.8-3.0. It was
8016replaced by <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a> in Postfix 3.1.  </p>
8017
8018
8019</DD>
8020
8021<DT><b><a name="postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a>
8022(default: 0)</b></DT><DD>
8023
8024<p> Allow a remote SMTP client to skip "before" and "after 220
8025greeting" protocol tests, based on its combined DNSBL score as
8026defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> parameter.  </p>
8027
8028<p> Specify a negative value to enable this feature. When a client
8029passes the <a href="postconf.5.html#postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a> without having
8030failed other tests, all pending or disabled tests are flagged as
8031completed with a time-to-live value equal to <a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>.
8032When a test was already completed, its time-to-live value is updated
8033if it was less than <a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>. </p>
8034
8035<p> This feature is available in Postfix 2.11.  </p>
8036
8037
8038</DD>
8039
8040<DT><b><a name="postscreen_enforce_tls">postscreen_enforce_tls</a>
8041(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
8042
8043<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
8044require that clients use TLS encryption.  See smtpd_postscreen_enforce_tls
8045for details.  </p>
8046
8047<p> This feature is available in Postfix 2.8 and later.
8048Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
8049
8050
8051</DD>
8052
8053<DT><b><a name="postscreen_expansion_filter">postscreen_expansion_filter</a>
8054(default: see "postconf -d" output)</b></DT><DD>
8055
8056<p> List of characters that are permitted in <a href="postconf.5.html#postscreen_reject_footer">postscreen_reject_footer</a>
8057attribute expansions.  See <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> for further
8058details. </p>
8059
8060<p> This feature is available in Postfix 2.8 and later. </p>
8061
8062
8063</DD>
8064
8065<DT><b><a name="postscreen_forbidden_commands">postscreen_forbidden_commands</a>
8066(default: $<a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>)</b></DT><DD>
8067
8068<p> List of commands that the <a href="postscreen.8.html">postscreen(8)</a> server considers in
8069violation of the SMTP protocol. See <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a> for
8070syntax, and <a href="postconf.5.html#postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a> for possible actions.
8071</p>
8072
8073<p> This feature is available in Postfix 2.8.  </p>
8074
8075
8076</DD>
8077
8078<DT><b><a name="postscreen_greet_action">postscreen_greet_action</a>
8079(default: ignore)</b></DT><DD>
8080
8081<p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client speaks
8082before its turn within the time specified with the <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
8083parameter.  Specify one of the following: </p>
8084
8085<dl>
8086
8087<dt> <b>ignore</b> (default) </dt>
8088
8089<dd> Ignore the failure of this test. Allow other tests to complete.
8090Repeat this test the next time the client connects.
8091This option is useful for testing and collecting statistics
8092without blocking mail. </dd>
8093
8094<dt> <b>enforce</b> </dt>
8095
8096<dd> Allow other tests to complete. Reject attempts to deliver mail
8097with a 550 SMTP reply, and log the helo/sender/recipient information.
8098Repeat this test the next time the client connects. </dd>
8099
8100<dt> <b>drop</b> </dt>
8101
8102<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
8103this test the next time the client connects. </dd>
8104
8105</dl>
8106
8107<p> In either case, <a href="postscreen.8.html">postscreen(8)</a> will not whitelist the remote SMTP client
8108IP address. </p>
8109
8110<p> This feature is available in Postfix 2.8. </p>
8111
8112
8113</DD>
8114
8115<DT><b><a name="postscreen_greet_banner">postscreen_greet_banner</a>
8116(default: $<a href="postconf.5.html#smtpd_banner">smtpd_banner</a>)</b></DT><DD>
8117
8118<p> The <i>text</i> in the optional "220-<i>text</i>..." server
8119response that
8120<a href="postscreen.8.html">postscreen(8)</a> sends ahead of the real Postfix SMTP server's "220
8121text..." response, in an attempt to confuse bad SMTP clients so
8122that they speak before their turn (pre-greet).  Specify an empty
8123value to disable this feature.  </p>
8124
8125<p> This feature is available in Postfix 2.8. </p>
8126
8127
8128</DD>
8129
8130<DT><b><a name="postscreen_greet_ttl">postscreen_greet_ttl</a>
8131(default: 1d)</b></DT><DD>
8132
8133<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
8134a successful PREGREET test. During this time, the client IP address
8135is excluded from this test. The default is relatively short, because
8136a good client can immediately talk to a real Postfix SMTP server. </p>
8137
8138<p> Specify a non-zero time value (an integral value plus an optional
8139one-letter suffix that specifies the time unit).  Time units: s
8140(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
8141
8142<p> This feature is available in Postfix 2.8. </p>
8143
8144
8145</DD>
8146
8147<DT><b><a name="postscreen_greet_wait">postscreen_greet_wait</a>
8148(default: normal: 6s, overload: 2s)</b></DT><DD>
8149
8150<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will wait for an SMTP
8151client to send a command before its turn, and for DNS blocklist
8152lookup results to arrive (default: up to 2 seconds under stress,
8153up to 6 seconds otherwise).  <p>
8154
8155<p> Specify a non-zero time value (an integral value plus an optional
8156one-letter suffix that specifies the time unit).  </p>
8157
8158<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
8159(weeks).  </p>
8160
8161<p> This feature is available in Postfix 2.8. </p>
8162
8163
8164</DD>
8165
8166<DT><b><a name="postscreen_helo_required">postscreen_helo_required</a>
8167(default: $<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a>)</b></DT><DD>
8168
8169<p> Require that a remote SMTP client sends HELO or EHLO before
8170commencing a MAIL transaction. </p>
8171
8172<p> This feature is available in Postfix 2.8.  </p>
8173
8174
8175</DD>
8176
8177<DT><b><a name="postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a>
8178(default: drop)</b></DT><DD>
8179
8180<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends
8181non-SMTP commands as specified with the <a href="postconf.5.html#postscreen_forbidden_commands">postscreen_forbidden_commands</a>
8182parameter.  Specify one of the following: </p>
8183
8184<dl>
8185
8186<dt> <b>ignore</b> </dt>
8187
8188<dd> Ignore the failure of this test. Allow other tests to complete.
8189Do <i>not</i> repeat this test before some the result from some
8190other test expires.
8191This option is useful for testing and collecting statistics
8192without blocking mail permanently. </dd>
8193
8194<dt> <b>enforce</b> </dt>
8195
8196<dd> Allow other tests to complete. Reject attempts to deliver mail
8197with a 550 SMTP reply, and log the helo/sender/recipient information.
8198Repeat this test the next time the client connects. </dd>
8199
8200<dt> <b>drop</b> </dt>
8201
8202<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
8203this test the next time the client connects. This action is the
8204same as with the Postfix SMTP server's <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>
8205feature.  </dd>
8206
8207</dl>
8208
8209<p> This feature is available in Postfix 2.8. </p>
8210
8211
8212</DD>
8213
8214<DT><b><a name="postscreen_non_smtp_command_enable">postscreen_non_smtp_command_enable</a>
8215(default: no)</b></DT><DD>
8216
8217<p> Enable "non-SMTP command" tests in the <a href="postscreen.8.html">postscreen(8)</a> server. These
8218tests are expensive: a client must disconnect after it passes the
8219test, before it can talk to a real Postfix SMTP server. </p>
8220
8221<p> This feature is available in Postfix 2.8.  </p>
8222
8223
8224</DD>
8225
8226<DT><b><a name="postscreen_non_smtp_command_ttl">postscreen_non_smtp_command_ttl</a>
8227(default: 30d)</b></DT><DD>
8228
8229<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
8230a successful "non_smtp_command" SMTP protocol test. During this
8231time, the client IP address is excluded from this test. The default
8232is long because a client must disconnect after it passes the test,
8233before it can talk to a real Postfix SMTP server. </p>
8234
8235<p> Specify a non-zero time value (an integral value plus an optional
8236one-letter suffix that specifies the time unit).  Time units: s
8237(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
8238
8239<p> This feature is available in Postfix 2.8.  </p>
8240
8241
8242</DD>
8243
8244<DT><b><a name="postscreen_pipelining_action">postscreen_pipelining_action</a>
8245(default: enforce)</b></DT><DD>
8246
8247<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client
8248sends
8249multiple commands instead of sending one command and waiting for
8250the server to respond.  Specify one of the following: </p>
8251
8252<dl>
8253
8254<dt> <b>ignore</b> </dt>
8255
8256<dd> Ignore the failure of this test. Allow other tests to complete.
8257Do <i>not</i> repeat this test before some the result from some
8258other test expires.
8259This option is useful for testing and collecting statistics
8260without blocking mail permanently. </dd>
8261
8262<dt> <b>enforce</b> </dt>
8263
8264<dd> Allow other tests to complete. Reject attempts to deliver mail
8265with a 550 SMTP reply, and log the helo/sender/recipient information.
8266Repeat this test the next time the client connects. </dd>
8267
8268<dt> <b>drop</b> </dt>
8269
8270<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
8271this test the next time the client connects. </dd>
8272
8273</dl>
8274
8275<p> This feature is available in Postfix 2.8. </p>
8276
8277
8278</DD>
8279
8280<DT><b><a name="postscreen_pipelining_enable">postscreen_pipelining_enable</a>
8281(default: no)</b></DT><DD>
8282
8283<p> Enable "pipelining" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
8284server. These tests are expensive: a good client must disconnect
8285after it passes the test, before it can talk to a real Postfix SMTP
8286server. </p>
8287
8288<p> This feature is available in Postfix 2.8.  </p>
8289
8290
8291</DD>
8292
8293<DT><b><a name="postscreen_pipelining_ttl">postscreen_pipelining_ttl</a>
8294(default: 30d)</b></DT><DD>
8295
8296<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
8297a successful "pipelining" SMTP protocol test. During this time, the
8298client IP address is excluded from this test. The default is
8299long because a good client must disconnect after it passes the test,
8300before it can talk to a real Postfix SMTP server. </p>
8301
8302<p> Specify a non-zero time value (an integral value plus an optional
8303one-letter suffix that specifies the time unit).  Time units: s
8304(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
8305
8306<p> This feature is available in Postfix 2.8.  </p>
8307
8308
8309</DD>
8310
8311<DT><b><a name="postscreen_post_queue_limit">postscreen_post_queue_limit</a>
8312(default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
8313
8314<p> The number of clients that can be waiting for service from a
8315real Postfix SMTP server process. When this queue is full, all
8316clients will
8317receive a 421 response. </p>
8318
8319<p> This feature is available in Postfix 2.8. </p>
8320
8321
8322</DD>
8323
8324<DT><b><a name="postscreen_pre_queue_limit">postscreen_pre_queue_limit</a>
8325(default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
8326
8327<p> The number of non-whitelisted clients that can be waiting for
8328a decision whether they will receive service from a real Postfix
8329SMTP server
8330process. When this queue is full, all non-whitelisted clients will
8331receive a 421 response. </p>
8332
8333<p> This feature is available in Postfix 2.8. </p>
8334
8335
8336</DD>
8337
8338<DT><b><a name="postscreen_reject_footer">postscreen_reject_footer</a>
8339(default: $<a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>)</b></DT><DD>
8340
8341<p> Optional information that is appended after a 4XX or 5XX
8342<a href="postscreen.8.html">postscreen(8)</a> server
8343response. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> for further details.  </p>
8344
8345<p> This feature is available in Postfix 2.8 and later. </p>
8346
8347
8348</DD>
8349
8350<DT><b><a name="postscreen_tls_security_level">postscreen_tls_security_level</a>
8351(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
8352
8353<p> The SMTP TLS security level for the <a href="postscreen.8.html">postscreen(8)</a> server; when
8354a non-empty value is specified, this overrides the obsolete parameters
8355<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>
8356for details. </p>
8357
8358<p> This feature is available in Postfix 2.8 and later. </p>
8359
8360
8361</DD>
8362
8363<DT><b><a name="postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a>
8364(default: empty)</b></DT><DD>
8365
8366<p> The name of the proxy protocol used by an optional before-postscreen
8367proxy agent. When a proxy agent is used, this protocol conveys local
8368and remote address and port information. Specify
8369"<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
8370protocol. <p>
8371
8372<p> This feature is available in Postfix 2.10 and later.  </p>
8373
8374
8375</DD>
8376
8377<DT><b><a name="postscreen_upstream_proxy_timeout">postscreen_upstream_proxy_timeout</a>
8378(default: 5s)</b></DT><DD>
8379
8380<p> The time limit for the proxy protocol specified with the
8381<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> parameter. </p>
8382
8383<p> This feature is available in Postfix 2.10 and later.  </p>
8384
8385
8386</DD>
8387
8388<DT><b><a name="postscreen_use_tls">postscreen_use_tls</a>
8389(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
8390
8391<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
8392but do not require that clients use TLS encryption. </p>
8393
8394<p> This feature is available in Postfix 2.8 and later.
8395Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
8396
8397
8398</DD>
8399
8400<DT><b><a name="postscreen_watchdog_timeout">postscreen_watchdog_timeout</a>
8401(default: 10s)</b></DT><DD>
8402
8403<p> How much time a <a href="postscreen.8.html">postscreen(8)</a> process may take to respond to
8404a remote SMTP client command or to perform a cache operation before it
8405is terminated by a built-in watchdog timer.  This is a safety
8406mechanism that prevents <a href="postscreen.8.html">postscreen(8)</a> from becoming non-responsive
8407due to a bug in Postfix itself or in system software.  To avoid
8408false alarms and unnecessary cache corruption this limit cannot be
8409set under 10s.  </p>
8410
8411<p> Specify a non-zero time value (an integral value plus an optional
8412one-letter suffix that specifies the time unit).  Time units: s
8413(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
8414
8415<p> This feature is available in Postfix 2.8.  </p>
8416
8417
8418</DD>
8419
8420<DT><b><a name="postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a>
8421(default: <a href="DATABASE_README.html#types">static</a>:all)</b></DT><DD>
8422
8423<p> A list of local <a href="postscreen.8.html">postscreen(8)</a> server IP addresses where a
8424non-whitelisted remote SMTP client can obtain <a href="postscreen.8.html">postscreen(8)</a>'s temporary
8425whitelist status. This status is required before the client can
8426talk to a Postfix SMTP server process.  By default, a client can
8427obtain <a href="postscreen.8.html">postscreen(8)</a>'s whitelist status on any local <a href="postscreen.8.html">postscreen(8)</a>
8428server IP address. </p>
8429
8430<p> When <a href="postscreen.8.html">postscreen(8)</a> listens on both primary and backup MX
8431addresses, the <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> parameter can be
8432configured to give the temporary whitelist status only when a client
8433connects to a primary MX address. Once a client is whitelisted it
8434can talk to a Postfix SMTP server on any address. Thus, clients
8435that connect only to backup MX addresses will never become whitelisted,
8436and will never be allowed to talk to a Postfix SMTP server process.
8437</p>
8438
8439<p> Specify a list of network addresses or network/netmask patterns,
8440separated by commas and/or whitespace. The netmask specifies the
8441number of bits in the network part of a host address. Continue long
8442lines by starting the next line with whitespace. </p>
8443
8444<p> You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A
8445"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
8446lookup table is matched when a table entry matches a lookup string
8447(the lookup result is ignored). </p>
8448
8449<p> The list is matched left to right, and the search stops on the
8450first match. Specify "!pattern" to exclude an address or network
8451block from the list.  </p>
8452
8453<p> Note: IP version 6 address information must be specified inside
8454[] in the <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> value, and in files
8455specified with "/file/name".  IP version 6 addresses contain the
8456":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
8457pattern. </p>
8458
8459<p> Example: </p>
8460
8461<pre>
8462/etc/postfix/<a href="postconf.5.html">main.cf</a>:
8463    # Don't whitelist connections to the backup IP address.
8464    <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> = !168.100.189.8, <a href="DATABASE_README.html#types">static</a>:all
8465</pre>
8466
8467<p> This feature is available in Postfix 2.9 and later.  </p>
8468
8469
8470</DD>
8471
8472<DT><b><a name="prepend_delivered_header">prepend_delivered_header</a>
8473(default: command, file, forward)</b></DT><DD>
8474
8475<p> The message delivery contexts where the Postfix <a href="local.8.html">local(8)</a> delivery
8476agent prepends a Delivered-To:  message header with the address
8477that the mail was delivered to. This information is used for mail
8478delivery loop detection.  </p>
8479
8480<p>
8481By default, the Postfix local delivery agent prepends a Delivered-To:
8482header when forwarding mail and when delivering to file (mailbox)
8483and command. Turning off the Delivered-To: header when forwarding
8484mail is not recommended.
8485</p>
8486
8487<p>
8488Specify zero or more of <b>forward</b>, <b>file</b>, or <b>command</b>.
8489</p>
8490
8491<p>
8492Example:
8493</p>
8494
8495<pre>
8496<a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a> = forward
8497</pre>
8498
8499
8500</DD>
8501
8502<DT><b><a name="process_id">process_id</a>
8503(read-only)</b></DT><DD>
8504
8505<p>
8506The process ID of a Postfix command or daemon process.
8507</p>
8508
8509
8510</DD>
8511
8512<DT><b><a name="process_id_directory">process_id_directory</a>
8513(default: pid)</b></DT><DD>
8514
8515<p>
8516The location of Postfix PID files relative to $<a href="postconf.5.html#queue_directory">queue_directory</a>.
8517This is a read-only parameter.
8518</p>
8519
8520
8521</DD>
8522
8523<DT><b><a name="process_name">process_name</a>
8524(read-only)</b></DT><DD>
8525
8526<p>
8527The process name of a Postfix command or daemon process.
8528</p>
8529
8530
8531</DD>
8532
8533<DT><b><a name="propagate_unmatched_extensions">propagate_unmatched_extensions</a>
8534(default: canonical, virtual)</b></DT><DD>
8535
8536<p>
8537What address lookup tables copy an address extension from the lookup
8538key to the lookup result.
8539</p>
8540
8541<p>
8542For example, with a <a href="virtual.5.html">virtual(5)</a> mapping of "<i>joe@example.com =&gt;
8543joe.user@example.net</i>", the address "<i>joe+foo@example.com</i>"
8544would rewrite to "<i>joe.user+foo@example.net</i>".
8545</p>
8546
8547<p>
8548Specify zero or more of <b>canonical</b>, <b>virtual</b>, <b>alias</b>,
8549<b>forward</b>, <b>include</b> or <b>generic</b>. These cause
8550address extension
8551propagation 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,
8552with <a href="local.8.html">local(8)</a> .forward and :include: file lookups, and with <a href="smtp.8.html">smtp(8)</a>
8553generic maps, respectively.  </p>
8554
8555<p>
8556Note: enabling this feature for types other than <b>canonical</b>
8557and <b>virtual</b> is likely to cause problems when mail is forwarded
8558to other sites, especially with mail that is sent to a mailing list
8559exploder address.
8560</p>
8561
8562<p>
8563Examples:
8564</p>
8565
8566<pre>
8567<a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual, alias,
8568        forward, include
8569<a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual
8570</pre>
8571
8572
8573</DD>
8574
8575<DT><b><a name="proxy_interfaces">proxy_interfaces</a>
8576(default: empty)</b></DT><DD>
8577
8578<p>
8579The network interface addresses that this mail system receives mail
8580on by way of a proxy or network address translation unit.
8581</p>
8582
8583<p>
8584This feature is available in Postfix 2.0 and later.
8585</p>
8586
8587<p> You must specify your "outside" proxy/NAT addresses when your
8588system is a backup MX host for other domains, otherwise mail delivery
8589loops will happen when the primary MX host is down.  </p>
8590
8591<p>
8592Example:
8593</p>
8594
8595<pre>
8596<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> = 1.2.3.4
8597</pre>
8598
8599
8600</DD>
8601
8602<DT><b><a name="proxy_read_maps">proxy_read_maps</a>
8603(default: see "postconf -d" output)</b></DT><DD>
8604
8605<p>
8606The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
8607access for the read-only service.
8608</p>
8609
8610<p>
8611Specify zero or more "type:name" lookup tables, separated by
8612whitespace or comma.
8613Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.
8614</p>
8615
8616<p>
8617This feature is available in Postfix 2.0 and later.
8618</p>
8619
8620
8621</DD>
8622
8623<DT><b><a name="proxy_write_maps">proxy_write_maps</a>
8624(default: see "postconf -d" output)</b></DT><DD>
8625
8626<p> The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
8627access for the read-write service. Postfix-owned local database
8628files should be stored under the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>.
8629Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.  </p>
8630
8631<p>
8632This feature is available in Postfix 2.5 and later.
8633</p>
8634
8635
8636</DD>
8637
8638<DT><b><a name="proxymap_service_name">proxymap_service_name</a>
8639(default: proxymap)</b></DT><DD>
8640
8641<p> The name of the proxymap read-only table lookup service.  This
8642service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon. </p>
8643
8644<p> This feature is available in Postfix 2.6 and later. </p>
8645
8646
8647</DD>
8648
8649<DT><b><a name="proxywrite_service_name">proxywrite_service_name</a>
8650(default: proxywrite)</b></DT><DD>
8651
8652<p> The name of the proxywrite read-write table lookup service.
8653This service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon.
8654</p>
8655
8656<p> This feature is available in Postfix 2.6 and later. </p>
8657
8658
8659</DD>
8660
8661<DT><b><a name="qmgr_clog_warn_time">qmgr_clog_warn_time</a>
8662(default: 300s)</b></DT><DD>
8663
8664<p>
8665The minimal delay between warnings that a specific destination is
8666clogging up the Postfix <a href="QSHAPE_README.html#active_queue">active queue</a>. Specify 0 to disable.
8667</p>
8668
8669<p>
8670This feature is enabled with the <a href="postconf.5.html#helpful_warnings">helpful_warnings</a> parameter.
8671</p>
8672
8673<p>
8674This feature is available in Postfix 2.0 and later.
8675</p>
8676
8677
8678</DD>
8679
8680<DT><b><a name="qmgr_daemon_timeout">qmgr_daemon_timeout</a>
8681(default: 1000s)</b></DT><DD>
8682
8683<p> How much time a Postfix queue manager process may take to handle
8684a request before it is terminated by a built-in watchdog timer.
8685</p>
8686
8687<p>
8688Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8689The default time unit is s (seconds).
8690</p>
8691
8692<p> This feature is available in Postfix 2.8 and later.  </p>
8693
8694
8695</DD>
8696
8697<DT><b><a name="qmgr_fudge_factor">qmgr_fudge_factor</a>
8698(default: 100)</b></DT><DD>
8699
8700<p>
8701Obsolete feature: the percentage of delivery resources that a busy
8702mail system will use up for delivery of a large mailing  list
8703message.
8704</p>
8705
8706<p>
8707This feature exists only in the <a href="qmgr.8.html">oqmgr(8)</a> old queue manager. The
8708current queue manager solves the problem in a better way.
8709</p>
8710
8711
8712</DD>
8713
8714<DT><b><a name="qmgr_ipc_timeout">qmgr_ipc_timeout</a>
8715(default: 60s)</b></DT><DD>
8716
8717<p> The time limit for the queue manager to send or receive information
8718over an internal communication channel.  The purpose is to break
8719out of deadlock situations. If the time limit is exceeded the
8720software either retries or aborts the operation. </p>
8721
8722<p>
8723Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8724The default time unit is s (seconds).
8725</p>
8726
8727<p> This feature is available in Postfix 2.8 and later.  </p>
8728
8729
8730</DD>
8731
8732<DT><b><a name="qmgr_message_active_limit">qmgr_message_active_limit</a>
8733(default: 20000)</b></DT><DD>
8734
8735<p>
8736The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>.
8737</p>
8738
8739
8740</DD>
8741
8742<DT><b><a name="qmgr_message_recipient_limit">qmgr_message_recipient_limit</a>
8743(default: 20000)</b></DT><DD>
8744
8745<p> The maximal number of recipients held in memory by the Postfix
8746queue manager, and the maximal size of the short-term,
8747in-memory "dead" destination status cache.  </p>
8748
8749
8750</DD>
8751
8752<DT><b><a name="qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>
8753(default: 10)</b></DT><DD>
8754
8755<p>
8756The minimal number of in-memory recipients for any message. This
8757takes priority over any other in-memory recipient limits (i.e.,
8758the global <a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> and the per transport
8759_recipient_limit) if necessary. The minimum value allowed for this
8760parameter is 1.
8761</p>
8762
8763
8764</DD>
8765
8766<DT><b><a name="qmqpd_authorized_clients">qmqpd_authorized_clients</a>
8767(default: empty)</b></DT><DD>
8768
8769<p>
8770What remote QMQP clients are allowed to connect to the Postfix QMQP
8771server port.
8772</p>
8773
8774<p>
8775By default, no client is allowed to use the service. This is
8776because the QMQP server will relay mail to any destination.
8777</p>
8778
8779<p>
8780Specify a list of client patterns. A list pattern specifies a host
8781name, a domain name, an internet address, or a network/mask pattern,
8782where the mask specifies the number of bits in the network part.
8783When a pattern specifies a file name, its contents are substituted
8784for the file name; when a pattern is a "<a href="DATABASE_README.html">type:table</a>" table specification,
8785table lookup is used instead.  </p>
8786
8787<p>
8788Patterns are separated by whitespace and/or commas. In order to
8789reverse the result, precede a pattern with an
8790exclamation point (!). The form "!/file/name" is supported only
8791in Postfix version 2.4 and later.
8792</p>
8793
8794<p> Pattern matching of domain names is controlled by the presence
8795or absence of "<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>" in the
8796<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value.  </p>
8797
8798<p>
8799Example:
8800</p>
8801
8802<pre>
8803<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a> = !192.168.0.1, 192.168.0.0/24
8804</pre>
8805
8806
8807</DD>
8808
8809<DT><b><a name="qmqpd_client_port_logging">qmqpd_client_port_logging</a>
8810(default: no)</b></DT><DD>
8811
8812<p> Enable logging of the remote QMQP client port in addition to
8813the hostname and IP address. The logging format is "host[address]:port".
8814</p>
8815
8816<p> This feature is available in Postfix 2.5 and later. </p>
8817
8818
8819</DD>
8820
8821<DT><b><a name="qmqpd_error_delay">qmqpd_error_delay</a>
8822(default: 1s)</b></DT><DD>
8823
8824<p>
8825How long the Postfix QMQP server will pause before sending a negative
8826reply to the remote QMQP client. The purpose is to slow down confused
8827or malicious clients.
8828</p>
8829
8830<p>
8831Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8832The default time unit is s (seconds).
8833</p>
8834
8835
8836</DD>
8837
8838<DT><b><a name="qmqpd_timeout">qmqpd_timeout</a>
8839(default: 300s)</b></DT><DD>
8840
8841<p>
8842The time limit for sending or receiving information over the network.
8843If a read or write operation blocks for more than $<a href="postconf.5.html#qmqpd_timeout">qmqpd_timeout</a>
8844seconds the Postfix QMQP server gives up and disconnects.
8845</p>
8846
8847<p>
8848Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8849The default time unit is s (seconds).
8850</p>
8851
8852
8853</DD>
8854
8855<DT><b><a name="queue_directory">queue_directory</a>
8856(default: see "postconf -d" output)</b></DT><DD>
8857
8858<p>
8859The location of the Postfix top-level queue directory. This is the
8860root directory of Postfix daemon processes that run chrooted.
8861</p>
8862
8863
8864</DD>
8865
8866<DT><b><a name="queue_file_attribute_count_limit">queue_file_attribute_count_limit</a>
8867(default: 100)</b></DT><DD>
8868
8869<p>
8870The maximal number of (name=value) attributes that may be stored
8871in a Postfix queue file. The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a>
8872server.
8873</p>
8874
8875<p>
8876This feature is available in Postfix 2.0 and later.
8877</p>
8878
8879
8880</DD>
8881
8882<DT><b><a name="queue_minfree">queue_minfree</a>
8883(default: 0)</b></DT><DD>
8884
8885<p>
8886The minimal amount of free space in bytes in the queue file system
8887that is needed to receive mail.  This is currently used by the
8888Postfix SMTP server to decide if it will accept any mail at all.
8889</p>
8890
8891<p>
8892By default, the Postfix SMTP server rejects MAIL FROM commands when
8893the amount of free space is less than 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>
8894(Postfix version 2.1 and later).
8895To specify a higher minimum free space limit, specify a <a href="postconf.5.html#queue_minfree">queue_minfree</a>
8896value that is at least 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>.
8897</p>
8898
8899<p>
8900With Postfix versions 2.0 and earlier, a <a href="postconf.5.html#queue_minfree">queue_minfree</a> value of
8901zero means there is no minimum required amount of free space.
8902</p>
8903
8904
8905</DD>
8906
8907<DT><b><a name="queue_run_delay">queue_run_delay</a>
8908(default: 300s)</b></DT><DD>
8909
8910<p>
8911The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue manager;
8912prior to Postfix 2.4 the default value was 1000s.
8913</p>
8914
8915<p> This parameter should be set less than or equal to
8916$<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>
8917
8918<p>
8919Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8920The default time unit is s (seconds).
8921</p>
8922
8923
8924</DD>
8925
8926<DT><b><a name="queue_service_name">queue_service_name</a>
8927(default: qmgr)</b></DT><DD>
8928
8929<p>
8930The name of the <a href="qmgr.8.html">qmgr(8)</a> service. This service manages the Postfix
8931queue and schedules delivery requests.
8932</p>
8933
8934<p>
8935This feature is available in Postfix 2.0 and later.
8936</p>
8937
8938
8939</DD>
8940
8941<DT><b><a name="rbl_reply_maps">rbl_reply_maps</a>
8942(default: empty)</b></DT><DD>
8943
8944<p>
8945Optional lookup tables with RBL response templates. The tables are
8946indexed by the RBL domain name. By default, Postfix uses the default
8947template as specified with the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> configuration
8948parameter. See there for a discussion of the syntax of RBL reply
8949templates.
8950</p>
8951
8952<p>
8953This feature is available in Postfix 2.0 and later.
8954</p>
8955
8956
8957</DD>
8958
8959<DT><b><a name="readme_directory">readme_directory</a>
8960(default: see "postconf -d" output)</b></DT><DD>
8961
8962<p>
8963The location of Postfix README files that describe how to build,
8964configure or operate a specific Postfix subsystem or feature.
8965</p>
8966
8967
8968</DD>
8969
8970<DT><b><a name="receive_override_options">receive_override_options</a>
8971(default: empty)</b></DT><DD>
8972
8973<p> Enable or disable recipient validation, built-in content
8974filtering, or address mapping. Typically, these are specified in
8975<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
8976<a href="pickup.8.html">pickup(8)</a> daemons. </p>
8977
8978<p> Specify zero or more of the following options.  The options
8979override <a href="postconf.5.html">main.cf</a> settings and are either implemented by <a href="smtpd.8.html">smtpd(8)</a>,
8980<a href="qmqpd.8.html">qmqpd(8)</a>, or <a href="pickup.8.html">pickup(8)</a> themselves, or they are forwarded to the
8981cleanup server.  </p>
8982
8983<dl>
8984
8985<dt><b><a name="no_unknown_recipient_checks">no_unknown_recipient_checks</a></b></dt>
8986
8987<dd>Do not try to reject unknown recipients (SMTP server only).
8988This is typically specified AFTER an external content filter.
8989</dd>
8990
8991<dt><b><a name="no_address_mappings">no_address_mappings</a></b></dt>
8992
8993<dd>Disable canonical address mapping, virtual alias map expansion,
8994address masquerading, and automatic BCC (blind carbon-copy)
8995recipients. This is typically specified BEFORE an external content
8996filter. </dd>
8997
8998<dt><b><a name="no_header_body_checks">no_header_body_checks</a></b></dt>
8999
9000<dd>Disable header/body_checks. This is typically specified AFTER
9001an external content filter. </dd>
9002
9003<dt><b><a name="no_milters">no_milters</a></b></dt>
9004
9005<dd>Disable Milter (mail filter) applications. This is typically
9006specified AFTER an external content filter. </dd>
9007
9008</dl>
9009
9010<p>
9011Note: when the "BEFORE content filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a>
9012setting is specified in the <a href="postconf.5.html">main.cf</a> file, specify the "AFTER content
9013filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a> setting in <a href="master.5.html">master.cf</a> (and vice
9014versa).
9015</p>
9016
9017<p>
9018Examples:
9019</p>
9020
9021<pre>
9022<a href="postconf.5.html#receive_override_options">receive_override_options</a> =
9023    <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>
9024<a href="postconf.5.html#receive_override_options">receive_override_options</a> = <a href="postconf.5.html#no_address_mappings">no_address_mappings</a>
9025</pre>
9026
9027<p>
9028This feature is available in Postfix 2.1 and later.
9029</p>
9030
9031
9032</DD>
9033
9034<DT><b><a name="recipient_bcc_maps">recipient_bcc_maps</a>
9035(default: empty)</b></DT><DD>
9036
9037<p>
9038Optional BCC (blind carbon-copy) address lookup tables, indexed by
9039recipient address.  The BCC address (multiple results are not
9040supported) is added when mail enters from outside of Postfix.
9041</p>
9042
9043<p>
9044Specify zero or more "type:name" lookup tables, separated by
9045whitespace or comma. Tables will be searched in the specified order
9046until a match is found.
9047</p>
9048
9049<p>
9050The table search order is as follows:
9051</p>
9052
9053<ul>
9054
9055<li> Look up the "user+extension@domain.tld" address including the
9056optional address extension.
9057
9058<li> Look up the "user@domain.tld" address without the optional
9059address extension.
9060
9061<li> Look up the "user+extension" address local part when the
9062recipient 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>
9063or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
9064
9065<li> Look up the "user" address local part when the recipient domain
9066equals $<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>.
9067
9068<li> Look up the "@domain.tld" part.
9069
9070</ul>
9071
9072<p>
9073Note: with Postfix 2.3 and later the BCC address is added as if it
9074was specified with NOTIFY=NONE. The sender will not be notified
9075when the BCC address is undeliverable, as long as all down-stream
9076software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
9077</p>
9078
9079<p>
9080Note: with Postfix 2.2 and earlier the sender will unconditionally
9081be notified when the BCC address is undeliverable.
9082</p>
9083
9084<p> Note: automatic BCC recipients are produced only for new mail.
9085To avoid mailer loops, automatic BCC recipients are not generated
9086after Postfix forwards mail internally, or after Postfix generates
9087mail itself. </p>
9088
9089<p>
9090Example:
9091</p>
9092
9093<pre>
9094<a href="postconf.5.html#recipient_bcc_maps">recipient_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_bcc
9095</pre>
9096
9097<p>
9098After a change, run "<b>postmap /etc/postfix/recipient_bcc</b>".
9099</p>
9100
9101<p>
9102This feature is available in Postfix 2.1 and later.
9103</p>
9104
9105
9106</DD>
9107
9108<DT><b><a name="recipient_canonical_classes">recipient_canonical_classes</a>
9109(default: envelope_recipient, header_recipient)</b></DT><DD>
9110
9111<p> What addresses are subject to <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address
9112mapping.  By default, <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address mapping is
9113applied to envelope recipient addresses, and to header recipient
9114addresses.  </p>
9115
9116<p> Specify one or more of: envelope_recipient, header_recipient
9117</p>
9118
9119<p> This feature is available in Postfix 2.2 and later. </p>
9120
9121
9122</DD>
9123
9124<DT><b><a name="recipient_canonical_maps">recipient_canonical_maps</a>
9125(default: empty)</b></DT><DD>
9126
9127<p>
9128Optional address mapping lookup tables for envelope and header
9129recipient addresses.
9130The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
9131</p>
9132
9133<p>
9134Note: $<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>.
9135</p>
9136
9137<p>
9138Example:
9139</p>
9140
9141<pre>
9142<a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_canonical
9143</pre>
9144
9145
9146</DD>
9147
9148<DT><b><a name="recipient_delimiter">recipient_delimiter</a>
9149(default: empty)</b></DT><DD>
9150
9151<p> The set of characters that can separate a user name from its
9152extension (example: user+foo), or a .forward file name from its
9153extension (example: .forward+foo).  Basically, the software tries
9154user+foo and .forward+foo before trying user and .forward.  This
9155implementation recognizes one delimiter character and one extension
9156per email address or .forward file name. </p>
9157
9158<p> When the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set contains multiple characters
9159(Postfix 2.11 and later), a user name or .forward file name is
9160separated from its extension by the first character that matches
9161the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set. </p>
9162
9163<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
9164effects of <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> on lookups in aliases, canonical,
9165virtual, and relocated maps, and see the <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a>
9166parameter for propagating an extension from one email address to
9167another.  </p>
9168
9169<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
9170<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
9171recipient delimiter that was found in the recipient email address
9172(Postfix 2.11 and later), or it is replaced with the <a href="postconf.5.html">main.cf</a>
9173<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> parameter value (Postfix 2.10 and earlier).
9174</p>
9175
9176<p> The <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is not applied to the mailer-daemon
9177address, the postmaster address, or the double-bounce address. With
9178the 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>
9179is also not applied to addresses with the special "owner-" prefix
9180or the special "-request" suffix. </p>
9181
9182<p>
9183Examples:
9184</p>
9185
9186<pre>
9187# Handle Postfix-style extensions.
9188<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +
9189</pre>
9190
9191<pre>
9192# Handle both Postfix and qmail extensions (Postfix 2.11 and later).
9193<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +-
9194</pre>
9195
9196<pre>
9197# Use .forward for mail without address extension, and for mail with
9198# an unrecognized address extension.
9199<a href="postconf.5.html#forward_path">forward_path</a> = $home/.forward${<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>}${extension},
9200    $home/.forward
9201</pre>
9202
9203
9204</DD>
9205
9206<DT><b><a name="reject_code">reject_code</a>
9207(default: 554)</b></DT><DD>
9208
9209<p>
9210The numerical Postfix SMTP server response code when a remote SMTP
9211client request is rejected by the "reject" restriction.
9212</p>
9213
9214<p>
9215Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
9216</p>
9217
9218
9219</DD>
9220
9221<DT><b><a name="reject_tempfail_action">reject_tempfail_action</a>
9222(default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>)</b></DT><DD>
9223
9224<p> The Postfix SMTP server's action when a reject-type restriction
9225fails due to a temporary error condition. Specify "defer" to defer
9226the remote SMTP client request immediately. With the default
9227"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
9228for opportunities to reject mail, and defers the client request
9229only if it would otherwise be accepted. </p>
9230
9231<p> For finer control, see: <a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>,
9232<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>,
9233and <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>.  </p>
9234
9235<p> This feature is available in Postfix 2.6 and later. </p>
9236
9237
9238</DD>
9239
9240<DT><b><a name="relay_clientcerts">relay_clientcerts</a>
9241(default: empty)</b></DT><DD>
9242
9243<p> List of tables with remote SMTP client-certificate fingerprints or
9244public key fingerprints (Postfix 2.9 and later) for which the Postfix
9245SMTP server will allow access with the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
9246feature.  The fingerprint digest algorithm is configurable via the
9247<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
9248Postfix version 2.5).  </p>
9249
9250<p> Postfix lookup tables are in the form of (key, value) pairs.
9251Since we only need the key, the value can be chosen freely, e.g.
9252the name of the user or host:
9253D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home </p>
9254
9255<p> Example: </p>
9256
9257<pre>
9258<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_clientcerts
9259</pre>
9260
9261<p>For more fine-grained control, use <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> to select
9262an appropriate <a href="access.5.html">access(5)</a> policy for each client.
9263See <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a>.</p>
9264
9265<p> <b>Note:</b> Postfix 2.9.0&ndash;2.9.5 computed the public key
9266fingerprint incorrectly. To use public-key fingerprints, upgrade
9267to Postfix 2.9.6 or later. </p>
9268
9269<p>This feature is available with Postfix version 2.2.</p>
9270
9271
9272</DD>
9273
9274<DT><b><a name="relay_destination_concurrency_limit">relay_destination_concurrency_limit</a>
9275(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
9276
9277<p> The maximal number of parallel deliveries to the same destination
9278via the relay message delivery transport. This limit is enforced
9279by the queue manager. The message delivery transport name is the
9280first field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
9281
9282<p> This feature is available in Postfix 2.0 and later. </p>
9283
9284
9285</DD>
9286
9287<DT><b><a name="relay_destination_recipient_limit">relay_destination_recipient_limit</a>
9288(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
9289
9290<p> The maximal number of recipients per message for the relay
9291message delivery transport. This limit is enforced by the queue
9292manager. The message delivery transport name is the first field in
9293the entry in the <a href="master.5.html">master.cf</a> file.  </p>
9294
9295<p> Setting this parameter to a value of 1 changes the meaning of
9296<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> from concurrency per domain
9297into concurrency per recipient.  </p>
9298
9299<p> This feature is available in Postfix 2.0 and later. </p>
9300
9301
9302</DD>
9303
9304<DT><b><a name="relay_domains">relay_domains</a>
9305(default: Postfix &ge; 3.0: empty, Postfix &lt; 3.0: $<a href="postconf.5.html#mydestination">mydestination</a>)</b></DT><DD>
9306
9307<p> What destination domains (and subdomains thereof) this system
9308will relay mail to. For details about how
9309the <a href="postconf.5.html#relay_domains">relay_domains</a> value is used, see the description of the
9310<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
9311restrictions.  </p>
9312
9313<p> Domains that match $<a href="postconf.5.html#relay_domains">relay_domains</a> are delivered with the
9314$<a href="postconf.5.html#relay_transport">relay_transport</a> mail delivery transport. The SMTP server validates
9315recipient addresses with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> and rejects non-existent
9316recipients. See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the
9317<a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.  </p>
9318
9319<p> Note: Postfix will not automatically forward mail for domains
9320that list this system as their primary or backup MX host. See the
9321<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>
9322
9323<p> Specify a list of host or domain names, "/file/name" patterns
9324or "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
9325Continue long lines by starting the next line with whitespace. A
9326"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
9327lookup table is matched when a (parent) domain appears as lookup
9328key. Specify "!pattern" to exclude a domain from the list. The form
9329"!/file/name" is supported only in Postfix version 2.4 and later.
9330</p>
9331
9332<p> Pattern matching of domain names is controlled by the presence
9333or 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>
9334parameter value. </p>
9335
9336
9337</DD>
9338
9339<DT><b><a name="relay_domains_reject_code">relay_domains_reject_code</a>
9340(default: 554)</b></DT><DD>
9341
9342<p>
9343The numerical Postfix SMTP server response code when a client
9344request is rejected by the <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> recipient
9345restriction.
9346</p>
9347
9348<p>
9349Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
9350</p>
9351
9352
9353</DD>
9354
9355<DT><b><a name="relay_recipient_maps">relay_recipient_maps</a>
9356(default: empty)</b></DT><DD>
9357
9358<p> Optional lookup tables with all valid addresses in the domains
9359that match $<a href="postconf.5.html#relay_domains">relay_domains</a>. Specify @domain as a wild-card for
9360domains that have no valid recipient list, and become a source of
9361backscatter mail: Postfix accepts spam for non-existent recipients
9362and then floods innocent people with undeliverable mail.  Technically,
9363tables
9364listed with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> are used as lists: Postfix needs
9365to know only if a lookup string is found or not, but it does not
9366use the result from table lookup.  </p>
9367
9368<p>
9369Specify zero or more "type:name" lookup tables, separated by
9370whitespace or comma. Tables will be searched in the specified order
9371until a match is found.
9372</p>
9373
9374<p>
9375If this parameter is non-empty, then the Postfix SMTP server will reject
9376mail to unknown relay users. This feature is off by default.
9377</p>
9378
9379<p>
9380See 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>
9381file.
9382</p>
9383
9384<p>
9385Example:
9386</p>
9387
9388<pre>
9389<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_recipients
9390</pre>
9391
9392<p>
9393This feature is available in Postfix 2.0 and later.
9394</p>
9395
9396
9397</DD>
9398
9399<DT><b><a name="relay_transport">relay_transport</a>
9400(default: relay)</b></DT><DD>
9401
9402<p>
9403The default mail delivery transport and next-hop destination for
9404remote delivery to domains listed with $<a href="postconf.5.html#relay_domains">relay_domains</a>. In order of
9405decreasing precedence, the nexthop destination is taken from
9406$<a href="postconf.5.html#relay_transport">relay_transport</a>, $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>, $<a href="postconf.5.html#relayhost">relayhost</a>, or
9407from the recipient domain. This information can be overruled with
9408the <a href="transport.5.html">transport(5)</a> table.
9409</p>
9410
9411<p>
9412Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
9413is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
9414The <i>:nexthop</i> destination is optional; its syntax is documented
9415in the manual page of the corresponding delivery agent.
9416</p>
9417
9418<p>
9419See 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>
9420file.
9421</p>
9422
9423<p>
9424This feature is available in Postfix 2.0 and later.
9425</p>
9426
9427
9428</DD>
9429
9430<DT><b><a name="relayhost">relayhost</a>
9431(default: empty)</b></DT><DD>
9432
9433<p>
9434The next-hop destination of non-local mail; overrides non-local
9435domains in recipient addresses. This information is overruled with
9436<a href="postconf.5.html#relay_transport">relay_transport</a>, <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>,
9437<a href="postconf.5.html#default_transport">default_transport</a>, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
9438and with the <a href="transport.5.html">transport(5)</a> table.
9439</p>
9440
9441<p>
9442On an intranet, specify the organizational domain name. If your
9443internal DNS uses no MX records, specify the name of the intranet
9444gateway host instead.
9445</p>
9446
9447<p>
9448In the case of SMTP, specify a domain name, hostname, hostname:port,
9449[hostname]:port, [hostaddress] or [hostaddress]:port. The form
9450[hostname] turns off MX lookups.
9451</p>
9452
9453<p>
9454If you're connected via UUCP, see the <a href="UUCP_README.html">UUCP_README</a> file for useful
9455information.
9456</p>
9457
9458<p>
9459Examples:
9460</p>
9461
9462<pre>
9463<a href="postconf.5.html#relayhost">relayhost</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
9464<a href="postconf.5.html#relayhost">relayhost</a> = [gateway.example.com]
9465<a href="postconf.5.html#relayhost">relayhost</a> = uucphost
9466<a href="postconf.5.html#relayhost">relayhost</a> = [an.ip.add.ress]
9467</pre>
9468
9469
9470</DD>
9471
9472<DT><b><a name="relocated_maps">relocated_maps</a>
9473(default: empty)</b></DT><DD>
9474
9475<p>
9476Optional lookup tables with new contact information for users or
9477domains that no longer exist.  The table format and lookups are
9478documented in <a href="relocated.5.html">relocated(5)</a>.
9479</p>
9480
9481<p>
9482Specify zero or more "type:name" lookup tables, separated by
9483whitespace or comma. Tables will be searched in the specified order
9484until a match is found.
9485</p>
9486
9487<p>
9488If you use this feature, run "<b>postmap /etc/postfix/relocated</b>" to
9489build the necessary DBM or DB file after change, then "<b>postfix
9490reload</b>" to make the changes visible.
9491</p>
9492
9493<p>
9494Examples:
9495</p>
9496
9497<pre>
9498<a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/relocated
9499<a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relocated
9500</pre>
9501
9502
9503</DD>
9504
9505<DT><b><a name="remote_header_rewrite_domain">remote_header_rewrite_domain</a>
9506(default: empty)</b></DT><DD>
9507
9508<p> Don't rewrite message headers from remote clients at all when
9509this parameter is empty; otherwise, rewrite message headers and
9510append the specified domain name to incomplete addresses.  The
9511<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter controls what clients Postfix
9512considers local. </p>
9513
9514<p> Examples:  </p>
9515
9516<p> The safe setting: append "domain.invalid" to incomplete header
9517addresses from remote SMTP clients, so that those addresses cannot
9518be confused with local addresses. </p>
9519
9520<blockquote>
9521<pre>
9522<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> = domain.invalid
9523</pre>
9524</blockquote>
9525
9526<p> The default, purist, setting: don't rewrite headers from remote
9527clients at all. </p>
9528
9529<blockquote>
9530<pre>
9531<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> =
9532</pre>
9533</blockquote>
9534
9535
9536</DD>
9537
9538<DT><b><a name="require_home_directory">require_home_directory</a>
9539(default: no)</b></DT><DD>
9540
9541<p>
9542Require that a <a href="local.8.html">local(8)</a> recipient's home directory exists
9543before mail delivery is attempted. By default this test is disabled.
9544It can be useful for environments that import home directories to
9545the mail server (IMPORTING HOME DIRECTORIES IS NOT RECOMMENDED).
9546</p>
9547
9548
9549</DD>
9550
9551<DT><b><a name="reset_owner_alias">reset_owner_alias</a>
9552(default: no)</b></DT><DD>
9553
9554<p> Reset the <a href="local.8.html">local(8)</a> delivery agent's idea of the owner-alias
9555attribute, when delivering mail to a child alias that does not have
9556its own owner alias. </p>
9557
9558<p> This feature is available in Postfix 2.8 and later. With older
9559Postfix releases, the behavior is as if this parameter is set to
9560"yes". </p>
9561
9562<p> As documented in <a href="aliases.5.html">aliases(5)</a>, when an alias <i>name</i> has a
9563companion alias named owner-<i>name</i>, delivery errors will be
9564reported to the owner alias instead of the sender. This configuration
9565is recommended for mailing lists. <p>
9566
9567<p> A less known property of the owner alias is that it also forces
9568the <a href="local.8.html">local(8)</a> delivery agent to write local and remote addresses
9569from alias expansion to a new queue file, instead of attempting to
9570deliver mail to local addresses as soon as they come out of alias
9571expansion.  </p>
9572
9573<p> Writing local addresses from alias expansion to a new queue
9574file allows for robust handling of temporary delivery errors: errors
9575with one local member have no effect on deliveries to other members
9576of the list.  On the other hand, delivery to local addresses as
9577soon as they come out of alias expansion is fragile: a temporary
9578error with one local address from alias expansion will cause the
9579entire alias to be expanded repeatedly until the error goes away,
9580or until the message expires in the queue.  In that case, a problem
9581with one list member results in multiple message deliveries to other
9582list members. </p>
9583
9584<p> The default behavior of Postfix 2.8 and later is to keep the
9585owner-alias attribute of the parent alias, when delivering mail to
9586a child alias that does not have its own owner alias. Then, local
9587addresses from that child alias will be written to a new queue file,
9588and a temporary error with one local address will not affect delivery
9589to other mailing list members. </p>
9590
9591<p> Unfortunately, older Postfix releases reset the owner-alias
9592attribute when delivering mail to a child alias that does not have
9593its own owner alias.  The <a href="local.8.html">local(8)</a> delivery agent then attempts to
9594deliver local addresses as soon as they come out of child alias
9595expansion.  If delivery to any address from child alias expansion
9596fails with a temporary error condition, the entire mailing list may
9597be expanded repeatedly until the mail expires in the queue, resulting
9598in multiple deliveries of the same message to mailing list members.
9599</p>
9600
9601
9602</DD>
9603
9604<DT><b><a name="resolve_dequoted_address">resolve_dequoted_address</a>
9605(default: yes)</b></DT><DD>
9606
9607<p> Resolve a recipient address safely instead of correctly, by
9608looking inside quotes.  </p>
9609
9610<p> By default, the Postfix address resolver does not quote the
9611address localpart as per <a href="http://tools.ietf.org/html/rfc822">RFC 822</a>, so that additional @ or % or !
9612operators remain visible. This behavior is safe but it is also
9613technically incorrect.  </p>
9614
9615<p> If you specify "<a href="postconf.5.html#resolve_dequoted_address">resolve_dequoted_address</a> = no", then
9616the Postfix
9617resolver will not know about additional @ etc. operators in the
9618address localpart. This opens opportunities for obscure mail relay
9619attacks with user@domain@domain addresses when Postfix provides
9620backup MX service for Sendmail systems.  </p>
9621
9622
9623</DD>
9624
9625<DT><b><a name="resolve_null_domain">resolve_null_domain</a>
9626(default: no)</b></DT><DD>
9627
9628<p> Resolve an address that ends in the "@" null domain as if the
9629local hostname were specified, instead of rejecting the address as
9630invalid.  </p>
9631
9632<p> This feature is available in Postfix 2.1 and later.
9633Earlier versions always resolve the null domain as the local
9634hostname.  </p>
9635
9636<p> The Postfix SMTP server uses this feature to reject mail from
9637or to addresses that end in the "@" null domain, and from addresses
9638that rewrite into a form that ends in the "@" null domain.  </p>
9639
9640
9641</DD>
9642
9643<DT><b><a name="resolve_numeric_domain">resolve_numeric_domain</a>
9644(default: no)</b></DT><DD>
9645
9646<p> Resolve "user@ipaddress" as "user@[ipaddress]", instead of
9647rejecting the address as invalid.  </p>
9648
9649<p> This feature is available in Postfix 2.3 and later.
9650
9651
9652</DD>
9653
9654<DT><b><a name="rewrite_service_name">rewrite_service_name</a>
9655(default: rewrite)</b></DT><DD>
9656
9657<p>
9658The name of the address rewriting service. This service rewrites
9659addresses to standard form and resolves them to a (delivery method,
9660next-hop host, recipient) triple.
9661</p>
9662
9663<p>
9664This feature is available in Postfix 2.0 and later.
9665</p>
9666
9667
9668</DD>
9669
9670<DT><b><a name="sample_directory">sample_directory</a>
9671(default: /etc/postfix)</b></DT><DD>
9672
9673<p>
9674The name of the directory with example Postfix configuration files.
9675Starting with Postfix 2.1, these files have been replaced with the
9676<a href="postconf.5.html">postconf(5)</a> manual page.
9677</p>
9678
9679
9680</DD>
9681
9682<DT><b><a name="send_cyrus_sasl_authzid">send_cyrus_sasl_authzid</a>
9683(default: no)</b></DT><DD>
9684
9685<p> When authenticating to a remote SMTP or LMTP server with the
9686default setting "no", send no SASL authoriZation ID (authzid); send
9687only the SASL authentiCation ID (authcid) plus the authcid's password.
9688</p>
9689
9690<p> The non-default setting "yes" enables the behavior of older
9691Postfix versions.  These always send a SASL authzid that is equal
9692to the SASL authcid, but this causes interoperability problems
9693with some SMTP servers. </p>
9694
9695<p> This feature is available in Postfix 2.4.4 and later. </p>
9696
9697
9698</DD>
9699
9700<DT><b><a name="sender_based_routing">sender_based_routing</a>
9701(default: no)</b></DT><DD>
9702
9703<p>
9704This parameter should not be used. It was replaced by <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
9705in Postfix version 2.3.
9706</p>
9707
9708
9709</DD>
9710
9711<DT><b><a name="sender_bcc_maps">sender_bcc_maps</a>
9712(default: empty)</b></DT><DD>
9713
9714<p> Optional BCC (blind carbon-copy) address lookup tables, indexed
9715by sender address.  The BCC address (multiple results are not
9716supported) is added when mail enters from outside of Postfix.  </p>
9717
9718<p>
9719Specify zero or more "type:name" lookup tables, separated by
9720whitespace or comma. Tables will be searched in the specified order
9721until a match is found.
9722</p>
9723
9724<p>
9725The table search order is as follows:
9726</p>
9727
9728<ul>
9729
9730<li> Look up the "user+extension@domain.tld" address including the
9731optional address extension.
9732
9733<li> Look up the "user@domain.tld" address without the optional
9734address extension.
9735
9736<li> Look up the "user+extension" address local part when the
9737sender 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>
9738or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
9739
9740<li> Look up the "user" address local part when the sender domain
9741equals $<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>.
9742
9743<li> Look up the "@domain.tld" part.
9744
9745</ul>
9746
9747<p>
9748Note: with Postfix 2.3 and later the BCC address is added as if it
9749was specified with NOTIFY=NONE. The sender will not be notified
9750when the BCC address is undeliverable, as long as all down-stream
9751software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
9752</p>
9753
9754<p>
9755Note: with Postfix 2.2 and earlier the sender will be notified
9756when the BCC address is undeliverable.
9757</p>
9758
9759<p> Note: automatic BCC recipients are produced only for new mail.
9760To avoid mailer loops, automatic BCC recipients are not generated
9761after Postfix forwards mail internally, or after Postfix generates
9762mail itself. </p>
9763
9764<p>
9765Example:
9766</p>
9767
9768<pre>
9769<a href="postconf.5.html#sender_bcc_maps">sender_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_bcc
9770</pre>
9771
9772<p>
9773After a change, run "<b>postmap /etc/postfix/sender_bcc</b>".
9774</p>
9775
9776<p>
9777This feature is available in Postfix 2.1 and later.
9778</p>
9779
9780
9781</DD>
9782
9783<DT><b><a name="sender_canonical_classes">sender_canonical_classes</a>
9784(default: envelope_sender, header_sender)</b></DT><DD>
9785
9786<p> What addresses are subject to <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address
9787mapping.  By default, <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address mapping is
9788applied to envelope sender addresses, and to header sender addresses.
9789</p>
9790
9791<p> Specify one or more of: envelope_sender, header_sender </p>
9792
9793<p> This feature is available in Postfix 2.2 and later. </p>
9794
9795
9796</DD>
9797
9798<DT><b><a name="sender_canonical_maps">sender_canonical_maps</a>
9799(default: empty)</b></DT><DD>
9800
9801<p>
9802Optional address mapping lookup tables for envelope and header
9803sender addresses.
9804The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
9805</p>
9806
9807<p>
9808Example: you want to rewrite the SENDER address "user@ugly.domain"
9809to "user@pretty.domain", while still being able to send mail to
9810the RECIPIENT address "user@ugly.domain".
9811</p>
9812
9813<p>
9814Note: $<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>.
9815</p>
9816
9817<p>
9818Example:
9819</p>
9820
9821<pre>
9822<a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_canonical
9823</pre>
9824
9825
9826</DD>
9827
9828<DT><b><a name="sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>
9829(default: empty)</b></DT><DD>
9830
9831<p> A sender-dependent override for the global <a href="postconf.5.html#default_transport">default_transport</a>
9832parameter setting. The tables are searched by the envelope sender
9833address and @domain. A lookup result of DUNNO terminates the search
9834without overriding the global <a href="postconf.5.html#default_transport">default_transport</a> parameter setting.
9835This information is overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
9836
9837<p>
9838Specify zero or more "type:name" lookup tables, separated by
9839whitespace or comma. Tables will be searched in the specified order
9840until a match is found.
9841</p>
9842
9843<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
9844therefore the expected syntax is that of <a href="postconf.5.html#default_transport">default_transport</a>, not the
9845syntax of <a href="postconf.5.html#transport_maps">transport_maps</a>.  Specifically, this does not support the
9846<a href="postconf.5.html#transport_maps">transport_maps</a> syntax for null transport, null nexthop, or null
9847email addresses. </p>
9848
9849<p> For safety reasons, this feature does not allow $number
9850substitutions in regular expression maps. </p>
9851
9852<p> This feature is available in Postfix 2.7 and later.  </p>
9853
9854
9855</DD>
9856
9857<DT><b><a name="sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
9858(default: empty)</b></DT><DD>
9859
9860<p> A sender-dependent override for the global <a href="postconf.5.html#relayhost">relayhost</a> parameter
9861setting. The tables are searched by the envelope sender address and
9862@domain. A lookup result of DUNNO terminates the search without
9863overriding the global <a href="postconf.5.html#relayhost">relayhost</a> parameter setting (Postfix 2.6 and
9864later). This information is overruled with <a href="postconf.5.html#relay_transport">relay_transport</a>,
9865<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>, <a href="postconf.5.html#default_transport">default_transport</a> and with
9866the <a href="transport.5.html">transport(5)</a> table. </p>
9867
9868<p>
9869Specify zero or more "type:name" lookup tables, separated by
9870whitespace or comma. Tables will be searched in the specified order
9871until a match is found.
9872</p>
9873
9874<p> For safety reasons, this feature does not allow $number
9875substitutions in regular expression maps. </p>
9876
9877<p>
9878This feature is available in Postfix 2.3 and later.
9879</p>
9880
9881
9882</DD>
9883
9884<DT><b><a name="sendmail_fix_line_endings">sendmail_fix_line_endings</a>
9885(default: always)</b></DT><DD>
9886
9887<p> Controls how the Postfix sendmail command converts email message
9888line endings from &lt;CR&gt;&lt;LF&gt; into UNIX format (&lt;LF&gt;).
9889</p>
9890
9891<dl>
9892
9893<dt> <b>always</b> </dt> <dd> Always convert message lines ending
9894in &lt;CR&gt;&lt;LF&gt;. This setting is the default with Postfix
98952.9 and later. </dd>
9896
9897<dt> <b>strict</b> </dt> <dd> Convert message lines ending in
9898&lt;CR&gt;&lt;LF&gt; only if the first input line ends in
9899&lt;CR&gt;&lt;LF&gt;. This setting is backwards-compatible with
9900Postfix 2.8 and earlier. </dd>
9901
9902<dt> <b>never</b> </dt> <dd> Never convert message lines ending in
9903&lt;CR&gt;&lt;LF&gt;. This setting exists for completeness only.
9904</dd>
9905
9906</dl>
9907
9908<p> This feature is available in Postfix 2.9 and later. </p>
9909
9910
9911</DD>
9912
9913<DT><b><a name="sendmail_path">sendmail_path</a>
9914(default: see "postconf -d" output)</b></DT><DD>
9915
9916<p>
9917A Sendmail compatibility feature that specifies the location of
9918the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. This command can be used to
9919submit mail into the Postfix queue.
9920</p>
9921
9922
9923</DD>
9924
9925<DT><b><a name="service_throttle_time">service_throttle_time</a>
9926(default: 60s)</b></DT><DD>
9927
9928<p>
9929How long the Postfix <a href="master.8.html">master(8)</a> waits before forking a server that
9930appears to be malfunctioning.
9931</p>
9932
9933<p>
9934Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9935The default time unit is s (seconds).
9936</p>
9937
9938
9939</DD>
9940
9941<DT><b><a name="setgid_group">setgid_group</a>
9942(default: postdrop)</b></DT><DD>
9943
9944<p>
9945The group ownership of set-gid Postfix commands and of group-writable
9946Postfix directories. When this parameter value is changed you need
9947to re-run "<b>postfix set-permissions</b>" (with Postfix version 2.0 and
9948earlier: "<b>/etc/postfix/post-install set-permissions</b>".
9949</p>
9950
9951
9952</DD>
9953
9954<DT><b><a name="shlib_directory">shlib_directory</a>
9955(default: see 'postconf -d' output)</b></DT><DD>
9956
9957<p> The location of Postfix dynamically-linked libraries
9958(libpostfix-*.so), and the default location of Postfix database
9959plugins (postfix-*.so) that have a relative pathname in the
9960dynamicmaps.cf file.  The <a href="postconf.5.html#shlib_directory">shlib_directory</a> parameter defaults to
9961"no" when Postfix dynamically-linked libraries and database plugins
9962are disabled at compile time, otherwise it typically defaults to
9963/usr/lib/postfix or /usr/local/lib/postfix.  </p>
9964
9965<p> Notes: </p>
9966
9967<ul>
9968
9969<li> <p> The directory specified with <a href="postconf.5.html#shlib_directory">shlib_directory</a> should contain
9970only Postfix-related files. Postfix dynamically-linked libraries
9971and database plugins should not be installed in a "public" system
9972directory such as /usr/lib or /usr/local/lib. Linking Postfix
9973dynamically-linked library files or database plugins into non-Postfix
9974programs is not supported.  Postfix dynamically-linked libraries
9975and database plugins implement a Postfix-internal API that changes
9976without maintaining compatibility.  </p>
9977
9978<li> <p> You can change the <a href="postconf.5.html#shlib_directory">shlib_directory</a> value after Postfix is
9979built. However, you may have to run ldconfig or equivalent to prevent
9980Postfix programs from failing because the libpostfix-*.so files are
9981not found.  No ldconfig command is needed if you keep the libpostfix-*.so
9982files in the compiled-in default $<a href="postconf.5.html#shlib_directory">shlib_directory</a> location. </p>
9983
9984</ul>
9985
9986<p> This feature is available in Postfix 3.0 and later. </p>
9987
9988
9989</DD>
9990
9991<DT><b><a name="show_user_unknown_table_name">show_user_unknown_table_name</a>
9992(default: yes)</b></DT><DD>
9993
9994<p>
9995Display the name of the recipient table in the "User unknown"
9996responses.  The extra detail makes trouble shooting easier but also
9997reveals information that is nobody elses business.
9998</p>
9999
10000<p>
10001This feature is available in Postfix 2.0 and later.
10002</p>
10003
10004
10005</DD>
10006
10007<DT><b><a name="showq_service_name">showq_service_name</a>
10008(default: showq)</b></DT><DD>
10009
10010<p>
10011The name of the <a href="showq.8.html">showq(8)</a> service. This service produces mail queue
10012status reports.
10013</p>
10014
10015<p>
10016This feature is available in Postfix 2.0 and later.
10017</p>
10018
10019
10020</DD>
10021
10022<DT><b><a name="smtp_address_preference">smtp_address_preference</a>
10023(default: any)</b></DT><DD>
10024
10025<p> The address type ("ipv6", "ipv4" or "any") that the Postfix
10026SMTP client will try first, when a destination has IPv6 and IPv4
10027addresses with equal MX preference. This feature has no effect
10028unless the <a href="postconf.5.html#inet_protocols">inet_protocols</a> setting enables both IPv4 and IPv6. </p>
10029
10030<p> Postfix SMTP client address preference has evolved. With Postfix
100312.8 the default is "ipv6"; earlier implementations are hard-coded
10032to prefer IPv6 over IPv4. </p>
10033
10034<p> Notes for mail delivery between sites that have both IPv4 and
10035IPv6 connectivity: </p>
10036
10037<ul>
10038
10039<li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = ipv6" is unsafe.
10040It can fail to deliver mail when there is an outage that affects
10041IPv6, while the destination is still reachable over IPv4. </p>
10042
10043<li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = any" is safe. With
10044this, mail will eventually be delivered even if there is an outage
10045that affects IPv6 or IPv4, as long as it does not affect both. </p>
10046
10047</ul>
10048
10049<p> This feature is available in Postfix 2.8 and later.  </p>
10050
10051
10052</DD>
10053
10054<DT><b><a name="smtp_address_verify_target">smtp_address_verify_target</a>
10055(default: rcpt)</b></DT><DD>
10056
10057<p> In the context of email address verification, the SMTP protocol
10058stage that determines whether an email address is deliverable.
10059Specify one of "rcpt" or "data".  The latter is needed with remote
10060SMTP servers that reject recipients after the DATA command. Use
10061<a href="postconf.5.html#transport_maps">transport_maps</a> to apply this feature selectively:  </p>
10062
10063<blockquote>
10064<pre>
10065/etc/postfix/<a href="postconf.5.html">main.cf</a>:
10066    <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport
10067</pre>
10068</blockquote>
10069
10070<blockquote>
10071<pre>
10072/etc/postfix/transport:
10073    smtp-domain-that-verifies-after-data    smtp-data-target:
10074    lmtp-domain-that-verifies-after-data    lmtp-data-target:
10075</pre>
10076</blockquote>
10077
10078<blockquote>
10079<pre>
10080/etc/postfix/<a href="master.5.html">master.cf</a>:
10081    smtp-data-target    unix    -    -    n    -    -    smtp
10082        -o <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a>=data
10083    lmtp-data-target    unix    -    -    n    -    -    lmtp
10084        -o <a href="postconf.5.html#lmtp_address_verify_target">lmtp_address_verify_target</a>=data
10085</pre>
10086</blockquote>
10087
10088<p> Unselective use of the "data" target does no harm, but will
10089result in unnecessary "lost connection after DATA" events at remote
10090SMTP/LMTP servers. </p>
10091
10092<p> This feature is available in Postfix 3.0 and later.  </p>
10093
10094
10095</DD>
10096
10097<DT><b><a name="smtp_always_send_ehlo">smtp_always_send_ehlo</a>
10098(default: yes)</b></DT><DD>
10099
10100<p>
10101Always send EHLO at the start of an SMTP session.
10102</p>
10103
10104<p>
10105With "<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> = no", the Postfix SMTP client sends
10106EHLO only when
10107the word "ESMTP" appears in the server greeting banner (example:
10108220 spike.porcupine.org ESMTP Postfix).
10109</p>
10110
10111
10112</DD>
10113
10114<DT><b><a name="smtp_bind_address">smtp_bind_address</a>
10115(default: empty)</b></DT><DD>
10116
10117<p>
10118An optional numerical network address that the Postfix SMTP client
10119should bind to when making an IPv4 connection.
10120</p>
10121
10122<p>
10123This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
10124it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
10125for example:
10126</p>
10127
10128<blockquote>
10129<pre>
10130/etc/postfix/<a href="master.5.html">master.cf</a>:
10131    smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>=11.22.33.44
10132</pre>
10133</blockquote>
10134
10135<p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv4
10136address, and that address is a non-loopback address, it is
10137automatically used as the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>.  This supports virtual
10138IP hosting, but can be a problem on multi-homed firewalls. See the
10139<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
10140
10141<p> Note 2: address information may be enclosed inside <tt>[]</tt>,
10142but this form is not required here. </p>
10143
10144
10145</DD>
10146
10147<DT><b><a name="smtp_bind_address6">smtp_bind_address6</a>
10148(default: empty)</b></DT><DD>
10149
10150<p>
10151An optional numerical network address that the Postfix SMTP client
10152should bind to when making an IPv6 connection.
10153</p>
10154
10155<p> This feature is available in Postfix 2.2 and later. </p>
10156
10157<p>
10158This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
10159it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
10160for example:
10161</p>
10162
10163<blockquote>
10164<pre>
10165/etc/postfix/<a href="master.5.html">master.cf</a>:
10166    smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>=1:2:3:4:5:6:7:8
10167</pre>
10168</blockquote>
10169
10170<p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv6
10171address, and that address is a non-loopback address, it is
10172automatically used as the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>.  This supports virtual
10173IP hosting, but can be a problem on multi-homed firewalls. See the
10174<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
10175
10176<p> Note 2: address information may be enclosed inside <tt>[]</tt>,
10177but this form is not recommended here. </p>
10178
10179
10180</DD>
10181
10182<DT><b><a name="smtp_body_checks">smtp_body_checks</a>
10183(default: empty)</b></DT><DD>
10184
10185<p> Restricted <a href="header_checks.5.html">body_checks(5)</a> tables for the Postfix SMTP client.
10186These tables are searched while mail is being delivered.  Actions
10187that change the delivery time or destination are not available.
10188</p>
10189
10190<p> This feature is available in Postfix 2.5 and later. </p>
10191
10192
10193</DD>
10194
10195<DT><b><a name="smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
10196(default: version dependent)</b></DT><DD>
10197
10198<p> When the remote SMTP servername is a DNS CNAME, replace the
10199servername with the result from CNAME expansion for the purpose of
10200logging, SASL password lookup, TLS
10201policy decisions, or TLS certificate verification. The value "no"
10202hardens Postfix <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> hostname-based policies against
10203false hostname information in DNS CNAME records, and makes SASL
10204password file lookups more predictable. This is the default setting
10205as of Postfix 2.3. </p>
10206
10207<p> When DNS CNAME records are validated with secure DNS lookups
10208(<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> = dnssec), they are always allowed to
10209override the above servername (Postfix 2.11 and later). </p>
10210
10211<p> This feature is available in Postfix 2.2.9 and later. </p>
10212
10213
10214</DD>
10215
10216<DT><b><a name="smtp_connect_timeout">smtp_connect_timeout</a>
10217(default: 30s)</b></DT><DD>
10218
10219<p>
10220The Postfix SMTP client time limit for completing a TCP connection, or
10221zero (use the operating system built-in time limit).
10222</p>
10223
10224<p>
10225When no connection can be made within the deadline, the Postfix
10226SMTP client
10227tries the next address on the mail exchanger list. Specify 0 to
10228disable the time limit (i.e. use whatever timeout is implemented by
10229the operating system).
10230</p>
10231
10232<p>
10233Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10234The default time unit is s (seconds).
10235</p>
10236
10237
10238</DD>
10239
10240<DT><b><a name="smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
10241(default: empty)</b></DT><DD>
10242
10243<p> Permanently enable SMTP connection caching for the specified
10244destinations.  With SMTP connection caching, a connection is not
10245closed immediately after completion of a mail transaction.  Instead,
10246the connection is kept open for up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
10247seconds.  This allows connections to be reused for other deliveries,
10248and can improve mail delivery performance. </p>
10249
10250<p> Specify a comma or white space separated list of destinations
10251or pseudo-destinations: </p>
10252
10253<ul>
10254
10255<li> if mail is sent without a <a href="postconf.5.html#relayhost">relay host</a>: a domain name (the
10256right-hand side of an email address, without the [] around a numeric
10257IP address),
10258
10259<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
10260[] or non-default TCP port), as specified in <a href="postconf.5.html">main.cf</a> or in the
10261transport map,
10262
10263<li> if mail is sent via a UNIX-domain socket: a pathname (without
10264the unix: prefix),
10265
10266<li> a /file/name with domain names and/or <a href="postconf.5.html#relayhost">relay host</a> names as
10267defined above,
10268
10269<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
10270the left-hand side.  The right-hand side result from "<a href="DATABASE_README.html">type:table</a>"
10271lookups is ignored.
10272
10273</ul>
10274
10275<p> This feature is available in Postfix 2.2 and later. </p>
10276
10277
10278</DD>
10279
10280<DT><b><a name="smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
10281(default: yes)</b></DT><DD>
10282
10283<p> Temporarily enable SMTP connection caching while a destination
10284has a high volume of mail in the <a href="QSHAPE_README.html#active_queue">active queue</a>.  With SMTP connection
10285caching, a connection is not closed immediately after completion
10286of a mail transaction.  Instead, the connection is kept open for
10287up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> seconds.  This allows
10288connections to be reused for other deliveries, and can improve mail
10289delivery performance. </p>
10290
10291<p> This feature is available in Postfix 2.2 and later. </p>
10292
10293
10294</DD>
10295
10296<DT><b><a name="smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
10297(default: 2s)</b></DT><DD>
10298
10299<p> When SMTP connection caching is enabled, the amount of time that
10300an unused SMTP client socket is kept open before it is closed.  Do
10301not specify larger values without permission from the remote sites.
10302</p>
10303
10304<p> This feature is available in Postfix 2.2 and later. </p>
10305
10306
10307</DD>
10308
10309<DT><b><a name="smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a>
10310(default: 0)</b></DT><DD>
10311
10312<p> When SMTP connection caching is enabled, the number of times
10313that an SMTP session may be reused before it is closed, or zero (no
10314limit).  With a reuse count limit of N, a connection is used up to
10315N+1 times.  </p>
10316
10317<p> NOTE: This feature is unsafe. When a high-volume destination
10318has multiple inbound MTAs, then the slowest inbound MTA will attract
10319the most connections to that destination.  This limitation does not
10320exist with the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> feature. </p>
10321
10322<p> This feature is available in Postfix 2.11. </p>
10323
10324
10325</DD>
10326
10327<DT><b><a name="smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
10328(default: 300s)</b></DT><DD>
10329
10330<p> The amount of time during which Postfix will use an SMTP
10331connection repeatedly.  The timer starts when the connection is
10332initiated (i.e. it includes the connect, greeting and helo latency,
10333in addition to the latencies of subsequent mail delivery transactions).
10334</p>
10335
10336<p> This feature addresses a performance stability problem with
10337remote SMTP servers. This problem is not specific to Postfix: it
10338can happen when any MTA sends large amounts of SMTP email to a site
10339that has multiple MX hosts. </p>
10340
10341<p> The problem starts when one of a set of MX hosts becomes slower
10342than the rest.  Even though SMTP clients connect to fast and slow
10343MX hosts with equal probability, the slow MX host ends up with more
10344simultaneous inbound connections than the faster MX hosts, because
10345the slow MX host needs more time to serve each client request. </p>
10346
10347<p> The slow MX host becomes a connection attractor.  If one MX
10348host becomes N times slower than the rest, it dominates mail delivery
10349latency unless there are more than N fast MX hosts to counter the
10350effect. And if the number of MX hosts is smaller than N, the mail
10351delivery latency becomes effectively that of the slowest MX host
10352divided by the total number of MX hosts. </p>
10353
10354<p> The solution uses connection caching in a way that differs from
10355Postfix version 2.2.  By limiting the amount of time during which a connection
10356can be used repeatedly (instead of limiting the number of deliveries
10357over that connection), Postfix not only restores fairness in the
10358distribution of simultaneous connections across a set of MX hosts,
10359it also favors deliveries over connections that perform well, which
10360is exactly what we want.  </p>
10361
10362<p> The default reuse time limit, 300s, is comparable to the various
10363smtp transaction timeouts which are fair estimates of maximum excess
10364latency for a slow delivery.  Note that hosts may accept thousands
10365of messages over a single connection within the default connection
10366reuse time limit. This number is much larger than the default Postfix
10367version 2.2 limit of 10 messages per cached connection. It may prove necessary
10368to lower the limit to avoid interoperability issues with MTAs that
10369exhibit bugs when many messages are delivered via a single connection.
10370A lower reuse time limit risks losing the benefit of connection
10371reuse when the average connection and mail delivery latency exceeds
10372the reuse time limit.  </p>
10373
10374<p> This feature is available in Postfix 2.3 and later. </p>
10375
10376
10377</DD>
10378
10379<DT><b><a name="smtp_data_done_timeout">smtp_data_done_timeout</a>
10380(default: 600s)</b></DT><DD>
10381
10382<p>
10383The Postfix SMTP client time limit for sending the SMTP ".", and
10384for receiving the remote SMTP server response.
10385</p>
10386
10387<p>
10388When no response is received within the deadline, a warning is
10389logged that the mail may be delivered multiple times.
10390</p>
10391
10392<p>
10393Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10394The default time unit is s (seconds).
10395</p>
10396
10397
10398</DD>
10399
10400<DT><b><a name="smtp_data_init_timeout">smtp_data_init_timeout</a>
10401(default: 120s)</b></DT><DD>
10402
10403<p>
10404The Postfix SMTP client time limit for sending the SMTP DATA command,
10405and for receiving the remote SMTP server response.
10406</p>
10407
10408<p>
10409Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10410The default time unit is s (seconds).
10411</p>
10412
10413
10414</DD>
10415
10416<DT><b><a name="smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
10417(default: 180s)</b></DT><DD>
10418
10419<p>
10420The Postfix SMTP client time limit for sending the SMTP message content.
10421When the connection makes no progress for more than $<a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
10422seconds the Postfix SMTP client terminates the transfer.
10423</p>
10424
10425<p>
10426Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10427The default time unit is s (seconds).
10428</p>
10429
10430
10431</DD>
10432
10433<DT><b><a name="smtp_defer_if_no_mx_address_found">smtp_defer_if_no_mx_address_found</a>
10434(default: no)</b></DT><DD>
10435
10436<p>
10437Defer mail delivery when no MX record resolves to an IP address.
10438</p>
10439
10440<p>
10441The default (no) is to return the mail as undeliverable. With older
10442Postfix versions the default was to keep trying to deliver the mail
10443until someone fixed the MX record or until the mail was too old.
10444</p>
10445
10446<p>
10447Note: the Postfix SMTP client always ignores MX records with equal
10448or worse preference
10449than the local MTA itself.
10450</p>
10451
10452<p>
10453This feature is available in Postfix 2.1 and later.
10454</p>
10455
10456
10457</DD>
10458
10459<DT><b><a name="smtp_delivery_status_filter">smtp_delivery_status_filter</a>
10460(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
10461
10462<p> Optional filter for the <a href="smtp.8.html">smtp(8)</a> delivery agent to change the
10463delivery status code or explanatory text of successful or unsuccessful
10464deliveries.  See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details.  </p>
10465
10466<p> NOTE: This feature modifies Postfix SMTP client error or non-error
10467messages that may or may not be derived from remote SMTP server
10468responses.  In contrast, the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> feature modifies
10469remote SMTP server responses only.  </p>
10470
10471
10472</DD>
10473
10474<DT><b><a name="smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>
10475(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
10476
10477<p> The maximal number of parallel deliveries to the same destination
10478via the smtp message delivery transport. This limit is enforced by
10479the queue manager. The message delivery transport name is the first
10480field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
10481
10482
10483</DD>
10484
10485<DT><b><a name="smtp_destination_recipient_limit">smtp_destination_recipient_limit</a>
10486(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
10487
10488<p> The maximal number of recipients per message for the smtp
10489message delivery transport. This limit is enforced by the queue
10490manager. The message delivery transport name is the first field in
10491the entry in the <a href="master.5.html">master.cf</a> file.  </p>
10492
10493<p> Setting this parameter to a value of 1 changes the meaning of
10494<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> from concurrency per domain
10495into concurrency per recipient.  </p>
10496
10497
10498</DD>
10499
10500<DT><b><a name="smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>
10501(default: empty)</b></DT><DD>
10502
10503<p> Lookup tables, indexed by the remote SMTP server address, with
10504case insensitive lists of EHLO keywords (pipelining, starttls, auth,
10505etc.) that the Postfix SMTP client will ignore in the EHLO response from a
10506remote SMTP server. See <a href="postconf.5.html#smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a> for details. The
10507table is not indexed by hostname for consistency with
10508<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
10509
10510<p>
10511Specify zero or more "type:name" lookup tables, separated by
10512whitespace or comma. Tables will be searched in the specified order
10513until a match is found.
10514</p>
10515
10516<p> This feature is available in Postfix 2.2 and later. </p>
10517
10518
10519</DD>
10520
10521<DT><b><a name="smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a>
10522(default: empty)</b></DT><DD>
10523
10524<p> A case insensitive list of EHLO keywords (pipelining, starttls,
10525auth, etc.) that the Postfix SMTP client will ignore in the EHLO
10526response from a remote SMTP server. </p>
10527
10528<p> This feature is available in Postfix 2.2 and later. </p>
10529
10530<p> Notes: </p>
10531
10532<ul>
10533
10534<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
10535this action from being logged. </p>
10536
10537<li> <p> Use the <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a> feature to
10538discard EHLO keywords selectively. </p>
10539
10540</ul>
10541
10542
10543</DD>
10544
10545<DT><b><a name="smtp_dns_reply_filter">smtp_dns_reply_filter</a>
10546(default: empty)</b></DT><DD>
10547
10548<p> Optional filter for Postfix SMTP client DNS lookup results.
10549Specify zero or more lookup tables.  The lookup tables are searched
10550in the given order for a match with the DNS lookup result, converted
10551to the following form: </p>
10552
10553<pre>
10554    <i>name ttl class type preference value</i>
10555</pre>
10556
10557<p> The <i>class</i> field is always "IN", the <i>preference</i>
10558field exists only for MX records, the names of hosts, domains, etc.
10559end in ".", and those names are in ASCII form (xn--mumble form in
10560the case of UTF8 names).  </p>
10561
10562<p> When a match is found, the table lookup result specifies an
10563action.  By default, the table query and the action name are
10564case-insensitive.  Currently, only the <b>IGNORE</b> action is
10565implemented.  </p>
10566
10567<p> Notes: </p>
10568
10569<ul>
10570
10571<li> <p> Postfix DNS reply filters have no effect on implicit DNS
10572lookups through nsswitch.conf or equivalent mechanisms.  </p>
10573
10574<li> <p> The Postfix SMTP/LMTP client uses <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a>
10575and <a href="postconf.5.html#lmtp_dns_reply_filter">lmtp_dns_reply_filter</a> only to discover a remote SMTP or LMTP
10576service (record types MX, A, AAAAA, and TLSA).  These lookups are
10577also made to implement the features <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> and
10578<a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>.  </p>
10579
10580<li> <p> The Postfix SMTP/LMTP client defers mail delivery when
10581a filter removes all lookup results from a successful query.  </p>
10582
10583<li> <p> Postfix SMTP server uses <a href="postconf.5.html#smtpd_dns_reply_filter">smtpd_dns_reply_filter</a> only to
10584look up MX, A, AAAAA, and TXT records to implement the features
10585<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>,
10586<a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>, reject_rbl_*, and reject_rhsbl_*.
10587</p>
10588
10589<li> <p> The Postfix SMTP server logs a warning or defers mail
10590delivery when a filter removes all lookup results from a successful
10591query.  </p>
10592
10593</ul>
10594
10595<p> Example: ignore Google AAAA records in Postfix SMTP client DNS
10596lookups, because Google sometimes hard-rejects mail from IPv6 clients
10597with valid PTR etc. records. </p>
10598
10599<pre>
10600/etc/postfix/<a href="postconf.5.html">main.cf</a>:
10601    <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
10602</pre>
10603
10604<pre>
10605/etc/postfix/smtp_dns_reply_filter:
10606    # /domain ttl IN AAAA address/ action, all case-insensitive.
10607    # Note: the domain name ends in ".".
10608    /^\S+\.google\.com\.\s+\S+\s+\S+\s+AAAA\s+/ IGNORE
10609</pre>
10610
10611<p> This feature is available in Postfix 3.0 and later. </p>
10612
10613
10614</DD>
10615
10616<DT><b><a name="smtp_dns_resolver_options">smtp_dns_resolver_options</a>
10617(default: empty)</b></DT><DD>
10618
10619<p> DNS Resolver options for the Postfix SMTP client.  Specify zero
10620or more of the following options, separated by comma or whitespace.
10621Option names are case-sensitive. Some options refer to domain names
10622that are specified in the file /etc/resolv.conf or equivalent. </p>
10623
10624<dl>
10625
10626<dt><b>res_defnames</b></dt>
10627
10628<dd> Append the current domain name to single-component names (those
10629that do not contain a "." character). This can produce incorrect
10630results, and is the hard-coded behavior prior to Postfix 2.8. </dd>
10631
10632<dt><b>res_dnsrch</b></dt>
10633
10634<dd> Search for host names in the current domain and in parent
10635domains. This can produce incorrect results and is therefore not
10636recommended. </dd>
10637
10638</dl>
10639
10640<p> This feature is available in Postfix 2.8 and later.  </p>
10641
10642
10643</DD>
10644
10645<DT><b><a name="smtp_dns_support_level">smtp_dns_support_level</a>
10646(default: empty)</b></DT><DD>
10647
10648<p> Level of DNS support in the Postfix SMTP client.  With
10649"<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>" left at its empty default value, the legacy
10650"<a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a>" parameter controls whether DNS is enabled in
10651the Postfix SMTP client, otherwise the legacy parameter is ignored.
10652</p>
10653
10654<p> Specify one of the following: </p>
10655
10656<dl>
10657
10658<dt><b>disabled</b></dt>
10659
10660<dd>Disable DNS lookups.  No MX lookups are performed and hostname
10661to address lookups are unconditionally "native".  This setting is
10662not appropriate for hosts that deliver mail to the public Internet.
10663Some obsolete how-to documents recommend disabling DNS lookups in
10664some configurations with content_filters.  This is no longer required
10665and strongly discouraged.  </dd>
10666
10667<dt><b>enabled</b></dt>
10668
10669<dd>Enable DNS lookups.  Nexthop destination domains not enclosed
10670in "[]" will be subject to MX lookups.  If "dns" and "native" are
10671included in the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter value, DNS will be
10672queried first to resolve MX-host A records, followed by "native"
10673lookups if no answer is found in DNS.  </dd>
10674
10675<dt><b>dnssec</b></dt>
10676
10677<dd>Enable <a href="https://tools.ietf.org/html/rfc4033">DNSSEC</a>
10678lookups.  The "dnssec" setting differs from the "enabled" setting
10679above in the following ways: <ul> <li>Any MX lookups will set
10680RES_USE_DNSSEC and RES_USE_EDNS0 to request DNSSEC-validated
10681responses. If the MX response is DNSSEC-validated the corresponding
10682hostnames are considered validated.  <li> The address lookups of
10683validated hostnames are also validated, (provided of course
10684"<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" includes "dns", see below).  <li>Temporary
10685failures in DNSSEC-enabled hostname-to-address resolution block any
10686"native" lookups.  Additional "native" lookups only happen when
10687DNSSEC lookups hard-fail (NODATA or NXDOMAIN).  </ul> </dd>
10688
10689</dl>
10690
10691<p> The Postfix SMTP client considers non-MX "[nexthop]" and
10692"[nexthop]:port" destinations equivalent to statically-validated
10693MX records of the form "nexthop.  IN MX 0 nexthop."  Therefore,
10694with "dnssec" support turned on, validated hostname-to-address
10695lookups apply to the nexthop domain of any "[nexthop]" or
10696"[nexthop]:port" destination.  This is also true for LMTP "inet:host"
10697and "inet:host:port" destinations, as LMTP hostnames are never
10698subject to MX lookups.  </p>
10699
10700<p>The "dnssec" setting is recommended only if you plan to use the
10701<a href="TLS_README.html#client_tls_dane">dane</a> or <a
10702href="TLS_README.html#client_tls_dane">dane-only</a> TLS security
10703level, otherwise enabling DNSSEC support in Postfix offers no
10704additional security.  Postfix DNSSEC support relies on an upstream
10705recursive nameserver that validates DNSSEC signatures.  Such a DNS
10706server will always filter out forged DNS responses, even when Postfix
10707itself is not configured to use DNSSEC. </p>
10708
10709<p> When using Postfix DANE support the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter
10710should include "dns", as <a
10711href="https://tools.ietf.org/html/rfc6698">DANE</a> is not applicable
10712to hosts resolved via "native" lookups.  </p>
10713
10714<p> As mentioned above, Postfix is not a validating <a
10715href="https://tools.ietf.org/html/rfc4035#section-4.9">stub
10716resolver</a>; it relies on the system's configured DNSSEC-validating
10717<a href="https://tools.ietf.org/html/rfc4035#section-3.2">recursive
10718nameserver</a> to perform all DNSSEC validation.  Since this
10719nameserver's DNSSEC-validated responses will be fully trusted, it
10720is strongly recommended that the MTA host have a local DNSSEC-validating
10721recursive caching nameserver listening on a loopback address, and
10722be configured to use only this nameserver for all lookups.  Otherwise,
10723Postfix may remain subject to man-in-the-middle attacks that forge
10724responses from the recursive nameserver</p>
10725
10726<p>DNSSEC support requires a version of Postfix compiled against a
10727reasonably-modern DNS resolver(3) library that implements the
10728RES_USE_DNSSEC and RES_USE_EDNS0 resolver options. </p>
10729
10730<p> This feature is available in Postfix 2.11 and later.  </p>
10731
10732
10733</DD>
10734
10735<DT><b><a name="smtp_enforce_tls">smtp_enforce_tls</a>
10736(default: no)</b></DT><DD>
10737
10738<p> Enforcement mode: require that remote SMTP servers use TLS
10739encryption, and never send mail in the clear.  This also requires
10740that the remote SMTP server hostname matches the information in
10741the remote server certificate, and that the remote SMTP server
10742certificate was issued by a CA that is trusted by the Postfix SMTP
10743client. If the certificate doesn't verify or the hostname doesn't
10744match, delivery is deferred and mail stays in the queue.  </p>
10745
10746<p> The server hostname is matched against all names provided as
10747dNSNames in the SubjectAlternativeName.  If no dNSNames are specified,
10748the CommonName is checked.  The behavior may be changed with the
10749<a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> option.  </p>
10750
10751<p> This option is useful only if you are definitely sure that you
10752will only connect to servers that support <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> _and_ that
10753provide valid server certificates.  Typical use is for clients that
10754send all their email to a dedicated mailhub.  </p>
10755
10756<p> This feature is available in Postfix 2.2 and later. With
10757Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
10758
10759
10760</DD>
10761
10762<DT><b><a name="smtp_fallback_relay">smtp_fallback_relay</a>
10763(default: $<a href="postconf.5.html#fallback_relay">fallback_relay</a>)</b></DT><DD>
10764
10765<p>
10766Optional list of relay hosts for SMTP destinations that can't be
10767found or that are unreachable. With Postfix 2.2 and earlier this
10768parameter is called <a href="postconf.5.html#fallback_relay">fallback_relay</a>.  </p>
10769
10770<p>
10771By default, mail is returned to the sender when a destination is
10772not found, and delivery is deferred when a destination is unreachable.
10773</p>
10774
10775<p> With bulk email deliveries, it can be beneficial to run the
10776fallback relay MTA on the same host, so that it can reuse the sender
10777IP address.  This speeds up deliveries that are delayed by IP-based
10778reputation systems (greylist, etc.). </p>
10779
10780<p> The fallback relays must be SMTP destinations. Specify a domain,
10781host, host:port, [host]:port, [address] or [address]:port; the form
10782[host] turns off MX lookups.  If you specify multiple SMTP
10783destinations, Postfix will try them in the specified order.  </p>
10784
10785<p> To prevent mailer loops between MX hosts and fall-back hosts,
10786Postfix version 2.2 and later will not use the fallback relays for
10787destinations that it is MX host for (assuming DNS lookup is turned on).
10788</p>
10789
10790
10791</DD>
10792
10793<DT><b><a name="smtp_generic_maps">smtp_generic_maps</a>
10794(default: empty)</b></DT><DD>
10795
10796<p> Optional lookup tables that perform address rewriting in the
10797Postfix SMTP client, typically to transform a locally valid address into
10798a globally valid address when sending mail across the Internet.
10799This is needed when the local machine does not have its own Internet
10800domain name, but uses something like <i>localdomain.local</i>
10801instead.  </p>
10802
10803<p>
10804Specify zero or more "type:name" lookup tables, separated by
10805whitespace or comma. Tables will be searched in the specified order
10806until a match is found.
10807</p>
10808
10809<p> The table format and lookups are documented in <a href="generic.5.html">generic(5)</a>;
10810examples are shown in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> and
10811<a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> documents. </p>
10812
10813<p> This feature is available in Postfix 2.2 and later.  </p>
10814
10815
10816</DD>
10817
10818<DT><b><a name="smtp_header_checks">smtp_header_checks</a>
10819(default: empty)</b></DT><DD>
10820
10821<p> Restricted <a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP client.
10822These tables are searched while mail is being delivered.  Actions
10823that change the delivery time or destination are not available.
10824</p>
10825
10826<p> This feature is available in Postfix 2.5 and later. </p>
10827
10828
10829</DD>
10830
10831<DT><b><a name="smtp_helo_name">smtp_helo_name</a>
10832(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
10833
10834<p>
10835The hostname to send in the SMTP HELO or EHLO command.
10836</p>
10837
10838<p>
10839The default value is the machine hostname.  Specify a hostname or
10840[ip.add.re.ss].
10841</p>
10842
10843<p>
10844This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP
10845clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
10846client, for example:
10847</p>
10848
10849<blockquote>
10850<pre>
10851/etc/postfix/<a href="master.5.html">master.cf</a>:
10852    mysmtp ... smtp -o <a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a>=foo.bar.com
10853</pre>
10854</blockquote>
10855
10856<p>
10857This feature is available in Postfix 2.0 and later.
10858</p>
10859
10860
10861</DD>
10862
10863<DT><b><a name="smtp_helo_timeout">smtp_helo_timeout</a>
10864(default: 300s)</b></DT><DD>
10865
10866<p>
10867The Postfix SMTP client time limit for sending the HELO or EHLO command,
10868and for receiving the initial remote SMTP server response.
10869</p>
10870
10871<p>
10872Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10873The default time unit is s (seconds).
10874</p>
10875
10876
10877</DD>
10878
10879<DT><b><a name="smtp_host_lookup">smtp_host_lookup</a>
10880(default: dns)</b></DT><DD>
10881
10882<p>
10883What mechanisms the Postfix SMTP client uses to look up a host's
10884IP address.  This parameter is ignored when DNS lookups are disabled
10885(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"
10886mechanism is always tried before "native" if both are listed.
10887</p>
10888
10889<p>
10890Specify one of the following:
10891</p>
10892
10893<dl>
10894
10895<dt><b>dns</b></dt>
10896
10897<dd>Hosts can be found in the DNS (preferred).  </dd>
10898
10899<dt><b>native</b></dt>
10900
10901<dd>Use the native naming service only (nsswitch.conf, or equivalent
10902mechanism).  </dd>
10903
10904<dt><b>dns, native</b></dt>
10905
10906<dd>Use the native service for hosts not found in the DNS.  </dd>
10907
10908</dl>
10909
10910<p>
10911This feature is available in Postfix 2.1 and later.
10912</p>
10913
10914
10915</DD>
10916
10917<DT><b><a name="smtp_line_length_limit">smtp_line_length_limit</a>
10918(default: 998)</b></DT><DD>
10919
10920<p>
10921The maximal length of message header and body lines that Postfix
10922will send via SMTP. This limit does not include the &lt;CR&gt;&lt;LF&gt;
10923at the end of each line.  Longer lines are broken by inserting
10924"&lt;CR&gt;&lt;LF&gt;&lt;SPACE&gt;", to minimize the damage to MIME
10925formatted mail.
10926</p>
10927
10928<p>
10929The Postfix limit of 998 characters not including &lt;CR&gt;&lt;LF&gt;
10930is consistent with the SMTP limit of 1000 characters including
10931&lt;CR&gt;&lt;LF&gt;.  The Postfix limit was 990 with Postfix 2.8
10932and earlier.
10933</p>
10934
10935
10936</DD>
10937
10938<DT><b><a name="smtp_mail_timeout">smtp_mail_timeout</a>
10939(default: 300s)</b></DT><DD>
10940
10941<p>
10942The Postfix SMTP client time limit for sending the MAIL FROM command,
10943and for receiving the remote SMTP server response.
10944</p>
10945
10946<p>
10947Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10948The default time unit is s (seconds).
10949</p>
10950
10951
10952</DD>
10953
10954<DT><b><a name="smtp_mime_header_checks">smtp_mime_header_checks</a>
10955(default: empty)</b></DT><DD>
10956
10957<p> Restricted mime_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
10958client. These tables are searched while mail is being delivered.
10959Actions that change the delivery time or destination are not
10960available.  </p>
10961
10962<p> This feature is available in Postfix 2.5 and later. </p>
10963
10964
10965</DD>
10966
10967<DT><b><a name="smtp_mx_address_limit">smtp_mx_address_limit</a>
10968(default: 5)</b></DT><DD>
10969
10970<p>
10971The maximal number of MX (mail exchanger) IP addresses that can
10972result from Postfix SMTP client mail exchanger lookups, or zero (no
10973limit). Prior to
10974Postfix version 2.3, this limit was disabled by default.
10975</p>
10976
10977<p>
10978This feature is available in Postfix 2.1 and later.
10979</p>
10980
10981
10982</DD>
10983
10984<DT><b><a name="smtp_mx_session_limit">smtp_mx_session_limit</a>
10985(default: 2)</b></DT><DD>
10986
10987<p> The maximal number of SMTP sessions per delivery request before
10988the Postfix SMTP client
10989gives up or delivers to a fall-back <a href="postconf.5.html#relayhost">relay host</a>, or zero (no
10990limit). This restriction ignores sessions that fail to complete the
10991SMTP initial handshake (Postfix version 2.2 and earlier) or that fail to
10992complete the EHLO and TLS handshake (Postfix version 2.3 and later).  </p>
10993
10994<p> This feature is available in Postfix 2.1 and later.  </p>
10995
10996
10997</DD>
10998
10999<DT><b><a name="smtp_nested_header_checks">smtp_nested_header_checks</a>
11000(default: empty)</b></DT><DD>
11001
11002<p> Restricted nested_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
11003client. These tables are searched while mail is being delivered.
11004Actions that change the delivery time or destination are not
11005available.  </p>
11006
11007<p> This feature is available in Postfix 2.5 and later. </p>
11008
11009
11010</DD>
11011
11012<DT><b><a name="smtp_never_send_ehlo">smtp_never_send_ehlo</a>
11013(default: no)</b></DT><DD>
11014
11015<p> Never send EHLO at the start of an SMTP session. See also the
11016<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> parameter.  </p>
11017
11018
11019</DD>
11020
11021<DT><b><a name="smtp_per_record_deadline">smtp_per_record_deadline</a>
11022(default: no)</b></DT><DD>
11023
11024<p> Change the behavior of the smtp_*_timeout time limits, from a
11025time limit per read or write system call, to a time limit to send
11026or receive a complete record (an SMTP command line, SMTP response
11027line, SMTP message content line, or TLS protocol message).  This
11028limits the impact from hostile peers that trickle data one byte at
11029a time.  </p>
11030
11031<p> Note: when per-record deadlines are enabled, a short timeout
11032may cause problems with TLS over very slow network connections.
11033The reasons are that a TLS protocol message can be up to 16 kbytes
11034long (with TLSv1), and that an entire TLS protocol message must be
11035sent or received within the per-record deadline.  </p>
11036
11037<p> This feature is available in Postfix 2.9 and later. With older
11038Postfix releases, the behavior is as if this parameter is set to
11039"no". </p>
11040
11041
11042</DD>
11043
11044<DT><b><a name="smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
11045(default: 10s)</b></DT><DD>
11046
11047<p>
11048How long the Postfix SMTP client pauses before sending
11049".&lt;CR&gt;&lt;LF&gt;" in order to work around the PIX firewall
11050"&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;" bug.
11051</p>
11052
11053<p>
11054Choosing a too short time makes this workaround ineffective when
11055sending large messages over slow network connections.
11056</p>
11057
11058
11059</DD>
11060
11061<DT><b><a name="smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
11062(default: empty)</b></DT><DD>
11063
11064<p> Lookup tables, indexed by the remote SMTP server address, with
11065per-destination workarounds for CISCO PIX firewall bugs.  The table
11066is not indexed by hostname for consistency with
11067<a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>. </p>
11068
11069<p>
11070Specify zero or more "type:name" lookup tables, separated by
11071whitespace or comma. Tables will be searched in the specified order
11072until a match is found.
11073</p>
11074
11075<p> This feature is available in Postfix 2.4 and later. </p>
11076
11077
11078</DD>
11079
11080<DT><b><a name="smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
11081(default: 500s)</b></DT><DD>
11082
11083<p> How long a message must be queued before the Postfix SMTP client
11084turns on the PIX firewall "&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;"
11085bug workaround for delivery through firewalls with "smtp fixup"
11086mode turned on.  </p>
11087
11088<p>
11089By default, the workaround is turned off for mail that is queued
11090for less than 500 seconds. In other words, the workaround is normally
11091turned off for the first delivery attempt.
11092</p>
11093
11094<p>
11095Specify 0 to enable the PIX firewall
11096"&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;" bug workaround upon the
11097first delivery attempt.
11098</p>
11099
11100
11101</DD>
11102
11103<DT><b><a name="smtp_pix_workarounds">smtp_pix_workarounds</a>
11104(default: disable_esmtp, delay_dotcrlf)</b></DT><DD>
11105
11106<p> A list that specifies zero or more workarounds for CISCO PIX
11107firewall bugs. These workarounds are implemented by the Postfix
11108SMTP client. Workaround names are separated by comma or space, and
11109are case insensitive.  This parameter setting can be overruled with
11110per-destination <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> settings. </p>
11111
11112<dl>
11113
11114<dt><b>delay_dotcrlf</b><dd> Insert a delay before sending
11115".&lt;CR&gt;&lt;LF&gt;" after the end of the message content.  The
11116delay is subject to the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> and
11117<a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> parameter settings. </dd>
11118
11119<dt><b>disable_esmtp</b><dd> Disable all extended SMTP commands:
11120send HELO instead of EHLO. </dd>
11121
11122</dl>
11123
11124<p> This feature is available in Postfix 2.4 and later. The default
11125settings are backwards compatible with earlier Postfix versions.
11126</p>
11127
11128
11129</DD>
11130
11131<DT><b><a name="smtp_quit_timeout">smtp_quit_timeout</a>
11132(default: 300s)</b></DT><DD>
11133
11134<p>
11135The Postfix SMTP client time limit for sending the QUIT command,
11136and for receiving the remote SMTP server response.
11137</p>
11138
11139<p>
11140Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
11141The default time unit is s (seconds).
11142</p>
11143
11144
11145</DD>
11146
11147<DT><b><a name="smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
11148(default: yes)</b></DT><DD>
11149
11150<p>
11151Quote addresses in Postfix SMTP client MAIL FROM and RCPT TO commands
11152as required
11153by <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. This includes putting quotes around an address localpart
11154that ends in ".".
11155</p>
11156
11157<p>
11158The default is to comply with <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. If you have to send mail to
11159a broken SMTP server, configure a special SMTP client in <a href="master.5.html">master.cf</a>:
11160</p>
11161
11162<blockquote>
11163<pre>
11164/etc/postfix/<a href="master.5.html">master.cf</a>:
11165    broken-smtp . . . smtp -o <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>=no
11166</pre>
11167</blockquote>
11168
11169<p>
11170and route mail for the destination in question to the "broken-smtp"
11171message delivery with a <a href="transport.5.html">transport(5)</a> table.
11172</p>
11173
11174<p>
11175This feature is available in Postfix 2.1 and later.
11176</p>
11177
11178
11179</DD>
11180
11181<DT><b><a name="smtp_randomize_addresses">smtp_randomize_addresses</a>
11182(default: yes)</b></DT><DD>
11183
11184<p>
11185Randomize the order of equal-preference MX host addresses.  This
11186is a performance feature of the Postfix SMTP client.
11187</p>
11188
11189
11190</DD>
11191
11192<DT><b><a name="smtp_rcpt_timeout">smtp_rcpt_timeout</a>
11193(default: 300s)</b></DT><DD>
11194
11195<p>
11196The Postfix SMTP client time limit for sending the SMTP RCPT TO
11197command, and for receiving the remote SMTP server response.
11198</p>
11199
11200<p>
11201Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
11202The default time unit is s (seconds).
11203</p>
11204
11205
11206</DD>
11207
11208<DT><b><a name="smtp_reply_filter">smtp_reply_filter</a>
11209(default: empty)</b></DT><DD>
11210
11211<p> A mechanism to transform replies from remote SMTP servers one
11212line at a time.  This is a last-resort tool to work around server
11213replies that break interoperability with the Postfix SMTP client.
11214Other uses involve fault injection to test Postfix's handling of
11215invalid responses. </p>
11216
11217<p> Notes: </p>
11218
11219<ul>
11220
11221<li> <p> In the case of a multi-line reply, the Postfix SMTP client
11222uses the final reply line's numerical SMTP reply code and enhanced
11223status code.  </p>
11224
11225<li> <p> The numerical SMTP reply code (XYZ) takes precedence over
11226the enhanced status code (X.Y.Z).  When the enhanced status code
11227initial digit differs from the SMTP reply code initial digit, or
11228when no enhanced status code is present, the Postfix SMTP client
11229uses a generic enhanced status code (X.0.0) instead. </p>
11230
11231</ul>
11232
11233<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
11234string is a single SMTP reply line as received from the remote SMTP
11235server, except that the trailing &lt;CR&gt;&lt;LF&gt; are removed.
11236When the lookup succeeds, the result replaces the single SMTP reply
11237line. </p>
11238
11239<p> Examples: </p>
11240
11241<pre>
11242/etc/postfix/<a href="postconf.5.html">main.cf</a>:
11243    <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/reply_filter
11244</pre>
11245
11246<pre>
11247/etc/postfix/reply_filter:
11248    # Transform garbage into "250-filler..." so that it looks like
11249    # one line from a multi-line reply. It does not matter what we
11250    # substitute here as long it has the right syntax.  The Postfix
11251    # SMTP client will use the final line's numerical SMTP reply
11252    # code and enhanced status code.
11253    !/^([2-5][0-9][0-9]($|[- ]))/ 250-filler for garbage
11254</pre>
11255
11256<p> This feature is available in Postfix 2.7. </p>
11257
11258
11259</DD>
11260
11261<DT><b><a name="smtp_rset_timeout">smtp_rset_timeout</a>
11262(default: 20s)</b></DT><DD>
11263
11264<p> The Postfix SMTP client time limit for sending the RSET command,
11265and for receiving the remote SMTP server response. The SMTP client
11266sends RSET in
11267order to finish a recipient address probe, or to verify that a
11268cached session is still usable.  </p>
11269
11270<p> This feature is available in Postfix 2.1 and later.  </p>
11271
11272
11273</DD>
11274
11275<DT><b><a name="smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
11276(default: empty)</b></DT><DD>
11277
11278<p> An optional table to prevent repeated SASL authentication
11279failures with the same remote SMTP server hostname, username and
11280password. Each table (key, value) pair contains a server name, a
11281username and password, and the full server response. This information
11282is stored when a remote SMTP server rejects an authentication attempt
11283with a 535 reply code.  As long as the <a href="postconf.5.html#smtp_sasl_password_maps">smtp_sasl_password_maps</a>
11284information does no change, and as long as the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
11285information does not expire (see <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>) the
11286Postfix SMTP client avoids SASL authentication attempts with the
11287same server, username and password, and instead bounces or defers
11288mail as controlled with the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> configuration
11289parameter.  </p>
11290
11291<p> Use a per-destination delivery concurrency of 1 (for example,
11292"<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> = 1",
11293"<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> = 1", etc.), otherwise multiple
11294delivery agents may experience a login failure at the same time.
11295</p>
11296
11297<p> The table must be accessed via the proxywrite service, i.e. the
11298map name must start with "<a href="proxymap.8.html">proxy</a>:". The table should be stored under
11299the directory specified with the <a href="postconf.5.html#data_directory">data_directory</a> parameter. </p>
11300
11301<p> This feature uses cryptographic hashing to protect plain-text
11302passwords, and requires that Postfix is compiled with TLS support.
11303</p>
11304
11305<p> Example: </p>
11306
11307<pre>
11308<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
11309</pre>
11310
11311<p> This feature is available in Postfix 2.5 and later. </p>
11312
11313
11314</DD>
11315
11316<DT><b><a name="smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
11317(default: 90d)</b></DT><DD>
11318
11319<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
11320is removed. </p>
11321
11322<p> This feature is available in Postfix 2.5 and later. </p>
11323
11324
11325</DD>
11326
11327<DT><b><a name="smtp_sasl_auth_enable">smtp_sasl_auth_enable</a>
11328(default: no)</b></DT><DD>
11329
11330<p>
11331Enable SASL authentication in the Postfix SMTP client.  By default,
11332the Postfix SMTP client uses no authentication.
11333</p>
11334
11335<p>
11336Example:
11337</p>
11338
11339<pre>
11340<a href="postconf.5.html#smtp_sasl_auth_enable">smtp_sasl_auth_enable</a> = yes
11341</pre>
11342
11343
11344</DD>
11345
11346<DT><b><a name="smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
11347(default: yes)</b></DT><DD>
11348
11349<p> When a remote SMTP server rejects a SASL authentication request
11350with a 535 reply code, defer mail delivery instead of returning
11351mail as undeliverable. The latter behavior was hard-coded prior to
11352Postfix version 2.5. </p>
11353
11354<p> Note: the setting "yes" overrides the global <a href="postconf.5.html#soft_bounce">soft_bounce</a>
11355parameter, but the setting "no" does not. </p>
11356
11357<p> Example: </p>
11358
11359<pre>
11360# Default as of Postfix 2.5
11361<a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = yes
11362# The old hard-coded default
11363<a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = no
11364</pre>
11365
11366<p> This feature is available in Postfix 2.5 and later. </p>
11367
11368
11369</DD>
11370
11371<DT><b><a name="smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
11372(default: empty)</b></DT><DD>
11373
11374<p>
11375If non-empty, a Postfix SMTP client filter for the remote SMTP
11376server's list of offered SASL mechanisms.  Different client and
11377server implementations may support different mechanism lists; by
11378default, the Postfix SMTP client will use the intersection of the
11379two. <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> specifies an optional third mechanism
11380list to intersect with. </p>
11381
11382<p> Specify mechanism names, "/file/name" patterns or "<a href="DATABASE_README.html">type:table</a>"
11383lookup tables. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>" lookups
11384is ignored. Specify "!pattern" to exclude a mechanism name from the
11385list. The form "!/file/name" is supported only in Postfix version
113862.4 and later. </p>
11387
11388<p> This feature is available in Postfix 2.2 and later. </p>
11389
11390<p>
11391Examples:
11392</p>
11393
11394<pre>
11395<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = plain, login
11396<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = /etc/postfix/smtp_mechs
11397<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
11398</pre>
11399
11400
11401</DD>
11402
11403<DT><b><a name="smtp_sasl_password_maps">smtp_sasl_password_maps</a>
11404(default: empty)</b></DT><DD>
11405
11406<p>
11407Optional Postfix SMTP client lookup tables with one username:password
11408entry per sender, remote hostname or next-hop domain. Per-sender
11409lookup is done only when sender-dependent authentication is enabled.
11410If no username:password entry is found, then the Postfix SMTP client
11411will not attempt to authenticate to the remote host.
11412</p>
11413
11414<p>
11415The Postfix SMTP client opens the lookup table before going to
11416chroot jail, so you can leave the password file in /etc/postfix.
11417</p>
11418
11419<p>
11420Specify zero or more "type:name" lookup tables, separated by
11421whitespace or comma. Tables will be searched in the specified order
11422until a match is found.
11423</p>
11424
11425
11426</DD>
11427
11428<DT><b><a name="smtp_sasl_path">smtp_sasl_path</a>
11429(default: empty)</b></DT><DD>
11430
11431<p> Implementation-specific information that the Postfix SMTP client
11432passes through to
11433the SASL plug-in implementation that is selected with
11434<b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.  Typically this specifies the name of a
11435configuration file or rendezvous point. </p>
11436
11437<p> This feature is available in Postfix 2.3 and later. </p>
11438
11439
11440</DD>
11441
11442<DT><b><a name="smtp_sasl_security_options">smtp_sasl_security_options</a>
11443(default: noplaintext, noanonymous)</b></DT><DD>
11444
11445<p> Postfix SMTP client SASL security options; as of Postfix 2.3
11446the list of available
11447features depends on the SASL client implementation that is selected
11448with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.  </p>
11449
11450<p> The following security features are defined for the <b>cyrus</b>
11451client SASL implementation: </p>
11452
11453<p>
11454Specify zero or more of the following:
11455</p>
11456
11457<dl>
11458
11459<dt><b>noplaintext</b></dt>
11460
11461<dd>Disallow methods that use plaintext passwords. </dd>
11462
11463<dt><b>noactive</b></dt>
11464
11465<dd>Disallow methods subject to active (non-dictionary) attack.
11466</dd>
11467
11468<dt><b>nodictionary</b></dt>
11469
11470<dd>Disallow methods subject to passive (dictionary) attack. </dd>
11471
11472<dt><b>noanonymous</b></dt>
11473
11474<dd>Disallow methods that allow anonymous authentication. </dd>
11475
11476<dt><b>mutual_auth</b></dt>
11477
11478<dd>Only allow methods that provide mutual authentication (not
11479available with SASL version 1). </dd>
11480
11481</dl>
11482
11483<p>
11484Example:
11485</p>
11486
11487<pre>
11488<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> = noplaintext
11489</pre>
11490
11491
11492</DD>
11493
11494<DT><b><a name="smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
11495(default: $<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a>)</b></DT><DD>
11496
11497<p> The SASL authentication security options that the Postfix SMTP
11498client uses for TLS encrypted SMTP sessions. </p>
11499
11500<p> This feature is available in Postfix 2.2 and later.  </p>
11501
11502
11503</DD>
11504
11505<DT><b><a name="smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a>
11506(default: $<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>)</b></DT><DD>
11507
11508<p> The SASL authentication security options that the Postfix SMTP
11509client uses for TLS encrypted SMTP sessions with a verified server
11510certificate. </p>
11511
11512<p> When mail is sent to the public MX host for the recipient's
11513domain, server certificates are by default optional, and delivery
11514proceeds even if certificate verification fails. For delivery via
11515a submission service that requires SASL authentication, it may be
11516appropriate to send plaintext passwords only when the connection
11517to the server is strongly encrypted <b>and</b> the server identity
11518is verified. </p>
11519
11520<p> The <a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> parameter makes it
11521possible to only enable plaintext mechanisms when a secure connection
11522to the server is available. Submission servers subject to this
11523policy must either have verifiable certificates or offer suitable
11524non-plaintext SASL mechanisms. </p>
11525
11526<p> This feature is available in Postfix 2.6 and later. </p>
11527
11528
11529</DD>
11530
11531<DT><b><a name="smtp_sasl_type">smtp_sasl_type</a>
11532(default: cyrus)</b></DT><DD>
11533
11534<p> The SASL plug-in type that the Postfix SMTP client should use
11535for authentication.  The available types are listed with the
11536"<b>postconf -A</b>" command. </p>
11537
11538<p> This feature is available in Postfix 2.3 and later. </p>
11539
11540
11541</DD>
11542
11543<DT><b><a name="smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
11544(default: no)</b></DT><DD>
11545
11546<p> Whether or not to append the "AUTH=&lt;&gt;" option to the MAIL
11547FROM command in SASL-authenticated SMTP sessions. The default is
11548not to send this, to avoid problems with broken remote SMTP servers.
11549Before Postfix 2.9 the behavior is as if "<a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
11550= yes".
11551
11552<p> This feature is available in Postfix 2.9 and later. </p>
11553
11554
11555</DD>
11556
11557<DT><b><a name="smtp_send_xforward_command">smtp_send_xforward_command</a>
11558(default: no)</b></DT><DD>
11559
11560<p>
11561Send the non-standard XFORWARD command when the Postfix SMTP server
11562EHLO response announces XFORWARD support.
11563</p>
11564
11565<p>
11566This allows a Postfix SMTP delivery agent, used for injecting mail
11567into
11568a content filter, to forward the name, address, protocol and HELO
11569name of the original client to the content filter and downstream
11570queuing SMTP server. This can produce more useful logging than
11571localhost[127.0.0.1] etc.
11572</p>
11573
11574<p>
11575This feature is available in Postfix 2.1 and later.
11576</p>
11577
11578
11579</DD>
11580
11581<DT><b><a name="smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
11582(default: no)</b></DT><DD>
11583
11584<p>
11585Enable sender-dependent authentication in the Postfix SMTP client; this is
11586available only with SASL authentication, and disables SMTP connection
11587caching to ensure that mail from different senders will use the
11588appropriate credentials.  </p>
11589
11590<p>
11591This feature is available in Postfix 2.3 and later.
11592</p>
11593
11594
11595</DD>
11596
11597<DT><b><a name="smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a>
11598(default: yes)</b></DT><DD>
11599
11600<p>
11601Skip SMTP servers that greet with a 4XX status code (go away, try
11602again later).
11603</p>
11604
11605<p>
11606By default, the Postfix SMTP client moves on the next mail exchanger.
11607Specify
11608"<a href="postconf.5.html#smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a> = no" if Postfix should defer delivery
11609immediately.
11610</p>
11611
11612<p> This feature is available in Postfix 2.0 and earlier.
11613Later Postfix versions always skip remote SMTP servers that greet
11614with a
116154XX status code. </p>
11616
11617
11618</DD>
11619
11620<DT><b><a name="smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
11621(default: yes)</b></DT><DD>
11622
11623<p>
11624Skip remote SMTP servers that greet with a 5XX status code.
11625</p>
11626
11627<p> By default, the Postfix SMTP client moves on the next mail
11628exchanger. Specify "<a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> = no" if Postfix should
11629bounce the mail immediately. Caution: the latter behavior appears
11630to contradict <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>. </p>
11631
11632
11633</DD>
11634
11635<DT><b><a name="smtp_skip_quit_response">smtp_skip_quit_response</a>
11636(default: yes)</b></DT><DD>
11637
11638<p>
11639Do not wait for the response to the SMTP QUIT command.
11640</p>
11641
11642
11643</DD>
11644
11645<DT><b><a name="smtp_starttls_timeout">smtp_starttls_timeout</a>
11646(default: 300s)</b></DT><DD>
11647
11648<p> Time limit for Postfix SMTP client write and read operations
11649during TLS startup and shutdown handshake procedures. </p>
11650
11651<p> This feature is available in Postfix 2.2 and later.  </p>
11652
11653
11654</DD>
11655
11656<DT><b><a name="smtp_tls_CAfile">smtp_tls_CAfile</a>
11657(default: empty)</b></DT><DD>
11658
11659<p> A file containing CA certificates of root CAs trusted to sign
11660either remote SMTP server certificates or intermediate CA certificates.
11661These are loaded into memory before the <a href="smtp.8.html">smtp(8)</a> client enters the
11662chroot jail. If the number of trusted roots is large, consider using
11663<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> instead, but note that the latter directory must be
11664present in the chroot jail if the <a href="smtp.8.html">smtp(8)</a> client is chrooted. This
11665file may also be used to augment the client certificate trust chain,
11666but it is best to include all the required certificates directly in
11667$<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>. </p>
11668
11669<p> Specify "<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /path/to/system_CA_file" to use
11670ONLY the system-supplied default Certification Authority certificates.
11671</p>
11672
11673<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
11674appending the system-supplied default CAs and trusting third-party
11675certificates. </p>
11676
11677<p> Example: </p>
11678
11679<pre>
11680<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /etc/postfix/CAcert.pem
11681</pre>
11682
11683<p> This feature is available in Postfix 2.2 and later.  </p>
11684
11685
11686</DD>
11687
11688<DT><b><a name="smtp_tls_CApath">smtp_tls_CApath</a>
11689(default: empty)</b></DT><DD>
11690
11691<p> Directory with PEM format Certification Authority certificates
11692that the Postfix SMTP client uses to verify a remote SMTP server
11693certificate.  Don't forget to create the necessary "hash" links
11694with, for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs".
11695</p>
11696
11697<p> To use this option in chroot mode, this directory (or a copy)
11698must be inside the chroot jail. </p>
11699
11700<p> Specify "<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /path/to/system_CA_directory" to
11701use ONLY the system-supplied default Certification Authority certificates.
11702</p>
11703
11704<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
11705appending the system-supplied default CAs and trusting third-party
11706certificates. </p>
11707
11708<p> Example: </p>
11709
11710<pre>
11711<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /etc/postfix/certs
11712</pre>
11713
11714<p> This feature is available in Postfix 2.2 and later.  </p>
11715
11716
11717</DD>
11718
11719<DT><b><a name="smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a>
11720(default: no)</b></DT><DD>
11721
11722<p> Try to detect a mail hijacking attack based on a TLS protocol
11723vulnerability (CVE-2009-3555), where an attacker prepends malicious
11724HELO, MAIL, RCPT, DATA commands to a Postfix SMTP client TLS session.
11725The attack would succeed with non-Postfix SMTP servers that reply
11726to the malicious HELO, MAIL, RCPT, DATA commands after negotiating
11727the Postfix SMTP client TLS session.  </p>
11728
11729<p> This feature is available in Postfix 2.7. </p>
11730
11731
11732</DD>
11733
11734<DT><b><a name="smtp_tls_cert_file">smtp_tls_cert_file</a>
11735(default: empty)</b></DT><DD>
11736
11737<p> File with the Postfix SMTP client RSA certificate in PEM format.
11738This file may also contain the Postfix SMTP client private RSA key,
11739and these may be the same as the Postfix SMTP server RSA certificate and key
11740file. </p>
11741
11742<p> Do not configure client certificates unless you <b>must</b> present
11743client TLS certificates to one or more servers. Client certificates are
11744not usually needed, and can cause problems in configurations that work
11745well without them. The recommended setting is to let the defaults stand: </p>
11746
11747<blockquote>
11748<pre>
11749<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> =
11750<a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> =
11751<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> =
11752<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> =
11753<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> =
11754<a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> =
11755</pre>
11756</blockquote>
11757
11758<p> The best way to use the default settings is to comment out the above
11759parameters in <a href="postconf.5.html">main.cf</a> if present. </p>
11760
11761<p> To enable remote SMTP servers to verify the Postfix SMTP client
11762certificate, the issuing CA certificates must be made available to the
11763server. You should include the required certificates in the client
11764certificate file, the client certificate first, then the issuing
11765CA(s) (bottom-up order). </p>
11766
11767<p> Example: the certificate for "client.example.com" was issued by
11768"intermediate CA" which itself has a certificate issued by "root CA".
11769Create the client.pem file with "cat client_cert.pem intermediate_CA.pem
11770root_CA.pem &gt; client.pem". </p>
11771
11772<p> If you also want to verify remote SMTP server certificates issued by
11773these CAs, you can add the CA certificates to the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>, in
11774which case it is not necessary to have them in the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>,
11775<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> or <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. </p>
11776
11777<p> A certificate supplied here must be usable as an SSL client certificate
11778and hence pass the "openssl verify -purpose sslclient ..." test. </p>
11779
11780<p> Example: </p>
11781
11782<pre>
11783<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> = /etc/postfix/client.pem
11784</pre>
11785
11786<p> This feature is available in Postfix 2.2 and later.  </p>
11787
11788
11789</DD>
11790
11791<DT><b><a name="smtp_tls_cipherlist">smtp_tls_cipherlist</a>
11792(default: empty)</b></DT><DD>
11793
11794<p> Obsolete Postfix &lt; 2.3 control for the Postfix SMTP client TLS
11795cipher list. As this feature applies to all TLS security levels, it is easy
11796to create interoperability problems by choosing a non-default cipher
11797list. Do not use a non-default TLS cipher list on hosts that deliver email
11798to the public Internet: you will be unable to send email to servers that
11799only support the ciphers you exclude. Using a restricted cipher list
11800may be more appropriate for an internal MTA, where one can exert some
11801control over the TLS software and settings of the peer servers. </p>
11802
11803<p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
11804
11805<p> This feature is available in Postfix version 2.2. It is not used with
11806Postfix 2.3 and later; use <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> instead. </p>
11807
11808
11809</DD>
11810
11811<DT><b><a name="smtp_tls_ciphers">smtp_tls_ciphers</a>
11812(default: medium)</b></DT><DD>
11813
11814<p> The minimum TLS cipher grade that the Postfix SMTP client
11815will use with opportunistic TLS encryption. Cipher types listed in
11816<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> are excluded from the base definition of
11817the selected cipher grade.   The default value is "medium" for
11818Postfix releases after the middle of 2015, "export" for older
11819releases.  </p>
11820
11821<p> When TLS is mandatory the cipher grade is chosen via the
11822<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
11823details. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure
11824ciphers on a per-destination basis. </p>
11825
11826<p> This feature is available in Postfix 2.6 and later. With earlier Postfix
11827releases only the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter is implemented,
11828and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
11829
11830
11831</DD>
11832
11833<DT><b><a name="smtp_tls_dane_insecure_mx_policy">smtp_tls_dane_insecure_mx_policy</a>
11834(default: dane)</b></DT><DD>
11835
11836<p> The TLS policy for MX hosts with "secure" TLSA records when the
11837nexthop destination security level is <b>dane</b>, but the MX
11838record was found via an "insecure" MX lookup.  The choices are:
11839</p>
11840
11841<dl>
11842<dt><b>may</b></dt>
11843<dd> The TLSA records will be ignored and TLS will be optional.  If
11844the MX host does not appear to support STARTTLS, or the STARTTLS
11845handshake fails, mail may be sent in the clear. </dd>
11846<dt><b>encrypt</b></dt>
11847<dd> The TLSA records will signal a requirement to use TLS.  While
11848TLS encryption will be required, authentication will not be performed.
11849</dd>
11850<dt><b>dane</b> (default)</dt>
11851<dd>The TLSA records will be used just as with "secure" MX records.
11852TLS encryption will be required, and, if at least one of the TLSA
11853records is "usable", authentication will be required.  When
11854authentication succeeds, it will be logged only as "Trusted", not
11855"Verified", because the MX host name could have been forged.  </dd>
11856</dl>
11857
11858<p> Though with "insecure" MX records an active attacker can
11859compromise SMTP transport security by returning forged MX records,
11860such attacks are "tamper-evident" since any forged MX hostnames
11861will be recorded in the mail logs.  Attackers who place a high value
11862staying hidden may be deterred from forging MX records. </p>
11863
11864<p>
11865This feature is available in Postfix 3.1 and later. The <b>may</b>
11866policy is backwards-compatible with earlier Postfix versions.
11867</p>
11868
11869
11870</DD>
11871
11872<DT><b><a name="smtp_tls_dcert_file">smtp_tls_dcert_file</a>
11873(default: empty)</b></DT><DD>
11874
11875<p> File with the Postfix SMTP client DSA certificate in PEM format.
11876This file may also contain the Postfix SMTP client private DSA key. </p>
11877
11878<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
11879</p>
11880
11881<p> Example: </p>
11882
11883<pre>
11884<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem
11885</pre>
11886
11887<p> This feature is available in Postfix 2.2 and later.  </p>
11888
11889
11890</DD>
11891
11892<DT><b><a name="smtp_tls_dkey_file">smtp_tls_dkey_file</a>
11893(default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD>
11894
11895<p> File with the Postfix SMTP client DSA private key in PEM format.
11896This file may be combined with the Postfix SMTP client DSA certificate
11897file specified with $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>. </p>
11898
11899<p> The private key must be accessible without a pass-phrase, i.e. it
11900must not be encrypted. File permissions should grant read-only
11901access to the system superuser account ("root"), and no access
11902to anyone else. </p>
11903
11904<p> This feature is available in Postfix 2.2 and later.  </p>
11905
11906
11907</DD>
11908
11909<DT><b><a name="smtp_tls_eccert_file">smtp_tls_eccert_file</a>
11910(default: empty)</b></DT><DD>
11911
11912<p> File with the Postfix SMTP client ECDSA certificate in PEM format.
11913This file may also contain the Postfix SMTP client ECDSA private key. </p>
11914
11915<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
11916</p>
11917
11918<p> Example: </p>
11919
11920<pre>
11921<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> = /etc/postfix/ecdsa-ccert.pem
11922</pre>
11923
11924<p> This feature is available in Postfix 2.6 and later, when Postfix is
11925compiled and linked with OpenSSL 1.0.0 or later. </p>
11926
11927
11928</DD>
11929
11930<DT><b><a name="smtp_tls_eckey_file">smtp_tls_eckey_file</a>
11931(default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD>
11932
11933<p> File with the Postfix SMTP client ECDSA private key in PEM format.
11934This file may be combined with the Postfix SMTP client ECDSA
11935certificate file specified with $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. </p>
11936
11937<p> The private key must be accessible without a pass-phrase, i.e. it
11938must not be encrypted. File permissions should grant read-only
11939access to the system superuser account ("root"), and no access
11940to anyone else. </p>
11941
11942<p> This feature is available in Postfix 2.6 and later, when Postfix is
11943compiled and linked with OpenSSL 1.0.0 or later. </p>
11944
11945
11946</DD>
11947
11948<DT><b><a name="smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
11949(default: yes)</b></DT><DD>
11950
11951<p> With mandatory TLS encryption, require that the remote SMTP
11952server hostname matches the information in the remote SMTP server
11953certificate.  As of <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> the requirements for hostname checking
11954for MTA clients are not specified. </p>
11955
11956<p> This option can be set to "no" to disable strict peer name
11957checking. This setting has no effect on sessions that are controlled
11958via the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table.  </p>
11959
11960<p> Disabling the hostname verification can make sense in closed
11961environment where special CAs are created.  If not used carefully,
11962this option opens the danger of a "man-in-the-middle" attack (the
11963CommonName of this attacker will be logged). </p>
11964
11965<p> This feature is available in Postfix 2.2 and later. With
11966Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
11967
11968
11969</DD>
11970
11971<DT><b><a name="smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
11972(default: empty)</b></DT><DD>
11973
11974<p> List of ciphers or cipher types to exclude from the Postfix
11975SMTP client cipher
11976list at all TLS security levels. This is not an OpenSSL cipherlist, it is
11977a simple list separated by whitespace and/or commas. The elements are a
11978single cipher, or one or more "+" separated cipher properties, in which
11979case only ciphers matching <b>all</b> the properties are excluded. </p>
11980
11981<p> Examples (some of these will cause problems): </p>
11982
11983<blockquote>
11984<pre>
11985<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL
11986<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = MD5, DES
11987<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = DES+MD5
11988<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
11989<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = kEDH+aRSA
11990</pre>
11991</blockquote>
11992
11993<p> The first setting, disables anonymous ciphers. The next setting
11994disables ciphers that use the MD5 digest algorithm or the (single) DES
11995encryption algorithm. The next setting disables ciphers that use MD5 and
11996DES together.  The next setting disables the two ciphers "AES256-SHA"
11997and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
11998key exchange with RSA authentication. </p>
11999
12000<p> This feature is available in Postfix 2.3 and later. </p>
12001
12002
12003</DD>
12004
12005<DT><b><a name="smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
12006(default: empty)</b></DT><DD>
12007
12008<p> List of acceptable remote SMTP server certificate fingerprints for
12009the "fingerprint" TLS security level (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> =
12010fingerprint). At this security level, Certification Authorities are not
12011used, and certificate expiration times are ignored. Instead, server
12012certificates are verified directly via their certificate fingerprint
12013or public key fingerprint (Postfix 2.9 and later). The fingerprint
12014is a message digest of the server certificate (or public key). The
12015digest algorithm is selected via the <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b>
12016parameter. </p>
12017
12018<p> When an <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a></b> table entry specifies the
12019"fingerprint" security level, any "match" attributes in that entry specify
12020the list of valid fingerprints for the corresponding destination. Multiple
12021fingerprints can be combined with a "|" delimiter in a single match
12022attribute, or multiple match attributes can be employed. </p>
12023
12024<p> Example: Certificate fingerprint verification with internal mailhub.
12025Two matching fingerprints are listed. The <a href="postconf.5.html#relayhost">relayhost</a> may be multiple
12026physical hosts behind a load-balancer, each with its own private/public
12027key and self-signed certificate. Alternatively, a single <a href="postconf.5.html#relayhost">relayhost</a> may
12028be in the process of switching from one set of private/public keys to
12029another, and both keys are trusted just prior to the transition. </p>
12030
12031<blockquote>
12032<pre>
12033<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
12034<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
12035<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
12036<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
12037    3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
12038    EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
12039</pre>
12040</blockquote>
12041
12042<p> Example: Certificate fingerprint verification with selected destinations.
12043As in the example above, we show two matching fingerprints: </p>
12044
12045<blockquote>
12046<pre>
12047/etc/postfix/<a href="postconf.5.html">main.cf</a>:
12048    <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
12049    <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
12050</pre>
12051</blockquote>
12052
12053<blockquote>
12054<pre>
12055/etc/postfix/tls_policy:
12056    example.com fingerprint
12057        match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
12058        match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
12059</pre>
12060</blockquote>
12061
12062<p> This feature is available in Postfix 2.5 and later. </p>
12063
12064
12065</DD>
12066
12067<DT><b><a name="smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
12068(default: md5)</b></DT><DD>
12069
12070<p> The message digest algorithm used to construct remote SMTP server
12071certificate fingerprints. At the "fingerprint" TLS security level
12072(<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> = fingerprint), the server certificate is
12073verified by directly matching its certificate fingerprint or its public
12074key fingerprint (Postfix 2.9 and later). The fingerprint is the
12075message digest of the server certificate (or its public key)
12076using the selected
12077algorithm. With a digest algorithm resistant to "second pre-image"
12078attacks, it is not feasible to create a new public key and a matching
12079certificate (or public/private key-pair) that has the same fingerprint. </p>
12080
12081<p> The default algorithm is <b>md5</b>; this is consistent with
12082the backwards compatible setting of the digest used to verify client
12083certificates in the SMTP server. </p>
12084
12085<p> The best practice algorithm is now <b>sha1</b>. Recent advances in hash
12086function cryptanalysis have led to md5 being deprecated in favor of sha1.
12087However, as long as there are no known "second pre-image" attacks
12088against md5, its use in this context can still be considered safe.
12089</p>
12090
12091<p> While additional digest algorithms are often available with OpenSSL's
12092libcrypto, only those used by libssl in SSL cipher suites are available to
12093Postfix. For now this means just md5 or sha1. </p>
12094
12095<p> To find the fingerprint of a specific certificate file, with a
12096specific digest algorithm, run:
12097</p>
12098
12099<blockquote>
12100<pre>
12101$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
12102</pre>
12103</blockquote>
12104
12105<p> The text to the right of "=" sign is the desired fingerprint.
12106For example: </p>
12107
12108<blockquote>
12109<pre>
12110$ openssl x509 -noout -fingerprint -sha1 -in cert.pem
12111SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
12112</pre>
12113</blockquote>
12114
12115<p> To extract the public key fingerprint from an X.509 certificate,
12116you need to extract the public key from the certificate and compute
12117the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
12118the "-pubkey" option of the "x509" command extracts the public
12119key always in "PEM" format. We pipe the result to another OpenSSL
12120command that converts the key to DER and then to the "dgst" command
12121to compute the fingerprint. </p>
12122
12123<p> The actual command to transform the key to DER format depends
12124on the version of OpenSSL used. With OpenSSL 1.0.0 and later, the
12125"pkey" command supports all key types. With OpenSSL 0.9.8 and
12126earlier, the key type is always RSA (nobody uses DSA, and EC
12127keys are not fully supported by 0.9.8), so the "rsa" command is
12128used. </p>
12129<blockquote>
12130<pre>
12131# OpenSSL 1.0 with all certificates and SHA-1 fingerprints.
12132$ openssl x509 -in cert.pem -noout -pubkey |
12133    openssl pkey -pubin -outform DER |
12134    openssl dgst -sha1 -c
12135(stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58
12136</pre>
12137</blockquote>
12138
12139<blockquote>
12140<pre>
12141# OpenSSL 0.9.8 with RSA certificates and MD5 fingerprints.
12142$ openssl x509 -in cert.pem -noout -pubkey |
12143    openssl rsa -pubin -outform DER |
12144    openssl dgst -md5 -c
12145(stdin)= f4:62:60:f6:12:8f:d5:8d:28:4d:13:a7:db:b2:ff:50
12146</pre>
12147</blockquote>
12148
12149<p> The Postfix SMTP server and client log the peer (leaf) certificate
12150fingerprint and public key fingerprint when the TLS loglevel is 2 or
12151higher. </p>
12152
12153<p> <b>Note:</b> Postfix 2.9.0&ndash;2.9.5 computed the public key
12154fingerprint incorrectly. To use public-key fingerprints, upgrade
12155to Postfix 2.9.6 or later. </p>
12156
12157<p> This feature is available in Postfix 2.5 and later. </p>
12158
12159
12160</DD>
12161
12162<DT><b><a name="smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a>
12163(default: no)</b></DT><DD>
12164
12165<p> Lookup the associated DANE TLSA RRset even when a hostname is
12166not an alias and its address records lie in an unsigned zone.  This
12167is unlikely to ever yield DNSSEC validated results, since child
12168zones of unsigned zones are also unsigned in the absence of DLV or
12169locally configured non-root trust-anchors.  We anticipate that such
12170mechanisms will not be used for just the "_tcp" subdomain of a host.
12171Suppressing the TLSA RRset lookup reduces latency and avoids potential
12172interoperability problems with nameservers for unsigned zones that
12173are not prepared to handle the new TLSA RRset.  </p>
12174
12175<p> This feature is available in Postfix 2.11. </p>
12176
12177
12178</DD>
12179
12180<DT><b><a name="smtp_tls_key_file">smtp_tls_key_file</a>
12181(default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD>
12182
12183<p> File with the Postfix SMTP client RSA private key in PEM format.
12184This file may be combined with the Postfix SMTP client RSA certificate
12185file specified with $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>. </p>
12186
12187<p> The private key must be accessible without a pass-phrase, i.e. it
12188must not be encrypted. File permissions should grant read-only
12189access to the system superuser account ("root"), and no access
12190to anyone else. </p>
12191
12192<p> Example: </p>
12193
12194<pre>
12195<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>
12196</pre>
12197
12198<p> This feature is available in Postfix 2.2 and later.  </p>
12199
12200
12201</DD>
12202
12203<DT><b><a name="smtp_tls_loglevel">smtp_tls_loglevel</a>
12204(default: 0)</b></DT><DD>
12205
12206<p> Enable additional Postfix SMTP client logging of TLS activity.
12207Each logging level also includes the information that is logged at
12208a lower logging level.  </p>
12209
12210<dl compact>
12211
12212<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
12213
12214<dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
12215&mdash; no logging of remote SMTP server certificate trust-chain
12216verification errors if server certificate verification is not required.
12217With Postfix 2.8 and earlier, log the summary message and unconditionally
12218log trust-chain verification errors.  </dd>
12219
12220<dt> </dt> <dd> 2 Also log levels during TLS negotiation.  </dd>
12221
12222<dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation
12223process.  </dd>
12224
12225<dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
12226transmission after STARTTLS. </dd>
12227
12228</dl>
12229
12230<p> Do not use "<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> = 2" or higher except in case of
12231problems. Use of loglevel 4 is strongly discouraged. </p>
12232
12233<p> This feature is available in Postfix 2.2 and later.  </p>
12234
12235
12236</DD>
12237
12238<DT><b><a name="smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
12239(default: medium)</b></DT><DD>
12240
12241<p> The minimum TLS cipher grade that the Postfix SMTP client will
12242use with
12243mandatory TLS encryption.  The default value "medium" is suitable
12244for most destinations with which you may want to enforce TLS, and
12245is beyond the reach of today's cryptanalytic methods. See
12246<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure ciphers
12247on a per-destination basis. </p>
12248
12249<p> The following cipher grades are supported: </p>
12250
12251<dl>
12252<dt><b>export</b></dt>
12253<dd> Enable "EXPORT" grade or better OpenSSL ciphers.  The underlying
12254cipherlist is specified via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration
12255parameter, which you are strongly encouraged to not change.  This
12256choice is insecure and SHOULD NOT be used.  </dd>
12257
12258<dt><b>low</b></dt>
12259<dd> Enable "LOW" grade or better OpenSSL ciphers.  The underlying
12260cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration
12261parameter, which you are strongly encouraged to not change.  This
12262choice is insecure and SHOULD NOT be used.  </dd>
12263
12264<dt><b>medium</b></dt>
12265<dd> Enable "MEDIUM" grade or better OpenSSL ciphers.
12266The underlying cipherlist is specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a>
12267configuration parameter, which you are strongly encouraged to not change.
12268</dd>
12269
12270<dt><b>high</b></dt>
12271<dd> Enable only "HIGH" grade OpenSSL ciphers.  This setting may
12272be appropriate when all mandatory TLS destinations (e.g. when all
12273mail is routed to a suitably capable <a href="postconf.5.html#relayhost">relayhost</a>) support at least one
12274"HIGH" grade cipher. The underlying cipherlist is specified via the
12275<a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a> configuration parameter, which you are strongly
12276encouraged to not change. </dd>
12277
12278<dt><b>null</b></dt>
12279<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
12280without encryption.  This setting is only appropriate in the rare case
12281that all servers are prepared to use NULL ciphers (not normally enabled
12282in TLS servers). A plausible use-case is an LMTP server listening on a
12283UNIX-domain socket that is configured to support "NULL" ciphers. The
12284underlying cipherlist is specified via the <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a>
12285configuration parameter, which you are strongly encouraged to not
12286change. </dd>
12287
12288</dl>
12289
12290<p> The underlying cipherlists for grades other than "null" include
12291anonymous ciphers, but these are automatically filtered out if the
12292Postfix SMTP client is configured to verify server certificates.
12293You are very unlikely to need to take any steps to exclude anonymous
12294ciphers, they are excluded automatically as necessary.  If you must
12295exclude anonymous ciphers at the "may" or "encrypt" security levels,
12296when the Postfix SMTP client does not need or use peer certificates, set
12297"<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only when
12298TLS is enforced, set "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
12299
12300<p> This feature is available in Postfix 2.3 and later. </p>
12301
12302
12303</DD>
12304
12305<DT><b><a name="smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
12306(default: empty)</b></DT><DD>
12307
12308<p> Additional list of ciphers or cipher types to exclude from the
12309Postfix SMTP client cipher list at mandatory TLS security levels. This list
12310works in addition to the exclusions listed with <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
12311(see there for syntax details).  </p>
12312
12313<p> Starting with Postfix 2.6, the mandatory cipher exclusions can be
12314specified on a per-destination basis via the TLS policy "exclude"
12315attribute. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for notes and examples. </p>
12316
12317<p> This feature is available in Postfix 2.3 and later. </p>
12318
12319
12320</DD>
12321
12322<DT><b><a name="smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
12323(default: !SSLv2, !SSLv3)</b></DT><DD>
12324
12325<p> List of SSL/TLS protocols that the Postfix SMTP client will use with
12326mandatory TLS encryption.  In <a href="postconf.5.html">main.cf</a> the values are separated by
12327whitespace, commas or colons. In the policy table "protocols" attribute
12328(see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon. An
12329empty value means allow all protocols. The valid protocol names, (see
12330<b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3" and "TLSv1". The
12331default value is "!SSLv2, !SSLv3" for Postfix releases after the
12332middle of 2015, "!SSLv2" for older releases. </p>
12333
12334<p> With Postfix &ge; 2.5 the parameter syntax was expanded to support
12335protocol exclusions. One can explicitly exclude "SSLv2" by setting
12336"<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2". To exclude both "SSLv2" and
12337"SSLv3" set "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing
12338the protocols to include, rather than protocols to exclude, is
12339supported, but not recommended. The exclusion form more closely
12340matches the underlying OpenSSL interface semantics.
12341</p>
12342
12343<p> The range of protocols advertised by an SSL/TLS client must be
12344contiguous.  When a protocol version is enabled, disabling any
12345higher version implicitly disables all versions above that higher
12346version.  Thus, for example: </p>
12347<blockquote>
12348<pre>
12349<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !TLSv1
12350</pre>
12351</blockquote>
12352<p> also disables any protocols version higher than TLSv1 leaving
12353only "SSLv3" enabled.  </p>
12354
12355<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
12356and "TLSv1.2". When Postfix &le; 2.5 is linked against OpenSSL 1.0.1
12357or later, these, or any other new protocol versions, cannot be
12358disabled except by also disabling "TLSv1" (typically leaving just
12359"SSLv3").  The latest patch levels of Postfix &ge; 2.6, and all
12360versions of Postfix &ge; 2.10 can explicitly disable support for
12361"TLSv1.1" or "TLSv1.2". </p>
12362
12363<p> At the <a href="TLS_README.html#client_tls_dane">dane</a> and
12364<a href="TLS_README.html#client_tls_dane">dane-only</a> security
12365levels, when usable TLSA records are obtained for the remote SMTP
12366server, the Postfix SMTP client is obligated to include the SNI TLS
12367extension in its SSL client hello message.  This may help the remote
12368SMTP server live up to its promise to provide a certificate that
12369matches its TLSA records.  Since TLS extensions require TLS 1.0 or
12370later, the Postfix SMTP client must disable "SSLv2" and "SSLv3" when
12371SNI is required.  If you use "dane" or "dane-only" do not disable
12372TLSv1, except perhaps via the policy table for destinations which
12373you are sure will support "TLSv1.1" or "TLSv1.2".  </p>
12374
12375<p> See the documentation of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> parameter and
12376<a href="TLS_README.html">TLS_README</a> for more information about security levels. </p>
12377
12378<p> Example: </p>
12379
12380<pre>
12381# Preferred syntax with Postfix &ge; 2.5:
12382<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
12383# Legacy syntax:
12384<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1
12385</pre>
12386
12387<p> This feature is available in Postfix 2.3 and later. </p>
12388
12389
12390</DD>
12391
12392<DT><b><a name="smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
12393(default: no)</b></DT><DD>
12394
12395<p> Log the hostname of a remote SMTP server that offers STARTTLS,
12396when TLS is not already enabled for that server. </p>
12397
12398<p> The logfile record looks like:  </p>
12399
12400<pre>
12401postfix/smtp[pid]:  Host offered STARTTLS: [name.of.host]
12402</pre>
12403
12404<p> This feature is available in Postfix 2.2 and later.  </p>
12405
12406
12407</DD>
12408
12409<DT><b><a name="smtp_tls_per_site">smtp_tls_per_site</a>
12410(default: empty)</b></DT><DD>
12411
12412<p> Optional lookup tables with the Postfix SMTP client TLS usage
12413policy by next-hop destination and by remote SMTP server hostname.
12414When both lookups succeed, the more specific per-site policy (NONE,
12415MUST, etc) overrides the less specific one (MAY), and the more secure
12416per-site policy (MUST, etc) overrides the less secure one (NONE).
12417With Postfix 2.3 and later <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> is strongly discouraged:
12418use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
12419
12420<p> Use of the bare hostname as the per-site table lookup key is
12421discouraged. Always use the full destination nexthop (enclosed in
12422[] with a possible ":port" suffix). A recipient domain or MX-enabled
12423transport next-hop with no port suffix may look like a bare hostname,
12424but is still a suitable <i>destination</i>. </p>
12425
12426<p> Specify a next-hop destination or server hostname on the left-hand
12427side; no wildcards are allowed. The next-hop destination is either
12428the recipient domain, or the destination specified with a <a href="transport.5.html">transport(5)</a>
12429table, the <a href="postconf.5.html#relayhost">relayhost</a> parameter, or the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter.
12430On the right hand side specify one of the following keywords:  </p>
12431
12432<dl>
12433
12434<dt> NONE </dt> <dd> Don't use TLS at all. This overrides a less
12435specific <b>MAY</b> lookup result from the alternate host or next-hop
12436lookup 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>,
12437and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd>
12438
12439<dt> MAY </dt> <dd> Try to use TLS if the server announces support,
12440otherwise use the unencrypted connection. This has less precedence
12441than a more specific result (including <b>NONE</b>) from the alternate
12442host or next-hop lookup key, and has less precedence than the more
12443specific 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>
12444= yes".  </dd>
12445
12446<dt> MUST_NOPEERMATCH </dt> <dd> Require TLS encryption, but do not
12447require that the remote SMTP server hostname matches the information
12448in the remote SMTP server certificate, or that the server certificate
12449was issued by a trusted CA. This overrides a less secure <b>NONE</b>
12450or a less specific <b>MAY</b> lookup result from the alternate host
12451or next-hop lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>,
12452<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>
12453
12454<dt> MUST </dt> <dd> Require TLS encryption, require that the remote
12455SMTP server hostname matches the information in the remote SMTP
12456server certificate, and require that the remote SMTP server certificate
12457was issued by a trusted CA. This overrides a less secure <b>NONE</b>
12458and <b>MUST_NOPEERMATCH</b> or a less specific <b>MAY</b> lookup
12459result from the alternate host or next-hop lookup key, and overrides
12460the 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>
12461settings.  </dd>
12462
12463</dl>
12464
12465<p> The above keywords correspond to the "none", "may", "encrypt" and
12466"verify" security levels for the new <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> parameter
12467introduced in Postfix 2.3. Starting with Postfix 2.3, and independently
12468of how the policy is specified, the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
12469<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameters apply when TLS encryption
12470is mandatory. Connections for which encryption is optional typically
12471enable all "export" grade and better ciphers (see <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>
12472and <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>). </p>
12473
12474<p> As long as no secure DNS lookup mechanism is available, false
12475hostnames in MX or CNAME responses can change the server hostname
12476that Postfix uses for TLS policy lookup and server certificate
12477verification. Even with a perfect match between the server hostname and
12478the server certificate, there is no guarantee that Postfix is connected
12479to the right server.  See <a href="TLS_README.html">TLS_README</a> (Closing a DNS loophole with obsolete
12480per-site TLS policies) for a possible work-around. </p>
12481
12482<p> This feature is available in Postfix 2.2 and later. With
12483Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
12484
12485
12486</DD>
12487
12488<DT><b><a name="smtp_tls_policy_maps">smtp_tls_policy_maps</a>
12489(default: empty)</b></DT><DD>
12490
12491<p> Optional lookup tables with the Postfix SMTP client TLS security
12492policy by next-hop destination; when a non-empty value is specified,
12493this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter.  See
12494<a href="TLS_README.html">TLS_README</a> for a more detailed discussion of TLS security levels.
12495</p>
12496
12497<p>
12498Specify zero or more "type:name" lookup tables, separated by
12499whitespace or comma. Tables will be searched in the specified order
12500until a match is found.
12501</p>
12502
12503<p> The TLS policy table is indexed by the full next-hop destination,
12504which is either the recipient domain, or the verbatim next-hop
12505specified in the transport table, $<a href="postconf.5.html#local_transport">local_transport</a>, $<a href="postconf.5.html#virtual_transport">virtual_transport</a>,
12506$<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
12507square brackets and any non-default destination server port suffix. The
12508LMTP socket type prefix (inet: or unix:) is not included in the lookup
12509key. </p>
12510
12511<p> Only the next-hop domain, or $<a href="postconf.5.html#myhostname">myhostname</a> with LMTP over UNIX-domain
12512sockets, is used as the nexthop name for certificate verification. The
12513port and any enclosing square brackets are used in the table lookup key,
12514but are not used for server name verification. </p>
12515
12516<p> When the lookup key is a domain name without enclosing square brackets
12517or any <i>:port</i> suffix (typically the recipient domain), and the full
12518domain is not found in the table, just as with the <a href="transport.5.html">transport(5)</a> table,
12519the parent domain starting with a leading "." is matched recursively. This
12520allows one to specify a security policy for a recipient domain and all
12521its sub-domains. </p>
12522
12523<p> The lookup result is a security level, followed by an optional list
12524of whitespace and/or comma separated name=value attributes that override
12525related <a href="postconf.5.html">main.cf</a> settings. The TLS security levels in order of increasing
12526security are: </p>
12527
12528<dl>
12529
12530<dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
12531<dd>No TLS. No additional attributes are supported at this level. </dd>
12532
12533<dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
12534<dd>Opportunistic TLS. Since sending in the clear is acceptable,
12535demanding stronger than default TLS security merely reduces
12536interoperability. The optional "ciphers", "exclude" and "protocols"
12537attributes (available for opportunistic TLS with Postfix &ge; 2.6)
12538override the "<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
12539"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>" configuration parameters. When opportunistic TLS
12540handshakes fail, Postfix retries the connection with TLS disabled.
12541This allows mail delivery to sites with non-interoperable TLS
12542implementations.</dd>
12543
12544<dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
12545<dd>Mandatory TLS encryption. At this level
12546and higher, the optional "protocols" attribute overrides the <a href="postconf.5.html">main.cf</a>
12547<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameter, the optional "ciphers" attribute
12548overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter, and the
12549optional "exclude" attribute (Postfix &ge; 2.6) overrides the <a href="postconf.5.html">main.cf</a>
12550<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> parameter. In the policy table,
12551multiple protocols or excluded ciphers must be separated by colons,
12552as attribute values may not contain whitespace or commas. </dd>
12553
12554<dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
12555<dd>Opportunistic DANE TLS.  The TLS policy for the destination is
12556obtained via TLSA records in DNSSEC.  If no TLSA records are found,
12557the effective security level used is <a
12558href="TLS_README.html#client_tls_may">may</a>.  If TLSA records are
12559found, but none are usable, the effective security level is <a
12560href="TLS_README.html#client_tls_encrypt">encrypt</a>.  When usable
12561TLSA records are obtained for the remote SMTP server, the
12562server certificate must match the TLSA records.  <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE)
12563TLS authentication and DNSSEC support is available with Postfix
125642.11 and later.  </dd>
12565
12566<dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
12567<dd>Mandatory DANE TLS.  The TLS policy for the destination is
12568obtained via TLSA records in DNSSEC.  If no TLSA records are found,
12569or none are usable, no connection is made to the server.  When
12570usable TLSA records are obtained for the remote SMTP server, the
12571server certificate must match the TLSA records.  <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE) TLS
12572authentication and DNSSEC support is available with Postfix 2.11
12573and later.  </dd>
12574
12575<dt><b><a href="TLS_README.html#client_tls_fingerprint">fingerprint</a></b></dt>
12576<dd>Certificate fingerprint
12577verification. Available with Postfix 2.5 and later. At this security
12578level, there are no trusted Certification Authorities. The certificate
12579trust chain, expiration date, ... are not checked. Instead,
12580the optional <b>match</b> attribute, or else the <a href="postconf.5.html">main.cf</a>
12581<b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> parameter, lists the certificate
12582fingerprints or the public key fingerprint (Postfix 2.9 and later)
12583of the valid server certificate. The digest
12584algorithm used to calculate the fingerprint is selected by the
12585<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Multiple fingerprints can
12586be combined with a "|" delimiter in a single match attribute, or multiple
12587match attributes can be employed. The ":" character is not used as a
12588delimiter as it occurs between each pair of fingerprint (hexadecimal)
12589digits. </dd>
12590
12591<dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
12592<dd>Mandatory TLS verification.  At this security
12593level, DNS MX lookups are trusted to be secure enough, and the name
12594verified in the server certificate is usually obtained indirectly via
12595unauthenticated DNS MX lookups.  The optional "match" attribute overrides
12596the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. In the policy table,
12597multiple match patterns and strategies must be separated by colons.
12598In practice explicit control over matching is more common with the
12599"secure" policy, described below. </dd>
12600
12601<dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
12602<dd>Secure-channel TLS. At this security level, DNS
12603MX lookups, though potentially used to determine the candidate next-hop
12604gateway IP addresses, are <b>not</b> trusted to be secure enough for TLS
12605peername verification. Instead, the default name verified in the server
12606certificate is obtained directly from the next-hop, or is explicitly
12607specified via the optional <b>match</b> attribute which overrides the
12608<a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> parameter. In the policy table,
12609multiple match patterns and strategies must be separated by colons.
12610The match attribute is most useful when multiple domains are supported by
12611common server, the policy entries for additional domains specify matching
12612rules for the primary domain certificate. While transport table overrides
12613routing the secondary domains to the primary nexthop also allow secure
12614verification, they risk delivery to the wrong destination when domains
12615change hands or are re-assigned to new gateways. With the "match"
12616attribute approach, routing is not perturbed, and mail is deferred if
12617verification of a new MX host fails. </dd>
12618
12619</dl>
12620
12621<p>
12622Example:
12623</p>
12624
12625<pre>
12626/etc/postfix/<a href="postconf.5.html">main.cf</a>:
12627    <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
12628    # Postfix 2.5 and later
12629    <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
12630</pre>
12631
12632<pre>
12633/etc/postfix/tls_policy:
12634    example.edu                 none
12635    example.mil                 may
12636    example.gov                 encrypt protocols=TLSv1
12637    example.com                 verify ciphers=high
12638    example.net                 secure
12639    .example.net                secure match=.example.net:example.net
12640    [mail.example.org]:587      secure match=nexthop
12641    # Postfix 2.5 and later
12642    [thumb.example.org]          fingerprint
12643        match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
12644        match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
12645</pre>
12646
12647<p> <b>Note:</b> The <b>hostname</b> strategy if listed in a non-default
12648setting of <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> or in the <b>match</b> attribute
12649in the policy table can render the <b>secure</b> level vulnerable to
12650DNS forgery. Do not use the <b>hostname</b> strategy for secure-channel
12651configurations in environments where DNS security is not assured. </p>
12652
12653<p> This feature is available in Postfix 2.3 and later. </p>
12654
12655
12656</DD>
12657
12658<DT><b><a name="smtp_tls_protocols">smtp_tls_protocols</a>
12659(default: !SSLv2, !SSLv3)</b></DT><DD>
12660
12661<p> List of TLS protocols that the Postfix SMTP client will exclude or
12662include with opportunistic TLS encryption. The default value is
12663"!SSLv2, !SSLv3" for Postfix releases after the middle of 2015,
12664"!SSLv2" for older releases. Before Postfix 2.6, the Postfix SMTP
12665client would use all protocols with opportunistic TLS. </p>
12666
12667<p> In <a href="postconf.5.html">main.cf</a> the values are separated by whitespace, commas or
12668colons. In the policy table (see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid
12669separator is colon. An empty value means allow all protocols. The valid
12670protocol names, (see <b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3"
12671and "TLSv1". </p>
12672
12673<p> The range of protocols advertised by an SSL/TLS client must be
12674contiguous.  When a protocol version is enabled, disabling any
12675higher version implicitly disables all versions above that higher
12676version.  Thus, for example: </p>
12677<blockquote>
12678<pre>
12679<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !TLSv1
12680</pre>
12681</blockquote>
12682<p> also disables any protocols version higher than TLSv1 leaving
12683only "SSLv3" enabled.  </p>
12684
12685<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
12686and "TLSv1.2". The latest patch levels of Postfix &ge; 2.6, and all
12687versions of Postfix &ge; 2.10 can explicitly disable support for
12688"TLSv1.1" or "TLSv1.2"</p>
12689
12690<p> To include a protocol list its name, to exclude it, prefix the name
12691with a "!" character. To exclude SSLv2 for opportunistic TLS set
12692"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set
12693"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to
12694include, rather than protocols to exclude, is supported, but not
12695recommended.  The exclusion form more closely matches the underlying
12696OpenSSL interface semantics. </p>
12697
12698<p> Example: </p>
12699<pre>
12700# TLSv1 or better:
12701<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
12702</pre>
12703
12704<p> This feature is available in Postfix 2.6 and later. </p>
12705
12706
12707</DD>
12708
12709<DT><b><a name="smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
12710(default: 9)</b></DT><DD>
12711
12712<p> The verification depth for remote SMTP server certificates. A depth
12713of 1 is sufficient if the issuing CA is listed in a local CA file. </p>
12714
12715<p> The default verification depth is 9 (the OpenSSL default) for
12716compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
12717the default value was 5, but the limit was not actually enforced. If
12718you have set this to a lower non-default value, certificates with longer
12719trust chains may now fail to verify. Certificate chains with 1 or 2
12720CAs are common, deeper chains are more rare and any number between 5
12721and 9 should suffice in practice. You can choose a lower number if,
12722for example, you trust certificates directly signed by an issuing CA
12723but not any CAs it delegates to. </p>
12724
12725<p> This feature is available in Postfix 2.2 and later.  </p>
12726
12727
12728</DD>
12729
12730<DT><b><a name="smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
12731(default: nexthop, dot-nexthop)</b></DT><DD>
12732
12733<p> How the Postfix SMTP client verifies the server certificate
12734peername for the "secure" TLS security level. In a "secure" TLS policy table
12735($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
12736overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
12737
12738<p> This parameter specifies one or more patterns or strategies separated
12739by commas, whitespace or colons.  In the policy table the only valid
12740separator is the colon character. </p>
12741
12742<p> For a description of the pattern and strategy syntax see the
12743<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. The "hostname" strategy should
12744be avoided in this context, as in the absence of a secure global DNS, using
12745the results of MX lookups in certificate verification is not immune to active
12746(man-in-the-middle) attacks on DNS. </p>
12747
12748<p>
12749Sample <a href="postconf.5.html">main.cf</a> setting:
12750</p>
12751
12752<blockquote>
12753<pre>
12754<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
12755</pre>
12756</blockquote>
12757
12758<p>
12759Sample policy table override:
12760</p>
12761
12762<blockquote>
12763<pre>
12764example.net     secure match=example.com:.example.com
12765.example.net    secure match=example.com:.example.com
12766</pre>
12767</blockquote>
12768
12769<p> This feature is available in Postfix 2.3 and later. </p>
12770
12771
12772</DD>
12773
12774<DT><b><a name="smtp_tls_security_level">smtp_tls_security_level</a>
12775(default: empty)</b></DT><DD>
12776
12777<p> The default SMTP TLS security level for the Postfix SMTP client;
12778when a non-empty value is specified, this overrides the obsolete
12779parameters <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>.
12780</p>
12781
12782<p> Specify one of the following security levels: </p>
12783
12784<dl>
12785
12786<dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
12787<dd> No TLS. TLS will not be used unless enabled for specific
12788destinations via <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </dd>
12789
12790<dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
12791<dd> Opportunistic TLS. Use TLS if this is supported by the remote
12792SMTP server, otherwise use plaintext. Since
12793sending in the clear is acceptable, demanding stronger than default TLS
12794security merely reduces interoperability.
12795The "<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 &ge; 2.6)
12796configuration parameters provide control over the protocols and
12797cipher grade used with opportunistic TLS.  With earlier releases the
12798opportunistic TLS cipher grade is always "export" and no protocols
12799are disabled.
12800When TLS handshakes fail, the connection is retried with TLS disabled.
12801This allows mail delivery to sites with non-interoperable TLS
12802implementations. </dd>
12803
12804<dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
12805<dd>Mandatory TLS encryption. Since a minimum
12806level of security is intended, it is reasonable to be specific about
12807sufficiently secure protocol versions and ciphers. At this security level
12808and 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
12809<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> specify the TLS protocols and minimum
12810cipher grade which the administrator considers secure enough for
12811mandatory encrypted sessions. This security level is not an appropriate
12812default for systems delivering mail to the Internet. </dd>
12813
12814<dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
12815<dd>Opportunistic DANE TLS.  At this security level, the TLS policy
12816for the destination is obtained via DNSSEC.  For TLSA policy to be
12817in effect, the destination domain's containing DNS zone must be
12818signed and the Postfix SMTP client's operating system must be
12819configured to send its DNS queries to a recursive DNS nameserver
12820that is able to validate the signed records.  Each MX host's DNS
12821zone should also be signed, and should publish DANE TLSA (<a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>)
12822records that specify how that MX host's TLS certificate is to be
12823verified.  TLSA records do not preempt the normal SMTP MX host
12824selection algorithm, if some MX hosts support TLSA and others do
12825not, TLS security will vary from delivery to delivery.  It is up
12826to the domain owner to configure their MX hosts and their DNS
12827sensibly.  To configure the Postfix SMTP client for DNSSEC lookups
12828see 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>
12829parameter.  When DNSSEC-validated TLSA records are not found the
12830effective tls security level is "may".  When TLSA records are found,
12831but are all unusable the effective security level is "encrypt".  For
12832purposes of protocol and cipher selection, the "dane" security level
12833is treated like a "mandatory" TLS security level, and weak ciphers
12834and protocols are disabled.  Since DANE authenticates server
12835certificates the "aNULL" cipher-suites are transparently excluded
12836at this level, no need to configure this manually.  <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE)
12837TLS authentication is available with Postfix 2.11 and later.  </dd>
12838
12839<dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
12840<dd>Mandatory DANE TLS.  This is just like "dane" above, but DANE
12841TLSA authentication is required.  There is no fallback to "may" or
12842"encrypt" when TLSA records are missing or unusable.  <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>
12843(DANE) TLS authentication is available with Postfix 2.11 and later.
12844</dd>
12845
12846<dt><b><a href="TLS_README.html#client_tls_fingerprint">fingerprint</a></b></dt>
12847<dd>Certificate fingerprint verification.
12848At this security level, there are no trusted Certification Authorities.
12849The certificate trust chain, expiration date, etc., are
12850not checked. Instead, the <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b>
12851parameter lists the certificate fingerprint or public key fingerprint
12852(Postfix 2.9 and later) of the valid server certificate. The digest
12853algorithm used to calculate the fingerprint is selected by the
12854<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Available with Postfix
128552.5 and later.  </dd>
12856
12857<dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
12858<dd>Mandatory TLS verification. At this security
12859level, DNS MX lookups are trusted to be secure enough, and the name
12860verified in the server certificate is usually obtained indirectly
12861via unauthenticated DNS MX lookups. The <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
12862parameter controls how the server name is verified. In practice explicit
12863control over matching is more common at the "secure" level, described
12864below. This security level is not an appropriate default for systems
12865delivering mail to the Internet. </dd>
12866
12867<dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
12868<dd>Secure-channel TLS.  At this security level,
12869DNS MX lookups, though potentially used to determine the candidate
12870next-hop gateway IP addresses, are <b>not</b> trusted to be secure enough
12871for TLS peername verification. Instead, the default name verified in
12872the server certificate is obtained from the next-hop domain as specified
12873in the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> configuration parameter. The default
12874matching rule is that a server certificate matches when its name is equal
12875to or is a sub-domain of the nexthop domain. This security level is not
12876an appropriate default for systems delivering mail to the Internet. </dd>
12877
12878</dl>
12879
12880<p>
12881Examples:
12882</p>
12883
12884<pre>
12885# 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.
12886<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = none
12887</pre>
12888
12889<pre>
12890# Opportunistic TLS.
12891<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
12892# Postfix &ge; 2.6:
12893# Do not tweak opportunistic ciphers or protocol unless it is essential
12894# to do so (if a security vulnerability is found in the SSL library that
12895# can be mitigated by disabling a particular protocol or raising the
12896# cipher grade from "export" to "low" or "medium").
12897<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> = export
12898<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
12899</pre>
12900
12901<pre>
12902# Mandatory (high-grade) TLS encryption.
12903<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
12904<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
12905</pre>
12906
12907<pre>
12908# Mandatory TLS verification of hostname or nexthop domain.
12909<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = verify
12910<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
12911<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
12912</pre>
12913
12914<pre>
12915# Secure channel TLS with exact nexthop name match.
12916<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = secure
12917<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1
12918<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
12919<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
12920</pre>
12921
12922<pre>
12923# Certificate fingerprint verification (Postfix &ge; 2.5).
12924# The CA-less "fingerprint" security level only scales to a limited
12925# number of destinations. As a global default rather than a per-site
12926# setting, this is practical when mail for all recipients is sent
12927# to a central mail hub.
12928<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
12929<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
12930<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
12931<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
12932<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
12933    3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
12934    EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
12935</pre>
12936
12937<p> This feature is available in Postfix 2.3 and later. </p>
12938
12939
12940</DD>
12941
12942<DT><b><a name="smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
12943(default: empty)</b></DT><DD>
12944
12945<p> Name of the file containing the optional Postfix SMTP client
12946TLS session cache. Specify a database type that supports enumeration,
12947such as <b>btree</b> or <b>sdbm</b>; there is no need to support
12948concurrent access.  The file is created if it does not exist. The <a href="smtp.8.html">smtp(8)</a>
12949daemon does not use this parameter directly, rather the cache is
12950implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
12951per-smtp-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not effective.
12952Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon:
12953$<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>
12954(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
12955be stored separately. It is not at this time possible to store multiple
12956caches in a single database. </p>
12957
12958<p> Note: <b>dbm</b> databases are not suitable. TLS
12959session objects are too large. </p>
12960
12961<p> As of version 2.5, Postfix no longer uses root privileges when
12962opening this file. The file should now be stored under the Postfix-owned
12963<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
12964under a non-Postfix directory is redirected to the Postfix-owned
12965<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
12966
12967<p> Example: </p>
12968
12969<pre>
12970<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
12971</pre>
12972
12973<p> This feature is available in Postfix 2.2 and later.  </p>
12974
12975
12976</DD>
12977
12978<DT><b><a name="smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
12979(default: 3600s)</b></DT><DD>
12980
12981<p> The expiration time of Postfix SMTP client TLS session cache
12982information.  A cache cleanup is performed periodically
12983every $<a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> seconds. As with
12984$<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>, this parameter is implemented in the
12985<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtp-instance <a href="master.5.html">master.cf</a> overrides
12986are not possible. </p>
12987
12988<p> As of Postfix 2.11 this setting cannot exceed 100 days.  If set
12989&le; 0, session caching is disabled.  If set to a positive value
12990less than 2 minutes, the minimum value of 2 minutes is used instead.  </p>
12991
12992<p> This feature is available in Postfix 2.2 and later.  </p>
12993
12994
12995</DD>
12996
12997<DT><b><a name="smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
12998(default: empty)</b></DT><DD>
12999
13000<p> Zero or more PEM-format files with trust-anchor certificates
13001and/or public keys.  If the parameter is not empty the root CAs in
13002CAfile and CApath are no longer trusted.  Rather, the Postfix SMTP
13003client will only trust certificate-chains signed by one of the
13004trust-anchors contained in the chosen files.  The specified
13005trust-anchor certificates and public keys are not subject to
13006expiration, and need not be (self-signed) root CAs.  They may, if
13007desired, be intermediate certificates. Therefore, these certificates
13008also may be found "in the middle" of the trust chain presented by
13009the remote SMTP server, and any untrusted issuing parent certificates
13010will be ignored.  Specify a list of pathnames separated by comma
13011or whitespace.  </p>
13012
13013<p>  Whether specified in <a href="postconf.5.html">main.cf</a>, or on a per-destination basis,
13014the trust-anchor PEM file must be accessible to the Postfix SMTP
13015client in the chroot jail if applicable.  The trust-anchor file
13016should contain only certificates and public keys, no private key
13017material, and must be readable by the non-privileged $<a href="postconf.5.html#mail_owner">mail_owner</a>
13018user.  This allows destinations to be bound to a set of specific
13019CAs or public keys without trusting the same CAs for all destinations.
13020</p>
13021
13022<p> The <a href="postconf.5.html">main.cf</a> parameter supports single-purpose Postfix installations
13023that send mail to a fixed set of SMTP peers.  At most sites, if
13024trust-anchor files are used at all, they will be specified on a
13025per-destination basis via the "tafile" attribute of the "verify"
13026and "secure" levels in <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>.  </p>
13027
13028<p> The underlying mechanism is in support of <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE TLSA),
13029which defines mechanisms for a client to securely determine server
13030TLS certificates via DNS.  </p>
13031
13032<p> If you want your trust anchors to be public keys, with OpenSSL
13033you can extract a single PEM public key from a PEM X.509 file
13034containing a single certificate, as follows: </p>
13035
13036<blockquote>
13037<pre>
13038$ openssl x509 -in cert.pem -out ta-key.pem -noout -pubkey
13039</pre>
13040</blockquote>
13041
13042<p> This feature is available in Postfix 2.11 and later.  </p>
13043
13044
13045</DD>
13046
13047<DT><b><a name="smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
13048(default: hostname)</b></DT><DD>
13049
13050<p> How the Postfix SMTP client verifies the server certificate
13051peername for the
13052"verify" TLS security level. In a "verify" TLS policy table
13053($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
13054overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
13055
13056<p> This parameter specifies one or more patterns or strategies separated
13057by commas, whitespace or colons.  In the policy table the only valid
13058separator is the colon character. </p>
13059
13060<p> Patterns specify domain names, or domain name suffixes: </p>
13061
13062<dl>
13063
13064<dt><i>example.com</i></dt> <dd> Match the <i>example.com</i> domain,
13065i.e. one of the names the server certificate must be <i>example.com</i>,
13066upper and lower case distinctions are ignored. </dd>
13067
13068<dt><i>.example.com</i></dt>
13069<dd> Match subdomains of the <i>example.com</i> domain, i.e. match
13070a name in the server certificate that consists of a non-zero number of
13071labels followed by a <i>.example.com</i> suffix. Case distinctions are
13072ignored.</dd>
13073
13074</dl>
13075
13076<p> Strategies specify a transformation from the next-hop domain
13077to the expected name in the server certificate: </p>
13078
13079<dl>
13080
13081<dt>nexthop</dt>
13082<dd> Match against the next-hop domain, which is either the recipient
13083domain, or the transport next-hop configured for the domain stripped of
13084any optional socket type prefix, enclosing square brackets and trailing
13085port. When MX lookups are not suppressed, this is the original nexthop
13086domain prior to the MX lookup, not the result of the MX lookup. For
13087LMTP delivery via UNIX-domain sockets, the verified next-hop name is
13088$<a href="postconf.5.html#myhostname">myhostname</a>.  This strategy is suitable for use with the "secure"
13089policy. Case is ignored.</dd>
13090
13091<dt>dot-nexthop</dt>
13092<dd> As above, but match server certificate names that are subdomains
13093of the next-hop domain. Case is ignored.</dd>
13094
13095<dt>hostname</dt> <dd> Match against the hostname of the server, often
13096obtained via an unauthenticated DNS MX lookup. For LMTP delivery via
13097UNIX-domain sockets, the verified name is $<a href="postconf.5.html#myhostname">myhostname</a>. This matches
13098the verification strategy of the "MUST" keyword in the obsolete
13099<a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table, and is suitable for use with the "verify"
13100security level. When the next-hop name is enclosed in square brackets
13101to suppress MX lookups, the "hostname" strategy is the same as the
13102"nexthop" strategy. Case is ignored.</dd>
13103
13104</dl>
13105
13106<p>
13107Sample <a href="postconf.5.html">main.cf</a> setting:
13108</p>
13109
13110<pre>
13111<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
13112</pre>
13113
13114<p>
13115Sample policy table override:
13116</p>
13117
13118<pre>
13119example.com     verify  match=hostname:nexthop
13120.example.com    verify  match=example.com:.example.com:hostname
13121</pre>
13122
13123<p> This feature is available in Postfix 2.3 and later. </p>
13124
13125
13126</DD>
13127
13128<DT><b><a name="smtp_tls_wrappermode">smtp_tls_wrappermode</a>
13129(default: no)</b></DT><DD>
13130
13131<p> Request that the Postfix SMTP client connects using the
13132legacy SMTPS protocol instead of using the STARTTLS command. </p>
13133
13134<p> This mode requires "<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt" or
13135stronger. </p>
13136
13137<p> Example: deliver all remote mail via a provider's server
13138"mail.example.com".  </p>
13139
13140<pre>
13141/etc/postfix/<a href="postconf.5.html">main.cf</a>:
13142    # Client-side SMTPS requires "encrypt" or stronger.
13143    <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
13144    <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> = yes
13145    # The [] suppress MX lookups.
13146    <a href="postconf.5.html#relayhost">relayhost</a> = [mail.example.com]:465
13147</pre>
13148
13149<p> More examples are in <a href="TLS_README.html">TLS_README</a>, including examples for older
13150Postfix versions. </p>
13151
13152<p> This feature is available in Postfix 3.0 and later.  </p>
13153
13154
13155</DD>
13156
13157<DT><b><a name="smtp_use_tls">smtp_use_tls</a>
13158(default: no)</b></DT><DD>
13159
13160<p> Opportunistic mode: use TLS when a remote SMTP server announces
13161STARTTLS support, otherwise send the mail in the clear. Beware:
13162some SMTP servers offer STARTTLS even if it is not configured.  With
13163Postfix &lt; 2.3, if the TLS handshake fails, and no other server is
13164available, delivery is deferred and mail stays in the queue. If this
13165is a concern for you, use the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> feature instead.  </p>
13166
13167<p> This feature is available in Postfix 2.2 and later. With
13168Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
13169
13170
13171</DD>
13172
13173<DT><b><a name="smtp_xforward_timeout">smtp_xforward_timeout</a>
13174(default: 300s)</b></DT><DD>
13175
13176<p>
13177The Postfix SMTP client time limit for sending the XFORWARD command,
13178and for receiving the remote SMTP server response.
13179</p>
13180
13181<p>
13182Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
13183The default time unit is s (seconds).
13184</p>
13185
13186<p>
13187This feature is available in Postfix 2.1 and later.
13188</p>
13189
13190
13191</DD>
13192
13193<DT><b><a name="smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
13194(default: $<a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a>)</b></DT><DD>
13195
13196<p> What remote SMTP clients are allowed to specify the XVERP command.
13197This command requests that mail be delivered one recipient at a
13198time with a per recipient return address.  </p>
13199
13200<p> By default, no clients are allowed to specify XVERP.  </p>
13201
13202<p> This parameter was renamed with Postfix version 2.1. The default value
13203is backwards compatible with Postfix version 2.0.  </p>
13204
13205<p> Specify a list of network/netmask patterns, separated by commas
13206and/or whitespace. The mask specifies the number of bits in the
13207network part of a host address. You can also specify hostnames or
13208.domain names (the initial dot causes the domain to match any name
13209below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
13210pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
13211is matched when a table entry matches a lookup string (the lookup
13212result is ignored).  Continue long lines by starting the next line
13213with whitespace. Specify "!pattern" to exclude an address or network
13214block from the list. The form "!/file/name" is supported only in
13215Postfix version 2.4 and later.  </p>
13216
13217<p> Note: IP version 6 address information must be specified inside
13218<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> value, and in
13219files specified with "/file/name".  IP version 6 addresses contain
13220the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
13221pattern.  </p>
13222
13223
13224</DD>
13225
13226<DT><b><a name="smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>
13227(default: empty)</b></DT><DD>
13228
13229<p>
13230What remote SMTP clients are allowed to use the XCLIENT feature.  This
13231command overrides remote SMTP client information that is used for access
13232control. Typical use is for SMTP-based content filters, fetchmail-like
13233programs, or SMTP server access rule testing. See the <a href="XCLIENT_README.html">XCLIENT_README</a>
13234document for details.
13235</p>
13236
13237<p>
13238This feature is available in Postfix 2.1 and later.
13239</p>
13240
13241<p>
13242By default, no clients are allowed to specify XCLIENT.
13243</p>
13244
13245<p>
13246Specify a list of network/netmask patterns, separated by commas
13247and/or whitespace. The mask specifies the number of bits in the
13248network part of a host address. You can also specify hostnames or
13249.domain names (the initial dot causes the domain to match any name
13250below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
13251pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
13252is matched when a table entry matches a lookup string (the lookup
13253result is ignored).  Continue long lines by starting the next line
13254with whitespace. Specify "!pattern" to exclude an address or network
13255block from the list. The form "!/file/name" is supported only in
13256Postfix version 2.4 and later.  </p>
13257
13258<p> Note: IP version 6 address information must be specified inside
13259<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> value, and in
13260files specified with "/file/name".  IP version 6 addresses contain
13261the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
13262pattern.  </p>
13263
13264
13265</DD>
13266
13267<DT><b><a name="smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a>
13268(default: empty)</b></DT><DD>
13269
13270<p>
13271What remote SMTP clients are allowed to use the XFORWARD feature.  This
13272command forwards information that is used to improve logging after
13273SMTP-based content filters. See the <a href="XFORWARD_README.html">XFORWARD_README</a> document for
13274details.
13275</p>
13276
13277<p>
13278This feature is available in Postfix 2.1 and later.
13279</p>
13280
13281<p>
13282By default, no clients are allowed to specify XFORWARD.
13283</p>
13284
13285<p>
13286Specify a list of network/netmask patterns, separated by commas
13287and/or whitespace. The mask specifies the number of bits in the
13288network part of a host address. You can also specify hostnames or
13289.domain names (the initial dot causes the domain to match any name
13290below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
13291pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
13292is matched when a table entry matches a lookup string (the lookup
13293result is ignored).  Continue long lines by starting the next line
13294with whitespace. Specify "!pattern" to exclude an address or network
13295block from the list. The form "!/file/name" is supported only in
13296Postfix version 2.4 and later.  </p>
13297
13298<p> Note: IP version 6 address information must be specified inside
13299<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> value, and in
13300files specified with "/file/name".  IP version 6 addresses contain
13301the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
13302pattern.  </p>
13303
13304
13305</DD>
13306
13307<DT><b><a name="smtpd_banner">smtpd_banner</a>
13308(default: $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a>)</b></DT><DD>
13309
13310<p>
13311The text that follows the 220 status code in the SMTP greeting
13312banner. Some people like to see the mail version advertised. By
13313default, Postfix shows no version.
13314</p>
13315
13316<p>
13317You MUST specify $<a href="postconf.5.html#myhostname">myhostname</a> at the start of the text. This is
13318required by the SMTP protocol.
13319</p>
13320
13321<p>
13322Example:
13323</p>
13324
13325<pre>
13326<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>)
13327</pre>
13328
13329
13330</DD>
13331
13332<DT><b><a name="smtpd_client_auth_rate_limit">smtpd_client_auth_rate_limit</a>
13333(default: 0)</b></DT><DD>
13334
13335<p>
13336The maximal number of AUTH commands that any client is allowed to
13337send to this service per time unit, regardless of whether or not
13338Postfix actually accepts those commands.  The time unit is specified
13339with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
13340</p>
13341
13342<p>
13343By default, there is no limit on the number AUTH commands that a
13344client may send.
13345</p>
13346
13347<p>
13348To disable this feature, specify a limit of 0.
13349</p>
13350
13351<p>
13352WARNING: The purpose of this feature is to limit abuse. It must
13353not be used to regulate legitimate mail traffic.
13354</p>
13355
13356<p>
13357This feature is available in Postfix 3.1 and later.
13358</p>
13359
13360
13361</DD>
13362
13363<DT><b><a name="smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>
13364(default: 50)</b></DT><DD>
13365
13366<p>
13367How many simultaneous connections any client is allowed to
13368make to this service.  By default, the limit is set to half
13369the default process limit value.
13370</p>
13371
13372<p>
13373To disable this feature, specify a limit of 0.
13374</p>
13375
13376<p>
13377WARNING: The purpose of this feature is to limit abuse. It must
13378not be used to regulate legitimate mail traffic.
13379</p>
13380
13381<p>
13382This feature is available in Postfix 2.2 and later.
13383</p>
13384
13385
13386</DD>
13387
13388<DT><b><a name="smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a>
13389(default: 0)</b></DT><DD>
13390
13391<p>
13392The maximal number of connection attempts any client is allowed to
13393make to this service per time unit.  The time unit is specified
13394with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
13395</p>
13396
13397<p>
13398By default, a client can make as many connections per time unit as
13399Postfix can accept.
13400</p>
13401
13402<p>
13403To disable this feature, specify a limit of 0.
13404</p>
13405
13406<p>
13407WARNING: The purpose of this feature is to limit abuse. It must
13408not be used to regulate legitimate mail traffic.
13409</p>
13410
13411<p>
13412This feature is available in Postfix 2.2 and later.
13413</p>
13414
13415<p>
13416Example:
13417</p>
13418
13419<pre>
13420<a href="postconf.5.html#smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> = 1000
13421</pre>
13422
13423
13424</DD>
13425
13426<DT><b><a name="smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
13427(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
13428
13429<p>
13430Clients that are excluded from smtpd_client_*_count/rate_limit
13431restrictions. See the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter
13432description for the parameter value syntax.
13433</p>
13434
13435<p>
13436By default, clients in trusted networks are excluded. Specify a
13437list of network blocks, hostnames or .domain names (the initial
13438dot causes the domain to match any name below it).
13439</p>
13440
13441<p> Note: IP version 6 address information must be specified inside
13442<tt>[]</tt> in the <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> value, and
13443in files specified with "/file/name".  IP version 6 addresses
13444contain the ":" character, and would otherwise be confused with a
13445"<a href="DATABASE_README.html">type:table</a>" pattern.  </p>
13446
13447<p> Pattern matching of domain names is controlled by the presence
13448or absence of "<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>" in the
13449<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value (postfix 3.0 and
13450later).  </p>
13451
13452<p>
13453This feature is available in Postfix 2.2 and later.
13454</p>
13455
13456
13457</DD>
13458
13459<DT><b><a name="smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a>
13460(default: 0)</b></DT><DD>
13461
13462<p>
13463The maximal number of message delivery requests that any client is
13464allowed to make to this service per time unit, regardless of whether
13465or not Postfix actually accepts those messages.  The time unit is
13466specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
13467</p>
13468
13469<p>
13470By default, a client can send as many message delivery requests
13471per time unit as Postfix can accept.
13472</p>
13473
13474<p>
13475To disable this feature, specify a limit of 0.
13476</p>
13477
13478<p>
13479WARNING: The purpose of this feature is to limit abuse. It must
13480not be used to regulate legitimate mail traffic.
13481</p>
13482
13483<p>
13484This feature is available in Postfix 2.2 and later.
13485</p>
13486
13487<p>
13488Example:
13489</p>
13490
13491<pre>
13492<a href="postconf.5.html#smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> = 1000
13493</pre>
13494
13495
13496</DD>
13497
13498<DT><b><a name="smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a>
13499(default: 0)</b></DT><DD>
13500
13501<p>
13502The maximal number of new (i.e., uncached) TLS sessions that a
13503remote SMTP client is allowed to negotiate with this service per
13504time unit.  The time unit is specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a>
13505configuration parameter.
13506</p>
13507
13508<p>
13509By default, a remote SMTP client can negotiate as many new TLS
13510sessions per time unit as Postfix can accept.
13511</p>
13512
13513<p>
13514To disable this feature, specify a limit of 0. Otherwise, specify
13515a limit that is at least the per-client concurrent session limit,
13516or else legitimate client sessions may be rejected.
13517</p>
13518
13519<p>
13520WARNING: The purpose of this feature is to limit abuse. It must
13521not be used to regulate legitimate mail traffic.
13522</p>
13523
13524<p>
13525This feature is available in Postfix 2.3 and later.
13526</p>
13527
13528<p>
13529Example:
13530</p>
13531
13532<pre>
13533<a href="postconf.5.html#smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a> = 100
13534</pre>
13535
13536
13537</DD>
13538
13539<DT><b><a name="smtpd_client_port_logging">smtpd_client_port_logging</a>
13540(default: no)</b></DT><DD>
13541
13542<p> Enable logging of the remote SMTP client port in addition to
13543the hostname and IP address. The logging format is "host[address]:port".
13544</p>
13545
13546<p> This feature is available in Postfix 2.5 and later. </p>
13547
13548
13549</DD>
13550
13551<DT><b><a name="smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a>
13552(default: 0)</b></DT><DD>
13553
13554<p>
13555The maximal number of recipient addresses that any client is allowed
13556to send to this service per time unit, regardless of whether or not
13557Postfix actually accepts those recipients.  The time unit is specified
13558with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
13559</p>
13560
13561<p>
13562By default, a client can send as many recipient addresses per time
13563unit as Postfix can accept.
13564</p>
13565
13566<p>
13567To disable this feature, specify a limit of 0.
13568</p>
13569
13570<p>
13571WARNING: The purpose of this feature is to limit abuse. It must
13572not be used to regulate legitimate mail traffic.
13573</p>
13574
13575<p>
13576This feature is available in Postfix 2.2 and later.
13577</p>
13578
13579<p>
13580Example:
13581</p>
13582
13583<pre>
13584<a href="postconf.5.html#smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> = 1000
13585</pre>
13586
13587
13588</DD>
13589
13590<DT><b><a name="smtpd_client_restrictions">smtpd_client_restrictions</a>
13591(default: empty)</b></DT><DD>
13592
13593<p>
13594Optional restrictions that the Postfix SMTP server applies in the
13595context of a client connection request.
13596See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
13597restriction lists" for a discussion of evaluation context and time.
13598</p>
13599
13600<p>
13601The default is to allow all connection requests.
13602</p>
13603
13604<p>
13605Specify a list of restrictions, separated by commas and/or whitespace.
13606Continue long lines by starting the next line with whitespace.
13607Restrictions are applied in the order as specified; the first
13608restriction that matches wins.
13609</p>
13610
13611<p>
13612The following restrictions are specific to client hostname or
13613client network address information.
13614</p>
13615
13616<dl>
13617
13618<dt><b><a name="check_ccert_access">check_ccert_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
13619
13620<dd> Use the remote SMTP client certificate fingerprint or the public key
13621fingerprint (Postfix 2.9 and later) as lookup key for the specified
13622<a href="access.5.html">access(5)</a> database; with Postfix version 2.2, also require that the
13623remote SMTP client certificate is verified successfully.
13624The fingerprint digest algorithm is configurable via the
13625<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
13626Postfix version 2.5).  This feature is available with Postfix version
136272.2 and later. </dd>
13628
13629<dt><b><a name="check_client_access">check_client_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
13630
13631<dd>Search the specified access database for the client hostname,
13632parent domains, client IP address, or networks obtained by stripping
13633least significant octets. See the <a href="access.5.html">access(5)</a> manual page for details. </dd>
13634
13635<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>
13636
13637<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the
13638client hostname, and execute the corresponding action.  Note: a result
13639of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
13640to exclude specific hosts from blacklists.  This feature is available
13641in Postfix 3.0 and later.  </dd>
13642
13643<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>
13644
13645<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
13646client hostname, and execute the corresponding action.  Note: a result
13647of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
13648to exclude specific hosts from blacklists.  This feature is available
13649in Postfix 2.7 and later.  </dd>
13650
13651<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>
13652
13653<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
13654the client hostname, and execute the corresponding action.  Note: a
13655result of "OK" is not allowed for safety reasons. Instead, use DUNNO
13656in order to exclude specific hosts from blacklists.  This feature is
13657available in Postfix 2.7 and later.  </dd>
13658
13659<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>
13660
13661<dd>Search the specified access database for the unverified reverse
13662client hostname, parent domains, client IP address, or networks
13663obtained by stripping least significant octets. See the <a href="access.5.html">access(5)</a>
13664manual page for details.  Note: a result of "OK" is not allowed for
13665safety reasons.  Instead, use DUNNO in order to exclude specific
13666hosts from blacklists.  This feature is available in Postfix 2.6
13667and later.</dd>
13668
13669<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>
13670
13671<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the
13672unverified reverse client hostname, and execute the corresponding
13673action.  Note: a result of "OK" is not allowed for safety reasons.
13674Instead, use DUNNO in order to exclude specific hosts from blacklists.
13675This feature is available in Postfix 3.0 and later.  </dd>
13676
13677<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>
13678
13679<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
13680unverified reverse client hostname, and execute the corresponding
13681action.  Note: a result of "OK" is not allowed for safety reasons.
13682Instead, use DUNNO in order to exclude specific hosts from blacklists.
13683This feature is available in Postfix 2.7 and later.  </dd>
13684
13685<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>
13686
13687<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
13688the unverified reverse client hostname, and execute the corresponding
13689action.  Note: a result of "OK" is not allowed for safety reasons.
13690Instead, use DUNNO in order to exclude specific hosts from blacklists.
13691This feature is available in Postfix 2.7 and later.  </dd>
13692
13693<dt><b><a name="check_sasl_access">check_sasl_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
13694
13695<dd> Use the remote SMTP client SASL user name as lookup key for
13696the specified <a href="access.5.html">access(5)</a> database. The lookup key has the form
13697"username@domainname" when the <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> parameter
13698value is non-empty.  Unlike the <a href="postconf.5.html#check_client_access">check_client_access</a> feature,
13699<a href="postconf.5.html#check_sasl_access">check_sasl_access</a> does not perform matches of parent domains or IP
13700subnet ranges.  This feature is available with Postfix version 2.11
13701and later. </dd>
13702
13703<dt><b><a name="permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
13704
13705<dd>Permit the request when the client IP address matches
13706$<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. </dd>
13707
13708<dt><b><a name="permit_mynetworks">permit_mynetworks</a></b></dt>
13709
13710<dd>Permit the request when the client IP address matches any
13711network or network address listed in  $<a href="postconf.5.html#mynetworks">mynetworks</a>. </dd>
13712
13713<dt><b><a name="permit_sasl_authenticated">permit_sasl_authenticated</a></b></dt>
13714
13715<dd> Permit the request when the client is successfully
13716authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH) protocol. </dd>
13717
13718<dt><b><a name="permit_tls_all_clientcerts">permit_tls_all_clientcerts</a></b></dt>
13719
13720<dd> Permit the request when the remote SMTP client certificate is
13721verified successfully.  This option must be used only if a special
13722CA issues the certificates and only this CA is listed as trusted
13723CA. Otherwise, clients with a third-party certificate would also
13724be allowed to relay.  Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" when the
13725trusted 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>,
13726to prevent Postfix from appending the system-supplied default CAs.
13727This feature is available with Postfix version 2.2.</dd>
13728
13729<dt><b><a name="permit_tls_clientcerts">permit_tls_clientcerts</a></b></dt>
13730
13731<dd>Permit the request when the remote SMTP client certificate
13732fingerprint or public key fingerprint (Postfix 2.9 and later) is
13733listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
13734The fingerprint digest algorithm is configurable via the
13735<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
13736Postfix version 2.5).  This feature is available with Postfix version
137372.2. </dd>
13738
13739<dt><b><a name="reject_rbl_client">reject_rbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
13740
13741<dd>Reject the request when the reversed client network address is
13742listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
13743(Postfix version 2.1 and later only).  Each "<i>d</i>" is a number,
13744or a pattern inside "[]" that contains one or more ";"-separated
13745numbers or number..number ranges (Postfix version 2.8 and later).
13746If no "<i>=d.d.d.d</i>" is specified, reject the request when the
13747reversed client network address is listed with any A record under
13748<i>rbl_domain</i>. <br>
13749The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
13750rejected requests (default:  554), the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a>  parameter
13751specifies the default server reply, and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a>  parameter
13752specifies tables with server replies indexed by <i>rbl_domain</i>.
13753This feature is available in Postfix 2.0 and later.  </dd>
13754
13755<dt><b><a name="permit_dnswl_client">permit_dnswl_client <i>dnswl_domain=d.d.d.d</i></a></b></dt>
13756
13757<dd>Accept the request when the reversed client network address is
13758listed with the A record "<i>d.d.d.d</i>" under <i>dnswl_domain</i>.
13759Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
13760one or more ";"-separated numbers or number..number ranges.
13761If no "<i>=d.d.d.d</i>" is specified, accept the request when the
13762reversed client network address is listed with any A record under
13763<i>dnswl_domain</i>. <br> For safety, <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a> is silently
13764ignored when it would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>.  The
13765result is DEFER_IF_REJECT when whitelist lookup fails.  This feature
13766is available in Postfix 2.8 and later.  </dd>
13767
13768<dt><b><a name="reject_rhsbl_client">reject_rhsbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
13769
13770<dd>Reject the request when the client hostname is listed with the
13771A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
137722.1 and later only).  Each "<i>d</i>" is a number, or a pattern
13773inside "[]" that contains one or more ";"-separated numbers or
13774number..number ranges (Postfix version 2.8 and later).  If no
13775"<i>=d.d.d.d</i>" is specified, reject the request when the client
13776hostname is listed with
13777any A record under <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a>
13778description above for additional RBL related configuration parameters.
13779This feature is available in Postfix 2.0 and later; with Postfix
13780version 2.8 and later, <a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a> will usually
13781produce better results.  </dd>
13782
13783<dt><b><a name="permit_rhswl_client">permit_rhswl_client <i>rhswl_domain=d.d.d.d</i></a></b></dt>
13784
13785<dd>Accept the request when the client hostname is listed with the
13786A record "<i>d.d.d.d</i>" under <i>rhswl_domain</i>.  Each "<i>d</i>"
13787is a number, or a pattern inside "[]" that contains one or more
13788";"-separated numbers or number..number ranges. If no
13789"<i>=d.d.d.d</i>" is specified, accept the request when the client
13790hostname is listed with any A record under <i>rhswl_domain</i>.
13791<br> Caution: client name whitelisting is fragile, since the client
13792name lookup can fail due to temporary outages.  Client name
13793whitelisting should be used only to reduce false positives in e.g.
13794DNS-based blocklists, and not for making access rule exceptions.
13795<br> For safety, <a href="postconf.5.html#permit_rhswl_client">permit_rhswl_client</a> is silently ignored when it
13796would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>.  The result is DEFER_IF_REJECT
13797when whitelist lookup fails.  This feature is available in Postfix
137982.8 and later.  </dd>
13799
13800<dt><b><a name="reject_rhsbl_reverse_client">reject_rhsbl_reverse_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
13801
13802<dd>Reject the request when the unverified reverse client hostname
13803is listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>.
13804Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
13805one or more ";"-separated numbers or number..number ranges.
13806If no "<i>=d.d.d.d</i>" is specified, reject the request when the
13807unverified reverse client hostname is listed with any A record under
13808<i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description above for
13809additional RBL related configuration parameters.  This feature is
13810available in Postfix 2.8 and later.  </dd>
13811
13812<dt><b><a name="reject_unknown_client_hostname">reject_unknown_client_hostname</a></b> (with Postfix &lt; 2.3: reject_unknown_client)</dt>
13813
13814<dd>Reject the request when 1) the client IP address-&gt;name mapping
13815fails, 2) the name-&gt;address mapping fails, or 3) the name-&gt;address
13816mapping does not match the client IP address.  <br> This is a
13817stronger restriction than the <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a>
13818feature, which triggers only under condition 1) above. <br> The
13819<a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response code
13820for rejected requests (default: 450). The reply is always 450 in
13821case the address-&gt;name or name-&gt;address lookup failed due to
13822a temporary problem. </dd>
13823
13824<dt><b><a name="reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a></b></dt>
13825
13826<dd>Reject the request when the client IP address has no address-&gt;name
13827mapping. <br> This is a weaker restriction than the
13828<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> feature, which requires not only
13829that the address-&gt;name and name-&gt;address mappings exist, but
13830also that the two mappings reproduce the client IP address.  <br>
13831The <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response
13832code for rejected requests (default: 450).  The reply is always 450
13833in case the address-&gt;name lookup failed due to a temporary
13834problem. <br> This feature is available in Postfix 2.3 and
13835later.  </dd>
13836
13837</dl>
13838
13839<p>
13840In addition, you can use any of the following <a name="generic">
13841generic</a> restrictions.  These restrictions are applicable in
13842any SMTP command context.
13843</p>
13844
13845<dl>
13846
13847<dt><b><a name="check_policy_service">check_policy_service <i>servername</i></a></b></dt>
13848
13849<dd>Query the specified policy server. See the <a href="SMTPD_POLICY_README.html">SMTPD_POLICY_README</a>
13850document for details. This feature is available in Postfix 2.1
13851and later. </dd>
13852
13853<dt><b><a name="defer">defer</a></b></dt>
13854
13855<dd>Defer the request. The client is told to try again later. This
13856restriction is useful at the end of a restriction list, to make
13857the default policy explicit. <br> The <a href="postconf.5.html#defer_code">defer_code</a> parameter specifies
13858the SMTP server reply code (default: 450).</dd>
13859
13860<dt><b><a name="defer_if_permit">defer_if_permit</a></b></dt>
13861
13862<dd>Defer the request if some later restriction would result in an
13863explicit or implicit PERMIT action.  This is useful when a blacklisting
13864feature fails due to a temporary problem.  This feature is available
13865in Postfix version 2.1 and later.  </dd>
13866
13867<dt><b><a name="defer_if_reject">defer_if_reject</a></b></dt>
13868
13869<dd>Defer the request if some later restriction would result in a
13870REJECT action.  This is useful when a whitelisting feature fails
13871due to a temporary problem.  This feature is available in Postfix
13872version 2.1 and later.  </dd>
13873
13874<dt><b><a name="permit">permit</a></b></dt>
13875
13876<dd>Permit the request. This restriction is useful at the end of
13877a restriction list, to make the default policy explicit.</dd>
13878
13879<dt><b><a name="reject_multi_recipient_bounce">reject_multi_recipient_bounce</a></b></dt>
13880
13881<dd>Reject the request when the envelope sender is the null address,
13882and the message has multiple envelope recipients. This usage has
13883rare but legitimate applications: under certain conditions,
13884multi-recipient mail that was posted with the DSN option NOTIFY=NEVER
13885may be forwarded with the null sender address.
13886<br> Note: this restriction can only work reliably
13887when used in <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> or
13888<a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>, because the total number of
13889recipients is not known at an earlier stage of the SMTP conversation.
13890Use at the RCPT stage will only reject the second etc.  recipient.
13891<br>
13892The <a href="postconf.5.html#multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> parameter specifies the
13893response code for rejected requests (default:  550).  This feature
13894is available in Postfix 2.1 and later. </dd>
13895
13896<dt><b><a name="reject_plaintext_session">reject_plaintext_session</a></b></dt>
13897
13898<dd>Reject the request when the connection is not encrypted. This
13899restriction should not be used before the client has had a chance
13900to negotiate encryption with the AUTH or STARTTLS commands.
13901<br>
13902The <a href="postconf.5.html#plaintext_reject_code">plaintext_reject_code</a> parameter specifies the response
13903code for rejected requests (default:  450).  This feature is available
13904in Postfix 2.3 and later. </dd>
13905
13906<dt><b><a name="reject_unauth_pipelining">reject_unauth_pipelining</a></b></dt>
13907
13908<dd>Reject the request when the client sends SMTP commands ahead
13909of time where it is not allowed, or when the client sends SMTP
13910commands ahead of time without knowing that Postfix actually supports
13911ESMTP command pipelining. This stops mail from bulk mail software
13912that improperly uses ESMTP command pipelining in order to speed up
13913deliveries.
13914<br> With Postfix 2.6 and later, the SMTP server sets a per-session
13915flag whenever it detects illegal pipelining, including pipelined
13916HELO or EHLO commands. The <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> feature simply
13917tests whether the flag was set at any point in time during the
13918session.
13919<br> With older Postfix versions, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> checks
13920the current status of the input read queue, and its usage is not
13921recommended in contexts other than <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a>.  </dd>
13922
13923<dt><b><a name="reject">reject</a></b></dt>
13924
13925<dd>Reject the request. This restriction is useful at the end of
13926a restriction list, to make the default policy explicit.  The
13927<a href="postconf.5.html#reject_code">reject_code</a> configuration parameter specifies the response code for
13928rejected requests (default: 554).</dd>
13929
13930<dt><b><a name="sleep">sleep <i>seconds</i></a></b></dt>
13931
13932<dd>Pause for the specified number of seconds and proceed with
13933the next restriction in the list, if any. This may stop zombie
13934mail when used as:
13935<pre>
13936/etc/postfix/<a href="postconf.5.html">main.cf</a>:
13937    <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
13938        sleep 1, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
13939    <a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = no
13940</pre>
13941This feature is available in Postfix 2.3. </dd>
13942
13943<dt><b><a name="warn_if_reject">warn_if_reject</a></b></dt>
13944
13945<dd> A safety net for testing. When "<a href="postconf.5.html#warn_if_reject">warn_if_reject</a>" is placed
13946before a reject-type restriction, access table query, or
13947<a href="postconf.5.html#check_policy_service">check_policy_service</a> query, this logs a "reject_warning" message
13948instead of rejecting a request (when a reject-type restriction fails
13949due to a temporary error, this logs a "reject_warning" message for
13950any implicit "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" actions that would normally prevent
13951mail from being accepted by some later access restriction). This
13952feature has no effect on <a href="postconf.5.html#defer_if_reject">defer_if_reject</a> restrictions.  </dd>
13953
13954</dl>
13955
13956<p>
13957Other restrictions that are valid in this context:
13958</p>
13959
13960<ul>
13961
13962<li> SMTP command specific restrictions that are described under
13963the <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
13964<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameters. When helo, sender or
13965recipient restrictions are listed under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>,
13966they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
13967$<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> is evaluated at the time of the RCPT TO
13968command.
13969
13970</ul>
13971
13972<p>
13973Example:
13974</p>
13975
13976<pre>
13977<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>
13978</pre>
13979
13980
13981</DD>
13982
13983<DT><b><a name="smtpd_command_filter">smtpd_command_filter</a>
13984(default: empty)</b></DT><DD>
13985
13986<p> A mechanism to transform commands from remote SMTP clients.
13987This is a last-resort tool to work around client commands that break
13988interoperability with the Postfix SMTP server.  Other uses involve
13989fault injection to test Postfix's handling of invalid commands.
13990</p>
13991
13992<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
13993string is the SMTP command as received from the remote SMTP client,
13994except that initial whitespace and the trailing &lt;CR&gt;&lt;LF&gt;
13995are removed.  The result value is executed by the Postfix SMTP
13996server.  </p>
13997
13998<p> There is no need to use <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for the following
13999cases: </p>
14000
14001<ul>
14002
14003<li> <p> Use "<a href="postconf.5.html#resolve_numeric_domain">resolve_numeric_domain</a> = yes" to accept
14004"<i>user@ipaddress</i>". </p>
14005
14006<li> <p> Postfix already accepts the correct form
14007"<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>
14008to translate these into domain names if necessary.  </p>
14009
14010<li> <p> Use "<a href="postconf.5.html#strict_rfc821_envelopes">strict_rfc821_envelopes</a> = no" to accept "RCPT TO:&lt;<i>User
14011Name &lt;user@example.com&gt;&gt;</i>". Postfix will ignore the "<i>User
14012Name</i>" part and deliver to the <i>&lt;user@example.com&gt;</i> address.
14013</p>
14014
14015</ul>
14016
14017<p> Examples of problems that can be solved with the <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>
14018feature: </p>
14019
14020<pre>
14021/etc/postfix/<a href="postconf.5.html">main.cf</a>:
14022    <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/command_filter
14023</pre>
14024
14025<pre>
14026/etc/postfix/command_filter:
14027    # Work around clients that send malformed HELO commands.
14028    /^HELO\s*$/ HELO domain.invalid
14029</pre>
14030
14031<pre>
14032    # Work around clients that send empty lines.
14033    /^\s*$/     NOOP
14034</pre>
14035
14036<pre>
14037    # Work around clients that send RCPT TO:&lt;'user@domain'&gt;.
14038    # WARNING: do not lose the parameters that follow the address.
14039    /^(RCPT\s+TO:\s*&lt;)'([^[:space:]]+)'(&gt;.*)/     $1$2$3
14040</pre>
14041
14042<pre>
14043    # Append XVERP to MAIL FROM commands to request VERP-style delivery.
14044    # See <a href="VERP_README.html">VERP_README</a> for more information on how to use Postfix VERP.
14045    /^(MAIL FROM:\s*&lt;listname@example\.com&gt;.*)/   $1 XVERP
14046</pre>
14047
14048<pre>
14049    # Bounce-never mail sink. Use <a href="postconf.5.html#notify_classes">notify_classes</a>=bounce,resource,software
14050    # to send bounced mail to the postmaster (with message body removed).
14051    /^(RCPT\s+TO:\s*&lt;.*&gt;.*)\s+NOTIFY=\S+(.*)/     $1 NOTIFY=NEVER$2
14052    /^(RCPT\s+TO:.*)/                             $1 NOTIFY=NEVER
14053</pre>
14054
14055<p> This feature is available in Postfix 2.7. </p>
14056
14057
14058</DD>
14059
14060<DT><b><a name="smtpd_data_restrictions">smtpd_data_restrictions</a>
14061(default: empty)</b></DT><DD>
14062
14063<p>
14064Optional access restrictions that the Postfix SMTP server applies
14065in the context of the SMTP DATA command.
14066See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14067restriction lists" for a discussion of evaluation context and time.
14068</p>
14069
14070<p>
14071This feature is available in Postfix 2.0 and later.
14072</p>
14073
14074<p>
14075Specify a list of restrictions, separated by commas and/or whitespace.
14076Continue long lines by starting the next line with whitespace.
14077Restrictions are applied in the order as specified; the first
14078restriction that matches wins.
14079</p>
14080
14081<p>
14082The following restrictions are valid in this context:
14083</p>
14084
14085<ul>
14086
14087<li><a href="#generic">Generic</a> restrictions that can be used
14088in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
14089
14090<li>SMTP command specific restrictions described under
14091<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
14092<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>.
14093
14094<li>However, no recipient information is available in the case of
14095multi-recipient mail. Acting on only one recipient would be misleading,
14096because any decision will affect all recipients equally. Acting on
14097all recipients would require a possibly very large amount of memory,
14098and would also be misleading for the reasons mentioned before.
14099
14100</ul>
14101
14102<p>
14103Examples:
14104</p>
14105
14106<pre>
14107<a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
14108<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>
14109</pre>
14110
14111
14112</DD>
14113
14114<DT><b><a name="smtpd_delay_open_until_valid_rcpt">smtpd_delay_open_until_valid_rcpt</a>
14115(default: yes)</b></DT><DD>
14116
14117<p> Postpone the start of an SMTP mail transaction until a valid
14118RCPT TO command is received. Specify "no" to create a mail transaction
14119as soon as the Postfix SMTP server receives a valid MAIL FROM
14120command. </p>
14121
14122<p> With sites that reject lots of mail, the default setting reduces
14123the use of
14124disk, CPU and memory resources. The downside is that rejected
14125recipients are logged with NOQUEUE instead of a mail transaction
14126ID. This complicates the logfile analysis of multi-recipient mail.
14127</p>
14128
14129<p> This feature is available in Postfix 2.3 and later. </p>
14130
14131
14132</DD>
14133
14134<DT><b><a name="smtpd_delay_reject">smtpd_delay_reject</a>
14135(default: yes)</b></DT><DD>
14136
14137<p>
14138Wait until the RCPT TO command before evaluating
14139$<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
14140$<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, or wait until the ETRN command before
14141evaluating $<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>.
14142</p>
14143
14144<p>
14145This feature is turned on by default because some clients apparently
14146mis-behave when the Postfix SMTP server rejects commands before
14147RCPT TO.
14148</p>
14149
14150<p>
14151The default setting has one major benefit: it allows Postfix to log
14152recipient address information when rejecting a client name/address
14153or sender address, so that it is possible to find out whose mail
14154is being rejected.
14155</p>
14156
14157
14158</DD>
14159
14160<DT><b><a name="smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>
14161(default: empty)</b></DT><DD>
14162
14163<p> Lookup tables, indexed by the remote SMTP client address, with
14164case insensitive lists of EHLO keywords (pipelining, starttls, auth,
14165etc.) that the Postfix SMTP server will not send in the EHLO response
14166to a
14167remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
14168The tables are not searched by hostname for robustness reasons.  </p>
14169
14170<p>
14171Specify zero or more "type:name" lookup tables, separated by
14172whitespace or comma. Tables will be searched in the specified order
14173until a match is found.
14174</p>
14175
14176<p> This feature is available in Postfix 2.2 and later. </p>
14177
14178
14179</DD>
14180
14181<DT><b><a name="smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
14182(default: empty)</b></DT><DD>
14183
14184<p> A case insensitive list of EHLO keywords (pipelining, starttls,
14185auth, etc.) that the Postfix SMTP server will not send in the EHLO
14186response
14187to a remote SMTP client. </p>
14188
14189<p> This feature is available in Postfix 2.2 and later. </p>
14190
14191<p> Notes: </p>
14192
14193<ul>
14194
14195<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
14196this action from being logged. </p>
14197
14198<li> <p> Use the <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> feature
14199to discard EHLO keywords selectively.  </p>
14200
14201</ul>
14202
14203
14204</DD>
14205
14206<DT><b><a name="smtpd_dns_reply_filter">smtpd_dns_reply_filter</a>
14207(default: empty)</b></DT><DD>
14208
14209<p> Optional filter for Postfix SMTP server DNS lookup results.
14210See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example.
14211</p>
14212
14213<p> This feature is available in Postfix 3.0 and later. </p>
14214
14215
14216</DD>
14217
14218<DT><b><a name="smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>
14219(default: empty)</b></DT><DD>
14220
14221<p> Optional access restrictions that the Postfix SMTP server
14222applies in the context of the SMTP END-OF-DATA command.
14223See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14224restriction lists" for a discussion of evaluation context and time.
14225</p>
14226
14227<p> This feature is available in Postfix 2.2 and later. </p>
14228
14229<p> See <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> for details and limitations. </p>
14230
14231
14232</DD>
14233
14234<DT><b><a name="smtpd_enforce_tls">smtpd_enforce_tls</a>
14235(default: no)</b></DT><DD>
14236
14237<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients,
14238and require that clients use TLS encryption.  According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a>
14239this MUST NOT be applied in case of a publicly-referenced SMTP
14240server.  This option is therefore off by default. </p>
14241
14242<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>
14243
14244<p> Note 2: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
14245STARTTLS due to insufficient privileges to access the server private
14246key. This is intended behavior. </p>
14247
14248<p> This feature is available in Postfix 2.2 and later. With
14249Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
14250
14251
14252</DD>
14253
14254<DT><b><a name="smtpd_error_sleep_time">smtpd_error_sleep_time</a>
14255(default: 1s)</b></DT><DD>
14256
14257<p>With Postfix version 2.1 and later: the SMTP server response delay after
14258a client has made more than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors, and
14259fewer than $<a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a> errors, without delivering mail.
14260</p>
14261
14262<p>With Postfix version 2.0 and earlier: the SMTP server delay before
14263sending a reject (4xx or 5xx) response, when the client has made
14264fewer than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors without delivering
14265mail. </p>
14266
14267
14268</DD>
14269
14270<DT><b><a name="smtpd_etrn_restrictions">smtpd_etrn_restrictions</a>
14271(default: empty)</b></DT><DD>
14272
14273<p>
14274Optional restrictions that the Postfix SMTP server applies in the
14275context of a client ETRN command.
14276See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14277restriction lists" for a discussion of evaluation context and time.
14278</p>
14279
14280<p>
14281The Postfix ETRN implementation accepts only destinations that are
14282eligible for the Postfix "fast flush" service. See the <a href="ETRN_README.html">ETRN_README</a>
14283file for details.
14284</p>
14285
14286<p>
14287Specify a list of restrictions, separated by commas and/or whitespace.
14288Continue long lines by starting the next line with whitespace.
14289Restrictions are applied in the order as specified; the first
14290restriction that matches wins.
14291</p>
14292
14293<p>
14294The following restrictions are specific to the domain name information
14295received with the ETRN command.
14296</p>
14297
14298<dl>
14299
14300<dt><b><a name="check_etrn_access">check_etrn_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
14301
14302<dd>Search the specified access database for the ETRN domain name
14303or its parent domains. See the <a href="access.5.html">access(5)</a> manual page for details.
14304</dd>
14305
14306</dl>
14307
14308<p>
14309Other restrictions that are valid in this context:
14310</p>
14311
14312<ul>
14313
14314<li><a href="#generic">Generic</a> restrictions that can be used
14315in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
14316
14317<li>SMTP command specific restrictions described under
14318<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>.
14319
14320</ul>
14321
14322<p>
14323Example:
14324</p>
14325
14326<pre>
14327<a href="postconf.5.html#smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, reject
14328</pre>
14329
14330
14331</DD>
14332
14333<DT><b><a name="smtpd_expansion_filter">smtpd_expansion_filter</a>
14334(default: see "postconf -d" output)</b></DT><DD>
14335
14336<p>
14337What characters are allowed in $name expansions of RBL reply
14338templates. Characters not in the allowed set are replaced by "_".
14339Use C like escapes to specify special characters such as whitespace.
14340</p>
14341
14342<p>
14343This parameter is not subjected to $parameter expansion.
14344</p>
14345
14346<p>
14347This feature is available in Postfix 2.0 and later.
14348</p>
14349
14350
14351</DD>
14352
14353<DT><b><a name="smtpd_forbidden_commands">smtpd_forbidden_commands</a>
14354(default: CONNECT, GET, POST)</b></DT><DD>
14355
14356<p>
14357List of commands that cause the Postfix SMTP server to immediately
14358terminate the session with a 221 code. This can be used to disconnect
14359clients that obviously attempt to abuse the system. In addition to the
14360commands listed in this parameter, commands that follow the "Label:"
14361format of message headers will also cause a disconnect.
14362</p>
14363
14364<p>
14365This feature is available in Postfix 2.2 and later.
14366</p>
14367
14368
14369</DD>
14370
14371<DT><b><a name="smtpd_hard_error_limit">smtpd_hard_error_limit</a>
14372(default: normal: 20, overload: 1)</b></DT><DD>
14373
14374<p>
14375The maximal number of errors a remote SMTP client is allowed to
14376make without delivering mail. The Postfix SMTP server disconnects
14377when the limit is exceeded. Normally the default limit is 20, but
14378it changes under overload to just 1. With Postfix 2.5 and earlier,
14379the SMTP server always allows up to 20 errors by default.
14380
14381</p>
14382
14383
14384</DD>
14385
14386<DT><b><a name="smtpd_helo_required">smtpd_helo_required</a>
14387(default: no)</b></DT><DD>
14388
14389<p>
14390Require that a remote SMTP client introduces itself with the HELO
14391or EHLO command before sending the MAIL command or other commands
14392that require EHLO negotiation.
14393</p>
14394
14395<p>
14396Example:
14397</p>
14398
14399<pre>
14400<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes
14401</pre>
14402
14403
14404</DD>
14405
14406<DT><b><a name="smtpd_helo_restrictions">smtpd_helo_restrictions</a>
14407(default: empty)</b></DT><DD>
14408
14409<p>
14410Optional restrictions that the Postfix SMTP server applies in the
14411context of a client HELO command.
14412See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14413restriction lists" for a discussion of evaluation context and time.
14414</p>
14415
14416<p>
14417The default is to permit everything.
14418</p>
14419
14420<p> Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
14421restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
14422simply skip <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> by not sending HELO or EHLO).
14423</p>
14424
14425<p>
14426Specify a list of restrictions, separated by commas and/or whitespace.
14427Continue long lines by starting the next line with whitespace.
14428Restrictions are applied in the order as specified; the first
14429restriction that matches wins.
14430</p>
14431
14432<p>
14433The following restrictions are specific to the hostname information
14434received with the HELO or EHLO command.
14435</p>
14436
14437<dl>
14438
14439<dt><b><a name="check_helo_access">check_helo_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
14440
14441<dd>Search the specified <a href="access.5.html">access(5)</a> database for the HELO or EHLO
14442hostname or parent domains, and execute the corresponding action.
14443Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
14444restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
14445simply skip <a href="postconf.5.html#check_helo_access">check_helo_access</a> by not sending HELO or EHLO).  </dd>
14446
14447<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>
14448
14449<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
14450the HELO or EHLO hostname, and execute the corresponding action.
14451Note 1: a result of "OK" is not allowed for safety reasons. Instead,
14452use DUNNO in order to exclude specific hosts from blacklists.  Note
144532: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
14454restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
14455simply skip check_helo_a_access by not sending HELO or EHLO).  This
14456feature is available in Postfix 3.0 and later.
14457</dd>
14458
14459<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>
14460
14461<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
14462the HELO or EHLO hostname, and execute the corresponding action.
14463Note 1: a result of "OK" is not allowed for safety reasons. Instead,
14464use DUNNO in order to exclude specific hosts from blacklists.  Note
144652: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
14466restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
14467simply skip <a href="postconf.5.html#check_helo_mx_access">check_helo_mx_access</a> by not sending HELO or EHLO).  This
14468feature is available in Postfix 2.1 and later.
14469</dd>
14470
14471<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>
14472
14473<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
14474for the HELO or EHLO hostname, and execute the corresponding action.
14475Note 1: a result of "OK" is not allowed for safety reasons. Instead,
14476use DUNNO in order to exclude specific hosts from blacklists.  Note
144772: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
14478restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
14479simply skip <a href="postconf.5.html#check_helo_ns_access">check_helo_ns_access</a> by not sending HELO or EHLO). This
14480feature is available in Postfix 2.1 and later.
14481</dd>
14482
14483<dt><b><a name="reject_invalid_helo_hostname">reject_invalid_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_invalid_hostname)</dt>
14484
14485<dd>Reject the request when the HELO or EHLO hostname is malformed.
14486Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce
14487this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply
14488skip <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> by not sending HELO or EHLO).
14489<br> The <a href="postconf.5.html#invalid_hostname_reject_code">invalid_hostname_reject_code</a> specifies the response code
14490for rejected requests (default: 501).</dd>
14491
14492<dt><b><a name="reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_non_fqdn_hostname)</dt>
14493
14494<dd>Reject the request when the HELO or EHLO hostname is not in
14495fully-qualified domain or address literal form, as required by the
14496RFC. Note: specify
14497"<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this restriction
14498(without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply skip
14499<a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a> by not sending HELO or EHLO).  <br>
14500The <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
14501rejected requests (default: 504).</dd>
14502
14503<dt><b><a name="reject_rhsbl_helo">reject_rhsbl_helo <i>rbl_domain=d.d.d.d</i></a></b></dt>
14504
14505<dd>Reject the request when the HELO or EHLO hostname is
14506listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
14507(Postfix version 2.1 and later only).  Each "<i>d</i>" is a number,
14508or a pattern inside "[]" that contains one or more ";"-separated
14509numbers or number..number ranges (Postfix version 2.8 and later).
14510If no "<i>=d.d.d.d</i>" is
14511specified, reject the request when the HELO or EHLO hostname is
14512listed with any A record under <i>rbl_domain</i>. See the
14513<a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description for additional RBL related configuration
14514parameters.  Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
14515enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
14516client can simply skip <a href="postconf.5.html#reject_rhsbl_helo">reject_rhsbl_helo</a> by not sending HELO or
14517EHLO). This feature is available in Postfix 2.0
14518and later.  </dd>
14519
14520<dt><b><a name="reject_unknown_helo_hostname">reject_unknown_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_unknown_hostname)</dt>
14521
14522<dd>Reject the request when the HELO or EHLO hostname has no DNS A
14523or MX record. <br> The reply is specified with the
14524<a href="postconf.5.html#unknown_hostname_reject_code">unknown_hostname_reject_code</a> parameter (default: 450) or
14525<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>).
14526See the respective parameter descriptions for details. <br>
14527Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
14528enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
14529client can simply skip <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> by not sending
14530HELO or EHLO). </dd>
14531
14532</dl>
14533
14534<p>
14535Other restrictions that are valid in this context:
14536</p>
14537
14538<ul>
14539
14540<li> <a href="#generic">Generic</a> restrictions that can be used
14541in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
14542
14543<li> Client hostname or network address specific restrictions
14544described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
14545
14546<li> SMTP command specific restrictions described under
14547<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
14548sender or recipient restrictions are listed under <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
14549they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
14550$<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> is evaluated at the time of the RCPT TO
14551command.
14552
14553</ul>
14554
14555<p>
14556Examples:
14557</p>
14558
14559<pre>
14560<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>
14561<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>
14562</pre>
14563
14564
14565</DD>
14566
14567<DT><b><a name="smtpd_history_flush_threshold">smtpd_history_flush_threshold</a>
14568(default: 100)</b></DT><DD>
14569
14570<p>
14571The maximal number of lines in the Postfix SMTP server command history
14572before it is flushed upon receipt of EHLO, RSET, or end of DATA.
14573</p>
14574
14575
14576</DD>
14577
14578<DT><b><a name="smtpd_junk_command_limit">smtpd_junk_command_limit</a>
14579(default: normal: 100, overload: 1)</b></DT><DD>
14580
14581<p>
14582The number of junk commands (NOOP, VRFY, ETRN or RSET) that a remote
14583SMTP client can send before the Postfix SMTP server starts to
14584increment the error counter with each junk command.  The junk
14585command count is reset after mail is delivered.  See also the
14586<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
14587parameters.  Normally the default limit is 100, but it changes under
14588overload to just 1. With Postfix 2.5 and earlier, the SMTP server
14589always allows up to 100 junk commands by default.  </p>
14590
14591
14592</DD>
14593
14594<DT><b><a name="smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a>
14595(default: empty)</b></DT><DD>
14596
14597<p> Enable logging of the named "permit" actions in SMTP server
14598access lists (by default, the SMTP server logs "reject" actions but
14599not "permit" actions).  This feature does not affect conditional
14600actions such as "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>". </p>
14601
14602<p> Specify a list of "permit" action names, "/file/name" or
14603"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. The
14604list is matched left to right, and the search stops on the first
14605match. A "/file/name" pattern is replaced by its contents; a
14606"<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup
14607key (the lookup result is ignored).  Continue long lines by starting
14608the next line with whitespace. Specify "!pattern" to exclude a name
14609from the list. </p>
14610
14611<p> Examples: </p>
14612
14613<pre>
14614/etc/postfix/<a href="postconf.5.html">main.cf</a>:
14615    # Log all "permit" actions.
14616    <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
14617</pre>
14618
14619<pre>
14620/etc/postfix/<a href="postconf.5.html">main.cf</a>:
14621    # Log "<a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a>" only.
14622    <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>
14623</pre>
14624
14625<p> This feature is available in Postfix 2.10 and later.  </p>
14626
14627
14628</DD>
14629
14630<DT><b><a name="smtpd_milters">smtpd_milters</a>
14631(default: empty)</b></DT><DD>
14632
14633<p> A list of Milter (mail filter) applications for new mail that
14634arrives via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. Specify space or comma as
14635separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details.  </p>
14636
14637<p> This feature is available in Postfix 2.3 and later. </p>
14638
14639
14640</DD>
14641
14642<DT><b><a name="smtpd_noop_commands">smtpd_noop_commands</a>
14643(default: empty)</b></DT><DD>
14644
14645<p>
14646List of commands that the Postfix SMTP server replies to with "250
14647Ok", without doing any syntax checks and without changing state.
14648This list overrides any commands built into the Postfix SMTP server.
14649</p>
14650
14651
14652</DD>
14653
14654<DT><b><a name="smtpd_null_access_lookup_key">smtpd_null_access_lookup_key</a>
14655(default: &lt;&gt;)</b></DT><DD>
14656
14657<p>
14658The lookup key to be used in SMTP <a href="access.5.html">access(5)</a> tables instead of the
14659null sender address.
14660</p>
14661
14662
14663</DD>
14664
14665<DT><b><a name="smtpd_peername_lookup">smtpd_peername_lookup</a>
14666(default: yes)</b></DT><DD>
14667
14668<p> Attempt to look up the remote SMTP client hostname, and verify that
14669the name matches the client IP address. A client name is set to
14670"unknown" when it cannot be looked up or verified, or when name
14671lookup is disabled.  Turning off name lookup reduces delays due to
14672DNS lookup and increases the maximal inbound delivery rate. </p>
14673
14674<p> This feature is available in Postfix 2.3 and later.  </p>
14675
14676
14677</DD>
14678
14679<DT><b><a name="smtpd_per_record_deadline">smtpd_per_record_deadline</a>
14680(default: normal: no, overload: yes)</b></DT><DD>
14681
14682<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>
14683time limits, from a
14684time limit per read or write system call, to a time limit to send
14685or receive a complete record (an SMTP command line, SMTP response
14686line, SMTP message content line, or TLS protocol message).  This
14687limits the impact from hostile peers that trickle data one byte at
14688a time.  </p>
14689
14690<p> Note: when per-record deadlines are enabled, a short timeout
14691may cause problems with TLS over very slow network connections.
14692The reasons are that a TLS protocol message can be up to 16 kbytes
14693long (with TLSv1), and that an entire TLS protocol message must be
14694sent or received within the per-record deadline.  </p>
14695
14696<p> This feature is available in Postfix 2.9 and later. With older
14697Postfix releases, the behavior is as if this parameter is set to
14698"no". </p>
14699
14700
14701</DD>
14702
14703<DT><b><a name="smtpd_policy_service_default_action">smtpd_policy_service_default_action</a>
14704(default: 451 4.3.5 Server configuration problem)</b></DT><DD>
14705
14706<p> The default action when an SMTPD policy service request fails.
14707Specify "DUNNO" to behave as if the failed  SMTPD policy service
14708request was not sent, and to continue processing other access
14709restrictions, if any. </p>
14710
14711<p> Limitations: </p>
14712
14713<ul>
14714
14715<li> <p>  This parameter may specify any value that would be a valid
14716SMTPD policy server response (or <a href="access.5.html">access(5)</a> map lookup result).  An
14717<a href="access.5.html">access(5)</a> map or policy server in this parameter value may need to
14718be declared in advance with a restriction_class setting.  </p>
14719
14720<li> <p> If the specified action invokes another <a href="postconf.5.html#check_policy_service">check_policy_service</a>
14721request, that request will have the built-in default action. </p>
14722
14723</ul>
14724
14725<p> This feature is available in Postfix 3.0 and later. </p>
14726
14727
14728</DD>
14729
14730<DT><b><a name="smtpd_policy_service_max_idle">smtpd_policy_service_max_idle</a>
14731(default: 300s)</b></DT><DD>
14732
14733<p>
14734The time after which an idle SMTPD policy service connection is
14735closed.
14736</p>
14737
14738<p>
14739This feature is available in Postfix 2.1 and later.
14740</p>
14741
14742
14743</DD>
14744
14745<DT><b><a name="smtpd_policy_service_max_ttl">smtpd_policy_service_max_ttl</a>
14746(default: 1000s)</b></DT><DD>
14747
14748<p>
14749The time after which an active SMTPD policy service connection is
14750closed.
14751</p>
14752
14753<p>
14754This feature is available in Postfix 2.1 and later.
14755</p>
14756
14757
14758</DD>
14759
14760<DT><b><a name="smtpd_policy_service_policy_context">smtpd_policy_service_policy_context</a>
14761(default: empty)</b></DT><DD>
14762
14763<p> Optional information that the Postfix SMTP server specifies in
14764the "policy_context" attribute of a policy service request (originally,
14765to share the same service endpoint among multiple <a href="postconf.5.html#check_policy_service">check_policy_service</a>
14766clients).  </p>
14767
14768<p>
14769This feature is available in Postfix 3.1 and later.
14770</p>
14771
14772
14773</DD>
14774
14775<DT><b><a name="smtpd_policy_service_request_limit">smtpd_policy_service_request_limit</a>
14776(default: 0)</b></DT><DD>
14777
14778<p>
14779The maximal number of requests per SMTPD policy service connection,
14780or zero (no limit). Once a connection reaches this limit, the
14781connection is closed and the next request will be sent over a new
14782connection. This is a workaround to avoid error-recovery delays
14783with policy servers that cannot maintain a persistent connection.
14784</p>
14785
14786<p>
14787This feature is available in Postfix 3.0 and later.
14788</p>
14789
14790
14791</DD>
14792
14793<DT><b><a name="smtpd_policy_service_retry_delay">smtpd_policy_service_retry_delay</a>
14794(default: 1s)</b></DT><DD>
14795
14796<p> The delay between attempts to resend a failed SMTPD policy
14797service request. Specify a value greater than zero. </p>
14798
14799<p> This feature is available in Postfix 3.0 and later. </p>
14800
14801
14802</DD>
14803
14804<DT><b><a name="smtpd_policy_service_timeout">smtpd_policy_service_timeout</a>
14805(default: 100s)</b></DT><DD>
14806
14807<p>
14808The time limit for connecting to, writing to, or receiving from a
14809delegated SMTPD policy server.
14810</p>
14811
14812<p>
14813This feature is available in Postfix 2.1 and later.
14814</p>
14815
14816
14817</DD>
14818
14819<DT><b><a name="smtpd_policy_service_try_limit">smtpd_policy_service_try_limit</a>
14820(default: 2)</b></DT><DD>
14821
14822<p> The maximal number of attempts to send an SMTPD policy service
14823request before giving up. Specify a value greater than zero. </p>
14824
14825<p> This feature is available in Postfix 3.0 and later. </p>
14826
14827
14828</DD>
14829
14830<DT><b><a name="smtpd_proxy_ehlo">smtpd_proxy_ehlo</a>
14831(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
14832
14833<p>
14834How the Postfix SMTP server announces itself to the proxy filter.
14835By default, the Postfix hostname is used.
14836</p>
14837
14838<p>
14839This feature is available in Postfix 2.1 and later.
14840</p>
14841
14842
14843</DD>
14844
14845<DT><b><a name="smtpd_proxy_filter">smtpd_proxy_filter</a>
14846(default: empty)</b></DT><DD>
14847
14848<p> The hostname and TCP port of the mail filtering proxy server.
14849The proxy receives all mail from the Postfix SMTP server, and is
14850supposed to give the result to another Postfix SMTP server process.
14851</p>
14852
14853<p> Specify "host:port" or "inet:host:port" for a TCP endpoint, or
14854"unix:pathname" for a UNIX-domain endpoint. The host can be specified
14855as an IP address or as a symbolic name; no MX lookups are done.
14856When no "host" or "host:"  are specified, the local machine is
14857assumed.  Pathname interpretation is relative to the Postfix queue
14858directory.  </p>
14859
14860<p> This feature is available in Postfix 2.1 and later.  </p>
14861
14862<p> The "inet:" and "unix:" prefixes are available in Postfix 2.3
14863and later.  </p>
14864
14865
14866</DD>
14867
14868<DT><b><a name="smtpd_proxy_options">smtpd_proxy_options</a>
14869(default: empty)</b></DT><DD>
14870
14871<p>
14872List of options that control how the Postfix SMTP server
14873communicates with a before-queue content filter. Specify zero or
14874more of the following, separated by comma or whitespace.  </p>
14875
14876<dl>
14877
14878<dt><b>speed_adjust</b></dt>
14879
14880<dd> <p> Do not connect to a before-queue content filter until an entire
14881message has been received. This reduces the number of simultaneous
14882before-queue content filter processes. </p>
14883
14884<p> NOTE 1: A filter must not <i>selectively</i> reject recipients
14885of a multi-recipient message.  Rejecting all recipients is OK, as
14886is accepting all recipients. </p>
14887
14888<p> NOTE 2: This feature increases the minimum amount of free queue
14889space by $<a href="postconf.5.html#message_size_limit">message_size_limit</a>. The extra space is needed to save the
14890message to a temporary file. </p> </dd>
14891
14892</dl>
14893
14894<p>
14895This feature is available in Postfix 2.7 and later.
14896</p>
14897
14898
14899</DD>
14900
14901<DT><b><a name="smtpd_proxy_timeout">smtpd_proxy_timeout</a>
14902(default: 100s)</b></DT><DD>
14903
14904<p>
14905The time limit for connecting to a proxy filter and for sending or
14906receiving information.  When a connection fails the client gets a
14907generic error message while more detailed information is logged to
14908the maillog file.
14909</p>
14910
14911<p>
14912Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
14913The default time unit is s (seconds).
14914</p>
14915
14916<p>
14917This feature is available in Postfix 2.1 and later.
14918</p>
14919
14920
14921</DD>
14922
14923<DT><b><a name="smtpd_recipient_limit">smtpd_recipient_limit</a>
14924(default: 1000)</b></DT><DD>
14925
14926<p>
14927The maximal number of recipients that the Postfix SMTP server
14928accepts per message delivery request.
14929</p>
14930
14931
14932</DD>
14933
14934<DT><b><a name="smtpd_recipient_overshoot_limit">smtpd_recipient_overshoot_limit</a>
14935(default: 1000)</b></DT><DD>
14936
14937<p> The number of recipients that a remote SMTP client can send in
14938excess of the limit specified with $<a href="postconf.5.html#smtpd_recipient_limit">smtpd_recipient_limit</a>, before
14939the Postfix SMTP server increments the per-session error count
14940for each excess recipient.  </p>
14941
14942
14943</DD>
14944
14945<DT><b><a name="smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>
14946(default: see "postconf -d" output)</b></DT><DD>
14947
14948<p>
14949Optional restrictions that the Postfix SMTP server applies in the
14950context of a client RCPT TO command, after <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
14951See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14952restriction lists" for a discussion of evaluation context and time.
14953</p>
14954
14955<p> With Postfix versions before 2.10, the rules for relay permission
14956and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
14957resulting in error-prone configuration.  As of Postfix 2.10, relay
14958permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
14959so that a permissive spam blocking policy under
14960<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
14961mail relay policy.  </p>
14962
14963<p> For backwards compatibility, sites that migrate from Postfix
14964versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
14965value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
14966
14967<p>
14968IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
14969<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
14970at least one of the following restrictions. Otherwise Postfix will
14971refuse to receive mail:
14972</p>
14973
14974<blockquote>
14975<pre>
14976reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
14977</pre>
14978</blockquote>
14979
14980<blockquote>
14981<pre>
14982defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
14983</pre>
14984</blockquote>
14985
14986<p>
14987Specify a list of restrictions, separated by commas and/or whitespace.
14988Continue long lines by starting the next line with whitespace.
14989Restrictions are applied in the order as specified; the first
14990restriction that matches wins.
14991</p>
14992
14993<p>
14994The following restrictions are specific to the recipient address
14995that is received with the RCPT TO command.
14996</p>
14997
14998<dl>
14999
15000<dt><b><a name="check_recipient_access">check_recipient_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15001
15002<dd>Search the specified <a href="access.5.html">access(5)</a> database for the resolved RCPT
15003TO address, domain, parent domains, or localpart@, and execute the
15004corresponding action.  </dd>
15005
15006<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>
15007
15008<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
15009the RCPT TO domain, and execute the corresponding action.  Note:
15010a result of "OK" is not allowed for safety reasons. Instead, use
15011DUNNO in order to exclude specific hosts from blacklists.  This
15012feature is available in Postfix 3.0 and later. </dd>
15013
15014<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>
15015
15016<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
15017the RCPT TO domain, and execute the corresponding action.  Note:
15018a result of "OK" is not allowed for safety reasons. Instead, use
15019DUNNO in order to exclude specific hosts from blacklists.  This
15020feature is available in Postfix 2.1 and later. </dd>
15021
15022<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>
15023
15024<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
15025for the RCPT TO domain, and execute the corresponding action.
15026Note: a result of "OK" is not allowed for safety reasons. Instead,
15027use DUNNO in order to exclude specific hosts from blacklists.  This
15028feature is available in Postfix 2.1 and later.  </dd>
15029
15030<dt><b><a name="permit_auth_destination">permit_auth_destination</a></b></dt>
15031
15032<dd>Permit the request when one of the following is true:
15033
15034<ul>
15035
15036<li> Postfix is mail forwarder: the resolved RCPT TO domain matches
15037$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and the address contains no
15038sender-specified routing (user@elsewhere@domain),
15039
15040<li> Postfix is the final destination: the resolved RCPT TO domain
15041matches $<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>,
15042$<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
15043contains no sender-specified routing (user@elsewhere@domain).
15044
15045</ul></dd>
15046
15047<dt><b><a name="permit_mx_backup">permit_mx_backup</a></b></dt>
15048
15049<dd>Permit the request when the local mail system is backup MX for
15050the RCPT TO domain, or when the domain is an authorized destination
15051(see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> for definition).
15052
15053<ul>
15054
15055<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> does not accept addresses that have
15056sender-specified routing information (example: user@elsewhere@domain).
15057
15058<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> can be vulnerable to mis-use when
15059access is not restricted with <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>.
15060
15061<li> Safety: as of Postfix version 2.3, <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> no longer
15062accepts the address when the local mail system is primary MX for
15063the recipient domain.  Exception: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> accepts the address
15064when it specifies an authorized destination (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
15065for definition).
15066
15067<li> Limitation: mail may be rejected in case of a temporary DNS
15068lookup problem with Postfix prior to version 2.0.
15069
15070</ul></dd>
15071
15072<dt><b><a name="reject_non_fqdn_recipient">reject_non_fqdn_recipient</a></b></dt>
15073
15074<dd>Reject the request when the RCPT TO address is not in
15075fully-qualified domain form, as required by the RFC. <br> The
15076<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
15077rejected requests (default: 504). </dd>
15078
15079<dt><b><a name="reject_rhsbl_recipient">reject_rhsbl_recipient <i>rbl_domain=d.d.d.d</i></a></b></dt>
15080
15081<dd>Reject the request when the RCPT TO domain is listed with the
15082A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
150832.1 and later only).  Each "<i>d</i>" is a number, or a pattern
15084inside "[]" that contains one or more ";"-separated numbers or
15085number..number ranges (Postfix version 2.8 and later). If no
15086"<i>=d.d.d.d</i>" is specified, reject
15087the request when the RCPT TO domain is listed with
15088any A record under <i>rbl_domain</i>. <br> The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a>
15089parameter specifies the response code for rejected requests (default:
15090554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter specifies the default server
15091reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter specifies tables with server
15092replies indexed by <i>rbl_domain</i>.  This feature is available
15093in Postfix version 2.0 and later.</dd>
15094
15095<dt><b><a name="reject_unauth_destination">reject_unauth_destination</a></b></dt>
15096
15097<dd>Reject the request unless one of the following is true:
15098
15099<ul>
15100
15101<li> Postfix is mail forwarder: the resolved RCPT TO domain matches
15102$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and contains no sender-specified
15103routing (user@elsewhere@domain),
15104
15105<li> Postfix is the final destination: the resolved RCPT TO domain
15106matches $<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>,
15107$<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
15108no sender-specified routing (user@elsewhere@domain).
15109
15110</ul>The <a href="postconf.5.html#relay_domains_reject_code">relay_domains_reject_code</a> parameter specifies the response
15111code for rejected requests (default: 554). </dd>
15112
15113<dt><b><a name="defer_unauth_destination">defer_unauth_destination</a></b></dt>
15114
15115<dd> Reject the same requests as <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>, with a
15116non-permanent error code.  This feature is available in Postfix
151172.10 and later.</dd>
15118
15119<dt><b><a name="reject_unknown_recipient_domain">reject_unknown_recipient_domain</a></b></dt>
15120
15121<dd>Reject the request when Postfix is not final destination for
15122the recipient domain, and the RCPT TO domain has 1) no DNS MX and
15123no DNS A
15124record or 2) a malformed MX record such as a record with
15125a zero-length MX hostname (Postfix version 2.3 and later). <br> The
15126reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter
15127(default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default:
15128<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 556 (nullmx, Postfix 3.0 and
15129later). See the respective parameter descriptions for details.
15130</dd>
15131
15132<dt><b><a name="reject_unlisted_recipient">reject_unlisted_recipient</a></b> (with Postfix version 2.0: check_recipient_maps)</dt>
15133
15134<dd> Reject the request when the RCPT TO address is not listed in
15135the list of valid recipients for its domain class. See the
15136<a href="postconf.5.html#smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> parameter description for details.
15137This feature is available in Postfix 2.1 and later.</dd>
15138
15139<dt><b><a name="reject_unverified_recipient">reject_unverified_recipient</a></b></dt>
15140
15141<dd>Reject the request when mail to the RCPT TO address is known
15142to bounce, or when the recipient address destination is not reachable.
15143Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
15144see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details.  <br> The
15145<a href="postconf.5.html#unverified_recipient_reject_code">unverified_recipient_reject_code</a> parameter specifies the numerical
15146response code when an address is known to bounce (default: 450,
15147change into 550 when you are confident that it is safe to do so).
15148<br>The <a href="postconf.5.html#unverified_recipient_defer_code">unverified_recipient_defer_code</a> parameter specifies the
15149numerical response code when an address probe failed due to a
15150temporary problem (default: 450). <br> The
15151<a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> parameter specifies the action
15152after address probe failure due to a temporary problem (default:
15153<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  <br>  This feature is available in Postfix 2.1
15154and later.  </dd>
15155
15156</dl>
15157
15158<p>
15159Other restrictions that are valid in this context:
15160</p>
15161
15162<ul>
15163
15164<li><a href="#generic">Generic</a> restrictions that can be used
15165in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
15166
15167<li>SMTP command specific restrictions described under
15168<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
15169<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>.
15170
15171</ul>
15172
15173<p>
15174Example:
15175</p>
15176
15177<pre>
15178# The Postfix before 2.10 default mail relay policy. Later Postfix
15179# versions implement this preferably with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
15180<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>
15181</pre>
15182
15183
15184</DD>
15185
15186<DT><b><a name="smtpd_reject_footer">smtpd_reject_footer</a>
15187(default: empty)</b></DT><DD>
15188
15189<p> Optional information that is appended after each Postfix SMTP
15190server
151914XX or 5XX response. </p>
15192
15193<p> The following example uses "\c" at the start of the template
15194(supported in Postfix 2.10 and later) to suppress the line break
15195between the reply text and the footer text. With earlier Postfix
15196versions, the footer text always begins on a new line, and the "\c"
15197is output literally. </p>
15198
15199<pre>
15200/etc/postfix/<a href="postconf.5.html">main.cf</a>:
15201    <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> = \c. For assistance, call 800-555-0101.
15202     Please provide the following information in your problem report:
15203     time ($localtime), client ($client_address) and server
15204     ($server_name).
15205</pre>
15206
15207<p> Server response: </p>
15208
15209<pre>
15210    550-5.5.1 &lt;user@example&gt; Recipient address rejected: User
15211    unknown. For assistance, call 800-555-0101. Please provide the
15212    following information in your problem report: time (Jan 4 15:42:00),
15213    client (192.168.1.248) and server (mail1.example.com).
15214</pre>
15215
15216<p> Note: the above text is meant to make it easier to find the
15217Postfix logfile records for a failed SMTP session. The text itself
15218is not logged to the Postfix SMTP server's maillog file. </p>
15219
15220<p> Be sure to keep the text as short as possible. Long text may
15221be truncated before it is logged to the remote SMTP client's maillog
15222file, or before it is returned to the sender in a delivery status
15223notification.  </p>
15224
15225<p> This feature supports a limited number of $name attributes in
15226the footer text. These are replaced by their current value for the
15227SMTP session: </p>
15228
15229<dl>
15230
15231<dt> <b>client_address</b> </dt> <dd> The Client IP address that
15232is logged in the maillog file. </dd>
15233
15234<dt> <b>client_port</b> </dt> <dd> The client TCP port that is
15235logged in the maillog file. </dd>
15236
15237<dt> <b>localtime</b> </dt> <dd> The server local time (Mmm dd
15238hh:mm:ss) that is logged in the maillog file. </dd>
15239
15240<dt> <b>server_name</b> </dt> <dd> The server's <a href="postconf.5.html#myhostname">myhostname</a> value.
15241This attribute is made available for sites with multiple MTAs
15242(perhaps behind a load-balancer), where the server name can help
15243the server support team to quickly find the right log files.  </dd>
15244
15245</dl>
15246
15247<p> Notes: </p>
15248
15249<ul>
15250
15251<li> <p> NOT SUPPORTED are other attributes such as sender, recipient,
15252or <a href="postconf.5.html">main.cf</a> parameters.  </p>
15253
15254<li> <p> For safety reasons, text that does not match
15255$<a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> is censored. </p>
15256
15257</ul>
15258
15259<p> This feature supports the two-character sequence \n as a request
15260for a line break in the footer text. Postfix automatically inserts
15261after each line break the three-digit SMTP reply code (and optional
15262enhanced status code) from the original Postfix reject message.
15263</p>
15264
15265<p> To work around mail software that mis-handles multi-line replies,
15266specify the two-character sequence \c at the start of the template.
15267This suppresses the line break between the reply text and the footer
15268text (Postfix 2.10 and later).  </p>
15269
15270<p> This feature is available in Postfix 2.8 and later. </p>
15271
15272
15273</DD>
15274
15275<DT><b><a name="smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a>
15276(default: yes)</b></DT><DD>
15277
15278<p>
15279Request that the Postfix SMTP server rejects mail for unknown
15280recipient addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_recipient">reject_unlisted_recipient</a>
15281access restriction is specified. This prevents the Postfix queue
15282from filling up with undeliverable MAILER-DAEMON messages.
15283</p>
15284
15285<p> An address is always considered "known" when it matches a
15286<a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping.
15287
15288<ul>
15289
15290<li> The recipient domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
15291or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the recipient is not listed in
15292$<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a>, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> is not null.
15293
15294<li> The recipient domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the
15295recipient is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
15296
15297<li> The recipient domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
15298recipient is not listed in $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>, and $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
15299is not null.
15300
15301<li> The recipient domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the recipient
15302is not listed in $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a>, and $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a>
15303is not null.
15304
15305</ul>
15306
15307<p>
15308This feature is available in Postfix 2.1 and later.
15309</p>
15310
15311
15312</DD>
15313
15314<DT><b><a name="smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a>
15315(default: no)</b></DT><DD>
15316
15317<p> Request that the Postfix SMTP server rejects mail from unknown
15318sender addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a>
15319access restriction is specified. This can slow down an explosion
15320of forged mail from worms or viruses.  </p>
15321
15322<p> An address is always considered "known" when it matches a
15323<a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping.
15324
15325<ul>
15326
15327<li> The sender domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or
15328$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the sender is not listed in
15329$<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a>, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> is not null.
15330
15331<li> The sender domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the sender
15332is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
15333
15334<li> The sender domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
15335sender is not listed in $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>, and $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
15336is not null.
15337
15338<li> The sender domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the sender is
15339not listed in $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a>, and $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> is
15340not null.
15341
15342</ul>
15343
15344<p>
15345This feature is available in Postfix 2.1 and later.
15346</p>
15347
15348
15349</DD>
15350
15351<DT><b><a name="smtpd_relay_restrictions">smtpd_relay_restrictions</a>
15352(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>
15353
15354<p> Access restrictions for mail relay control that the Postfix
15355SMTP server applies in the context of the RCPT TO command, before
15356<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
15357See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
15358restriction lists" for a discussion of evaluation context and time.
15359</p>
15360
15361<p> With Postfix versions before 2.10, the rules for relay permission
15362and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
15363resulting in error-prone configuration.  As of Postfix 2.10, relay
15364permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
15365so that a permissive spam blocking policy under
15366<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
15367mail relay policy.  </p>
15368
15369<p> For backwards compatibility, sites that migrate from Postfix
15370versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
15371value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
15372
15373<p>
15374By default, the Postfix SMTP server accepts:
15375</p>
15376
15377<ul>
15378
15379<li> Mail from clients whose IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>, or:
15380
15381<li> Mail to remote destinations that match $<a href="postconf.5.html#relay_domains">relay_domains</a>, except
15382for addresses that contain sender-specified routing
15383(user@elsewhere@domain), or:
15384
15385<li> Mail to local destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
15386or $<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
15387$<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
15388
15389</ul>
15390
15391<p>
15392IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
15393<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
15394at least one of the following restrictions. Otherwise Postfix will
15395refuse to receive mail:
15396</p>
15397
15398<blockquote>
15399<pre>
15400reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
15401</pre>
15402</blockquote>
15403
15404<blockquote>
15405<pre>
15406defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
15407</pre>
15408</blockquote>
15409
15410<p>
15411Specify a list of restrictions, separated by commas and/or whitespace.
15412Continue long lines by starting the next line with whitespace.
15413The same restrictions are available as documented under
15414<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
15415</p>
15416
15417<p> This feature is available in Postix 2.10 and later. </p>
15418
15419
15420</DD>
15421
15422<DT><b><a name="smtpd_restriction_classes">smtpd_restriction_classes</a>
15423(default: empty)</b></DT><DD>
15424
15425<p>
15426User-defined aliases for groups of access restrictions. The aliases
15427can be specified in <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> etc., and on the
15428right-hand side of a Postfix <a href="access.5.html">access(5)</a> table.
15429</p>
15430
15431<p>
15432One major application is for implementing per-recipient UCE control.
15433See the <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a> document for other examples.
15434</p>
15435
15436
15437</DD>
15438
15439<DT><b><a name="smtpd_sasl_application_name">smtpd_sasl_application_name</a>
15440(default: smtpd)</b></DT><DD>
15441
15442<p>
15443The application name that the Postfix SMTP server uses for SASL
15444server initialization. This
15445controls the name of the SASL configuration file. The default value
15446is <b>smtpd</b>, corresponding to a SASL configuration file named
15447<b>smtpd.conf</b>.
15448</p>
15449
15450<p>
15451This feature is available in Postfix 2.1 and 2.2. With Postfix 2.3
15452it was renamed to <a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.
15453</p>
15454
15455
15456</DD>
15457
15458<DT><b><a name="smtpd_sasl_auth_enable">smtpd_sasl_auth_enable</a>
15459(default: no)</b></DT><DD>
15460
15461<p>
15462Enable SASL authentication in the Postfix SMTP server. By default,
15463the Postfix SMTP server does not use authentication.
15464</p>
15465
15466<p>
15467If a remote SMTP client is authenticated, the <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>
15468access restriction can be used to permit relay access, like this:
15469</p>
15470
15471<blockquote>
15472<pre>
15473# With Postfix 2.10 and later, the mail relay policy is
15474# preferably specified under <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
15475<a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> =
15476    <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
15477</pre>
15478
15479<pre>
15480# With Postfix before 2.10, the relay policy can be
15481# specified only under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
15482<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> =
15483    <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
15484</pre>
15485</blockquote>
15486
15487<p> To reject all SMTP connections from unauthenticated clients,
15488specify "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes" (which is the default) and use:
15489</p>
15490
15491<blockquote>
15492<pre>
15493<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
15494</pre>
15495</blockquote>
15496
15497<p>
15498See the <a href="SASL_README.html">SASL_README</a> file for SASL configuration and operation details.
15499</p>
15500
15501
15502</DD>
15503
15504<DT><b><a name="smtpd_sasl_authenticated_header">smtpd_sasl_authenticated_header</a>
15505(default: no)</b></DT><DD>
15506
15507<p> Report the SASL authenticated user name in the <a href="smtpd.8.html">smtpd(8)</a> Received
15508message header.  </p>
15509
15510<p> This feature is available in Postfix 2.3 and later.  </p>
15511
15512
15513</DD>
15514
15515<DT><b><a name="smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a>
15516(default: empty)</b></DT><DD>
15517
15518<p>
15519What remote SMTP clients the Postfix SMTP server will not offer
15520AUTH support to.
15521</p>
15522
15523<p>
15524Some clients (Netscape 4 at least) have a bug that causes them to
15525require a login and password whenever AUTH is offered, whether it's
15526necessary or not. To work around this, specify, for example,
15527$<a href="postconf.5.html#mynetworks">mynetworks</a> to prevent Postfix from offering AUTH to local clients.
15528</p>
15529
15530<p>
15531Specify a list of network/netmask patterns, separated by commas
15532and/or whitespace. The mask specifies the number of bits in the
15533network part of a host address. You can also "/file/name" or
15534"<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name" pattern is replaced by its
15535contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry
15536matches a lookup string (the lookup result is ignored).  Continue
15537long lines by starting the next line with whitespace. Specify
15538"!pattern" to exclude an address or network block from the list.
15539The form "!/file/name" is supported only in Postfix version 2.4 and
15540later.  </p>
15541
15542<p> Note: IP version 6 address information must be specified inside
15543<tt>[]</tt> in the <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> value, and in
15544files specified with "/file/name".  IP version 6 addresses contain
15545the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
15546pattern.  </p>
15547
15548<p>
15549Example:
15550</p>
15551
15552<pre>
15553<a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a>
15554</pre>
15555
15556<p>
15557This feature is available in Postfix 2.1 and later.
15558</p>
15559
15560
15561</DD>
15562
15563<DT><b><a name="smtpd_sasl_local_domain">smtpd_sasl_local_domain</a>
15564(default: empty)</b></DT><DD>
15565
15566<p>
15567The name of the Postfix SMTP server's local SASL authentication
15568realm.
15569</p>
15570
15571<p>
15572By default, the local authentication realm name is the null string.
15573</p>
15574
15575<p>
15576Examples:
15577</p>
15578
15579<pre>
15580<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
15581<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#myhostname">myhostname</a>
15582</pre>
15583
15584
15585</DD>
15586
15587<DT><b><a name="smtpd_sasl_path">smtpd_sasl_path</a>
15588(default: smtpd)</b></DT><DD>
15589
15590<p> Implementation-specific information that the Postfix SMTP server
15591passes through to
15592the SASL plug-in implementation that is selected with
15593<b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  Typically this specifies the name of a
15594configuration file or rendezvous point. </p>
15595
15596<p> This feature is available in Postfix 2.3 and later. In earlier
15597releases it was called <b><a href="postconf.5.html#smtpd_sasl_application_name">smtpd_sasl_application_name</a></b>. </p>
15598
15599
15600</DD>
15601
15602<DT><b><a name="smtpd_sasl_security_options">smtpd_sasl_security_options</a>
15603(default: noanonymous)</b></DT><DD>
15604
15605<p> Postfix SMTP server SASL security options; as of Postfix 2.3
15606the list of available
15607features depends on the SASL server implementation that is selected
15608with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  </p>
15609
15610<p> The following security features are defined for the <b>cyrus</b>
15611server SASL implementation: </p>
15612
15613<p>
15614Restrict what authentication mechanisms the Postfix SMTP server
15615will offer to the client.  The list of available authentication
15616mechanisms is system dependent.
15617</p>
15618
15619<p>
15620Specify zero or more of the following:
15621</p>
15622
15623<dl>
15624
15625<dt><b>noplaintext</b></dt>
15626
15627<dd>Disallow methods that use plaintext passwords. </dd>
15628
15629<dt><b>noactive</b></dt>
15630
15631<dd>Disallow methods subject to active (non-dictionary) attack. </dd>
15632
15633<dt><b>nodictionary</b></dt>
15634
15635<dd>Disallow methods subject to passive (dictionary) attack. </dd>
15636
15637<dt><b>noanonymous</b></dt>
15638
15639<dd>Disallow methods that allow anonymous authentication. </dd>
15640
15641<dt><b>forward_secrecy</b></dt>
15642
15643<dd>Only allow methods that support forward secrecy (Dovecot only).
15644</dd>
15645
15646<dt><b>mutual_auth</b></dt>
15647
15648<dd>Only allow methods that provide mutual authentication (not available
15649with Cyrus SASL version 1). </dd>
15650
15651</dl>
15652
15653<p>
15654By default, the Postfix SMTP server accepts plaintext passwords but
15655not anonymous logins.
15656</p>
15657
15658<p>
15659Warning: it appears that clients try authentication methods in the
15660order as advertised by the server (e.g., PLAIN ANONYMOUS CRAM-MD5)
15661which means that if you disable plaintext passwords, clients will
15662log in anonymously, even when they should be able to use CRAM-MD5.
15663So, if you disable plaintext logins, disable anonymous logins too.
15664Postfix treats anonymous login as no authentication.
15665</p>
15666
15667<p>
15668Example:
15669</p>
15670
15671<pre>
15672<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a> = noanonymous, noplaintext
15673</pre>
15674
15675
15676</DD>
15677
15678<DT><b><a name="smtpd_sasl_service">smtpd_sasl_service</a>
15679(default: smtp)</b></DT><DD>
15680
15681<p> The service name that is passed to the SASL plug-in that is
15682selected 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>.
15683</p>
15684
15685<p> This feature is available in Postfix 2.11 and later. Prior
15686versions behave as if "<b>smtp</b>" is specified. </p>
15687
15688
15689</DD>
15690
15691<DT><b><a name="smtpd_sasl_tls_security_options">smtpd_sasl_tls_security_options</a>
15692(default: $<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a>)</b></DT><DD>
15693
15694<p> The SASL authentication security options that the Postfix SMTP
15695server uses for TLS encrypted SMTP sessions. </p>
15696
15697<p> This feature is available in Postfix 2.2 and later.  </p>
15698
15699
15700</DD>
15701
15702<DT><b><a name="smtpd_sasl_type">smtpd_sasl_type</a>
15703(default: cyrus)</b></DT><DD>
15704
15705<p> The SASL plug-in type that the Postfix SMTP server should use
15706for authentication. The available types are listed with the
15707"<b>postconf -a</b>" command. </p>
15708
15709<p> This feature is available in Postfix 2.3 and later. </p>
15710
15711
15712</DD>
15713
15714<DT><b><a name="smtpd_sender_login_maps">smtpd_sender_login_maps</a>
15715(default: empty)</b></DT><DD>
15716
15717<p>
15718Optional lookup table with the SASL login names that own the sender
15719(MAIL FROM) addresses.
15720</p>
15721
15722<p>
15723Specify zero or more "type:name" lookup tables, separated by
15724whitespace or comma. Tables will be searched in the specified order
15725until a match is found.  With lookups from
15726indexed files such as DB or DBM, or from networked tables such as
15727NIS, LDAP or SQL, the following search operations are done with a
15728sender address of <i>user@domain</i>:  </p>
15729
15730<dl>
15731
15732<dt> 1) <i>user@domain</i> </dt>
15733
15734<dd>This table lookup is always done and has the highest precedence. </dd>
15735
15736<dt> 2) <i>user</i> </dt>
15737
15738<dd>This table lookup is done only when the <i>domain</i> part of the
15739sender 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>
15740or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. </dd>
15741
15742<dt> 3) <i>@domain</i> </dt>
15743
15744<dd>This table lookup is done last and has the lowest precedence. </dd>
15745
15746</dl>
15747
15748<p>
15749In all cases the result of table lookup must be either "not found"
15750or a list of SASL login names separated by comma and/or whitespace.
15751</p>
15752
15753
15754</DD>
15755
15756<DT><b><a name="smtpd_sender_restrictions">smtpd_sender_restrictions</a>
15757(default: empty)</b></DT><DD>
15758
15759<p>
15760Optional restrictions that the Postfix SMTP server applies in the
15761context of a client MAIL FROM command.
15762See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
15763restriction lists" for a discussion of evaluation context and time.
15764</p>
15765
15766<p>
15767The default is to permit everything.
15768</p>
15769
15770<p>
15771Specify a list of restrictions, separated by commas and/or whitespace.
15772Continue long lines by starting the next line with whitespace.
15773Restrictions are applied in the order as specified; the first
15774restriction that matches wins.
15775</p>
15776
15777<p>
15778The following restrictions are specific to the sender address
15779received with the MAIL FROM command.
15780</p>
15781
15782<dl>
15783
15784<dt><b><a name="check_sender_access">check_sender_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15785
15786<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MAIL FROM
15787address, domain, parent domains, or localpart@, and execute the
15788corresponding action. </dd>
15789
15790<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>
15791
15792<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
15793the MAIL FROM domain, and execute the corresponding action.  Note:
15794a result of "OK" is not allowed for safety reasons. Instead, use
15795DUNNO in order to exclude specific hosts from blacklists.  This
15796feature is available in Postfix 3.0 and later. </dd>
15797
15798<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>
15799
15800<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
15801the MAIL FROM domain, and execute the corresponding action.  Note:
15802a result of "OK" is not allowed for safety reasons. Instead, use
15803DUNNO in order to exclude specific hosts from blacklists.  This
15804feature is available in Postfix 2.1 and later. </dd>
15805
15806<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>
15807
15808<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
15809for the MAIL FROM domain, and execute the corresponding action.
15810Note: a result of "OK" is not allowed for safety reasons. Instead,
15811use DUNNO in order to exclude specific hosts from blacklists.  This
15812feature is available in Postfix 2.1 and later.  </dd>
15813
15814<dt><b><a name="reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a></b></dt>
15815
15816<dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for
15817authenticated clients only. This feature is available in
15818Postfix version 2.1 and later. </dd>
15819
15820<dt><b><a name="reject_known_sender_login_mismatch">reject_known_sender_login_mismatch</a></b></dt>
15821
15822<dd>Apply the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction only to MAIL
15823FROM addresses that are known in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.  This
15824feature is available in Postfix version 2.11 and later. </dd>
15825
15826<dt><b><a name="reject_non_fqdn_sender">reject_non_fqdn_sender</a></b></dt>
15827
15828<dd>Reject the request when the MAIL FROM address is not in
15829fully-qualified domain form, as required by the RFC. <br> The
15830<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
15831rejected requests (default: 504). </dd>
15832
15833<dt><b><a name="reject_rhsbl_sender">reject_rhsbl_sender <i>rbl_domain=d.d.d.d</i></a></b></dt>
15834
15835<dd>Reject the request when the MAIL FROM domain is listed with
15836the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix
15837version 2.1 and later only).  Each "<i>d</i>" is a number, or a
15838pattern inside "[]" that contains one or more ";"-separated numbers
15839or number..number ranges (Postfix version 2.8 and later). If no
15840"<i>=d.d.d.d</i>" is specified,
15841reject the request when the MAIL FROM domain is
15842listed with any A record under <i>rbl_domain</i>. <br> The
15843<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
15844rejected requests (default:  554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter
15845specifies the default server reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter
15846specifies tables with server replies indexed by <i>rbl_domain</i>.
15847This feature is available in Postfix 2.0 and later.</dd>
15848
15849<dt><b><a name="reject_sender_login_mismatch">reject_sender_login_mismatch</a></b></dt>
15850
15851<dd>Reject the request when $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a> specifies an
15852owner for the MAIL FROM address, but the client is not (SASL) logged
15853in as that MAIL FROM address owner; or when the client is (SASL)
15854logged in, but the client login name doesn't own the MAIL FROM
15855address according to $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.</dd>
15856
15857<dt><b><a name="reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a></b></dt>
15858
15859<dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for
15860unauthenticated clients only. This feature is available in
15861Postfix version 2.1 and later. </dd>
15862
15863<dt><b><a name="reject_unknown_sender_domain">reject_unknown_sender_domain</a></b></dt>
15864
15865<dd>Reject the request when Postfix is not final destination for
15866the sender address, and the MAIL FROM domain has 1) no DNS MX and
15867no DNS A
15868record, or 2) a malformed MX record such as a record with
15869a zero-length MX hostname (Postfix version 2.3 and later). <br> The
15870reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter
15871(default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default:
15872<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 550 (nullmx, Postfix 3.0 and
15873later). See the respective parameter descriptions for details.
15874</dd>
15875
15876<dt><b><a name="reject_unlisted_sender">reject_unlisted_sender</a></b></dt>
15877
15878<dd>Reject the request when the MAIL FROM address is not listed in
15879the list of valid recipients for its domain class. See the
15880<a href="postconf.5.html#smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> parameter description for details.
15881This feature is available in Postfix 2.1 and later.</dd>
15882
15883<dt><b><a name="reject_unverified_sender">reject_unverified_sender</a></b></dt>
15884
15885<dd>Reject the request when mail to the MAIL FROM address is known to
15886bounce, or when the sender address destination is not reachable.
15887Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
15888see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The
15889<a href="postconf.5.html#unverified_sender_reject_code">unverified_sender_reject_code</a> parameter specifies the numerical
15890response code when an address is known to bounce (default: 450,
15891change into 550 when you are confident that it is safe to do so).
15892<br>The <a href="postconf.5.html#unverified_sender_defer_code">unverified_sender_defer_code</a> specifies the numerical response
15893code when an address probe failed due to a temporary problem
15894(default: 450).  <br> The <a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a> parameter
15895specifies the action after address probe failure due to a temporary
15896problem (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  <br> This feature is available
15897in Postfix 2.1 and later.  </dd>
15898
15899</dl>
15900
15901<p>
15902Other restrictions that are valid in this context:
15903</p>
15904
15905<ul>
15906
15907<li> <a href="#generic">Generic</a> restrictions that can be used
15908in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
15909
15910<li> SMTP command specific restrictions described under
15911<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>.
15912
15913<li> SMTP command specific restrictions described under
15914<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When recipient restrictions are listed
15915under <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, they have effect only with
15916"<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
15917evaluated at the time of the RCPT TO command.
15918
15919</ul>
15920
15921<p>
15922Examples:
15923</p>
15924
15925<pre>
15926<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>
15927<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>,
15928    <a href="postconf.5.html#check_sender_access">check_sender_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access
15929</pre>
15930
15931
15932</DD>
15933
15934<DT><b><a name="smtpd_service_name">smtpd_service_name</a>
15935(default: smtpd)</b></DT><DD>
15936
15937<p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> hands off allowed
15938connections to. In a future version there may be different
15939classes of SMTP service. </p>
15940
15941<p> This feature is available in Postfix 2.8. </p>
15942
15943
15944</DD>
15945
15946<DT><b><a name="smtpd_soft_error_limit">smtpd_soft_error_limit</a>
15947(default: 10)</b></DT><DD>
15948
15949<p>
15950The number of errors a remote SMTP client is allowed to make without
15951delivering mail before the Postfix SMTP server slows down all its
15952responses.
15953</p>
15954
15955<ul>
15956
15957<li><p>With Postfix version 2.1 and later, the Postfix SMTP server
15958delays all responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> seconds. </p>
15959
15960<li><p>With Postfix versions 2.0 and earlier, the Postfix SMTP
15961server delays all responses by (number of errors) seconds. </p>
15962
15963</ul>
15964
15965
15966</DD>
15967
15968<DT><b><a name="smtpd_starttls_timeout">smtpd_starttls_timeout</a>
15969(default: see "postconf -d" output)</b></DT><DD>
15970
15971<p> The time limit for Postfix SMTP server write and read operations
15972during TLS startup and shutdown handshake procedures. The current
15973default value is stress-dependent. Before Postfix version 2.8, it
15974was fixed at 300s. </p>
15975
15976<p> This feature is available in Postfix 2.2 and later.  </p>
15977
15978
15979</DD>
15980
15981<DT><b><a name="smtpd_timeout">smtpd_timeout</a>
15982(default: normal: 300s, overload: 10s)</b></DT><DD>
15983
15984<p>
15985The time limit for sending a Postfix SMTP server response and for
15986receiving a remote SMTP client request. Normally the default limit
15987is 300s, but it changes under overload to just 10s. With Postfix
159882.5 and earlier, the SMTP server always uses a time limit of 300s
15989by default.
15990</p>
15991
15992<p>
15993Note: if you set SMTP time limits to very large values you may have
15994to update the global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter.
15995</p>
15996
15997<p>
15998Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
15999The default time unit is s (seconds).
16000</p>
16001
16002
16003</DD>
16004
16005<DT><b><a name="smtpd_tls_CAfile">smtpd_tls_CAfile</a>
16006(default: empty)</b></DT><DD>
16007
16008<p> A file containing (PEM format) CA certificates of root CAs trusted
16009to sign either remote SMTP client certificates or intermediate CA
16010certificates.  These are loaded into memory before the <a href="smtpd.8.html">smtpd(8)</a> server
16011enters the chroot jail. If the number of trusted roots is large, consider
16012using <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> instead, but note that the latter directory must
16013be present in the chroot jail if the <a href="smtpd.8.html">smtpd(8)</a> server is chrooted. This
16014file may also be used to augment the server certificate trust chain,
16015but it is best to include all the required certificates directly in the
16016server certificate file. </p>
16017
16018<p> Specify "<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /path/to/system_CA_file" to use ONLY
16019the system-supplied default Certification Authority certificates.
16020</p>
16021
16022<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
16023appending the system-supplied default CAs and trusting third-party
16024certificates. </p>
16025
16026<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are not
16027requested, and <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> should remain empty. If you do make use
16028of client certificates, the distinguished names (DNs) of the Certification
16029Authorities listed in <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> are sent to the remote SMTP client
16030in the client certificate request message. MUAs with multiple client
16031certificates may use the list of preferred Certification Authorities
16032to select the correct client certificate.  You may want to put your
16033"preferred" CA or CAs in this file, and install other trusted CAs in
16034$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
16035
16036<p> Example: </p>
16037
16038<pre>
16039<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /etc/postfix/CAcert.pem
16040</pre>
16041
16042<p> This feature is available in Postfix 2.2 and later.  </p>
16043
16044
16045</DD>
16046
16047<DT><b><a name="smtpd_tls_CApath">smtpd_tls_CApath</a>
16048(default: empty)</b></DT><DD>
16049
16050<p> A directory containing (PEM format) CA certificates of root CAs
16051trusted to sign either remote SMTP client certificates or intermediate CA
16052certificates. Do not forget to create the necessary "hash" links with,
16053for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs". To use
16054<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> in chroot mode, this directory (or a copy) must be
16055inside the chroot jail. </p>
16056
16057<p> Specify "<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /path/to/system_CA_directory" to
16058use ONLY the system-supplied default Certification Authority certificates.
16059</p>
16060
16061<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
16062appending the system-supplied default CAs and trusting third-party
16063certificates. </p>
16064
16065<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are
16066not requested, and <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> should remain empty. In contrast
16067to <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, DNs of Certification Authorities installed
16068in $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> are not included in the client certificate
16069request message. MUAs with multiple client certificates may use the
16070list of preferred Certification Authorities to select the correct
16071client certificate.  You may want to put your "preferred" CA or
16072CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, and install the remaining trusted CAs in
16073$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
16074
16075<p> Example: </p>
16076
16077<pre>
16078<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /etc/postfix/certs
16079</pre>
16080
16081<p> This feature is available in Postfix 2.2 and later.  </p>
16082
16083
16084</DD>
16085
16086<DT><b><a name="smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>
16087(default: yes)</b></DT><DD>
16088
16089<p> Force the Postfix SMTP server to issue a TLS session id, even
16090when TLS session caching is turned off (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
16091is empty). This behavior is compatible with Postfix &lt; 2.3. </p>
16092
16093<p> With Postfix 2.3 and later the Postfix SMTP server can disable
16094session id generation when TLS session caching is turned off. This
16095keeps remote SMTP clients from caching sessions that almost certainly cannot
16096be re-used.  </p>
16097
16098<p> By default, the Postfix SMTP server always generates TLS session
16099ids. This works around a known defect in mail client applications
16100such as MS Outlook, and may also prevent interoperability issues
16101with other MTAs. </p>
16102
16103<p> Example: </p>
16104
16105<pre>
16106<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> = no
16107</pre>
16108
16109<p> This feature is available in Postfix 2.3 and later. </p>
16110
16111
16112</DD>
16113
16114<DT><b><a name="smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
16115(default: no)</b></DT><DD>
16116
16117<p> Ask a remote SMTP client for a client certificate. This
16118information is needed for certificate based mail relaying with,
16119for example, the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> feature. </p>
16120
16121<p> Some clients such as Netscape will either complain if no
16122certificate is available (for the list of CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)
16123or will offer multiple client certificates to choose from. This
16124may be annoying, so this option is "off" by default. </p>
16125
16126<p> This feature is available in Postfix 2.2 and later.  </p>
16127
16128
16129</DD>
16130
16131<DT><b><a name="smtpd_tls_auth_only">smtpd_tls_auth_only</a>
16132(default: no)</b></DT><DD>
16133
16134<p> When TLS encryption is optional in the Postfix SMTP server, do
16135not announce or accept SASL authentication over unencrypted
16136connections. </p>
16137
16138<p> This feature is available in Postfix 2.2 and later.  </p>
16139
16140
16141</DD>
16142
16143<DT><b><a name="smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>
16144(default: 9)</b></DT><DD>
16145
16146<p> The verification depth for remote SMTP client certificates. A
16147depth of 1 is sufficient if the issuing CA is listed in a local CA
16148file. </p>
16149
16150<p> The default verification depth is 9 (the OpenSSL default) for
16151compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
16152the default value was 5, but the limit was not actually enforced. If
16153you have set this to a lower non-default value, certificates with longer
16154trust chains may now fail to verify. Certificate chains with 1 or 2
16155CAs are common, deeper chains are more rare and any number between 5
16156and 9 should suffice in practice. You can choose a lower number if,
16157for example, you trust certificates directly signed by an issuing CA
16158but not any CAs it delegates to. </p>
16159
16160<p> This feature is available in Postfix 2.2 and later.  </p>
16161
16162
16163</DD>
16164
16165<DT><b><a name="smtpd_tls_cert_file">smtpd_tls_cert_file</a>
16166(default: empty)</b></DT><DD>
16167
16168<p> File with the Postfix SMTP server RSA certificate in PEM format.
16169This file may also contain the Postfix SMTP server private RSA key. </p>
16170
16171<p> Public Internet MX hosts without certificates signed by a "reputable"
16172CA must generate, and be prepared to present to most clients, a
16173self-signed or private-CA signed certificate. The client will not be
16174able to authenticate the server, but unless it is running Postfix 2.3 or
16175similar software, it will still insist on a server certificate. </p>
16176
16177<p> For servers that are <b>not</b> public Internet MX hosts, Postfix
161782.3 supports configurations with no certificates. This entails the
16179use of just the anonymous TLS ciphers, which are not supported by
16180typical SMTP clients. Since such clients will not, as a rule, fall
16181back to plain text after a TLS handshake failure, the server will
16182be unable to receive email from TLS enabled clients. To avoid
16183accidental configurations with no certificates, Postfix 2.3 enables
16184certificate-less operation only when the administrator explicitly
16185sets "<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = none". This ensures that new Postfix
16186configurations will not accidentally run with no certificates. </p>
16187
16188<p> Both RSA and DSA certificates are supported.  When both types
16189are present, the cipher used determines which certificate will be
16190presented to the client.  For Netscape and OpenSSL clients without
16191special cipher choices the RSA certificate is preferred. </p>
16192
16193<p> To enable a remote SMTP client to verify the Postfix SMTP server
16194certificate, the issuing CA certificates must be made available to the
16195client. You should include the required certificates in the server
16196certificate file, the server certificate first, then the issuing
16197CA(s) (bottom-up order). </p>
16198
16199<p> Example: the certificate for "server.example.com" was issued by
16200"intermediate CA" which itself has a certificate of "root CA".
16201Create the server.pem file with "cat server_cert.pem intermediate_CA.pem
16202root_CA.pem &gt; server.pem". </p>
16203
16204<p> If you also want to verify client certificates issued by these
16205CAs, you can add the CA certificates to the <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, in which
16206case it is not necessary to have them in the <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> or
16207<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. </p>
16208
16209<p> A certificate supplied here must be usable as an SSL server certificate
16210and hence pass the "openssl verify -purpose sslserver ..." test. </p>
16211
16212<p> Example: </p>
16213
16214<pre>
16215<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = /etc/postfix/server.pem
16216</pre>
16217
16218<p> This feature is available in Postfix 2.2 and later.  </p>
16219
16220
16221</DD>
16222
16223<DT><b><a name="smtpd_tls_cipherlist">smtpd_tls_cipherlist</a>
16224(default: empty)</b></DT><DD>
16225
16226<p> Obsolete Postfix &lt; 2.3 control for the Postfix SMTP server TLS
16227cipher list. It is easy to create interoperability problems by choosing
16228a non-default cipher list. Do not use a non-default TLS cipherlist for
16229MX hosts on the public Internet. Clients that begin the TLS handshake,
16230but are unable to agree on a common cipher, may not be able to send any
16231email to the SMTP server. Using a restricted cipher list may be more
16232appropriate for a dedicated MSA or an internal mailhub, where one can
16233exert some control over the TLS software and settings of the connecting
16234clients. </p>
16235
16236<p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
16237
16238<p>This feature is available with Postfix version 2.2. It is not used with
16239Postfix 2.3 and later; use <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> instead. </p>
16240
16241
16242</DD>
16243
16244<DT><b><a name="smtpd_tls_ciphers">smtpd_tls_ciphers</a>
16245(default: medium)</b></DT><DD>
16246
16247<p> The minimum TLS cipher grade that the Postfix SMTP server
16248will use with opportunistic TLS encryption. Cipher types listed in
16249<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are excluded from the base definition of
16250the selected cipher grade.  The default value is "medium" for Postfix
16251releases after the middle of 2015, "export" for older releases.
16252</p>
16253
16254<p> When TLS is mandatory the cipher grade is chosen via the
16255<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
16256details. </p>
16257
16258<p> This feature is available in Postfix 2.6 and later. With earlier Postfix
16259releases only the <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> parameter is implemented,
16260and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
16261
16262
16263</DD>
16264
16265<DT><b><a name="smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>
16266(default: empty)</b></DT><DD>
16267
16268<p> File with the Postfix SMTP server DSA certificate in PEM format.
16269This file may also contain the Postfix SMTP server private DSA key. </p>
16270
16271<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details.
16272</p>
16273
16274<p> Example: </p>
16275
16276<pre>
16277<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> = /etc/postfix/server-dsa.pem
16278</pre>
16279
16280<p> This feature is available in Postfix 2.2 and later.  </p>
16281
16282
16283</DD>
16284
16285<DT><b><a name="smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
16286(default: empty)</b></DT><DD>
16287
16288<p> File with DH parameters that the Postfix SMTP server should
16289use with non-export EDH ciphers. </p>
16290
16291<p> Instead of using the exact same parameter sets as distributed
16292with other TLS packages, it is more secure to generate your own
16293set of parameters with something like the following commands:  </p>
16294
16295<blockquote>
16296<pre>
16297openssl dhparam -out /etc/postfix/dh512.pem 512
16298openssl dhparam -out /etc/postfix/dh1024.pem 1024
16299openssl dhparam -out /etc/postfix/dh2048.pem 2048
16300</pre>
16301</blockquote>
16302
16303<p> It is safe to share the same DH parameters between multiple
16304Postfix instances.  If you prefer, you can generate separate
16305parameters for each instance.  </p>
16306
16307<p> If you want to take maximal advantage of ciphers that offer <a
16308href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
16309the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
16310started</a> section of <a
16311href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
16312full document conveniently presents all information about Postfix
16313"perfect" forward secrecy support in one place: what forward secrecy
16314is, how to tweak settings, and what you can expect to see when
16315Postfix uses ciphers with forward secrecy.  </p>
16316
16317<p> Example: </p>
16318
16319<pre>
16320<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> = /etc/postfix/dh2048.pem
16321</pre>
16322
16323<p>This feature is available with Postfix version 2.2.</p>
16324
16325
16326</DD>
16327
16328<DT><b><a name="smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
16329(default: empty)</b></DT><DD>
16330
16331<p> File with DH parameters that the Postfix SMTP server should
16332use with export-grade EDH ciphers.  The default SMTP server cipher
16333grade is "medium" with Postfix releases after the middle of 2015,
16334and as a result export-grade cipher suites are by default not used.
16335</p>
16336
16337<p> See also the discussion under the <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
16338configuration parameter.  </p>
16339
16340<p> Example: </p>
16341
16342<pre>
16343<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> = /etc/postfix/dh_512.pem
16344</pre>
16345
16346<p>This feature is available with Postfix version 2.2.</p>
16347
16348
16349</DD>
16350
16351<DT><b><a name="smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>
16352(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
16353
16354<p> File with the Postfix SMTP server DSA private key in PEM format.
16355This file may be combined with the Postfix SMTP server DSA certificate
16356file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. </p>
16357
16358<p> The private key must be accessible without a pass-phrase, i.e. it
16359must not be encrypted. File permissions should grant read-only
16360access to the system superuser account ("root"), and no access
16361to anyone else. </p>
16362
16363<p> This feature is available in Postfix 2.2 and later.  </p>
16364
16365
16366</DD>
16367
16368<DT><b><a name="smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>
16369(default: empty)</b></DT><DD>
16370
16371<p> File with the Postfix SMTP server ECDSA certificate in PEM format.
16372This file may also contain the Postfix SMTP server private ECDSA key. </p>
16373
16374<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details. </p>
16375
16376<p> Example: </p>
16377
16378<pre>
16379<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> = /etc/postfix/ecdsa-scert.pem
16380</pre>
16381
16382<p> This feature is available in Postfix 2.6 and later, when Postfix is
16383compiled and linked with OpenSSL 1.0.0 or later. </p>
16384
16385
16386</DD>
16387
16388<DT><b><a name="smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>
16389(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
16390
16391<p> File with the Postfix SMTP server ECDSA private key in PEM format.
16392This file may be combined with the Postfix SMTP server ECDSA certificate
16393file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. </p>
16394
16395<p> The private key must be accessible without a pass-phrase, i.e. it
16396must not be encrypted. File permissions should grant read-only
16397access to the system superuser account ("root"), and no access
16398to anyone else. </p>
16399
16400<p> This feature is available in Postfix 2.6 and later, when Postfix is
16401compiled and linked with OpenSSL 1.0.0 or later. </p>
16402
16403
16404</DD>
16405
16406<DT><b><a name="smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>
16407(default: see "postconf -d" output)</b></DT><DD>
16408
16409<p> The Postfix SMTP server security grade for ephemeral elliptic-curve
16410Diffie-Hellman (EECDH) key exchange. </p>
16411
16412<p> The available choices are: </p>
16413
16414<dl>
16415
16416<dt><b>none</b></dt> <dd> Don't use EECDH. Ciphers based on EECDH key
16417exchange will be disabled. This is the default in Postfix versions
164182.6 and 2.7. </dd>
16419
16420<dt><b>strong</b></dt> <dd> Use EECDH with approximately 128
16421bits of security at a reasonable computational cost. This is the
16422current best-practice trade-off between security and computational
16423efficiency. This is the default in Postfix version 2.8 and later.
16424</dd>
16425
16426<dt><b>ultra</b></dt> <dd> Use EECDH with approximately 192 bits of
16427security at computational cost that is approximately twice as high
16428as 128 bit strength ECC. Barring significant progress in attacks on
16429elliptic curve crypto-systems, the "strong" curve is sufficient for most
16430users. </dd>
16431
16432</dl>
16433
16434<p> If you want to take maximal advantage of ciphers that offer <a
16435href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
16436the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
16437started</a> section of <a
16438href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
16439full document conveniently presents all information about Postfix
16440"perfect" forward secrecy support in one place: what forward secrecy
16441is, how to tweak settings, and what you can expect to see when
16442Postfix uses ciphers with forward secrecy.  </p>
16443
16444<p> This feature is available in Postfix 2.6 and later, when it is
16445compiled and linked with OpenSSL 1.0.0 or later on platforms
16446where EC algorithms have not been disabled by the vendor. </p>
16447
16448
16449</DD>
16450
16451<DT><b><a name="smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
16452(default: empty)</b></DT><DD>
16453
16454<p> List of ciphers or cipher types to exclude from the SMTP server
16455cipher list at all TLS security levels. Excluding valid ciphers
16456can create interoperability problems. DO NOT exclude ciphers unless it
16457is essential to do so. This is not an OpenSSL cipherlist; it is a simple
16458list separated by whitespace and/or commas. The elements are a single
16459cipher, or one or more "+" separated cipher properties, in which case
16460only ciphers matching <b>all</b> the properties are excluded. </p>
16461
16462<p> Examples (some of these will cause problems): </p>
16463
16464<blockquote>
16465<pre>
16466<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL
16467<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = MD5, DES
16468<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = DES+MD5
16469<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
16470<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = kEDH+aRSA
16471</pre>
16472</blockquote>
16473
16474<p> The first setting disables anonymous ciphers. The next setting
16475disables ciphers that use the MD5 digest algorithm or the (single) DES
16476encryption algorithm. The next setting disables ciphers that use MD5 and
16477DES together.  The next setting disables the two ciphers "AES256-SHA"
16478and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
16479key exchange with RSA authentication. </p>
16480
16481<p> This feature is available in Postfix 2.3 and later. </p>
16482
16483
16484</DD>
16485
16486<DT><b><a name="smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>
16487(default: md5)</b></DT><DD>
16488
16489<p> The message digest algorithm to construct remote SMTP
16490client-certificate
16491fingerprints or public key fingerprints (Postfix 2.9 and later)
16492for <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>. The
16493default algorithm is <b>md5</b>, for backwards compatibility with Postfix
16494releases prior to 2.5.  </p>
16495
16496<p> Advances in hash
16497function cryptanalysis have led to md5 being deprecated in favor of sha1.
16498However, as long as there are no known "second pre-image" attacks
16499against md5, its use in this context can still be considered safe.
16500</p>
16501
16502<p> While additional digest algorithms are often available with OpenSSL's
16503libcrypto, only those used by libssl in SSL cipher suites are available to
16504Postfix. </p>
16505
16506<p> To find the fingerprint of a specific certificate file, with a
16507specific digest algorithm, run: </p>
16508
16509<blockquote>
16510<pre>
16511$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
16512</pre>
16513</blockquote>
16514
16515<p> The text to the right of "=" sign is the desired fingerprint.
16516For example: </p>
16517
16518<blockquote>
16519<pre>
16520$ openssl x509 -noout -fingerprint -sha1 -in cert.pem
16521SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
16522</pre>
16523</blockquote>
16524
16525<p> To extract the public key fingerprint from an X.509 certificate,
16526you need to extract the public key from the certificate and compute
16527the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
16528the "-pubkey" option of the "x509" command extracts the public
16529key always in "PEM" format. We pipe the result to another OpenSSL
16530command that converts the key to DER and then to the "dgst" command
16531to compute the fingerprint. </p>
16532
16533<p> The actual command to transform the key to DER format depends
16534on the version of OpenSSL used. With OpenSSL 1.0.0 and later, the
16535"pkey" command supports all key types. With OpenSSL 0.9.8 and
16536earlier, the key type is always RSA (nobody uses DSA, and EC
16537keys are not fully supported by 0.9.8), so the "rsa" command is
16538used. </p>
16539<blockquote>
16540<pre>
16541# OpenSSL 1.0 with all certificates and SHA-1 fingerprints.
16542$ openssl x509 -in cert.pem -noout -pubkey |
16543    openssl pkey -pubin -outform DER |
16544    openssl dgst -sha1 -c
16545(stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58
16546</pre>
16547</blockquote>
16548
16549<blockquote>
16550<pre>
16551# OpenSSL 0.9.8 with RSA certificates and MD5 fingerprints.
16552$ openssl x509 -in cert.pem -noout -pubkey |
16553    openssl rsa -pubin -outform DER |
16554    openssl dgst -md5 -c
16555(stdin)= f4:62:60:f6:12:8f:d5:8d:28:4d:13:a7:db:b2:ff:50
16556</pre>
16557</blockquote>
16558
16559<p> The Postfix SMTP server and client log the peer (leaf) certificate
16560fingerprint and public key fingerprint when the TLS loglevel is 2 or
16561higher. </p>
16562
16563<p> <b>Note:</b> Postfix 2.9.0&ndash;2.9.5 computed the public key
16564fingerprint incorrectly. To use public-key fingerprints, upgrade
16565to Postfix 2.9.6 or later. </p>
16566
16567<p> Example: client-certificate access table, with sha1 fingerprints: </p>
16568
16569<blockquote>
16570<pre>
16571/etc/postfix/<a href="postconf.5.html">main.cf</a>:
16572    <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> = sha1
16573    <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
16574        <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access,
16575        reject
16576</pre>
16577<pre>
16578/etc/postfix/access:
16579    # Action folded to next line...
16580    AF:88:7C:AD:51:95:6F:36:96:F6:01:FB:2E:48:CD:AB:49:25:A2:3B
16581        OK
16582    85:16:78:FD:73:6E:CE:70:E0:31:5F:0D:3C:C8:6D:C4:2C:24:59:E1
16583        <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
16584</pre>
16585</blockquote>
16586
16587<p> This feature is available in Postfix 2.5 and later. </p>
16588
16589
16590</DD>
16591
16592<DT><b><a name="smtpd_tls_key_file">smtpd_tls_key_file</a>
16593(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
16594
16595<p> File with the Postfix SMTP server RSA private key in PEM format.
16596This file may be combined with the Postfix SMTP server RSA certificate
16597file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>. </p>
16598
16599<p> The private key must be accessible without a pass-phrase, i.e. it
16600must not be encrypted. File permissions should grant read-only
16601access to the system superuser account ("root"), and no access
16602to anyone else. </p>
16603
16604
16605</DD>
16606
16607<DT><b><a name="smtpd_tls_loglevel">smtpd_tls_loglevel</a>
16608(default: 0)</b></DT><DD>
16609
16610<p> Enable additional Postfix SMTP server logging of TLS activity.
16611Each logging level also includes the information that is logged at
16612a lower logging level.  </p>
16613
16614<dl compact>
16615
16616<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
16617
16618<dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
16619&mdash; no logging of client certificate trust-chain verification errors
16620if client certificate verification is not required.  With Postfix 2.8 and
16621earlier, log the summary message, peer certificate summary information
16622and unconditionally log trust-chain verification errors.  </dd>
16623
16624<dt> </dt> <dd> 2 Also log levels during TLS negotiation. </dd>
16625
16626<dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation
16627process. </dd>
16628
16629<dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
16630transmission after STARTTLS. </dd>
16631
16632</dl>
16633
16634<p> Do not use "<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> = 2" or higher except in case
16635of problems. Use of loglevel 4 is strongly discouraged. </p>
16636
16637<p> This feature is available in Postfix 2.2 and later.  </p>
16638
16639
16640</DD>
16641
16642<DT><b><a name="smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
16643(default: medium)</b></DT><DD>
16644
16645<p> The minimum TLS cipher grade that the Postfix SMTP server will
16646use with mandatory TLS encryption. The default grade ("medium") is
16647sufficiently strong that any benefit from globally restricting TLS
16648sessions to a more stringent grade is likely negligible, especially
16649given the fact that many implementations still do not offer any stronger
16650("high" grade) ciphers, while those that do, will always use "high"
16651grade ciphers. So insisting on "high" grade ciphers is generally
16652counter-productive. Allowing "export" or "low" ciphers is typically
16653not a good idea, as systems limited to just these are limited to
16654obsolete browsers. No known SMTP clients fail to support at least
16655one "medium" or "high" grade cipher. </p>
16656
16657<p> The following cipher grades are supported: </p>
16658
16659<dl>
16660<dt><b>export</b></dt>
16661<dd> Enable "EXPORT" grade or stronger OpenSSL ciphers.  The
16662underlying cipherlist is specified via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a>
16663configuration parameter, which you are strongly encouraged to not
16664change.  This choice is insecure and SHOULD NOT be used.  </dd>
16665
16666<dt><b>low</b></dt>
16667<dd> Enable "LOW" grade or stronger OpenSSL ciphers. The underlying
16668cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration
16669parameter, which you are strongly encouraged to not change.  This
16670choice is insecure and SHOULD NOT be used.  </dd>
16671
16672<dt><b>medium</b></dt>
16673<dd> Enable "MEDIUM" grade or stronger OpenSSL ciphers. These use 128-bit
16674or longer symmetric bulk-encryption keys. This is the default minimum
16675strength for mandatory TLS encryption. The underlying cipherlist is
16676specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a> configuration parameter, which
16677you are strongly encouraged to not change. </dd>
16678
16679<dt><b>high</b></dt>
16680<dd> Enable only "HIGH" grade OpenSSL ciphers. The
16681underlying cipherlist is specified via the <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a>
16682configuration parameter, which you are strongly encouraged to
16683not change. </dd>
16684
16685<dt><b>null</b></dt>
16686<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
16687without encryption.  This setting is only appropriate in the rare
16688case that all clients are prepared to use NULL ciphers (not normally
16689enabled in TLS clients). The underlying cipherlist is specified via the
16690<a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> configuration parameter, which you are strongly
16691encouraged to not change. </dd>
16692
16693</dl>
16694
16695<p> Cipher types listed in
16696<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
16697excluded from the base definition of the selected cipher grade. See
16698<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> for cipher controls that apply to opportunistic
16699TLS. </p>
16700
16701<p> The underlying cipherlists for grades other than "null" include
16702anonymous ciphers, but these are automatically filtered out if the
16703server is configured to ask for remote SMTP client certificates.  You are very
16704unlikely to need to take any steps to exclude anonymous ciphers, they
16705are excluded automatically as required.  If you must exclude anonymous
16706ciphers even when Postfix does not need or use peer certificates, set
16707"<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only
16708when TLS is enforced, set "<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
16709
16710<p> This feature is available in Postfix 2.3 and later. </p>
16711
16712
16713</DD>
16714
16715<DT><b><a name="smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>
16716(default: empty)</b></DT><DD>
16717
16718<p> Additional list of ciphers or cipher types to exclude from the
16719Postfix SMTP server cipher list at mandatory TLS security levels.
16720This list
16721works in addition to the exclusions listed with <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
16722(see there for syntax details).  </p>
16723
16724<p> This feature is available in Postfix 2.3 and later. </p>
16725
16726
16727</DD>
16728
16729<DT><b><a name="smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>
16730(default: !SSLv2, !SSLv3)</b></DT><DD>
16731
16732<p> The SSL/TLS protocols accepted by the Postfix SMTP server with
16733mandatory TLS encryption. If the list is empty, the server supports
16734all available SSL/TLS protocol versions.  A non-empty value is a
16735list of protocol names separated by whitespace, commas or colons.
16736The supported protocol names are "SSLv2", "SSLv3" and "TLSv1", and
16737are not case sensitive. The default value is "!SSLv2, !SSLv3" for
16738Postfix releases after the middle of 2015, "!SSLv2" for older
16739releases. </p>
16740
16741<p> With Postfix &ge; 2.5 the parameter syntax was expanded to support
16742protocol exclusions. One can explicitly exclude "SSLv2" by setting
16743"<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2". To exclude both "SSLv2" and
16744"SSLv3" set "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing
16745the protocols to include, rather than protocols to exclude, is
16746supported, but not recommended. The exclusion form more closely
16747matches the underlying OpenSSL interface semantics.  </p>
16748
16749<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
16750and "TLSv1.2". When Postfix &le; 2.5 is linked against OpenSSL 1.0.1
16751or later, these, or any other new protocol versions, cannot be
16752disabled.  The latest patch levels of Postfix &ge; 2.6, and all
16753versions of Postfix &ge; 2.10 can disable support for "TLSv1.1" or
16754"TLSv1.2". </p>
16755
16756<p> Example: </p>
16757
16758<pre>
16759# Preferred syntax with Postfix &ge; 2.5:
16760<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
16761# Legacy syntax:
16762<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = TLSv1
16763</pre>
16764
16765<p> This feature is available in Postfix 2.3 and later. </p>
16766
16767
16768</DD>
16769
16770<DT><b><a name="smtpd_tls_protocols">smtpd_tls_protocols</a>
16771(default: !SSLv2, !SSLv3)</b></DT><DD>
16772
16773<p> List of TLS protocols that the Postfix SMTP server will exclude
16774or include with opportunistic TLS encryption. The default value is
16775"!SSLv2, !SSLv3" for Postfix releases after the middle of 2015,
16776empty for older releases allowing all protocols to be
16777used with opportunistic TLS.  A non-empty value is a list of protocol
16778names separated by whitespace, commas or colons.  The supported
16779protocol names are "SSLv2", "SSLv3" and "TLSv1", and are not case
16780sensitive. </p>
16781
16782<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
16783and "TLSv1.2". The latest patch levels of Postfix &ge; 2.6, and all
16784versions of Postfix &ge; 2.10 can disable support for "TLSv1.1" or
16785"TLSv1.2". </p>
16786
16787<p> To include a protocol list its name, to exclude it, prefix the name
16788with a "!" character. To exclude SSLv2 for opportunistic TLS set
16789"<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set
16790"<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to
16791include, rather than protocols to exclude, is supported, but not
16792recommended.  The exclusion form more closely matches the underlying
16793OpenSSL interface semantics. </p>
16794
16795<p> Example: </p>
16796<pre>
16797<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3
16798</pre>
16799
16800<p> This feature is available in Postfix 2.6 and later. </p>
16801
16802
16803</DD>
16804
16805<DT><b><a name="smtpd_tls_received_header">smtpd_tls_received_header</a>
16806(default: no)</b></DT><DD>
16807
16808<p> Request that the Postfix SMTP server produces Received:  message
16809headers that include information about the protocol and cipher used,
16810as well as the remote SMTP client CommonName and client certificate issuer
16811CommonName.  This is disabled by default, as the information may
16812be modified in transit through other mail servers.  Only information
16813that was recorded by the final destination can be trusted. </p>
16814
16815<p> This feature is available in Postfix 2.2 and later.  </p>
16816
16817
16818</DD>
16819
16820<DT><b><a name="smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>
16821(default: no)</b></DT><DD>
16822
16823<p> With mandatory TLS encryption, require a trusted remote SMTP client
16824certificate in order to allow TLS connections to proceed.  This
16825option implies "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes". </p>
16826
16827<p> When TLS encryption is optional, this setting is ignored with
16828a warning written to the mail log. </p>
16829
16830<p> This feature is available in Postfix 2.2 and later.  </p>
16831
16832
16833</DD>
16834
16835<DT><b><a name="smtpd_tls_security_level">smtpd_tls_security_level</a>
16836(default: empty)</b></DT><DD>
16837
16838<p> The SMTP TLS security level for the Postfix SMTP server; when
16839a non-empty value is specified, this overrides the obsolete parameters
16840<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
16841"<a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> = yes".  </p>
16842
16843<p> Specify one of the following security levels: </p>
16844
16845<dl>
16846
16847<dt><b>none</b></dt> <dd> TLS will not be used. </dd>
16848
16849<dt><b>may</b></dt> <dd> Opportunistic TLS: announce STARTTLS support
16850to remote SMTP clients, but do not require that clients use TLS encryption.
16851</dd>
16852
16853<dt><b>encrypt</b></dt> <dd>Mandatory TLS encryption: announce
16854STARTTLS support to remote SMTP clients, and require that clients use TLS
16855encryption. According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> this MUST NOT be applied in case
16856of a publicly-referenced SMTP server. Instead, this option should
16857be used only on dedicated servers. </dd>
16858
16859</dl>
16860
16861<p> Note 1: the "fingerprint", "verify" and "secure" levels are not
16862supported here.
16863The Postfix SMTP server logs a warning and uses "encrypt" instead.
16864To verify remote SMTP client certificates, see <a href="TLS_README.html">TLS_README</a> for a discussion
16865of 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>
16866features.  </p>
16867
16868<p> Note 2: The parameter setting "<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> =
16869encrypt" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes".</p>
16870
16871<p> Note 3: when invoked via "sendmail -bs", Postfix will never
16872offer STARTTLS due to insufficient privileges to access the server
16873private key. This is intended behavior.</p>
16874
16875<p> This feature is available in Postfix 2.3 and later. </p>
16876
16877
16878</DD>
16879
16880<DT><b><a name="smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
16881(default: empty)</b></DT><DD>
16882
16883<p> Name of the file containing the optional Postfix SMTP server
16884TLS session cache. Specify a database type that supports enumeration,
16885such as <b>btree</b> or <b>sdbm</b>; there is no need to support
16886concurrent access.  The file is created if it does not exist. The <a href="smtpd.8.html">smtpd(8)</a>
16887daemon does not use this parameter directly, rather the cache is
16888implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
16889per-smtpd-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not
16890effective. Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a>
16891daemon: $<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>
16892(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
16893stored separately. It is not at this time possible to store multiple
16894caches in a single database. </p>
16895
16896<p> Note: <b>dbm</b> databases are not suitable. TLS
16897session objects are too large. </p>
16898
16899<p> As of version 2.5, Postfix no longer uses root privileges when
16900opening this file. The file should now be stored under the Postfix-owned
16901<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
16902under a non-Postfix directory is redirected to the Postfix-owned
16903<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
16904
16905<p> As of Postfix 2.11 the preferred mechanism for session resumption
16906is <a href="http://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side
16907storage.  Consequently, for Postfix &ge; 2.11 this parameter should
16908generally be left empty.  TLS session tickets require an OpenSSL
16909library (at least version 0.9.8h) that provides full support for
16910this TLS extension.  See also <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p>
16911
16912<p> Example: </p>
16913
16914<pre>
16915<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
16916</pre>
16917
16918<p> This feature is available in Postfix 2.2 and later.  </p>
16919
16920
16921</DD>
16922
16923<DT><b><a name="smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>
16924(default: 3600s)</b></DT><DD>
16925
16926<p> The expiration time of Postfix SMTP server TLS session cache
16927information. A cache cleanup is performed periodically
16928every $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> seconds. As with
16929$<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, this parameter is implemented in the
16930<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtpd-instance <a href="master.5.html">master.cf</a> overrides
16931are not possible. </p>
16932
16933<p> As of Postfix 2.11 this setting cannot exceed 100 days.  If set
16934&le; 0, session caching is disabled, not just via the database, but
16935also via <a href="http://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side
16936storage.  If set to a positive value less than 2 minutes, the minimum
16937value of 2 minutes is used instead.  TLS session tickets require
16938an OpenSSL library (at least version 0.9.8h) that provides full
16939support for this TLS extension. </p>
16940
16941<p> This feature is available in Postfix 2.2 and later, and updated
16942for TLS session ticket support in Postfix 2.11. </p>
16943
16944
16945</DD>
16946
16947<DT><b><a name="smtpd_tls_wrappermode">smtpd_tls_wrappermode</a>
16948(default: no)</b></DT><DD>
16949
16950<p> Run the Postfix SMTP server in the non-standard "wrapper" mode,
16951instead of using the STARTTLS command. </p>
16952
16953<p> If you want to support this service, enable a special port in
16954<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
16955server's command line. Port 465 (smtps) was once chosen for this
16956purpose. </p>
16957
16958<p> This feature is available in Postfix 2.2 and later.  </p>
16959
16960
16961</DD>
16962
16963<DT><b><a name="smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a>
16964(default: empty)</b></DT><DD>
16965
16966<p> The name of the proxy protocol used by an optional before-smtpd
16967proxy agent. When a proxy agent is used, this protocol conveys local
16968and remote address and port information.  Specify
16969"<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
16970protocol.  </p>
16971
16972<p> NOTE: To use the nginx proxy with <a href="smtpd.8.html">smtpd(8)</a>, enable the XCLIENT
16973protocol with <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>. This supports SASL
16974authentication in the proxy agent (Postfix 2.9 and later). <p>
16975
16976<p> This feature is available in Postfix 2.10 and later.  </p>
16977
16978
16979</DD>
16980
16981<DT><b><a name="smtpd_upstream_proxy_timeout">smtpd_upstream_proxy_timeout</a>
16982(default: 5s)</b></DT><DD>
16983
16984<p> The time limit for the proxy protocol specified with the
16985<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> parameter. </p>
16986
16987<p> This feature is available in Postfix 2.10 and later.  </p>
16988
16989
16990</DD>
16991
16992<DT><b><a name="smtpd_use_tls">smtpd_use_tls</a>
16993(default: no)</b></DT><DD>
16994
16995<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
16996but do not require that clients use TLS encryption. </p>
16997
16998<p> Note: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
16999STARTTLS due to insufficient privileges to access the server private
17000key. This is intended behavior. </p>
17001
17002<p> This feature is available in Postfix 2.2 and later. With
17003Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
17004
17005
17006</DD>
17007
17008<DT><b><a name="smtputf8_autodetect_classes">smtputf8_autodetect_classes</a>
17009(default: sendmail, verify)</b></DT><DD>
17010
17011<p> Detect that a message requires SMTPUTF8 support for the specified
17012mail origin classes.  This is a workaround to avoid chicken-and-egg
17013problems during the initial SMTPUTF8 roll-out in environments with
17014pre-existing mail flows that contain UTF8. Those mail flows should
17015not break because Postfix suddenly refuses to deliver such mail
17016to down-stream MTAs that don't announce SMTPUTF8 support.  </p>
17017
17018<p> The problem is that Postfix cannot rely solely on the sender's
17019declaration that a message requires SMTPUTF8 support, because UTF8
17020may be introduced during local processing (for example, the client
17021hostname in Postfix's Received: header, adding @$<a href="postconf.5.html#myorigin">myorigin</a> or
17022.$<a href="postconf.5.html#mydomain">mydomain</a> to an incomplete address, address rewriting, alias
17023expansion, automatic BCC recipients, local forwarding, and changes
17024made by header checks or Milter applications). </p>
17025
17026<p> For now, the default is to enable "SMTPUTF8 required" autodetection
17027only for Postfix sendmail command-line submissions and address
17028verification probes.  This may change once SMTPUTF8 support achieves
17029world domination.  However, sites that add UTF8 content via local
17030processing (see above) should autodetect the need for SMTPUTF8
17031support for all email.</p>
17032
17033<p> Specify one or more of the following: </p>
17034
17035<dl compact>
17036
17037<dt> <b> sendmail </b> </dt> <dd> Submission with the Postfix
17038<a href="sendmail.1.html">sendmail(1)</a> command. </dd>
17039
17040<dt> <b> smtpd </b> </dt> <dd> Mail received with the <a href="smtpd.8.html">smtpd(8)</a>
17041daemon. </dd>
17042
17043<dt> <b> qmqpd </b> </dt> <dd> Mail received with the <a href="qmqpd.8.html">qmqpd(8)</a>
17044daemon. </dd>
17045
17046<dt> <b> forward </b> </dt> <dd> Local forwarding or aliasing.  When
17047a message is received with "SMTPUTF8 required", then the forwarded
17048(aliased) message always has "SMTPUTF8 required".  </dd>
17049
17050<dt> <b> bounce </b> </dt> <dd> Submission by the <a href="bounce.8.html">bounce(8)</a> daemon.
17051When a message is received with "SMTPUTF8 required", then the
17052delivery status notification always has "SMTPUTF8 required".  </dd>
17053
17054<dt> <b> notify </b> </dt> <dd> Postmaster notification from the
17055<a href="smtp.8.html">smtp(8)</a> or <a href="smtpd.8.html">smtpd(8)</a> daemon. </dd>
17056
17057<dt> <b> verify </b> </dt> <dd> Address verification probe from the
17058<a href="verify.8.html">verify(8)</a> daemon.  </dd>
17059
17060<dt> <b> all </b> </dt> <dd> Enable SMTPUTF8 autodetection for all
17061mail. </dd>
17062
17063</dl>
17064
17065<p> This feature is available in Postfix 3.0 and later. </p>
17066
17067
17068</DD>
17069
17070<DT><b><a name="smtputf8_enable">smtputf8_enable</a>
17071(default: yes)</b></DT><DD>
17072
17073<p> Enable preliminary SMTPUTF8 support for the protocols described
17074in <a href="http://tools.ietf.org/html/rfc6531">RFC 6531</a>..6533. This requires that Postfix is built to support
17075these protocols. </p>
17076
17077<p> This feature is available in Postfix 3.0 and later. </p>
17078
17079
17080</DD>
17081
17082<DT><b><a name="soft_bounce">soft_bounce</a>
17083(default: no)</b></DT><DD>
17084
17085<p>
17086Safety net to keep mail queued that would otherwise be returned to
17087the sender.  This parameter disables locally-generated bounces,
17088changes the handling of negative responses from remote servers,
17089content filters or plugins,
17090and prevents the Postfix SMTP server from rejecting mail permanently
17091by changing 5xx reply codes into 4xx.  However, <a href="postconf.5.html#soft_bounce">soft_bounce</a> is no
17092cure for address rewriting mistakes or mail routing mistakes.
17093</p>
17094
17095<p>
17096Note: "<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes" is in some cases implemented by modifying
17097server responses. Therefore, the response that Postfix logs may
17098differ from the response that Postfix actually sends or receives.
17099</p>
17100
17101<p>
17102Example:
17103</p>
17104
17105<pre>
17106<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes
17107</pre>
17108
17109
17110</DD>
17111
17112<DT><b><a name="stale_lock_time">stale_lock_time</a>
17113(default: 500s)</b></DT><DD>
17114
17115<p>
17116The time after which a stale exclusive mailbox lockfile is removed.
17117This is used for delivery to file or mailbox.
17118</p>
17119
17120<p>
17121Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
17122The default time unit is s (seconds).
17123</p>
17124
17125
17126</DD>
17127
17128<DT><b><a name="stress">stress</a>
17129(default: empty)</b></DT><DD>
17130
17131<p> This feature is documented in the <a href="STRESS_README.html">STRESS_README</a> document. </p>
17132
17133<p> This feature is available in Postfix 2.5 and later. </p>
17134
17135
17136</DD>
17137
17138<DT><b><a name="strict_7bit_headers">strict_7bit_headers</a>
17139(default: no)</b></DT><DD>
17140
17141<p>
17142Reject mail with 8-bit text in message headers. This blocks mail
17143from poorly written applications.
17144</p>
17145
17146<p>
17147This feature should not be enabled on a general purpose mail server,
17148because it is likely to reject legitimate email.
17149</p>
17150
17151<p>
17152This feature is available in Postfix 2.0 and later.
17153</p>
17154
17155
17156</DD>
17157
17158<DT><b><a name="strict_8bitmime">strict_8bitmime</a>
17159(default: no)</b></DT><DD>
17160
17161<p>
17162Enable 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>.
17163</p>
17164
17165<p>
17166This feature should not be enabled on a general purpose mail server,
17167because it is likely to reject legitimate email.
17168</p>
17169
17170<p>
17171This feature is available in Postfix 2.0 and later.
17172</p>
17173
17174
17175</DD>
17176
17177<DT><b><a name="strict_8bitmime_body">strict_8bitmime_body</a>
17178(default: no)</b></DT><DD>
17179
17180<p>
17181Reject 8-bit message body text without 8-bit MIME content encoding
17182information.  This blocks mail from poorly written applications.
17183</p>
17184
17185<p>
17186Unfortunately, this also rejects majordomo approval requests when
17187the included request contains valid 8-bit MIME mail, and it rejects
17188bounces from mailers that do not MIME encapsulate 8-bit content
17189(for example, bounces from qmail or from old versions of Postfix).
17190</p>
17191
17192<p>
17193This feature should not be enabled on a general purpose mail server,
17194because it is likely to reject legitimate email.
17195</p>
17196
17197<p>
17198This feature is available in Postfix 2.0 and later.
17199</p>
17200
17201
17202</DD>
17203
17204<DT><b><a name="strict_mailbox_ownership">strict_mailbox_ownership</a>
17205(default: yes)</b></DT><DD>
17206
17207<p> Defer delivery when a mailbox file is not owned by its recipient.
17208The default setting is not backwards compatible.  </p>
17209
17210<p> This feature is available in Postfix 2.5.3 and later. </p>
17211
17212
17213</DD>
17214
17215<DT><b><a name="strict_mime_encoding_domain">strict_mime_encoding_domain</a>
17216(default: no)</b></DT><DD>
17217
17218<p>
17219Reject mail with invalid Content-Transfer-Encoding: information
17220for the message/* or multipart/* MIME content types.  This blocks
17221mail from poorly written software.
17222</p>
17223
17224<p>
17225This feature should not be enabled on a general purpose mail server,
17226because it will reject mail after a single violation.
17227</p>
17228
17229<p>
17230This feature is available in Postfix 2.0 and later.
17231</p>
17232
17233
17234</DD>
17235
17236<DT><b><a name="strict_rfc821_envelopes">strict_rfc821_envelopes</a>
17237(default: no)</b></DT><DD>
17238
17239<p>
17240Require that addresses received in SMTP MAIL FROM and RCPT TO
17241commands are enclosed with &lt;&gt;, and that those addresses do
17242not contain <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> style comments or phrases.  This stops mail
17243from poorly written software.
17244</p>
17245
17246<p>
17247By default, the Postfix SMTP server accepts <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> syntax in MAIL
17248FROM and RCPT TO addresses.
17249</p>
17250
17251
17252</DD>
17253
17254<DT><b><a name="strict_smtputf8">strict_smtputf8</a>
17255(default: no)</b></DT><DD>
17256
17257<p> Enable stricter enforcement of the SMTPUTF8 protocol. The Postfix
17258SMTP server accepts UTF8 sender or recipient addresses only when
17259the client requests an SMTPUTF8 mail transaction. </p>
17260
17261<p> This feature is available in Postfix 3.0 and later. </p>
17262
17263
17264</DD>
17265
17266<DT><b><a name="sun_mailtool_compatibility">sun_mailtool_compatibility</a>
17267(default: no)</b></DT><DD>
17268
17269<p>
17270Obsolete SUN mailtool compatibility feature. Instead, use
17271"<a href="postconf.5.html#mailbox_delivery_lock">mailbox_delivery_lock</a> = dotlock".
17272</p>
17273
17274
17275</DD>
17276
17277<DT><b><a name="swap_bangpath">swap_bangpath</a>
17278(default: yes)</b></DT><DD>
17279
17280<p>
17281Enable the rewriting of "site!user" into "user@site".  This is
17282necessary if your machine is connected to UUCP networks.  It is
17283enabled by default.
17284</p>
17285
17286<p> Note: with Postfix version 2.2, message header address rewriting
17287happens only when one of the following conditions is true: </p>
17288
17289<ul>
17290
17291<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
17292
17293<li> The message is received from a network client that matches
17294$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
17295
17296<li> The message is received from the network, and the
17297<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
17298
17299</ul>
17300
17301<p> To get the behavior before Postfix version 2.2, specify
17302"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
17303
17304<p>
17305Example:
17306</p>
17307
17308<pre>
17309<a href="postconf.5.html#swap_bangpath">swap_bangpath</a> = no
17310</pre>
17311
17312
17313</DD>
17314
17315<DT><b><a name="syslog_facility">syslog_facility</a>
17316(default: mail)</b></DT><DD>
17317
17318<p>
17319The syslog facility of Postfix logging. Specify a facility as
17320defined in syslog.conf(5). The default facility is "mail".
17321</p>
17322
17323<p>
17324Warning: a non-default <a href="postconf.5.html#syslog_facility">syslog_facility</a> setting takes effect only
17325after a Postfix process has completed initialization.  Errors during
17326process initialization will be logged with the default facility.
17327Examples are errors while parsing the command line arguments, and
17328errors while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
17329</p>
17330
17331
17332</DD>
17333
17334<DT><b><a name="syslog_name">syslog_name</a>
17335(default: see "postconf -d" output)</b></DT><DD>
17336
17337<p>
17338The mail system name that is prepended to the process name in syslog
17339records, so that "smtpd" becomes, for example, "postfix/smtpd".
17340</p>
17341
17342<p>
17343Warning: a non-default <a href="postconf.5.html#syslog_name">syslog_name</a> setting takes effect only after
17344a Postfix process has completed initialization. Errors during
17345process initialization will be logged with the default name. Examples
17346are errors while parsing the command line arguments, and errors
17347while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
17348</p>
17349
17350
17351</DD>
17352
17353<DT><b><a name="tcp_windowsize">tcp_windowsize</a>
17354(default: 0)</b></DT><DD>
17355
17356<p> An optional workaround for routers that break TCP window scaling.
17357Specify a value &gt; 0 and &lt; 65536 to enable this feature.  With
17358Postfix TCP servers (<a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a>), this feature is implemented
17359by the Postfix <a href="master.8.html">master(8)</a> daemon.  </p>
17360
17361<p> To change this parameter without stopping Postfix, you need to
17362first terminate all Postfix TCP servers: </p>
17363
17364<blockquote>
17365<pre>
17366# postconf -e <a href="postconf.5.html#master_service_disable">master_service_disable</a>=inet
17367# postfix reload
17368</pre>
17369</blockquote>
17370
17371<p> This immediately terminates all processes that accept network
17372connections.  Next, you enable Postfix TCP servers with the updated
17373<a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> setting: </p>
17374
17375<blockquote>
17376<pre>
17377# 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>=
17378# postfix reload
17379</pre>
17380</blockquote>
17381
17382<p> If you skip these steps with a running Postfix system, then the
17383<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>,
17384<a href="lmtp.8.html">lmtp(8)</a>).  </p>
17385
17386<p> This feature is available in Postfix 2.6 and later. </p>
17387
17388
17389</DD>
17390
17391<DT><b><a name="tls_append_default_CA">tls_append_default_CA</a>
17392(default: no)</b></DT><DD>
17393
17394<p> Append the system-supplied default Certification Authority
17395certificates to the ones specified with *_tls_CApath or *_tls_CAfile.
17396The default is "no"; this prevents Postfix from trusting third-party
17397certificates and giving them relay permission with
17398<a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>.  </p>
17399
17400<p> This feature is available in Postfix 2.4.15, 2.5.11, 2.6.8,
174012.7.2 and later versions. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = yes" for
17402backwards compatibility, to avoid breaking certificate verification
17403with sites that don't use <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p>
17404
17405
17406</DD>
17407
17408<DT><b><a name="tls_daemon_random_bytes">tls_daemon_random_bytes</a>
17409(default: 32)</b></DT><DD>
17410
17411<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>
17412process requests from the <a href="tlsmgr.8.html">tlsmgr(8)</a> server in order to seed its
17413internal pseudo random number generator (PRNG).  The default of 32
17414bytes (equivalent to 256 bits) is sufficient to generate a 128bit
17415(or 168bit) session key. </p>
17416
17417<p> This feature is available in Postfix 2.2 and later.  </p>
17418
17419
17420</DD>
17421
17422<DT><b><a name="tls_dane_digest_agility">tls_dane_digest_agility</a>
17423(default: on)</b></DT><DD>
17424
17425<p> Configure DANE TLSA digest algorithm agility.  When digest
17426algorithm agility is enabled, and the server and client support a
17427common strong digest algorithm, TLSA records with weaker digest
17428algorithms are ignored.  </p>
17429
17430<p> Specify one of the following: </p>
17431
17432<dl>
17433
17434<dt><b>off</b></dt>
17435<dd> DANE verification examines each well-formed record in the TLSA
17436RRset whose matching type is either "0" (no hash used) or is one of
17437the digest algorithms listed in $<a href="postconf.5.html#tls_dane_digests">tls_dane_digests</a>.  This setting
17438is not recommended.  </dd>
17439
17440<dt><b>on</b></dt>
17441<dd> From each group of well-formed TLSA RRs a non-zero digest
17442matching type with the same certificate usage and selector, DANE
17443verification examines only those records whose matching type has
17444the highest precedence (appear earliest in $<a href="postconf.5.html#tls_dane_digests">tls_dane_digests</a>).
17445</dd>
17446
17447<dt><b>maybe</b></dt>
17448<dd> For compatibility with digest algorithm agility, each certificate
17449or public key whose digest is included in a DANE TLSA RRset, SHOULD
17450be published with the same set of digest matching type values as
17451any other with the same usage and selector.  Therefore, compatible
17452TLSA RRsets will contain an identical count of well-formed RRs with
17453each non-zero digest matching type for any fixed combination of
17454usage and selector.  When this constraint is violated, or any of
17455the digest records are malformed, digest algorithm agility will
17456disabled.  Otherwise, digest algorithm agility is enabled.   </dd>
17457
17458</dl>
17459
17460<p> Digest algorithm agility ensures that the strongest digest
17461supported by both the Postfix SMTP client and the remote server is
17462used, and weaker digests are ignored.  This supports non-disruptive
17463deprecation of outdated digest algorithms. </p>
17464
17465<p> To ensure compatibility with digest algorithm agility during
17466key rotation, when a certificate or public key is being replaced
17467with another, and both are published during the transition, both
17468the old and the new certificate MUST be specified with the same set
17469of digests.  One can change the list of digest algorithms later,
17470once old keys are retired.  At any given time, change either the
17471list of digests without changing the list of certificates or public
17472keys or the list of certificates or public keys without changing
17473the list of digests.  Full value matching type "0" records are not
17474subject to this constraint, but are discouraged due to the size of
17475the resulting DNS records.  </p>
17476
17477<p> It is expected that this algorithm agility mechanism will be
17478published in a standards track RFC for SMTP with DANE, and also in
17479an eventual update to <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>. </p>
17480
17481<p> This feature is available in Postfix 2.11 and later. </p>
17482
17483
17484</DD>
17485
17486<DT><b><a name="tls_dane_digests">tls_dane_digests</a>
17487(default: sha512 sha256)</b></DT><DD>
17488
17489<p> <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> TLSA resource-record "matching type" digest algorithms
17490in descending preference order.  All the specified algorithms must
17491be supported by the underlying OpenSSL library, otherwise the Postfix
17492SMTP client will not support DANE TLSA security.  </p>
17493
17494<p> Specify a list of digest names separated by commas and/or
17495whitespace.  Each digest name may be followed by an optional
17496"=&lt;number&gt;" suffix.  For example, "sha512" may instead be specified
17497as "sha512=2" and "sha256" may instead be specified as "sha256=1".
17498The optional number must match the <a
17499href="https://www.iana.org/assignments/dane-parameters/dane-parameters.xhtml#matching-types"
17500>IANA</a> assigned TLSA matching type number the algorithm in question.
17501Postfix will check this constraint for the algorithms it knows about.
17502Additional matching type algorithms registered with IANA can be added
17503with explicit numbers provided they are supported by OpenSSL. </p>
17504
17505<p> Invalid list elements are logged with a warning and disable DANE
17506support.  TLSA RRs that specify digests not included in the list are
17507ignored with a warning. </p>
17508
17509<p> Note: It is unwise to omit sha256 from the digest list.  This
17510digest algorithm is the only mandatory to implement digest algorithm
17511in <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>, and many servers are expected publish TLSA records
17512with just sha256 digests.  Unless one of the standard digests is
17513seriously compromised and servers have had ample time to update their
17514TLSA records you should not omit any standard digests, just arrange
17515them in order from strongest to weakest.  </p>
17516
17517<p> When for a particular combination of "certificate usage" and
17518"selector" the TLSA RRset contains records with more than one digest
17519matching type, the tls_dane_digest_agility parameter determines
17520whether all the RRs are used, or only those with the most preferred
17521digest matching type.  </p>
17522
17523<p> The <a href="postconf.5.html#tls_dane_trust_anchor_digest_enable">tls_dane_trust_anchor_digest_enable</a> parameter controls
17524whether any digest TLSA records are acceptable in usage "2" (trust
17525anchor assertion) TLSA records. </p>
17526
17527<p> This feature is available in Postfix 2.11 and later. </p>
17528
17529
17530</DD>
17531
17532<DT><b><a name="tls_dane_trust_anchor_digest_enable">tls_dane_trust_anchor_digest_enable</a>
17533(default: yes)</b></DT><DD>
17534
17535<p> <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> trust-anchor digest support in the Postfix TLS library.
17536Enable support for <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE TLSA) DNS records that contain
17537digests of trust-anchors with certificate usage "2".  In this case
17538the certificate usage logically requires the server administrator
17539to configure the server to include the trust-anchor certificate in
17540the server's SSL certificate chain.  If enough domains mess this
17541up, you can disable support for these TLSA records, but you'll no
17542longer have secure connections that get it right and only publish
17543trust anchor records.  </p>
17544
17545<p> At the <a href="TLS_README.html#client_tls_dane">dane</a>
17546security level, when a TLSA RRset includes only unusable associations,
17547the Postfix SMTP client will automatically switch the connection
17548to the <a href="TLS_README.html#client_tls_encrypt">encrypt</a>
17549security level.  At the <a
17550href="TLS_README.html#client_tls_dane">dane-only</a> security level,
17551the server in question is skipped and delivery is deferred if no
17552secure servers are found.  </p>
17553
17554<p> The <a href="postconf.5.html#tls_dane_digests">tls_dane_digests</a> parameter controls the list of digest
17555algorithms that are supported in TLSA records.  The tls_dane_digest_agility
17556parameter controls digest algorithm downgrade attack resistance.
17557</p>
17558
17559<p> This feature is available in Postfix 2.11 and later.  </p>
17560
17561
17562</DD>
17563
17564<DT><b><a name="tls_disable_workarounds">tls_disable_workarounds</a>
17565(default: see "postconf -d" output)</b></DT><DD>
17566
17567<p> List or bit-mask of OpenSSL bug work-arounds to disable. </p>
17568
17569<p> The OpenSSL toolkit includes a set of work-arounds for buggy SSL/TLS
17570implementations. Applications, such as Postfix, that want to maximize
17571interoperability ask the OpenSSL library to enable the full set of
17572recommended work-arounds. </p>
17573
17574<p> From time to time, it is discovered that a work-around creates a
17575security issue, and should no longer be used. If upgrading OpenSSL
17576to a fixed version is not an option or an upgrade is not available
17577in a timely manner, or in closed environments where no buggy clients
17578or servers exist, it may be appropriate to disable some or all of the
17579OpenSSL interoperability work-arounds. This parameter specifies which
17580bug work-arounds to disable. </p>
17581
17582<p> If the value of the parameter is a hexadecimal long integer starting
17583with "0x", the bug work-arounds corresponding to the bits specified in
17584its value are removed from the <b>SSL_OP_ALL</b> work-around bit-mask
17585(see openssl/ssl.h and SSL_CTX_set_options(3)). You can specify more
17586bits than are present in SSL_OP_ALL, excess bits are ignored. Specifying
175870xFFFFFFFF disables all bug-workarounds on a 32-bit system. This should
17588also be sufficient on 64-bit systems, until OpenSSL abandons support
17589for 32-bit systems and starts using the high 32 bits of a 64-bit
17590bug-workaround mask. </p>
17591
17592<p> Otherwise, the parameter is a white-space or comma separated list
17593of specific named bug work-arounds chosen from the list below. It
17594is possible that your OpenSSL version includes new bug work-arounds
17595added after your Postfix source code was last updated, in that case
17596you can only disable one of these via the hexadecimal syntax above. </p>
17597
17598<dl>
17599
17600<dt><b>MICROSOFT_SESS_ID_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
17601
17602<dt><b>NETSCAPE_CHALLENGE_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
17603
17604<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
17605
17606<dt><b>NETSCAPE_REUSE_CIPHER_CHANGE_BUG</b></dt> <dd> also aliased
17607as <b>CVE-2010-4180</b>. Postfix 2.8 disables this work-around by
17608default with OpenSSL versions that may predate the fix. Fixed in
17609OpenSSL 0.9.8q and OpenSSL 1.0.0c.</dd>
17610
17611<dt><b>SSLREF2_REUSE_CERT_TYPE_BUG</b></dt> <dd>See
17612SSL_CTX_set_options(3)</dd>
17613
17614<dt><b>MICROSOFT_BIG_SSLV3_BUFFER</b></dt> <dd>See
17615SSL_CTX_set_options(3)</dd>
17616
17617<dt><b>MSIE_SSLV2_RSA_PADDING</b></dt> <dd> also aliased as
17618<b>CVE-2005-2969</b>. Postfix 2.8 disables this work-around by
17619default with OpenSSL versions that may predate the fix. Fixed in
17620OpenSSL 0.9.7h and OpenSSL 0.9.8a.</dd>
17621
17622<dt><b>SSLEAY_080_CLIENT_DH_BUG</b></dt> <dd>See
17623SSL_CTX_set_options(3)</dd>
17624
17625<dt><b>TLS_D5_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
17626
17627<dt><b>TLS_BLOCK_PADDING_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
17628
17629<dt><b>TLS_ROLLBACK_BUG</b></dt> <dd>See SSL_CTX_set_options(3).
17630This is disabled in OpenSSL 0.9.7 and later. Nobody should still
17631be using 0.9.6! </dd>
17632
17633<dt><b>DONT_INSERT_EMPTY_FRAGMENTS</b></dt> <dd>See
17634SSL_CTX_set_options(3)</dd>
17635
17636<dt><b>CRYPTOPRO_TLSEXT_BUG</b></dt> <dd>New with GOST support in
17637OpenSSL 1.0.0.</dd>
17638
17639</dl>
17640
17641<p> This feature is available in Postfix 2.8 and later.  </p>
17642
17643
17644</DD>
17645
17646<DT><b><a name="tls_eecdh_strong_curve">tls_eecdh_strong_curve</a>
17647(default: prime256v1)</b></DT><DD>
17648
17649<p> The elliptic curve used by the Postfix SMTP server for sensibly
17650strong
17651ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
17652server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The phrase "sensibly
17653strong" means approximately 128-bit security based on best known
17654attacks. The selected curve must be implemented by OpenSSL (as
17655reported by ecparam(1) with the "-list_curves" option) and be one
17656of the curves listed in Section 5.1.1 of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not
17657generally change this setting.  Remote SMTP client implementations
17658must support this curve for EECDH key exchange to take place.  It
17659is unwise to choose an "exotic" curve supported by only a small subset
17660of clients.  </p>
17661
17662<p> The default "strong" curve is rated in NSA <a
17663href="http://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
17664B</a> for information classified up to SECRET.  </p>
17665
17666<p> Note: elliptic curve names are poorly standardized; different
17667standards groups are assigning different names to the same underlying
17668curves.  The curve with the X9.62 name "prime256v1" is also known
17669under the SECG name "secp256r1", but OpenSSL does not recognize the
17670latter name. </p>
17671
17672<p> If you want to take maximal advantage of ciphers that offer <a
17673href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
17674the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
17675started</a> section of <a
17676href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
17677full document conveniently presents all information about Postfix
17678"perfect" forward secrecy support in one place: what forward secrecy
17679is, how to tweak settings, and what you can expect to see when
17680Postfix uses ciphers with forward secrecy.  </p>
17681
17682<p> This feature is available in Postfix 2.6 and later, when it is
17683compiled and linked with OpenSSL 1.0.0 or later on platforms where
17684EC algorithms have not been disabled by the vendor. </p>
17685
17686
17687</DD>
17688
17689<DT><b><a name="tls_eecdh_ultra_curve">tls_eecdh_ultra_curve</a>
17690(default: secp384r1)</b></DT><DD>
17691
17692<p> The elliptic curve used by the Postfix SMTP server for maximally
17693strong
17694ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
17695server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = ultra". The phrase "maximally
17696strong" means approximately 192-bit security based on best known attacks.
17697This additional strength comes at a significant computational cost, most
17698users should instead set "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong".  The selected
17699curve must be implemented by OpenSSL (as reported by ecparam(1) with the
17700"-list_curves" option) and be one of the curves listed in Section 5.1.1
17701of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not generally change this setting. </p>
17702
17703<p> This default "ultra" curve is rated in NSA <a
17704href="http://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
17705B</a> for information classified up to TOP SECRET. </p>
17706
17707<p> If you want to take maximal advantage of ciphers that offer <a
17708href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
17709the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
17710started</a> section of <a
17711href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
17712full document conveniently presents all information about Postfix
17713"perfect" forward secrecy support in one place: what forward secrecy
17714is, how to tweak settings, and what you can expect to see when
17715Postfix uses ciphers with forward secrecy.  </p>
17716
17717<p> This feature is available in Postfix 2.6 and later, when it is
17718compiled and linked with OpenSSL 1.0.0 or later on platforms where
17719EC algorithms have not been disabled by the vendor. </p>
17720
17721
17722</DD>
17723
17724<DT><b><a name="tls_export_cipherlist">tls_export_cipherlist</a>
17725(default: see "postconf -d" output)</b></DT><DD>
17726
17727<p> The OpenSSL cipherlist for "export" or higher grade ciphers. This
17728defines the meaning of the "export" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
17729<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>,
17730<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>.  With Postfix
17731releases before the middle of 2015 this is the default cipherlist
17732for the opportunistic ("may") TLS client security level and also
17733the default cipherlist for the SMTP server. You are strongly
17734encouraged to not change this setting.  </p>
17735
17736<p> This feature is available in Postfix 2.3 and later. </p>
17737
17738
17739</DD>
17740
17741<DT><b><a name="tls_high_cipherlist">tls_high_cipherlist</a>
17742(default: see "postconf -d" output)</b></DT><DD>
17743
17744<p> The OpenSSL cipherlist for "high" grade ciphers. This defines
17745the meaning of the "high" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
17746<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>,
17747<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
17748encouraged to not change this setting.  </p>
17749
17750<p> This feature is available in Postfix 2.3 and later. </p>
17751
17752
17753</DD>
17754
17755<DT><b><a name="tls_legacy_public_key_fingerprints">tls_legacy_public_key_fingerprints</a>
17756(default: no)</b></DT><DD>
17757
17758<p> A temporary migration aid for sites that use certificate
17759<i>public-key</i> fingerprints with Postfix 2.9.0..2.9.5, which use
17760an incorrect algorithm. This parameter has no effect on the certificate
17761fingerprint support that is available since Postfix 2.2. </p>
17762
17763<p> Specify "<a href="postconf.5.html#tls_legacy_public_key_fingerprint">tls_legacy_public_key_fingerprints</a> = yes" temporarily,
17764pending a migration from configuration files with incorrect Postfix
177652.9.0..2.9.5 certificate public-key finger prints, to the correct
17766fingerprints used by Postfix 2.9.6 and later.  To compute the correct
17767certificate public-key fingerprints, see <a href="TLS_README.html">TLS_README</a>. </p>
17768
17769<p> This feature is available in Postfix 2.9.6 and later.  </p>
17770
17771
17772</DD>
17773
17774<DT><b><a name="tls_low_cipherlist">tls_low_cipherlist</a>
17775(default: see "postconf -d" output)</b></DT><DD>
17776
17777<p> The OpenSSL cipherlist for "low" or higher grade ciphers. This defines
17778the meaning of the "low" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
17779<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>,
17780<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
17781encouraged to not change this setting.  </p>
17782
17783<p> This feature is available in Postfix 2.3 and later. </p>
17784
17785
17786</DD>
17787
17788<DT><b><a name="tls_medium_cipherlist">tls_medium_cipherlist</a>
17789(default: see "postconf -d" output)</b></DT><DD>
17790
17791<p> The OpenSSL cipherlist for "medium" or higher grade ciphers. This
17792defines the meaning of the "medium" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
17793<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>,
17794<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
17795default cipherlist for mandatory TLS encryption in the TLS client
17796(with anonymous ciphers disabled when verifying server certificates).
17797This is the default cipherlist for opportunistic TLS with Postfix
17798releases after the middle of 2015.  You are strongly encouraged to
17799not change this setting.  </p>
17800
17801<p> This feature is available in Postfix 2.3 and later. </p>
17802
17803
17804</DD>
17805
17806<DT><b><a name="tls_null_cipherlist">tls_null_cipherlist</a>
17807(default: eNULL:!aNULL)</b></DT><DD>
17808
17809<p> The OpenSSL cipherlist for "NULL" grade ciphers that provide
17810authentication without encryption. This defines the meaning of the "null"
17811setting in smtpd_mandatory_tls_ciphers, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
17812<a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>.  You are strongly encouraged to not
17813change this setting. </p>
17814
17815<p> This feature is available in Postfix 2.3 and later. </p>
17816
17817
17818</DD>
17819
17820<DT><b><a name="tls_preempt_cipherlist">tls_preempt_cipherlist</a>
17821(default: no)</b></DT><DD>
17822
17823<p> With SSLv3 and later, use the Postfix SMTP server's cipher
17824preference order instead of the remote client's cipher preference
17825order. </p>
17826
17827<p> By default, the OpenSSL server selects the client's most preferred
17828cipher that the server supports. With SSLv3 and later, the server may
17829choose its own most preferred cipher that is supported (offered) by
17830the client. Setting "<a href="postconf.5.html#tls_preempt_cipherlist">tls_preempt_cipherlist</a> = yes" enables server cipher
17831preferences. </p>
17832
17833<p> While server cipher selection may in some cases lead to a more secure
17834or performant cipher choice, there is some risk of interoperability
17835issues. In the past, some SSL clients have listed lower priority ciphers
17836that they did not implement correctly. If the server chooses a cipher
17837that the client prefers less, it may select a cipher whose client
17838implementation is flawed. Most notably Windows 2003 Microsoft
17839Exchange servers have flawed implementations of DES-CBC3-SHA, which
17840OpenSSL considers stronger than RC4-SHA.  Enabling server cipher-suite
17841selection may create interoperability issues with Windows 2003
17842Microsoft Exchange clients.  </p>
17843
17844<p> This feature is available in Postfix 2.8 and later, in combination
17845with OpenSSL 0.9.7 and later. </p>
17846
17847
17848</DD>
17849
17850<DT><b><a name="tls_random_bytes">tls_random_bytes</a>
17851(default: 32)</b></DT><DD>
17852
17853<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>
17854when (re)seeding the in-memory pseudo random number generator (PRNG)
17855pool. The default of 32 bytes (256 bits) is good enough for 128bit
17856symmetric keys.  If using EGD or a device file, a maximum of 255
17857bytes is read. </p>
17858
17859<p> This feature is available in Postfix 2.2 and later.  </p>
17860
17861
17862</DD>
17863
17864<DT><b><a name="tls_random_exchange_name">tls_random_exchange_name</a>
17865(default: see "postconf -d" output)</b></DT><DD>
17866
17867<p> Name of the pseudo random number generator (PRNG) state file
17868that is maintained by <a href="tlsmgr.8.html">tlsmgr(8)</a>. The file is created when it does
17869not exist, and its length is fixed at 1024 bytes.  </p>
17870
17871<p> As of version 2.5, Postfix no longer uses root privileges when
17872opening this file, and the default file location was changed from
17873${<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
17874a migration aid, an attempt to open the file under a non-Postfix
17875directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
17876warning is logged. </p>
17877
17878<p> This feature is available in Postfix 2.2 and later.  </p>
17879
17880
17881</DD>
17882
17883<DT><b><a name="tls_random_prng_update_period">tls_random_prng_update_period</a>
17884(default: 3600s)</b></DT><DD>
17885
17886<p> The time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to save the state of
17887the pseudo random number generator (PRNG) to the file specified
17888with $<a href="postconf.5.html#tls_random_exchange_name">tls_random_exchange_name</a>.  </p>
17889
17890<p> This feature is available in Postfix 2.2 and later.  </p>
17891
17892
17893</DD>
17894
17895<DT><b><a name="tls_random_reseed_period">tls_random_reseed_period</a>
17896(default: 3600s)</b></DT><DD>
17897
17898<p> The maximal time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to re-seed the
17899in-memory pseudo random number generator (PRNG) pool from external
17900sources.  The actual time between re-seeding attempts is calculated
17901using the PRNG, and is between 0 and the time specified.  </p>
17902
17903<p> This feature is available in Postfix 2.2 and later.  </p>
17904
17905
17906</DD>
17907
17908<DT><b><a name="tls_random_source">tls_random_source</a>
17909(default: see "postconf -d" output)</b></DT><DD>
17910
17911<p> The external entropy source for the in-memory <a href="tlsmgr.8.html">tlsmgr(8)</a> pseudo
17912random number generator (PRNG) pool. Be sure to specify a non-blocking
17913source.  If this source is not a regular file, the entropy source
17914type must be prepended:  egd:/path/to/egd_socket for a source with
17915EGD compatible socket interface, or dev:/path/to/device for a
17916device file.  </p>
17917
17918<p> Note: on OpenBSD systems specify /dev/arandom when /dev/urandom
17919gives timeout errors.  </p>
17920
17921<p> This feature is available in Postfix 2.2 and later.  </p>
17922
17923
17924</DD>
17925
17926<DT><b><a name="tls_session_ticket_cipher">tls_session_ticket_cipher</a>
17927(default: Postfix &ge; 3.0: aes-256-cbc, Postfix &lt; 3.0: aes-128-cbc)</b></DT><DD>
17928
17929<p> Algorithm used to encrypt <a href="http://tools.ietf.org/html/rfc5077">RFC5077</a> TLS session tickets.  This
17930algorithm must use CBC mode, have a 128-bit block size, and must
17931have a key length between 128 and 256 bits.  The default is
17932aes-256-cbc.  Overriding the default to choose a different algorithm
17933is discouraged.  </p>
17934
17935<p> Setting this parameter empty disables session ticket support
17936in the Postfix SMTP server.  Another way to disable session ticket
17937support is via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter.  </p>
17938
17939<p> This feature is available in Postfix 3.0 and later. </p>
17940
17941
17942</DD>
17943
17944<DT><b><a name="tls_ssl_options">tls_ssl_options</a>
17945(default: empty)</b></DT><DD>
17946
17947<p> List or bit-mask of OpenSSL options to enable. </p>
17948
17949<p> The OpenSSL toolkit provides a set of options that applications
17950can enable to tune the OpenSSL behavior.  Some of these work around
17951bugs in other implementations and are on by default.  You can use
17952the <a href="postconf.5.html#tls_disable_workarounds">tls_disable_workarounds</a> parameter to selectively disable some
17953or all of the bug work-arounds, making OpenSSL more strict at the
17954cost of non-interoperability with SSL clients or servers that exhibit
17955the bugs.  </p>
17956
17957<p> Other options are off by default, and typically enable or disable
17958features rather than bug work-arounds.  These may be turned on (with
17959care) via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter.  The value is a white-space
17960or comma separated list of named options chosen from the list below.
17961The names are not case-sensitive, you can use lower-case if you
17962prefer.  The upper case values below match the corresponding macro
17963name in the ssl.h header file with the SSL_OP_ prefix removed.  It
17964is possible that your OpenSSL version includes new options added
17965after your Postfix source code was last updated, in that case you
17966can only enable one of these via the hexadecimal syntax below.  </p>
17967
17968<p> You should only enable features via the hexadecimal mask when
17969the need to control the feature is critical (to deal with a new
17970vulnerability or a serious interoperability problem).  Postfix DOES
17971NOT promise backwards compatible behavior with respect to the mask
17972bits.  A feature enabled via the mask in one release may be enabled
17973by other means in a later release, and the mask bit will then be
17974ignored.  Therefore, use of the hexadecimal mask is only a temporary
17975measure until a new Postfix or OpenSSL release provides a better
17976solution.  </p>
17977
17978<p> If the value of the parameter is a hexadecimal long integer
17979starting with "0x", the options corresponding to the bits specified
17980in its value are enabled (see openssl/ssl.h and SSL_CTX_set_options(3)).
17981You can only enable options not already controlled by other Postfix
17982settings.  For example, you cannot disable protocols or enable
17983server cipher preference.  Do not attempt to turn all features by
17984specifying 0xFFFFFFFF, this is unlikely to be a good idea.  </p>
17985
17986<dl>
17987
17988<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3).</dd>
17989
17990<dt><b>NO_TICKET</b></dt> <dd>See SSL_CTX_set_options(3).</dd>
17991
17992<dt><b>NO_COMPRESSION</b></dt> <dd>Disable SSL compression even if
17993supported by the OpenSSL library.  Compression is CPU-intensive,
17994and compression before encryption does not always improve security.  </dd>
17995
17996</dl>
17997
17998<p> This feature is available in Postfix 2.11 and later.  </p>
17999
18000
18001</DD>
18002
18003<DT><b><a name="tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a>
18004(default: yes)</b></DT><DD>
18005
18006<p> Match multiple DNS labels with "*" in wildcard certificates.
18007</p>
18008
18009<p> Some mail service providers prepend the customer domain name
18010to a base domain for which they have a wildcard TLS certificate.
18011For example, the MX records for example.com hosted by example.net
18012may be: </p>
18013
18014<blockquote>
18015<pre>
18016example.com. IN MX 0 example.com.mx1.example.net.
18017example.com. IN MX 0 example.com.mx2.example.net.
18018</pre>
18019</blockquote>
18020
18021<p> and the TLS certificate may be for "*.example.net". The "*"
18022then corresponds with multiple labels in the mail server domain
18023name.  While multi-label wildcards are not widely supported, and
18024are not blessed by any standard, there is little to be gained by
18025disallowing their use in this context.  </p>
18026
18027<p> Notes: <p>
18028
18029<ul>
18030
18031<li> <p> In a certificate name, the "*" is special only when it is
18032used as the first label. </p>
18033
18034<li> <p> While Postfix (2.11 or later) can match "*" with multiple
18035domain name labels, other implementations likely will not.  </p>
18036
18037<li> <p> Earlier Postfix implementations behave as if
18038"<a href="postconf.5.html#tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a> = no". </p>
18039
18040</ul>
18041
18042<p> This feature is available in Postfix 2.11 and later.  </p>
18043
18044
18045</DD>
18046
18047<DT><b><a name="tlsmgr_service_name">tlsmgr_service_name</a>
18048(default: tlsmgr)</b></DT><DD>
18049
18050<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
18051service maintains TLS session caches and other information in support
18052of TLS. </p>
18053
18054<p> This feature is available in Postfix 2.11 and later. </p>
18055
18056
18057</DD>
18058
18059<DT><b><a name="tlsproxy_enforce_tls">tlsproxy_enforce_tls</a>
18060(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
18061
18062<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
18063require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> for
18064further details. </p>
18065
18066<p> This feature is available in Postfix 2.8 and later. </p>
18067
18068
18069</DD>
18070
18071<DT><b><a name="tlsproxy_service_name">tlsproxy_service_name</a>
18072(default: tlsproxy)</b></DT><DD>
18073
18074<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
18075service performs plaintext &lt;=&gt; TLS ciphertext conversion. <p>
18076
18077<p> This feature is available in Postfix 2.8 and later. </p>
18078
18079
18080</DD>
18081
18082<DT><b><a name="tlsproxy_tls_CAfile">tlsproxy_tls_CAfile</a>
18083(default: $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)</b></DT><DD>
18084
18085<p> A file containing (PEM format) CA certificates of root CAs
18086trusted to sign either remote SMTP client certificates or intermediate
18087CA certificates.  See <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> for further details. </p>
18088
18089<p> This feature is available in Postfix 2.8 and later. </p>
18090
18091
18092</DD>
18093
18094<DT><b><a name="tlsproxy_tls_CApath">tlsproxy_tls_CApath</a>
18095(default: $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>)</b></DT><DD>
18096
18097<p> A directory containing (PEM format) CA certificates of root CAs
18098trusted to sign either remote SMTP client certificates or intermediate
18099CA certificates. See <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> for further details. </p>
18100
18101<p> This feature is available in Postfix 2.8 and later. </p>
18102
18103
18104</DD>
18105
18106<DT><b><a name="tlsproxy_tls_always_issue_session_ids">tlsproxy_tls_always_issue_session_ids</a>
18107(default: $<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>)</b></DT><DD>
18108
18109<p> Force the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server to issue a TLS session id,
18110even when TLS session caching is turned off. See
18111<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> for further details. </p>
18112
18113<p> This feature is available in Postfix 2.8 and later. </p>
18114
18115
18116</DD>
18117
18118<DT><b><a name="tlsproxy_tls_ask_ccert">tlsproxy_tls_ask_ccert</a>
18119(default: $<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>)</b></DT><DD>
18120
18121<p> Ask a remote SMTP client for a client certificate. See
18122<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> for further details. </p>
18123
18124<p> This feature is available in Postfix 2.8 and later. </p>
18125
18126
18127</DD>
18128
18129<DT><b><a name="tlsproxy_tls_ccert_verifydepth">tlsproxy_tls_ccert_verifydepth</a>
18130(default: $<a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>)</b></DT><DD>
18131
18132<p> The verification depth for remote SMTP client certificates. A
18133depth of 1 is sufficient if the issuing CA is listed in a local CA
18134file. See <a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> for further details. </p>
18135
18136<p> This feature is available in Postfix 2.8 and later. </p>
18137
18138
18139</DD>
18140
18141<DT><b><a name="tlsproxy_tls_cert_file">tlsproxy_tls_cert_file</a>
18142(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
18143
18144<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA certificate in PEM
18145format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
18146private RSA key.  See <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for further details.  </p>
18147
18148<p> This feature is available in Postfix 2.8 and later. </p>
18149
18150
18151</DD>
18152
18153<DT><b><a name="tlsproxy_tls_ciphers">tlsproxy_tls_ciphers</a>
18154(default: $<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>)</b></DT><DD>
18155
18156<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
18157will use with opportunistic TLS encryption. See <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>
18158for further details. </p>
18159
18160<p> This feature is available in Postfix 2.8 and later. </p>
18161
18162
18163</DD>
18164
18165<DT><b><a name="tlsproxy_tls_dcert_file">tlsproxy_tls_dcert_file</a>
18166(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
18167
18168<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA certificate in PEM
18169format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
18170private DSA key.  See <a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> for further details.
18171</p>
18172
18173<p> This feature is available in Postfix 2.8 and later. </p>
18174
18175
18176</DD>
18177
18178<DT><b><a name="tlsproxy_tls_dh1024_param_file">tlsproxy_tls_dh1024_param_file</a>
18179(default: $<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>)</b></DT><DD>
18180
18181<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
18182should use with non-export EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
18183for further details. </p>
18184
18185<p> This feature is available in Postfix 2.8 and later. </p>
18186
18187
18188</DD>
18189
18190<DT><b><a name="tlsproxy_tls_dh512_param_file">tlsproxy_tls_dh512_param_file</a>
18191(default: $<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>)</b></DT><DD>
18192
18193<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
18194should use with export-grade EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
18195for further details.  The default SMTP server cipher grade is
18196"medium" with Postfix releases after the middle of 2015, and as a
18197result export-grade cipher suites are by default not used.  </p>
18198
18199<p> This feature is available in Postfix 2.8 and later. </p>
18200
18201
18202</DD>
18203
18204<DT><b><a name="tlsproxy_tls_dkey_file">tlsproxy_tls_dkey_file</a>
18205(default: $<a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>)</b></DT><DD>
18206
18207<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA private key in PEM
18208format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
18209server DSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>.
18210See <a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> for further details. </p>
18211
18212<p> This feature is available in Postfix 2.8 and later. </p>
18213
18214
18215</DD>
18216
18217<DT><b><a name="tlsproxy_tls_eccert_file">tlsproxy_tls_eccert_file</a>
18218(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
18219
18220<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA certificate in
18221PEM format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
18222server private ECDSA key.  See <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> for further
18223details. </p>
18224
18225<p> This feature is available in Postfix 2.8 and later. </p>
18226
18227
18228</DD>
18229
18230<DT><b><a name="tlsproxy_tls_eckey_file">tlsproxy_tls_eckey_file</a>
18231(default: $<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>)</b></DT><DD>
18232
18233<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA private key in
18234PEM format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
18235server ECDSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>.
18236See <a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> for further details. </p>
18237
18238<p> This feature is available in Postfix 2.8 and later. </p>
18239
18240
18241</DD>
18242
18243<DT><b><a name="tlsproxy_tls_eecdh_grade">tlsproxy_tls_eecdh_grade</a>
18244(default: $<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>)</b></DT><DD>
18245
18246<p> The Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server security grade for ephemeral
18247elliptic-curve Diffie-Hellman (EECDH) key exchange. See
18248<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> for further details. </p>
18249
18250<p> This feature is available in Postfix 2.8 and later. </p>
18251
18252
18253</DD>
18254
18255<DT><b><a name="tlsproxy_tls_exclude_ciphers">tlsproxy_tls_exclude_ciphers</a>
18256(default: $<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>)</b></DT><DD>
18257
18258<p> List of ciphers or cipher types to exclude from the <a href="tlsproxy.8.html">tlsproxy(8)</a>
18259server cipher list at all TLS security levels. See
18260<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> for further details. </p>
18261
18262<p> This feature is available in Postfix 2.8 and later. </p>
18263
18264
18265</DD>
18266
18267<DT><b><a name="tlsproxy_tls_fingerprint_digest">tlsproxy_tls_fingerprint_digest</a>
18268(default: $<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>)</b></DT><DD>
18269
18270<p> The message digest algorithm to construct remote SMTP
18271client-certificate
18272fingerprints. See <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> for further details.
18273</p>
18274
18275<p> This feature is available in Postfix 2.8 and later. </p>
18276
18277
18278</DD>
18279
18280<DT><b><a name="tlsproxy_tls_key_file">tlsproxy_tls_key_file</a>
18281(default: $<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a>)</b></DT><DD>
18282
18283<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA private key in PEM
18284format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
18285server RSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>.
18286See <a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a> for further details. </p>
18287
18288<p> This feature is available in Postfix 2.8 and later. </p>
18289
18290
18291</DD>
18292
18293<DT><b><a name="tlsproxy_tls_loglevel">tlsproxy_tls_loglevel</a>
18294(default: $<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a>)</b></DT><DD>
18295
18296<p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server logging of TLS
18297activity.  Each logging level also includes the information that
18298is logged at a lower logging level. See <a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> for
18299further details.  </p>
18300
18301<p> This feature is available in Postfix 2.8 and later. </p>
18302
18303
18304</DD>
18305
18306<DT><b><a name="tlsproxy_tls_mandatory_ciphers">tlsproxy_tls_mandatory_ciphers</a>
18307(default: $<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>)</b></DT><DD>
18308
18309<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
18310will use with mandatory TLS encryption. See <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
18311for further details. </p>
18312
18313<p> This feature is available in Postfix 2.8 and later. </p>
18314
18315
18316</DD>
18317
18318<DT><b><a name="tlsproxy_tls_mandatory_exclude_ciphers">tlsproxy_tls_mandatory_exclude_ciphers</a>
18319(default: $<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>)</b></DT><DD>
18320
18321<p> Additional list of ciphers or cipher types to exclude from the
18322<a href="tlsproxy.8.html">tlsproxy(8)</a> server cipher list at mandatory TLS security levels.
18323See <a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> for further details. </p>
18324
18325<p> This feature is available in Postfix 2.8 and later. </p>
18326
18327
18328</DD>
18329
18330<DT><b><a name="tlsproxy_tls_mandatory_protocols">tlsproxy_tls_mandatory_protocols</a>
18331(default: $<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>)</b></DT><DD>
18332
18333<p> The SSL/TLS protocols accepted by the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
18334with mandatory TLS encryption. If the list is empty, the server
18335supports all available SSL/TLS protocol versions.  See
18336<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> for further details. </p>
18337
18338<p> This feature is available in Postfix 2.8 and later. </p>
18339
18340
18341</DD>
18342
18343<DT><b><a name="tlsproxy_tls_protocols">tlsproxy_tls_protocols</a>
18344(default: $<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>)</b></DT><DD>
18345
18346<p> List of TLS protocols that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server will
18347exclude or include with opportunistic TLS encryption. See
18348<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> for further details. </p>
18349
18350<p> This feature is available in Postfix 2.8 and later. </p>
18351
18352
18353</DD>
18354
18355<DT><b><a name="tlsproxy_tls_req_ccert">tlsproxy_tls_req_ccert</a>
18356(default: $<a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>)</b></DT><DD>
18357
18358<p> With mandatory TLS encryption, require a trusted remote SMTP
18359client certificate in order to allow TLS connections to proceed.
18360See <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> for further details. </p>
18361
18362<p> This feature is available in Postfix 2.8 and later. </p>
18363
18364
18365</DD>
18366
18367<DT><b><a name="tlsproxy_tls_security_level">tlsproxy_tls_security_level</a>
18368(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
18369
18370<p> The SMTP TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server;
18371when a non-empty value is specified, this overrides the obsolete
18372parameters <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
18373<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> for further details. </p>
18374
18375<p> This feature is available in Postfix 2.8 and later. </p>
18376
18377
18378</DD>
18379
18380<DT><b><a name="tlsproxy_tls_session_cache_timeout">tlsproxy_tls_session_cache_timeout</a>
18381(default: $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>)</b></DT><DD>
18382
18383<p> Obsolete expiration time of Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server TLS session
18384cache information. Since the cache is shared with <a href="smtpd.8.html">smtpd(8)</a> and managed
18385by <a href="tlsmgr.8.html">tlsmgr(8)</a>, there is only one expiration time for the SMTP server cache
18386shared by all three services, namely <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p>
18387
18388<p> This feature is available in Postfix 2.8 and later. </p>
18389
18390
18391</DD>
18392
18393<DT><b><a name="tlsproxy_use_tls">tlsproxy_use_tls</a>
18394(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
18395
18396<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
18397but do not require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>
18398for further details. </p>
18399
18400<p> This feature is available in Postfix 2.8 and later. </p>
18401
18402
18403</DD>
18404
18405<DT><b><a name="tlsproxy_watchdog_timeout">tlsproxy_watchdog_timeout</a>
18406(default: 10s)</b></DT><DD>
18407
18408<p> How much time a <a href="tlsproxy.8.html">tlsproxy(8)</a> process may take to process local
18409or remote I/O before it is terminated by a built-in watchdog timer.
18410This is a safety mechanism that prevents <a href="tlsproxy.8.html">tlsproxy(8)</a> from becoming
18411non-responsive due to a bug in Postfix itself or in system software.
18412To avoid false alarms and unnecessary cache corruption this limit
18413cannot be set under 10s.  </p>
18414
18415<p> Specify a non-zero time value (an integral value plus an optional
18416one-letter suffix that specifies the time unit).  Time units: s
18417(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
18418
18419<p> This feature is available in Postfix 2.8.  </p>
18420
18421
18422</DD>
18423
18424<DT><b><a name="trace_service_name">trace_service_name</a>
18425(default: trace)</b></DT><DD>
18426
18427<p>
18428The name of the trace service. This service is implemented by the
18429<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
18430of mail deliveries and produces a mail delivery report when verbose
18431delivery is requested with "<b>sendmail -v</b>".
18432</p>
18433
18434<p>
18435This feature is available in Postfix 2.1 and later.
18436</p>
18437
18438
18439</DD>
18440
18441<DT><b><a name="transport_delivery_slot_cost">transport_delivery_slot_cost</a>
18442(default: $<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b></DT><DD>
18443
18444<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
18445parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
18446the message delivery transport. </p>
18447
18448<p> Note: <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> parameters will not
18449show up in "postconf" command output before Postfix version 2.9.
18450This limitation applies to many parameters whose name is a combination
18451of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
18452"_delivery_slot_cost"). </p>
18453
18454
18455</DD>
18456
18457<DT><b><a name="transport_delivery_slot_discount">transport_delivery_slot_discount</a>
18458(default: $<a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>)</b></DT><DD>
18459
18460<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>
18461parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
18462the message delivery transport. </p>
18463
18464<p> Note: <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> parameters will
18465not show up in "postconf" command output before Postfix version
184662.9.  This limitation applies to many parameters whose name is a
18467combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
18468this case: "_delivery_slot_discount"). </p>
18469
18470
18471</DD>
18472
18473<DT><b><a name="transport_delivery_slot_loan">transport_delivery_slot_loan</a>
18474(default: $<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b></DT><DD>
18475
18476<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>
18477parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
18478the message delivery transport. </p>
18479
18480<p> Note: <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> parameters will not
18481show up in "postconf" command output before Postfix version 2.9.
18482This limitation applies to many parameters whose name is a combination
18483of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
18484"_delivery_slot_loan"). </p>
18485
18486
18487</DD>
18488
18489<DT><b><a name="transport_destination_concurrency_failed_cohort_limit">transport_destination_concurrency_failed_cohort_limit</a>
18490(default: $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>)</b></DT><DD>
18491
18492<p> A transport-specific override for the
18493<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> parameter value,
18494where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
18495transport. </p>
18496
18497<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>
18498parameters will not show up in "postconf" command output before
18499Postfix version 2.9.  This limitation applies to many parameters
18500whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
18501built-in suffix (in this case:
18502"_destination_concurrency_failed_cohort_limit"). </p>
18503
18504<p> This feature is available in Postfix 2.5 and later. </p>
18505
18506
18507</DD>
18508
18509<DT><b><a name="transport_destination_concurrency_limit">transport_destination_concurrency_limit</a>
18510(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
18511
18512<p> A transport-specific override for the
18513<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> parameter value, where
18514<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
18515transport. </p>
18516
18517<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a>
18518parameters will not show up in "postconf" command output before
18519Postfix version 2.9.  This limitation applies to many parameters
18520whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
18521built-in suffix (in this case: "_destination_concurrency_limit").
18522</p>
18523
18524
18525</DD>
18526
18527<DT><b><a name="transport_destination_concurrency_negative_feedback">transport_destination_concurrency_negative_feedback</a>
18528(default: $<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>)</b></DT><DD>
18529
18530<p> A transport-specific override for the
18531<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> parameter value,
18532where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
18533transport. </p>
18534
18535<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
18536parameters will not show up in "postconf" command output before
18537Postfix version 2.9.  This limitation applies to many parameters
18538whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
18539built-in suffix (in this case:
18540"_destination_concurrency_negative_feedback"). </p>
18541
18542<p> This feature is available in Postfix 2.5 and later. </p>
18543
18544
18545</DD>
18546
18547<DT><b><a name="transport_destination_concurrency_positive_feedback">transport_destination_concurrency_positive_feedback</a>
18548(default: $<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>)</b></DT><DD>
18549
18550<p> A transport-specific override for the
18551<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> parameter value,
18552where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
18553transport. </p>
18554
18555<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
18556parameters will not show up in "postconf" command output before
18557Postfix version 2.9.  This limitation applies to many parameters
18558whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
18559built-in suffix (in this case:
18560"_destination_concurrency_positive_feedback"). </p>
18561
18562<p> This feature is available in Postfix 2.5 and later. </p>
18563
18564
18565</DD>
18566
18567<DT><b><a name="transport_destination_rate_delay">transport_destination_rate_delay</a>
18568(default: $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>)</b></DT><DD>
18569
18570<p> A transport-specific override for the <a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>
18571parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
18572the message delivery transport. </p>
18573
18574<p> Note: some <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> parameters
18575will not show up in "postconf" command output before Postfix version
185762.9.  This limitation applies to many parameters whose name is a
18577combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
18578this case: "_destination_rate_delay"). </p>
18579
18580<p> This feature is available in Postfix 2.5 and later. </p>
18581
18582
18583</DD>
18584
18585<DT><b><a name="transport_destination_recipient_limit">transport_destination_recipient_limit</a>
18586(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
18587
18588<p> A transport-specific override for the
18589<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> parameter value, where
18590<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
18591transport. </p>
18592
18593<p> Note: some <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> parameters
18594will not show up in "postconf" command output before Postfix version
185952.9.  This limitation applies to many parameters whose name is a
18596combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
18597this case: "_destination_recipient_limit"). </p>
18598
18599
18600</DD>
18601
18602<DT><b><a name="transport_extra_recipient_limit">transport_extra_recipient_limit</a>
18603(default: $<a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>)</b></DT><DD>
18604
18605<p> A transport-specific override for the <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
18606parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
18607the message delivery transport. </p>
18608
18609<p> Note: <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> parameters will
18610not show up in "postconf" command output before Postfix version
186112.9.  This limitation applies to many parameters whose name is a
18612combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
18613this case: "_extra_recipient_limit").  </p>
18614
18615
18616</DD>
18617
18618<DT><b><a name="transport_initial_destination_concurrency">transport_initial_destination_concurrency</a>
18619(default: $<a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>)</b></DT><DD>
18620
18621<p> A transport-specific override for the <a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>
18622parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
18623the message delivery transport. </p>
18624
18625<p> Note: some <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a>
18626parameters will not show up in "postconf" command output before
18627Postfix version 2.9.  This limitation applies to many parameters
18628whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
18629built-in suffix (in this case: "_initial_destination_concurrency").
18630</p>
18631
18632<p> This feature is available in Postfix 2.5 and later. </p>
18633
18634
18635</DD>
18636
18637<DT><b><a name="transport_maps">transport_maps</a>
18638(default: empty)</b></DT><DD>
18639
18640<p>
18641Optional lookup tables with mappings from recipient address to
18642(message delivery transport, next-hop destination).  See <a href="transport.5.html">transport(5)</a>
18643for details.
18644</p>
18645
18646<p>
18647Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by
18648whitespace or comma. Tables will be searched in the specified order
18649until a match is found.  If you use this
18650feature with local files, run "<b>postmap /etc/postfix/transport</b>"
18651after making a change.  </p>
18652
18653<p> Pattern matching of domain names is controlled by the presence
18654or 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>
18655parameter value.  </p>
18656
18657<p> For safety reasons, as of Postfix 2.3 this feature does not
18658allow $number substitutions in regular expression maps. </p>
18659
18660<p>
18661Examples:
18662</p>
18663
18664<pre>
18665<a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/transport
18666<a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport
18667</pre>
18668
18669
18670</DD>
18671
18672<DT><b><a name="transport_minimum_delivery_slots">transport_minimum_delivery_slots</a>
18673(default: $<a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>)</b></DT><DD>
18674
18675<p> A transport-specific override for the <a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>
18676parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
18677the message delivery transport. </p>
18678
18679<p> Note: <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> parameters will
18680not show up in "postconf" command output before Postfix version
186812.9.  This limitation applies to many parameters whose name is a
18682combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
18683this case: "_minimum_delivery_slots"). </p>
18684
18685
18686</DD>
18687
18688<DT><b><a name="transport_recipient_limit">transport_recipient_limit</a>
18689(default: $<a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>)</b></DT><DD>
18690
18691<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>
18692parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
18693the message delivery transport. </p>
18694
18695<p> Note: some <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> parameters will not
18696show up in "postconf" command output before Postfix version 2.9.
18697This limitation applies to many parameters whose name is a combination
18698of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
18699"_recipient_limit"). </p>
18700
18701
18702</DD>
18703
18704<DT><b><a name="transport_recipient_refill_delay">transport_recipient_refill_delay</a>
18705(default: $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>)</b></DT><DD>
18706
18707<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>
18708parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
18709the message delivery transport. </p>
18710
18711<p> Note: <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> parameters will
18712not show up in "postconf" command output before Postfix version
187132.9.  This limitation applies to many parameters whose name is a
18714combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
18715this case: "_recipient_refill_delay").  </p>
18716
18717<p> This feature is available in Postfix 2.4 and later. </p>
18718
18719
18720</DD>
18721
18722<DT><b><a name="transport_recipient_refill_limit">transport_recipient_refill_limit</a>
18723(default: $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>)</b></DT><DD>
18724
18725<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>
18726parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
18727the message delivery transport. </p>
18728
18729<p> Note: <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> parameters will
18730not show up in "postconf" command output before Postfix version
187312.9.  This limitation applies to many parameters whose name is a
18732combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
18733this case: "_recipient_refill_limit").  </p>
18734
18735<p> This feature is available in Postfix 2.4 and later. </p>
18736
18737
18738</DD>
18739
18740<DT><b><a name="transport_retry_time">transport_retry_time</a>
18741(default: 60s)</b></DT><DD>
18742
18743<p>
18744The time between attempts by the Postfix queue manager to contact
18745a malfunctioning message delivery transport.
18746</p>
18747
18748<p>
18749Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
18750The default time unit is s (seconds).
18751</p>
18752
18753
18754</DD>
18755
18756<DT><b><a name="transport_time_limit">transport_time_limit</a>
18757(default: $<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b></DT><DD>
18758
18759<p> A transport-specific override for the <a href="postconf.5.html#command_time_limit">command_time_limit</a> parameter
18760value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message
18761delivery transport. </p>
18762
18763<p> Note: <a href="postconf.5.html#transport_time_limit"><i>transport</i>_time_limit</a> parameters will not show up
18764in "postconf" command output before Postfix version 2.9.  This
18765limitation applies to many parameters whose name is a combination
18766of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
18767"_time_limit"). </p>
18768
18769
18770</DD>
18771
18772<DT><b><a name="transport_transport_rate_delay">transport_transport_rate_delay</a>
18773(default: $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>)</b></DT><DD>
18774
18775<p> A transport-specific override for the <a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>
18776parameter value, where the initial <i>transport</i> in the parameter
18777name is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
18778
18779
18780</DD>
18781
18782<DT><b><a name="trigger_timeout">trigger_timeout</a>
18783(default: 10s)</b></DT><DD>
18784
18785<p>
18786The time limit for sending a trigger to a Postfix daemon (for
18787example, the <a href="pickup.8.html">pickup(8)</a> or <a href="qmgr.8.html">qmgr(8)</a> daemon). This time limit prevents
18788programs from getting stuck when the mail system is under heavy
18789load.
18790</p>
18791
18792<p>
18793Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
18794The default time unit is s (seconds).
18795</p>
18796
18797
18798</DD>
18799
18800<DT><b><a name="undisclosed_recipients_header">undisclosed_recipients_header</a>
18801(default: see "postconf -d" output)</b></DT><DD>
18802
18803<p>
18804Message header that the Postfix <a href="cleanup.8.html">cleanup(8)</a> server inserts when a
18805message contains no To: or Cc: message header. With Postfix 2.8
18806and later, the default value is empty. With Postfix 2.4-2.7,
18807specify an empty value to disable this feature.  </p>
18808
18809<p> Example: </p>
18810
18811<pre>
18812# Default value before Postfix 2.8.
18813# Note: the ":" and ";" are both required.
18814<a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> = To: undisclosed-recipients:;
18815</pre>
18816
18817
18818</DD>
18819
18820<DT><b><a name="unknown_address_reject_code">unknown_address_reject_code</a>
18821(default: 450)</b></DT><DD>
18822
18823<p>
18824The numerical response code when the Postfix SMTP server rejects a
18825sender or recipient address because its domain is unknown.  This
18826is one of the possible replies from the restrictions
18827<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>.
18828</p>
18829
18830<p>
18831Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
18832</p>
18833
18834
18835</DD>
18836
18837<DT><b><a name="unknown_address_tempfail_action">unknown_address_tempfail_action</a>
18838(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
18839
18840<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
18841or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> fail due to a temporary error
18842condition. Specify "defer" to defer the remote SMTP client request
18843immediately. With the default "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix
18844SMTP server continues to look for opportunities to reject mail, and
18845defers the client request only if it would otherwise be accepted.
18846</p>
18847
18848<p> This feature is available in Postfix 2.6 and later. </p>
18849
18850
18851</DD>
18852
18853<DT><b><a name="unknown_client_reject_code">unknown_client_reject_code</a>
18854(default: 450)</b></DT><DD>
18855
18856<p>
18857The numerical Postfix SMTP server response code when a client
18858without valid address &lt;=&gt; name mapping is rejected by the
18859<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> restriction. The SMTP server always replies
18860with 450 when the mapping failed due to a temporary error condition.
18861</p>
18862
18863<p>
18864Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
18865</p>
18866
18867
18868</DD>
18869
18870<DT><b><a name="unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>
18871(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
18872
18873<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>
18874fails due to an temporary error condition. Specify "defer" to defer
18875the remote SMTP client request immediately. With the default
18876"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
18877for opportunities to reject mail, and defers the client request
18878only if it would otherwise be accepted. </p>
18879
18880<p> This feature is available in Postfix 2.6 and later. </p>
18881
18882
18883</DD>
18884
18885<DT><b><a name="unknown_hostname_reject_code">unknown_hostname_reject_code</a>
18886(default: 450)</b></DT><DD>
18887
18888<p>
18889The numerical Postfix SMTP server response code when the hostname
18890specified with the HELO or EHLO command is rejected by the
18891<a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> restriction.
18892</p>
18893
18894<p>
18895Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
18896</p>
18897
18898
18899</DD>
18900
18901<DT><b><a name="unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a>
18902(default: 550)</b></DT><DD>
18903
18904<p>
18905The numerical Postfix SMTP server response code when a recipient
18906address is local, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> specifies a list of
18907lookup tables that does not match the recipient.  A recipient
18908address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
18909$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> or $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>.
18910</p>
18911
18912<p>
18913The default setting is 550 (reject mail) but it is safer to initially
18914use 450 (try again later) so you have time to find out if your
18915<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> settings are OK.
18916</p>
18917
18918<p>
18919Example:
18920</p>
18921
18922<pre>
18923<a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 450
18924</pre>
18925
18926<p>
18927This feature is available in Postfix 2.0 and later.
18928</p>
18929
18930
18931</DD>
18932
18933<DT><b><a name="unknown_relay_recipient_reject_code">unknown_relay_recipient_reject_code</a>
18934(default: 550)</b></DT><DD>
18935
18936<p>
18937The numerical Postfix SMTP server reply code when a recipient
18938address 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
18939a list of lookup tables that does not match the recipient address.
18940</p>
18941
18942<p>
18943This feature is available in Postfix 2.0 and later.
18944</p>
18945
18946
18947</DD>
18948
18949<DT><b><a name="unknown_virtual_alias_reject_code">unknown_virtual_alias_reject_code</a>
18950(default: 550)</b></DT><DD>
18951
18952<p>
18953The Postfix SMTP server reply code when a recipient address matches
18954$<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
18955of lookup tables that does not match the recipient address.
18956</p>
18957
18958<p>
18959This feature is available in Postfix 2.0 and later.
18960</p>
18961
18962
18963</DD>
18964
18965<DT><b><a name="unknown_virtual_mailbox_reject_code">unknown_virtual_mailbox_reject_code</a>
18966(default: 550)</b></DT><DD>
18967
18968<p>
18969The Postfix SMTP server reply code when a recipient address matches
18970$<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
18971of lookup tables that does not match the recipient address.
18972</p>
18973
18974<p>
18975This feature is available in Postfix 2.0 and later.
18976</p>
18977
18978
18979</DD>
18980
18981<DT><b><a name="unverified_recipient_defer_code">unverified_recipient_defer_code</a>
18982(default: 450)</b></DT><DD>
18983
18984<p>
18985The numerical Postfix SMTP server response when a recipient address
18986probe fails due to a temporary error condition.
18987</p>
18988
18989<p>
18990Unlike elsewhere in Postfix, you can specify 250 in order to
18991accept the address anyway.
18992</p>
18993
18994<p>
18995Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
18996</p>
18997
18998<p>
18999This feature is available in Postfix 2.6 and later.
19000</p>
19001
19002
19003</DD>
19004
19005<DT><b><a name="unverified_recipient_reject_code">unverified_recipient_reject_code</a>
19006(default: 450)</b></DT><DD>
19007
19008<p>
19009The numerical Postfix SMTP server response when a recipient address
19010is rejected by the <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> restriction.
19011</p>
19012
19013<p>
19014Unlike elsewhere in Postfix, you can specify 250 in order to
19015accept the address anyway.
19016</p>
19017
19018<p>
19019Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
19020</p>
19021
19022<p>
19023This feature is available in Postfix 2.1 and later.
19024</p>
19025
19026
19027</DD>
19028
19029<DT><b><a name="unverified_recipient_reject_reason">unverified_recipient_reject_reason</a>
19030(default: empty)</b></DT><DD>
19031
19032<p> The Postfix SMTP server's reply when rejecting mail with
19033<a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. Do not include the numeric SMTP reply
19034code or the enhanced status code. By default, the response includes
19035actual address verification details.
19036
19037<p> Example: </p>
19038
19039<pre>
19040<a href="postconf.5.html#unverified_recipient_reject_reason">unverified_recipient_reject_reason</a> = Recipient address lookup failed
19041</pre>
19042
19043<p> This feature is available in Postfix 2.6 and later. </p>
19044
19045
19046</DD>
19047
19048<DT><b><a name="unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>
19049(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
19050
19051<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>
19052fails due to a temporary error condition. Specify "defer" to defer
19053the remote SMTP client request immediately. With the default
19054"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
19055for opportunities to reject mail, and defers the client request
19056only if it would otherwise be accepted. </p>
19057
19058<p> This feature is available in Postfix 2.6 and later. </p>
19059
19060
19061</DD>
19062
19063<DT><b><a name="unverified_sender_defer_code">unverified_sender_defer_code</a>
19064(default: 450)</b></DT><DD>
19065
19066<p>
19067The numerical Postfix SMTP server response code when a sender address
19068probe fails due to a temporary error condition.
19069</p>
19070
19071<p>
19072Unlike elsewhere in Postfix, you can specify 250 in order to
19073accept the address anyway.
19074</p>
19075
19076<p>
19077Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
19078</p>
19079
19080<p>
19081This feature is available in Postfix 2.6 and later.
19082</p>
19083
19084
19085</DD>
19086
19087<DT><b><a name="unverified_sender_reject_code">unverified_sender_reject_code</a>
19088(default: 450)</b></DT><DD>
19089
19090<p>
19091The numerical Postfix SMTP server response code when a recipient
19092address is rejected by the <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> restriction.
19093</p>
19094
19095<p>
19096Unlike elsewhere in Postfix, you can specify 250 in order to
19097accept the address anyway.
19098</p>
19099
19100<p>
19101Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
19102</p>
19103
19104<p>
19105This feature is available in Postfix 2.1 and later.
19106</p>
19107
19108
19109</DD>
19110
19111<DT><b><a name="unverified_sender_reject_reason">unverified_sender_reject_reason</a>
19112(default: empty)</b></DT><DD>
19113
19114<p> The Postfix SMTP server's reply when rejecting mail with
19115<a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>. Do not include the numeric SMTP reply
19116code or the enhanced status code. By default, the response includes
19117actual address verification details.
19118
19119<p> Example: </p>
19120
19121<pre>
19122<a href="postconf.5.html#unverified_sender_reject_reason">unverified_sender_reject_reason</a> = Sender address lookup failed
19123</pre>
19124
19125<p> This feature is available in Postfix 2.6 and later. </p>
19126
19127
19128</DD>
19129
19130<DT><b><a name="unverified_sender_tempfail_action">unverified_sender_tempfail_action</a>
19131(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
19132
19133<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>
19134fails due to a temporary error condition. Specify "defer" to defer
19135the remote SMTP client request immediately. With the default
19136"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
19137for opportunities to reject mail, and defers the client request
19138only if it would otherwise be accepted. </p>
19139
19140<p> This feature is available in Postfix 2.6 and later. </p>
19141
19142
19143</DD>
19144
19145<DT><b><a name="verp_delimiter_filter">verp_delimiter_filter</a>
19146(default: -=+)</b></DT><DD>
19147
19148<p>
19149The characters Postfix accepts as VERP delimiter characters on the
19150Postfix <a href="sendmail.1.html">sendmail(1)</a> command line and in SMTP commands.
19151</p>
19152
19153<p>
19154This feature is available in Postfix 1.1 and later.
19155</p>
19156
19157
19158</DD>
19159
19160<DT><b><a name="virtual_alias_address_length_limit">virtual_alias_address_length_limit</a>
19161(default: 1000)</b></DT><DD>
19162
19163<p>
19164The maximal length of an email address after virtual alias expansion.
19165This stops virtual aliasing loops that increase the address length
19166exponentially.
19167</p>
19168
19169<p>
19170This feature is available in Postfix 3.0 and later.
19171</p>
19172
19173
19174</DD>
19175
19176<DT><b><a name="virtual_alias_domains">virtual_alias_domains</a>
19177(default: $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>)</b></DT><DD>
19178
19179<p> Postfix is final destination for the specified list of virtual
19180alias domains, that is, domains for which all addresses are aliased
19181to addresses in other local or remote domains. The SMTP server
19182validates recipient addresses with $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> and rejects
19183non-existent recipients. See also the <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> class
19184in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file </p>
19185
19186<p>
19187This feature is available in Postfix 2.0 and later. The default
19188value is backwards compatible with Postfix version 1.1.
19189</p>
19190
19191<p>
19192The default value is $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> so that you can keep all
19193information about <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a> in one place.  If you have
19194many users, it is better to separate information that changes more
19195frequently (virtual address -&gt; local or remote address mapping)
19196from information that changes less frequently (the list of virtual
19197domain names).
19198</p>
19199
19200<p> Specify a list of host or domain names, "/file/name" or
19201"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. A
19202"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
19203lookup table is matched when a table entry matches a lookup string
19204(the lookup result is ignored).  Continue long lines by starting
19205the next line with whitespace. Specify "!pattern" to exclude a host
19206or domain name from the list. The form "!/file/name" is supported
19207only in Postfix version 2.4 and later.  </p>
19208
19209<p>
19210See also the <a href="VIRTUAL_README.html">VIRTUAL_README</a> and <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> documents
19211for further information.
19212</p>
19213
19214<p>
19215Example:
19216</p>
19217
19218<pre>
19219<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = virtual1.tld virtual2.tld
19220</pre>
19221
19222
19223</DD>
19224
19225<DT><b><a name="virtual_alias_expansion_limit">virtual_alias_expansion_limit</a>
19226(default: 1000)</b></DT><DD>
19227
19228<p>
19229The maximal number of addresses that virtual alias expansion produces
19230from each original recipient.
19231</p>
19232
19233<p>
19234This feature is available in Postfix 2.1 and later.
19235</p>
19236
19237
19238</DD>
19239
19240<DT><b><a name="virtual_alias_maps">virtual_alias_maps</a>
19241(default: $<a href="postconf.5.html#virtual_maps">virtual_maps</a>)</b></DT><DD>
19242
19243<p>
19244Optional lookup tables that alias specific mail addresses or domains
19245to other local or remote address.  The table format and lookups
19246are documented in <a href="virtual.5.html">virtual(5)</a>. For an overview of Postfix address
19247manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
19248</p>
19249
19250<p>
19251This feature is available in Postfix 2.0 and later. The default
19252value is backwards compatible with Postfix version 1.1.
19253</p>
19254
19255<p>
19256Specify zero or more "type:name" lookup tables, separated by
19257whitespace or comma. Tables will be searched in the specified order
19258until a match is found.
19259Note: these lookups are recursive.
19260</p>
19261
19262<p>
19263If you use this feature with indexed files, run "<b>postmap
19264/etc/postfix/virtual</b>" after changing the file.
19265</p>
19266
19267<p>
19268Examples:
19269</p>
19270
19271<pre>
19272<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/virtual
19273<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/virtual
19274</pre>
19275
19276
19277</DD>
19278
19279<DT><b><a name="virtual_alias_recursion_limit">virtual_alias_recursion_limit</a>
19280(default: 1000)</b></DT><DD>
19281
19282<p>
19283The maximal nesting depth of virtual alias expansion.  Currently
19284the recursion limit is applied only to the left branch of the
19285expansion graph, so the depth of the tree can in the worst case
19286reach the sum of the expansion and recursion limits.  This may
19287change in the future.
19288</p>
19289
19290<p>
19291This feature is available in Postfix 2.1 and later.
19292</p>
19293
19294
19295</DD>
19296
19297<DT><b><a name="virtual_delivery_status_filter">virtual_delivery_status_filter</a>
19298(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
19299
19300<p> Optional filter for the <a href="virtual.8.html">virtual(8)</a> delivery agent to change the
19301delivery status code or explanatory text of successful or unsuccessful
19302deliveries.  See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details.  </p>
19303
19304<p> This feature is available in Postfix 3.0 and later. </p>
19305
19306
19307</DD>
19308
19309<DT><b><a name="virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a>
19310(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
19311
19312<p> The maximal number of parallel deliveries to the same destination
19313via the virtual message delivery transport. This limit is enforced
19314by the queue manager. The message delivery transport name is the
19315first field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
19316
19317
19318</DD>
19319
19320<DT><b><a name="virtual_destination_recipient_limit">virtual_destination_recipient_limit</a>
19321(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
19322
19323<p> The maximal number of recipients per message for the virtual
19324message delivery transport. This limit is enforced by the queue
19325manager. The message delivery transport name is the first field in
19326the entry in the <a href="master.5.html">master.cf</a> file.  </p>
19327
19328<p> Setting this parameter to a value of 1 changes the meaning of
19329<a href="postconf.5.html#virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> from concurrency per domain
19330into concurrency per recipient.  </p>
19331
19332
19333</DD>
19334
19335<DT><b><a name="virtual_gid_maps">virtual_gid_maps</a>
19336(default: empty)</b></DT><DD>
19337
19338<p>
19339Lookup tables with the per-recipient group ID for <a href="virtual.8.html">virtual(8)</a> mailbox
19340delivery.
19341</p>
19342
19343<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
19344It does not apply when mail is delivered with a different mail
19345delivery program.  </p>
19346
19347<p>
19348Specify zero or more "type:name" lookup tables, separated by
19349whitespace or comma. Tables will be searched in the specified order
19350until a match is found.
19351</p>
19352
19353<p>
19354In a lookup table, specify a left-hand side of "@domain.tld" to
19355match any user in the specified domain that does not have a specific
19356"user@domain.tld" entry.
19357</p>
19358
19359<p>
19360When a recipient address has an optional address extension
19361(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
19362the full address first, and when the lookup fails, it looks up the
19363unextended address (user@domain.tld).
19364</p>
19365
19366<p>
19367Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
19368regular expression substitution of $1 etc. in regular expression
19369lookup tables, because that would open a security hole.
19370</p>
19371
19372<p>
19373Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
19374silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
19375it will open the table directly. Before Postfix version 2.2, the
19376<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
19377</p>
19378
19379
19380</DD>
19381
19382<DT><b><a name="virtual_mailbox_base">virtual_mailbox_base</a>
19383(default: empty)</b></DT><DD>
19384
19385<p>
19386A prefix that the <a href="virtual.8.html">virtual(8)</a> delivery agent prepends to all pathname
19387results from $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> table lookups.  This is a safety
19388measure to ensure that an out of control map doesn't litter the
19389file system with mailboxes.  While <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> could be
19390set to "/", this setting isn't recommended.
19391</p>
19392
19393<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
19394It does not apply when mail is delivered with a different mail
19395delivery program.  </p>
19396
19397<p>
19398Example:
19399</p>
19400
19401<pre>
19402<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /var/mail
19403</pre>
19404
19405
19406</DD>
19407
19408<DT><b><a name="virtual_mailbox_domains">virtual_mailbox_domains</a>
19409(default: $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>)</b></DT><DD>
19410
19411<p> Postfix is final destination for the specified list of domains;
19412mail is delivered via the $<a href="postconf.5.html#virtual_transport">virtual_transport</a> mail delivery transport.
19413By default this is the Postfix <a href="virtual.8.html">virtual(8)</a> delivery agent.  The SMTP
19414server validates recipient addresses with $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
19415and rejects mail for non-existent recipients.  See also the virtual
19416mailbox domain class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.  </p>
19417
19418<p> This parameter expects the same syntax as the <a href="postconf.5.html#mydestination">mydestination</a>
19419configuration parameter.  </p>
19420
19421<p>
19422This feature is available in Postfix 2.0 and later. The default
19423value is backwards compatible with Postfix version 1.1.
19424</p>
19425
19426
19427</DD>
19428
19429<DT><b><a name="virtual_mailbox_limit">virtual_mailbox_limit</a>
19430(default: 51200000)</b></DT><DD>
19431
19432<p>
19433The maximal size in bytes of an individual <a href="virtual.8.html">virtual(8)</a> mailbox or
19434maildir file, or zero (no limit).  </p>
19435
19436<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
19437It does not apply when mail is delivered with a different mail
19438delivery program.  </p>
19439
19440
19441</DD>
19442
19443<DT><b><a name="virtual_mailbox_lock">virtual_mailbox_lock</a>
19444(default: see "postconf -d" output)</b></DT><DD>
19445
19446<p>
19447How to lock a UNIX-style <a href="virtual.8.html">virtual(8)</a> mailbox before attempting
19448delivery.  For a list of available file locking methods, use the
19449"<b>postconf -l</b>" command.
19450</p>
19451
19452<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
19453It does not apply when mail is delivered with a different mail
19454delivery program.  </p>
19455
19456<p>
19457This setting is ignored with <b>maildir</b> style delivery, because
19458such deliveries are safe without application-level locks.
19459</p>
19460
19461<p>
19462Note 1: the <b>dotlock</b> method requires that the recipient UID
19463or GID has write access to the parent directory of the recipient's
19464mailbox file.
19465</p>
19466
19467<p>
19468Note 2: the default setting of this parameter is system dependent.
19469</p>
19470
19471
19472</DD>
19473
19474<DT><b><a name="virtual_mailbox_maps">virtual_mailbox_maps</a>
19475(default: empty)</b></DT><DD>
19476
19477<p>
19478Optional lookup tables with all valid addresses in the domains that
19479match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
19480</p>
19481
19482<p>
19483Specify zero or more "type:name" lookup tables, separated by
19484whitespace or comma. Tables will be searched in the specified order
19485until a match is found.
19486</p>
19487
19488<p>
19489In a lookup table, specify a left-hand side of "@domain.tld" to
19490match any user in the specified domain that does not have a specific
19491"user@domain.tld" entry.
19492</p>
19493
19494<p> The remainder of this text is specific to the <a href="virtual.8.html">virtual(8)</a> delivery
19495agent.  It does not apply when mail is delivered with a different
19496mail delivery program.  </p>
19497
19498<p>
19499The <a href="virtual.8.html">virtual(8)</a> delivery agent uses this table to look up the
19500per-recipient mailbox or maildir pathname.  If the lookup result
19501ends in a slash ("/"), maildir-style delivery is carried out,
19502otherwise the path is assumed to specify a UNIX-style mailbox file.
19503Note that $<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> is unconditionally prepended to
19504this path.
19505</p>
19506
19507<p>
19508When a recipient address has an optional address extension
19509(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
19510the full address first, and when the lookup fails, it looks up the
19511unextended address (user@domain.tld).
19512</p>
19513
19514<p>
19515Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
19516regular expression substitution of $1 etc. in regular expression
19517lookup tables, because that would open a security hole.
19518</p>
19519
19520<p>
19521Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
19522silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
19523it will open the table directly. Before Postfix version 2.2, the
19524<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
19525</p>
19526
19527
19528</DD>
19529
19530<DT><b><a name="virtual_maps">virtual_maps</a>
19531(default: empty)</b></DT><DD>
19532
19533<p> Optional lookup tables with a) names of domains for which all
19534addresses are aliased to addresses in other local or remote domains,
19535and b) addresses that are aliased to addresses in other local or
19536remote domains.  Available before Postfix version 2.0. With Postfix
19537version 2.0 and later, this is replaced by separate controls: <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>
19538and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
19539
19540
19541</DD>
19542
19543<DT><b><a name="virtual_minimum_uid">virtual_minimum_uid</a>
19544(default: 100)</b></DT><DD>
19545
19546<p>
19547The minimum user ID value that the <a href="virtual.8.html">virtual(8)</a> delivery agent accepts
19548as a result from $<a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> table lookup.  Returned
19549values less than this will be rejected, and the message will be
19550deferred.
19551</p>
19552
19553<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
19554It does not apply when mail is delivered with a different mail
19555delivery program.  </p>
19556
19557
19558</DD>
19559
19560<DT><b><a name="virtual_transport">virtual_transport</a>
19561(default: virtual)</b></DT><DD>
19562
19563<p>
19564The default mail delivery transport and next-hop destination for
19565final delivery to domains listed with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
19566This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
19567</p>
19568
19569<p>
19570Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
19571is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
19572The <i>:nexthop</i> destination is optional; its syntax is documented
19573in the manual page of the corresponding delivery agent.
19574</p>
19575
19576<p>
19577This feature is available in Postfix 2.0 and later.
19578</p>
19579
19580
19581</DD>
19582
19583<DT><b><a name="virtual_uid_maps">virtual_uid_maps</a>
19584(default: empty)</b></DT><DD>
19585
19586<p>
19587Lookup tables with the per-recipient user ID that the <a href="virtual.8.html">virtual(8)</a>
19588delivery agent uses while writing to the recipient's mailbox.
19589</p>
19590
19591<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
19592It does not apply when mail is delivered with a different mail
19593delivery program.  </p>
19594
19595<p>
19596Specify zero or more "type:name" lookup tables, separated by
19597whitespace or comma. Tables will be searched in the specified order
19598until a match is found.
19599</p>
19600
19601<p>
19602In a lookup table, specify a left-hand side of "@domain.tld"
19603to match any user in the specified domain that does not have a
19604specific "user@domain.tld" entry.
19605</p>
19606
19607<p>
19608When a recipient address has an optional address extension
19609(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
19610the full address first, and when the lookup fails, it looks up the
19611unextended address (user@domain.tld).
19612</p>
19613
19614<p>
19615Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
19616regular expression substitution of $1 etc. in regular expression
19617lookup tables, because that would open a security hole.
19618</p>
19619
19620<p>
19621Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
19622silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
19623it will open the table directly. Before Postfix version 2.2, the
19624<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
19625</p>
19626
19627
19628</DD>
19629
19630</dl>
19631
19632</body>
19633
19634</html>
19635