xref: /netbsd-src/external/ibm-public/postfix/dist/html/postconf.5.html (revision 230b95665bbd3a9d1a53658a36b1053f8382a519)
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", "${name}" or "$(name)" are
46recursively replaced by the value of the named parameter. </p>
47
48<li> <p> The expression "${name?value}" expands to "value" when
49"$name" is non-empty. This form is supported with Postfix version
502.2 and later. </p>
51
52<li> <p> The expression "${name:value}" expands to "value" when
53"$name" is empty. This form is supported with Postfix version 2.2
54and later.  </p>
55
56<li> <p> Specify "$$" to produce a single "$" character. </p>
57
58</ul>
59
60<li> <p> When the same parameter is defined multiple times, only
61the last instance is remembered. </p>
62
63<li> <p> Otherwise, the order of main.cf parameter definitions does
64not matter. </p>
65
66</ul>
67
68<p> The remainder of this document is a description of all Postfix
69configuration parameters. Default values are shown after the
70parameter name in parentheses, and can be looked up with the
71"<b>postconf -d</b>" command. </p>
72
73<p> Note: this is not an invitation to make changes to Postfix
74configuration parameters. Unnecessary changes are likely to impair
75the operation of the mail system.  </p>
76
77<dl>
78<DT><b><a name="2bounce_notice_recipient">2bounce_notice_recipient</a>
79(default: postmaster)</b></DT><DD>
80
81<p> The recipient of undeliverable mail that cannot be returned to
82the sender.  This feature is enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
83parameter.  </p>
84
85
86</DD>
87
88<DT><b><a name="access_map_defer_code">access_map_defer_code</a>
89(default: 450)</b></DT><DD>
90
91<p>
92The numerical Postfix SMTP server response code for
93an <a href="access.5.html">access(5)</a> map "defer" action, including "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>"
94or "<a href="postconf.5.html#defer_if_reject">defer_if_reject</a>". Prior to Postfix 2.6, the response
95is hard-coded as "450".
96</p>
97
98<p>
99Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
100</p>
101
102<p>
103This feature is available in Postfix 2.6 and later.
104</p>
105
106
107</DD>
108
109<DT><b><a name="access_map_reject_code">access_map_reject_code</a>
110(default: 554)</b></DT><DD>
111
112<p>
113The numerical Postfix SMTP server response code for
114an <a href="access.5.html">access(5)</a> map "reject" action.
115</p>
116
117<p>
118Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
119</p>
120
121
122</DD>
123
124<DT><b><a name="address_verify_cache_cleanup_interval">address_verify_cache_cleanup_interval</a>
125(default: 12h)</b></DT><DD>
126
127<p> The amount of time between <a href="verify.8.html">verify(8)</a> address verification
128database cleanup runs. This feature requires that the database
129supports the "delete" and "sequence" operators.  Specify a zero
130interval to disable database cleanup. </p>
131
132<p> After each database cleanup run, the <a href="verify.8.html">verify(8)</a> daemon logs the
133number of entries that were retained and dropped. A cleanup run is
134logged as "partial" when the daemon terminates early after "<b>postfix
135reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
136seconds. </p>
137
138<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
139(weeks). </p>
140
141<p> This feature is available in Postfix 2.7. </p>
142
143
144</DD>
145
146<DT><b><a name="address_verify_default_transport">address_verify_default_transport</a>
147(default: $<a href="postconf.5.html#default_transport">default_transport</a>)</b></DT><DD>
148
149<p>
150Overrides the <a href="postconf.5.html#default_transport">default_transport</a> parameter setting for address
151verification probes.
152</p>
153
154<p>
155This feature is available in Postfix 2.1 and later.
156</p>
157
158
159</DD>
160
161<DT><b><a name="address_verify_local_transport">address_verify_local_transport</a>
162(default: $<a href="postconf.5.html#local_transport">local_transport</a>)</b></DT><DD>
163
164<p>
165Overrides the <a href="postconf.5.html#local_transport">local_transport</a> parameter setting for address
166verification probes.
167</p>
168
169<p>
170This feature is available in Postfix 2.1 and later.
171</p>
172
173
174</DD>
175
176<DT><b><a name="address_verify_map">address_verify_map</a>
177(default: see "postconf -d" output)</b></DT><DD>
178
179<p>
180Lookup table for persistent address verification status
181storage.  The table is maintained by the <a href="verify.8.html">verify(8)</a> service, and
182is opened before the process releases privileges.
183</p>
184
185<p>
186The lookup table is persistent by default (Postfix 2.7 and later).
187Specify an empty table name to keep the information in volatile
188memory which is lost after "<b>postfix reload</b>" or "<b>postfix
189stop</b>". This is the default with Postfix version 2.6 and earlier.
190</p>
191
192<p>
193Specify a location in a file system that will not fill up. If the
194database becomes corrupted, the world comes to an end. To recover
195delete (NOT: truncate) the file and do "<b>postfix reload</b>".
196</p>
197
198<p> Postfix daemon processes do not use root privileges when opening
199this file (Postfix 2.5 and later).  The file must therefore be
200stored under a Postfix-owned directory such as the <a href="postconf.5.html#data_directory">data_directory</a>.
201As a migration aid, an attempt to open the file under a non-Postfix
202directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
203warning is logged. </p>
204
205<p>
206Examples:
207</p>
208
209<pre>
210<a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">hash</a>:/var/db/postfix/verify
211<a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/verify
212</pre>
213
214<p>
215This feature is available in Postfix 2.1 and later.
216</p>
217
218
219</DD>
220
221<DT><b><a name="address_verify_negative_cache">address_verify_negative_cache</a>
222(default: yes)</b></DT><DD>
223
224<p>
225Enable caching of failed address verification probe results.  When
226this feature is enabled, the cache may pollute quickly with garbage.
227When this feature is disabled, Postfix will generate an address
228probe for every lookup.
229</p>
230
231<p>
232This feature is available in Postfix 2.1 and later.
233</p>
234
235
236</DD>
237
238<DT><b><a name="address_verify_negative_expire_time">address_verify_negative_expire_time</a>
239(default: 3d)</b></DT><DD>
240
241<p>
242The time after which a failed probe expires from the address
243verification cache.
244</p>
245
246<p>
247Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
248</p>
249
250<p>
251This feature is available in Postfix 2.1 and later.
252</p>
253
254
255</DD>
256
257<DT><b><a name="address_verify_negative_refresh_time">address_verify_negative_refresh_time</a>
258(default: 3h)</b></DT><DD>
259
260<p>
261The time after which a failed address verification probe needs to
262be refreshed.
263</p>
264
265<p>
266Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
267</p>
268
269<p>
270This feature is available in Postfix 2.1 and later.
271</p>
272
273
274</DD>
275
276<DT><b><a name="address_verify_poll_count">address_verify_poll_count</a>
277(default: normal: 3, overload: 1)</b></DT><DD>
278
279<p>
280How many times to query the <a href="verify.8.html">verify(8)</a> service for the completion
281of an address verification request in progress.
282</p>
283
284<p> By default, the Postfix SMTP server polls the <a href="verify.8.html">verify(8)</a> service
285up to three times under non-overload conditions, and only once when
286under overload.  With Postfix version 2.5 and earlier, the SMTP
287server always polls the <a href="verify.8.html">verify(8)</a> service up to three times by
288default.  </p>
289
290<p>
291Specify 1 to implement a crude form of greylisting, that is, always
292defer the first delivery request for a new address.
293</p>
294
295<p>
296Examples:
297</p>
298
299<pre>
300# Postfix &le; 2.6 default
301<a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 3
302# Poor man's greylisting
303<a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 1
304</pre>
305
306<p>
307This feature is available in Postfix 2.1 and later.
308</p>
309
310
311</DD>
312
313<DT><b><a name="address_verify_poll_delay">address_verify_poll_delay</a>
314(default: 3s)</b></DT><DD>
315
316<p>
317The delay between queries for the completion of an address
318verification request in progress.
319</p>
320
321<p>
322The default polling delay is 3 seconds.
323</p>
324
325<p>
326Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
327</p>
328
329<p>
330This feature is available in Postfix 2.1 and later.
331</p>
332
333
334</DD>
335
336<DT><b><a name="address_verify_positive_expire_time">address_verify_positive_expire_time</a>
337(default: 31d)</b></DT><DD>
338
339<p>
340The time after which a successful probe expires from the address
341verification cache.
342</p>
343
344<p>
345Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
346</p>
347
348<p>
349This feature is available in Postfix 2.1 and later.
350</p>
351
352
353</DD>
354
355<DT><b><a name="address_verify_positive_refresh_time">address_verify_positive_refresh_time</a>
356(default: 7d)</b></DT><DD>
357
358<p>
359The time after which a successful address verification probe needs
360to be refreshed.  The address verification status is not updated
361when the probe fails (optimistic caching).
362</p>
363
364<p>
365Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
366</p>
367
368<p>
369This feature is available in Postfix 2.1 and later.
370</p>
371
372
373</DD>
374
375<DT><b><a name="address_verify_relay_transport">address_verify_relay_transport</a>
376(default: $<a href="postconf.5.html#relay_transport">relay_transport</a>)</b></DT><DD>
377
378<p>
379Overrides the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter setting for address
380verification probes.
381</p>
382
383<p>
384This feature is available in Postfix 2.1 and later.
385</p>
386
387
388</DD>
389
390<DT><b><a name="address_verify_relayhost">address_verify_relayhost</a>
391(default: $<a href="postconf.5.html#relayhost">relayhost</a>)</b></DT><DD>
392
393<p>
394Overrides the <a href="postconf.5.html#relayhost">relayhost</a> parameter setting for address verification
395probes. This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
396</p>
397
398<p>
399This feature is available in Postfix 2.1 and later.
400</p>
401
402
403</DD>
404
405<DT><b><a name="address_verify_sender">address_verify_sender</a>
406(default: $<a href="postconf.5.html#double_bounce_sender">double_bounce_sender</a>)</b></DT><DD>
407
408<p> The sender address to use in address verification probes; prior
409to Postfix 2.5 the default was "postmaster". To
410avoid problems with address probes that are sent in response to
411address probes, the Postfix SMTP server excludes the probe sender
412address from all SMTPD access blocks. </p>
413
414<p>
415Specify an empty value (<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> =) or &lt;&gt; if you want
416to use the null sender address. Beware, some sites reject mail from
417&lt;&gt;, even though RFCs require that such addresses be accepted.
418</p>
419
420<p>
421Examples:
422</p>
423
424<pre>
425<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = &lt;&gt;
426<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = postmaster@my.domain
427</pre>
428
429<p>
430This feature is available in Postfix 2.1 and later.
431</p>
432
433
434</DD>
435
436<DT><b><a name="address_verify_sender_dependent_default_transport_maps">address_verify_sender_dependent_default_transport_maps</a>
437(default: $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>)</b></DT><DD>
438
439<p> Overrides the <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter
440setting for address verification probes.  </p>
441
442<p> This feature is available in Postfix 2.7 and later.  </p>
443
444
445</DD>
446
447<DT><b><a name="address_verify_sender_dependent_relayhost_maps">address_verify_sender_dependent_relayhost_maps</a>
448(default: $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>)</b></DT><DD>
449
450<p>
451Overrides the <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> parameter setting for address
452verification probes.
453</p>
454
455<p>
456This feature is available in Postfix 2.3 and later.
457</p>
458
459
460</DD>
461
462<DT><b><a name="address_verify_sender_ttl">address_verify_sender_ttl</a>
463(default: 0s)</b></DT><DD>
464
465<p> The time between changes in the time-dependent portion of address
466verification probe sender addresses. The time-dependent portion is
467appended to the localpart of the address specified with the
468<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> parameter. This feature is ignored when the
469probe sender addresses is the null sender, i.e. the <a href="postconf.5.html#address_verify_sender">address_verify_sender</a>
470value is empty or &lt;&gt;. </p>
471
472<p> Historically, the probe sender address was fixed. This has
473caused such addresses to end up on spammer mailing lists, and has
474resulted in wasted network and processing resources.  </p>
475
476<p> To enable time-dependent probe sender addresses, specify a
477non-zero time value (an integral value plus an optional one-letter
478suffix that specifies the time unit).  Specify a value of at least
479several hours, to avoid problems with senders that use greylisting.
480Avoid nice TTL values, to make the result less predictable.  Time
481units are: s (seconds), m (minutes), h (hours), d (days), w (weeks).
482</p>
483
484<p> This feature is available in Postfix 2.9 and later.  </p>
485
486
487</DD>
488
489<DT><b><a name="address_verify_service_name">address_verify_service_name</a>
490(default: verify)</b></DT><DD>
491
492<p>
493The name of the <a href="verify.8.html">verify(8)</a> address verification service. This service
494maintains the status of sender and/or recipient address verification
495probes, and generates probes on request by other Postfix processes.
496</p>
497
498
499</DD>
500
501<DT><b><a name="address_verify_transport_maps">address_verify_transport_maps</a>
502(default: $<a href="postconf.5.html#transport_maps">transport_maps</a>)</b></DT><DD>
503
504<p>
505Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address verification
506probes.
507</p>
508
509<p>
510This feature is available in Postfix 2.1 and later.
511</p>
512
513
514</DD>
515
516<DT><b><a name="address_verify_virtual_transport">address_verify_virtual_transport</a>
517(default: $<a href="postconf.5.html#virtual_transport">virtual_transport</a>)</b></DT><DD>
518
519<p>
520Overrides the <a href="postconf.5.html#virtual_transport">virtual_transport</a> parameter setting for address
521verification probes.
522</p>
523
524<p>
525This feature is available in Postfix 2.1 and later.
526</p>
527
528
529</DD>
530
531<DT><b><a name="alias_database">alias_database</a>
532(default: see "postconf -d" output)</b></DT><DD>
533
534<p>
535The alias databases for <a href="local.8.html">local(8)</a> delivery that are updated with
536"<b>newaliases</b>" or with "<b>sendmail -bi</b>".
537</p>
538
539<p>
540This is a separate configuration parameter because not all the
541tables specified with $<a href="postconf.5.html#alias_maps">alias_maps</a> have to be local files.
542</p>
543
544<p>
545Examples:
546</p>
547
548<pre>
549<a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases
550<a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/mail/aliases
551</pre>
552
553
554</DD>
555
556<DT><b><a name="alias_maps">alias_maps</a>
557(default: see "postconf -d" output)</b></DT><DD>
558
559<p>
560The alias databases that are used for <a href="local.8.html">local(8)</a> delivery. See
561<a href="aliases.5.html">aliases(5)</a> for syntax details.
562</p>
563
564<p>
565The default list is system dependent.  On systems with NIS, the
566default is to search the local alias database, then the NIS alias
567database.
568</p>
569
570<p>
571If you change the alias database, run "<b>postalias /etc/aliases</b>"
572(or wherever your system stores the mail alias file), or simply
573run "<b>newaliases</b>" to build the necessary DBM or DB file.
574</p>
575
576<p>
577The <a href="local.8.html">local(8)</a> delivery agent disallows regular expression substitution
578of $1 etc. in <a href="postconf.5.html#alias_maps">alias_maps</a>, because that would open a security hole.
579</p>
580
581<p>
582The <a href="local.8.html">local(8)</a> delivery agent will silently ignore requests to use
583the <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
584table directly. Before Postfix version 2.2, the <a href="local.8.html">local(8)</a> delivery
585agent will terminate with a fatal error.
586</p>
587
588<p>
589Examples:
590</p>
591
592<pre>
593<a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases, nis:mail.aliases
594<a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases
595</pre>
596
597
598</DD>
599
600<DT><b><a name="allow_mail_to_commands">allow_mail_to_commands</a>
601(default: alias, forward)</b></DT><DD>
602
603<p>
604Restrict <a href="local.8.html">local(8)</a> mail delivery to external commands.  The default
605is to disallow delivery to "|command" in :include:  files (see
606<a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
607</p>
608
609<p>
610Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
611in order to allow commands in <a href="aliases.5.html">aliases(5)</a>, .forward files or in
612:include:  files, respectively.
613</p>
614
615<p>
616Example:
617</p>
618
619<pre>
620<a href="postconf.5.html#allow_mail_to_commands">allow_mail_to_commands</a> = alias,forward,include
621</pre>
622
623
624</DD>
625
626<DT><b><a name="allow_mail_to_files">allow_mail_to_files</a>
627(default: alias, forward)</b></DT><DD>
628
629<p>
630Restrict <a href="local.8.html">local(8)</a> mail delivery to external files. The default is
631to disallow "/file/name" destinations in :include:  files (see
632<a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
633</p>
634
635<p>
636Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
637in order to allow "/file/name" destinations in <a href="aliases.5.html">aliases(5)</a>, .forward
638files and in :include:  files, respectively.
639</p>
640
641<p>
642Example:
643</p>
644
645<pre>
646<a href="postconf.5.html#allow_mail_to_files">allow_mail_to_files</a> = alias,forward,include
647</pre>
648
649
650</DD>
651
652<DT><b><a name="allow_min_user">allow_min_user</a>
653(default: no)</b></DT><DD>
654
655<p>
656Allow a sender or recipient address to have `-' as the first
657character.  By
658default, this is not allowed, to avoid accidents with software that
659passes email addresses via the command line. Such software
660would not be able to distinguish a malicious address from a
661bona fide command-line option. Although this can be prevented by
662inserting a "--" option terminator into the command line, this is
663difficult to enforce consistently and globally.  </p>
664
665<p> As of Postfix version 2.5, this feature is implemented by
666<a href="trivial-rewrite.8.html">trivial-rewrite(8)</a>.  With earlier versions this feature was implemented
667by <a href="qmgr.8.html">qmgr(8)</a> and was limited to recipient addresses only. </p>
668
669
670</DD>
671
672<DT><b><a name="allow_percent_hack">allow_percent_hack</a>
673(default: yes)</b></DT><DD>
674
675<p>
676Enable the rewriting of the form "user%domain" to "user@domain".
677This is enabled by default.
678</p>
679
680<p> Note: as of Postfix version 2.2, message header address rewriting
681happens only when one of the following conditions is true: </p>
682
683<ul>
684
685<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
686
687<li> The message is received from a network client that matches
688$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
689
690<li> The message is received from the network, and the
691<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
692
693</ul>
694
695<p> To get the behavior before Postfix version 2.2, specify
696"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
697
698<p>
699Example:
700</p>
701
702<pre>
703<a href="postconf.5.html#allow_percent_hack">allow_percent_hack</a> = no
704</pre>
705
706
707</DD>
708
709<DT><b><a name="allow_untrusted_routing">allow_untrusted_routing</a>
710(default: no)</b></DT><DD>
711
712<p>
713Forward mail with sender-specified routing (user[@%!]remote[@%!]site)
714from untrusted clients to destinations matching $<a href="postconf.5.html#relay_domains">relay_domains</a>.
715</p>
716
717<p>
718By default, this feature is turned off.  This closes a nasty open
719relay loophole where a backup MX host can be tricked into forwarding
720junk mail to a primary MX host which then spams it out to the world.
721</p>
722
723<p>
724This parameter also controls if non-local addresses with sender-specified
725routing can match Postfix access tables. By default, such addresses
726cannot match Postfix access tables, because the address is ambiguous.
727</p>
728
729
730</DD>
731
732<DT><b><a name="alternate_config_directories">alternate_config_directories</a>
733(default: empty)</b></DT><DD>
734
735<p>
736A list of non-default Postfix configuration directories that may
737be specified with "-c <a href="postconf.5.html#config_directory">config_directory</a>" on the command line, or
738via the MAIL_CONFIG environment parameter.
739</p>
740
741<p>
742This list must be specified in the default Postfix configuration
743directory, and is used by set-gid Postfix commands such as <a href="postqueue.1.html">postqueue(1)</a>
744and <a href="postdrop.1.html">postdrop(1)</a>.
745</p>
746
747
748</DD>
749
750<DT><b><a name="always_add_missing_headers">always_add_missing_headers</a>
751(default: no)</b></DT><DD>
752
753<p> Always add (Resent-) From:, To:, Date: or Message-ID: headers
754when not present.  Postfix 2.6 and later add these headers only
755when clients match the <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter
756setting.  Earlier Postfix versions always add these headers; this
757may break DKIM signatures that cover non-existent headers. </p>
758
759
760</DD>
761
762<DT><b><a name="always_bcc">always_bcc</a>
763(default: empty)</b></DT><DD>
764
765<p>
766Optional address that receives a "blind carbon copy" of each message
767that is received by the Postfix mail system.
768</p>
769
770<p>
771Note: with Postfix 2.3 and later the BCC address is added as if it
772was specified with NOTIFY=NONE. The sender will not be notified
773when the BCC address is undeliverable, as long as all down-stream
774software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
775</p>
776
777<p>
778Note: with Postfix 2.2 and earlier the sender will be notified
779when the BCC address is undeliverable.
780</p>
781
782<p> Note: automatic BCC recipients are produced only for new mail.
783To avoid mailer loops, automatic BCC recipients are not generated
784after Postfix forwards mail internally, or after Postfix generates
785mail itself. </p>
786
787
788</DD>
789
790<DT><b><a name="anvil_rate_time_unit">anvil_rate_time_unit</a>
791(default: 60s)</b></DT><DD>
792
793<p>
794The time unit over which client connection rates and other rates
795are calculated.
796</p>
797
798<p>
799This feature is implemented by the <a href="anvil.8.html">anvil(8)</a> service which is available
800in Postfix version 2.2 and later.
801</p>
802
803<p>
804The default interval is relatively short. Because of the high
805frequency of updates, the <a href="anvil.8.html">anvil(8)</a> server uses volatile memory
806only. Thus, information is lost whenever the process terminates.
807</p>
808
809<p>
810Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
811The default time unit is s (seconds).
812</p>
813
814
815</DD>
816
817<DT><b><a name="anvil_status_update_time">anvil_status_update_time</a>
818(default: 600s)</b></DT><DD>
819
820<p>
821How frequently the <a href="anvil.8.html">anvil(8)</a> connection and rate limiting server
822logs peak usage information.
823</p>
824
825<p>
826This feature is available in Postfix 2.2 and later.
827</p>
828
829<p>
830Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
831The default time unit is s (seconds).
832</p>
833
834
835</DD>
836
837<DT><b><a name="append_at_myorigin">append_at_myorigin</a>
838(default: yes)</b></DT><DD>
839
840<p>
841With locally submitted mail, append the string "@$<a href="postconf.5.html#myorigin">myorigin</a>" to mail
842addresses without domain information. With remotely submitted mail,
843append the string "@$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>" instead.
844</p>
845
846<p>
847Note 1: this feature is enabled by default and must not be turned off.
848Postfix does not support domain-less addresses.
849</p>
850
851<p> Note 2: with Postfix version 2.2, message header address rewriting
852happens only when one of the following conditions is true: </p>
853
854<ul>
855
856<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
857
858<li> The message is received from a network client that matches
859$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
860
861<li> The message is received from the network, and the
862<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
863
864</ul>
865
866<p> To get the behavior before Postfix version 2.2, specify
867"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
868
869
870</DD>
871
872<DT><b><a name="append_dot_mydomain">append_dot_mydomain</a>
873(default: yes)</b></DT><DD>
874
875<p>
876With locally submitted mail, append the string ".$<a href="postconf.5.html#mydomain">mydomain</a>" to
877addresses that have no ".domain" information. With remotely submitted
878mail, append the string ".$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>"
879instead.
880</p>
881
882<p>
883Note 1: this feature is enabled by default. If disabled, users will not be
884able to send mail to "user@partialdomainname" but will have to
885specify full domain names instead.
886</p>
887
888<p> Note 2: with Postfix version 2.2, message header address rewriting
889happens only when one of the following conditions is true: </p>
890
891<ul>
892
893<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
894
895<li> The message is received from a network client that matches
896$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
897
898<li> The message is received from the network, and the
899<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
900
901</ul>
902
903<p> To get the behavior before Postfix version 2.2, specify
904"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
905
906
907</DD>
908
909<DT><b><a name="application_event_drain_time">application_event_drain_time</a>
910(default: 100s)</b></DT><DD>
911
912<p>
913How long the <a href="postkick.1.html">postkick(1)</a> command waits for a request to enter the
914Postfix daemon process input buffer before giving up.
915</p>
916
917<p>
918Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
919The default time unit is s (seconds).
920</p>
921
922<p>
923This feature is available in Postfix 2.1 and later.
924</p>
925
926
927</DD>
928
929<DT><b><a name="authorized_flush_users">authorized_flush_users</a>
930(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
931
932<p>
933List of users who are authorized to flush the queue.
934</p>
935
936<p>
937By default, all users are allowed to flush the queue.  Access is
938always granted if the invoking user is the super-user or the
939$<a href="postconf.5.html#mail_owner">mail_owner</a> user.  Otherwise, the real UID of the process is looked
940up in the system password file, and access is granted only if the
941corresponding login name is on the access list.  The username
942"unknown" is used for processes whose real UID is not found in the
943password file.  </p>
944
945<p>
946Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
947separated by commas and/or whitespace. The list is matched left to
948right, and the search stops on the first match. A "/file/name"
949pattern is replaced
950by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
951matches a lookup key (the lookup result is ignored).  Continue long
952lines by starting the next line with whitespace. Specify "!pattern"
953to exclude a name from the list. The form "!/file/name" is supported
954only in Postfix version 2.4 and later.  </p>
955
956<p>
957This feature is available in Postfix 2.2 and later.
958</p>
959
960
961</DD>
962
963<DT><b><a name="authorized_mailq_users">authorized_mailq_users</a>
964(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
965
966<p>
967List of users who are authorized to view the queue.
968</p>
969
970<p>
971By default, all users are allowed to view the queue.  Access is
972always granted if the invoking user is the super-user or the
973$<a href="postconf.5.html#mail_owner">mail_owner</a> user.  Otherwise, the real UID of the process is looked
974up in the system password file, and access is granted only if the
975corresponding login name is on the access list.  The username
976"unknown" is used for processes whose real UID is not found in the
977password file.  </p>
978
979<p>
980Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
981separated by commas and/or whitespace. The list is matched left to
982right, and the search stops on the first match. A "/file/name"
983pattern is replaced
984by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
985matches a lookup key (the lookup result is ignored).  Continue long
986lines by starting the next line with whitespace. Specify "!pattern"
987to exclude a user name from the list. The form "!/file/name" is
988supported only in Postfix version 2.4 and later.  </p>
989
990<p>
991This feature is available in Postfix 2.2 and later.
992</p>
993
994
995</DD>
996
997<DT><b><a name="authorized_submit_users">authorized_submit_users</a>
998(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
999
1000<p>
1001List of users who are authorized to submit mail with the <a href="sendmail.1.html">sendmail(1)</a>
1002command (and with the privileged <a href="postdrop.1.html">postdrop(1)</a> helper command).
1003</p>
1004
1005<p>
1006By default, all users are allowed to submit mail.  Otherwise, the
1007real UID of the process is looked up in the system password file,
1008and access is granted only if the corresponding login name is on
1009the access list.  The username "unknown" is used for processes
1010whose real UID is not found in the password file. To deny mail
1011submission access to all users specify an empty list.  </p>
1012
1013<p>
1014Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
1015separated by commas and/or whitespace. The list is matched left to right,
1016and the search stops on the first match. A "/file/name" pattern is
1017replaced by its contents;
1018a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup key
1019(the lookup result is ignored).  Continue long lines by starting the
1020next line with whitespace. Specify "!pattern" to exclude a user
1021name from the list. The form "!/file/name" is supported only in
1022Postfix version 2.4 and later.  </p>
1023
1024<p>
1025Example:
1026</p>
1027
1028<pre>
1029<a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> = !www, <a href="DATABASE_README.html#types">static</a>:all
1030</pre>
1031
1032<p>
1033This feature is available in Postfix 2.2 and later.
1034</p>
1035
1036
1037</DD>
1038
1039<DT><b><a name="authorized_verp_clients">authorized_verp_clients</a>
1040(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
1041
1042<p> What remote SMTP clients are allowed to specify the XVERP command.
1043This command requests that mail be delivered one recipient at a
1044time with a per recipient return address.  </p>
1045
1046<p> By default, only trusted clients are allowed to specify XVERP.
1047</p>
1048
1049<p> This parameter was introduced with Postfix version 1.1.  Postfix
1050version 2.1 renamed this parameter to <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
1051and changed the default to none. </p>
1052
1053<p> Specify a list of network/netmask patterns, separated by commas
1054and/or whitespace. The mask specifies the number of bits in the
1055network part of a host address. You can also specify hostnames or
1056.domain names (the initial dot causes the domain to match any name
1057below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
1058pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
1059is matched when a table entry matches a lookup string (the lookup
1060result is ignored).  Continue long lines by starting the next line
1061with whitespace. Specify "!pattern" to exclude an address or network
1062block from the list. The form "!/file/name" is supported only in
1063Postfix version 2.4 and later. </p>
1064
1065<p> Note: IP version 6 address information must be specified inside
1066<tt>[]</tt> in the <a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a> value, and in files
1067specified with "/file/name".  IP version 6 addresses contain the
1068":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
1069pattern.  </p>
1070
1071
1072</DD>
1073
1074<DT><b><a name="backwards_bounce_logfile_compatibility">backwards_bounce_logfile_compatibility</a>
1075(default: yes)</b></DT><DD>
1076
1077<p>
1078Produce additional <a href="bounce.8.html">bounce(8)</a> logfile records that can be read by
1079Postfix versions before 2.0. The current and more extensible "name =
1080value" format is needed in order to implement more sophisticated
1081functionality.
1082</p>
1083
1084<p>
1085This feature is available in Postfix 2.1 and later.
1086</p>
1087
1088
1089</DD>
1090
1091<DT><b><a name="berkeley_db_create_buffer_size">berkeley_db_create_buffer_size</a>
1092(default: 16777216)</b></DT><DD>
1093
1094<p>
1095The per-table I/O buffer size for programs that create Berkeley DB
1096hash or btree tables.  Specify a byte count.
1097</p>
1098
1099<p>
1100This feature is available in Postfix 2.0 and later.
1101</p>
1102
1103
1104</DD>
1105
1106<DT><b><a name="berkeley_db_read_buffer_size">berkeley_db_read_buffer_size</a>
1107(default: 131072)</b></DT><DD>
1108
1109<p>
1110The per-table I/O buffer size for programs that read Berkeley DB
1111hash or btree tables.  Specify a byte count.
1112</p>
1113
1114<p>
1115This feature is available in Postfix 2.0 and later.
1116</p>
1117
1118
1119</DD>
1120
1121<DT><b><a name="best_mx_transport">best_mx_transport</a>
1122(default: empty)</b></DT><DD>
1123
1124<p>
1125Where the Postfix SMTP client should deliver mail when it detects
1126a "mail loops back to myself" error condition. This happens when
1127the local MTA is the best SMTP mail exchanger for a destination
1128not 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>,
1129$<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,
1130the Postfix SMTP client returns such mail as undeliverable.
1131</p>
1132
1133<p>
1134Specify, for example, "<a href="postconf.5.html#best_mx_transport">best_mx_transport</a> = local" to pass the mail
1135from the Postfix SMTP client to the <a href="local.8.html">local(8)</a> delivery agent. You
1136can specify
1137any message delivery "transport" or "transport:nexthop" that is
1138defined in the <a href="master.5.html">master.cf</a> file. See the <a href="transport.5.html">transport(5)</a> manual page
1139for the syntax and meaning of "transport" or "transport:nexthop".
1140</p>
1141
1142<p>
1143However, this feature is expensive because it ties up a Postfix
1144SMTP client process while the <a href="local.8.html">local(8)</a> delivery agent is doing its
1145work. It is more efficient (for Postfix) to list all <a href="VIRTUAL_README.html#canonical">hosted domains</a>
1146in a table or database.
1147</p>
1148
1149
1150</DD>
1151
1152<DT><b><a name="biff">biff</a>
1153(default: yes)</b></DT><DD>
1154
1155<p>
1156Whether or not to use the local <a href="postconf.5.html#biff">biff</a> service.  This service sends
1157"new mail" notifications to users who have requested new mail
1158notification with the UNIX command "<a href="postconf.5.html#biff">biff</a> y".
1159</p>
1160
1161<p>
1162For compatibility reasons this feature is on by default.  On systems
1163with lots of interactive users, the <a href="postconf.5.html#biff">biff</a> service can be a performance
1164drain.  Specify "<a href="postconf.5.html#biff">biff</a> = no" in <a href="postconf.5.html">main.cf</a> to disable.
1165</p>
1166
1167
1168</DD>
1169
1170<DT><b><a name="body_checks">body_checks</a>
1171(default: empty)</b></DT><DD>
1172
1173<p> Optional lookup tables for content inspection as specified in
1174the <a href="header_checks.5.html">body_checks(5)</a> manual page.  </p>
1175
1176<p> Note: with Postfix versions before 2.0, these rules inspect
1177all content after the primary message headers. </p>
1178
1179
1180</DD>
1181
1182<DT><b><a name="body_checks_size_limit">body_checks_size_limit</a>
1183(default: 51200)</b></DT><DD>
1184
1185<p>
1186How much text in a message body segment (or attachment, if you
1187prefer to use that term) is subjected to <a href="postconf.5.html#body_checks">body_checks</a> inspection.
1188The amount of text is limited to avoid scanning huge attachments.
1189</p>
1190
1191<p>
1192This feature is available in Postfix 2.0 and later.
1193</p>
1194
1195
1196</DD>
1197
1198<DT><b><a name="bounce_notice_recipient">bounce_notice_recipient</a>
1199(default: postmaster)</b></DT><DD>
1200
1201<p>
1202The recipient of postmaster notifications with the message headers
1203of mail that Postfix did not deliver and of SMTP conversation
1204transcripts of mail that Postfix did not receive.  This feature is
1205enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter.  </p>
1206
1207
1208</DD>
1209
1210<DT><b><a name="bounce_queue_lifetime">bounce_queue_lifetime</a>
1211(default: 5d)</b></DT><DD>
1212
1213<p>
1214Consider a bounce message as undeliverable, when delivery fails
1215with a temporary error, and the time in the queue has reached the
1216<a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> limit.  By default, this limit is the same
1217as for regular mail.
1218</p>
1219
1220<p>
1221Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
1222The default time unit is d (days).
1223</p>
1224
1225<p>
1226Specify 0 when mail delivery should be tried only once.
1227</p>
1228
1229<p>
1230This feature is available in Postfix 2.1 and later.
1231</p>
1232
1233
1234</DD>
1235
1236<DT><b><a name="bounce_service_name">bounce_service_name</a>
1237(default: bounce)</b></DT><DD>
1238
1239<p>
1240The name of the <a href="bounce.8.html">bounce(8)</a> service. This service maintains a record
1241of failed delivery attempts and generates non-delivery notifications.
1242</p>
1243
1244<p>
1245This feature is available in Postfix 2.0 and later.
1246</p>
1247
1248
1249</DD>
1250
1251<DT><b><a name="bounce_size_limit">bounce_size_limit</a>
1252(default: 50000)</b></DT><DD>
1253
1254<p> The maximal amount of original message text that is sent in a
1255non-delivery notification. Specify a byte count.  A message is
1256returned as either message/rfc822 (the complete original) or as
1257text/rfc822-headers (the headers only).  With Postfix version 2.4
1258and earlier, a message is always returned as message/rfc822 and is
1259truncated when it exceeds the size limit.
1260</p>
1261
1262<p> Notes: </p>
1263
1264<ul>
1265
1266<li> <p> If you increase this limit, then you should increase the
1267<a href="postconf.5.html#mime_nesting_limit">mime_nesting_limit</a> value proportionally.  </p>
1268
1269<li> <p> Be careful when making changes.  Excessively large values
1270will result in the loss of non-delivery notifications, when a bounce
1271message size exceeds a local or remote MTA's message size limit.
1272</p>
1273
1274</ul>
1275
1276
1277</DD>
1278
1279<DT><b><a name="bounce_template_file">bounce_template_file</a>
1280(default: empty)</b></DT><DD>
1281
1282<p> Pathname of a configuration file with bounce message templates.
1283These override the built-in templates of delivery status notification
1284(DSN) messages for undeliverable mail, for delayed mail, successful
1285delivery, or delivery verification. The <a href="bounce.5.html">bounce(5)</a> manual page
1286describes how to edit and test template files.  </p>
1287
1288<p> Template message body text may contain $name references to
1289Postfix configuration parameters. The result of $name expansion can
1290be previewed with "<b>postconf -b <i>file_name</i></b>" before the file
1291is placed into the Postfix configuration directory.  </p>
1292
1293<p> This feature is available in Postfix 2.3 and later.  </p>
1294
1295
1296</DD>
1297
1298<DT><b><a name="broken_sasl_auth_clients">broken_sasl_auth_clients</a>
1299(default: no)</b></DT><DD>
1300
1301<p>
1302Enable inter-operability with remote SMTP clients that implement an obsolete
1303version of the AUTH command (<a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a>). Examples of such clients
1304are MicroSoft Outlook Express version 4 and MicroSoft Exchange
1305version 5.0.
1306</p>
1307
1308<p>
1309Specify "<a href="postconf.5.html#broken_sasl_auth_clients">broken_sasl_auth_clients</a> = yes" to have Postfix advertise
1310AUTH support in a non-standard way.
1311</p>
1312
1313
1314</DD>
1315
1316<DT><b><a name="canonical_classes">canonical_classes</a>
1317(default: envelope_sender, envelope_recipient, header_sender, header_recipient)</b></DT><DD>
1318
1319<p> What addresses are subject to <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping.
1320By default, <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping is applied to envelope
1321sender and recipient addresses, and to header sender and header
1322recipient addresses.  </p>
1323
1324<p> Specify one or more of: envelope_sender, envelope_recipient,
1325header_sender, header_recipient </p>
1326
1327<p> This feature is available in Postfix 2.2 and later. </p>
1328
1329
1330</DD>
1331
1332<DT><b><a name="canonical_maps">canonical_maps</a>
1333(default: empty)</b></DT><DD>
1334
1335<p>
1336Optional address mapping lookup tables for message headers and
1337envelopes. The mapping is applied to both sender and recipient
1338addresses, in both envelopes and in headers, as controlled
1339with the <a href="postconf.5.html#canonical_classes">canonical_classes</a> parameter. This is typically used
1340to clean up dirty addresses from legacy mail systems, or to replace
1341login names by Firstname.Lastname.  The table format and lookups
1342are documented in <a href="canonical.5.html">canonical(5)</a>. For an overview of Postfix address
1343manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
1344</p>
1345
1346<p>
1347If you use this feature, run "<b>postmap /etc/postfix/canonical</b>" to
1348build the necessary DBM or DB file after every change. The changes
1349will become visible after a minute or so.  Use "<b>postfix reload</b>"
1350to eliminate the delay.
1351</p>
1352
1353<p> Note: with Postfix version 2.2, message header address mapping
1354happens only when message header address rewriting is enabled: </p>
1355
1356<ul>
1357
1358<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
1359
1360<li> The message is received from a network client that matches
1361$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
1362
1363<li> The message is received from the network, and the
1364<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
1365
1366</ul>
1367
1368<p> To get the behavior before Postfix version 2.2, specify
1369"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
1370
1371<p>
1372Examples:
1373</p>
1374
1375<pre>
1376<a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/canonical
1377<a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/canonical
1378</pre>
1379
1380
1381</DD>
1382
1383<DT><b><a name="cleanup_service_name">cleanup_service_name</a>
1384(default: cleanup)</b></DT><DD>
1385
1386<p>
1387The name of the <a href="cleanup.8.html">cleanup(8)</a> service. This service rewrites addresses
1388into the standard form, and performs <a href="canonical.5.html">canonical(5)</a> address mapping
1389and <a href="virtual.5.html">virtual(5)</a> aliasing.
1390</p>
1391
1392<p>
1393This feature is available in Postfix 2.0 and later.
1394</p>
1395
1396
1397</DD>
1398
1399<DT><b><a name="command_directory">command_directory</a>
1400(default: see "postconf -d" output)</b></DT><DD>
1401
1402<p>
1403The location of all postfix administrative commands.
1404</p>
1405
1406
1407</DD>
1408
1409<DT><b><a name="command_execution_directory">command_execution_directory</a>
1410(default: empty)</b></DT><DD>
1411
1412<p> The <a href="local.8.html">local(8)</a> delivery agent working directory for delivery to
1413external command.  Failure to change directory causes the delivery
1414to be deferred. </p>
1415
1416<p> The following $name expansions are done on <a href="postconf.5.html#command_execution_directory">command_execution_directory</a>
1417before the directory is changed. Expansion happens in the context
1418of the delivery request.  The result of $name expansion is filtered
1419with the character set that is specified with the
1420<a href="postconf.5.html#execution_directory_expansion_filter">execution_directory_expansion_filter</a> parameter.  </p>
1421
1422<dl>
1423
1424<dt><b>$user</b></dt>
1425
1426<dd>The recipient's username. </dd>
1427
1428<dt><b>$shell</b></dt>
1429
1430<dd>The recipient's login shell pathname. </dd>
1431
1432<dt><b>$home</b></dt>
1433
1434<dd>The recipient's home directory. </dd>
1435
1436<dt><b>$recipient</b></dt>
1437
1438<dd>The full recipient address. </dd>
1439
1440<dt><b>$extension</b></dt>
1441
1442<dd>The optional recipient address extension. </dd>
1443
1444<dt><b>$domain</b></dt>
1445
1446<dd>The recipient domain. </dd>
1447
1448<dt><b>$local</b></dt>
1449
1450<dd>The entire recipient localpart. </dd>
1451
1452<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
1453
1454<dd>The address extension delimiter that was found in the recipient
1455address (Postfix 2.11 and later), or the system-wide recipient
1456address extension delimiter (Postfix 2.10 and earlier). </dd>
1457
1458<dt><b>${name?value}</b></dt>
1459
1460<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
1461
1462<dt><b>${name:value}</b></dt>
1463
1464<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
1465
1466</dl>
1467
1468<p>
1469Instead of $name you can also specify ${name} or $(name).
1470</p>
1471
1472<p> This feature is available in Postfix 2.2 and later. </p>
1473
1474
1475</DD>
1476
1477<DT><b><a name="command_expansion_filter">command_expansion_filter</a>
1478(default: see "postconf -d" output)</b></DT><DD>
1479
1480<p>
1481Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
1482$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>.
1483Characters outside the
1484allowed set are replaced by underscores.
1485</p>
1486
1487
1488</DD>
1489
1490<DT><b><a name="command_time_limit">command_time_limit</a>
1491(default: 1000s)</b></DT><DD>
1492
1493<p>
1494Time limit for delivery to external commands. This limit is used
1495by the <a href="local.8.html">local(8)</a> delivery agent, and is the default time limit for
1496delivery by the <a href="pipe.8.html">pipe(8)</a> delivery agent.
1497</p>
1498
1499<p>
1500Note: if you set this time limit to a large value you must update the
1501global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter as well.
1502</p>
1503
1504
1505</DD>
1506
1507<DT><b><a name="config_directory">config_directory</a>
1508(default: see "postconf -d" output)</b></DT><DD>
1509
1510<p> The default location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a>
1511configuration files. This can be overruled via the following
1512mechanisms: </p>
1513
1514<ul>
1515
1516<li> <p> The MAIL_CONFIG environment variable (daemon processes
1517and commands). </p>
1518
1519<li> <p> The "-c" command-line option (commands only). </p>
1520
1521</ul>
1522
1523<p> With Postfix command that run with set-gid privileges, a
1524<a href="postconf.5.html#config_directory">config_directory</a> override requires either root privileges, or it
1525requires that the directory is listed with the <a href="postconf.5.html#alternate_config_directories">alternate_config_directories</a>
1526parameter in the default <a href="postconf.5.html">main.cf</a> file.  </p>
1527
1528
1529</DD>
1530
1531<DT><b><a name="connection_cache_protocol_timeout">connection_cache_protocol_timeout</a>
1532(default: 5s)</b></DT><DD>
1533
1534<p> Time limit for connection cache connect, send or receive
1535operations.  The time limit is enforced in the client. </p>
1536
1537<p> This feature is available in Postfix 2.3 and later. </p>
1538
1539
1540</DD>
1541
1542<DT><b><a name="connection_cache_service_name">connection_cache_service_name</a>
1543(default: scache)</b></DT><DD>
1544
1545<p> The name of the <a href="scache.8.html">scache(8)</a> connection cache service.  This service
1546maintains a limited pool of cached sessions.  </p>
1547
1548<p> This feature is available in Postfix 2.2 and later. </p>
1549
1550
1551</DD>
1552
1553<DT><b><a name="connection_cache_status_update_time">connection_cache_status_update_time</a>
1554(default: 600s)</b></DT><DD>
1555
1556<p> How frequently the <a href="scache.8.html">scache(8)</a> server logs usage statistics with
1557connection cache hit and miss rates for logical destinations and for
1558physical endpoints. </p>
1559
1560
1561</DD>
1562
1563<DT><b><a name="connection_cache_ttl_limit">connection_cache_ttl_limit</a>
1564(default: 2s)</b></DT><DD>
1565
1566<p> The maximal time-to-live value that the <a href="scache.8.html">scache(8)</a> connection
1567cache server
1568allows. Requests that specify a larger TTL will be stored with the
1569maximum allowed TTL. The purpose of this additional control is to
1570protect the infrastructure against careless people. The cache TTL
1571is already bounded by $<a href="postconf.5.html#max_idle">max_idle</a>.  </p>
1572
1573
1574</DD>
1575
1576<DT><b><a name="content_filter">content_filter</a>
1577(default: empty)</b></DT><DD>
1578
1579<p> After the message is queued, send the entire message to the
1580specified <i>transport:destination</i>. The <i>transport</i> name
1581specifies the first field of a mail delivery agent definition in
1582<a href="master.5.html">master.cf</a>; the syntax of the next-hop <i>destination</i> is described
1583in the manual page of the corresponding delivery agent.  More
1584information about external content filters is in the Postfix
1585<a href="FILTER_README.html">FILTER_README</a> file.  </p>
1586
1587<p> Notes: </p>
1588
1589<ul>
1590
1591<li> <p> This setting has lower precedence than a FILTER action
1592that 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>
1593table. </p>
1594
1595<li> <p> The meaning of an empty next-hop filter <i>destination</i>
1596is version dependent.  Postfix 2.7 and later will use the recipient
1597domain; earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>.  Specify
1598"<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility with Postfix
15992.6 or earlier, or specify a <a href="postconf.5.html#content_filter">content_filter</a> value with an explicit
1600next-hop <i>destination</i>.  </p>
1601
1602</ul>
1603
1604
1605</DD>
1606
1607<DT><b><a name="cyrus_sasl_config_path">cyrus_sasl_config_path</a>
1608(default: empty)</b></DT><DD>
1609
1610<p> Search path for Cyrus SASL application configuration files,
1611currently used only to locate the $<a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.conf file.
1612Specify zero or more directories separated by a colon character,
1613or an empty value to use Cyrus SASL's built-in search path.  </p>
1614
1615<p> This feature is available in Postfix 2.5 and later when compiled
1616with Cyrus SASL 2.1.22 or later. </p>
1617
1618
1619</DD>
1620
1621<DT><b><a name="daemon_directory">daemon_directory</a>
1622(default: see "postconf -d" output)</b></DT><DD>
1623
1624<p>
1625The directory with Postfix support programs and daemon programs.
1626These should not be invoked directly by humans. The directory must
1627be owned by root.
1628</p>
1629
1630
1631</DD>
1632
1633<DT><b><a name="daemon_table_open_error_is_fatal">daemon_table_open_error_is_fatal</a>
1634(default: no)</b></DT><DD>
1635
1636<p> How a Postfix daemon process handles errors while opening lookup
1637tables: gradual degradation or immediate termination. </p>
1638
1639<dl>
1640
1641<dt> <b> no </b> (default) </dt> <dd> <p> Gradual degradation: a
1642daemon process logs a message of type "error" and continues execution
1643with reduced functionality. Features that do not depend on the
1644unavailable table will work normally, while features that depend
1645on the table will result in a type "warning" message.  <br> When
1646the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter value contains the "data" class, the
1647Postfix SMTP server and client will report transcripts of sessions
1648with an error because a table is unavailable.  </p> </dd>
1649
1650<dt> <b> yes </b> (historical behavior) </dt> <dd> <p> Immediate
1651termination: a daemon process logs a type "fatal" message and
1652terminates immediately.  This option reduces the number of possible
1653code paths through Postfix, and may therefore be slightly more
1654secure than the default.  </p> </dd>
1655
1656</dl>
1657
1658<p> For the sake of sanity, the number of type "error" messages is
1659limited to 13 over the lifetime of a daemon process. </p>
1660
1661<p> This feature is available in Postfix 2.9 and later.  </p>
1662
1663
1664</DD>
1665
1666<DT><b><a name="daemon_timeout">daemon_timeout</a>
1667(default: 18000s)</b></DT><DD>
1668
1669<p> How much time a Postfix daemon process may take to handle a
1670request before it is terminated by a built-in watchdog timer.  </p>
1671
1672<p>
1673Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
1674The default time unit is s (seconds).
1675</p>
1676
1677
1678</DD>
1679
1680<DT><b><a name="data_directory">data_directory</a>
1681(default: see "postconf -d" output)</b></DT><DD>
1682
1683<p> The directory with Postfix-writable data files (for example:
1684caches, pseudo-random numbers).  This directory must be owned by
1685the <a href="postconf.5.html#mail_owner">mail_owner</a> account, and must not be shared with non-Postfix
1686software.  </p>
1687
1688<p> This feature is available in Postfix 2.5 and later. </p>
1689
1690
1691</DD>
1692
1693<DT><b><a name="debug_peer_level">debug_peer_level</a>
1694(default: 2)</b></DT><DD>
1695
1696<p> The increment in verbose logging level when a remote client or
1697server matches a pattern in the <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter.  </p>
1698
1699
1700</DD>
1701
1702<DT><b><a name="debug_peer_list">debug_peer_list</a>
1703(default: empty)</b></DT><DD>
1704
1705<p> Optional list of remote client or server hostname or network
1706address patterns that cause the verbose logging level to increase
1707by the amount specified in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>.  </p>
1708
1709<p> Specify domain names, network/netmask patterns, "/file/name"
1710patterns or "<a href="DATABASE_README.html">type:table</a>" lookup tables. The right-hand side result
1711from "<a href="DATABASE_README.html">type:table</a>" lookups is ignored.  </p>
1712
1713<p> Pattern matching of domain names is controlled by the
1714<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter.  </p>
1715
1716<p>
1717Examples:
1718</p>
1719
1720<pre>
1721<a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = 127.0.0.1
1722<a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = example.com
1723</pre>
1724
1725
1726</DD>
1727
1728<DT><b><a name="debugger_command">debugger_command</a>
1729(default: empty)</b></DT><DD>
1730
1731<p>
1732The external command to execute when a Postfix daemon program is
1733invoked with the -D option.
1734</p>
1735
1736<p>
1737Use "command .. &amp; sleep 5" so that the debugger can attach before
1738the process marches on. If you use an X-based debugger, be sure to
1739set up your XAUTHORITY environment variable before starting Postfix.
1740</p>
1741
1742<p>
1743Note: the command is subject to $name expansion, before it is
1744passed to the default command interpreter. Specify "$$" to
1745produce a single "$" character.
1746</p>
1747
1748<p>
1749Example:
1750</p>
1751
1752<pre>
1753<a href="postconf.5.html#debugger_command">debugger_command</a> =
1754    PATH=/usr/bin:/usr/X11R6/bin
1755    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
1756</pre>
1757
1758
1759</DD>
1760
1761<DT><b><a name="default_database_type">default_database_type</a>
1762(default: see "postconf -d" output)</b></DT><DD>
1763
1764<p>
1765The default database type for use in <a href="newaliases.1.html">newaliases(1)</a>, <a href="postalias.1.html">postalias(1)</a>
1766and <a href="postmap.1.html">postmap(1)</a> commands. On many UNIX systems the default type is
1767either <b>dbm</b> or <b>hash</b>. The default setting is frozen
1768when the Postfix system is built.
1769</p>
1770
1771<p>
1772Examples:
1773</p>
1774
1775<pre>
1776<a href="postconf.5.html#default_database_type">default_database_type</a> = hash
1777<a href="postconf.5.html#default_database_type">default_database_type</a> = dbm
1778</pre>
1779
1780
1781</DD>
1782
1783<DT><b><a name="default_delivery_slot_cost">default_delivery_slot_cost</a>
1784(default: 5)</b></DT><DD>
1785
1786<p>
1787How often the Postfix queue manager's scheduler is allowed to
1788preempt delivery of one message with another.
1789</p>
1790
1791<p>
1792Each transport maintains a so-called "available delivery slot counter"
1793for each message. One message can be preempted by another one when
1794the other message can be delivered using no more delivery slots
1795(i.e., invocations of delivery agents) than the current message
1796counter has accumulated (or will eventually accumulate - see about
1797slot loans below). This parameter controls how often is the counter
1798incremented - it happens after each <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
1799recipients have been delivered.
1800</p>
1801
1802<p>
1803The cost of 0 is used to disable the preempting scheduling completely.
1804The minimum value the scheduling algorithm can use is 2 - use it
1805if you want to maximize the message throughput rate. Although there
1806is no maximum, it doesn't make much sense to use values above say
180750.
1808</p>
1809
1810<p>
1811The only reason why the value of 2 is not the default is the way
1812this parameter affects the delivery of mailing-list mail. In the
1813worst case, their delivery can take somewhere between (cost+1/cost)
1814and (cost/cost-1) times more than if the preemptive scheduler was
1815disabled. The default value of 5 turns out to provide reasonable
1816message response times while making sure the mailing-list deliveries
1817are not extended by more than 20-25 percent even in the worst case.
1818</p>
1819
1820<p> Use <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> to specify a
1821transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1822name of the message delivery transport.
1823</p>
1824
1825<p>
1826Examples:
1827</p>
1828
1829<pre>
1830<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 0
1831<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 2
1832</pre>
1833
1834
1835</DD>
1836
1837<DT><b><a name="default_delivery_slot_discount">default_delivery_slot_discount</a>
1838(default: 50)</b></DT><DD>
1839
1840<p>
1841The default value for transport-specific _delivery_slot_discount
1842settings.
1843</p>
1844
1845<p>
1846This parameter speeds up the moment when a message preemption can
1847happen. Instead of waiting until the full amount of delivery slots
1848required is available, the preemption can happen when
1849transport_delivery_slot_discount percent of the required amount
1850plus transport_delivery_slot_loan still remains to be accumulated.
1851Note that the full amount will still have to be accumulated before
1852another preemption can take place later.
1853</p>
1854
1855<p> Use <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> to specify a
1856transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1857name of the message delivery transport.
1858</p>
1859
1860
1861</DD>
1862
1863<DT><b><a name="default_delivery_slot_loan">default_delivery_slot_loan</a>
1864(default: 3)</b></DT><DD>
1865
1866<p>
1867The default value for transport-specific _delivery_slot_loan
1868settings.
1869</p>
1870
1871<p>
1872This parameter speeds up the moment when a message preemption can
1873happen. Instead of waiting until the full amount of delivery slots
1874required is available, the preemption can happen when
1875transport_delivery_slot_discount percent of the required amount
1876plus transport_delivery_slot_loan still remains to be accumulated.
1877Note that the full amount will still have to be accumulated before
1878another preemption can take place later.
1879</p>
1880
1881<p> Use <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> to specify a
1882transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1883name of the message delivery transport.
1884</p>
1885
1886
1887</DD>
1888
1889<DT><b><a name="default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
1890(default: 1)</b></DT><DD>
1891
1892<p> How many pseudo-cohorts must suffer connection or handshake
1893failure before a specific destination is considered unavailable
1894(and further delivery is suspended). Specify zero to disable this
1895feature. A destination's pseudo-cohort failure count is reset each
1896time a delivery completes without connection or handshake failure
1897for that specific destination. </p>
1898
1899<p> A pseudo-cohort is the number of deliveries equal to a destination's
1900delivery concurrency. </p>
1901
1902<p> Use <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> to specify
1903a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1904name of the message delivery transport. </p>
1905
1906<p> This feature is available in Postfix 2.5. The default setting
1907is compatible with earlier Postfix versions. </p>
1908
1909
1910</DD>
1911
1912<DT><b><a name="default_destination_concurrency_limit">default_destination_concurrency_limit</a>
1913(default: 20)</b></DT><DD>
1914
1915<p>
1916The default maximal number of parallel deliveries to the same
1917destination.  This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>,
1918<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.
1919With per-destination recipient limit &gt; 1, a destination is a domain,
1920otherwise it is a recipient.
1921</p>
1922
1923<p> Use <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> to specify a
1924transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1925name of the message delivery transport.
1926</p>
1927
1928
1929</DD>
1930
1931<DT><b><a name="default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>
1932(default: 1)</b></DT><DD>
1933
1934<p> The per-destination amount of delivery concurrency negative
1935feedback, after a delivery completes with a connection or handshake
1936failure. Feedback values are in the range 0..1 inclusive. With
1937negative feedback, concurrency is decremented at the beginning of
1938a sequence of length 1/feedback. This is unlike positive feedback,
1939where concurrency is incremented at the end of a sequence of length
19401/feedback. </p>
1941
1942<p> As of Postfix version 2.5, negative feedback cannot reduce
1943delivery concurrency to zero.  Instead, a destination is marked
1944dead (further delivery suspended) after the failed pseudo-cohort
1945count reaches $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
1946(or $<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>).
1947To make the scheduler completely immune to connection or handshake
1948failures, specify a zero feedback value and a zero failed pseudo-cohort
1949limit.  </p>
1950
1951<p> Specify one of the following forms: </p>
1952
1953<dl>
1954
1955<dt> <b><i>number</i> </b> </dt>
1956
1957<dt> <b><i>number</i> / <i>number</i> </b> </dt>
1958
1959<dd> Constant feedback. The value must be in the range 0..1 inclusive.
1960The default setting of "1" is compatible with Postfix versions
1961before 2.5, where a destination's delivery concurrency is throttled
1962down to zero (and further delivery suspended) after a single failed
1963pseudo-cohort. </dd>
1964
1965<dt> <b><i>number</i> / concurrency </b> </dt>
1966
1967<dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
1968The <i>number</i> must be in the range 0..1 inclusive. With
1969<i>number</i> equal to "1", a destination's delivery concurrency
1970is decremented by 1 after each failed pseudo-cohort.  </dd>
1971
1972</dl>
1973
1974<p> A pseudo-cohort is the number of deliveries equal to a destination's
1975delivery concurrency. </p>
1976
1977<p> Use <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
1978to specify a transport-specific override, where <i>transport</i>
1979is the <a href="master.5.html">master.cf</a>
1980name of the message delivery transport. </p>
1981
1982<p> This feature is available in Postfix 2.5. The default setting
1983is compatible with earlier Postfix versions. </p>
1984
1985
1986</DD>
1987
1988<DT><b><a name="default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>
1989(default: 1)</b></DT><DD>
1990
1991<p> The per-destination amount of delivery concurrency positive
1992feedback, after a delivery completes without connection or handshake
1993failure. Feedback values are in the range 0..1 inclusive.  The
1994concurrency increases until it reaches the per-destination maximal
1995concurrency limit. With positive feedback, concurrency is incremented
1996at the end of a sequence with length 1/feedback. This is unlike
1997negative feedback, where concurrency is decremented at the start
1998of a sequence of length 1/feedback. </p>
1999
2000<p> Specify one of the following forms:  </p>
2001
2002<dl>
2003
2004<dt> <b><i>number</i> </b> </dt>
2005
2006<dt> <b><i>number</i> / <i>number</i> </b> </dt>
2007
2008<dd> Constant feedback.  The value must be in the range 0..1
2009inclusive. The default setting of "1" is compatible with Postfix
2010versions before 2.5, where a destination's delivery concurrency
2011doubles after each successful pseudo-cohort.  </dd>
2012
2013<dt> <b><i>number</i> / concurrency </b> </dt>
2014
2015<dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
2016The <i>number</i> must be in the range 0..1 inclusive. With
2017<i>number</i> equal to "1", a destination's delivery concurrency
2018is incremented by 1 after each successful pseudo-cohort.  </dd>
2019
2020</dl>
2021
2022<p> A pseudo-cohort is the number of deliveries equal to a destination's
2023delivery concurrency. </p>
2024
2025<p> Use <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
2026to specify a transport-specific override, where <i>transport</i>
2027is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
2028
2029<p> This feature is available in Postfix 2.5 and later.  </p>
2030
2031
2032</DD>
2033
2034<DT><b><a name="default_destination_rate_delay">default_destination_rate_delay</a>
2035(default: 0s)</b></DT><DD>
2036
2037<p> The default amount of delay that is inserted between individual
2038deliveries to the same destination; the resulting behavior depends
2039on the value of the corresponding per-destination recipient limit.
2040</p>
2041
2042<ul>
2043
2044<li> <p> With a corresponding per-destination recipient limit &gt;
20451, the rate delay specifies the time between deliveries to the
2046<i>same domain</i>.  Different domains are delivered in parallel,
2047subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p>
2048
2049<li> <p> With a corresponding per-destination recipient limit equal
2050to 1, the rate delay specifies the time between deliveries to the
2051<i>same recipient</i>. Different recipients are delivered in
2052parallel, subject to the process limits specified in <a href="master.5.html">master.cf</a>.
2053</p>
2054
2055</ul>
2056
2057<p> To enable the delay, specify a non-zero time value (an integral
2058value plus an optional one-letter suffix that specifies the time
2059unit). </p>
2060
2061<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
2062(weeks). The default time unit is s (seconds). </p>
2063
2064<p> NOTE: the delay is enforced by the queue manager. The delay
2065timer state does not survive "<b>postfix reload</b>" or "<b>postfix
2066stop</b>".
2067</p>
2068
2069<p> Use <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> to specify a
2070transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2071name of the message delivery transport.
2072</p>
2073
2074<p> NOTE: with a non-zero _destination_rate_delay, specify a
2075<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> of 10
2076or more to prevent Postfix from deferring all mail for the same
2077destination after only one connection or handshake error. </p>
2078
2079<p> This feature is available in Postfix 2.5 and later. </p>
2080
2081
2082</DD>
2083
2084<DT><b><a name="default_destination_recipient_limit">default_destination_recipient_limit</a>
2085(default: 50)</b></DT><DD>
2086
2087<p>
2088The default maximal number of recipients per message delivery.
2089This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>, <a href="pipe.8.html">pipe(8)</a>,
2090<a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents.
2091</p>
2092
2093<p> Setting this parameter to a value of 1 affects email deliveries
2094as follows:</p>
2095
2096<ul>
2097
2098<li> <p> It changes the meaning of the corresponding per-destination
2099concurrency limit, from concurrency of deliveries to the <i>same
2100domain</i> into concurrency of deliveries to the <i>same recipient</i>.
2101Different recipients are delivered in parallel, subject to the
2102process limits specified in <a href="master.5.html">master.cf</a>. </p>
2103
2104<li> <p> It changes the meaning of the corresponding per-destination
2105rate delay, from the delay between deliveries to the <i>same
2106domain</i> into the delay between deliveries to the <i>same
2107recipient</i>.  Again, different recipients are delivered in parallel,
2108subject to the process limits specified in <a href="master.5.html">master.cf</a>.  </p>
2109
2110<li> <p> It changes the meaning of other corresponding per-destination
2111settings in a similar manner, from settings for delivery to the
2112<i>same domain</i> into settings for delivery to the <i>same
2113recipient</i>.
2114
2115</ul>
2116
2117<p> Use <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> to specify a
2118transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2119name of the message delivery transport.
2120</p>
2121
2122
2123</DD>
2124
2125<DT><b><a name="default_extra_recipient_limit">default_extra_recipient_limit</a>
2126(default: 1000)</b></DT><DD>
2127
2128<p>
2129The default value for the extra per-transport limit imposed on the
2130number of in-memory recipients.  This extra recipient space is
2131reserved for the cases when the Postfix queue manager's scheduler
2132preempts one message with another and suddenly needs some extra
2133recipients slots for the chosen message in order to avoid performance
2134degradation.
2135</p>
2136
2137<p> Use <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> to specify a
2138transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2139name of the message delivery transport.
2140</p>
2141
2142
2143</DD>
2144
2145<DT><b><a name="default_filter_nexthop">default_filter_nexthop</a>
2146(default: empty)</b></DT><DD>
2147
2148<p> When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies no explicit
2149next-hop destination, use $<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> instead; when
2150that value is empty, use the domain in the recipient address.
2151Specify "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility
2152with Postfix version 2.6 and earlier, or specify an explicit next-hop
2153destination with each <a href="postconf.5.html#content_filter">content_filter</a> value or FILTER action. </p>
2154
2155<p> This feature is available in Postfix 2.7 and later.  </p>
2156
2157
2158</DD>
2159
2160<DT><b><a name="default_minimum_delivery_slots">default_minimum_delivery_slots</a>
2161(default: 3)</b></DT><DD>
2162
2163<p>
2164How many recipients a message must have in order to invoke the
2165Postfix queue manager's scheduling algorithm at all.  Messages
2166which would never accumulate at least this many delivery slots
2167(subject to slot cost parameter as well) are never preempted.
2168</p>
2169
2170<p> Use <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> to specify a
2171transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2172name of the message delivery transport.
2173</p>
2174
2175
2176</DD>
2177
2178<DT><b><a name="default_privs">default_privs</a>
2179(default: nobody)</b></DT><DD>
2180
2181<p>
2182The default rights used by the <a href="local.8.html">local(8)</a> delivery agent for delivery
2183to external file or command.  These rights are used when delivery
2184is requested from an <a href="aliases.5.html">aliases(5)</a> file that is owned by <b>root</b>, or
2185when delivery is done on behalf of <b>root</b>. <b>DO NOT SPECIFY A
2186PRIVILEGED USER OR THE POSTFIX OWNER</b>.
2187</p>
2188
2189
2190</DD>
2191
2192<DT><b><a name="default_process_limit">default_process_limit</a>
2193(default: 100)</b></DT><DD>
2194
2195<p>
2196The default maximal number of Postfix child processes that provide
2197a given service. This limit can be overruled for specific services
2198in the <a href="master.5.html">master.cf</a> file.
2199</p>
2200
2201
2202</DD>
2203
2204<DT><b><a name="default_rbl_reply">default_rbl_reply</a>
2205(default: see "postconf -d" output)</b></DT><DD>
2206
2207<p>
2208The default Postfix SMTP server response template for a request that is
2209rejected by an RBL-based restriction. This template can be overruled
2210by specific entries in the optional <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> lookup table.
2211</p>
2212
2213<p>
2214This feature is available in Postfix 2.0 and later.
2215</p>
2216
2217<p>
2218The template is subject to exactly one level of $name substitution:
2219</p>
2220
2221<dl>
2222
2223<dt><b>$client</b></dt>
2224
2225<dd>The client hostname and IP address, formatted as name[address]. </dd>
2226
2227<dt><b>$client_address</b></dt>
2228
2229<dd>The client IP address. </dd>
2230
2231<dt><b>$client_name</b></dt>
2232
2233<dd>The client hostname or "unknown". See <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a>
2234for more details. </dd>
2235
2236<dt><b>$reverse_client_name</b></dt>
2237
2238<dd>The client hostname from address-&gt;name lookup, or "unknown".
2239See <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a> for more details. </dd>
2240
2241<dt><b>$helo_name</b></dt>
2242
2243<dd>The hostname given in HELO or EHLO command or empty string. </dd>
2244
2245<dt><b>$rbl_class</b></dt>
2246
2247<dd>The blacklisted entity type: Client host, Helo command, Sender
2248address, or Recipient address. </dd>
2249
2250<dt><b>$rbl_code</b></dt>
2251
2252<dd>The numerical SMTP response code, as specified with the
2253<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> configuration parameter. Note: The numerical
2254SMTP response code is required, and must appear at the start of the
2255reply. With Postfix version 2.3 and later this information may be followed
2256by an <a href="http://tools.ietf.org/html/rfc3463">RFC 3463</a> enhanced status code. </dd>
2257
2258<dt><b>$rbl_domain</b></dt>
2259
2260<dd>The RBL domain where $rbl_what is blacklisted. </dd>
2261
2262<dt><b>$rbl_reason</b></dt>
2263
2264<dd>The reason why $rbl_what is blacklisted, or an empty string. </dd>
2265
2266<dt><b>$rbl_what</b></dt>
2267
2268<dd>The entity that is blacklisted (an IP address, a hostname, a domain
2269name, or an email address whose domain was blacklisted). </dd>
2270
2271<dt><b>$recipient</b></dt>
2272
2273<dd>The recipient address or &lt;&gt; in case of the null address. </dd>
2274
2275<dt><b>$recipient_domain</b></dt>
2276
2277<dd>The recipient domain or empty string. </dd>
2278
2279<dt><b>$recipient_name</b></dt>
2280
2281<dd>The recipient address localpart or &lt;&gt; in case of null address. </dd>
2282
2283<dt><b>$sender</b></dt>
2284
2285<dd>The sender address or &lt;&gt; in case of the null address. </dd>
2286
2287<dt><b>$sender_domain</b></dt>
2288
2289<dd>The sender domain or empty string. </dd>
2290
2291<dt><b>$sender_name</b></dt>
2292
2293<dd>The sender address localpart or &lt;&gt; in case of the null address. </dd>
2294
2295<dt><b>${name?text}</b></dt>
2296
2297<dd>Expands to `text' if $name is not empty. </dd>
2298
2299<dt><b>${name:text}</b></dt>
2300
2301<dd>Expands to `text' if $name is empty. </dd>
2302
2303</dl>
2304
2305<p>
2306Instead of $name you can also specify ${name} or $(name).
2307</p>
2308
2309<p> Note: when an enhanced status code is specified in an RBL reply
2310template, it is subject to modification.  The following transformations
2311are needed when the same RBL reply template is used for client,
2312helo, sender, or recipient access restrictions.  </p>
2313
2314<ul>
2315
2316<li> <p> When rejecting a sender address, the Postfix SMTP server
2317will transform a recipient DSN status (e.g., 4.1.1-4.1.6) into the
2318corresponding sender DSN status, and vice versa. </p>
2319
2320<li> <p> When rejecting non-address information (such as the HELO
2321command argument or the client hostname/address), the Postfix SMTP
2322server will transform a sender or recipient DSN status into a generic
2323non-address DSN status (e.g., 4.0.0).  </p>
2324
2325</ul>
2326
2327
2328</DD>
2329
2330<DT><b><a name="default_recipient_limit">default_recipient_limit</a>
2331(default: 20000)</b></DT><DD>
2332
2333<p>
2334The default per-transport upper limit on the number of in-memory
2335recipients.  These limits take priority over the global
2336<a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> after the message has been assigned
2337to the respective transports.  See also <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
2338and <a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>.
2339</p>
2340
2341<p> Use <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> to specify a
2342transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2343name of the message delivery transport.
2344</p>
2345
2346
2347</DD>
2348
2349<DT><b><a name="default_recipient_refill_delay">default_recipient_refill_delay</a>
2350(default: 5s)</b></DT><DD>
2351
2352<p>
2353The default per-transport maximum delay between recipients refills.
2354When not all message recipients fit into the memory at once, keep loading
2355more of them at least once every this many seconds.  This is used to
2356make sure the recipients are refilled in timely manner even when
2357$<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> is too high for too slow deliveries.
2358</p>
2359
2360<p> Use <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> to specify a
2361transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2362name of the message delivery transport.
2363</p>
2364
2365<p> This feature is available in Postfix 2.4 and later. </p>
2366
2367
2368</DD>
2369
2370<DT><b><a name="default_recipient_refill_limit">default_recipient_refill_limit</a>
2371(default: 100)</b></DT><DD>
2372
2373<p>
2374The default per-transport limit on the number of recipients refilled at
2375once.  When not all message recipients fit into the memory at once, keep
2376loading more of them in batches of at least this many at a time.  See also
2377$<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>, which may result in recipient batches
2378lower than this when this limit is too high for too slow deliveries.
2379</p>
2380
2381<p> Use <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> to specify a
2382transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2383name of the message delivery transport.
2384</p>
2385
2386<p> This feature is available in Postfix 2.4 and later. </p>
2387
2388
2389</DD>
2390
2391<DT><b><a name="default_transport">default_transport</a>
2392(default: smtp)</b></DT><DD>
2393
2394<p>
2395The default mail delivery transport and next-hop destination for
2396destinations that do not match $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
2397$<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>,
2398or $<a href="postconf.5.html#relay_domains">relay_domains</a>.  This information can be overruled with the
2399<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter and with the
2400<a href="transport.5.html">transport(5)</a> table. </p>
2401
2402<p>
2403In order of decreasing precedence, the nexthop destination is taken
2404from $<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>,
2405$<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
2406domain.
2407</p>
2408
2409<p>
2410Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
2411is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
2412The <i>:nexthop</i> destination is optional; its syntax is documented
2413in the manual page of the corresponding delivery agent.
2414</p>
2415
2416<p>
2417Example:
2418</p>
2419
2420<pre>
2421<a href="postconf.5.html#default_transport">default_transport</a> = uucp:relayhostname
2422</pre>
2423
2424
2425</DD>
2426
2427<DT><b><a name="default_verp_delimiters">default_verp_delimiters</a>
2428(default: +=)</b></DT><DD>
2429
2430<p> The two default VERP delimiter characters. These are used when
2431no explicit delimiters are specified with the SMTP XVERP command
2432or with the "<b>sendmail -V</b>" command-line option. Specify
2433characters that are allowed by the <a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> setting.
2434</p>
2435
2436<p>
2437This feature is available in Postfix 1.1 and later.
2438</p>
2439
2440
2441</DD>
2442
2443<DT><b><a name="defer_code">defer_code</a>
2444(default: 450)</b></DT><DD>
2445
2446<p>
2447The numerical Postfix SMTP server response code when a remote SMTP
2448client request is rejected by the "defer" restriction.
2449</p>
2450
2451<p>
2452Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
2453</p>
2454
2455
2456</DD>
2457
2458<DT><b><a name="defer_service_name">defer_service_name</a>
2459(default: defer)</b></DT><DD>
2460
2461<p>
2462The name of the defer service. This service is implemented by the
2463<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
2464of failed delivery attempts and generates non-delivery notifications.
2465</p>
2466
2467<p>
2468This feature is available in Postfix 2.0 and later.
2469</p>
2470
2471
2472</DD>
2473
2474<DT><b><a name="defer_transports">defer_transports</a>
2475(default: empty)</b></DT><DD>
2476
2477<p>
2478The names of message delivery transports that should not deliver mail
2479unless someone issues "<b>sendmail -q</b>" or equivalent. Specify zero
2480or more names of mail delivery transports names that appear in the
2481first field of <a href="master.5.html">master.cf</a>.
2482</p>
2483
2484<p>
2485Example:
2486</p>
2487
2488<pre>
2489<a href="postconf.5.html#defer_transports">defer_transports</a> = smtp
2490</pre>
2491
2492
2493</DD>
2494
2495<DT><b><a name="delay_logging_resolution_limit">delay_logging_resolution_limit</a>
2496(default: 2)</b></DT><DD>
2497
2498<p> The maximal number of digits after the decimal point when logging
2499sub-second delay values.  Specify a number in the range 0..6.  </p>
2500
2501<p> Large delay values are rounded off to an integral number seconds;
2502delay values below the <a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> are logged
2503as "0", and small delay values are logged with at most two-digit
2504precision.  </p>
2505
2506<p> The format of the "delays=a/b/c/d" logging is as follows: </p>
2507
2508<ul>
2509
2510<li> a = time from message arrival to last <a href="QSHAPE_README.html#active_queue">active queue</a> entry
2511
2512<li> b = time from last <a href="QSHAPE_README.html#active_queue">active queue</a> entry to connection setup
2513
2514<li> c = time in connection setup, including DNS, EHLO and STARTTLS
2515
2516<li> d = time in message transmission
2517
2518</ul>
2519
2520<p> This feature is available in Postfix 2.3 and later.  </p>
2521
2522
2523</DD>
2524
2525<DT><b><a name="delay_notice_recipient">delay_notice_recipient</a>
2526(default: postmaster)</b></DT><DD>
2527
2528<p>
2529The recipient of postmaster notifications with the message headers
2530of mail that cannot be delivered within $<a href="postconf.5.html#delay_warning_time">delay_warning_time</a> time
2531units.  </p>
2532
2533<p>
2534See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>.
2535</p>
2536
2537
2538</DD>
2539
2540<DT><b><a name="delay_warning_time">delay_warning_time</a>
2541(default: 0h)</b></DT><DD>
2542
2543<p>
2544The time after which the sender receives a copy of the message
2545headers of mail that is still queued.
2546</p>
2547
2548<p>
2549To enable this feature, specify a non-zero time value (an integral
2550value plus an optional one-letter suffix that specifies the time
2551unit).
2552</p>
2553
2554<p>
2555Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
2556The default time unit is h (hours).
2557</p>
2558
2559<p>
2560See also: <a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>.
2561</p>
2562
2563
2564</DD>
2565
2566<DT><b><a name="deliver_lock_attempts">deliver_lock_attempts</a>
2567(default: 20)</b></DT><DD>
2568
2569<p>
2570The maximal number of attempts to acquire an exclusive lock on a
2571mailbox file or <a href="bounce.8.html">bounce(8)</a> logfile.
2572</p>
2573
2574
2575</DD>
2576
2577<DT><b><a name="deliver_lock_delay">deliver_lock_delay</a>
2578(default: 1s)</b></DT><DD>
2579
2580<p>
2581The time between attempts to acquire an exclusive lock on a mailbox
2582file or <a href="bounce.8.html">bounce(8)</a> logfile.
2583</p>
2584
2585<p>
2586Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
2587The default time unit is s (seconds).
2588</p>
2589
2590
2591</DD>
2592
2593<DT><b><a name="destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a>
2594(default: no)</b></DT><DD>
2595
2596<p> Make the queue manager's feedback algorithm verbose for performance
2597analysis purposes. </p>
2598
2599<p> This feature is available in Postfix 2.5 and later. </p>
2600
2601
2602</DD>
2603
2604<DT><b><a name="detect_8bit_encoding_header">detect_8bit_encoding_header</a>
2605(default: yes)</b></DT><DD>
2606
2607<p> Automatically detect 8BITMIME body content by looking at
2608Content-Transfer-Encoding: message headers; historically, this
2609behavior was hard-coded to be "always on".  </p>
2610
2611<p> This feature is available in Postfix 2.5 and later. </p>
2612
2613
2614</DD>
2615
2616<DT><b><a name="disable_dns_lookups">disable_dns_lookups</a>
2617(default: no)</b></DT><DD>
2618
2619<p>
2620Disable DNS lookups in the Postfix SMTP and LMTP clients. When
2621disabled, hosts are looked up with the getaddrinfo() system
2622library routine which normally also looks in /etc/hosts.  As of
2623Postfix 2.11, this parameter is deprecated; use <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>
2624instead.
2625</p>
2626
2627<p>
2628DNS lookups are enabled by default.
2629</p>
2630
2631
2632</DD>
2633
2634<DT><b><a name="disable_mime_input_processing">disable_mime_input_processing</a>
2635(default: no)</b></DT><DD>
2636
2637<p>
2638Turn off MIME processing while receiving mail. This means that no
2639special treatment is given to Content-Type: message headers, and
2640that all text after the initial message headers is considered to
2641be part of the message body.
2642</p>
2643
2644<p>
2645This feature is available in Postfix 2.0 and later.
2646</p>
2647
2648<p>
2649Mime input processing is enabled by default, and is needed in order
2650to recognize MIME headers in message content.
2651</p>
2652
2653
2654</DD>
2655
2656<DT><b><a name="disable_mime_output_conversion">disable_mime_output_conversion</a>
2657(default: no)</b></DT><DD>
2658
2659<p>
2660Disable the conversion of 8BITMIME format to 7BIT format.  Mime
2661output conversion is needed when the destination does not advertise
26628BITMIME support.
2663</p>
2664
2665<p>
2666This feature is available in Postfix 2.0 and later.
2667</p>
2668
2669
2670</DD>
2671
2672<DT><b><a name="disable_verp_bounces">disable_verp_bounces</a>
2673(default: no)</b></DT><DD>
2674
2675<p>
2676Disable sending one bounce report per recipient.
2677</p>
2678
2679<p>
2680The default, one per recipient, is what ezmlm needs.
2681</p>
2682
2683<p>
2684This feature is available in Postfix 1.1 and later.
2685</p>
2686
2687
2688</DD>
2689
2690<DT><b><a name="disable_vrfy_command">disable_vrfy_command</a>
2691(default: no)</b></DT><DD>
2692
2693<p>
2694Disable the SMTP VRFY command. This stops some techniques used to
2695harvest email addresses.
2696</p>
2697
2698<p>
2699Example:
2700</p>
2701
2702<pre>
2703<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> = no
2704</pre>
2705
2706
2707</DD>
2708
2709<DT><b><a name="dnsblog_reply_delay">dnsblog_reply_delay</a>
2710(default: 0s)</b></DT><DD>
2711
2712<p> A debugging aid to artificially delay DNS responses. </p>
2713
2714<p> This feature is available in Postfix 2.8.  </p>
2715
2716
2717</DD>
2718
2719<DT><b><a name="dnsblog_service_name">dnsblog_service_name</a>
2720(default: dnsblog)</b></DT><DD>
2721
2722<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
2723service performs DNS white/blacklist lookups. </p>
2724
2725<p> This feature is available in Postfix 2.8 and later. </p>
2726
2727
2728</DD>
2729
2730<DT><b><a name="dont_remove">dont_remove</a>
2731(default: 0)</b></DT><DD>
2732
2733<p>
2734Don't remove queue files and save them to the "saved" mail queue.
2735This is a debugging aid.  To inspect the envelope information and
2736content of a Postfix queue file, use the <a href="postcat.1.html">postcat(1)</a> command.
2737</p>
2738
2739
2740</DD>
2741
2742<DT><b><a name="double_bounce_sender">double_bounce_sender</a>
2743(default: double-bounce)</b></DT><DD>
2744
2745<p> The sender address of postmaster notifications that are generated
2746by the mail system. All mail to this address is silently discarded,
2747in order to terminate mail bounce loops.  </p>
2748
2749
2750</DD>
2751
2752<DT><b><a name="duplicate_filter_limit">duplicate_filter_limit</a>
2753(default: 1000)</b></DT><DD>
2754
2755<p> The maximal number of addresses remembered by the address
2756duplicate filter for <a href="aliases.5.html">aliases(5)</a> or <a href="virtual.5.html">virtual(5)</a> alias expansion, or
2757for <a href="showq.8.html">showq(8)</a> queue displays.  </p>
2758
2759
2760</DD>
2761
2762<DT><b><a name="empty_address_default_transport_maps_lookup_key">empty_address_default_transport_maps_lookup_key</a>
2763(default: &lt;&gt;)</b></DT><DD>
2764
2765<p> The <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> search string that
2766will be used instead of the null sender address. </p>
2767
2768<p> This feature is available in Postfix 2.7 and later.  </p>
2769
2770
2771</DD>
2772
2773<DT><b><a name="empty_address_recipient">empty_address_recipient</a>
2774(default: MAILER-DAEMON)</b></DT><DD>
2775
2776<p>
2777The recipient of mail addressed to the null address.  Postfix does
2778not accept such addresses in SMTP commands, but they may still be
2779created locally as the result of configuration or software error.
2780</p>
2781
2782
2783</DD>
2784
2785<DT><b><a name="empty_address_relayhost_maps_lookup_key">empty_address_relayhost_maps_lookup_key</a>
2786(default: &lt;&gt;)</b></DT><DD>
2787
2788<p> The <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> search string that will be
2789used instead of the null sender address. </p>
2790
2791<p> This feature is available in Postfix 2.5 and later. With
2792earlier versions, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> lookups were
2793skipped for the null sender address.  </p>
2794
2795
2796</DD>
2797
2798<DT><b><a name="enable_errors_to">enable_errors_to</a>
2799(default: no)</b></DT><DD>
2800
2801<p> Report mail delivery errors to the address specified with the
2802non-standard Errors-To: message header, instead of the envelope
2803sender address (this feature is removed with Postfix version 2.2, is
2804turned off by default with Postfix version 2.1, and is always turned on
2805with older Postfix versions).  </p>
2806
2807
2808</DD>
2809
2810<DT><b><a name="enable_long_queue_ids">enable_long_queue_ids</a>
2811(default: no)</b></DT><DD>
2812
2813<p> Enable long, non-repeating, queue IDs (queue file names).  The
2814benefit of non-repeating names is simpler logfile analysis and
2815easier queue migration (there is no need to run "postsuper" to
2816change queue file names that don't match their message file inode
2817number).  </p>
2818
2819<p> Note: see below for how to convert long queue file names to
2820Postfix &le; 2.8. </p>
2821
2822<p> Changing the parameter value to "yes" has the following effects:
2823</p>
2824
2825<ul>
2826
2827<li> <p> Existing queue file names are not affected. </p>
2828
2829<li> <p> New queue files are created with names such as 3Pt2mN2VXxznjll.
2830These are encoded in a 52-character alphabet that contains digits
2831(0-9), upper-case letters (B-Z) and lower-case letters (b-z). For
2832safety reasons the vowels (AEIOUaeiou) are excluded from the alphabet.
2833The name format is: 6 or more characters for the time in seconds,
28344 characters for the time in microseconds, the 'z'; the remainder
2835is the file inode number encoded in the first 51 characters of the
283652-character alphabet.  </p>
2837
2838<li> <p> New messages have a Message-ID header with
2839<i>queueID</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>.  </p>
2840
2841<li> <p> The mailq (postqueue -p) output has a wider Queue ID column.
2842The number of whitespace-separated fields is not changed. <p>
2843
2844<li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters
2845of the queue file creation time in microseconds, after conversion
2846into hexadecimal representation. This produces the same queue hashing
2847behavior as if the queue file name was created with "<a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>
2848= no". </p>
2849
2850</ul>
2851
2852<p> Changing the parameter value to "no" has the following effects:
2853</p>
2854
2855<ul>
2856
2857<li> <p> Existing long queue file names are renamed to the short
2858form (while running "postfix reload" or "postsuper").  </p>
2859
2860<li> <p> New queue files are created with names such as C3CD21F3E90
2861from a hexadecimal alphabet that contains digits (0-9) and upper-case
2862letters (A-F). The name format is: 5 characters for the time in
2863microseconds; the remainder is the file inode number. </p>
2864
2865<li> <p> New messages have a Message-ID header with
2866<i>YYYYMMDDHHMMSS.queueid</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>, where
2867<i>YYYYMMDDHHMMSS</i> are the year, month, day, hour, minute and
2868second.
2869
2870<li> <p> The mailq (postqueue -p) output has the same format as
2871with Postfix &le; 2.8. <p>
2872
2873<li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters
2874of the queue file name, with the hexadecimal representation of the
2875file creation time in microseconds.  </p>
2876
2877</ul>
2878
2879<p> Before migration to Postfix &le; 2.8, the following commands
2880are required to convert long queue file names into short names: </p>
2881
2882<pre>
2883# postfix stop
2884# postconf <a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>=no
2885# postsuper
2886</pre>
2887
2888<p> Repeat the postsuper command until it reports no more queue file
2889name changes. </p>
2890
2891<p> This feature is available in Postfix 2.9 and later.  </p>
2892
2893
2894</DD>
2895
2896<DT><b><a name="enable_original_recipient">enable_original_recipient</a>
2897(default: yes)</b></DT><DD>
2898
2899<p> Enable support for the X-Original-To message header. This header
2900is needed for multi-recipient mailboxes.  </p>
2901
2902<p> When this parameter is set to yes, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs
2903duplicate elimination on distinct pairs of (original recipient,
2904rewritten recipient), and generates non-empty original recipient
2905queue file records.  </p>
2906
2907<p> When this parameter is set to no, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs
2908duplicate elimination on the rewritten recipient address only, and
2909generates empty original recipient queue file records.  </p>
2910
2911<p> This feature is available in Postfix 2.1 and later. With Postfix
2912version 2.0, support for the X-Original-To message header is always turned
2913on. Postfix versions before 2.0 have no support for the X-Original-To
2914message header.  </p>
2915
2916
2917</DD>
2918
2919<DT><b><a name="error_notice_recipient">error_notice_recipient</a>
2920(default: postmaster)</b></DT><DD>
2921
2922<p> The recipient of postmaster notifications about mail delivery
2923problems that are caused by policy, resource, software or protocol
2924errors.  These notifications are enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
2925parameter.  </p>
2926
2927
2928</DD>
2929
2930<DT><b><a name="error_service_name">error_service_name</a>
2931(default: error)</b></DT><DD>
2932
2933<p>
2934The name of the <a href="error.8.html">error(8)</a> pseudo delivery agent. This service always
2935returns mail as undeliverable.
2936</p>
2937
2938<p>
2939This feature is available in Postfix 2.0 and later.
2940</p>
2941
2942
2943</DD>
2944
2945<DT><b><a name="execution_directory_expansion_filter">execution_directory_expansion_filter</a>
2946(default: see "postconf -d" output)</b></DT><DD>
2947
2948<p> Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows
2949in $name expansions of $<a href="postconf.5.html#command_execution_directory">command_execution_directory</a>.  Characters
2950outside the allowed set are replaced by underscores.  </p>
2951
2952<p> This feature is available in Postfix 2.2 and later. </p>
2953
2954
2955</DD>
2956
2957<DT><b><a name="expand_owner_alias">expand_owner_alias</a>
2958(default: no)</b></DT><DD>
2959
2960<p>
2961When delivering to an alias "aliasname" that has an "owner-aliasname"
2962companion alias, set the envelope sender address to the expansion
2963of the "owner-aliasname" alias. Normally, Postfix sets the envelope
2964sender address to the name of the "owner-aliasname" alias.
2965</p>
2966
2967
2968</DD>
2969
2970<DT><b><a name="export_environment">export_environment</a>
2971(default: see "postconf -d" output)</b></DT><DD>
2972
2973<p>
2974The list of environment variables that a Postfix process will export
2975to non-Postfix processes. The TZ variable is needed for sane
2976time keeping on System-V-ish systems.
2977</p>
2978
2979<p>
2980Specify a list of names and/or name=value pairs, separated by
2981whitespace or comma. The name=value form is supported with
2982Postfix version 2.1 and later.
2983</p>
2984
2985<p>
2986Example:
2987</p>
2988
2989<pre>
2990<a href="postconf.5.html#export_environment">export_environment</a> = TZ PATH=/bin:/usr/bin
2991</pre>
2992
2993
2994</DD>
2995
2996<DT><b><a name="extract_recipient_limit">extract_recipient_limit</a>
2997(default: 10240)</b></DT><DD>
2998
2999<p>
3000The maximal number of recipient addresses that Postfix will extract
3001from message headers when mail is submitted with "<b>sendmail -t</b>".
3002</p>
3003
3004<p>
3005This feature was removed in Postfix version 2.1.
3006</p>
3007
3008
3009</DD>
3010
3011<DT><b><a name="fallback_relay">fallback_relay</a>
3012(default: empty)</b></DT><DD>
3013
3014<p>
3015Optional list of relay hosts for SMTP destinations that can't be
3016found or that are unreachable. With Postfix 2.3 this parameter
3017is renamed to <a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a>. </p>
3018
3019<p>
3020By default, mail is returned to the sender when a destination is
3021not found, and delivery is deferred when a destination is unreachable.
3022</p>
3023
3024<p> The fallback relays must be SMTP destinations. Specify a domain,
3025host, host:port, [host]:port, [address] or [address]:port; the form
3026[host] turns off MX lookups.  If you specify multiple SMTP
3027destinations, Postfix will try them in the specified order.  </p>
3028
3029<p> Note: before Postfix 2.2, do not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
3030when relaying mail
3031for a backup or primary MX domain. Mail would loop between the
3032Postfix MX host and the <a href="postconf.5.html#fallback_relay">fallback_relay</a> host when the final destination
3033is unavailable. </p>
3034
3035<ul>
3036
3037<li> In <a href="postconf.5.html">main.cf</a> specify "<a href="postconf.5.html#relay_transport">relay_transport</a> = relay",
3038
3039<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
3040the end of the <tt>relay</tt> entry.
3041
3042<li> In transport maps, specify "relay:<i>nexthop...</i>"
3043as the right-hand side for backup or primary MX domain entries.
3044
3045</ul>
3046
3047<p> Postfix version 2.2 and later will not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
3048for destinations that it is MX host for.
3049</p>
3050
3051
3052</DD>
3053
3054<DT><b><a name="fallback_transport">fallback_transport</a>
3055(default: empty)</b></DT><DD>
3056
3057<p>
3058Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
3059agent should use for names that are not found in the <a href="aliases.5.html">aliases(5)</a>
3060or UNIX password database.
3061</p>
3062
3063<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
3064is: 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>,
3065<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>,
3066<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>
3067
3068
3069</DD>
3070
3071<DT><b><a name="fallback_transport_maps">fallback_transport_maps</a>
3072(default: empty)</b></DT><DD>
3073
3074<p> Optional lookup tables with per-recipient message delivery
3075transports for recipients that the <a href="local.8.html">local(8)</a> delivery agent could
3076not find in the <a href="aliases.5.html">aliases(5)</a> or UNIX password database. </p>
3077
3078<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
3079is: 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>,
3080<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>,
3081<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>
3082
3083<p> For safety reasons, this feature does not allow $number
3084substitutions in regular expression maps. </p>
3085
3086<p> This feature is available in Postfix 2.3 and later. </p>
3087
3088
3089</DD>
3090
3091<DT><b><a name="fast_flush_domains">fast_flush_domains</a>
3092(default: $<a href="postconf.5.html#relay_domains">relay_domains</a>)</b></DT><DD>
3093
3094<p>
3095Optional list of destinations that are eligible for per-destination
3096logfiles with mail that is queued to those destinations.
3097</p>
3098
3099<p>
3100By default, Postfix maintains "fast flush" logfiles only for
3101destinations that the Postfix SMTP server is willing to relay to
3102(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
3103the <a href="postconf.5.html#relay_domains">relay_domains</a> parameter in the <a href="postconf.5.html">postconf(5)</a> manual).
3104</p>
3105
3106<p> Specify a list of hosts or domains, "/file/name" patterns or
3107"<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
3108Continue long lines by starting the next line with whitespace. A
3109"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
3110lookup table is matched when the domain or its parent domain appears
3111as lookup key.  </p>
3112
3113<p>
3114Specify "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> =" (i.e., empty) to disable the feature
3115altogether.
3116</p>
3117
3118
3119</DD>
3120
3121<DT><b><a name="fast_flush_purge_time">fast_flush_purge_time</a>
3122(default: 7d)</b></DT><DD>
3123
3124<p>
3125The time after which an empty per-destination "fast flush" logfile
3126is deleted.
3127</p>
3128
3129<p>
3130You can specify the time as a number, or as a number followed by
3131a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
3132d=days, w=weeks.  The default time unit is days.
3133</p>
3134
3135
3136</DD>
3137
3138<DT><b><a name="fast_flush_refresh_time">fast_flush_refresh_time</a>
3139(default: 12h)</b></DT><DD>
3140
3141<p>
3142The time after which a non-empty but unread per-destination "fast
3143flush" logfile needs to be refreshed.  The contents of a logfile
3144are refreshed by requesting delivery of all messages listed in the
3145logfile.
3146</p>
3147
3148<p>
3149You can specify the time as a number, or as a number followed by
3150a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
3151d=days, w=weeks.  The default time unit is hours.
3152</p>
3153
3154
3155</DD>
3156
3157<DT><b><a name="fault_injection_code">fault_injection_code</a>
3158(default: 0)</b></DT><DD>
3159
3160<p>
3161Force specific internal tests to fail, to test the handling of
3162errors that are difficult to reproduce otherwise.
3163</p>
3164
3165
3166</DD>
3167
3168<DT><b><a name="flush_service_name">flush_service_name</a>
3169(default: flush)</b></DT><DD>
3170
3171<p>
3172The name of the <a href="flush.8.html">flush(8)</a> service. This service maintains per-destination
3173logfiles with the queue file names of mail that is queued for those
3174destinations.
3175</p>
3176
3177<p>
3178This feature is available in Postfix 2.0 and later.
3179</p>
3180
3181
3182</DD>
3183
3184<DT><b><a name="fork_attempts">fork_attempts</a>
3185(default: 5)</b></DT><DD>
3186
3187<p> The maximal number of attempts to fork() a child process.  </p>
3188
3189
3190</DD>
3191
3192<DT><b><a name="fork_delay">fork_delay</a>
3193(default: 1s)</b></DT><DD>
3194
3195<p> The delay between attempts to fork() a child process.  </p>
3196
3197<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
3198(weeks).  The default time unit is s (seconds).  </p>
3199
3200
3201</DD>
3202
3203<DT><b><a name="forward_expansion_filter">forward_expansion_filter</a>
3204(default: see "postconf -d" output)</b></DT><DD>
3205
3206<p>
3207Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
3208$name expansions of $<a href="postconf.5.html#forward_path">forward_path</a>.  Characters outside the
3209allowed set are replaced by underscores.
3210</p>
3211
3212
3213</DD>
3214
3215<DT><b><a name="forward_path">forward_path</a>
3216(default: see "postconf -d" output)</b></DT><DD>
3217
3218<p> The <a href="local.8.html">local(8)</a> delivery agent search list for finding a .forward
3219file with user-specified delivery methods. The first file that is
3220found is used.  </p>
3221
3222<p> The following $name expansions are done on <a href="postconf.5.html#forward_path">forward_path</a> before
3223the search actually happens. The result of $name expansion is
3224filtered with the character set that is specified with the
3225<a href="postconf.5.html#forward_expansion_filter">forward_expansion_filter</a> parameter.  </p>
3226
3227<dl>
3228
3229<dt><b>$user</b></dt>
3230
3231<dd>The recipient's username. </dd>
3232
3233<dt><b>$shell</b></dt>
3234
3235<dd>The recipient's login shell pathname. </dd>
3236
3237<dt><b>$home</b></dt>
3238
3239<dd>The recipient's home directory. </dd>
3240
3241<dt><b>$recipient</b></dt>
3242
3243<dd>The full recipient address. </dd>
3244
3245<dt><b>$extension</b></dt>
3246
3247<dd>The optional recipient address extension. </dd>
3248
3249<dt><b>$domain</b></dt>
3250
3251<dd>The recipient domain. </dd>
3252
3253<dt><b>$local</b></dt>
3254
3255<dd>The entire recipient localpart. </dd>
3256
3257<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
3258
3259<dd>The address extension delimiter that was found in the recipient
3260address (Postfix 2.11 and later), or the system-wide recipient
3261address extension delimiter (Postfix 2.10 and earlier). </dd>
3262
3263<dt><b>${name?value}</b></dt>
3264
3265<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
3266
3267<dt><b>${name:value}</b></dt>
3268
3269<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
3270
3271</dl>
3272
3273<p>
3274Instead of $name you can also specify ${name} or $(name).
3275</p>
3276
3277<p>
3278Examples:
3279</p>
3280
3281<pre>
3282<a href="postconf.5.html#forward_path">forward_path</a> = /var/forward/$user
3283<a href="postconf.5.html#forward_path">forward_path</a> =
3284    /var/forward/$user/.forward$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>$extension,
3285    /var/forward/$user/.forward
3286</pre>
3287
3288
3289</DD>
3290
3291<DT><b><a name="frozen_delivered_to">frozen_delivered_to</a>
3292(default: yes)</b></DT><DD>
3293
3294<p> Update the <a href="local.8.html">local(8)</a> delivery agent's idea of the Delivered-To:
3295address (see <a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a>) only once, at the start of
3296a delivery attempt; do not update the Delivered-To: address while
3297expanding aliases or .forward files. </p>
3298
3299<p> This feature is available in Postfix 2.3 and later. With older
3300Postfix releases, the behavior is as if this parameter is set to
3301"no". The old setting can be expensive with deeply nested aliases
3302or .forward files. When an alias or .forward file changes the
3303Delivered-To: address, it ties up one queue file and one cleanup
3304process instance while mail is being forwarded.  </p>
3305
3306
3307</DD>
3308
3309<DT><b><a name="hash_queue_depth">hash_queue_depth</a>
3310(default: 1)</b></DT><DD>
3311
3312<p>
3313The number of subdirectory levels for queue directories listed with
3314the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> parameter. Queue hashing is implemented by
3315creating one or more levels of directories with one-character names.
3316Originally, these directory names were equal to the first characters
3317of the queue file name, with the hexadecimal representation of the
3318file creation time in microseconds. </p>
3319
3320<p> With long queue file names, queue hashing produces the same
3321results as with short names. The file creation time in microseconds
3322is converted into hexadecimal form before the result is used for
3323queue hashing.  The base 16 encoding gives finer control over the
3324number of subdirectories than is possible with the base 52 encoding
3325of long queue file names.  </p>
3326
3327<p>
3328After 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,
3329execute the command "<b>postfix reload</b>".
3330</p>
3331
3332
3333</DD>
3334
3335<DT><b><a name="hash_queue_names">hash_queue_names</a>
3336(default: deferred, defer)</b></DT><DD>
3337
3338<p>
3339The names of queue directories that are split across multiple
3340subdirectory levels.
3341</p>
3342
3343<p> Before Postfix version 2.2, the default list of hashed queues
3344was significantly larger. Claims about improvements in file system
3345technology 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>
3346is no longer needed. Fewer hashed directories speed up the time
3347needed to restart Postfix. </p>
3348
3349<p>
3350After 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,
3351execute the command "<b>postfix reload</b>".
3352</p>
3353
3354
3355</DD>
3356
3357<DT><b><a name="header_address_token_limit">header_address_token_limit</a>
3358(default: 10240)</b></DT><DD>
3359
3360<p>
3361The maximal number of address tokens are allowed in an address
3362message header. Information that exceeds the limit is discarded.
3363The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
3364</p>
3365
3366
3367</DD>
3368
3369<DT><b><a name="header_checks">header_checks</a>
3370(default: empty)</b></DT><DD>
3371
3372<p>
3373Optional lookup tables for content inspection of primary non-MIME
3374message headers, as specified in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
3375</p>
3376
3377
3378</DD>
3379
3380<DT><b><a name="header_size_limit">header_size_limit</a>
3381(default: 102400)</b></DT><DD>
3382
3383<p>
3384The maximal amount of memory in bytes for storing a message header.
3385If a header is larger, the excess is discarded.  The limit is
3386enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
3387</p>
3388
3389
3390</DD>
3391
3392<DT><b><a name="helpful_warnings">helpful_warnings</a>
3393(default: yes)</b></DT><DD>
3394
3395<p>
3396Log warnings about problematic configuration settings, and provide
3397helpful suggestions.
3398</p>
3399
3400<p>
3401This feature is available in Postfix 2.0 and later.
3402</p>
3403
3404
3405</DD>
3406
3407<DT><b><a name="home_mailbox">home_mailbox</a>
3408(default: empty)</b></DT><DD>
3409
3410<p>
3411Optional pathname of a mailbox file relative to a <a href="local.8.html">local(8)</a> user's
3412home directory.
3413</p>
3414
3415<p>
3416Specify a pathname ending in "/" for qmail-style delivery.
3417</p>
3418
3419<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
3420is: 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>,
3421<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>,
3422<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>
3423
3424<p>
3425Examples:
3426</p>
3427
3428<pre>
3429<a href="postconf.5.html#home_mailbox">home_mailbox</a> = Mailbox
3430<a href="postconf.5.html#home_mailbox">home_mailbox</a> = Maildir/
3431</pre>
3432
3433
3434</DD>
3435
3436<DT><b><a name="hopcount_limit">hopcount_limit</a>
3437(default: 50)</b></DT><DD>
3438
3439<p>
3440The maximal number of Received:  message headers that is allowed
3441in the primary message headers. A message that exceeds the limit
3442is bounced, in order to stop a mailer loop.
3443</p>
3444
3445
3446</DD>
3447
3448<DT><b><a name="html_directory">html_directory</a>
3449(default: see "postconf -d" output)</b></DT><DD>
3450
3451<p>
3452The location of Postfix HTML files that describe how to build,
3453configure or operate a specific Postfix subsystem or feature.
3454</p>
3455
3456
3457</DD>
3458
3459<DT><b><a name="ignore_mx_lookup_error">ignore_mx_lookup_error</a>
3460(default: no)</b></DT><DD>
3461
3462<p> Ignore DNS MX lookups that produce no response.  By default,
3463the Postfix SMTP client defers delivery and tries again after some
3464delay.  This behavior is required by the SMTP standard.  </p>
3465
3466<p>
3467Specify "<a href="postconf.5.html#ignore_mx_lookup_error">ignore_mx_lookup_error</a> = yes" to force a DNS A record
3468lookup instead. This violates the SMTP standard and can result in
3469mis-delivery of mail.
3470</p>
3471
3472
3473</DD>
3474
3475<DT><b><a name="import_environment">import_environment</a>
3476(default: see "postconf -d" output)</b></DT><DD>
3477
3478<p>
3479The list of environment parameters that a Postfix process will
3480import from a non-Postfix parent process. Examples of relevant
3481parameters:
3482</p>
3483
3484<dl>
3485
3486<dt><b>TZ</b></dt>
3487
3488<dd>Needed for sane time keeping on most System-V-ish systems. </dd>
3489
3490<dt><b>DISPLAY</b></dt>
3491
3492<dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
3493
3494<dt><b>XAUTHORITY</b></dt>
3495
3496<dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
3497
3498<dt><b>MAIL_CONFIG</b></dt>
3499
3500<dd>Needed to make "<b>postfix -c</b>" work. </dd>
3501
3502</dl>
3503
3504<p> Specify a list of names and/or name=value pairs, separated by
3505whitespace or comma. The name=value form is supported with
3506Postfix version 2.1 and later.  </p>
3507
3508
3509</DD>
3510
3511<DT><b><a name="in_flow_delay">in_flow_delay</a>
3512(default: 1s)</b></DT><DD>
3513
3514<p> Time to pause before accepting a new message, when the message
3515arrival rate exceeds the message delivery rate. This feature is
3516turned on by default (it's disabled on SCO UNIX due to an SCO bug).
3517</p>
3518
3519<p>
3520With the default 100 Postfix SMTP server process limit, "<a href="postconf.5.html#in_flow_delay">in_flow_delay</a>
3521= 1s" limits the mail inflow to 100 messages per second above the
3522number of messages delivered per second.
3523</p>
3524
3525<p>
3526Specify 0 to disable the feature. Valid delays are 0..10.
3527</p>
3528
3529
3530</DD>
3531
3532<DT><b><a name="inet_interfaces">inet_interfaces</a>
3533(default: all)</b></DT><DD>
3534
3535<p> The network interface addresses that this mail system receives
3536mail on. Specify "all" to receive mail on all network
3537interfaces (default), and "loopback-only" to receive mail
3538on loopback network interfaces only (Postfix version 2.2 and later).  The
3539parameter also controls delivery of mail to <tt>user@[ip.address]</tt>.
3540</p>
3541
3542<p>
3543Note 1: you need to stop and start Postfix when this parameter changes.
3544</p>
3545
3546<p> Note 2: address information may be enclosed inside <tt>[]</tt>,
3547but this form is not required here. </p>
3548
3549<p> When <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies just one IPv4 and/or IPv6 address
3550that is not a loopback address, the Postfix SMTP client will use
3551this address as the IP source address for outbound mail. Support
3552for IPv6 is available in Postfix version 2.2 and later. </p>
3553
3554<p>
3555On a multi-homed firewall with separate Postfix instances listening on the
3556"inside" and "outside" interfaces, this can prevent each instance from
3557being able to reach remote SMTP servers on the "other side" of the
3558firewall. Setting
3559<a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> to 0.0.0.0 avoids the potential problem for
3560IPv4, and setting <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> to :: solves the problem
3561for IPv6. </p>
3562
3563<p>
3564A better solution for multi-homed firewalls is to leave <a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
3565at the default value and instead use explicit IP addresses in
3566the <a href="master.5.html">master.cf</a> SMTP server definitions.  This preserves the Postfix
3567SMTP client's
3568loop detection, by ensuring that each side of the firewall knows that the
3569other IP address is still the same host. Setting $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> to a
3570single IPv4 and/or IPV6 address is primarily useful with virtual
3571hosting of domains on
3572secondary IP addresses, when each IP address serves a different domain
3573(and has a different $<a href="postconf.5.html#myhostname">myhostname</a> setting). </p>
3574
3575<p>
3576See also the <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> parameter, for network addresses that
3577are forwarded to Postfix by way of a proxy or address translator.
3578</p>
3579
3580<p>
3581Examples:
3582</p>
3583
3584<pre>
3585<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = all (DEFAULT)
3586<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback-only (Postfix version 2.2 and later)
3587<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1
3588<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1, [::1] (Postfix version 2.2 and later)
3589<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 192.168.1.2, 127.0.0.1
3590</pre>
3591
3592
3593</DD>
3594
3595<DT><b><a name="inet_protocols">inet_protocols</a>
3596(default: all)</b></DT><DD>
3597
3598<p> The Internet protocols Postfix will attempt to use when making
3599or accepting connections. Specify one or more of "ipv4"
3600or "ipv6", separated by whitespace or commas. The form
3601"all" is equivalent to "ipv4, ipv6" or "ipv4", depending
3602on whether the operating system implements IPv6. </p>
3603
3604<p> With Postfix 2.8 and earlier the default is "ipv4". For backwards
3605compatibility with these releases, the Postfix 2.9 and later upgrade
3606procedure appends an explicit "<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4" setting to
3607<a href="postconf.5.html">main.cf</a> when no explicit setting is present. This compatibility
3608workaround will be phased out as IPv6 deployment becomes more common.
3609</p>
3610
3611<p> This feature is available in Postfix 2.2 and later. </p>
3612
3613<p> Note: you MUST stop and start Postfix after changing this
3614parameter. </p>
3615
3616<p> On systems that pre-date IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>), an
3617IPv6 server will also accept IPv4 connections, even when IPv4 is
3618turned off with the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter.  On systems with
3619IPV6_V6ONLY support, Postfix will use separate server sockets for
3620IPv6 and IPv4, and each will accept only connections for the
3621corresponding protocol.  </p>
3622
3623<p> When IPv4 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
3624Postfix will look up DNS type A records, and will convert
3625IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original
3626IPv4 form (1.2.3.4).  The latter is needed on hosts that pre-date
3627IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>). </p>
3628
3629<p> When IPv6 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
3630Postfix will do DNS type AAAA record lookups. </p>
3631
3632<p> When both IPv4 and IPv6 support are enabled, the Postfix SMTP
3633client will choose the protocol as specified with the
3634<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> parameter. Postfix versions before 2.8
3635attempt to connect via IPv6 before attempting to use IPv4.  </p>
3636
3637<p>
3638Examples:
3639</p>
3640
3641<pre>
3642<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4
3643<a href="postconf.5.html#inet_protocols">inet_protocols</a> = all (DEFAULT)
3644<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv6
3645<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4, ipv6
3646</pre>
3647
3648
3649</DD>
3650
3651<DT><b><a name="initial_destination_concurrency">initial_destination_concurrency</a>
3652(default: 5)</b></DT><DD>
3653
3654<p>
3655The initial per-destination concurrency level for parallel delivery
3656to the same destination.
3657With per-destination recipient limit &gt; 1, a destination is a domain,
3658otherwise it is a recipient.
3659</p>
3660
3661<p> Use <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> to specify
3662a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
3663name of the message delivery transport (Postfix 2.5 and later). </p>
3664
3665<p>
3666Warning: with concurrency of 1, one bad message can be enough to
3667block all mail to a site.
3668</p>
3669
3670
3671</DD>
3672
3673<DT><b><a name="internal_mail_filter_classes">internal_mail_filter_classes</a>
3674(default: empty)</b></DT><DD>
3675
3676<p> What categories of Postfix-generated mail are subject to
3677before-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>
3678and <a href="postconf.5.html#body_checks">body_checks</a>.  Specify zero or more of the following, separated
3679by whitespace or comma.  </p>
3680
3681<dl>
3682
3683<dt><b>bounce</b></dt> <dd> Inspect the content of delivery
3684status notifications. </dd>
3685
3686<dt><b>notify</b></dt> <dd> Inspect the content of postmaster
3687notifications by the <a href="smtp.8.html">smtp(8)</a> and <a href="smtpd.8.html">smtpd(8)</a> processes. </dd>
3688
3689</dl>
3690
3691<p> NOTE: It's generally not safe to enable content inspection of
3692Postfix-generated email messages. The user is warned. </p>
3693
3694<p> This feature is available in Postfix 2.3 and later. </p>
3695
3696
3697</DD>
3698
3699<DT><b><a name="invalid_hostname_reject_code">invalid_hostname_reject_code</a>
3700(default: 501)</b></DT><DD>
3701
3702<p>
3703The numerical Postfix SMTP server response code when the client
3704HELO or EHLO command parameter is rejected by the <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a>
3705restriction.
3706</p>
3707
3708<p>
3709Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
3710</p>
3711
3712
3713</DD>
3714
3715<DT><b><a name="ipc_idle">ipc_idle</a>
3716(default: version dependent)</b></DT><DD>
3717
3718<p>
3719The time after which a client closes an idle internal communication
3720channel.  The purpose is to allow Postfix daemon processes to
3721terminate voluntarily after they become idle. This is used, for
3722example, by the Postfix address resolving and rewriting clients.
3723</p>
3724
3725<p> With Postfix 2.4 the default value was reduced from 100s to 5s. </p>
3726
3727<p>
3728Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3729The default time unit is s (seconds).
3730</p>
3731
3732
3733</DD>
3734
3735<DT><b><a name="ipc_timeout">ipc_timeout</a>
3736(default: 3600s)</b></DT><DD>
3737
3738<p>
3739The time limit for sending or receiving information over an internal
3740communication channel.  The purpose is to break out of deadlock
3741situations. If the time limit is exceeded the software aborts with a
3742fatal error.
3743</p>
3744
3745<p>
3746Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3747The default time unit is s (seconds).
3748</p>
3749
3750
3751</DD>
3752
3753<DT><b><a name="ipc_ttl">ipc_ttl</a>
3754(default: 1000s)</b></DT><DD>
3755
3756<p>
3757The time after which a client closes an active internal communication
3758channel.  The purpose is to allow Postfix daemon processes to
3759terminate voluntarily
3760after reaching their client limit.  This is used, for example, by
3761the Postfix address resolving and rewriting clients.
3762</p>
3763
3764<p>
3765Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3766The default time unit is s (seconds).
3767</p>
3768
3769<p>
3770This feature is available in Postfix 2.1 and later.
3771</p>
3772
3773
3774</DD>
3775
3776<DT><b><a name="line_length_limit">line_length_limit</a>
3777(default: 2048)</b></DT><DD>
3778
3779<p> Upon input, long lines are chopped up into pieces of at most
3780this length; upon delivery, long lines are reconstructed.  </p>
3781
3782
3783</DD>
3784
3785<DT><b><a name="lmdb_map_size">lmdb_map_size</a>
3786(default: 16777216)</b></DT><DD>
3787
3788<p>
3789The initial OpenLDAP LMDB database size limit in bytes.  Each time
3790a database becomes full, its size limit is doubled.
3791</p>
3792
3793<p>
3794This feature is available in Postfix 2.11 and later.
3795</p>
3796
3797
3798</DD>
3799
3800<DT><b><a name="lmtp_address_preference">lmtp_address_preference</a>
3801(default: ipv6)</b></DT><DD>
3802
3803<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a>
3804configuration parameter.  See there for details. </p>
3805
3806<p> This feature is available in Postfix 2.8 and later.  </p>
3807
3808
3809</DD>
3810
3811<DT><b><a name="lmtp_assume_final">lmtp_assume_final</a>
3812(default: no)</b></DT><DD>
3813
3814<p> When a remote LMTP server announces no DSN support, assume that
3815the
3816server performs final delivery, and send "delivered" delivery status
3817notifications instead of "relayed". The default setting is backwards
3818compatible to avoid the infinitesimal possibility of breaking
3819existing LMTP-based content filters. </p>
3820
3821
3822</DD>
3823
3824<DT><b><a name="lmtp_bind_address">lmtp_bind_address</a>
3825(default: empty)</b></DT><DD>
3826
3827<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> configuration
3828parameter.  See there for details. </p>
3829
3830<p> This feature is available in Postfix 2.3 and later. </p>
3831
3832
3833</DD>
3834
3835<DT><b><a name="lmtp_bind_address6">lmtp_bind_address6</a>
3836(default: empty)</b></DT><DD>
3837
3838<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> configuration
3839parameter.  See there for details. </p>
3840
3841<p> This feature is available in Postfix 2.3 and later. </p>
3842
3843
3844</DD>
3845
3846<DT><b><a name="lmtp_body_checks">lmtp_body_checks</a>
3847(default: empty)</b></DT><DD>
3848
3849<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_body_checks">smtp_body_checks</a> configuration
3850parameter. See there for details. </p>
3851
3852<p> This feature is available in Postfix 2.5 and later. </p>
3853
3854
3855</DD>
3856
3857<DT><b><a name="lmtp_cache_connection">lmtp_cache_connection</a>
3858(default: yes)</b></DT><DD>
3859
3860<p>
3861Keep Postfix LMTP client connections open for up to $<a href="postconf.5.html#max_idle">max_idle</a>
3862seconds. When the LMTP client receives a request for the same
3863connection the connection is reused.
3864</p>
3865
3866<p> This parameter is available in Postfix version 2.2 and earlier.
3867With Postfix version 2.3 and later, see <a href="postconf.5.html#lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>,
3868<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>.
3869</p>
3870
3871<p>
3872The effectiveness of cached connections will be determined by the
3873number of remote LMTP servers in use, and the concurrency limit specified
3874for the Postfix LMTP client. Cached connections are closed under any of
3875the following conditions:
3876</p>
3877
3878<ul>
3879
3880<li> The Postfix LMTP client idle time limit is reached.  This limit is
3881specified with the Postfix <a href="postconf.5.html#max_idle">max_idle</a> configuration parameter.
3882
3883<li> A delivery request specifies a different destination than the
3884one currently cached.
3885
3886<li> The per-process limit on the number of delivery requests is
3887reached.  This limit is specified with the Postfix <a href="postconf.5.html#max_use">max_use</a>
3888configuration parameter.
3889
3890<li> Upon the onset of another delivery request, the remote LMTP server
3891associated with the current session does not respond to the RSET
3892command.
3893
3894</ul>
3895
3896<p>
3897Most of these limitations have been with the Postfix
3898a connection cache that is shared among multiple LMTP client
3899programs.
3900</p>
3901
3902
3903</DD>
3904
3905<DT><b><a name="lmtp_cname_overrides_servername">lmtp_cname_overrides_servername</a>
3906(default: yes)</b></DT><DD>
3907
3908<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
3909configuration parameter.  See there for details. </p>
3910
3911<p> This feature is available in Postfix 2.3 and later. </p>
3912
3913
3914</DD>
3915
3916<DT><b><a name="lmtp_connect_timeout">lmtp_connect_timeout</a>
3917(default: 0s)</b></DT><DD>
3918
3919<p> The Postfix LMTP client time limit for completing a TCP connection, or
3920zero (use the operating system built-in time limit).  When no
3921connection can be made within the deadline, the LMTP client tries
3922the next address on the mail exchanger list.  </p>
3923
3924<p>
3925Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3926The default time unit is s (seconds).
3927</p>
3928
3929<p>
3930Example:
3931</p>
3932
3933<pre>
3934<a href="postconf.5.html#lmtp_connect_timeout">lmtp_connect_timeout</a> = 30s
3935</pre>
3936
3937
3938</DD>
3939
3940<DT><b><a name="lmtp_connection_cache_destinations">lmtp_connection_cache_destinations</a>
3941(default: empty)</b></DT><DD>
3942
3943<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
3944configuration parameter.  See there for details. </p>
3945
3946<p> This feature is available in Postfix 2.3 and later. </p>
3947
3948
3949</DD>
3950
3951<DT><b><a name="lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>
3952(default: yes)</b></DT><DD>
3953
3954<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
3955configuration parameter.  See there for details. </p>
3956
3957<p> This feature is available in Postfix 2.3 and later. </p>
3958
3959
3960</DD>
3961
3962<DT><b><a name="lmtp_connection_cache_time_limit">lmtp_connection_cache_time_limit</a>
3963(default: 2s)</b></DT><DD>
3964
3965<p> The LMTP-specific version of the
3966<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> configuration parameter.
3967See there for details. </p>
3968
3969<p> This feature is available in Postfix 2.3 and later. </p>
3970
3971
3972</DD>
3973
3974<DT><b><a name="lmtp_connection_reuse_count_limit">lmtp_connection_reuse_count_limit</a>
3975(default: 0)</b></DT><DD>
3976
3977<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a>
3978configuration parameter.  See there for details. </p>
3979
3980<p> This feature is available in Postfix 2.11 and later. </p>
3981
3982
3983</DD>
3984
3985<DT><b><a name="lmtp_connection_reuse_time_limit">lmtp_connection_reuse_time_limit</a>
3986(default: 300s)</b></DT><DD>
3987
3988<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
3989configuration parameter.  See there for details. </p>
3990
3991<p> This feature is available in Postfix 2.3 and later. </p>
3992
3993
3994</DD>
3995
3996<DT><b><a name="lmtp_data_done_timeout">lmtp_data_done_timeout</a>
3997(default: 600s)</b></DT><DD>
3998
3999<p> The Postfix LMTP client time limit for sending the LMTP ".",
4000and for receiving the remote LMTP server response.  When no response
4001is received within the deadline, a warning is logged that the mail
4002may be delivered multiple times.  </p>
4003
4004<p>
4005Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4006The default time unit is s (seconds).
4007</p>
4008
4009
4010</DD>
4011
4012<DT><b><a name="lmtp_data_init_timeout">lmtp_data_init_timeout</a>
4013(default: 120s)</b></DT><DD>
4014
4015<p>
4016The Postfix LMTP client time limit for sending the LMTP DATA command,
4017and
4018for receiving the remote LMTP server response.
4019</p>
4020
4021<p>
4022Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4023The default time unit is s (seconds).
4024</p>
4025
4026
4027</DD>
4028
4029<DT><b><a name="lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
4030(default: 180s)</b></DT><DD>
4031
4032<p>
4033The Postfix LMTP client time limit for sending the LMTP message
4034content.
4035When the connection stalls for more than $<a href="postconf.5.html#lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
4036the LMTP client terminates the transfer.
4037</p>
4038
4039<p>
4040Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4041The default time unit is s (seconds).
4042</p>
4043
4044
4045</DD>
4046
4047<DT><b><a name="lmtp_defer_if_no_mx_address_found">lmtp_defer_if_no_mx_address_found</a>
4048(default: no)</b></DT><DD>
4049
4050<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>
4051configuration parameter.  See there for details. </p>
4052
4053<p> This feature is available in Postfix 2.3 and later. </p>
4054
4055
4056</DD>
4057
4058<DT><b><a name="lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a>
4059(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
4060
4061<p> The maximal number of parallel deliveries to the same destination
4062via the lmtp message delivery transport. This limit is enforced by
4063the queue manager. The message delivery transport name is the first
4064field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
4065
4066
4067</DD>
4068
4069<DT><b><a name="lmtp_destination_recipient_limit">lmtp_destination_recipient_limit</a>
4070(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
4071
4072<p> The maximal number of recipients per message for the lmtp
4073message delivery transport. This limit is enforced by the queue
4074manager. The message delivery transport name is the first field in
4075the entry in the <a href="master.5.html">master.cf</a> file.  </p>
4076
4077<p> Setting this parameter to a value of 1 changes the meaning of
4078<a href="postconf.5.html#lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a> from concurrency per domain into
4079concurrency per recipient.  </p>
4080
4081
4082</DD>
4083
4084<DT><b><a name="lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a>
4085(default: empty)</b></DT><DD>
4086
4087<p> Lookup tables, indexed by the remote LMTP server address, with
4088case insensitive lists of LHLO keywords (pipelining, starttls,
4089auth, etc.) that the Postfix LMTP client will ignore in the LHLO
4090response
4091from a remote LMTP server. See <a href="postconf.5.html#lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a> for
4092details. The table is not indexed by hostname for consistency with
4093<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
4094
4095<p> This feature is available in Postfix 2.3 and later. </p>
4096
4097
4098</DD>
4099
4100<DT><b><a name="lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a>
4101(default: empty)</b></DT><DD>
4102
4103<p> A case insensitive list of LHLO keywords (pipelining, starttls,
4104auth, etc.) that the Postfix LMTP client will ignore in the LHLO
4105response
4106from a remote LMTP server. </p>
4107
4108<p> This feature is available in Postfix 2.3 and later. </p>
4109
4110<p> Notes: </p>
4111
4112<ul>
4113
4114<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
4115this action from being logged. </p>
4116
4117<li> <p> Use the <a href="postconf.5.html#lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a> feature to
4118discard LHLO keywords selectively. </p>
4119
4120</ul>
4121
4122
4123</DD>
4124
4125<DT><b><a name="lmtp_dns_resolver_options">lmtp_dns_resolver_options</a>
4126(default: empty)</b></DT><DD>
4127
4128<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_resolver_options">smtp_dns_resolver_options</a>
4129configuration parameter.  See there for details. </p>
4130
4131<p> This feature is available in Postfix 2.8 and later.  </p>
4132
4133
4134</DD>
4135
4136<DT><b><a name="lmtp_dns_support_level">lmtp_dns_support_level</a>
4137(default: empty)</b></DT><DD>
4138
4139<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>
4140configuration parameter.  See there for details.  </p>
4141
4142<p> This feature is available in Postfix 2.11 and later.  </p>
4143
4144
4145</DD>
4146
4147<DT><b><a name="lmtp_enforce_tls">lmtp_enforce_tls</a>
4148(default: no)</b></DT><DD>
4149
4150<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> configuration
4151parameter.  See there for details. </p>
4152
4153<p> This feature is available in Postfix 2.3 and later. </p>
4154
4155
4156</DD>
4157
4158<DT><b><a name="lmtp_generic_maps">lmtp_generic_maps</a>
4159(default: empty)</b></DT><DD>
4160
4161<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_generic_maps">smtp_generic_maps</a> configuration
4162parameter.  See there for details. </p>
4163
4164<p> This feature is available in Postfix 2.3 and later. </p>
4165
4166
4167</DD>
4168
4169<DT><b><a name="lmtp_header_checks">lmtp_header_checks</a>
4170(default: empty)</b></DT><DD>
4171
4172<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_header_checks">smtp_header_checks</a> configuration
4173parameter. See there for details. </p>
4174
4175<p> This feature is available in Postfix 2.5 and later. </p>
4176
4177
4178</DD>
4179
4180<DT><b><a name="lmtp_host_lookup">lmtp_host_lookup</a>
4181(default: dns)</b></DT><DD>
4182
4183<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a> configuration
4184parameter.  See there for details. </p>
4185
4186<p> This feature is available in Postfix 2.3 and later. </p>
4187
4188
4189</DD>
4190
4191<DT><b><a name="lmtp_lhlo_name">lmtp_lhlo_name</a>
4192(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
4193
4194<p>
4195The hostname to send in the LMTP LHLO command.
4196</p>
4197
4198<p>
4199The default value is the machine hostname.  Specify a hostname or
4200[ip.add.re.ss].
4201</p>
4202
4203<p>
4204This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all LMTP
4205clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
4206client, for example:
4207</p>
4208
4209<blockquote>
4210<pre>
4211/etc/postfix/<a href="master.5.html">master.cf</a>:
4212    mylmtp ... lmtp -o <a href="postconf.5.html#lmtp_lhlo_name">lmtp_lhlo_name</a>=foo.bar.com
4213</pre>
4214</blockquote>
4215
4216<p>
4217This feature is available in Postfix 2.3 and later.
4218</p>
4219
4220
4221</DD>
4222
4223<DT><b><a name="lmtp_lhlo_timeout">lmtp_lhlo_timeout</a>
4224(default: 300s)</b></DT><DD>
4225
4226<p> The Postfix LMTP client time limit for sending the LHLO command,
4227and for receiving the initial remote LMTP server response. </p>
4228
4229<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
4230(weeks).  The default time unit is s (seconds).  </p>
4231
4232
4233</DD>
4234
4235<DT><b><a name="lmtp_line_length_limit">lmtp_line_length_limit</a>
4236(default: 990)</b></DT><DD>
4237
4238<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_line_length_limit">smtp_line_length_limit</a>
4239configuration parameter.  See there for details. </p>
4240
4241<p> This feature is available in Postfix 2.3 and later. </p>
4242
4243
4244</DD>
4245
4246<DT><b><a name="lmtp_mail_timeout">lmtp_mail_timeout</a>
4247(default: 300s)</b></DT><DD>
4248
4249<p>
4250The Postfix LMTP client time limit for sending the MAIL FROM command,
4251and for receiving the remote LMTP server response.
4252</p>
4253
4254<p>
4255Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4256The default time unit is s (seconds).
4257</p>
4258
4259
4260</DD>
4261
4262<DT><b><a name="lmtp_mime_header_checks">lmtp_mime_header_checks</a>
4263(default: empty)</b></DT><DD>
4264
4265<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mime_header_checks">smtp_mime_header_checks</a>
4266configuration parameter. See there for details. </p>
4267
4268<p> This feature is available in Postfix 2.5 and later. </p>
4269
4270
4271</DD>
4272
4273<DT><b><a name="lmtp_mx_address_limit">lmtp_mx_address_limit</a>
4274(default: 5)</b></DT><DD>
4275
4276<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a> configuration
4277parameter.  See there for details. </p>
4278
4279<p> This feature is available in Postfix 2.3 and later. </p>
4280
4281
4282</DD>
4283
4284<DT><b><a name="lmtp_mx_session_limit">lmtp_mx_session_limit</a>
4285(default: 2)</b></DT><DD>
4286
4287<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_session_limit">smtp_mx_session_limit</a> configuration
4288parameter.  See there for details. </p>
4289
4290<p> This feature is available in Postfix 2.3 and later. </p>
4291
4292
4293</DD>
4294
4295<DT><b><a name="lmtp_nested_header_checks">lmtp_nested_header_checks</a>
4296(default: empty)</b></DT><DD>
4297
4298<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_nested_header_checks">smtp_nested_header_checks</a>
4299configuration parameter. See there for details. </p>
4300
4301<p> This feature is available in Postfix 2.5 and later. </p>
4302
4303
4304</DD>
4305
4306<DT><b><a name="lmtp_per_record_deadline">lmtp_per_record_deadline</a>
4307(default: no)</b></DT><DD>
4308
4309<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a>
4310configuration parameter.  See there for details. </p>
4311
4312<p> This feature is available in Postfix 2.9 and later.  </p>
4313
4314
4315</DD>
4316
4317<DT><b><a name="lmtp_pix_workaround_delay_time">lmtp_pix_workaround_delay_time</a>
4318(default: 10s)</b></DT><DD>
4319
4320<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
4321configuration parameter.  See there for details. </p>
4322
4323<p> This feature is available in Postfix 2.3 and later. </p>
4324
4325
4326</DD>
4327
4328<DT><b><a name="lmtp_pix_workaround_maps">lmtp_pix_workaround_maps</a>
4329(default: empty)</b></DT><DD>
4330
4331<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
4332configuration parameter.  See there for details. </p>
4333
4334<p> This feature is available in Postfix 2.4 and later. </p>
4335
4336
4337</DD>
4338
4339<DT><b><a name="lmtp_pix_workaround_threshold_time">lmtp_pix_workaround_threshold_time</a>
4340(default: 500s)</b></DT><DD>
4341
4342<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
4343configuration parameter.  See there for details. </p>
4344
4345<p> This feature is available in Postfix 2.3 and later. </p>
4346
4347
4348</DD>
4349
4350<DT><b><a name="lmtp_pix_workarounds">lmtp_pix_workarounds</a>
4351(default: empty)</b></DT><DD>
4352
4353<p> The LMTP-specific version of the smtp_pix_workaround
4354configuration parameter.  See there for details. </p>
4355
4356<p> This feature is available in Postfix 2.4 and later. </p>
4357
4358
4359</DD>
4360
4361<DT><b><a name="lmtp_quit_timeout">lmtp_quit_timeout</a>
4362(default: 300s)</b></DT><DD>
4363
4364<p>
4365The Postfix LMTP client time limit for sending the QUIT command,
4366and for receiving the remote LMTP server response.
4367</p>
4368
4369<p>
4370Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4371The default time unit is s (seconds).
4372</p>
4373
4374
4375</DD>
4376
4377<DT><b><a name="lmtp_quote_rfc821_envelope">lmtp_quote_rfc821_envelope</a>
4378(default: yes)</b></DT><DD>
4379
4380<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
4381configuration parameter.  See there for details. </p>
4382
4383<p> This feature is available in Postfix 2.3 and later. </p>
4384
4385
4386</DD>
4387
4388<DT><b><a name="lmtp_randomize_addresses">lmtp_randomize_addresses</a>
4389(default: yes)</b></DT><DD>
4390
4391<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_randomize_addresses">smtp_randomize_addresses</a>
4392configuration parameter.  See there for details. </p>
4393
4394<p> This feature is available in Postfix 2.3 and later. </p>
4395
4396
4397</DD>
4398
4399<DT><b><a name="lmtp_rcpt_timeout">lmtp_rcpt_timeout</a>
4400(default: 300s)</b></DT><DD>
4401
4402<p>
4403The Postfix LMTP client time limit for sending the RCPT TO command,
4404and for receiving the remote LMTP server response.
4405</p>
4406
4407<p>
4408Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4409The default time unit is s (seconds).
4410</p>
4411
4412
4413</DD>
4414
4415<DT><b><a name="lmtp_reply_filter">lmtp_reply_filter</a>
4416(default: empty)</b></DT><DD>
4417
4418<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a>
4419configuration parameter.  See there for details. </p>
4420
4421<p> This feature is available in Postfix 2.7 and later. </p>
4422
4423
4424</DD>
4425
4426<DT><b><a name="lmtp_rset_timeout">lmtp_rset_timeout</a>
4427(default: 20s)</b></DT><DD>
4428
4429<p> The Postfix LMTP client time limit for sending the RSET command,
4430and for receiving the remote LMTP server response. The LMTP client
4431sends RSET in
4432order to finish a recipient address probe, or to verify that a
4433cached connection is still alive.  </p>
4434
4435<p>
4436Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4437The default time unit is s (seconds).
4438</p>
4439
4440
4441</DD>
4442
4443<DT><b><a name="lmtp_sasl_auth_cache_name">lmtp_sasl_auth_cache_name</a>
4444(default: empty)</b></DT><DD>
4445
4446<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
4447configuration parameter.  See there for details. </p>
4448
4449<p> This feature is available in Postfix 2.5 and later. </p>
4450
4451
4452</DD>
4453
4454<DT><b><a name="lmtp_sasl_auth_cache_time">lmtp_sasl_auth_cache_time</a>
4455(default: 90d)</b></DT><DD>
4456
4457<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
4458configuration parameter.  See there for details. </p>
4459
4460<p> This feature is available in Postfix 2.5 and later. </p>
4461
4462
4463</DD>
4464
4465<DT><b><a name="lmtp_sasl_auth_enable">lmtp_sasl_auth_enable</a>
4466(default: no)</b></DT><DD>
4467
4468<p>
4469Enable SASL authentication in the Postfix LMTP client.
4470</p>
4471
4472
4473</DD>
4474
4475<DT><b><a name="lmtp_sasl_auth_soft_bounce">lmtp_sasl_auth_soft_bounce</a>
4476(default: yes)</b></DT><DD>
4477
4478<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
4479configuration parameter.  See there for details. </p>
4480
4481<p> This feature is available in Postfix 2.5 and later. </p>
4482
4483
4484</DD>
4485
4486<DT><b><a name="lmtp_sasl_mechanism_filter">lmtp_sasl_mechanism_filter</a>
4487(default: empty)</b></DT><DD>
4488
4489<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
4490configuration parameter.  See there for details. </p>
4491
4492<p> This feature is available in Postfix 2.3 and later. </p>
4493
4494
4495</DD>
4496
4497<DT><b><a name="lmtp_sasl_password_maps">lmtp_sasl_password_maps</a>
4498(default: empty)</b></DT><DD>
4499
4500<p>
4501Optional Postfix LMTP client lookup tables with one username:password entry
4502per host or domain.  If a remote host or domain has no username:password
4503entry, then the Postfix LMTP client will not attempt to authenticate
4504to the remote host.
4505</p>
4506
4507
4508</DD>
4509
4510<DT><b><a name="lmtp_sasl_path">lmtp_sasl_path</a>
4511(default: empty)</b></DT><DD>
4512
4513<p> Implementation-specific information that is passed through to
4514the SASL plug-in implementation that is selected with
4515<b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>.  Typically this specifies the name of a
4516configuration file or rendezvous point. </p>
4517
4518<p> This feature is available in Postfix 2.3 and later. </p>
4519
4520
4521</DD>
4522
4523<DT><b><a name="lmtp_sasl_security_options">lmtp_sasl_security_options</a>
4524(default: noplaintext, noanonymous)</b></DT><DD>
4525
4526<p> SASL security options; as of Postfix 2.3 the list of available
4527features depends on the SASL client implementation that is selected
4528with <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>.  </p>
4529
4530<p> The following security features are defined for the <b>cyrus</b>
4531client SASL implementation: </p>
4532
4533<dl>
4534
4535<dt><b>noplaintext</b></dt>
4536
4537<dd>Disallow authentication methods that use plaintext passwords. </dd>
4538
4539<dt><b>noactive</b></dt>
4540
4541<dd>Disallow authentication methods that are vulnerable to non-dictionary
4542active attacks. </dd>
4543
4544<dt><b>nodictionary</b></dt>
4545
4546<dd>Disallow authentication methods that are vulnerable to passive
4547dictionary attack. </dd>
4548
4549<dt><b>noanonymous</b></dt>
4550
4551<dd>Disallow anonymous logins. </dd>
4552
4553</dl>
4554
4555<p>
4556Example:
4557</p>
4558
4559<pre>
4560<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a> = noplaintext
4561</pre>
4562
4563
4564</DD>
4565
4566<DT><b><a name="lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>
4567(default: $<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a>)</b></DT><DD>
4568
4569<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
4570configuration parameter.  See there for details. </p>
4571
4572<p> This feature is available in Postfix 2.3 and later. </p>
4573
4574
4575</DD>
4576
4577<DT><b><a name="lmtp_sasl_tls_verified_security_options">lmtp_sasl_tls_verified_security_options</a>
4578(default: $<a href="postconf.5.html#lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>)</b></DT><DD>
4579
4580<p> The LMTP-specific version of the
4581<a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> configuration parameter.
4582See there for details. </p>
4583
4584<p> This feature is available in Postfix 2.3 and later. </p>
4585
4586
4587</DD>
4588
4589<DT><b><a name="lmtp_sasl_type">lmtp_sasl_type</a>
4590(default: cyrus)</b></DT><DD>
4591
4592<p> The SASL plug-in type that the Postfix LMTP client should use
4593for authentication.  The available types are listed with the
4594"<b>postconf -A</b>" command. </p>
4595
4596<p> This feature is available in Postfix 2.3 and later. </p>
4597
4598
4599</DD>
4600
4601<DT><b><a name="lmtp_send_dummy_mail_auth">lmtp_send_dummy_mail_auth</a>
4602(default: no)</b></DT><DD>
4603
4604<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
4605configuration parameter.  See there for details. </p>
4606
4607<p> This feature is available in Postfix 2.9 and later.  </p>
4608
4609
4610</DD>
4611
4612<DT><b><a name="lmtp_send_xforward_command">lmtp_send_xforward_command</a>
4613(default: no)</b></DT><DD>
4614
4615<p>
4616Send an XFORWARD command to the remote LMTP server when the LMTP LHLO
4617server response announces XFORWARD support.  This allows an <a href="lmtp.8.html">lmtp(8)</a>
4618delivery agent, used for content filter message injection, to
4619forward the name, address, protocol and HELO name of the original
4620client to the content filter and downstream queuing LMTP server.
4621Before you change the value to yes, it is best to make sure that
4622your content filter supports this command.
4623</p>
4624
4625<p>
4626This feature is available in Postfix 2.1 and later.
4627</p>
4628
4629
4630</DD>
4631
4632<DT><b><a name="lmtp_sender_dependent_authentication">lmtp_sender_dependent_authentication</a>
4633(default: no)</b></DT><DD>
4634
4635<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
4636configuration parameter.  See there for details. </p>
4637
4638<p> This feature is available in Postfix 2.3 and later. </p>
4639
4640
4641</DD>
4642
4643<DT><b><a name="lmtp_skip_5xx_greeting">lmtp_skip_5xx_greeting</a>
4644(default: yes)</b></DT><DD>
4645
4646<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
4647configuration parameter.  See there for details. </p>
4648
4649<p> This feature is available in Postfix 2.3 and later. </p>
4650
4651
4652</DD>
4653
4654<DT><b><a name="lmtp_skip_quit_response">lmtp_skip_quit_response</a>
4655(default: no)</b></DT><DD>
4656
4657<p>
4658Wait for the response to the LMTP QUIT command.
4659</p>
4660
4661
4662</DD>
4663
4664<DT><b><a name="lmtp_starttls_timeout">lmtp_starttls_timeout</a>
4665(default: 300s)</b></DT><DD>
4666
4667<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_starttls_timeout">smtp_starttls_timeout</a> configuration
4668parameter.  See there for details. </p>
4669
4670<p> This feature is available in Postfix 2.3 and later. </p>
4671
4672
4673</DD>
4674
4675<DT><b><a name="lmtp_tcp_port">lmtp_tcp_port</a>
4676(default: 24)</b></DT><DD>
4677
4678<p>
4679The default TCP port that the Postfix LMTP client connects to.
4680</p>
4681
4682
4683</DD>
4684
4685<DT><b><a name="lmtp_tls_CAfile">lmtp_tls_CAfile</a>
4686(default: empty)</b></DT><DD>
4687
4688<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>
4689configuration parameter.  See there for details. </p>
4690
4691<p> This feature is available in Postfix 2.3 and later. </p>
4692
4693
4694</DD>
4695
4696<DT><b><a name="lmtp_tls_CApath">lmtp_tls_CApath</a>
4697(default: empty)</b></DT><DD>
4698
4699<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a>
4700configuration parameter.  See there for details. </p>
4701
4702<p> This feature is available in Postfix 2.3 and later. </p>
4703
4704
4705</DD>
4706
4707<DT><b><a name="lmtp_tls_block_early_mail_reply">lmtp_tls_block_early_mail_reply</a>
4708(default: empty)</b></DT><DD>
4709
4710<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>
4711configuration parameter.  See there for details. </p>
4712
4713<p> This feature is available in Postfix 2.7 and later. </p>
4714
4715
4716</DD>
4717
4718<DT><b><a name="lmtp_tls_cert_file">lmtp_tls_cert_file</a>
4719(default: empty)</b></DT><DD>
4720
4721<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>
4722configuration parameter.  See there for details. </p>
4723
4724<p> This feature is available in Postfix 2.3 and later. </p>
4725
4726
4727</DD>
4728
4729<DT><b><a name="lmtp_tls_ciphers">lmtp_tls_ciphers</a>
4730(default: export)</b></DT><DD>
4731
4732<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> configuration
4733parameter. See there for details. </p>
4734
4735<p> This feature is available in Postfix 2.6 and later. </p>
4736
4737
4738</DD>
4739
4740<DT><b><a name="lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>
4741(default: empty)</b></DT><DD>
4742
4743<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>
4744configuration parameter.  See there for details. </p>
4745
4746<p> This feature is available in Postfix 2.3 and later. </p>
4747
4748
4749</DD>
4750
4751<DT><b><a name="lmtp_tls_dkey_file">lmtp_tls_dkey_file</a>
4752(default: $<a href="postconf.5.html#lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>)</b></DT><DD>
4753
4754<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a>
4755configuration parameter.  See there for details. </p>
4756
4757<p> This feature is available in Postfix 2.3 and later. </p>
4758
4759
4760</DD>
4761
4762<DT><b><a name="lmtp_tls_eccert_file">lmtp_tls_eccert_file</a>
4763(default: empty)</b></DT><DD>
4764
4765<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> configuration
4766parameter.  See there for details. </p>
4767
4768<p> This feature is available in Postfix 2.6 and later, when Postfix is
4769compiled and linked with OpenSSL 1.0.0 or later. </p>
4770
4771
4772</DD>
4773
4774<DT><b><a name="lmtp_tls_eckey_file">lmtp_tls_eckey_file</a>
4775(default: empty)</b></DT><DD>
4776
4777<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> configuration
4778parameter.  See there for details. </p>
4779
4780<p> This feature is available in Postfix 2.6 and later, when Postfix is
4781compiled and linked with OpenSSL 1.0.0 or later. </p>
4782
4783
4784</DD>
4785
4786<DT><b><a name="lmtp_tls_enforce_peername">lmtp_tls_enforce_peername</a>
4787(default: yes)</b></DT><DD>
4788
4789<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
4790configuration parameter.  See there for details. </p>
4791
4792<p> This feature is available in Postfix 2.3 and later. </p>
4793
4794
4795</DD>
4796
4797<DT><b><a name="lmtp_tls_exclude_ciphers">lmtp_tls_exclude_ciphers</a>
4798(default: empty)</b></DT><DD>
4799
4800<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
4801configuration parameter.  See there for details. </p>
4802
4803<p> This feature is available in Postfix 2.3 and later. </p>
4804
4805
4806</DD>
4807
4808<DT><b><a name="lmtp_tls_fingerprint_cert_match">lmtp_tls_fingerprint_cert_match</a>
4809(default: empty)</b></DT><DD>
4810
4811<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
4812configuration parameter.  See there for details. </p>
4813
4814<p> This feature is available in Postfix 2.5 and later. </p>
4815
4816
4817</DD>
4818
4819<DT><b><a name="lmtp_tls_fingerprint_digest">lmtp_tls_fingerprint_digest</a>
4820(default: md5)</b></DT><DD>
4821
4822<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
4823configuration parameter.  See there for details. </p>
4824
4825<p> This feature is available in Postfix 2.5 and later. </p>
4826
4827
4828</DD>
4829
4830<DT><b><a name="lmtp_tls_force_insecure_host_tlsa_lookup">lmtp_tls_force_insecure_host_tlsa_lookup</a>
4831(default: no)</b></DT><DD>
4832
4833<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>
4834configuration parameter.  See there for details. </p>
4835
4836<p> This feature is available in Postfix 2.11 and later. </p>
4837
4838
4839</DD>
4840
4841<DT><b><a name="lmtp_tls_key_file">lmtp_tls_key_file</a>
4842(default: $<a href="postconf.5.html#lmtp_tls_cert_file">lmtp_tls_cert_file</a>)</b></DT><DD>
4843
4844<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a>
4845configuration parameter.  See there for details. </p>
4846
4847<p> This feature is available in Postfix 2.3 and later. </p>
4848
4849
4850</DD>
4851
4852<DT><b><a name="lmtp_tls_loglevel">lmtp_tls_loglevel</a>
4853(default: 0)</b></DT><DD>
4854
4855<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>
4856configuration parameter.  See there for details. </p>
4857
4858<p> This feature is available in Postfix 2.3 and later. </p>
4859
4860
4861</DD>
4862
4863<DT><b><a name="lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>
4864(default: empty)</b></DT><DD>
4865
4866<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
4867configuration parameter.  See there for details. </p>
4868
4869<p> This feature is available in Postfix 2.3 and later. </p>
4870
4871
4872</DD>
4873
4874<DT><b><a name="lmtp_tls_mandatory_exclude_ciphers">lmtp_tls_mandatory_exclude_ciphers</a>
4875(default: empty)</b></DT><DD>
4876
4877<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
4878configuration parameter.  See there for details. </p>
4879
4880<p> This feature is available in Postfix 2.3 and later. </p>
4881
4882
4883</DD>
4884
4885<DT><b><a name="lmtp_tls_mandatory_protocols">lmtp_tls_mandatory_protocols</a>
4886(default: !SSLv2)</b></DT><DD>
4887
4888<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
4889configuration parameter. See there for details. </p>
4890
4891<p> This feature is available in Postfix 2.3 and later. </p>
4892
4893
4894</DD>
4895
4896<DT><b><a name="lmtp_tls_note_starttls_offer">lmtp_tls_note_starttls_offer</a>
4897(default: no)</b></DT><DD>
4898
4899<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
4900configuration parameter.  See there for details. </p>
4901
4902<p> This feature is available in Postfix 2.3 and later. </p>
4903
4904
4905</DD>
4906
4907<DT><b><a name="lmtp_tls_per_site">lmtp_tls_per_site</a>
4908(default: empty)</b></DT><DD>
4909
4910<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> configuration
4911parameter.  See there for details. </p>
4912
4913<p> This feature is available in Postfix 2.3 and later. </p>
4914
4915
4916</DD>
4917
4918<DT><b><a name="lmtp_tls_policy_maps">lmtp_tls_policy_maps</a>
4919(default: empty)</b></DT><DD>
4920
4921<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>
4922configuration parameter. See there for details. </p>
4923
4924<p> This feature is available in Postfix 2.3 and later. </p>
4925
4926
4927</DD>
4928
4929<DT><b><a name="lmtp_tls_protocols">lmtp_tls_protocols</a>
4930(default: empty)</b></DT><DD>
4931
4932<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> configuration
4933parameter. See there for details. </p>
4934
4935<p> This feature is available in Postfix 2.6 and later. </p>
4936
4937
4938</DD>
4939
4940<DT><b><a name="lmtp_tls_scert_verifydepth">lmtp_tls_scert_verifydepth</a>
4941(default: 9)</b></DT><DD>
4942
4943<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
4944configuration parameter.  See there for details. </p>
4945
4946<p> This feature is available in Postfix 2.3 and later. </p>
4947
4948
4949</DD>
4950
4951<DT><b><a name="lmtp_tls_secure_cert_match">lmtp_tls_secure_cert_match</a>
4952(default: nexthop)</b></DT><DD>
4953
4954<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
4955configuration parameter. See there for details. </p>
4956
4957<p> This feature is available in Postfix 2.3 and later. </p>
4958
4959
4960</DD>
4961
4962<DT><b><a name="lmtp_tls_security_level">lmtp_tls_security_level</a>
4963(default: empty)</b></DT><DD>
4964
4965<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> configuration
4966parameter.  See there for details. </p>
4967
4968<p> This feature is available in Postfix 2.3 and later. </p>
4969
4970
4971</DD>
4972
4973<DT><b><a name="lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>
4974(default: empty)</b></DT><DD>
4975
4976<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
4977configuration parameter. See there for details. </p>
4978
4979<p> This feature is available in Postfix 2.3 and later. </p>
4980
4981
4982</DD>
4983
4984<DT><b><a name="lmtp_tls_session_cache_timeout">lmtp_tls_session_cache_timeout</a>
4985(default: 3600s)</b></DT><DD>
4986
4987<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
4988configuration parameter.  See there for details. </p>
4989
4990<p> This feature is available in Postfix 2.3 and later. </p>
4991
4992
4993</DD>
4994
4995<DT><b><a name="lmtp_tls_trust_anchor_file">lmtp_tls_trust_anchor_file</a>
4996(default: empty)</b></DT><DD>
4997
4998<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
4999configuration parameter.  See there for details.  </p>
5000
5001<p> This feature is available in Postfix 2.11 and later.  </p>
5002
5003
5004</DD>
5005
5006<DT><b><a name="lmtp_tls_verify_cert_match">lmtp_tls_verify_cert_match</a>
5007(default: hostname)</b></DT><DD>
5008
5009<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
5010configuration parameter. See there for details. </p>
5011
5012<p> This feature is available in Postfix 2.3 and later. </p>
5013
5014
5015</DD>
5016
5017<DT><b><a name="lmtp_use_tls">lmtp_use_tls</a>
5018(default: no)</b></DT><DD>
5019
5020<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> configuration
5021parameter.  See there for details. </p>
5022
5023<p> This feature is available in Postfix 2.3 and later. </p>
5024
5025
5026</DD>
5027
5028<DT><b><a name="lmtp_xforward_timeout">lmtp_xforward_timeout</a>
5029(default: 300s)</b></DT><DD>
5030
5031<p>
5032The Postfix LMTP client time limit for sending the XFORWARD command,
5033and for receiving the remote LMTP server response.
5034</p>
5035
5036<p>
5037In case of problems the client does NOT try the next address on
5038the mail exchanger list.
5039</p>
5040
5041<p>
5042Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
5043The default time unit is s (seconds).
5044</p>
5045
5046<p>
5047This feature is available in Postfix 2.1 and later.
5048</p>
5049
5050
5051</DD>
5052
5053<DT><b><a name="local_command_shell">local_command_shell</a>
5054(default: empty)</b></DT><DD>
5055
5056<p>
5057Optional shell program for <a href="local.8.html">local(8)</a> delivery to non-Postfix command.
5058By default, non-Postfix commands are executed directly; commands
5059are given to given to the default shell (typically, /bin/sh) only
5060when they contain shell meta characters or shell built-in commands.
5061</p>
5062
5063<p> "sendmail's restricted shell" (smrsh) is what most people will
5064use in order to restrict what programs can be run from e.g. .forward
5065files (smrsh is part of the Sendmail distribution).  </p>
5066
5067<p> Note: when a shell program is specified, it is invoked even
5068when the command contains no shell built-in commands or meta
5069characters.  </p>
5070
5071<p>
5072Example:
5073</p>
5074
5075<pre>
5076<a href="postconf.5.html#local_command_shell">local_command_shell</a> = /some/where/smrsh -c
5077<a href="postconf.5.html#local_command_shell">local_command_shell</a> = /bin/bash -c
5078</pre>
5079
5080
5081</DD>
5082
5083<DT><b><a name="local_destination_concurrency_limit">local_destination_concurrency_limit</a>
5084(default: 2)</b></DT><DD>
5085
5086<p> The maximal number of parallel deliveries via the local mail
5087delivery transport to the same recipient (when
5088"<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> = 1") or the maximal number of
5089parallel deliveries to the same <a href="ADDRESS_CLASS_README.html#local_domain_class">local domain</a> (when
5090"<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> &gt; 1"). This limit is enforced by
5091the queue manager. The message delivery transport name is the first
5092field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
5093
5094<p> A low limit of 2 is recommended, just in case someone has an
5095expensive shell command in a .forward file or in an alias (e.g.,
5096a mailing list manager).  You don't want to run lots of those at
5097the same time.  </p>
5098
5099
5100</DD>
5101
5102<DT><b><a name="local_destination_recipient_limit">local_destination_recipient_limit</a>
5103(default: 1)</b></DT><DD>
5104
5105<p> The maximal number of recipients per message delivery via the
5106local mail delivery transport. This limit is enforced by the queue
5107manager. The message delivery transport name is the first field in
5108the entry in the <a href="master.5.html">master.cf</a> file. </p>
5109
5110<p> Setting this parameter to a value &gt; 1 changes the meaning of
5111<a href="postconf.5.html#local_destination_concurrency_limit">local_destination_concurrency_limit</a> from concurrency per recipient
5112into concurrency per domain.  </p>
5113
5114
5115</DD>
5116
5117<DT><b><a name="local_header_rewrite_clients">local_header_rewrite_clients</a>
5118(default: <a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a>)</b></DT><DD>
5119
5120<p> Rewrite message header addresses in mail from these clients and
5121update incomplete addresses with the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or
5122$<a href="postconf.5.html#mydomain">mydomain</a>; either don't rewrite message headers from other clients
5123at all, or rewrite message headers and update incomplete addresses
5124with the domain specified in the <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>
5125parameter.  </p>
5126
5127<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
5128for details of how domain names are appended to incomplete addresses.
5129</p>
5130
5131<p> Specify a list of zero or more of the following:  </p>
5132
5133<dl>
5134
5135<dt><b><a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
5136
5137<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
5138client IP address matches $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. This is enabled by
5139default. </dd>
5140
5141<dt><b><a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a></b></dt>
5142
5143<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
5144client IP address matches any network or network address listed in
5145$<a href="postconf.5.html#mynetworks">mynetworks</a>. This setting will not prevent remote mail header
5146address rewriting when mail from a remote client is forwarded by
5147a neighboring system.  </dd>
5148
5149<dt><b><a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> </b></dt>
5150
5151<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
5152client is successfully authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH)
5153protocol. </dd>
5154
5155<dt><b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> </b></dt>
5156
5157<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
5158remote SMTP client TLS certificate fingerprint or public key fingerprint
5159(Postfix 2.9 and later) is listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
5160The fingerprint digest algorithm is configurable via the
5161<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
5162Postfix version 2.5).  </dd>
5163
5164<dt><b><a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a> </b></dt>
5165
5166<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
5167remote SMTP client TLS certificate is successfully verified, regardless of
5168whether it is listed on the server, and regardless of the certifying
5169authority. </dd>
5170
5171<dt><b><a name="check_address_map">check_address_map</a> <i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
5172
5173<dt><b><i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
5174
5175<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
5176client IP address matches the specified lookup table.
5177The lookup result is ignored, and no subnet lookup is done. This
5178is suitable for, e.g., pop-before-smtp lookup tables. </dd>
5179
5180</dl>
5181
5182<p> Examples:  </p>
5183
5184<p> The Postfix &lt; 2.2 backwards compatible setting: always rewrite
5185message headers, and always append my own domain to incomplete
5186header addresses.  </p>
5187
5188<blockquote>
5189<pre>
5190<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all
5191</pre>
5192</blockquote>
5193
5194<p> The purist (and default) setting: rewrite headers only in mail
5195from Postfix sendmail and in SMTP mail from this machine. </p>
5196
5197<blockquote>
5198<pre>
5199<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>
5200</pre>
5201</blockquote>
5202
5203<p> The intermediate setting: rewrite header addresses and append
5204$<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> information only with mail from Postfix
5205sendmail, from local clients, or from authorized SMTP clients. </p>
5206
5207<p> Note: this setting will not prevent remote mail header address
5208rewriting when mail from a remote client is forwarded by a neighboring
5209system.  </p>
5210
5211<blockquote>
5212<pre>
5213<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
5214    <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
5215    <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
5216</pre>
5217</blockquote>
5218
5219
5220</DD>
5221
5222<DT><b><a name="local_recipient_maps">local_recipient_maps</a>
5223(default: <a href="proxymap.8.html">proxy</a>:unix:passwd.byname $<a href="postconf.5.html#alias_maps">alias_maps</a>)</b></DT><DD>
5224
5225<p> Lookup tables with all names or addresses of local recipients:
5226a recipient address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
5227$<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
5228wild-card for domains that do not have a valid recipient list.
5229Technically, tables listed with $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> are used as
5230lists: Postfix needs to know only if a lookup string is found or
5231not, but it does not use the result from table lookup.  </p>
5232
5233<p>
5234If this parameter is non-empty (the default), then the Postfix SMTP
5235server will reject mail for unknown local users.
5236</p>
5237
5238<p>
5239To turn off local recipient checking in the Postfix SMTP server,
5240specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty).
5241</p>
5242
5243<p>
5244The default setting assumes that you use the default Postfix local
5245delivery agent for local delivery. You need to update the
5246<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> setting if:
5247</p>
5248
5249<ul>
5250
5251<li>You redefine the local delivery agent in <a href="master.5.html">master.cf</a>.
5252
5253<li>You redefine the "<a href="postconf.5.html#local_transport">local_transport</a>" setting in <a href="postconf.5.html">main.cf</a>.
5254
5255<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>"
5256feature of the Postfix <a href="local.8.html">local(8)</a> delivery agent.
5257
5258</ul>
5259
5260<p>
5261Details are described in the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> file.
5262</p>
5263
5264<p>
5265Beware: if the Postfix SMTP server runs chrooted, you need to access
5266the passwd file via the <a href="proxymap.8.html">proxymap(8)</a> service, in order to overcome
5267chroot access restrictions. The alternative, maintaining a copy of
5268the system password file in the chroot jail is not practical.
5269</p>
5270
5271<p>
5272Examples:
5273</p>
5274
5275<pre>
5276<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =
5277</pre>
5278
5279
5280</DD>
5281
5282<DT><b><a name="local_transport">local_transport</a>
5283(default: <a href="local.8.html">local</a>:$<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
5284
5285<p> The default mail delivery transport and next-hop destination
5286for final delivery to domains listed with <a href="postconf.5.html#mydestination">mydestination</a>, and for
5287[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>.
5288This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
5289
5290<p>
5291By default, local mail is delivered to the transport called "local",
5292which is just the name of a service that is defined the <a href="master.5.html">master.cf</a> file.
5293</p>
5294
5295<p>
5296Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
5297is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
5298The <i>:nexthop</i> destination is optional; its syntax is documented
5299in the manual page of the corresponding delivery agent.
5300</p>
5301
5302<p>
5303Beware: if you override the default local delivery agent then you
5304need to review the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> document, otherwise the
5305SMTP server may reject mail for local recipients.
5306</p>
5307
5308
5309</DD>
5310
5311<DT><b><a name="luser_relay">luser_relay</a>
5312(default: empty)</b></DT><DD>
5313
5314<p>
5315Optional catch-all destination for unknown <a href="local.8.html">local(8)</a> recipients.
5316By default, mail for unknown recipients in domains that match
5317$<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
5318as undeliverable.
5319</p>
5320
5321<p>
5322The following $name expansions are done on <a href="postconf.5.html#luser_relay">luser_relay</a>:
5323</p>
5324
5325<dl>
5326
5327<dt><b>$domain</b></dt>
5328
5329<dd>The recipient domain. </dd>
5330
5331<dt><b>$extension</b></dt>
5332
5333<dd>The recipient address extension. </dd>
5334
5335<dt><b>$home</b></dt>
5336
5337<dd>The recipient's home directory. </dd>
5338
5339<dt><b>$local</b></dt>
5340
5341<dd>The entire recipient address localpart. </dd>
5342
5343<dt><b>$recipient</b></dt>
5344
5345<dd>The full recipient address. </dd>
5346
5347<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
5348
5349<dd>The address extension delimiter that was found in the recipient
5350address (Postfix 2.11 and later), or the system-wide recipient
5351address extension delimiter (Postfix 2.10 and earlier). </dd>
5352
5353<dt><b>$shell</b></dt>
5354
5355<dd>The recipient's login shell. </dd>
5356
5357<dt><b>$user</b></dt>
5358
5359<dd>The recipient username. </dd>
5360
5361<dt><b>${name?value}</b></dt>
5362
5363<dd>Expands to <i>value</i> when <i>$name</i> has a non-empty value. </dd>
5364
5365<dt><b>${name:value}</b></dt>
5366
5367<dd>Expands to <i>value</i> when <i>$name</i> has an empty value. </dd>
5368
5369</dl>
5370
5371<p>
5372Instead of $name you can also specify ${name} or $(name).
5373</p>
5374
5375<p>
5376Note: <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.
5377</p>
5378
5379<p>
5380Note: if you use this feature for accounts not in the UNIX password
5381file, then you must specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty)
5382in the <a href="postconf.5.html">main.cf</a> file, otherwise the Postfix SMTP server will reject mail
5383for non-UNIX accounts with "User unknown in local recipient table".
5384</p>
5385
5386<p>
5387Examples:
5388</p>
5389
5390<pre>
5391<a href="postconf.5.html#luser_relay">luser_relay</a> = $user@other.host
5392<a href="postconf.5.html#luser_relay">luser_relay</a> = $local@other.host
5393<a href="postconf.5.html#luser_relay">luser_relay</a> = admin+$local
5394</pre>
5395
5396
5397</DD>
5398
5399<DT><b><a name="mail_name">mail_name</a>
5400(default: Postfix)</b></DT><DD>
5401
5402<p>
5403The mail system name that is displayed in Received: headers, in
5404the SMTP greeting banner, and in bounced mail.
5405</p>
5406
5407
5408</DD>
5409
5410<DT><b><a name="mail_owner">mail_owner</a>
5411(default: postfix)</b></DT><DD>
5412
5413<p>
5414The UNIX system account that owns the Postfix queue and most Postfix
5415daemon processes.  Specify the name of an unprivileged user account
5416that does not share a user or group ID with other accounts, and that
5417owns no other files
5418or processes on the system.  In particular, don't specify nobody
5419or daemon.  PLEASE USE A DEDICATED USER ID AND GROUP ID.
5420</p>
5421
5422<p>
5423When this parameter value is changed you need to re-run "<b>postfix
5424set-permissions</b>" (with Postfix version 2.0 and earlier:
5425"<b>/etc/postfix/post-install set-permissions</b>".
5426</p>
5427
5428
5429</DD>
5430
5431<DT><b><a name="mail_release_date">mail_release_date</a>
5432(default: see "postconf -d" output)</b></DT><DD>
5433
5434<p>
5435The Postfix release date, in "YYYYMMDD" format.
5436</p>
5437
5438
5439</DD>
5440
5441<DT><b><a name="mail_spool_directory">mail_spool_directory</a>
5442(default: see "postconf -d" output)</b></DT><DD>
5443
5444<p>
5445The directory where <a href="local.8.html">local(8)</a> UNIX-style mailboxes are kept. The
5446default setting depends on the system type. Specify a name ending
5447in / for maildir-style delivery.
5448</p>
5449
5450<p>
5451Note: maildir delivery is done with the privileges of the recipient.
5452If you use the <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> setting for maildir style
5453delivery, then you must create the top-level maildir directory in
5454advance. Postfix will not create it.
5455</p>
5456
5457<p>
5458Examples:
5459</p>
5460
5461<pre>
5462<a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/mail
5463<a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/spool/mail
5464</pre>
5465
5466
5467</DD>
5468
5469<DT><b><a name="mail_version">mail_version</a>
5470(default: see "postconf -d" output)</b></DT><DD>
5471
5472<p>
5473The version of the mail system. Stable releases are named
5474<i>major</i>.<i>minor</i>.<i>patchlevel</i>. Experimental releases
5475also include the release date. The version string can be used in,
5476for example, the SMTP greeting banner.
5477</p>
5478
5479
5480</DD>
5481
5482<DT><b><a name="mailbox_command">mailbox_command</a>
5483(default: empty)</b></DT><DD>
5484
5485<p>
5486Optional external command that the <a href="local.8.html">local(8)</a> delivery agent should
5487use for mailbox delivery.  The command is run with the user ID and
5488the primary group ID privileges of the recipient.  Exception:
5489command delivery for root executes with $<a href="postconf.5.html#default_privs">default_privs</a> privileges.
5490This is not a problem, because 1) mail for root should always be
5491aliased to a real user and 2) don't log in as root, use "su" instead.
5492</p>
5493
5494<p>
5495The following environment variables are exported to the command:
5496</p>
5497
5498<dl>
5499
5500<dt><b>CLIENT_ADDRESS</b></dt>
5501
5502<dd>Remote client network address. Available in Postfix version 2.2 and
5503later. </dd>
5504
5505<dt><b>CLIENT_HELO</b></dt>
5506
5507<dd>Remote client EHLO command parameter. Available in Postfix version 2.2
5508and later.</dd>
5509
5510<dt><b>CLIENT_HOSTNAME</b></dt>
5511
5512<dd>Remote client hostname. Available in Postfix version 2.2 and later.
5513</dd>
5514
5515<dt><b>CLIENT_PROTOCOL</b></dt>
5516
5517<dd>Remote client protocol. Available in Postfix version 2.2 and later.
5518</dd>
5519
5520<dt><b>DOMAIN</b></dt>
5521
5522<dd>The domain part of the recipient address. </dd>
5523
5524<dt><b>EXTENSION</b></dt>
5525
5526<dd>The optional address extension. </dd>
5527
5528<dt><b>HOME</b></dt>
5529
5530<dd>The recipient home directory. </dd>
5531
5532<dt><b>LOCAL</b></dt>
5533
5534<dd>The recipient address localpart. </dd>
5535
5536<dt><b>LOGNAME</b></dt>
5537
5538<dd>The recipient's username. </dd>
5539
5540<dt><b>ORIGINAL_RECIPIENT</b></dt>
5541
5542<dd>The entire recipient address, before any address rewriting or
5543aliasing.  </dd>
5544
5545<dt><b>RECIPIENT</b></dt>
5546
5547<dd>The full recipient address. </dd>
5548
5549<dt><b>SASL_METHOD</b></dt>
5550
5551<dd>SASL authentication method specified in the remote client AUTH
5552command. Available in Postfix version 2.2 and later. </dd>
5553
5554<dt><b>SASL_SENDER</b></dt>
5555
5556<dd>SASL sender address specified in the remote client MAIL FROM
5557command. Available in Postfix version 2.2 and later. </dd>
5558
5559<dt><b>SASL_USER</b></dt>
5560
5561<dd>SASL username specified in the remote client AUTH command.
5562Available in Postfix version 2.2 and later.  </dd>
5563
5564<dt><b>SENDER</b></dt>
5565
5566<dd>The full sender address. </dd>
5567
5568<dt><b>SHELL</b></dt>
5569
5570<dd>The recipient's login shell. </dd>
5571
5572<dt><b>USER</b></dt>
5573
5574<dd>The recipient username. </dd>
5575
5576</dl>
5577
5578<p>
5579Unlike other Postfix configuration parameters, the <a href="postconf.5.html#mailbox_command">mailbox_command</a>
5580parameter is not subjected to $name substitutions. This is to make
5581it easier to specify shell syntax (see example below).
5582</p>
5583
5584<p>
5585If you can, avoid shell meta characters because they will force
5586Postfix to run an expensive shell process. If you're delivering
5587via Procmail then running a shell won't make a noticeable difference
5588in the total cost.
5589</p>
5590
5591<p>
5592Note: if you use the <a href="postconf.5.html#mailbox_command">mailbox_command</a> feature to deliver mail
5593system-wide, you must set up an alias that forwards mail for root
5594to a real user.
5595</p>
5596
5597<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
5598is: 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>,
5599<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>,
5600<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>
5601
5602<p>
5603Examples:
5604</p>
5605
5606<pre>
5607<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail
5608<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail -a "$EXTENSION"
5609<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/maildrop -d "$USER"
5610        -f "$SENDER" "$EXTENSION"
5611</pre>
5612
5613
5614</DD>
5615
5616<DT><b><a name="mailbox_command_maps">mailbox_command_maps</a>
5617(default: empty)</b></DT><DD>
5618
5619<p>
5620Optional lookup tables with per-recipient external commands to use
5621for <a href="local.8.html">local(8)</a> mailbox delivery.  Behavior is as with <a href="postconf.5.html#mailbox_command">mailbox_command</a>.
5622</p>
5623
5624<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
5625is: 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>,
5626<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>,
5627<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>
5628
5629
5630</DD>
5631
5632<DT><b><a name="mailbox_delivery_lock">mailbox_delivery_lock</a>
5633(default: see "postconf -d" output)</b></DT><DD>
5634
5635<p>
5636How to lock a UNIX-style <a href="local.8.html">local(8)</a> mailbox before attempting delivery.
5637For a list of available file locking methods, use the "<b>postconf
5638-l</b>" command.
5639</p>
5640
5641<p>
5642This setting is ignored with <b>maildir</b> style delivery,
5643because such deliveries are safe without explicit locks.
5644</p>
5645
5646<p>
5647Note: The <b>dotlock</b> method requires that the recipient UID or
5648GID has write access to the parent directory of the mailbox file.
5649</p>
5650
5651<p>
5652Note: the default setting of this parameter is system dependent.
5653</p>
5654
5655
5656</DD>
5657
5658<DT><b><a name="mailbox_size_limit">mailbox_size_limit</a>
5659(default: 51200000)</b></DT><DD>
5660
5661<p> The maximal size of any <a href="local.8.html">local(8)</a> individual mailbox or maildir
5662file, or zero (no limit).  In fact, this limits the size of any
5663file that is written to upon local delivery, including files written
5664by external commands that are executed by the <a href="local.8.html">local(8)</a> delivery
5665agent.  </p>
5666
5667<p>
5668This limit must not be smaller than the message size limit.
5669</p>
5670
5671
5672</DD>
5673
5674<DT><b><a name="mailbox_transport">mailbox_transport</a>
5675(default: empty)</b></DT><DD>
5676
5677<p>
5678Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
5679agent should use for mailbox delivery to all local recipients,
5680whether or not they are found in the UNIX passwd database.
5681</p>
5682
5683<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
5684is: 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>,
5685<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>,
5686<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>
5687
5688
5689</DD>
5690
5691<DT><b><a name="mailbox_transport_maps">mailbox_transport_maps</a>
5692(default: empty)</b></DT><DD>
5693
5694<p> Optional lookup tables with per-recipient message delivery
5695transports to use for <a href="local.8.html">local(8)</a> mailbox delivery, whether or not the
5696recipients are found in the UNIX passwd database. </p>
5697
5698<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
5699is: 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>,
5700<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>,
5701<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>
5702
5703<p> For safety reasons, this feature does not allow $number
5704substitutions in regular expression maps. </p>
5705
5706<p> This feature is available in Postfix 2.3 and later. </p>
5707
5708
5709</DD>
5710
5711<DT><b><a name="mailq_path">mailq_path</a>
5712(default: see "postconf -d" output)</b></DT><DD>
5713
5714<p>
5715Sendmail compatibility feature that specifies where the Postfix
5716<a href="mailq.1.html">mailq(1)</a> command is installed. This command can be used to
5717list the Postfix mail queue.
5718</p>
5719
5720
5721</DD>
5722
5723<DT><b><a name="manpage_directory">manpage_directory</a>
5724(default: see "postconf -d" output)</b></DT><DD>
5725
5726<p>
5727Where the Postfix manual pages are installed.
5728</p>
5729
5730
5731</DD>
5732
5733<DT><b><a name="maps_rbl_domains">maps_rbl_domains</a>
5734(default: empty)</b></DT><DD>
5735
5736<p>
5737Obsolete feature: use the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> feature instead.
5738</p>
5739
5740
5741</DD>
5742
5743<DT><b><a name="maps_rbl_reject_code">maps_rbl_reject_code</a>
5744(default: 554)</b></DT><DD>
5745
5746<p>
5747The numerical Postfix SMTP server response code when a remote SMTP
5748client 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>,
5749<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
5750<a href="postconf.5.html#reject_rhsbl_recipient">reject_rhsbl_recipient</a> restriction.
5751</p>
5752
5753<p>
5754Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
5755</p>
5756
5757
5758</DD>
5759
5760<DT><b><a name="masquerade_classes">masquerade_classes</a>
5761(default: envelope_sender, header_sender, header_recipient)</b></DT><DD>
5762
5763<p>
5764What addresses are subject to address masquerading.
5765</p>
5766
5767<p>
5768By default, address masquerading is limited to envelope sender
5769addresses, and to header sender and header recipient addresses.
5770This allows you to use address masquerading on a mail gateway while
5771still being able to forward mail to users on individual machines.
5772</p>
5773
5774<p>
5775Specify zero or more of: envelope_sender, envelope_recipient,
5776header_sender, header_recipient
5777</p>
5778
5779
5780</DD>
5781
5782<DT><b><a name="masquerade_domains">masquerade_domains</a>
5783(default: empty)</b></DT><DD>
5784
5785<p>
5786Optional list of domains whose subdomain structure will be stripped
5787off in email addresses.
5788</p>
5789
5790<p>
5791The list is processed left to right, and processing stops at the
5792first match.  Thus,
5793</p>
5794
5795<blockquote>
5796<pre>
5797<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = foo.example.com example.com
5798</pre>
5799</blockquote>
5800
5801<p>
5802strips "user@any.thing.foo.example.com" to "user@foo.example.com",
5803but strips "user@any.thing.else.example.com" to "user@example.com".
5804</p>
5805
5806<p>
5807A domain name prefixed with ! means do not masquerade this domain
5808or its subdomains. Thus,
5809</p>
5810
5811<blockquote>
5812<pre>
5813<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = !foo.example.com example.com
5814</pre>
5815</blockquote>
5816
5817<p>
5818does not change "user@any.thing.foo.example.com" or "user@foo.example.com",
5819but strips "user@any.thing.else.example.com" to "user@example.com".
5820</p>
5821
5822<p> Note: with Postfix version 2.2, message header address masquerading
5823happens only when message header address rewriting is enabled: </p>
5824
5825<ul>
5826
5827<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
5828
5829<li> The message is received from a network client that matches
5830$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
5831
5832<li> The message is received from the network, and the
5833<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
5834
5835</ul>
5836
5837<p> To get the behavior before Postfix version 2.2, specify
5838"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
5839
5840<p>
5841Example:
5842</p>
5843
5844<pre>
5845<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
5846</pre>
5847
5848
5849</DD>
5850
5851<DT><b><a name="masquerade_exceptions">masquerade_exceptions</a>
5852(default: empty)</b></DT><DD>
5853
5854<p>
5855Optional list of user names that are not subjected to address
5856masquerading, even when their address matches $<a href="postconf.5.html#masquerade_domains">masquerade_domains</a>.
5857</p>
5858
5859<p>
5860By default, address masquerading makes no exceptions.
5861</p>
5862
5863<p>
5864Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
5865separated by commas and/or whitespace. The list is matched left to
5866right, and the search stops on the first match. A "/file/name"
5867pattern is replaced
5868by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
5869matches a lookup key (the lookup result is ignored).  Continue long
5870lines by starting the next line with whitespace. Specify "!pattern"
5871to exclude a name from the list. The form "!/file/name" is supported
5872only in Postfix version 2.4 and later.  </p>
5873
5874<p>
5875Examples:
5876</p>
5877
5878<pre>
5879<a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root, mailer-daemon
5880<a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root
5881</pre>
5882
5883
5884</DD>
5885
5886<DT><b><a name="master_service_disable">master_service_disable</a>
5887(default: empty)</b></DT><DD>
5888
5889<p> Selectively disable <a href="master.8.html">master(8)</a> listener ports by service type
5890or by service name and type.  Specify a list of service types
5891("inet", "unix", "fifo", or "pass") or "name/type" tuples, where
5892"name" is the first field of a <a href="master.5.html">master.cf</a> entry and "type" is a
5893service type. As with other Postfix matchlists, a search stops at
5894the first match.  Specify "!pattern" to exclude a service from the
5895list. By default, all <a href="master.8.html">master(8)</a> listener ports are enabled.  </p>
5896
5897<p> Note: this feature does not support "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
5898patterns, nor does it support wildcards such as "*" or "all". This
5899is intentional. </p>
5900
5901<p> Examples: </p>
5902
5903<pre>
5904# With Postfix 2.6..2.10 use '.' instead of '/'.
5905# Turn on all <a href="master.8.html">master(8)</a> listener ports (the default).
5906<a href="postconf.5.html#master_service_disable">master_service_disable</a> =
5907# Turn off only the main SMTP listener port.
5908<a href="postconf.5.html#master_service_disable">master_service_disable</a> = smtp/inet
5909# Turn off all TCP/IP listener ports.
5910<a href="postconf.5.html#master_service_disable">master_service_disable</a> = inet
5911# Turn off all TCP/IP listener ports except "foo".
5912<a href="postconf.5.html#master_service_disable">master_service_disable</a> = !foo/inet, inet
5913</pre>
5914
5915<p> This feature is available in Postfix 2.6 and later. </p>
5916
5917
5918</DD>
5919
5920<DT><b><a name="max_idle">max_idle</a>
5921(default: 100s)</b></DT><DD>
5922
5923<p>
5924The maximum amount of time that an idle Postfix daemon process waits
5925for an incoming connection before terminating voluntarily.  This
5926parameter
5927is ignored by the Postfix queue manager and by other long-lived
5928Postfix daemon processes.
5929</p>
5930
5931<p>
5932Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
5933The default time unit is s (seconds).
5934</p>
5935
5936
5937</DD>
5938
5939<DT><b><a name="max_use">max_use</a>
5940(default: 100)</b></DT><DD>
5941
5942<p>
5943The maximal number of incoming connections that a Postfix daemon
5944process will service before terminating voluntarily.  This parameter
5945is ignored by the Postfix queue
5946manager and by other long-lived Postfix daemon processes.
5947</p>
5948
5949
5950</DD>
5951
5952<DT><b><a name="maximal_backoff_time">maximal_backoff_time</a>
5953(default: 4000s)</b></DT><DD>
5954
5955<p>
5956The maximal time between attempts to deliver a deferred message.
5957</p>
5958
5959<p> This parameter should be set to a value greater than or equal
5960to $<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>
5961
5962<p>
5963Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
5964The default time unit is s (seconds).
5965</p>
5966
5967
5968</DD>
5969
5970<DT><b><a name="maximal_queue_lifetime">maximal_queue_lifetime</a>
5971(default: 5d)</b></DT><DD>
5972
5973<p>
5974Consider a message as undeliverable, when delivery fails with a
5975temporary error, and the time in the queue has reached the
5976<a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> limit.
5977</p>
5978
5979<p>
5980Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
5981The default time unit is d (days).
5982</p>
5983
5984<p>
5985Specify 0 when mail delivery should be tried only once.
5986</p>
5987
5988
5989</DD>
5990
5991<DT><b><a name="message_reject_characters">message_reject_characters</a>
5992(default: empty)</b></DT><DD>
5993
5994<p> The set of characters that Postfix will reject in message
5995content.  The usual C-like escape sequences are recognized: <tt>\a
5996\b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
5997<tt>\\</tt>. </p>
5998
5999<p> Note 1: this feature does not recognize text that requires MIME
6000decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a>
6001and <a href="postconf.5.html#body_checks">body_checks</a>.  </p>
6002
6003<p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a>
6004= <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>".  </p>
6005
6006<p> Example: </p>
6007
6008<pre>
6009<a href="postconf.5.html#message_reject_characters">message_reject_characters</a> = \0
6010</pre>
6011
6012<p> This feature is available in Postfix 2.3 and later.  </p>
6013
6014
6015</DD>
6016
6017<DT><b><a name="message_size_limit">message_size_limit</a>
6018(default: 10240000)</b></DT><DD>
6019
6020<p>
6021The maximal size in bytes of a message, including envelope information.
6022</p>
6023
6024<p> Note: be careful when making changes.  Excessively small values
6025will result in the loss of non-delivery notifications, when a bounce
6026message size exceeds the local or remote MTA's message size limit.
6027</p>
6028
6029
6030</DD>
6031
6032<DT><b><a name="message_strip_characters">message_strip_characters</a>
6033(default: empty)</b></DT><DD>
6034
6035<p> The set of characters that Postfix will remove from message
6036content.  The usual C-like escape sequences are recognized: <tt>\a
6037\b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
6038<tt>\\</tt>. </p>
6039
6040<p> Note 1: this feature does not recognize text that requires MIME
6041decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a>
6042and <a href="postconf.5.html#body_checks">body_checks</a>.  </p>
6043
6044<p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a>
6045= <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>".  </p>
6046
6047<p> Example: </p>
6048
6049<pre>
6050<a href="postconf.5.html#message_strip_characters">message_strip_characters</a> = \0
6051</pre>
6052
6053<p> This feature is available in Postfix 2.3 and later.  </p>
6054
6055
6056</DD>
6057
6058<DT><b><a name="milter_command_timeout">milter_command_timeout</a>
6059(default: 30s)</b></DT><DD>
6060
6061<p> The time limit for sending an SMTP command to a Milter (mail
6062filter) application, and for receiving the response.  </p>
6063
6064<p> Specify a non-zero time value (an integral value plus an optional
6065one-letter suffix that specifies the time unit). </p>
6066
6067<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
6068(weeks). The default time unit is s (seconds). </p>
6069
6070<p> This feature is available in Postfix 2.3 and later. </p>
6071
6072
6073</DD>
6074
6075<DT><b><a name="milter_connect_macros">milter_connect_macros</a>
6076(default: see "postconf -d" output)</b></DT><DD>
6077
6078<p> The macros that are sent to Milter (mail filter) applications
6079after completion of an SMTP connection. See <a href="MILTER_README.html">MILTER_README</a>
6080for a list of available macro names and their meanings. </p>
6081
6082<p> This feature is available in Postfix 2.3 and later. </p>
6083
6084
6085</DD>
6086
6087<DT><b><a name="milter_connect_timeout">milter_connect_timeout</a>
6088(default: 30s)</b></DT><DD>
6089
6090<p> The time limit for connecting to a Milter (mail filter)
6091application, and for negotiating protocol options. </p>
6092
6093<p> Specify a non-zero time value (an integral value plus an optional
6094one-letter suffix that specifies the time unit). </p>
6095
6096<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
6097(weeks). The default time unit is s (seconds). </p>
6098
6099<p> This feature is available in Postfix 2.3 and later. </p>
6100
6101
6102</DD>
6103
6104<DT><b><a name="milter_content_timeout">milter_content_timeout</a>
6105(default: 300s)</b></DT><DD>
6106
6107<p> The time limit for sending message content to a Milter (mail
6108filter) application, and for receiving the response.  </p>
6109
6110<p> Specify a non-zero time value (an integral value plus an optional
6111one-letter suffix that specifies the time unit). </p>
6112
6113<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
6114(weeks). The default time unit is s (seconds). </p>
6115
6116<p> This feature is available in Postfix 2.3 and later. </p>
6117
6118
6119</DD>
6120
6121<DT><b><a name="milter_data_macros">milter_data_macros</a>
6122(default: see "postconf -d" output)</b></DT><DD>
6123
6124<p> The macros that are sent to version 4 or higher Milter (mail
6125filter) applications after the SMTP DATA command. See <a href="MILTER_README.html">MILTER_README</a>
6126for a list of available macro names and their meanings.  </p>
6127
6128<p> This feature is available in Postfix 2.3 and later. </p>
6129
6130
6131</DD>
6132
6133<DT><b><a name="milter_default_action">milter_default_action</a>
6134(default: tempfail)</b></DT><DD>
6135
6136<p> The default action when a Milter (mail filter) application is
6137unavailable or mis-configured. Specify one of the following: </p>
6138
6139<dl compact>
6140
6141<dt>accept</dt> <dd>Proceed as if the mail filter was not present.
6142</dd>
6143
6144<dt>reject</dt> <dd>Reject all further commands in this session
6145with a permanent status code.</dd>
6146
6147<dt>tempfail</dt> <dd>Reject all further commands in this session
6148with a temporary status code. </dd>
6149
6150<dt>quarantine</dt> <dd>Like "accept", but freeze the message in
6151the "<a href="QSHAPE_README.html#hold_queue">hold" queue</a>. Available with Postfix 2.6 and later. </dd>
6152
6153</dl>
6154
6155<p> This feature is available in Postfix 2.3 and later. </p>
6156
6157
6158</DD>
6159
6160<DT><b><a name="milter_end_of_data_macros">milter_end_of_data_macros</a>
6161(default: see "postconf -d" output)</b></DT><DD>
6162
6163<p> The macros that are sent to Milter (mail filter) applications
6164after the message end-of-data. See <a href="MILTER_README.html">MILTER_README</a> for a list of
6165available macro names and their meanings.  </p>
6166
6167<p> This feature is available in Postfix 2.3 and later. </p>
6168
6169
6170</DD>
6171
6172<DT><b><a name="milter_end_of_header_macros">milter_end_of_header_macros</a>
6173(default: see "postconf -d" output)</b></DT><DD>
6174
6175<p> The macros that are sent to Milter (mail filter) applications
6176after the end of the message header. See <a href="MILTER_README.html">MILTER_README</a> for a list
6177of available macro names and their meanings.  </p>
6178
6179<p> This feature is available in Postfix 2.5 and later. </p>
6180
6181
6182</DD>
6183
6184<DT><b><a name="milter_header_checks">milter_header_checks</a>
6185(default: empty)</b></DT><DD>
6186
6187<p> Optional lookup tables for content inspection of message headers
6188that are produced by Milter applications.  See the <a href="header_checks.5.html">header_checks(5)</a>
6189manual page available actions. Currently, PREPEND is not implemented.
6190</p>
6191
6192<p> The following example sends all mail that is marked as SPAM to
6193a spam handling machine. Note that matches are case-insensitive
6194by default. </p>
6195
6196<pre>
6197/etc/postfix/<a href="postconf.5.html">main.cf</a>:
6198    <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>
6199</pre>
6200
6201<pre>
6202/etc/postfix/<a href="postconf.5.html#milter_header_checks">milter_header_checks</a>:
6203    /^X-SPAM-FLAG:\s+YES/ FILTER mysmtp:sanitizer.example.com:25
6204</pre>
6205
6206<p> The <a href="postconf.5.html#milter_header_checks">milter_header_checks</a> mechanism could also be used for
6207whitelisting. For example it could be used to skip heavy content
6208inspection for DKIM-signed mail from known friendly domains. </p>
6209
6210<p> This feature is available in Postfix 2.7, and as an optional
6211patch for Postfix 2.6. </p>
6212
6213
6214</DD>
6215
6216<DT><b><a name="milter_helo_macros">milter_helo_macros</a>
6217(default: see "postconf -d" output)</b></DT><DD>
6218
6219<p> The macros that are sent to Milter (mail filter) applications
6220after the SMTP HELO or EHLO command. See
6221<a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their meanings.
6222</p>
6223
6224<p> This feature is available in Postfix 2.3 and later. </p>
6225
6226
6227</DD>
6228
6229<DT><b><a name="milter_macro_daemon_name">milter_macro_daemon_name</a>
6230(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
6231
6232<p> The {daemon_name} macro value for Milter (mail filter) applications.
6233See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
6234meanings.  </p>
6235
6236<p> This feature is available in Postfix 2.3 and later. </p>
6237
6238
6239</DD>
6240
6241<DT><b><a name="milter_macro_v">milter_macro_v</a>
6242(default: $<a href="postconf.5.html#mail_name">mail_name</a> $<a href="postconf.5.html#mail_version">mail_version</a>)</b></DT><DD>
6243
6244<p> The {v} macro value for Milter (mail filter) applications.
6245See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
6246meanings.  </p>
6247
6248<p> This feature is available in Postfix 2.3 and later. </p>
6249
6250
6251</DD>
6252
6253<DT><b><a name="milter_mail_macros">milter_mail_macros</a>
6254(default: see "postconf -d" output)</b></DT><DD>
6255
6256<p> The macros that are sent to Milter (mail filter) applications
6257after the SMTP MAIL FROM command. See <a href="MILTER_README.html">MILTER_README</a>
6258for a list of available macro names and their meanings. </p>
6259
6260<p> This feature is available in Postfix 2.3 and later. </p>
6261
6262
6263</DD>
6264
6265<DT><b><a name="milter_protocol">milter_protocol</a>
6266(default: 6)</b></DT><DD>
6267
6268<p> The mail filter protocol version and optional protocol extensions
6269for communication with a Milter application; prior to Postfix 2.6
6270the default protocol is 2. Postfix
6271sends this version number during the initial protocol handshake.
6272It should match the version number that is expected by the mail
6273filter application (or by its Milter library).  </p>
6274
6275<p>Protocol versions: </p>
6276
6277<dl compact>
6278
6279<dt>2</dt> <dd>Use Sendmail 8 mail filter protocol version 2 (default
6280with Sendmail version 8.11 .. 8.13 and Postfix version 2.3 ..
62812.5).</dd>
6282
6283<dt>3</dt> <dd>Use Sendmail 8 mail filter protocol version 3.</dd>
6284
6285<dt>4</dt> <dd>Use Sendmail 8 mail filter protocol version 4.</dd>
6286
6287<dt>6</dt> <dd>Use Sendmail 8 mail filter protocol version 6 (default
6288with Sendmail version 8.14 and Postfix version 2.6).</dd>
6289
6290</dl>
6291
6292<p>Protocol extensions: </p>
6293
6294<dl compact>
6295
6296<dt>no_header_reply</dt> <dd> Specify this when the Milter application
6297will not reply for each individual message header.</dd>
6298
6299</dl>
6300
6301<p> This feature is available in Postfix 2.3 and later. </p>
6302
6303
6304</DD>
6305
6306<DT><b><a name="milter_rcpt_macros">milter_rcpt_macros</a>
6307(default: see "postconf -d" output)</b></DT><DD>
6308
6309<p> The macros that are sent to Milter (mail filter) applications
6310after the SMTP RCPT TO command. See <a href="MILTER_README.html">MILTER_README</a>
6311for a list of available macro names and their meanings. </p>
6312
6313<p> This feature is available in Postfix 2.3 and later. </p>
6314
6315
6316</DD>
6317
6318<DT><b><a name="milter_unknown_command_macros">milter_unknown_command_macros</a>
6319(default: see "postconf -d" output)</b></DT><DD>
6320
6321<p> The macros that are sent to version 3 or higher Milter (mail
6322filter) applications after an unknown SMTP command.  See <a href="MILTER_README.html">MILTER_README</a>
6323for a list of available macro names and their meanings.  </p>
6324
6325<p> This feature is available in Postfix 2.3 and later. </p>
6326
6327
6328</DD>
6329
6330<DT><b><a name="mime_boundary_length_limit">mime_boundary_length_limit</a>
6331(default: 2048)</b></DT><DD>
6332
6333<p>
6334The maximal length of MIME multipart boundary strings. The MIME
6335processor is unable to distinguish between boundary strings that
6336do not differ in the first $<a href="postconf.5.html#mime_boundary_length_limit">mime_boundary_length_limit</a> characters.
6337</p>
6338
6339<p>
6340This feature is available in Postfix 2.0 and later.
6341</p>
6342
6343
6344</DD>
6345
6346<DT><b><a name="mime_header_checks">mime_header_checks</a>
6347(default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
6348
6349<p>
6350Optional lookup tables for content inspection of MIME related
6351message headers, as described in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
6352</p>
6353
6354<p>
6355This feature is available in Postfix 2.0 and later.
6356</p>
6357
6358
6359</DD>
6360
6361<DT><b><a name="mime_nesting_limit">mime_nesting_limit</a>
6362(default: 100)</b></DT><DD>
6363
6364<p>
6365The maximal recursion level that the MIME processor will handle.
6366Postfix refuses mail that is nested deeper than the specified limit.
6367</p>
6368
6369<p>
6370This feature is available in Postfix 2.0 and later.
6371</p>
6372
6373
6374</DD>
6375
6376<DT><b><a name="minimal_backoff_time">minimal_backoff_time</a>
6377(default: 300s)</b></DT><DD>
6378
6379<p>
6380The minimal time between attempts to deliver a deferred message;
6381prior to Postfix 2.4 the default value was 1000s.
6382</p>
6383
6384<p>
6385This parameter also limits the time an unreachable destination is
6386kept in the short-term, in-memory, destination status cache.
6387</p>
6388
6389<p> This parameter should be set greater than or equal to
6390$<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>
6391
6392<p>
6393Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
6394The default time unit is s (seconds).
6395</p>
6396
6397
6398</DD>
6399
6400<DT><b><a name="multi_instance_directories">multi_instance_directories</a>
6401(default: empty)</b></DT><DD>
6402
6403<p> An optional list of non-default Postfix configuration directories;
6404these directories belong to additional Postfix instances that share
6405the Postfix executable files and documentation with the default
6406Postfix instance, and that are started, stopped, etc., together
6407with the default Postfix instance.  Specify a list of pathnames
6408separated by comma or whitespace.  </p>
6409
6410<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
6411runs in single-instance mode and operates on a single Postfix
6412instance only. Otherwise, the <a href="postfix.1.html">postfix(1)</a> command runs in multi-instance
6413mode and invokes the multi-instance manager specified with the
6414<a href="postconf.5.html#multi_instance_wrapper">multi_instance_wrapper</a> parameter. The multi-instance manager in
6415turn executes <a href="postfix.1.html">postfix(1)</a> commands for the default instance and for
6416all Postfix instances in $<a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>.  </p>
6417
6418<p> Currently, this parameter setting is ignored except for the
6419default <a href="postconf.5.html">main.cf</a> file. </p>
6420
6421<p> This feature is available in Postfix 2.6 and later. </p>
6422
6423
6424</DD>
6425
6426<DT><b><a name="multi_instance_enable">multi_instance_enable</a>
6427(default: no)</b></DT><DD>
6428
6429<p> Allow this Postfix instance to be started, stopped, etc., by a
6430multi-instance manager.  By default, new instances are created in
6431a safe state that prevents them from being started inadvertently.
6432This parameter is reserved for the multi-instance manager.  </p>
6433
6434<p> This feature is available in Postfix 2.6 and later. </p>
6435
6436
6437</DD>
6438
6439<DT><b><a name="multi_instance_group">multi_instance_group</a>
6440(default: empty)</b></DT><DD>
6441
6442<p> The optional instance group name of this Postfix instance. A
6443group identifies closely-related Postfix instances that the
6444multi-instance manager can start, stop, etc., as a unit.  This
6445parameter is reserved for the multi-instance manager. </p>
6446
6447<p> This feature is available in Postfix 2.6 and later. </p>
6448
6449
6450</DD>
6451
6452<DT><b><a name="multi_instance_name">multi_instance_name</a>
6453(default: empty)</b></DT><DD>
6454
6455<p> The optional instance name of this Postfix instance. This name
6456becomes also the default value for the <a href="postconf.5.html#syslog_name">syslog_name</a> parameter. </p>
6457
6458<p> This feature is available in Postfix 2.6 and later. </p>
6459
6460
6461</DD>
6462
6463<DT><b><a name="multi_instance_wrapper">multi_instance_wrapper</a>
6464(default: empty)</b></DT><DD>
6465
6466<p> The pathname of a multi-instance manager command that the
6467<a href="postfix.1.html">postfix(1)</a> command invokes when the <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>
6468parameter value is non-empty. The pathname may be followed by
6469initial command arguments separated by whitespace; shell
6470metacharacters such as quotes are not supported in this context.
6471</p>
6472
6473<p> The <a href="postfix.1.html">postfix(1)</a> command invokes the manager command with the
6474<a href="postfix.1.html">postfix(1)</a> non-option command arguments on the manager command line,
6475and with all installation configuration parameters exported into
6476the manager command process environment. The manager command in
6477turn invokes the <a href="postfix.1.html">postfix(1)</a> command for individual Postfix instances
6478as "postfix -c <i><a href="postconf.5.html#config_directory">config_directory</a></i> <i>command</i>".  </p>
6479
6480<p> This feature is available in Postfix 2.6 and later. </p>
6481
6482
6483</DD>
6484
6485<DT><b><a name="multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a>
6486(default: 550)</b></DT><DD>
6487
6488<p>
6489The numerical Postfix SMTP server response code when a remote SMTP
6490client request is blocked by the <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a>
6491restriction.
6492</p>
6493
6494<p>
6495Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
6496</p>
6497
6498<p>
6499This feature is available in Postfix 2.1 and later.
6500</p>
6501
6502
6503</DD>
6504
6505<DT><b><a name="mydestination">mydestination</a>
6506(default: $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a>, localhost)</b></DT><DD>
6507
6508<p> The list of domains that are delivered via the $<a href="postconf.5.html#local_transport">local_transport</a>
6509mail delivery transport. By default this is the Postfix <a href="local.8.html">local(8)</a>
6510delivery agent which looks up all recipients in /etc/passwd and
6511/etc/aliases. The SMTP server validates recipient addresses with
6512$<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> and rejects non-existent recipients. See also
6513the <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.
6514</p>
6515
6516<p>
6517The default <a href="postconf.5.html#mydestination">mydestination</a> value specifies names for the local
6518machine only.  On a mail domain gateway, you should also include
6519$<a href="postconf.5.html#mydomain">mydomain</a>.
6520</p>
6521
6522<p>
6523The $<a href="postconf.5.html#local_transport">local_transport</a> delivery method is also selected for mail
6524addressed to user@[the.net.work.address] of the mail system (the
6525IP 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>
6526parameters).
6527</p>
6528
6529<p>
6530Warnings:
6531</p>
6532
6533<ul>
6534
6535<li><p>Do not specify the names of virtual domains - those domains
6536are specified elsewhere. See <a href="VIRTUAL_README.html">VIRTUAL_README</a> for more information. </p>
6537
6538<li><p>Do not specify the names of domains that this machine is
6539backup MX host for. See <a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> for how to
6540set up backup MX hosts. </p>
6541
6542<li><p>By default, the Postfix SMTP server rejects mail for recipients
6543not listed with the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> parameter.  See the
6544<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>
6545and <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> parameters. </p>
6546
6547</ul>
6548
6549<p>
6550Specify a list of host or domain names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
6551patterns, separated by commas and/or whitespace. A "/file/name"
6552pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
6553is matched when a name matches a lookup key (the lookup result is
6554ignored).  Continue long lines by starting the next line with
6555whitespace.  </p>
6556
6557<p>
6558Examples:
6559</p>
6560
6561<pre>
6562<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>
6563<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>
6564</pre>
6565
6566
6567</DD>
6568
6569<DT><b><a name="mydomain">mydomain</a>
6570(default: see "postconf -d" output)</b></DT><DD>
6571
6572<p>
6573The internet domain name of this mail system.  The default is to
6574use $<a href="postconf.5.html#myhostname">myhostname</a> minus the first component, or "localdomain" (Postfix
65752.3 and later).  $<a href="postconf.5.html#mydomain">mydomain</a> is used as
6576a default value for many other configuration parameters.
6577</p>
6578
6579<p>
6580Example:
6581</p>
6582
6583<pre>
6584<a href="postconf.5.html#mydomain">mydomain</a> = domain.tld
6585</pre>
6586
6587
6588</DD>
6589
6590<DT><b><a name="myhostname">myhostname</a>
6591(default: see "postconf -d" output)</b></DT><DD>
6592
6593<p>
6594The internet hostname of this mail system. The default is to use
6595the fully-qualified domain name (FQDN) from gethostname(), or to
6596use the non-FQDN result from gethostname() and append ".$<a href="postconf.5.html#mydomain">mydomain</a>".
6597$<a href="postconf.5.html#myhostname">myhostname</a> is used as a default value for many other configuration
6598parameters.  </p>
6599
6600<p>
6601Example:
6602</p>
6603
6604<pre>
6605<a href="postconf.5.html#myhostname">myhostname</a> = host.example.com
6606</pre>
6607
6608
6609</DD>
6610
6611<DT><b><a name="mynetworks">mynetworks</a>
6612(default: see "postconf -d" output)</b></DT><DD>
6613
6614<p>
6615The list of "trusted" remote SMTP clients that have more privileges than
6616"strangers".
6617</p>
6618
6619<p>
6620In particular, "trusted" SMTP clients are allowed to relay mail
6621through Postfix.  See the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> parameter
6622description in the <a href="postconf.5.html">postconf(5)</a> manual.
6623</p>
6624
6625<p>
6626You can specify the list of "trusted" network addresses by hand
6627or you can let Postfix do it for you (which is the default).
6628See the description of the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> parameter for more
6629information.
6630</p>
6631
6632<p>
6633If you specify the <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand,
6634Postfix ignores the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> setting.
6635</p>
6636
6637<p> Specify a list of network addresses or network/netmask patterns,
6638separated by commas and/or whitespace. Continue long lines by
6639starting the next line with whitespace. </p>
6640
6641<p> The netmask specifies the number of bits in the network part
6642of a host address.  You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
6643patterns.  A "/file/name" pattern is replaced by its contents; a
6644"<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry matches a
6645lookup string (the lookup result is ignored). </p>
6646
6647<p> The list is matched left to right, and the search stops on the
6648first match.  Specify "!pattern" to exclude an address or network
6649block from the list. The form "!/file/name" is supported only
6650in Postfix version 2.4 and later. </p>
6651
6652<p> Note: IP version 6 address information must be specified inside
6653<tt>[]</tt> in the <a href="postconf.5.html#mynetworks">mynetworks</a> value, and in files specified with
6654"/file/name".  IP version 6 addresses contain the ":" character,
6655and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" pattern.  </p>
6656
6657<p> Examples:  </p>
6658
6659<pre>
6660<a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28
6661<a href="postconf.5.html#mynetworks">mynetworks</a> = !192.168.0.1, 192.168.0.0/28
6662<a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64
6663<a href="postconf.5.html#mynetworks">mynetworks</a> = $<a href="postconf.5.html#config_directory">config_directory</a>/mynetworks
6664<a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/network_table
6665</pre>
6666
6667
6668</DD>
6669
6670<DT><b><a name="mynetworks_style">mynetworks_style</a>
6671(default: subnet)</b></DT><DD>
6672
6673<p>
6674The method to generate the default value for the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter.
6675This is the list of trusted networks for relay access control etc.
6676</p>
6677
6678<ul>
6679
6680<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = host" when Postfix should
6681"trust" only the local machine. </p>
6682
6683<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = subnet" when Postfix
6684should "trust" remote SMTP clients in the same IP subnetworks as the local
6685machine.  On Linux, this works correctly only with interfaces
6686specified with the "ifconfig" command. </p>
6687
6688<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = class" when Postfix should
6689"trust" remote SMTP clients in the same IP class A/B/C networks as the
6690local machine.  Don't do this with a dialup site - it would cause
6691Postfix to "trust" your entire provider's network.  Instead, specify
6692an explicit <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand, as described with the <a href="postconf.5.html#mynetworks">mynetworks</a>
6693configuration parameter. </p>
6694
6695</ul>
6696
6697
6698</DD>
6699
6700<DT><b><a name="myorigin">myorigin</a>
6701(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
6702
6703<p>
6704The domain name that locally-posted mail appears to come
6705from, and that locally posted mail is delivered to. The default,
6706$<a href="postconf.5.html#myhostname">myhostname</a>, is adequate for small sites.  If you run a domain with
6707multiple machines, you should (1) change this to $<a href="postconf.5.html#mydomain">mydomain</a> and (2)
6708set up a domain-wide alias database that aliases each user to
6709user@that.users.mailhost.
6710</p>
6711
6712<p>
6713Example:
6714</p>
6715
6716<pre>
6717<a href="postconf.5.html#myorigin">myorigin</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
6718</pre>
6719
6720
6721</DD>
6722
6723<DT><b><a name="nested_header_checks">nested_header_checks</a>
6724(default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
6725
6726<p>
6727Optional lookup tables for content inspection of non-MIME message
6728headers in attached messages, as described in the <a href="header_checks.5.html">header_checks(5)</a>
6729manual page.
6730</p>
6731
6732<p>
6733This feature is available in Postfix 2.0 and later.
6734</p>
6735
6736
6737</DD>
6738
6739<DT><b><a name="newaliases_path">newaliases_path</a>
6740(default: see "postconf -d" output)</b></DT><DD>
6741
6742<p>
6743Sendmail compatibility feature that specifies the location of the
6744<a href="newaliases.1.html">newaliases(1)</a> command. This command can be used to rebuild the
6745<a href="local.8.html">local(8)</a> <a href="aliases.5.html">aliases(5)</a> database.
6746</p>
6747
6748
6749</DD>
6750
6751<DT><b><a name="non_fqdn_reject_code">non_fqdn_reject_code</a>
6752(default: 504)</b></DT><DD>
6753
6754<p>
6755The numerical Postfix SMTP server reply code when a client request
6756is 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>
6757or <a href="postconf.5.html#reject_non_fqdn_recipient">reject_non_fqdn_recipient</a> restriction.
6758</p>
6759
6760
6761</DD>
6762
6763<DT><b><a name="non_smtpd_milters">non_smtpd_milters</a>
6764(default: empty)</b></DT><DD>
6765
6766<p> A list of Milter (mail filter) applications for new mail that
6767does not arrive via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. This includes local
6768submission via the <a href="sendmail.1.html">sendmail(1)</a> command line, new mail that arrives
6769via the Postfix <a href="qmqpd.8.html">qmqpd(8)</a> server, and old mail that is re-injected
6770into the queue with "postsuper -r".  Specify space or comma as
6771separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details.  </p>
6772
6773<p> This feature is available in Postfix 2.3 and later. </p>
6774
6775
6776</DD>
6777
6778<DT><b><a name="notify_classes">notify_classes</a>
6779(default: resource, software)</b></DT><DD>
6780
6781<p>
6782The list of error classes that are reported to the postmaster. The
6783default is to report only the most serious problems. The paranoid
6784may wish to turn on the policy (UCE and mail relaying) and protocol
6785error (broken mail software) reports.
6786</p>
6787
6788<p> NOTE: postmaster notifications may contain confidential information
6789such as SASL passwords or message content.  It is the system
6790administrator's responsibility to treat such information with care.
6791</p>
6792
6793<p>
6794The error classes are:
6795</p>
6796
6797<dl>
6798
6799<dt><b>bounce</b> (also implies <b>2bounce</b>)</dt>
6800
6801<dd>Send the postmaster copies of the headers of bounced mail, and
6802send transcripts of SMTP sessions when Postfix rejects mail. The
6803notification is sent to the address specified with the
6804<a href="postconf.5.html#bounce_notice_recipient">bounce_notice_recipient</a> configuration parameter (default: postmaster).
6805</dd>
6806
6807<dt><b>2bounce</b></dt>
6808
6809<dd>Send undeliverable bounced mail to the postmaster. The notification
6810is sent to the address specified with the <a href="postconf.5.html#2bounce_notice_recipient">2bounce_notice_recipient</a>
6811configuration parameter (default: postmaster). </dd>
6812
6813<dt><b>data</b></dt>
6814
6815<dd>Send the postmaster a transcript of the SMTP session with an
6816error because a critical data file was unavailable. The notification
6817is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
6818configuration parameter (default: postmaster). <br> This feature
6819is available in Postfix 2.9 and later.  </dd>
6820
6821<dt><b>delay</b></dt>
6822
6823<dd>Send the postmaster copies of the headers of delayed mail (see
6824<a href="postconf.5.html#delay_warning_time">delay_warning_time</a>). The
6825notification is sent to the address specified with the
6826<a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a> configuration parameter (default: postmaster).
6827</dd>
6828
6829<dt><b>policy</b></dt>
6830
6831<dd>Send the postmaster a transcript of the SMTP session when a
6832client request was rejected because of (UCE) policy. The notification
6833is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
6834configuration parameter (default: postmaster).  </dd>
6835
6836<dt><b>protocol</b></dt>
6837
6838<dd>Send the postmaster a transcript of the SMTP session in case
6839of client or server protocol errors. The notification is sent to
6840the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration
6841parameter (default: postmaster). </dd>
6842
6843<dt><b>resource</b></dt>
6844
6845<dd>Inform the postmaster of mail not delivered due to resource
6846problems.  The notification is sent to the address specified with
6847the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
6848postmaster). </dd>
6849
6850<dt><b>software</b></dt>
6851
6852<dd>Inform the postmaster of mail not delivered due to software
6853problems.  The notification is sent to the address specified with
6854the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
6855postmaster). </dd>
6856
6857</dl>
6858
6859<p>
6860Examples:
6861</p>
6862
6863<pre>
6864<a href="postconf.5.html#notify_classes">notify_classes</a> = bounce, delay, policy, protocol, resource, software
6865<a href="postconf.5.html#notify_classes">notify_classes</a> = 2bounce, resource, software
6866</pre>
6867
6868
6869</DD>
6870
6871<DT><b><a name="owner_request_special">owner_request_special</a>
6872(default: yes)</b></DT><DD>
6873
6874<p>
6875Give special treatment to owner-listname and listname-request
6876address localparts: don't split such addresses when the
6877<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is set to "-".  This feature is useful for
6878mailing lists.
6879</p>
6880
6881
6882</DD>
6883
6884<DT><b><a name="parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
6885(default: see "postconf -d" output)</b></DT><DD>
6886
6887<p>
6888What Postfix features match subdomains of "domain.tld" automatically,
6889instead of requiring an explicit ".domain.tld" pattern.  This is
6890planned backwards compatibility:  eventually, all Postfix features
6891are expected to require explicit ".domain.tld" style patterns when
6892you really want to match subdomains.
6893</p>
6894
6895
6896</DD>
6897
6898<DT><b><a name="permit_mx_backup_networks">permit_mx_backup_networks</a>
6899(default: empty)</b></DT><DD>
6900
6901<p>
6902Restrict the use of the <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> SMTP access feature to
6903only domains whose primary MX hosts match the listed networks.
6904The parameter value syntax is the same as with the <a href="postconf.5.html#mynetworks">mynetworks</a>
6905parameter; note, however, that the default value is empty.  </p>
6906
6907
6908</DD>
6909
6910<DT><b><a name="pickup_service_name">pickup_service_name</a>
6911(default: pickup)</b></DT><DD>
6912
6913<p>
6914The name of the <a href="pickup.8.html">pickup(8)</a> service. This service picks up local mail
6915submissions from the Postfix <a href="QSHAPE_README.html#maildrop_queue">maildrop queue</a>.
6916</p>
6917
6918<p>
6919This feature is available in Postfix 2.0 and later.
6920</p>
6921
6922
6923</DD>
6924
6925<DT><b><a name="plaintext_reject_code">plaintext_reject_code</a>
6926(default: 450)</b></DT><DD>
6927
6928<p>
6929The numerical Postfix SMTP server response code when a request
6930is rejected by the <b><a href="postconf.5.html#reject_plaintext_session">reject_plaintext_session</a></b> restriction.
6931</p>
6932
6933<p> This feature is available in Postfix 2.3 and later. </p>
6934
6935
6936</DD>
6937
6938<DT><b><a name="postmulti_control_commands">postmulti_control_commands</a>
6939(default: reload flush)</b></DT><DD>
6940
6941<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager
6942treats as "control" commands, that operate on running instances. For
6943these commands, disabled instances are skipped. </p>
6944
6945<p> This feature is available in Postfix 2.6 and later. </p>
6946
6947
6948</DD>
6949
6950<DT><b><a name="postmulti_start_commands">postmulti_start_commands</a>
6951(default: start)</b></DT><DD>
6952
6953<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
6954as "start" commands. For these commands, disabled instances are "checked"
6955rather than "started", and failure to "start" a member instance of an
6956instance group will abort the start-up of later instances. </p>
6957
6958<p> This feature is available in Postfix 2.6 and later. </p>
6959
6960
6961</DD>
6962
6963<DT><b><a name="postmulti_stop_commands">postmulti_stop_commands</a>
6964(default: see "postconf -d" output)</b></DT><DD>
6965
6966<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
6967as "stop" commands. For these commands, disabled instances are skipped,
6968and enabled instances are processed in reverse order. </p>
6969
6970<p> This feature is available in Postfix 2.6 and later. </p>
6971
6972
6973</DD>
6974
6975<DT><b><a name="postscreen_access_list">postscreen_access_list</a>
6976(default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>)</b></DT><DD>
6977
6978<p> Permanent white/blacklist for remote SMTP client IP addresses.
6979<a href="postscreen.8.html">postscreen(8)</a> searches this list immediately after a remote SMTP
6980client connects.  Specify a comma- or whitespace-separated list of
6981commands (in upper or lower case) or lookup tables. The search stops
6982upon the first command that fires for the client IP address. </p>
6983
6984<dl>
6985
6986<dt> <b> <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a> </b> </dt> <dd> Whitelist the client and
6987terminate the search if the client IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>.
6988Do not subject the client to any before/after 220 greeting tests.
6989Pass the connection immediately to a Postfix SMTP server process.
6990</dd>
6991
6992<dt> <b> <a href="DATABASE_README.html">type:table</a> </b> </dt> <dd> Query the specified lookup
6993table. Each table lookup result is an access list, except that
6994access lists inside a table cannot specify <a href="DATABASE_README.html">type:table</a> entries.  <br>
6995To discourage the use of hash, btree, etc. tables, there is no
6996support for substring matching like <a href="smtpd.8.html">smtpd(8)</a>. Use CIDR tables
6997instead.  </dd>
6998
6999<dt> <b> permit </b> </dt> <dd> Whitelist the client and terminate
7000the search. Do not subject the client to any before/after 220
7001greeting tests. Pass the connection immediately to a Postfix SMTP
7002server process. </dd>
7003
7004<dt> <b> reject </b> </dt> <dd> Blacklist the client and terminate
7005the search. Subject the client to the action configured with the
7006<a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> configuration parameter. </dd>
7007
7008<dt> <b> dunno </b> </dt> <dd> All <a href="postscreen.8.html">postscreen(8)</a> access lists
7009implicitly have this command at the end. <br> When <b> dunno </b>
7010is executed inside a lookup table, return from the lookup table and
7011evaluate the next command.  <br> When <b> dunno </b> is executed
7012outside a lookup table, terminate the search, and subject the client
7013to the configured before/after 220 greeting tests. </dd>
7014
7015</dl>
7016
7017<p> Example: </p>
7018
7019<pre>
7020/etc/postfix/<a href="postconf.5.html">main.cf</a>:
7021    <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
7022                <a href="cidr_table.5.html">cidr</a>:/etc/postfix/postscreen_access.cidr
7023    <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> = enforce
7024</pre>
7025
7026<pre>
7027/etc/postfix/postscreen_access.<a href="cidr_table.5.html">cidr</a>:
7028    # Rules are evaluated in the order as specified.
7029    # Blacklist 192.168.* except 192.168.0.1.
7030    192.168.0.1         dunno
7031    192.168.0.0/16      reject
7032</pre>
7033
7034<p> This feature is available in Postfix 2.8. </p>
7035
7036
7037</DD>
7038
7039<DT><b><a name="postscreen_bare_newline_action">postscreen_bare_newline_action</a>
7040(default: ignore)</b></DT><DD>
7041
7042<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends
7043a bare newline character, that is, a newline not preceded by carriage
7044return.  Specify one of the following: </p>
7045
7046<dl>
7047
7048<dt> <b>ignore</b> </dt>
7049
7050<dd> Ignore the failure of this test. Allow other tests to complete.
7051Do <i>not</i> repeat this test before some the result from some
7052other test expires.
7053This option is useful for testing and collecting statistics
7054without blocking mail permanently. </dd>
7055
7056<dt> <b>enforce</b> </dt>
7057
7058<dd> Allow other tests to complete. Reject attempts to deliver mail
7059with a 550 SMTP reply, and log the helo/sender/recipient information.
7060Repeat this test the next time the client connects. </dd>
7061
7062<dt> <b>drop</b> </dt>
7063
7064<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7065this test the next time the client connects.  </dd>
7066
7067</dl>
7068
7069<p> This feature is available in Postfix 2.8. </p>
7070
7071
7072</DD>
7073
7074<DT><b><a name="postscreen_bare_newline_enable">postscreen_bare_newline_enable</a>
7075(default: no)</b></DT><DD>
7076
7077<p> Enable "bare newline" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
7078server. These tests are expensive: a remote SMTP client must
7079disconnect after
7080it passes the test, before it can talk to a real Postfix SMTP server.
7081</p>
7082
7083<p> This feature is available in Postfix 2.8.  </p>
7084
7085
7086</DD>
7087
7088<DT><b><a name="postscreen_bare_newline_ttl">postscreen_bare_newline_ttl</a>
7089(default: 30d)</b></DT><DD>
7090
7091<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
7092a successful "bare newline" SMTP protocol test. During this
7093time, the client IP address is excluded from this test. The default
7094is long because a remote SMTP client must disconnect after it passes
7095the test,
7096before it can talk to a real Postfix SMTP server. </p>
7097
7098<p> Specify a non-zero time value (an integral value plus an optional
7099one-letter suffix that specifies the time unit).  Time units: s
7100(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7101
7102<p> This feature is available in Postfix 2.8.  </p>
7103
7104
7105</DD>
7106
7107<DT><b><a name="postscreen_blacklist_action">postscreen_blacklist_action</a>
7108(default: ignore)</b></DT><DD>
7109
7110<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client is
7111permanently blacklisted with the <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> parameter.
7112Specify one of the following: </p>
7113
7114<dl>
7115
7116<dt> <b>ignore</b> (default) </dt>
7117
7118<dd> Ignore  this result. Allow other tests to complete.  Repeat
7119this test the next time the client connects.
7120This option is useful for testing and collecting statistics
7121without blocking mail. </dd>
7122
7123<dt> <b>enforce</b> </dt>
7124
7125<dd> Allow other tests to complete. Reject attempts to deliver mail
7126with a 550 SMTP reply, and log the helo/sender/recipient information.
7127Repeat this test the next time the client connects. </dd>
7128
7129<dt> <b>drop</b> </dt>
7130
7131<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7132this test the next time the client connects. </dd>
7133
7134</dl>
7135
7136<p> This feature is available in Postfix 2.8. </p>
7137
7138
7139</DD>
7140
7141<DT><b><a name="postscreen_cache_cleanup_interval">postscreen_cache_cleanup_interval</a>
7142(default: 12h)</b></DT><DD>
7143
7144<p> The amount of time between <a href="postscreen.8.html">postscreen(8)</a> cache cleanup runs.
7145Cache cleanup increases the load on the cache database and should
7146therefore not be run frequently. This feature requires that the
7147cache database supports the "delete" and "sequence" operators.
7148Specify a zero interval to disable cache cleanup. </p>
7149
7150<p> After each cache cleanup run, the <a href="postscreen.8.html">postscreen(8)</a> daemon logs the
7151number of entries that were retained and dropped. A cleanup run is
7152logged as "partial" when the daemon terminates early after "<b>postfix
7153reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
7154seconds. </p>
7155
7156<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
7157(weeks).  </p>
7158
7159<p> This feature is available in Postfix 2.8. </p>
7160
7161
7162</DD>
7163
7164<DT><b><a name="postscreen_cache_map">postscreen_cache_map</a>
7165(default: <a href="DATABASE_README.html#types">btree</a>:$<a href="postconf.5.html#data_directory">data_directory</a>/postscreen_cache)</b></DT><DD>
7166
7167<p> Persistent storage for the <a href="postscreen.8.html">postscreen(8)</a> server decisions. </p>
7168
7169<p> To share a <a href="postscreen.8.html">postscreen(8)</a> cache between multiple <a href="postscreen.8.html">postscreen(8)</a>
7170instances, 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".
7171This requires Postfix version 2.9 or later; earlier <a href="proxymap.8.html">proxymap(8)</a>
7172implementations don't support cache cleanup. For an alternative
7173approach see the <a href="memcache_table.5.html">memcache_table(5)</a> manpage. </p>
7174
7175<p> This feature is available in Postfix 2.8. </p>
7176
7177
7178</DD>
7179
7180<DT><b><a name="postscreen_cache_retention_time">postscreen_cache_retention_time</a>
7181(default: 7d)</b></DT><DD>
7182
7183<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will cache an expired
7184temporary whitelist entry before it is removed. This prevents clients
7185from being logged as "NEW" just because their cache entry expired
7186an hour ago. It also prevents the cache from filling up with clients
7187that passed some deep protocol test once and never came back. </p>
7188
7189<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
7190(weeks).  </p>
7191
7192<p> This feature is available in Postfix 2.8. </p>
7193
7194
7195</DD>
7196
7197<DT><b><a name="postscreen_client_connection_count_limit">postscreen_client_connection_count_limit</a>
7198(default: $<a href="postconf.5.html#smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>)</b></DT><DD>
7199
7200<p> How many simultaneous connections any remote SMTP client is
7201allowed to have
7202with the <a href="postscreen.8.html">postscreen(8)</a> daemon. By default, this limit is the same
7203as with the Postfix SMTP server. Note that the triage process can
7204take several seconds, with the time spent in <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
7205delay, and with the time spent talking to the <a href="postscreen.8.html">postscreen(8)</a> built-in
7206dummy SMTP protocol engine. </p>
7207
7208<p> This feature is available in Postfix 2.8.  </p>
7209
7210
7211</DD>
7212
7213<DT><b><a name="postscreen_command_count_limit">postscreen_command_count_limit</a>
7214(default: 20)</b></DT><DD>
7215
7216<p> The limit on the total number of commands per SMTP session for
7217<a href="postscreen.8.html">postscreen(8)</a>'s built-in SMTP protocol engine.  This SMTP engine
7218defers or rejects all attempts to deliver mail, therefore there is
7219no need to enforce separate limits on the number of junk commands
7220and error commands.  </p>
7221
7222<p> This feature is available in Postfix 2.8.  </p>
7223
7224
7225</DD>
7226
7227<DT><b><a name="postscreen_command_filter">postscreen_command_filter</a>
7228(default: $<a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>)</b></DT><DD>
7229
7230<p> A mechanism to transform commands from remote SMTP clients.
7231See <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for further details. </p>
7232
7233<p> This feature is available in Postfix 2.8 and later. </p>
7234
7235
7236</DD>
7237
7238<DT><b><a name="postscreen_command_time_limit">postscreen_command_time_limit</a>
7239(default: ${stress?10}${stress:300}s)</b></DT><DD>
7240
7241<p> The time limit to read an entire command line with <a href="postscreen.8.html">postscreen(8)</a>'s
7242built-in SMTP protocol engine. </p>
7243
7244<p> This feature is available in Postfix 2.8.  </p>
7245
7246
7247</DD>
7248
7249<DT><b><a name="postscreen_disable_vrfy_command">postscreen_disable_vrfy_command</a>
7250(default: $<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a>)</b></DT><DD>
7251
7252<p> Disable the SMTP VRFY command in the <a href="postscreen.8.html">postscreen(8)</a> daemon.  See
7253<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> for details.  </p>
7254
7255<p> This feature is available in Postfix 2.8.  </p>
7256
7257
7258</DD>
7259
7260<DT><b><a name="postscreen_discard_ehlo_keyword_address_maps">postscreen_discard_ehlo_keyword_address_maps</a>
7261(default: $<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>)</b></DT><DD>
7262
7263<p> Lookup tables, indexed by the remote SMTP client address, with
7264case insensitive lists of EHLO keywords (pipelining, starttls, auth,
7265etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO response
7266to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
7267The table is not searched by hostname for robustness reasons.  </p>
7268
7269<p> This feature is available in Postfix 2.8 and later. </p>
7270
7271
7272</DD>
7273
7274<DT><b><a name="postscreen_discard_ehlo_keywords">postscreen_discard_ehlo_keywords</a>
7275(default: $<a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>)</b></DT><DD>
7276
7277<p> A case insensitive list of EHLO keywords (pipelining, starttls,
7278auth, etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO
7279response to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
7280for details. </p>
7281
7282<p> This feature is available in Postfix 2.8 and later. </p>
7283
7284
7285</DD>
7286
7287<DT><b><a name="postscreen_dnsbl_action">postscreen_dnsbl_action</a>
7288(default: ignore)</b></DT><DD>
7289
7290<p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client's combined
7291DNSBL score is equal to or greater than a threshold (as defined
7292with 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>
7293parameters).  Specify one of the following: </p>
7294
7295<dl>
7296
7297<dt> <b>ignore</b> (default) </dt>
7298
7299<dd> Ignore the failure of this test. Allow other tests to complete.
7300Repeat this test the next time the client connects.
7301This option is useful for testing and collecting statistics
7302without blocking mail. </dd>
7303
7304<dt> <b>enforce</b> </dt>
7305
7306<dd> Allow other tests to complete. Reject attempts to deliver mail
7307with a 550 SMTP reply, and log the helo/sender/recipient information.
7308Repeat this test the next time the client connects. </dd>
7309
7310<dt> <b>drop</b> </dt>
7311
7312<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7313this test the next time the client connects. </dd>
7314
7315</dl>
7316
7317<p> This feature is available in Postfix 2.8. </p>
7318
7319
7320</DD>
7321
7322<DT><b><a name="postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a>
7323(default: empty)</b></DT><DD>
7324
7325<p> A mapping from actual DNSBL domain name which includes a secret
7326password, to the DNSBL domain name that postscreen will reply with
7327when it rejects mail.  When no mapping is found, the actual DNSBL
7328domain will be used. </p>
7329
7330<p> For maximal stability it is best to use a file that is read
7331into 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
7332to <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
7333file can be used, and b) <a href="DATABASE_README.html#types">texthash</a>: does not detect changes after
7334the file is read). </p>
7335
7336<p> Example: </p>
7337
7338<pre>
7339/etc/postfix/<a href="postconf.5.html">main.cf</a>:
7340    <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
7341</pre>
7342
7343<pre>
7344/etc/postfix/dnsbl_reply:
7345   secret.zen.spamhaus.org      zen.spamhaus.org
7346</pre>
7347
7348<p> This feature is available in Postfix 2.8.  </p>
7349
7350
7351</DD>
7352
7353<DT><b><a name="postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
7354(default: empty)</b></DT><DD>
7355
7356<p>Optional list of DNS white/blacklist domains, filters and weight
7357factors. When the list is non-empty, the <a href="dnsblog.8.html">dnsblog(8)</a> daemon will
7358query these domains with the IP addresses of remote SMTP clients,
7359and <a href="postscreen.8.html">postscreen(8)</a> will update an SMTP client's DNSBL score with
7360each non-error reply. </p>
7361
7362<p> Caution: when postscreen rejects mail, it replies with the DNSBL
7363domain name. Use the <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> feature to hide
7364"password" information in DNSBL domain names. </p>
7365
7366<p> When a client's score is equal to or greater than the threshold
7367specified with <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>, <a href="postscreen.8.html">postscreen(8)</a> can drop
7368the connection with the remote SMTP client. </p>
7369
7370<p> Specify a list of domain=filter*weight entries, separated by
7371comma or whitespace.  </p>
7372
7373<ul>
7374
7375<li> <p> When no "=filter" is specified, <a href="postscreen.8.html">postscreen(8)</a> will use any
7376non-error DNSBL reply.  Otherwise, <a href="postscreen.8.html">postscreen(8)</a> uses only DNSBL
7377replies that match the filter. The filter has the form d.d.d.d,
7378where each d is a number, or a pattern inside [] that contains one
7379or more ";"-separated numbers or number..number ranges.  </p>
7380
7381<li> <p> When no "*weight" is specified, <a href="postscreen.8.html">postscreen(8)</a> increments
7382the remote SMTP client's DNSBL score by 1.  Otherwise, the weight must be
7383an integral number, and <a href="postscreen.8.html">postscreen(8)</a> adds the specified weight to
7384the remote SMTP client's DNSBL score.  Specify a negative number for
7385whitelisting.  </p>
7386
7387<li> <p> When one <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> entry produces multiple
7388DNSBL responses, <a href="postscreen.8.html">postscreen(8)</a> applies the weight at most once.
7389</p>
7390
7391</ul>
7392
7393<p> Examples: </p>
7394
7395<p> To use example.com as a high-confidence blocklist, and to
7396block mail with example.net and example.org only when both agree:
7397</p>
7398
7399<pre>
7400<a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a> = 2
7401<a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com*2, example.net, example.org
7402</pre>
7403
7404<p> To filter only DNSBL replies containing 127.0.0.4: </p>
7405
7406<pre>
7407<a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com=127.0.0.4
7408</pre>
7409
7410<p> This feature is available in Postfix 2.8. </p>
7411
7412
7413</DD>
7414
7415<DT><b><a name="postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>
7416(default: 1)</b></DT><DD>
7417
7418<p> The inclusive lower bound for blocking a remote SMTP client, based on
7419its combined DNSBL score as defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
7420parameter. </p>
7421
7422<p> This feature is available in Postfix 2.8.  </p>
7423
7424
7425</DD>
7426
7427<DT><b><a name="postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>
7428(default: 1h)</b></DT><DD>
7429
7430<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
7431a successful DNS blocklist test. During this time, the client IP address
7432is excluded from this test. The default is relatively short, because a
7433good client can immediately talk to a real Postfix SMTP server.
7434</p>
7435
7436<p> Specify a non-zero time value (an integral value plus an optional
7437one-letter suffix that specifies the time unit).  Time units: s
7438(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7439
7440<p> This feature is available in Postfix 2.8.  </p>
7441
7442
7443</DD>
7444
7445<DT><b><a name="postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a>
7446(default: 0)</b></DT><DD>
7447
7448<p> Allow a remote SMTP client to skip "before" and "after 220
7449greeting" protocol tests, based on its combined DNSBL score as
7450defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> parameter.  </p>
7451
7452<p> Specify a negative value to enable this feature. When a client
7453passes the <a href="postconf.5.html#postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a> without having
7454failed other tests, all pending or disabled tests are flagged as
7455completed with a time-to-live value equal to <a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>.
7456When a test was already completed, its time-to-live value is updated
7457if it was less than <a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>. </p>
7458
7459<p> This feature is available in Postfix 2.11.  </p>
7460
7461
7462</DD>
7463
7464<DT><b><a name="postscreen_enforce_tls">postscreen_enforce_tls</a>
7465(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
7466
7467<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
7468require that clients use TLS encryption.  See smtpd_postscreen_enforce_tls
7469for details.  </p>
7470
7471<p> This feature is available in Postfix 2.8 and later.
7472Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
7473
7474
7475</DD>
7476
7477<DT><b><a name="postscreen_expansion_filter">postscreen_expansion_filter</a>
7478(default: see "postconf -d" output)</b></DT><DD>
7479
7480<p> List of characters that are permitted in <a href="postconf.5.html#postscreen_reject_footer">postscreen_reject_footer</a>
7481attribute expansions.  See <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> for further
7482details. </p>
7483
7484<p> This feature is available in Postfix 2.8 and later. </p>
7485
7486
7487</DD>
7488
7489<DT><b><a name="postscreen_forbidden_commands">postscreen_forbidden_commands</a>
7490(default: $<a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>)</b></DT><DD>
7491
7492<p> List of commands that the <a href="postscreen.8.html">postscreen(8)</a> server considers in
7493violation of the SMTP protocol. See <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a> for
7494syntax, and <a href="postconf.5.html#postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a> for possible actions.
7495</p>
7496
7497<p> This feature is available in Postfix 2.8.  </p>
7498
7499
7500</DD>
7501
7502<DT><b><a name="postscreen_greet_action">postscreen_greet_action</a>
7503(default: ignore)</b></DT><DD>
7504
7505<p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client speaks
7506before its turn within the time specified with the <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
7507parameter.  Specify one of the following: </p>
7508
7509<dl>
7510
7511<dt> <b>ignore</b> (default) </dt>
7512
7513<dd> Ignore the failure of this test. Allow other tests to complete.
7514Repeat this test the next time the client connects.
7515This option is useful for testing and collecting statistics
7516without blocking mail. </dd>
7517
7518<dt> <b>enforce</b> </dt>
7519
7520<dd> Allow other tests to complete. Reject attempts to deliver mail
7521with a 550 SMTP reply, and log the helo/sender/recipient information.
7522Repeat this test the next time the client connects. </dd>
7523
7524<dt> <b>drop</b> </dt>
7525
7526<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7527this test the next time the client connects. </dd>
7528
7529</dl>
7530
7531<p> In either case, <a href="postscreen.8.html">postscreen(8)</a> will not whitelist the remote SMTP client
7532IP address. </p>
7533
7534<p> This feature is available in Postfix 2.8. </p>
7535
7536
7537</DD>
7538
7539<DT><b><a name="postscreen_greet_banner">postscreen_greet_banner</a>
7540(default: $<a href="postconf.5.html#smtpd_banner">smtpd_banner</a>)</b></DT><DD>
7541
7542<p> The <i>text</i> in the optional "220-<i>text</i>..." server
7543response that
7544<a href="postscreen.8.html">postscreen(8)</a> sends ahead of the real Postfix SMTP server's "220
7545text..." response, in an attempt to confuse bad SMTP clients so
7546that they speak before their turn (pre-greet).  Specify an empty
7547value to disable this feature.  </p>
7548
7549<p> This feature is available in Postfix 2.8. </p>
7550
7551
7552</DD>
7553
7554<DT><b><a name="postscreen_greet_ttl">postscreen_greet_ttl</a>
7555(default: 1d)</b></DT><DD>
7556
7557<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
7558a successful PREGREET test. During this time, the client IP address
7559is excluded from this test. The default is relatively short, because
7560a good client can immediately talk to a real Postfix SMTP server. </p>
7561
7562<p> Specify a non-zero time value (an integral value plus an optional
7563one-letter suffix that specifies the time unit).  Time units: s
7564(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7565
7566<p> This feature is available in Postfix 2.8. </p>
7567
7568
7569</DD>
7570
7571<DT><b><a name="postscreen_greet_wait">postscreen_greet_wait</a>
7572(default: ${stress?2}${stress:6}s)</b></DT><DD>
7573
7574<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will wait for an SMTP
7575client to send a command before its turn, and for DNS blocklist
7576lookup results to arrive (default: up to 2 seconds under stress,
7577up to 6 seconds otherwise).  <p>
7578
7579<p> Specify a non-zero time value (an integral value plus an optional
7580one-letter suffix that specifies the time unit).  </p>
7581
7582<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
7583(weeks).  </p>
7584
7585<p> This feature is available in Postfix 2.8. </p>
7586
7587
7588</DD>
7589
7590<DT><b><a name="postscreen_helo_required">postscreen_helo_required</a>
7591(default: $<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a>)</b></DT><DD>
7592
7593<p> Require that a remote SMTP client sends HELO or EHLO before
7594commencing a MAIL transaction. </p>
7595
7596<p> This feature is available in Postfix 2.8.  </p>
7597
7598
7599</DD>
7600
7601<DT><b><a name="postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a>
7602(default: drop)</b></DT><DD>
7603
7604<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends
7605non-SMTP commands as specified with the <a href="postconf.5.html#postscreen_forbidden_commands">postscreen_forbidden_commands</a>
7606parameter.  Specify one of the following: </p>
7607
7608<dl>
7609
7610<dt> <b>ignore</b> </dt>
7611
7612<dd> Ignore the failure of this test. Allow other tests to complete.
7613Do <i>not</i> repeat this test before some the result from some
7614other test expires.
7615This option is useful for testing and collecting statistics
7616without blocking mail permanently. </dd>
7617
7618<dt> <b>enforce</b> </dt>
7619
7620<dd> Allow other tests to complete. Reject attempts to deliver mail
7621with a 550 SMTP reply, and log the helo/sender/recipient information.
7622Repeat this test the next time the client connects. </dd>
7623
7624<dt> <b>drop</b> </dt>
7625
7626<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7627this test the next time the client connects. This action is the
7628same as with the Postfix SMTP server's <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>
7629feature.  </dd>
7630
7631</dl>
7632
7633<p> This feature is available in Postfix 2.8. </p>
7634
7635
7636</DD>
7637
7638<DT><b><a name="postscreen_non_smtp_command_enable">postscreen_non_smtp_command_enable</a>
7639(default: no)</b></DT><DD>
7640
7641<p> Enable "non-SMTP command" tests in the <a href="postscreen.8.html">postscreen(8)</a> server. These
7642tests are expensive: a client must disconnect after it passes the
7643test, before it can talk to a real Postfix SMTP server. </p>
7644
7645<p> This feature is available in Postfix 2.8.  </p>
7646
7647
7648</DD>
7649
7650<DT><b><a name="postscreen_non_smtp_command_ttl">postscreen_non_smtp_command_ttl</a>
7651(default: 30d)</b></DT><DD>
7652
7653<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
7654a successful "non_smtp_command" SMTP protocol test. During this
7655time, the client IP address is excluded from this test. The default
7656is long because a client must disconnect after it passes the test,
7657before it can talk to a real Postfix SMTP server. </p>
7658
7659<p> Specify a non-zero time value (an integral value plus an optional
7660one-letter suffix that specifies the time unit).  Time units: s
7661(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7662
7663<p> This feature is available in Postfix 2.8.  </p>
7664
7665
7666</DD>
7667
7668<DT><b><a name="postscreen_pipelining_action">postscreen_pipelining_action</a>
7669(default: enforce)</b></DT><DD>
7670
7671<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client
7672sends
7673multiple commands instead of sending one command and waiting for
7674the server to respond.  Specify one of the following: </p>
7675
7676<dl>
7677
7678<dt> <b>ignore</b> </dt>
7679
7680<dd> Ignore the failure of this test. Allow other tests to complete.
7681Do <i>not</i> repeat this test before some the result from some
7682other test expires.
7683This option is useful for testing and collecting statistics
7684without blocking mail permanently. </dd>
7685
7686<dt> <b>enforce</b> </dt>
7687
7688<dd> Allow other tests to complete. Reject attempts to deliver mail
7689with a 550 SMTP reply, and log the helo/sender/recipient information.
7690Repeat this test the next time the client connects. </dd>
7691
7692<dt> <b>drop</b> </dt>
7693
7694<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7695this test the next time the client connects. </dd>
7696
7697</dl>
7698
7699<p> This feature is available in Postfix 2.8. </p>
7700
7701
7702</DD>
7703
7704<DT><b><a name="postscreen_pipelining_enable">postscreen_pipelining_enable</a>
7705(default: no)</b></DT><DD>
7706
7707<p> Enable "pipelining" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
7708server. These tests are expensive: a good client must disconnect
7709after it passes the test, before it can talk to a real Postfix SMTP
7710server. </p>
7711
7712<p> This feature is available in Postfix 2.8.  </p>
7713
7714
7715</DD>
7716
7717<DT><b><a name="postscreen_pipelining_ttl">postscreen_pipelining_ttl</a>
7718(default: 30d)</b></DT><DD>
7719
7720<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
7721a successful "pipelining" SMTP protocol test. During this time, the
7722client IP address is excluded from this test. The default is
7723long because a good client must disconnect after it passes the test,
7724before it can talk to a real Postfix SMTP server. </p>
7725
7726<p> Specify a non-zero time value (an integral value plus an optional
7727one-letter suffix that specifies the time unit).  Time units: s
7728(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7729
7730<p> This feature is available in Postfix 2.8.  </p>
7731
7732
7733</DD>
7734
7735<DT><b><a name="postscreen_post_queue_limit">postscreen_post_queue_limit</a>
7736(default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
7737
7738<p> The number of clients that can be waiting for service from a
7739real Postfix SMTP server process. When this queue is full, all
7740clients will
7741receive a 421 response. </p>
7742
7743<p> This feature is available in Postfix 2.8. </p>
7744
7745
7746</DD>
7747
7748<DT><b><a name="postscreen_pre_queue_limit">postscreen_pre_queue_limit</a>
7749(default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
7750
7751<p> The number of non-whitelisted clients that can be waiting for
7752a decision whether they will receive service from a real Postfix
7753SMTP server
7754process. When this queue is full, all non-whitelisted clients will
7755receive a 421 response. </p>
7756
7757<p> This feature is available in Postfix 2.8. </p>
7758
7759
7760</DD>
7761
7762<DT><b><a name="postscreen_reject_footer">postscreen_reject_footer</a>
7763(default: $<a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>)</b></DT><DD>
7764
7765<p> Optional information that is appended after a 4XX or 5XX
7766<a href="postscreen.8.html">postscreen(8)</a> server
7767response. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> for further details.  </p>
7768
7769<p> This feature is available in Postfix 2.8 and later. </p>
7770
7771
7772</DD>
7773
7774<DT><b><a name="postscreen_tls_security_level">postscreen_tls_security_level</a>
7775(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
7776
7777<p> The SMTP TLS security level for the <a href="postscreen.8.html">postscreen(8)</a> server; when
7778a non-empty value is specified, this overrides the obsolete parameters
7779<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>
7780for details. </p>
7781
7782<p> This feature is available in Postfix 2.8 and later. </p>
7783
7784
7785</DD>
7786
7787<DT><b><a name="postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a>
7788(default: empty)</b></DT><DD>
7789
7790<p> The name of the proxy protocol used by an optional before-postscreen
7791proxy agent. When a proxy agent is used, this protocol conveys local
7792and remote address and port information. Specify
7793"<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
7794protocol. <p>
7795
7796<p> This feature is available in Postfix 2.10 and later.  </p>
7797
7798
7799</DD>
7800
7801<DT><b><a name="postscreen_upstream_proxy_timeout">postscreen_upstream_proxy_timeout</a>
7802(default: 5s)</b></DT><DD>
7803
7804<p> The time limit for the proxy protocol specified with the
7805<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> parameter. </p>
7806
7807<p> This feature is available in Postfix 2.10 and later.  </p>
7808
7809
7810</DD>
7811
7812<DT><b><a name="postscreen_use_tls">postscreen_use_tls</a>
7813(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
7814
7815<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
7816but do not require that clients use TLS encryption. </p>
7817
7818<p> This feature is available in Postfix 2.8 and later.
7819Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
7820
7821
7822</DD>
7823
7824<DT><b><a name="postscreen_watchdog_timeout">postscreen_watchdog_timeout</a>
7825(default: 10s)</b></DT><DD>
7826
7827<p> How much time a <a href="postscreen.8.html">postscreen(8)</a> process may take to respond to
7828a remote SMTP client command or to perform a cache operation before it
7829is terminated by a built-in watchdog timer.  This is a safety
7830mechanism that prevents <a href="postscreen.8.html">postscreen(8)</a> from becoming non-responsive
7831due to a bug in Postfix itself or in system software.  To avoid
7832false alarms and unnecessary cache corruption this limit cannot be
7833set under 10s.  </p>
7834
7835<p> Specify a non-zero time value (an integral value plus an optional
7836one-letter suffix that specifies the time unit).  Time units: s
7837(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7838
7839<p> This feature is available in Postfix 2.8.  </p>
7840
7841
7842</DD>
7843
7844<DT><b><a name="postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a>
7845(default: <a href="DATABASE_README.html#types">static</a>:all)</b></DT><DD>
7846
7847<p> A list of local <a href="postscreen.8.html">postscreen(8)</a> server IP addresses where a
7848non-whitelisted remote SMTP client can obtain <a href="postscreen.8.html">postscreen(8)</a>'s temporary
7849whitelist status. This status is required before the client can
7850talk to a Postfix SMTP server process.  By default, a client can
7851obtain <a href="postscreen.8.html">postscreen(8)</a>'s whitelist status on any local <a href="postscreen.8.html">postscreen(8)</a>
7852server IP address. </p>
7853
7854<p> When <a href="postscreen.8.html">postscreen(8)</a> listens on both primary and backup MX
7855addresses, the <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> parameter can be
7856configured to give the temporary whitelist status only when a client
7857connects to a primary MX address. Once a client is whitelisted it
7858can talk to a Postfix SMTP server on any address. Thus, clients
7859that connect only to backup MX addresses will never become whitelisted,
7860and will never be allowed to talk to a Postfix SMTP server process.
7861</p>
7862
7863<p> Specify a list of network addresses or network/netmask patterns,
7864separated by commas and/or whitespace. The netmask specifies the
7865number of bits in the network part of a host address. Continue long
7866lines by starting the next line with whitespace. </p>
7867
7868<p> You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A
7869"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
7870lookup table is matched when a table entry matches a lookup string
7871(the lookup result is ignored). </p>
7872
7873<p> The list is matched left to right, and the search stops on the
7874first match. Specify "!pattern" to exclude an address or network
7875block from the list.  </p>
7876
7877<p> Note: IP version 6 address information must be specified inside
7878[] in the <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> value, and in files
7879specified with "/file/name".  IP version 6 addresses contain the
7880":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
7881pattern. </p>
7882
7883<p> Example: </p>
7884
7885<pre>
7886/etc/postfix/<a href="postconf.5.html">main.cf</a>:
7887    # Don't whitelist connections to the backup IP address.
7888    <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
7889</pre>
7890
7891<p> This feature is available in Postfix 2.9 and later.  </p>
7892
7893
7894</DD>
7895
7896<DT><b><a name="prepend_delivered_header">prepend_delivered_header</a>
7897(default: command, file, forward)</b></DT><DD>
7898
7899<p> The message delivery contexts where the Postfix <a href="local.8.html">local(8)</a> delivery
7900agent prepends a Delivered-To:  message header with the address
7901that the mail was delivered to. This information is used for mail
7902delivery loop detection.  </p>
7903
7904<p>
7905By default, the Postfix local delivery agent prepends a Delivered-To:
7906header when forwarding mail and when delivering to file (mailbox)
7907and command. Turning off the Delivered-To: header when forwarding
7908mail is not recommended.
7909</p>
7910
7911<p>
7912Specify zero or more of <b>forward</b>, <b>file</b>, or <b>command</b>.
7913</p>
7914
7915<p>
7916Example:
7917</p>
7918
7919<pre>
7920<a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a> = forward
7921</pre>
7922
7923
7924</DD>
7925
7926<DT><b><a name="process_id">process_id</a>
7927(read-only)</b></DT><DD>
7928
7929<p>
7930The process ID of a Postfix command or daemon process.
7931</p>
7932
7933
7934</DD>
7935
7936<DT><b><a name="process_id_directory">process_id_directory</a>
7937(default: pid)</b></DT><DD>
7938
7939<p>
7940The location of Postfix PID files relative to $<a href="postconf.5.html#queue_directory">queue_directory</a>.
7941This is a read-only parameter.
7942</p>
7943
7944
7945</DD>
7946
7947<DT><b><a name="process_name">process_name</a>
7948(read-only)</b></DT><DD>
7949
7950<p>
7951The process name of a Postfix command or daemon process.
7952</p>
7953
7954
7955</DD>
7956
7957<DT><b><a name="propagate_unmatched_extensions">propagate_unmatched_extensions</a>
7958(default: canonical, virtual)</b></DT><DD>
7959
7960<p>
7961What address lookup tables copy an address extension from the lookup
7962key to the lookup result.
7963</p>
7964
7965<p>
7966For example, with a <a href="virtual.5.html">virtual(5)</a> mapping of "<i>joe@example.com =&gt;
7967joe.user@example.net</i>", the address "<i>joe+foo@example.com</i>"
7968would rewrite to "<i>joe.user+foo@example.net</i>".
7969</p>
7970
7971<p>
7972Specify zero or more of <b>canonical</b>, <b>virtual</b>, <b>alias</b>,
7973<b>forward</b>, <b>include</b> or <b>generic</b>. These cause
7974address extension
7975propagation 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,
7976with <a href="local.8.html">local(8)</a> .forward and :include: file lookups, and with <a href="smtp.8.html">smtp(8)</a>
7977generic maps, respectively.  </p>
7978
7979<p>
7980Note: enabling this feature for types other than <b>canonical</b>
7981and <b>virtual</b> is likely to cause problems when mail is forwarded
7982to other sites, especially with mail that is sent to a mailing list
7983exploder address.
7984</p>
7985
7986<p>
7987Examples:
7988</p>
7989
7990<pre>
7991<a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual, alias,
7992        forward, include
7993<a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual
7994</pre>
7995
7996
7997</DD>
7998
7999<DT><b><a name="proxy_interfaces">proxy_interfaces</a>
8000(default: empty)</b></DT><DD>
8001
8002<p>
8003The network interface addresses that this mail system receives mail
8004on by way of a proxy or network address translation unit.
8005</p>
8006
8007<p>
8008This feature is available in Postfix 2.0 and later.
8009</p>
8010
8011<p> You must specify your "outside" proxy/NAT addresses when your
8012system is a backup MX host for other domains, otherwise mail delivery
8013loops will happen when the primary MX host is down.  </p>
8014
8015<p>
8016Example:
8017</p>
8018
8019<pre>
8020<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> = 1.2.3.4
8021</pre>
8022
8023
8024</DD>
8025
8026<DT><b><a name="proxy_read_maps">proxy_read_maps</a>
8027(default: see "postconf -d" output)</b></DT><DD>
8028
8029<p>
8030The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
8031access for the read-only service.
8032Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.
8033</p>
8034
8035<p>
8036This feature is available in Postfix 2.0 and later.
8037</p>
8038
8039
8040</DD>
8041
8042<DT><b><a name="proxy_write_maps">proxy_write_maps</a>
8043(default: see "postconf -d" output)</b></DT><DD>
8044
8045<p> The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
8046access for the read-write service. Postfix-owned local database
8047files should be stored under the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>.
8048Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.  </p>
8049
8050<p>
8051This feature is available in Postfix 2.5 and later.
8052</p>
8053
8054
8055</DD>
8056
8057<DT><b><a name="proxymap_service_name">proxymap_service_name</a>
8058(default: proxymap)</b></DT><DD>
8059
8060<p> The name of the proxymap read-only table lookup service.  This
8061service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon. </p>
8062
8063<p> This feature is available in Postfix 2.6 and later. </p>
8064
8065
8066</DD>
8067
8068<DT><b><a name="proxywrite_service_name">proxywrite_service_name</a>
8069(default: proxywrite)</b></DT><DD>
8070
8071<p> The name of the proxywrite read-write table lookup service.
8072This service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon.
8073</p>
8074
8075<p> This feature is available in Postfix 2.6 and later. </p>
8076
8077
8078</DD>
8079
8080<DT><b><a name="qmgr_clog_warn_time">qmgr_clog_warn_time</a>
8081(default: 300s)</b></DT><DD>
8082
8083<p>
8084The minimal delay between warnings that a specific destination is
8085clogging up the Postfix <a href="QSHAPE_README.html#active_queue">active queue</a>. Specify 0 to disable.
8086</p>
8087
8088<p>
8089This feature is enabled with the <a href="postconf.5.html#helpful_warnings">helpful_warnings</a> parameter.
8090</p>
8091
8092<p>
8093This feature is available in Postfix 2.0 and later.
8094</p>
8095
8096
8097</DD>
8098
8099<DT><b><a name="qmgr_daemon_timeout">qmgr_daemon_timeout</a>
8100(default: 1000s)</b></DT><DD>
8101
8102<p> How much time a Postfix queue manager process may take to handle
8103a request before it is terminated by a built-in watchdog timer.
8104</p>
8105
8106<p>
8107Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8108The default time unit is s (seconds).
8109</p>
8110
8111<p> This feature is available in Postfix 2.8 and later.  </p>
8112
8113
8114</DD>
8115
8116<DT><b><a name="qmgr_fudge_factor">qmgr_fudge_factor</a>
8117(default: 100)</b></DT><DD>
8118
8119<p>
8120Obsolete feature: the percentage of delivery resources that a busy
8121mail system will use up for delivery of a large mailing  list
8122message.
8123</p>
8124
8125<p>
8126This feature exists only in the <a href="qmgr.8.html">oqmgr(8)</a> old queue manager. The
8127current queue manager solves the problem in a better way.
8128</p>
8129
8130
8131</DD>
8132
8133<DT><b><a name="qmgr_ipc_timeout">qmgr_ipc_timeout</a>
8134(default: 60s)</b></DT><DD>
8135
8136<p> The time limit for the queue manager to send or receive information
8137over an internal communication channel.  The purpose is to break
8138out of deadlock situations. If the time limit is exceeded the
8139software either retries or aborts the operation. </p>
8140
8141<p>
8142Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8143The default time unit is s (seconds).
8144</p>
8145
8146<p> This feature is available in Postfix 2.8 and later.  </p>
8147
8148
8149</DD>
8150
8151<DT><b><a name="qmgr_message_active_limit">qmgr_message_active_limit</a>
8152(default: 20000)</b></DT><DD>
8153
8154<p>
8155The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>.
8156</p>
8157
8158
8159</DD>
8160
8161<DT><b><a name="qmgr_message_recipient_limit">qmgr_message_recipient_limit</a>
8162(default: 20000)</b></DT><DD>
8163
8164<p> The maximal number of recipients held in memory by the Postfix
8165queue manager, and the maximal size of the short-term,
8166in-memory "dead" destination status cache.  </p>
8167
8168
8169</DD>
8170
8171<DT><b><a name="qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>
8172(default: 10)</b></DT><DD>
8173
8174<p>
8175The minimal number of in-memory recipients for any message. This
8176takes priority over any other in-memory recipient limits (i.e.,
8177the global <a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> and the per transport
8178_recipient_limit) if necessary. The minimum value allowed for this
8179parameter is 1.
8180</p>
8181
8182
8183</DD>
8184
8185<DT><b><a name="qmqpd_authorized_clients">qmqpd_authorized_clients</a>
8186(default: empty)</b></DT><DD>
8187
8188<p>
8189What remote QMQP clients are allowed to connect to the Postfix QMQP
8190server port.
8191</p>
8192
8193<p>
8194By default, no client is allowed to use the service. This is
8195because the QMQP server will relay mail to any destination.
8196</p>
8197
8198<p>
8199Specify a list of client patterns. A list pattern specifies a host
8200name, a domain name, an internet address, or a network/mask pattern,
8201where the mask specifies the number of bits in the network part.
8202When a pattern specifies a file name, its contents are substituted
8203for the file name; when a pattern is a "<a href="DATABASE_README.html">type:table</a>" table specification,
8204table lookup is used instead.  </p>
8205
8206<p>
8207Patterns are separated by whitespace and/or commas. In order to
8208reverse the result, precede a pattern with an
8209exclamation point (!). The form "!/file/name" is supported only
8210in Postfix version 2.4 and later.
8211</p>
8212
8213<p>
8214Example:
8215</p>
8216
8217<pre>
8218<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a> = !192.168.0.1, 192.168.0.0/24
8219</pre>
8220
8221
8222</DD>
8223
8224<DT><b><a name="qmqpd_client_port_logging">qmqpd_client_port_logging</a>
8225(default: no)</b></DT><DD>
8226
8227<p> Enable logging of the remote QMQP client port in addition to
8228the hostname and IP address. The logging format is "host[address]:port".
8229</p>
8230
8231<p> This feature is available in Postfix 2.5 and later. </p>
8232
8233
8234</DD>
8235
8236<DT><b><a name="qmqpd_error_delay">qmqpd_error_delay</a>
8237(default: 1s)</b></DT><DD>
8238
8239<p>
8240How long the Postfix QMQP server will pause before sending a negative
8241reply to the remote QMQP client. The purpose is to slow down confused
8242or malicious clients.
8243</p>
8244
8245<p>
8246Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8247The default time unit is s (seconds).
8248</p>
8249
8250
8251</DD>
8252
8253<DT><b><a name="qmqpd_timeout">qmqpd_timeout</a>
8254(default: 300s)</b></DT><DD>
8255
8256<p>
8257The time limit for sending or receiving information over the network.
8258If a read or write operation blocks for more than $<a href="postconf.5.html#qmqpd_timeout">qmqpd_timeout</a>
8259seconds the Postfix QMQP server gives up and disconnects.
8260</p>
8261
8262<p>
8263Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8264The default time unit is s (seconds).
8265</p>
8266
8267
8268</DD>
8269
8270<DT><b><a name="queue_directory">queue_directory</a>
8271(default: see "postconf -d" output)</b></DT><DD>
8272
8273<p>
8274The location of the Postfix top-level queue directory. This is the
8275root directory of Postfix daemon processes that run chrooted.
8276</p>
8277
8278
8279</DD>
8280
8281<DT><b><a name="queue_file_attribute_count_limit">queue_file_attribute_count_limit</a>
8282(default: 100)</b></DT><DD>
8283
8284<p>
8285The maximal number of (name=value) attributes that may be stored
8286in a Postfix queue file. The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a>
8287server.
8288</p>
8289
8290<p>
8291This feature is available in Postfix 2.0 and later.
8292</p>
8293
8294
8295</DD>
8296
8297<DT><b><a name="queue_minfree">queue_minfree</a>
8298(default: 0)</b></DT><DD>
8299
8300<p>
8301The minimal amount of free space in bytes in the queue file system
8302that is needed to receive mail.  This is currently used by the
8303Postfix SMTP server to decide if it will accept any mail at all.
8304</p>
8305
8306<p>
8307By default, the Postfix SMTP server rejects MAIL FROM commands when
8308the amount of free space is less than 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>
8309(Postfix version 2.1 and later).
8310To specify a higher minimum free space limit, specify a <a href="postconf.5.html#queue_minfree">queue_minfree</a>
8311value that is at least 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>.
8312</p>
8313
8314<p>
8315With Postfix versions 2.0 and earlier, a <a href="postconf.5.html#queue_minfree">queue_minfree</a> value of
8316zero means there is no minimum required amount of free space.
8317</p>
8318
8319
8320</DD>
8321
8322<DT><b><a name="queue_run_delay">queue_run_delay</a>
8323(default: 300s)</b></DT><DD>
8324
8325<p>
8326The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue manager;
8327prior to Postfix 2.4 the default value was 1000s.
8328</p>
8329
8330<p> This parameter should be set less than or equal to
8331$<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>
8332
8333<p>
8334Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8335The default time unit is s (seconds).
8336</p>
8337
8338
8339</DD>
8340
8341<DT><b><a name="queue_service_name">queue_service_name</a>
8342(default: qmgr)</b></DT><DD>
8343
8344<p>
8345The name of the <a href="qmgr.8.html">qmgr(8)</a> service. This service manages the Postfix
8346queue and schedules delivery requests.
8347</p>
8348
8349<p>
8350This feature is available in Postfix 2.0 and later.
8351</p>
8352
8353
8354</DD>
8355
8356<DT><b><a name="rbl_reply_maps">rbl_reply_maps</a>
8357(default: empty)</b></DT><DD>
8358
8359<p>
8360Optional lookup tables with RBL response templates. The tables are
8361indexed by the RBL domain name. By default, Postfix uses the default
8362template as specified with the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> configuration
8363parameter. See there for a discussion of the syntax of RBL reply
8364templates.
8365</p>
8366
8367<p>
8368This feature is available in Postfix 2.0 and later.
8369</p>
8370
8371
8372</DD>
8373
8374<DT><b><a name="readme_directory">readme_directory</a>
8375(default: see "postconf -d" output)</b></DT><DD>
8376
8377<p>
8378The location of Postfix README files that describe how to build,
8379configure or operate a specific Postfix subsystem or feature.
8380</p>
8381
8382
8383</DD>
8384
8385<DT><b><a name="receive_override_options">receive_override_options</a>
8386(default: empty)</b></DT><DD>
8387
8388<p> Enable or disable recipient validation, built-in content
8389filtering, or address mapping. Typically, these are specified in
8390<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
8391<a href="pickup.8.html">pickup(8)</a> daemons. </p>
8392
8393<p> Specify zero or more of the following options.  The options
8394override <a href="postconf.5.html">main.cf</a> settings and are either implemented by <a href="smtpd.8.html">smtpd(8)</a>,
8395<a href="qmqpd.8.html">qmqpd(8)</a>, or <a href="pickup.8.html">pickup(8)</a> themselves, or they are forwarded to the
8396cleanup server.  </p>
8397
8398<dl>
8399
8400<dt><b><a name="no_unknown_recipient_checks">no_unknown_recipient_checks</a></b></dt>
8401
8402<dd>Do not try to reject unknown recipients (SMTP server only).
8403This is typically specified AFTER an external content filter.
8404</dd>
8405
8406<dt><b><a name="no_address_mappings">no_address_mappings</a></b></dt>
8407
8408<dd>Disable canonical address mapping, virtual alias map expansion,
8409address masquerading, and automatic BCC (blind carbon-copy)
8410recipients. This is typically specified BEFORE an external content
8411filter. </dd>
8412
8413<dt><b><a name="no_header_body_checks">no_header_body_checks</a></b></dt>
8414
8415<dd>Disable header/body_checks. This is typically specified AFTER
8416an external content filter. </dd>
8417
8418<dt><b><a name="no_milters">no_milters</a></b></dt>
8419
8420<dd>Disable Milter (mail filter) applications. This is typically
8421specified AFTER an external content filter. </dd>
8422
8423</dl>
8424
8425<p>
8426Note: when the "BEFORE content filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a>
8427setting is specified in the <a href="postconf.5.html">main.cf</a> file, specify the "AFTER content
8428filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a> setting in <a href="master.5.html">master.cf</a> (and vice
8429versa).
8430</p>
8431
8432<p>
8433Examples:
8434</p>
8435
8436<pre>
8437<a href="postconf.5.html#receive_override_options">receive_override_options</a> =
8438    <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>
8439<a href="postconf.5.html#receive_override_options">receive_override_options</a> = <a href="postconf.5.html#no_address_mappings">no_address_mappings</a>
8440</pre>
8441
8442<p>
8443This feature is available in Postfix 2.1 and later.
8444</p>
8445
8446
8447</DD>
8448
8449<DT><b><a name="recipient_bcc_maps">recipient_bcc_maps</a>
8450(default: empty)</b></DT><DD>
8451
8452<p>
8453Optional BCC (blind carbon-copy) address lookup tables, indexed by
8454recipient address.  The BCC address (multiple results are not
8455supported) is added when mail enters from outside of Postfix.
8456</p>
8457
8458<p>
8459This feature is available in Postfix 2.1 and later.
8460</p>
8461
8462<p>
8463The table search order is as follows:
8464</p>
8465
8466<ul>
8467
8468<li> Look up the "user+extension@domain.tld" address including the
8469optional address extension.
8470
8471<li> Look up the "user@domain.tld" address without the optional
8472address extension.
8473
8474<li> Look up the "user+extension" address local part when the
8475recipient 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>
8476or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
8477
8478<li> Look up the "user" address local part when the recipient domain
8479equals $<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>.
8480
8481<li> Look up the "@domain.tld" part.
8482
8483</ul>
8484
8485<p>
8486Specify the types and names of databases to use.  After change,
8487run "<b>postmap /etc/postfix/recipient_bcc</b>".
8488</p>
8489
8490<p>
8491Note: with Postfix 2.3 and later the BCC address is added as if it
8492was specified with NOTIFY=NONE. The sender will not be notified
8493when the BCC address is undeliverable, as long as all down-stream
8494software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
8495</p>
8496
8497<p>
8498Note: with Postfix 2.2 and earlier the sender will be notified
8499when the BCC address is undeliverable.
8500</p>
8501
8502<p> Note: automatic BCC recipients are produced only for new mail.
8503To avoid mailer loops, automatic BCC recipients are not generated
8504after Postfix forwards mail internally, or after Postfix generates
8505mail itself. </p>
8506
8507<p>
8508Example:
8509</p>
8510
8511<pre>
8512<a href="postconf.5.html#recipient_bcc_maps">recipient_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_bcc
8513</pre>
8514
8515
8516</DD>
8517
8518<DT><b><a name="recipient_canonical_classes">recipient_canonical_classes</a>
8519(default: envelope_recipient, header_recipient)</b></DT><DD>
8520
8521<p> What addresses are subject to <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address
8522mapping.  By default, <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address mapping is
8523applied to envelope recipient addresses, and to header recipient
8524addresses.  </p>
8525
8526<p> Specify one or more of: envelope_recipient, header_recipient
8527</p>
8528
8529<p> This feature is available in Postfix 2.2 and later. </p>
8530
8531
8532</DD>
8533
8534<DT><b><a name="recipient_canonical_maps">recipient_canonical_maps</a>
8535(default: empty)</b></DT><DD>
8536
8537<p>
8538Optional address mapping lookup tables for envelope and header
8539recipient addresses.
8540The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
8541</p>
8542
8543<p>
8544Note: $<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>.
8545</p>
8546
8547<p>
8548Example:
8549</p>
8550
8551<pre>
8552<a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_canonical
8553</pre>
8554
8555
8556</DD>
8557
8558<DT><b><a name="recipient_delimiter">recipient_delimiter</a>
8559(default: empty)</b></DT><DD>
8560
8561<p> The set of characters that can separate a user name from its
8562extension (example: user+foo), or a .forward file name from its
8563extension (example: .forward+foo).  Basically, the software tries
8564user+foo and .forward+foo before trying user and .forward.  This
8565implementation recognizes one delimiter character and one extension
8566per email address or .forward file name. </p>
8567
8568<p> When the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set contains multiple characters
8569(Postfix 2.11 and later), a user name or .forward file name is
8570separated from its extension by the first character that matches
8571the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set. </p>
8572
8573<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
8574effects of <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> on lookups in aliases, canonical,
8575virtual, and relocated maps, and see the <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a>
8576parameter for propagating an extension from one email address to
8577another.  </p>
8578
8579<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
8580<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
8581recipient delimiter that was found in the recipient email address
8582(Postfix 2.11 and later), or it is replaced with the <a href="postconf.5.html">main.cf</a>
8583<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> parameter value (Postfix 2.10 and earlier).
8584</p>
8585
8586<p> The <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is not applied to the mailer-daemon
8587address, the postmaster address, or the double-bounce address. With
8588the 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>
8589is also not applied to addresses with the special "owner-" prefix
8590or the special "-request" suffix. </p>
8591
8592<p>
8593Examples:
8594</p>
8595
8596<pre>
8597# Handle Postfix-style extensions.
8598<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +
8599</pre>
8600
8601<pre>
8602# Handle both Postfix and qmail extensions (Postfix 2.11 and later).
8603<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +-
8604</pre>
8605
8606<pre>
8607# Use .forward for mail without address extension, and for mail with
8608# an unrecognized address extension.
8609<a href="postconf.5.html#forward_path">forward_path</a> = $home/.forward${<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>}${extension},
8610    $home/.forward
8611</pre>
8612
8613
8614</DD>
8615
8616<DT><b><a name="reject_code">reject_code</a>
8617(default: 554)</b></DT><DD>
8618
8619<p>
8620The numerical Postfix SMTP server response code when a remote SMTP
8621client request is rejected by the "reject" restriction.
8622</p>
8623
8624<p>
8625Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
8626</p>
8627
8628
8629</DD>
8630
8631<DT><b><a name="reject_tempfail_action">reject_tempfail_action</a>
8632(default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>)</b></DT><DD>
8633
8634<p> The Postfix SMTP server's action when a reject-type restriction
8635fails due to a temporary error condition. Specify "defer" to defer
8636the remote SMTP client request immediately. With the default
8637"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
8638for opportunities to reject mail, and defers the client request
8639only if it would otherwise be accepted. </p>
8640
8641<p> For finer control, see: <a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>,
8642<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>,
8643and <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>.  </p>
8644
8645<p> This feature is available in Postfix 2.6 and later. </p>
8646
8647
8648</DD>
8649
8650<DT><b><a name="relay_clientcerts">relay_clientcerts</a>
8651(default: empty)</b></DT><DD>
8652
8653<p> List of tables with remote SMTP client-certificate fingerprints or
8654public key fingerprints (Postfix 2.9 and later) for which the Postfix
8655SMTP server will allow access with the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
8656feature.  The fingerprint digest algorithm is configurable via the
8657<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
8658Postfix version 2.5).  </p>
8659
8660<p> Postfix lookup tables are in the form of (key, value) pairs.
8661Since we only need the key, the value can be chosen freely, e.g.
8662the name of the user or host:
8663D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home </p>
8664
8665<p> Example: </p>
8666
8667<pre>
8668<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_clientcerts
8669</pre>
8670
8671<p>For more fine-grained control, use <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> to select
8672an appropriate <a href="access.5.html">access(5)</a> policy for each client.
8673See <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a>.</p>
8674
8675<p> <b>Note:</b> Postfix 2.9.0&ndash;2.9.5 computed the public key
8676fingerprint incorrectly. To use public-key fingerprints, upgrade
8677to Postfix 2.9.6 or later. </p>
8678
8679<p>This feature is available with Postfix version 2.2.</p>
8680
8681
8682</DD>
8683
8684<DT><b><a name="relay_destination_concurrency_limit">relay_destination_concurrency_limit</a>
8685(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
8686
8687<p> The maximal number of parallel deliveries to the same destination
8688via the relay message delivery transport. This limit is enforced
8689by the queue manager. The message delivery transport name is the
8690first field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
8691
8692<p> This feature is available in Postfix 2.0 and later. </p>
8693
8694
8695</DD>
8696
8697<DT><b><a name="relay_destination_recipient_limit">relay_destination_recipient_limit</a>
8698(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
8699
8700<p> The maximal number of recipients per message for the relay
8701message delivery transport. This limit is enforced by the queue
8702manager. The message delivery transport name is the first field in
8703the entry in the <a href="master.5.html">master.cf</a> file.  </p>
8704
8705<p> Setting this parameter to a value of 1 changes the meaning of
8706<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> from concurrency per domain
8707into concurrency per recipient.  </p>
8708
8709<p> This feature is available in Postfix 2.0 and later. </p>
8710
8711
8712</DD>
8713
8714<DT><b><a name="relay_domains">relay_domains</a>
8715(default: $<a href="postconf.5.html#mydestination">mydestination</a>)</b></DT><DD>
8716
8717<p> What destination domains (and subdomains thereof) this system
8718will relay mail to. Subdomain matching is controlled with the
8719<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter. For details about how
8720the <a href="postconf.5.html#relay_domains">relay_domains</a> value is used, see the description of the
8721<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
8722restrictions.  </p>
8723
8724<p> Domains that match $<a href="postconf.5.html#relay_domains">relay_domains</a> are delivered with the
8725$<a href="postconf.5.html#relay_transport">relay_transport</a> mail delivery transport. The SMTP server validates
8726recipient addresses with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> and rejects non-existent
8727recipients. See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the
8728<a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.  </p>
8729
8730<p> Note: Postfix will not automatically forward mail for domains
8731that list this system as their primary or backup MX host. See the
8732<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>
8733
8734<p> Specify a list of host or domain names, "/file/name" patterns
8735or "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
8736Continue long lines by starting the next line with whitespace. A
8737"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
8738lookup table is matched when a (parent) domain appears as lookup
8739key. Specify "!pattern" to exclude a domain from the list. The form
8740"!/file/name" is supported only in Postfix version 2.4 and later.
8741</p>
8742
8743
8744</DD>
8745
8746<DT><b><a name="relay_domains_reject_code">relay_domains_reject_code</a>
8747(default: 554)</b></DT><DD>
8748
8749<p>
8750The numerical Postfix SMTP server response code when a client
8751request is rejected by the <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> recipient
8752restriction.
8753</p>
8754
8755<p>
8756Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
8757</p>
8758
8759
8760</DD>
8761
8762<DT><b><a name="relay_recipient_maps">relay_recipient_maps</a>
8763(default: empty)</b></DT><DD>
8764
8765<p> Optional lookup tables with all valid addresses in the domains
8766that match $<a href="postconf.5.html#relay_domains">relay_domains</a>. Specify @domain as a wild-card for
8767domains that have no valid recipient list, and become a source of
8768backscatter mail: Postfix accepts spam for non-existent recipients
8769and then floods innocent people with undeliverable mail.  Technically,
8770tables
8771listed with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> are used as lists: Postfix needs
8772to know only if a lookup string is found or not, but it does not
8773use the result from table lookup.  </p>
8774
8775<p>
8776If this parameter is non-empty, then the Postfix SMTP server will reject
8777mail to unknown relay users. This feature is off by default.
8778</p>
8779
8780<p>
8781See 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>
8782file.
8783</p>
8784
8785<p>
8786Example:
8787</p>
8788
8789<pre>
8790<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_recipients
8791</pre>
8792
8793<p>
8794This feature is available in Postfix 2.0 and later.
8795</p>
8796
8797
8798</DD>
8799
8800<DT><b><a name="relay_transport">relay_transport</a>
8801(default: relay)</b></DT><DD>
8802
8803<p>
8804The default mail delivery transport and next-hop destination for
8805remote delivery to domains listed with $<a href="postconf.5.html#relay_domains">relay_domains</a>. In order of
8806decreasing precedence, the nexthop destination is taken from
8807$<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
8808from the recipient domain. This information can be overruled with
8809the <a href="transport.5.html">transport(5)</a> table.
8810</p>
8811
8812<p>
8813Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
8814is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
8815The <i>:nexthop</i> destination is optional; its syntax is documented
8816in the manual page of the corresponding delivery agent.
8817</p>
8818
8819<p>
8820See 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>
8821file.
8822</p>
8823
8824<p>
8825This feature is available in Postfix 2.0 and later.
8826</p>
8827
8828
8829</DD>
8830
8831<DT><b><a name="relayhost">relayhost</a>
8832(default: empty)</b></DT><DD>
8833
8834<p>
8835The next-hop destination of non-local mail; overrides non-local
8836domains in recipient addresses. This information is overruled with
8837<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>,
8838<a href="postconf.5.html#default_transport">default_transport</a>, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
8839and with the <a href="transport.5.html">transport(5)</a> table.
8840</p>
8841
8842<p>
8843On an intranet, specify the organizational domain name. If your
8844internal DNS uses no MX records, specify the name of the intranet
8845gateway host instead.
8846</p>
8847
8848<p>
8849In the case of SMTP, specify a domain name, hostname, hostname:port,
8850[hostname]:port, [hostaddress] or [hostaddress]:port. The form
8851[hostname] turns off MX lookups.
8852</p>
8853
8854<p>
8855If you're connected via UUCP, see the <a href="UUCP_README.html">UUCP_README</a> file for useful
8856information.
8857</p>
8858
8859<p>
8860Examples:
8861</p>
8862
8863<pre>
8864<a href="postconf.5.html#relayhost">relayhost</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
8865<a href="postconf.5.html#relayhost">relayhost</a> = [gateway.example.com]
8866<a href="postconf.5.html#relayhost">relayhost</a> = uucphost
8867<a href="postconf.5.html#relayhost">relayhost</a> = [an.ip.add.ress]
8868</pre>
8869
8870
8871</DD>
8872
8873<DT><b><a name="relocated_maps">relocated_maps</a>
8874(default: empty)</b></DT><DD>
8875
8876<p>
8877Optional lookup tables with new contact information for users or
8878domains that no longer exist.  The table format and lookups are
8879documented in <a href="relocated.5.html">relocated(5)</a>.
8880</p>
8881
8882<p>
8883If you use this feature, run "<b>postmap /etc/postfix/relocated</b>" to
8884build the necessary DBM or DB file after change, then "<b>postfix
8885reload</b>" to make the changes visible.
8886</p>
8887
8888<p>
8889Examples:
8890</p>
8891
8892<pre>
8893<a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/relocated
8894<a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relocated
8895</pre>
8896
8897
8898</DD>
8899
8900<DT><b><a name="remote_header_rewrite_domain">remote_header_rewrite_domain</a>
8901(default: empty)</b></DT><DD>
8902
8903<p> Don't rewrite message headers from remote clients at all when
8904this parameter is empty; otherwise, rewrite message headers and
8905append the specified domain name to incomplete addresses.  The
8906<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter controls what clients Postfix
8907considers local. </p>
8908
8909<p> Examples:  </p>
8910
8911<p> The safe setting: append "domain.invalid" to incomplete header
8912addresses from remote SMTP clients, so that those addresses cannot
8913be confused with local addresses. </p>
8914
8915<blockquote>
8916<pre>
8917<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> = domain.invalid
8918</pre>
8919</blockquote>
8920
8921<p> The default, purist, setting: don't rewrite headers from remote
8922clients at all. </p>
8923
8924<blockquote>
8925<pre>
8926<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> =
8927</pre>
8928</blockquote>
8929
8930
8931</DD>
8932
8933<DT><b><a name="require_home_directory">require_home_directory</a>
8934(default: no)</b></DT><DD>
8935
8936<p>
8937Require that a <a href="local.8.html">local(8)</a> recipient's home directory exists
8938before mail delivery is attempted. By default this test is disabled.
8939It can be useful for environments that import home directories to
8940the mail server (IMPORTING HOME DIRECTORIES IS NOT RECOMMENDED).
8941</p>
8942
8943
8944</DD>
8945
8946<DT><b><a name="reset_owner_alias">reset_owner_alias</a>
8947(default: no)</b></DT><DD>
8948
8949<p> Reset the <a href="local.8.html">local(8)</a> delivery agent's idea of the owner-alias
8950attribute, when delivering mail to a child alias that does not have
8951its own owner alias. </p>
8952
8953<p> This feature is available in Postfix 2.8 and later. With older
8954Postfix releases, the behavior is as if this parameter is set to
8955"yes". </p>
8956
8957<p> As documented in <a href="aliases.5.html">aliases(5)</a>, when an alias <i>name</i> has a
8958companion alias named owner-<i>name</i>, delivery errors will be
8959reported to the owner alias instead of the sender. This configuration
8960is recommended for mailing lists. <p>
8961
8962<p> A less known property of the owner alias is that it also forces
8963the <a href="local.8.html">local(8)</a> delivery agent to write local and remote addresses
8964from alias expansion to a new queue file, instead of attempting to
8965deliver mail to local addresses as soon as they come out of alias
8966expansion.  </p>
8967
8968<p> Writing local addresses from alias expansion to a new queue
8969file allows for robust handling of temporary delivery errors: errors
8970with one local member have no effect on deliveries to other members
8971of the list.  On the other hand, delivery to local addresses as
8972soon as they come out of alias expansion is fragile: a temporary
8973error with one local address from alias expansion will cause the
8974entire alias to be expanded repeatedly until the error goes away,
8975or until the message expires in the queue.  In that case, a problem
8976with one list member results in multiple message deliveries to other
8977list members. </p>
8978
8979<p> The default behavior of Postfix 2.8 and later is to keep the
8980owner-alias attribute of the parent alias, when delivering mail to
8981a child alias that does not have its own owner alias. Then, local
8982addresses from that child alias will be written to a new queue file,
8983and a temporary error with one local address will not affect delivery
8984to other mailing list members. </p>
8985
8986<p> Unfortunately, older Postfix releases reset the owner-alias
8987attribute when delivering mail to a child alias that does not have
8988its own owner alias.  The <a href="local.8.html">local(8)</a> delivery agent then attempts to
8989deliver local addresses as soon as they come out of child alias
8990expansion.  If delivery to any address from child alias expansion
8991fails with a temporary error condition, the entire mailing list may
8992be expanded repeatedly until the mail expires in the queue, resulting
8993in multiple deliveries of the same message to mailing list members.
8994</p>
8995
8996
8997</DD>
8998
8999<DT><b><a name="resolve_dequoted_address">resolve_dequoted_address</a>
9000(default: yes)</b></DT><DD>
9001
9002<p> Resolve a recipient address safely instead of correctly, by
9003looking inside quotes.  </p>
9004
9005<p> By default, the Postfix address resolver does not quote the
9006address localpart as per <a href="http://tools.ietf.org/html/rfc822">RFC 822</a>, so that additional @ or % or !
9007operators remain visible. This behavior is safe but it is also
9008technically incorrect.  </p>
9009
9010<p> If you specify "<a href="postconf.5.html#resolve_dequoted_address">resolve_dequoted_address</a> = no", then
9011the Postfix
9012resolver will not know about additional @ etc. operators in the
9013address localpart. This opens opportunities for obscure mail relay
9014attacks with user@domain@domain addresses when Postfix provides
9015backup MX service for Sendmail systems.  </p>
9016
9017
9018</DD>
9019
9020<DT><b><a name="resolve_null_domain">resolve_null_domain</a>
9021(default: no)</b></DT><DD>
9022
9023<p> Resolve an address that ends in the "@" null domain as if the
9024local hostname were specified, instead of rejecting the address as
9025invalid.  </p>
9026
9027<p> This feature is available in Postfix 2.1 and later.
9028Earlier versions always resolve the null domain as the local
9029hostname.  </p>
9030
9031<p> The Postfix SMTP server uses this feature to reject mail from
9032or to addresses that end in the "@" null domain, and from addresses
9033that rewrite into a form that ends in the "@" null domain.  </p>
9034
9035
9036</DD>
9037
9038<DT><b><a name="resolve_numeric_domain">resolve_numeric_domain</a>
9039(default: no)</b></DT><DD>
9040
9041<p> Resolve "user@ipaddress" as "user@[ipaddress]", instead of
9042rejecting the address as invalid.  </p>
9043
9044<p> This feature is available in Postfix 2.3 and later.
9045
9046
9047</DD>
9048
9049<DT><b><a name="rewrite_service_name">rewrite_service_name</a>
9050(default: rewrite)</b></DT><DD>
9051
9052<p>
9053The name of the address rewriting service. This service rewrites
9054addresses to standard form and resolves them to a (delivery method,
9055next-hop host, recipient) triple.
9056</p>
9057
9058<p>
9059This feature is available in Postfix 2.0 and later.
9060</p>
9061
9062
9063</DD>
9064
9065<DT><b><a name="sample_directory">sample_directory</a>
9066(default: /etc/postfix)</b></DT><DD>
9067
9068<p>
9069The name of the directory with example Postfix configuration files.
9070Starting with Postfix 2.1, these files have been replaced with the
9071<a href="postconf.5.html">postconf(5)</a> manual page.
9072</p>
9073
9074
9075</DD>
9076
9077<DT><b><a name="send_cyrus_sasl_authzid">send_cyrus_sasl_authzid</a>
9078(default: no)</b></DT><DD>
9079
9080<p> When authenticating to a remote SMTP or LMTP server with the
9081default setting "no", send no SASL authoriZation ID (authzid); send
9082only the SASL authentiCation ID (authcid) plus the authcid's password.
9083</p>
9084
9085<p> The non-default setting "yes" enables the behavior of older
9086Postfix versions.  These always send a SASL authzid that is equal
9087to the SASL authcid, but this causes inter-operability problems
9088with some SMTP servers. </p>
9089
9090<p> This feature is available in Postfix 2.4.4 and later. </p>
9091
9092
9093</DD>
9094
9095<DT><b><a name="sender_based_routing">sender_based_routing</a>
9096(default: no)</b></DT><DD>
9097
9098<p>
9099This parameter should not be used. It was replaced by <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
9100in Postfix version 2.3.
9101</p>
9102
9103
9104</DD>
9105
9106<DT><b><a name="sender_bcc_maps">sender_bcc_maps</a>
9107(default: empty)</b></DT><DD>
9108
9109<p> Optional BCC (blind carbon-copy) address lookup tables, indexed
9110by sender address.  The BCC address (multiple results are not
9111supported) is added when mail enters from outside of Postfix.  </p>
9112
9113<p>
9114This feature is available in Postfix 2.1 and later.
9115</p>
9116
9117<p>
9118The table search order is as follows:
9119</p>
9120
9121<ul>
9122
9123<li> Look up the "user+extension@domain.tld" address including the
9124optional address extension.
9125
9126<li> Look up the "user@domain.tld" address without the optional
9127address extension.
9128
9129<li> Look up the "user+extension" address local part when the
9130sender 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>
9131or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
9132
9133<li> Look up the "user" address local part when the sender domain
9134equals $<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>.
9135
9136<li> Look up the "@domain.tld" part.
9137
9138</ul>
9139
9140<p>
9141Specify the types and names of databases to use.  After change,
9142run "<b>postmap /etc/postfix/sender_bcc</b>".
9143</p>
9144
9145<p>
9146Note: with Postfix 2.3 and later the BCC address is added as if it
9147was specified with NOTIFY=NONE. The sender will not be notified
9148when the BCC address is undeliverable, as long as all down-stream
9149software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
9150</p>
9151
9152<p>
9153Note: with Postfix 2.2 and earlier the sender will be notified
9154when the BCC address is undeliverable.
9155</p>
9156
9157<p> Note: automatic BCC recipients are produced only for new mail.
9158To avoid mailer loops, automatic BCC recipients are not generated
9159after Postfix forwards mail internally, or after Postfix generates
9160mail itself. </p>
9161
9162<p>
9163Example:
9164</p>
9165
9166<pre>
9167<a href="postconf.5.html#sender_bcc_maps">sender_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_bcc
9168</pre>
9169
9170
9171</DD>
9172
9173<DT><b><a name="sender_canonical_classes">sender_canonical_classes</a>
9174(default: envelope_sender, header_sender)</b></DT><DD>
9175
9176<p> What addresses are subject to <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address
9177mapping.  By default, <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address mapping is
9178applied to envelope sender addresses, and to header sender addresses.
9179</p>
9180
9181<p> Specify one or more of: envelope_sender, header_sender </p>
9182
9183<p> This feature is available in Postfix 2.2 and later. </p>
9184
9185
9186</DD>
9187
9188<DT><b><a name="sender_canonical_maps">sender_canonical_maps</a>
9189(default: empty)</b></DT><DD>
9190
9191<p>
9192Optional address mapping lookup tables for envelope and header
9193sender addresses.
9194The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
9195</p>
9196
9197<p>
9198Example: you want to rewrite the SENDER address "user@ugly.domain"
9199to "user@pretty.domain", while still being able to send mail to
9200the RECIPIENT address "user@ugly.domain".
9201</p>
9202
9203<p>
9204Note: $<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>.
9205</p>
9206
9207<p>
9208Example:
9209</p>
9210
9211<pre>
9212<a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_canonical
9213</pre>
9214
9215
9216</DD>
9217
9218<DT><b><a name="sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>
9219(default: empty)</b></DT><DD>
9220
9221<p> A sender-dependent override for the global <a href="postconf.5.html#default_transport">default_transport</a>
9222parameter setting. The tables are searched by the envelope sender
9223address and @domain. A lookup result of DUNNO terminates the search
9224without overriding the global <a href="postconf.5.html#default_transport">default_transport</a> parameter setting.
9225This information is overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
9226
9227<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
9228therefore the expected syntax is that of <a href="postconf.5.html#default_transport">default_transport</a>, not the
9229syntax of <a href="postconf.5.html#transport_maps">transport_maps</a>.  Specifically, this does not support the
9230<a href="postconf.5.html#transport_maps">transport_maps</a> syntax for null transport, null nexthop, or null
9231email addresses. </p>
9232
9233<p> For safety reasons, this feature does not allow $number
9234substitutions in regular expression maps. </p>
9235
9236<p> This feature is available in Postfix 2.7 and later.  </p>
9237
9238
9239</DD>
9240
9241<DT><b><a name="sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
9242(default: empty)</b></DT><DD>
9243
9244<p> A sender-dependent override for the global <a href="postconf.5.html#relayhost">relayhost</a> parameter
9245setting. The tables are searched by the envelope sender address and
9246@domain. A lookup result of DUNNO terminates the search without
9247overriding the global <a href="postconf.5.html#relayhost">relayhost</a> parameter setting (Postfix 2.6 and
9248later). This information is overruled with <a href="postconf.5.html#relay_transport">relay_transport</a>,
9249<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
9250the <a href="transport.5.html">transport(5)</a> table. </p>
9251
9252<p> For safety reasons, this feature does not allow $number
9253substitutions in regular expression maps. </p>
9254
9255<p>
9256This feature is available in Postfix 2.3 and later.
9257</p>
9258
9259
9260</DD>
9261
9262<DT><b><a name="sendmail_fix_line_endings">sendmail_fix_line_endings</a>
9263(default: always)</b></DT><DD>
9264
9265<p> Controls how the Postfix sendmail command converts email message
9266line endings from &lt;CR&gt;&lt;LF&gt; into UNIX format (&lt;LF&gt;).
9267</p>
9268
9269<dl>
9270
9271<dt> <b>always</b> </dt> <dd> Always convert message lines ending
9272in &lt;CR&gt;&lt;LF&gt;. This setting is the default with Postfix
92732.9 and later. </dd>
9274
9275<dt> <b>strict</b> </dt> <dd> Convert message lines ending in
9276&lt;CR&gt;&lt;LF&gt; only if the first input line ends in
9277&lt;CR&gt;&lt;LF&gt;. This setting is backwards-compatible with
9278Postfix 2.8 and earlier. </dd>
9279
9280<dt> <b>never</b> </dt> <dd> Never convert message lines ending in
9281&lt;CR&gt;&lt;LF&gt;. This setting exists for completeness only.
9282</dd>
9283
9284</dl>
9285
9286<p> This feature is available in Postfix 2.9 and later. </p>
9287
9288
9289</DD>
9290
9291<DT><b><a name="sendmail_path">sendmail_path</a>
9292(default: see "postconf -d" output)</b></DT><DD>
9293
9294<p>
9295A Sendmail compatibility feature that specifies the location of
9296the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. This command can be used to
9297submit mail into the Postfix queue.
9298</p>
9299
9300
9301</DD>
9302
9303<DT><b><a name="service_throttle_time">service_throttle_time</a>
9304(default: 60s)</b></DT><DD>
9305
9306<p>
9307How long the Postfix <a href="master.8.html">master(8)</a> waits before forking a server that
9308appears to be malfunctioning.
9309</p>
9310
9311<p>
9312Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9313The default time unit is s (seconds).
9314</p>
9315
9316
9317</DD>
9318
9319<DT><b><a name="setgid_group">setgid_group</a>
9320(default: postdrop)</b></DT><DD>
9321
9322<p>
9323The group ownership of set-gid Postfix commands and of group-writable
9324Postfix directories. When this parameter value is changed you need
9325to re-run "<b>postfix set-permissions</b>" (with Postfix version 2.0 and
9326earlier: "<b>/etc/postfix/post-install set-permissions</b>".
9327</p>
9328
9329
9330</DD>
9331
9332<DT><b><a name="show_user_unknown_table_name">show_user_unknown_table_name</a>
9333(default: yes)</b></DT><DD>
9334
9335<p>
9336Display the name of the recipient table in the "User unknown"
9337responses.  The extra detail makes trouble shooting easier but also
9338reveals information that is nobody elses business.
9339</p>
9340
9341<p>
9342This feature is available in Postfix 2.0 and later.
9343</p>
9344
9345
9346</DD>
9347
9348<DT><b><a name="showq_service_name">showq_service_name</a>
9349(default: showq)</b></DT><DD>
9350
9351<p>
9352The name of the <a href="showq.8.html">showq(8)</a> service. This service produces mail queue
9353status reports.
9354</p>
9355
9356<p>
9357This feature is available in Postfix 2.0 and later.
9358</p>
9359
9360
9361</DD>
9362
9363<DT><b><a name="smtp_address_preference">smtp_address_preference</a>
9364(default: any)</b></DT><DD>
9365
9366<p> The address type ("ipv6", "ipv4" or "any") that the Postfix
9367SMTP client will try first, when a destination has IPv6 and IPv4
9368addresses with equal MX preference. This feature has no effect
9369unless the <a href="postconf.5.html#inet_protocols">inet_protocols</a> setting enables both IPv4 and IPv6.
9370With Postfix 2.8 the default is "ipv6".  </p>
9371
9372<p> Notes for mail delivery between sites that have both IPv4 and
9373IPv6 connectivity: </p>
9374
9375<ul>
9376
9377<li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = ipv6" is unsafe.
9378It can fail to deliver mail when there is an outage that affects
9379IPv6, while the destination is still reachable over IPv4. </p>
9380
9381<li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = any" is safe. With
9382this, mail will eventually be delivered even if there is an outage
9383that affects IPv6 or IPv4, as long as it does not affect both. </p>
9384
9385</ul>
9386
9387<p> This feature is available in Postfix 2.8 and later.  </p>
9388
9389
9390</DD>
9391
9392<DT><b><a name="smtp_always_send_ehlo">smtp_always_send_ehlo</a>
9393(default: yes)</b></DT><DD>
9394
9395<p>
9396Always send EHLO at the start of an SMTP session.
9397</p>
9398
9399<p>
9400With "<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> = no", the Postfix SMTP client sends
9401EHLO only when
9402the word "ESMTP" appears in the server greeting banner (example:
9403220 spike.porcupine.org ESMTP Postfix).
9404</p>
9405
9406
9407</DD>
9408
9409<DT><b><a name="smtp_bind_address">smtp_bind_address</a>
9410(default: empty)</b></DT><DD>
9411
9412<p>
9413An optional numerical network address that the Postfix SMTP client
9414should bind to when making an IPv4 connection.
9415</p>
9416
9417<p>
9418This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
9419it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
9420for example:
9421</p>
9422
9423<blockquote>
9424<pre>
9425/etc/postfix/<a href="master.5.html">master.cf</a>:
9426    smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>=11.22.33.44
9427</pre>
9428</blockquote>
9429
9430<p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv4
9431address, and that address is a non-loopback address, it is
9432automatically used as the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>.  This supports virtual
9433IP hosting, but can be a problem on multi-homed firewalls. See the
9434<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
9435
9436<p> Note 2: address information may be enclosed inside <tt>[]</tt>,
9437but this form is not required here. </p>
9438
9439
9440</DD>
9441
9442<DT><b><a name="smtp_bind_address6">smtp_bind_address6</a>
9443(default: empty)</b></DT><DD>
9444
9445<p>
9446An optional numerical network address that the Postfix SMTP client
9447should bind to when making an IPv6 connection.
9448</p>
9449
9450<p> This feature is available in Postfix 2.2 and later. </p>
9451
9452<p>
9453This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
9454it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
9455for example:
9456</p>
9457
9458<blockquote>
9459<pre>
9460/etc/postfix/<a href="master.5.html">master.cf</a>:
9461    smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>=1:2:3:4:5:6:7:8
9462</pre>
9463</blockquote>
9464
9465<p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv6
9466address, and that address is a non-loopback address, it is
9467automatically used as the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>.  This supports virtual
9468IP hosting, but can be a problem on multi-homed firewalls. See the
9469<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
9470
9471<p> Note 2: address information may be enclosed inside <tt>[]</tt>,
9472but this form is not recommended here. </p>
9473
9474
9475</DD>
9476
9477<DT><b><a name="smtp_body_checks">smtp_body_checks</a>
9478(default: empty)</b></DT><DD>
9479
9480<p> Restricted <a href="header_checks.5.html">body_checks(5)</a> tables for the Postfix SMTP client.
9481These tables are searched while mail is being delivered.  Actions
9482that change the delivery time or destination are not available.
9483</p>
9484
9485<p> This feature is available in Postfix 2.5 and later. </p>
9486
9487
9488</DD>
9489
9490<DT><b><a name="smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
9491(default: version dependent)</b></DT><DD>
9492
9493<p> When the remote SMTP servername is a DNS CNAME, replace the
9494servername with the result from CNAME expansion for the purpose of
9495logging, SASL password lookup, TLS
9496policy decisions, or TLS certificate verification. The value "no"
9497hardens Postfix <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> hostname-based policies against
9498false hostname information in DNS CNAME records, and makes SASL
9499password file lookups more predictable. This is the default setting
9500as of Postfix 2.3. </p>
9501
9502<p> When DNS CNAME records are validated with secure DNS lookups
9503(<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> = dnssec), they are always allowed to
9504override the above servername (Postfix 2.11 and later). </p>
9505
9506<p> This feature is available in Postfix 2.2.9 and later. </p>
9507
9508
9509</DD>
9510
9511<DT><b><a name="smtp_connect_timeout">smtp_connect_timeout</a>
9512(default: 30s)</b></DT><DD>
9513
9514<p>
9515The Postfix SMTP client time limit for completing a TCP connection, or
9516zero (use the operating system built-in time limit).
9517</p>
9518
9519<p>
9520When no connection can be made within the deadline, the Postfix
9521SMTP client
9522tries the next address on the mail exchanger list. Specify 0 to
9523disable the time limit (i.e. use whatever timeout is implemented by
9524the operating system).
9525</p>
9526
9527<p>
9528Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9529The default time unit is s (seconds).
9530</p>
9531
9532
9533</DD>
9534
9535<DT><b><a name="smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
9536(default: empty)</b></DT><DD>
9537
9538<p> Permanently enable SMTP connection caching for the specified
9539destinations.  With SMTP connection caching, a connection is not
9540closed immediately after completion of a mail transaction.  Instead,
9541the connection is kept open for up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
9542seconds.  This allows connections to be reused for other deliveries,
9543and can improve mail delivery performance. </p>
9544
9545<p> Specify a comma or white space separated list of destinations
9546or pseudo-destinations: </p>
9547
9548<ul>
9549
9550<li> if mail is sent without a <a href="postconf.5.html#relayhost">relay host</a>: a domain name (the
9551right-hand side of an email address, without the [] around a numeric
9552IP address),
9553
9554<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
9555[] or non-default TCP port), as specified in <a href="postconf.5.html">main.cf</a> or in the
9556transport map,
9557
9558<li> if mail is sent via a UNIX-domain socket: a pathname (without
9559the unix: prefix),
9560
9561<li> a /file/name with domain names and/or <a href="postconf.5.html#relayhost">relay host</a> names as
9562defined above,
9563
9564<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
9565the left-hand side.  The right-hand side result from "<a href="DATABASE_README.html">type:table</a>"
9566lookups is ignored.
9567
9568</ul>
9569
9570<p> This feature is available in Postfix 2.2 and later. </p>
9571
9572
9573</DD>
9574
9575<DT><b><a name="smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
9576(default: yes)</b></DT><DD>
9577
9578<p> Temporarily enable SMTP connection caching while a destination
9579has a high volume of mail in the <a href="QSHAPE_README.html#active_queue">active queue</a>.  With SMTP connection
9580caching, a connection is not closed immediately after completion
9581of a mail transaction.  Instead, the connection is kept open for
9582up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> seconds.  This allows
9583connections to be reused for other deliveries, and can improve mail
9584delivery performance. </p>
9585
9586<p> This feature is available in Postfix 2.2 and later. </p>
9587
9588
9589</DD>
9590
9591<DT><b><a name="smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
9592(default: 2s)</b></DT><DD>
9593
9594<p> When SMTP connection caching is enabled, the amount of time that
9595an unused SMTP client socket is kept open before it is closed.  Do
9596not specify larger values without permission from the remote sites.
9597</p>
9598
9599<p> This feature is available in Postfix 2.2 and later. </p>
9600
9601
9602</DD>
9603
9604<DT><b><a name="smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a>
9605(default: 0)</b></DT><DD>
9606
9607<p> When SMTP connection caching is enabled, the number of times
9608that an SMTP session may be reused before it is closed, or zero (no
9609limit).  With a reuse count limit of N, a connection is used up to
9610N+1 times.  </p>
9611
9612<p> NOTE: This feature is unsafe. When a high-volume destination
9613has multiple inbound MTAs, then the slowest inbound MTA will attract
9614the most connections to that destination.  This limitation does not
9615exist with the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> feature. </p>
9616
9617<p> This feature is available in Postfix 2.11. </p>
9618
9619
9620</DD>
9621
9622<DT><b><a name="smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
9623(default: 300s)</b></DT><DD>
9624
9625<p> The amount of time during which Postfix will use an SMTP
9626connection repeatedly.  The timer starts when the connection is
9627initiated (i.e. it includes the connect, greeting and helo latency,
9628in addition to the latencies of subsequent mail delivery transactions).
9629</p>
9630
9631<p> This feature addresses a performance stability problem with
9632remote SMTP servers. This problem is not specific to Postfix: it
9633can happen when any MTA sends large amounts of SMTP email to a site
9634that has multiple MX hosts. </p>
9635
9636<p> The problem starts when one of a set of MX hosts becomes slower
9637than the rest.  Even though SMTP clients connect to fast and slow
9638MX hosts with equal probability, the slow MX host ends up with more
9639simultaneous inbound connections than the faster MX hosts, because
9640the slow MX host needs more time to serve each client request. </p>
9641
9642<p> The slow MX host becomes a connection attractor.  If one MX
9643host becomes N times slower than the rest, it dominates mail delivery
9644latency unless there are more than N fast MX hosts to counter the
9645effect. And if the number of MX hosts is smaller than N, the mail
9646delivery latency becomes effectively that of the slowest MX host
9647divided by the total number of MX hosts. </p>
9648
9649<p> The solution uses connection caching in a way that differs from
9650Postfix version 2.2.  By limiting the amount of time during which a connection
9651can be used repeatedly (instead of limiting the number of deliveries
9652over that connection), Postfix not only restores fairness in the
9653distribution of simultaneous connections across a set of MX hosts,
9654it also favors deliveries over connections that perform well, which
9655is exactly what we want.  </p>
9656
9657<p> The default reuse time limit, 300s, is comparable to the various
9658smtp transaction timeouts which are fair estimates of maximum excess
9659latency for a slow delivery.  Note that hosts may accept thousands
9660of messages over a single connection within the default connection
9661reuse time limit. This number is much larger than the default Postfix
9662version 2.2 limit of 10 messages per cached connection. It may prove necessary
9663to lower the limit to avoid interoperability issues with MTAs that
9664exhibit bugs when many messages are delivered via a single connection.
9665A lower reuse time limit risks losing the benefit of connection
9666reuse when the average connection and mail delivery latency exceeds
9667the reuse time limit.  </p>
9668
9669<p> This feature is available in Postfix 2.3 and later. </p>
9670
9671
9672</DD>
9673
9674<DT><b><a name="smtp_data_done_timeout">smtp_data_done_timeout</a>
9675(default: 600s)</b></DT><DD>
9676
9677<p>
9678The Postfix SMTP client time limit for sending the SMTP ".", and
9679for receiving the remote SMTP server response.
9680</p>
9681
9682<p>
9683When no response is received within the deadline, a warning is
9684logged that the mail may be delivered multiple times.
9685</p>
9686
9687<p>
9688Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9689The default time unit is s (seconds).
9690</p>
9691
9692
9693</DD>
9694
9695<DT><b><a name="smtp_data_init_timeout">smtp_data_init_timeout</a>
9696(default: 120s)</b></DT><DD>
9697
9698<p>
9699The Postfix SMTP client time limit for sending the SMTP DATA command,
9700and for receiving the remote SMTP server response.
9701</p>
9702
9703<p>
9704Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9705The default time unit is s (seconds).
9706</p>
9707
9708
9709</DD>
9710
9711<DT><b><a name="smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
9712(default: 180s)</b></DT><DD>
9713
9714<p>
9715The Postfix SMTP client time limit for sending the SMTP message content.
9716When the connection makes no progress for more than $<a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
9717seconds the Postfix SMTP client terminates the transfer.
9718</p>
9719
9720<p>
9721Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9722The default time unit is s (seconds).
9723</p>
9724
9725
9726</DD>
9727
9728<DT><b><a name="smtp_defer_if_no_mx_address_found">smtp_defer_if_no_mx_address_found</a>
9729(default: no)</b></DT><DD>
9730
9731<p>
9732Defer mail delivery when no MX record resolves to an IP address.
9733</p>
9734
9735<p>
9736The default (no) is to return the mail as undeliverable. With older
9737Postfix versions the default was to keep trying to deliver the mail
9738until someone fixed the MX record or until the mail was too old.
9739</p>
9740
9741<p>
9742Note: the Postfix SMTP client always ignores MX records with equal
9743or worse preference
9744than the local MTA itself.
9745</p>
9746
9747<p>
9748This feature is available in Postfix 2.1 and later.
9749</p>
9750
9751
9752</DD>
9753
9754<DT><b><a name="smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>
9755(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
9756
9757<p> The maximal number of parallel deliveries to the same destination
9758via the smtp message delivery transport. This limit is enforced by
9759the queue manager. The message delivery transport name is the first
9760field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
9761
9762
9763</DD>
9764
9765<DT><b><a name="smtp_destination_recipient_limit">smtp_destination_recipient_limit</a>
9766(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
9767
9768<p> The maximal number of recipients per message for the smtp
9769message delivery transport. This limit is enforced by the queue
9770manager. The message delivery transport name is the first field in
9771the entry in the <a href="master.5.html">master.cf</a> file.  </p>
9772
9773<p> Setting this parameter to a value of 1 changes the meaning of
9774<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> from concurrency per domain
9775into concurrency per recipient.  </p>
9776
9777
9778</DD>
9779
9780<DT><b><a name="smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>
9781(default: empty)</b></DT><DD>
9782
9783<p> Lookup tables, indexed by the remote SMTP server address, with
9784case insensitive lists of EHLO keywords (pipelining, starttls, auth,
9785etc.) that the Postfix SMTP client will ignore in the EHLO response from a
9786remote SMTP server. See <a href="postconf.5.html#smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a> for details. The
9787table is not indexed by hostname for consistency with
9788<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
9789
9790<p> This feature is available in Postfix 2.2 and later. </p>
9791
9792
9793</DD>
9794
9795<DT><b><a name="smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a>
9796(default: empty)</b></DT><DD>
9797
9798<p> A case insensitive list of EHLO keywords (pipelining, starttls,
9799auth, etc.) that the Postfix SMTP client will ignore in the EHLO
9800response from a remote SMTP server. </p>
9801
9802<p> This feature is available in Postfix 2.2 and later. </p>
9803
9804<p> Notes: </p>
9805
9806<ul>
9807
9808<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
9809this action from being logged. </p>
9810
9811<li> <p> Use the <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a> feature to
9812discard EHLO keywords selectively. </p>
9813
9814</ul>
9815
9816
9817</DD>
9818
9819<DT><b><a name="smtp_dns_resolver_options">smtp_dns_resolver_options</a>
9820(default: empty)</b></DT><DD>
9821
9822<p> DNS Resolver options for the Postfix SMTP client.  Specify zero
9823or more of the following options, separated by comma or whitespace.
9824Option names are case-sensitive. Some options refer to domain names
9825that are specified in the file /etc/resolv.conf or equivalent. </p>
9826
9827<dl>
9828
9829<dt><b>res_defnames</b></dt>
9830
9831<dd> Append the current domain name to single-component names (those
9832that do not contain a "." character). This can produce incorrect
9833results, and is the hard-coded behavior prior to Postfix 2.8. </dd>
9834
9835<dt><b>res_dnsrch</b></dt>
9836
9837<dd> Search for host names in the current domain and in parent
9838domains. This can produce incorrect results and is therefore not
9839recommended. </dd>
9840
9841</dl>
9842
9843<p> This feature is available in Postfix 2.8 and later.  </p>
9844
9845
9846</DD>
9847
9848<DT><b><a name="smtp_dns_support_level">smtp_dns_support_level</a>
9849(default: empty)</b></DT><DD>
9850
9851<p> Level of DNS support in the Postfix SMTP client.  With
9852"<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>" left at its empty default value, the legacy
9853"<a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a>" parameter controls whether DNS is enabled in
9854the Postfix SMTP client, otherwise the legacy parameter is ignored.
9855</p>
9856
9857<p> Specify one of the following: </p>
9858
9859<dl>
9860
9861<dt><b>disabled</b></dt>
9862
9863<dd>Disable DNS lookups.  No MX lookups are performed and hostname
9864to address lookups are unconditionally "native".  This setting is
9865not appropriate for hosts that deliver mail to the public Internet.
9866Some obsolete how-to documents recommend disabling DNS lookups in
9867some configurations with content_filters.  This is no longer required
9868and strongly discouraged.  </dd>
9869
9870<dt><b>enabled</b></dt>
9871
9872<dd>Enable DNS lookups.  Nexthop destination domains not enclosed
9873in "[]" will be subject to MX lookups.  If "dns" and "native" are
9874included in the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter value, DNS will be
9875queried first to resolve MX-host A records, followed by "native"
9876lookups if no answer is found in DNS.  </dd>
9877
9878<dt><b>dnssec</b></dt>
9879
9880<dd>Enable <a href="https://tools.ietf.org/html/rfc4033">DNSSEC</a>
9881lookups.  The "dnssec" setting differs from the "enabled" setting
9882above in the following ways: <ul> <li>Any MX lookups will set
9883RES_USE_DNSSEC and RES_USE_EDNS0 to request DNSSEC-validated
9884responses. If the MX response is DNSSEC-validated the corresponding
9885hostnames are considered validated.  <li> The address lookups of
9886validated hostnames are also validated, (provided of course
9887"<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" includes "dns", see below).  <li>Temporary
9888failures in DNSSEC-enabled hostname-to-address resolution block any
9889"native" lookups.  Additional "native" lookups only happen when
9890DNSSEC lookups hard-fail (NODATA or NXDOMAIN).  </ul> </dd>
9891
9892</dl>
9893
9894<p> The Postfix SMTP client considers non-MX "[nexthop]" and
9895"[nexthop]:port" destinations equivalent to statically-validated
9896MX records of the form "nexthop.  IN MX 0 nexthop."  Therefore,
9897with "dnssec" support turned on, validated hostname-to-address
9898lookups apply to the nexthop domain of any "[nexthop]" or
9899"[nexthop]:port" destination.  This is also true for LMTP "inet:host"
9900and "inet:host:port" destinations, as LMTP hostnames are never
9901subject to MX lookups.  </p>
9902
9903<p>The "dnssec" setting is recommended only if you plan to use the
9904<a href="TLS_README.html#client_tls_dane">dane</a> or <a
9905href="TLS_README.html#client_tls_dane">dane-only</a> TLS security
9906level, otherwise enabling DNSSEC support in Postfix offers no
9907additional security.  Postfix DNSSEC support relies on an upstream
9908recursive nameserver that validates DNSSEC signatures.  Such a DNS
9909server will always filter out forged DNS responses, even when Postfix
9910itself is not configured to use DNSSEC. </p>
9911
9912<p> When using Postfix DANE support the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter
9913should include "dns", as <a
9914href="https://tools.ietf.org/html/rfc6698">DANE</a> is not applicable
9915to hosts resolved via "native" lookups.  </p>
9916
9917<p> As mentioned above, Postfix is not a validating <a
9918href="https://tools.ietf.org/html/rfc4035#section-4.9">stub
9919resolver</a>; it relies on the system's configured DNSSEC-validating
9920<a href="https://tools.ietf.org/html/rfc4035#section-3.2">recursive
9921nameserver</a> to perform all DNSSEC validation.  Since this
9922nameserver's DNSSEC-validated responses will be fully trusted, it
9923is strongly recommended that the MTA host have a local DNSSEC-validating
9924recursive caching nameserver listening on a loopback address, and
9925be configured to use only this nameserver for all lookups.  Otherwise,
9926Postfix may remain subject to man-in-the-middle attacks that forge
9927responses from the recursive nameserver</p>
9928
9929<p>DNSSEC support requires a version of Postfix compiled against a
9930reasonably-modern DNS resolver(3) library that implements the
9931RES_USE_DNSSEC and RES_USE_EDNS0 resolver options. </p>
9932
9933<p> This feature is available in Postfix 2.11 and later.  </p>
9934
9935
9936</DD>
9937
9938<DT><b><a name="smtp_enforce_tls">smtp_enforce_tls</a>
9939(default: no)</b></DT><DD>
9940
9941<p> Enforcement mode: require that remote SMTP servers use TLS
9942encryption, and never send mail in the clear.  This also requires
9943that the remote SMTP server hostname matches the information in
9944the remote server certificate, and that the remote SMTP server
9945certificate was issued by a CA that is trusted by the Postfix SMTP
9946client. If the certificate doesn't verify or the hostname doesn't
9947match, delivery is deferred and mail stays in the queue.  </p>
9948
9949<p> The server hostname is matched against all names provided as
9950dNSNames in the SubjectAlternativeName.  If no dNSNames are specified,
9951the CommonName is checked.  The behavior may be changed with the
9952<a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> option.  </p>
9953
9954<p> This option is useful only if you are definitely sure that you
9955will only connect to servers that support <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> _and_ that
9956provide valid server certificates.  Typical use is for clients that
9957send all their email to a dedicated mailhub.  </p>
9958
9959<p> This feature is available in Postfix 2.2 and later. With
9960Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
9961
9962
9963</DD>
9964
9965<DT><b><a name="smtp_fallback_relay">smtp_fallback_relay</a>
9966(default: $<a href="postconf.5.html#fallback_relay">fallback_relay</a>)</b></DT><DD>
9967
9968<p>
9969Optional list of relay hosts for SMTP destinations that can't be
9970found or that are unreachable. With Postfix 2.2 and earlier this
9971parameter is called <a href="postconf.5.html#fallback_relay">fallback_relay</a>.  </p>
9972
9973<p>
9974By default, mail is returned to the sender when a destination is
9975not found, and delivery is deferred when a destination is unreachable.
9976</p>
9977
9978<p> With bulk email deliveries, it can be beneficial to run the
9979fallback relay MTA on the same host, so that it can reuse the sender
9980IP address.  This speeds up deliveries that are delayed by IP-based
9981reputation systems (greylist, etc.). </p>
9982
9983<p> The fallback relays must be SMTP destinations. Specify a domain,
9984host, host:port, [host]:port, [address] or [address]:port; the form
9985[host] turns off MX lookups.  If you specify multiple SMTP
9986destinations, Postfix will try them in the specified order.  </p>
9987
9988<p> To prevent mailer loops between MX hosts and fall-back hosts,
9989Postfix version 2.2 and later will not use the fallback relays for
9990destinations that it is MX host for (assuming DNS lookup is turned on).
9991</p>
9992
9993
9994</DD>
9995
9996<DT><b><a name="smtp_generic_maps">smtp_generic_maps</a>
9997(default: empty)</b></DT><DD>
9998
9999<p> Optional lookup tables that perform address rewriting in the
10000Postfix SMTP client, typically to transform a locally valid address into
10001a globally valid address when sending mail across the Internet.
10002This is needed when the local machine does not have its own Internet
10003domain name, but uses something like <i>localdomain.local</i>
10004instead.  </p>
10005
10006<p> The table format and lookups are documented in <a href="generic.5.html">generic(5)</a>;
10007examples are shown in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> and
10008<a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> documents. </p>
10009
10010<p> This feature is available in Postfix 2.2 and later.  </p>
10011
10012
10013</DD>
10014
10015<DT><b><a name="smtp_header_checks">smtp_header_checks</a>
10016(default: empty)</b></DT><DD>
10017
10018<p> Restricted <a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP client.
10019These tables are searched while mail is being delivered.  Actions
10020that change the delivery time or destination are not available.
10021</p>
10022
10023<p> This feature is available in Postfix 2.5 and later. </p>
10024
10025
10026</DD>
10027
10028<DT><b><a name="smtp_helo_name">smtp_helo_name</a>
10029(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
10030
10031<p>
10032The hostname to send in the SMTP EHLO or HELO command.
10033</p>
10034
10035<p>
10036The default value is the machine hostname.  Specify a hostname or
10037[ip.add.re.ss].
10038</p>
10039
10040<p>
10041This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP
10042clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
10043client, for example:
10044</p>
10045
10046<blockquote>
10047<pre>
10048/etc/postfix/<a href="master.5.html">master.cf</a>:
10049    mysmtp ... smtp -o <a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a>=foo.bar.com
10050</pre>
10051</blockquote>
10052
10053<p>
10054This feature is available in Postfix 2.0 and later.
10055</p>
10056
10057
10058</DD>
10059
10060<DT><b><a name="smtp_helo_timeout">smtp_helo_timeout</a>
10061(default: 300s)</b></DT><DD>
10062
10063<p>
10064The Postfix SMTP client time limit for sending the HELO or EHLO command,
10065and for receiving the initial remote SMTP server response.
10066</p>
10067
10068<p>
10069Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10070The default time unit is s (seconds).
10071</p>
10072
10073
10074</DD>
10075
10076<DT><b><a name="smtp_host_lookup">smtp_host_lookup</a>
10077(default: dns)</b></DT><DD>
10078
10079<p>
10080What mechanisms the Postfix SMTP client uses to look up a host's
10081IP address.  This parameter is ignored when DNS lookups are disabled
10082(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"
10083mechanism is always tried before "native" if both are listed.
10084</p>
10085
10086<p>
10087Specify one of the following:
10088</p>
10089
10090<dl>
10091
10092<dt><b>dns</b></dt>
10093
10094<dd>Hosts can be found in the DNS (preferred).  </dd>
10095
10096<dt><b>native</b></dt>
10097
10098<dd>Use the native naming service only (nsswitch.conf, or equivalent
10099mechanism).  </dd>
10100
10101<dt><b>dns, native</b></dt>
10102
10103<dd>Use the native service for hosts not found in the DNS.  </dd>
10104
10105</dl>
10106
10107<p>
10108This feature is available in Postfix 2.1 and later.
10109</p>
10110
10111
10112</DD>
10113
10114<DT><b><a name="smtp_line_length_limit">smtp_line_length_limit</a>
10115(default: 998)</b></DT><DD>
10116
10117<p>
10118The maximal length of message header and body lines that Postfix
10119will send via SMTP. This limit does not include the &lt;CR&gt;&lt;LF&gt;
10120at the end of each line.  Longer lines are broken by inserting
10121"&lt;CR&gt;&lt;LF&gt;&lt;SPACE&gt;", to minimize the damage to MIME
10122formatted mail.
10123</p>
10124
10125<p>
10126The Postfix limit of 998 characters not including &lt;CR&gt;&lt;LF&gt;
10127is consistent with the SMTP limit of 1000 characters including
10128&lt;CR&gt;&lt;LF&gt;.  The Postfix limit was 990 with Postfix 2.8
10129and earlier.
10130</p>
10131
10132
10133</DD>
10134
10135<DT><b><a name="smtp_mail_timeout">smtp_mail_timeout</a>
10136(default: 300s)</b></DT><DD>
10137
10138<p>
10139The Postfix SMTP client time limit for sending the MAIL FROM command,
10140and for receiving the remote SMTP server response.
10141</p>
10142
10143<p>
10144Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10145The default time unit is s (seconds).
10146</p>
10147
10148
10149</DD>
10150
10151<DT><b><a name="smtp_mime_header_checks">smtp_mime_header_checks</a>
10152(default: empty)</b></DT><DD>
10153
10154<p> Restricted mime_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
10155client. These tables are searched while mail is being delivered.
10156Actions that change the delivery time or destination are not
10157available.  </p>
10158
10159<p> This feature is available in Postfix 2.5 and later. </p>
10160
10161
10162</DD>
10163
10164<DT><b><a name="smtp_mx_address_limit">smtp_mx_address_limit</a>
10165(default: 5)</b></DT><DD>
10166
10167<p>
10168The maximal number of MX (mail exchanger) IP addresses that can
10169result from Postfix SMTP client mail exchanger lookups, or zero (no
10170limit). Prior to
10171Postfix version 2.3, this limit was disabled by default.
10172</p>
10173
10174<p>
10175This feature is available in Postfix 2.1 and later.
10176</p>
10177
10178
10179</DD>
10180
10181<DT><b><a name="smtp_mx_session_limit">smtp_mx_session_limit</a>
10182(default: 2)</b></DT><DD>
10183
10184<p> The maximal number of SMTP sessions per delivery request before
10185the Postfix SMTP client
10186gives up or delivers to a fall-back <a href="postconf.5.html#relayhost">relay host</a>, or zero (no
10187limit). This restriction ignores sessions that fail to complete the
10188SMTP initial handshake (Postfix version 2.2 and earlier) or that fail to
10189complete the EHLO and TLS handshake (Postfix version 2.3 and later).  </p>
10190
10191<p> This feature is available in Postfix 2.1 and later.  </p>
10192
10193
10194</DD>
10195
10196<DT><b><a name="smtp_nested_header_checks">smtp_nested_header_checks</a>
10197(default: empty)</b></DT><DD>
10198
10199<p> Restricted nested_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
10200client. These tables are searched while mail is being delivered.
10201Actions that change the delivery time or destination are not
10202available.  </p>
10203
10204<p> This feature is available in Postfix 2.5 and later. </p>
10205
10206
10207</DD>
10208
10209<DT><b><a name="smtp_never_send_ehlo">smtp_never_send_ehlo</a>
10210(default: no)</b></DT><DD>
10211
10212<p> Never send EHLO at the start of an SMTP session. See also the
10213<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> parameter.  </p>
10214
10215
10216</DD>
10217
10218<DT><b><a name="smtp_per_record_deadline">smtp_per_record_deadline</a>
10219(default: no)</b></DT><DD>
10220
10221<p> Change the behavior of the smtp_*_timeout time limits, from a
10222time limit per read or write system call, to a time limit to send
10223or receive a complete record (an SMTP command line, SMTP response
10224line, SMTP message content line, or TLS protocol message).  This
10225limits the impact from hostile peers that trickle data one byte at
10226a time.  </p>
10227
10228<p> Note: when per-record deadlines are enabled, a short timeout
10229may cause problems with TLS over very slow network connections.
10230The reasons are that a TLS protocol message can be up to 16 kbytes
10231long (with TLSv1), and that an entire TLS protocol message must be
10232sent or received within the per-record deadline.  </p>
10233
10234<p> This feature is available in Postfix 2.9 and later. With older
10235Postfix releases, the behavior is as if this parameter is set to
10236"no". </p>
10237
10238
10239</DD>
10240
10241<DT><b><a name="smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
10242(default: 10s)</b></DT><DD>
10243
10244<p>
10245How long the Postfix SMTP client pauses before sending
10246".&lt;CR&gt;&lt;LF&gt;" in order to work around the PIX firewall
10247"&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;" bug.
10248</p>
10249
10250<p>
10251Choosing a too short time makes this workaround ineffective when
10252sending large messages over slow network connections.
10253</p>
10254
10255
10256</DD>
10257
10258<DT><b><a name="smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
10259(default: empty)</b></DT><DD>
10260
10261<p> Lookup tables, indexed by the remote SMTP server address, with
10262per-destination workarounds for CISCO PIX firewall bugs.  The table
10263is not indexed by hostname for consistency with
10264<a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>. </p>
10265
10266<p> This feature is available in Postfix 2.4 and later. </p>
10267
10268
10269</DD>
10270
10271<DT><b><a name="smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
10272(default: 500s)</b></DT><DD>
10273
10274<p> How long a message must be queued before the Postfix SMTP client
10275turns on the PIX firewall "&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;"
10276bug workaround for delivery through firewalls with "smtp fixup"
10277mode turned on.  </p>
10278
10279<p>
10280By default, the workaround is turned off for mail that is queued
10281for less than 500 seconds. In other words, the workaround is normally
10282turned off for the first delivery attempt.
10283</p>
10284
10285<p>
10286Specify 0 to enable the PIX firewall
10287"&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;" bug workaround upon the
10288first delivery attempt.
10289</p>
10290
10291
10292</DD>
10293
10294<DT><b><a name="smtp_pix_workarounds">smtp_pix_workarounds</a>
10295(default: disable_esmtp, delay_dotcrlf)</b></DT><DD>
10296
10297<p> A list that specifies zero or more workarounds for CISCO PIX
10298firewall bugs. These workarounds are implemented by the Postfix
10299SMTP client. Workaround names are separated by comma or space, and
10300are case insensitive.  This parameter setting can be overruled with
10301per-destination <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> settings. </p>
10302
10303<dl>
10304
10305<dt><b>delay_dotcrlf</b><dd> Insert a delay before sending
10306".&lt;CR&gt;&lt;LF&gt;" after the end of the message content.  The
10307delay is subject to the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> and
10308<a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> parameter settings. </dd>
10309
10310<dt><b>disable_esmtp</b><dd> Disable all extended SMTP commands:
10311send HELO instead of EHLO. </dd>
10312
10313</dl>
10314
10315<p> This feature is available in Postfix 2.4 and later. The default
10316settings are backwards compatible with earlier Postfix versions.
10317</p>
10318
10319
10320</DD>
10321
10322<DT><b><a name="smtp_quit_timeout">smtp_quit_timeout</a>
10323(default: 300s)</b></DT><DD>
10324
10325<p>
10326The Postfix SMTP client time limit for sending the QUIT command,
10327and for receiving the remote SMTP server response.
10328</p>
10329
10330<p>
10331Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10332The default time unit is s (seconds).
10333</p>
10334
10335
10336</DD>
10337
10338<DT><b><a name="smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
10339(default: yes)</b></DT><DD>
10340
10341<p>
10342Quote addresses in Postfix SMTP client MAIL FROM and RCPT TO commands
10343as required
10344by <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. This includes putting quotes around an address localpart
10345that ends in ".".
10346</p>
10347
10348<p>
10349The default is to comply with <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. If you have to send mail to
10350a broken SMTP server, configure a special SMTP client in <a href="master.5.html">master.cf</a>:
10351</p>
10352
10353<blockquote>
10354<pre>
10355/etc/postfix/<a href="master.5.html">master.cf</a>:
10356    broken-smtp . . . smtp -o <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>=no
10357</pre>
10358</blockquote>
10359
10360<p>
10361and route mail for the destination in question to the "broken-smtp"
10362message delivery with a <a href="transport.5.html">transport(5)</a> table.
10363</p>
10364
10365<p>
10366This feature is available in Postfix 2.1 and later.
10367</p>
10368
10369
10370</DD>
10371
10372<DT><b><a name="smtp_randomize_addresses">smtp_randomize_addresses</a>
10373(default: yes)</b></DT><DD>
10374
10375<p>
10376Randomize the order of equal-preference MX host addresses.  This
10377is a performance feature of the Postfix SMTP client.
10378</p>
10379
10380
10381</DD>
10382
10383<DT><b><a name="smtp_rcpt_timeout">smtp_rcpt_timeout</a>
10384(default: 300s)</b></DT><DD>
10385
10386<p>
10387The Postfix SMTP client time limit for sending the SMTP RCPT TO
10388command, and for receiving the remote SMTP server response.
10389</p>
10390
10391<p>
10392Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10393The default time unit is s (seconds).
10394</p>
10395
10396
10397</DD>
10398
10399<DT><b><a name="smtp_reply_filter">smtp_reply_filter</a>
10400(default: empty)</b></DT><DD>
10401
10402<p> A mechanism to transform replies from remote SMTP servers one
10403line at a time.  This is a last-resort tool to work around server
10404replies that break inter-operability with the Postfix SMTP client.
10405Other uses involve fault injection to test Postfix's handling of
10406invalid responses. </p>
10407
10408<p> Notes: </p>
10409
10410<ul>
10411
10412<li> <p> In the case of a multi-line reply, the Postfix SMTP client
10413uses the final reply line's numerical SMTP reply code and enhanced
10414status code.  </p>
10415
10416<li> <p> The numerical SMTP reply code (XYZ) takes precedence over
10417the enhanced status code (X.Y.Z).  When the enhanced status code
10418initial digit differs from the SMTP reply code initial digit, or
10419when no enhanced status code is present, the Postfix SMTP client
10420uses a generic enhanced status code (X.0.0) instead. </p>
10421
10422</ul>
10423
10424<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
10425string is a single SMTP reply line as received from the remote SMTP
10426server, except that the trailing &lt;CR&gt;&lt;LF&gt; are removed.
10427When the lookup succeeds, the result replaces the single SMTP reply
10428line. </p>
10429
10430<p> Examples: </p>
10431
10432<pre>
10433/etc/postfix/<a href="postconf.5.html">main.cf</a>:
10434    <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/reply_filter
10435</pre>
10436
10437<pre>
10438/etc/postfix/reply_filter:
10439    # Transform garbage into "250-filler..." so that it looks like
10440    # one line from a multi-line reply. It does not matter what we
10441    # substitute here as long it has the right syntax.  The Postfix
10442    # SMTP client will use the final line's numerical SMTP reply
10443    # code and enhanced status code.
10444    !/^([2-5][0-9][0-9]($|[- ]))/ 250-filler for garbage
10445</pre>
10446
10447<p> This feature is available in Postfix 2.7. </p>
10448
10449
10450</DD>
10451
10452<DT><b><a name="smtp_rset_timeout">smtp_rset_timeout</a>
10453(default: 20s)</b></DT><DD>
10454
10455<p> The Postfix SMTP client time limit for sending the RSET command,
10456and for receiving the remote SMTP server response. The SMTP client
10457sends RSET in
10458order to finish a recipient address probe, or to verify that a
10459cached session is still usable.  </p>
10460
10461<p> This feature is available in Postfix 2.1 and later.  </p>
10462
10463
10464</DD>
10465
10466<DT><b><a name="smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
10467(default: empty)</b></DT><DD>
10468
10469<p> An optional table to prevent repeated SASL authentication
10470failures with the same remote SMTP server hostname, username and
10471password. Each table (key, value) pair contains a server name, a
10472username and password, and the full server response. This information
10473is stored when a remote SMTP server rejects an authentication attempt
10474with a 535 reply code.  As long as the <a href="postconf.5.html#smtp_sasl_password_maps">smtp_sasl_password_maps</a>
10475information does no change, and as long as the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
10476information does not expire (see <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>) the
10477Postfix SMTP client avoids SASL authentication attempts with the
10478same server, username and password, and instead bounces or defers
10479mail as controlled with the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> configuration
10480parameter.  </p>
10481
10482<p> Use a per-destination delivery concurrency of 1 (for example,
10483"<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> = 1",
10484"<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> = 1", etc.), otherwise multiple
10485delivery agents may experience a login failure at the same time.
10486</p>
10487
10488<p> The table must be accessed via the proxywrite service, i.e. the
10489map name must start with "<a href="proxymap.8.html">proxy</a>:". The table should be stored under
10490the directory specified with the <a href="postconf.5.html#data_directory">data_directory</a> parameter. </p>
10491
10492<p> This feature uses cryptographic hashing to protect plain-text
10493passwords, and requires that Postfix is compiled with TLS support.
10494</p>
10495
10496<p> Example: </p>
10497
10498<pre>
10499<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
10500</pre>
10501
10502<p> This feature is available in Postfix 2.5 and later. </p>
10503
10504
10505</DD>
10506
10507<DT><b><a name="smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
10508(default: 90d)</b></DT><DD>
10509
10510<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
10511is removed. </p>
10512
10513<p> This feature is available in Postfix 2.5 and later. </p>
10514
10515
10516</DD>
10517
10518<DT><b><a name="smtp_sasl_auth_enable">smtp_sasl_auth_enable</a>
10519(default: no)</b></DT><DD>
10520
10521<p>
10522Enable SASL authentication in the Postfix SMTP client.  By default,
10523the Postfix SMTP client uses no authentication.
10524</p>
10525
10526<p>
10527Example:
10528</p>
10529
10530<pre>
10531<a href="postconf.5.html#smtp_sasl_auth_enable">smtp_sasl_auth_enable</a> = yes
10532</pre>
10533
10534
10535</DD>
10536
10537<DT><b><a name="smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
10538(default: yes)</b></DT><DD>
10539
10540<p> When a remote SMTP server rejects a SASL authentication request
10541with a 535 reply code, defer mail delivery instead of returning
10542mail as undeliverable. The latter behavior was hard-coded prior to
10543Postfix version 2.5. </p>
10544
10545<p> Note: the setting "yes" overrides the global <a href="postconf.5.html#soft_bounce">soft_bounce</a>
10546parameter, but the setting "no" does not. </p>
10547
10548<p> Example: </p>
10549
10550<pre>
10551# Default as of Postfix 2.5
10552<a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = yes
10553# The old hard-coded default
10554<a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = no
10555</pre>
10556
10557<p> This feature is available in Postfix 2.5 and later. </p>
10558
10559
10560</DD>
10561
10562<DT><b><a name="smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
10563(default: empty)</b></DT><DD>
10564
10565<p>
10566If non-empty, a Postfix SMTP client filter for the remote SMTP
10567server's list of offered SASL mechanisms.  Different client and
10568server implementations may support different mechanism lists; by
10569default, the Postfix SMTP client will use the intersection of the
10570two. <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> specifies an optional third mechanism
10571list to intersect with. </p>
10572
10573<p> Specify mechanism names, "/file/name" patterns or "<a href="DATABASE_README.html">type:table</a>"
10574lookup tables. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>" lookups
10575is ignored. Specify "!pattern" to exclude a mechanism name from the
10576list. The form "!/file/name" is supported only in Postfix version
105772.4 and later. </p>
10578
10579<p> This feature is available in Postfix 2.2 and later. </p>
10580
10581<p>
10582Examples:
10583</p>
10584
10585<pre>
10586<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = plain, login
10587<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = /etc/postfix/smtp_mechs
10588<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
10589</pre>
10590
10591
10592</DD>
10593
10594<DT><b><a name="smtp_sasl_password_maps">smtp_sasl_password_maps</a>
10595(default: empty)</b></DT><DD>
10596
10597<p>
10598Optional Postfix SMTP client lookup tables with one username:password
10599entry
10600per remote hostname or domain, or sender address when sender-dependent
10601authentication is enabled.  If no username:password entry is found,
10602then the Postfix SMTP client will not
10603attempt to authenticate to the remote host.
10604</p>
10605
10606<p>
10607The Postfix SMTP client opens the lookup table before going to
10608chroot jail, so you can leave the password file in /etc/postfix.
10609</p>
10610
10611
10612</DD>
10613
10614<DT><b><a name="smtp_sasl_path">smtp_sasl_path</a>
10615(default: empty)</b></DT><DD>
10616
10617<p> Implementation-specific information that the Postfix SMTP client
10618passes through to
10619the SASL plug-in implementation that is selected with
10620<b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.  Typically this specifies the name of a
10621configuration file or rendezvous point. </p>
10622
10623<p> This feature is available in Postfix 2.3 and later. </p>
10624
10625
10626</DD>
10627
10628<DT><b><a name="smtp_sasl_security_options">smtp_sasl_security_options</a>
10629(default: noplaintext, noanonymous)</b></DT><DD>
10630
10631<p> Postfix SMTP client SASL security options; as of Postfix 2.3
10632the list of available
10633features depends on the SASL client implementation that is selected
10634with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.  </p>
10635
10636<p> The following security features are defined for the <b>cyrus</b>
10637client SASL implementation: </p>
10638
10639<p>
10640Specify zero or more of the following:
10641</p>
10642
10643<dl>
10644
10645<dt><b>noplaintext</b></dt>
10646
10647<dd>Disallow methods that use plaintext passwords. </dd>
10648
10649<dt><b>noactive</b></dt>
10650
10651<dd>Disallow methods subject to active (non-dictionary) attack.
10652</dd>
10653
10654<dt><b>nodictionary</b></dt>
10655
10656<dd>Disallow methods subject to passive (dictionary) attack. </dd>
10657
10658<dt><b>noanonymous</b></dt>
10659
10660<dd>Disallow methods that allow anonymous authentication. </dd>
10661
10662<dt><b>mutual_auth</b></dt>
10663
10664<dd>Only allow methods that provide mutual authentication (not
10665available with SASL version 1). </dd>
10666
10667</dl>
10668
10669<p>
10670Example:
10671</p>
10672
10673<pre>
10674<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> = noplaintext
10675</pre>
10676
10677
10678</DD>
10679
10680<DT><b><a name="smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
10681(default: $<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a>)</b></DT><DD>
10682
10683<p> The SASL authentication security options that the Postfix SMTP
10684client uses for TLS encrypted SMTP sessions. </p>
10685
10686<p> This feature is available in Postfix 2.2 and later.  </p>
10687
10688
10689</DD>
10690
10691<DT><b><a name="smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a>
10692(default: $<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>)</b></DT><DD>
10693
10694<p> The SASL authentication security options that the Postfix SMTP
10695client uses for TLS encrypted SMTP sessions with a verified server
10696certificate. </p>
10697
10698<p> When mail is sent to the public MX host for the recipient's
10699domain, server certificates are by default optional, and delivery
10700proceeds even if certificate verification fails. For delivery via
10701a submission service that requires SASL authentication, it may be
10702appropriate to send plaintext passwords only when the connection
10703to the server is strongly encrypted <b>and</b> the server identity
10704is verified. </p>
10705
10706<p> The <a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> parameter makes it
10707possible to only enable plaintext mechanisms when a secure connection
10708to the server is available. Submission servers subject to this
10709policy must either have verifiable certificates or offer suitable
10710non-plaintext SASL mechanisms. </p>
10711
10712<p> This feature is available in Postfix 2.6 and later. </p>
10713
10714
10715</DD>
10716
10717<DT><b><a name="smtp_sasl_type">smtp_sasl_type</a>
10718(default: cyrus)</b></DT><DD>
10719
10720<p> The SASL plug-in type that the Postfix SMTP client should use
10721for authentication.  The available types are listed with the
10722"<b>postconf -A</b>" command. </p>
10723
10724<p> This feature is available in Postfix 2.3 and later. </p>
10725
10726
10727</DD>
10728
10729<DT><b><a name="smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
10730(default: no)</b></DT><DD>
10731
10732<p> Whether or not to append the "AUTH=&lt;&gt;" option to the MAIL
10733FROM command in SASL-authenticated SMTP sessions. The default is
10734not to send this, to avoid problems with broken remote SMTP servers.
10735Before Postfix 2.9 the behavior is as if "<a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
10736= yes".
10737
10738<p> This feature is available in Postfix 2.9 and later. </p>
10739
10740
10741</DD>
10742
10743<DT><b><a name="smtp_send_xforward_command">smtp_send_xforward_command</a>
10744(default: no)</b></DT><DD>
10745
10746<p>
10747Send the non-standard XFORWARD command when the Postfix SMTP server
10748EHLO response announces XFORWARD support.
10749</p>
10750
10751<p>
10752This allows a Postfix SMTP delivery agent, used for injecting mail
10753into
10754a content filter, to forward the name, address, protocol and HELO
10755name of the original client to the content filter and downstream
10756queuing SMTP server. This can produce more useful logging than
10757localhost[127.0.0.1] etc.
10758</p>
10759
10760<p>
10761This feature is available in Postfix 2.1 and later.
10762</p>
10763
10764
10765</DD>
10766
10767<DT><b><a name="smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
10768(default: no)</b></DT><DD>
10769
10770<p>
10771Enable sender-dependent authentication in the Postfix SMTP client; this is
10772available only with SASL authentication, and disables SMTP connection
10773caching to ensure that mail from different senders will use the
10774appropriate credentials.  </p>
10775
10776<p>
10777This feature is available in Postfix 2.3 and later.
10778</p>
10779
10780
10781</DD>
10782
10783<DT><b><a name="smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a>
10784(default: yes)</b></DT><DD>
10785
10786<p>
10787Skip SMTP servers that greet with a 4XX status code (go away, try
10788again later).
10789</p>
10790
10791<p>
10792By default, the Postfix SMTP client moves on the next mail exchanger.
10793Specify
10794"<a href="postconf.5.html#smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a> = no" if Postfix should defer delivery
10795immediately.
10796</p>
10797
10798<p> This feature is available in Postfix 2.0 and earlier.
10799Later Postfix versions always skip remote SMTP servers that greet
10800with a
108014XX status code. </p>
10802
10803
10804</DD>
10805
10806<DT><b><a name="smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
10807(default: yes)</b></DT><DD>
10808
10809<p>
10810Skip remote SMTP servers that greet with a 5XX status code.
10811</p>
10812
10813<p> By default, the Postfix SMTP client moves on the next mail
10814exchanger. Specify "<a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> = no" if Postfix should
10815bounce the mail immediately. Caution: the latter behavior appears
10816to contradict <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>. </p>
10817
10818
10819</DD>
10820
10821<DT><b><a name="smtp_skip_quit_response">smtp_skip_quit_response</a>
10822(default: yes)</b></DT><DD>
10823
10824<p>
10825Do not wait for the response to the SMTP QUIT command.
10826</p>
10827
10828
10829</DD>
10830
10831<DT><b><a name="smtp_starttls_timeout">smtp_starttls_timeout</a>
10832(default: 300s)</b></DT><DD>
10833
10834<p> Time limit for Postfix SMTP client write and read operations
10835during TLS startup and shutdown handshake procedures. </p>
10836
10837<p> This feature is available in Postfix 2.2 and later.  </p>
10838
10839
10840</DD>
10841
10842<DT><b><a name="smtp_tls_CAfile">smtp_tls_CAfile</a>
10843(default: empty)</b></DT><DD>
10844
10845<p> A file containing CA certificates of root CAs trusted to sign
10846either remote SMTP server certificates or intermediate CA certificates.
10847These are loaded into memory before the <a href="smtp.8.html">smtp(8)</a> client enters the
10848chroot jail. If the number of trusted roots is large, consider using
10849<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> instead, but note that the latter directory must be
10850present in the chroot jail if the <a href="smtp.8.html">smtp(8)</a> client is chrooted. This
10851file may also be used to augment the client certificate trust chain,
10852but it is best to include all the required certificates directly in
10853$<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>. </p>
10854
10855<p> Specify "<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /path/to/system_CA_file" to use
10856ONLY the system-supplied default certificate authority certificates.
10857</p>
10858
10859<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
10860appending the system-supplied default CAs and trusting third-party
10861certificates. </p>
10862
10863<p> Example: </p>
10864
10865<pre>
10866<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /etc/postfix/CAcert.pem
10867</pre>
10868
10869<p> This feature is available in Postfix 2.2 and later.  </p>
10870
10871
10872</DD>
10873
10874<DT><b><a name="smtp_tls_CApath">smtp_tls_CApath</a>
10875(default: empty)</b></DT><DD>
10876
10877<p> Directory with PEM format certificate authority certificates
10878that the Postfix SMTP client uses to verify a remote SMTP server
10879certificate.  Don't forget to create the necessary "hash" links
10880with, for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs".
10881</p>
10882
10883<p> To use this option in chroot mode, this directory (or a copy)
10884must be inside the chroot jail. </p>
10885
10886<p> Specify "<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /path/to/system_CA_directory" to
10887use ONLY the system-supplied default certificate authority certificates.
10888</p>
10889
10890<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
10891appending the system-supplied default CAs and trusting third-party
10892certificates. </p>
10893
10894<p> Example: </p>
10895
10896<pre>
10897<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /etc/postfix/certs
10898</pre>
10899
10900<p> This feature is available in Postfix 2.2 and later.  </p>
10901
10902
10903</DD>
10904
10905<DT><b><a name="smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a>
10906(default: no)</b></DT><DD>
10907
10908<p> Try to detect a mail hijacking attack based on a TLS protocol
10909vulnerability (CVE-2009-3555), where an attacker prepends malicious
10910HELO, MAIL, RCPT, DATA commands to a Postfix SMTP client TLS session.
10911The attack would succeed with non-Postfix SMTP servers that reply
10912to the malicious HELO, MAIL, RCPT, DATA commands after negotiating
10913the Postfix SMTP client TLS session.  </p>
10914
10915<p> This feature is available in Postfix 2.7. </p>
10916
10917
10918</DD>
10919
10920<DT><b><a name="smtp_tls_cert_file">smtp_tls_cert_file</a>
10921(default: empty)</b></DT><DD>
10922
10923<p> File with the Postfix SMTP client RSA certificate in PEM format.
10924This file may also contain the Postfix SMTP client private RSA key,
10925and these may be the same as the Postfix SMTP server RSA certificate and key
10926file. </p>
10927
10928<p> Do not configure client certificates unless you <b>must</b> present
10929client TLS certificates to one or more servers. Client certificates are
10930not usually needed, and can cause problems in configurations that work
10931well without them. The recommended setting is to let the defaults stand: </p>
10932
10933<blockquote>
10934<pre>
10935<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> =
10936<a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> =
10937<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> =
10938<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> =
10939<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> =
10940<a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> =
10941</pre>
10942</blockquote>
10943
10944<p> The best way to use the default settings is to comment out the above
10945parameters in <a href="postconf.5.html">main.cf</a> if present. </p>
10946
10947<p> To enable remote SMTP servers to verify the Postfix SMTP client
10948certificate, the issuing CA certificates must be made available to the
10949server. You should include the required certificates in the client
10950certificate file, the client certificate first, then the issuing
10951CA(s) (bottom-up order). </p>
10952
10953<p> Example: the certificate for "client.example.com" was issued by
10954"intermediate CA" which itself has a certificate issued by "root CA".
10955Create the client.pem file with "cat client_cert.pem intermediate_CA.pem
10956root_CA.pem &gt; client.pem". </p>
10957
10958<p> If you also want to verify remote SMTP server certificates issued by
10959these CAs, you can add the CA certificates to the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>, in
10960which case it is not necessary to have them in the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>,
10961<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>
10962
10963<p> A certificate supplied here must be usable as an SSL client certificate
10964and hence pass the "openssl verify -purpose sslclient ..." test. </p>
10965
10966<p> Example: </p>
10967
10968<pre>
10969<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> = /etc/postfix/client.pem
10970</pre>
10971
10972<p> This feature is available in Postfix 2.2 and later.  </p>
10973
10974
10975</DD>
10976
10977<DT><b><a name="smtp_tls_cipherlist">smtp_tls_cipherlist</a>
10978(default: empty)</b></DT><DD>
10979
10980<p> Obsolete Postfix &lt; 2.3 control for the Postfix SMTP client TLS
10981cipher list. As this feature applies to all TLS security levels, it is easy
10982to create inter-operability problems by choosing a non-default cipher
10983list. Do not use a non-default TLS cipher list on hosts that deliver email
10984to the public Internet: you will be unable to send email to servers that
10985only support the ciphers you exclude. Using a restricted cipher list
10986may be more appropriate for an internal MTA, where one can exert some
10987control over the TLS software and settings of the peer servers. </p>
10988
10989<p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
10990
10991<p> This feature is available in Postfix version 2.2. It is not used with
10992Postfix 2.3 and later; use <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> instead. </p>
10993
10994
10995</DD>
10996
10997<DT><b><a name="smtp_tls_ciphers">smtp_tls_ciphers</a>
10998(default: export)</b></DT><DD>
10999
11000<p> The minimum TLS cipher grade that the Postfix SMTP client
11001will use with opportunistic TLS encryption. Cipher types listed in
11002<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> are excluded from the base definition of
11003the selected cipher grade. The default value "export" ensures maximum
11004inter-operability. Because encryption is optional, stronger controls
11005are not appropriate, and this setting SHOULD NOT be changed unless the
11006change is essential. </p>
11007
11008<p> When TLS is mandatory the cipher grade is chosen via the
11009<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
11010details. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure
11011ciphers on a per-destination basis. </p>
11012
11013<p> Example: </p>
11014<pre>
11015<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> = export
11016</pre>
11017
11018<p> This feature is available in Postfix 2.6 and later. With earlier Postfix
11019releases only the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter is implemented,
11020and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
11021
11022
11023</DD>
11024
11025<DT><b><a name="smtp_tls_dcert_file">smtp_tls_dcert_file</a>
11026(default: empty)</b></DT><DD>
11027
11028<p> File with the Postfix SMTP client DSA certificate in PEM format.
11029This file may also contain the Postfix SMTP client private DSA key. </p>
11030
11031<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
11032</p>
11033
11034<p> Example: </p>
11035
11036<pre>
11037<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem
11038</pre>
11039
11040<p> This feature is available in Postfix 2.2 and later.  </p>
11041
11042
11043</DD>
11044
11045<DT><b><a name="smtp_tls_dkey_file">smtp_tls_dkey_file</a>
11046(default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD>
11047
11048<p> File with the Postfix SMTP client DSA private key in PEM format.
11049This file may be combined with the Postfix SMTP client DSA certificate
11050file specified with $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>. </p>
11051
11052<p> The private key must be accessible without a pass-phrase, i.e. it
11053must not be encrypted. File permissions should grant read-only
11054access to the system superuser account ("root"), and no access
11055to anyone else. </p>
11056
11057<p> This feature is available in Postfix 2.2 and later.  </p>
11058
11059
11060</DD>
11061
11062<DT><b><a name="smtp_tls_eccert_file">smtp_tls_eccert_file</a>
11063(default: empty)</b></DT><DD>
11064
11065<p> File with the Postfix SMTP client ECDSA certificate in PEM format.
11066This file may also contain the Postfix SMTP client ECDSA private key. </p>
11067
11068<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
11069</p>
11070
11071<p> Example: </p>
11072
11073<pre>
11074<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> = /etc/postfix/ecdsa-ccert.pem
11075</pre>
11076
11077<p> This feature is available in Postfix 2.6 and later, when Postfix is
11078compiled and linked with OpenSSL 1.0.0 or later. </p>
11079
11080
11081</DD>
11082
11083<DT><b><a name="smtp_tls_eckey_file">smtp_tls_eckey_file</a>
11084(default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD>
11085
11086<p> File with the Postfix SMTP client ECDSA private key in PEM format.
11087This file may be combined with the Postfix SMTP client ECDSA
11088certificate file specified with $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. </p>
11089
11090<p> The private key must be accessible without a pass-phrase, i.e. it
11091must not be encrypted. File permissions should grant read-only
11092access to the system superuser account ("root"), and no access
11093to anyone else. </p>
11094
11095<p> This feature is available in Postfix 2.6 and later, when Postfix is
11096compiled and linked with OpenSSL 1.0.0 or later. </p>
11097
11098
11099</DD>
11100
11101<DT><b><a name="smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
11102(default: yes)</b></DT><DD>
11103
11104<p> With mandatory TLS encryption, require that the remote SMTP
11105server hostname matches the information in the remote SMTP server
11106certificate.  As of <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> the requirements for hostname checking
11107for MTA clients are not specified. </p>
11108
11109<p> This option can be set to "no" to disable strict peer name
11110checking. This setting has no effect on sessions that are controlled
11111via the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table.  </p>
11112
11113<p> Disabling the hostname verification can make sense in closed
11114environment where special CAs are created.  If not used carefully,
11115this option opens the danger of a "man-in-the-middle" attack (the
11116CommonName of this attacker will be logged). </p>
11117
11118<p> This feature is available in Postfix 2.2 and later. With
11119Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
11120
11121
11122</DD>
11123
11124<DT><b><a name="smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
11125(default: empty)</b></DT><DD>
11126
11127<p> List of ciphers or cipher types to exclude from the Postfix
11128SMTP client cipher
11129list at all TLS security levels. This is not an OpenSSL cipherlist, it is
11130a simple list separated by whitespace and/or commas. The elements are a
11131single cipher, or one or more "+" separated cipher properties, in which
11132case only ciphers matching <b>all</b> the properties are excluded. </p>
11133
11134<p> Examples (some of these will cause problems): </p>
11135
11136<blockquote>
11137<pre>
11138<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL
11139<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = MD5, DES
11140<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = DES+MD5
11141<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
11142<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = kEDH+aRSA
11143</pre>
11144</blockquote>
11145
11146<p> The first setting, disables anonymous ciphers. The next setting
11147disables ciphers that use the MD5 digest algorithm or the (single) DES
11148encryption algorithm. The next setting disables ciphers that use MD5 and
11149DES together.  The next setting disables the two ciphers "AES256-SHA"
11150and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
11151key exchange with RSA authentication. </p>
11152
11153<p> This feature is available in Postfix 2.3 and later. </p>
11154
11155
11156</DD>
11157
11158<DT><b><a name="smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
11159(default: empty)</b></DT><DD>
11160
11161<p> List of acceptable remote SMTP server certificate fingerprints for
11162the "fingerprint" TLS security level (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> =
11163fingerprint). At this security level, certificate authorities are not
11164used, and certificate expiration times are ignored. Instead, server
11165certificates are verified directly via their certificate fingerprint
11166or public key fingerprint (Postfix 2.9 and later). The fingerprint
11167is a message digest of the server certificate (or public key). The
11168digest algorithm is selected via the <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b>
11169parameter. </p>
11170
11171<p> When an <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a></b> table entry specifies the
11172"fingerprint" security level, any "match" attributes in that entry specify
11173the list of valid fingerprints for the corresponding destination. Multiple
11174fingerprints can be combined with a "|" delimiter in a single match
11175attribute, or multiple match attributes can be employed. </p>
11176
11177<p> Example: Certificate fingerprint verification with internal mailhub.
11178Two matching fingerprints are listed. The <a href="postconf.5.html#relayhost">relayhost</a> may be multiple
11179physical hosts behind a load-balancer, each with its own private/public
11180key and self-signed certificate. Alternatively, a single <a href="postconf.5.html#relayhost">relayhost</a> may
11181be in the process of switching from one set of private/public keys to
11182another, and both keys are trusted just prior to the transition. </p>
11183
11184<blockquote>
11185<pre>
11186<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
11187<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
11188<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
11189<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
11190    3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
11191    EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
11192</pre>
11193</blockquote>
11194
11195<p> Example: Certificate fingerprint verification with selected destinations.
11196As in the example above, we show two matching fingerprints: </p>
11197
11198<blockquote>
11199<pre>
11200/etc/postfix/<a href="postconf.5.html">main.cf</a>:
11201    <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
11202    <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
11203</pre>
11204</blockquote>
11205
11206<blockquote>
11207<pre>
11208/etc/postfix/tls_policy:
11209    example.com fingerprint
11210        match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
11211        match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
11212</pre>
11213</blockquote>
11214
11215<p> This feature is available in Postfix 2.5 and later. </p>
11216
11217
11218</DD>
11219
11220<DT><b><a name="smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
11221(default: md5)</b></DT><DD>
11222
11223<p> The message digest algorithm used to construct remote SMTP server
11224certificate fingerprints. At the "fingerprint" TLS security level
11225(<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> = fingerprint), the server certificate is
11226verified by directly matching its certificate fingerprint or its public
11227key fingerprint (Postfix 2.9 and later). The fingerprint is the
11228message digest of the server certificate (or its public key)
11229using the selected
11230algorithm. With a digest algorithm resistant to "second pre-image"
11231attacks, it is not feasible to create a new public key and a matching
11232certificate (or public/private key-pair) that has the same fingerprint. </p>
11233
11234<p> The default algorithm is <b>md5</b>; this is consistent with
11235the backwards compatible setting of the digest used to verify client
11236certificates in the SMTP server. </p>
11237
11238<p> The best practice algorithm is now <b>sha1</b>. Recent advances in hash
11239function cryptanalysis have led to md5 being deprecated in favor of sha1.
11240However, as long as there are no known "second pre-image" attacks
11241against md5, its use in this context can still be considered safe.
11242</p>
11243
11244<p> While additional digest algorithms are often available with OpenSSL's
11245libcrypto, only those used by libssl in SSL cipher suites are available to
11246Postfix. For now this means just md5 or sha1. </p>
11247
11248<p> To find the fingerprint of a specific certificate file, with a
11249specific digest algorithm, run:
11250</p>
11251
11252<blockquote>
11253<pre>
11254$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
11255</pre>
11256</blockquote>
11257
11258<p> The text to the right of "=" sign is the desired fingerprint.
11259For example: </p>
11260
11261<blockquote>
11262<pre>
11263$ openssl x509 -noout -fingerprint -sha1 -in cert.pem
11264SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
11265</pre>
11266</blockquote>
11267
11268<p> To extract the public key fingerprint from an X.509 certificate,
11269you need to extract the public key from the certificate and compute
11270the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
11271the "-pubkey" option of the "x509" command extracts the public
11272key always in "PEM" format. We pipe the result to another OpenSSL
11273command that converts the key to DER and then to the "dgst" command
11274to compute the fingerprint. </p>
11275
11276<p> The actual command to transform the key to DER format depends
11277on the version of OpenSSL used. With OpenSSL 1.0.0 and later, the
11278"pkey" command supports all key types. With OpenSSL 0.9.8 and
11279earlier, the key type is always RSA (nobody uses DSA, and EC
11280keys are not fully supported by 0.9.8), so the "rsa" command is
11281used. </p>
11282<blockquote>
11283<pre>
11284# OpenSSL 1.0 with all certificates and SHA-1 fingerprints.
11285$ openssl x509 -in cert.pem -noout -pubkey |
11286    openssl pkey -pubin -outform DER |
11287    openssl dgst -sha1 -c
11288(stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58
11289</pre>
11290</blockquote>
11291
11292<blockquote>
11293<pre>
11294# OpenSSL 0.9.8 with RSA certificates and MD5 fingerprints.
11295$ openssl x509 -in cert.pem -noout -pubkey |
11296    openssl rsa -pubin -outform DER |
11297    openssl dgst -md5 -c
11298(stdin)= f4:62:60:f6:12:8f:d5:8d:28:4d:13:a7:db:b2:ff:50
11299</pre>
11300</blockquote>
11301
11302<p> The Postfix SMTP server and client log the peer (leaf) certificate
11303fingerprint and public key fingerprint when the TLS loglevel is 2 or
11304higher. </p>
11305
11306<p> <b>Note:</b> Postfix 2.9.0&ndash;2.9.5 computed the public key
11307fingerprint incorrectly. To use public-key fingerprints, upgrade
11308to Postfix 2.9.6 or later. </p>
11309
11310<p> This feature is available in Postfix 2.5 and later. </p>
11311
11312
11313</DD>
11314
11315<DT><b><a name="smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a>
11316(default: no)</b></DT><DD>
11317
11318<p> Lookup the associated DANE TLSA RRset even when a hostname is
11319not an alias and its address records lie in an unsigned zone.  This
11320is unlikely to ever yield DNSSEC validated results, since child
11321zones of unsigned zones are also unsigned in the absence of DLV or
11322locally configured non-root trust-anchors.  We anticipate that such
11323mechanisms will not be used for just the "_tcp" subdomain of a host.
11324Suppressing the TLSA RRset lookup reduces latency and avoids potential
11325interoperability problems with nameservers for unsigned zones that
11326are not prepared to handle the new TLSA RRset.  </p>
11327
11328<p> This feature is available in Postfix 2.11. </p>
11329
11330
11331</DD>
11332
11333<DT><b><a name="smtp_tls_key_file">smtp_tls_key_file</a>
11334(default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD>
11335
11336<p> File with the Postfix SMTP client RSA private key in PEM format.
11337This file may be combined with the Postfix SMTP client RSA certificate
11338file specified with $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>. </p>
11339
11340<p> The private key must be accessible without a pass-phrase, i.e. it
11341must not be encrypted. File permissions should grant read-only
11342access to the system superuser account ("root"), and no access
11343to anyone else. </p>
11344
11345<p> Example: </p>
11346
11347<pre>
11348<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>
11349</pre>
11350
11351<p> This feature is available in Postfix 2.2 and later.  </p>
11352
11353
11354</DD>
11355
11356<DT><b><a name="smtp_tls_loglevel">smtp_tls_loglevel</a>
11357(default: 0)</b></DT><DD>
11358
11359<p> Enable additional Postfix SMTP client logging of TLS activity.
11360Each logging level also includes the information that is logged at
11361a lower logging level.  </p>
11362
11363<dl compact>
11364
11365<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
11366
11367<dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
11368&mdash; no logging of remote SMTP server certificate trust-chain
11369verification errors if server certificate verification is not required.
11370With Postfix 2.8 and earlier, log the summary message and unconditionally
11371log trust-chain verification errors.  </dd>
11372
11373<dt> </dt> <dd> 2 Also log levels during TLS negotiation.  </dd>
11374
11375<dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation
11376process.  </dd>
11377
11378<dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
11379transmission after STARTTLS. </dd>
11380
11381</dl>
11382
11383<p> Do not use "<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> = 2" or higher except in case of
11384problems. Use of loglevel 4 is strongly discouraged. </p>
11385
11386<p> This feature is available in Postfix 2.2 and later.  </p>
11387
11388
11389</DD>
11390
11391<DT><b><a name="smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
11392(default: medium)</b></DT><DD>
11393
11394<p> The minimum TLS cipher grade that the Postfix SMTP client will
11395use with
11396mandatory TLS encryption.  The default value "medium" is suitable
11397for most destinations with which you may want to enforce TLS, and
11398is beyond the reach of today's cryptanalytic methods. See
11399<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure ciphers
11400on a per-destination basis. </p>
11401
11402<p> The following cipher grades are supported: </p>
11403
11404<dl>
11405<dt><b>export</b></dt>
11406<dd> Enable "EXPORT" grade or better OpenSSL
11407ciphers.  This is the default for opportunistic encryption. It is
11408not recommended for mandatory encryption unless you must enforce TLS
11409with "crippled" peers. The underlying cipherlist is specified via the
11410<a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration parameter, which you are strongly
11411encouraged to not change. </dd>
11412
11413<dt><b>low</b></dt>
11414<dd> Enable "LOW" grade or better OpenSSL ciphers.  This
11415setting is only appropriate for internal mail servers.  The underlying
11416cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration
11417parameter, which you are strongly encouraged to not change. </dd>
11418
11419<dt><b>medium</b></dt>
11420<dd> Enable "MEDIUM" grade or better OpenSSL ciphers.
11421The underlying cipherlist is specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a>
11422configuration parameter, which you are strongly encouraged to not change.
11423</dd>
11424
11425<dt><b>high</b></dt>
11426<dd> Enable only "HIGH" grade OpenSSL ciphers.  This setting may
11427be appropriate when all mandatory TLS destinations (e.g. when all
11428mail is routed to a suitably capable <a href="postconf.5.html#relayhost">relayhost</a>) support at least one
11429"HIGH" grade cipher. The underlying cipherlist is specified via the
11430<a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a> configuration parameter, which you are strongly
11431encouraged to not change. </dd>
11432
11433<dt><b>null</b></dt>
11434<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
11435without encryption.  This setting is only appropriate in the rare case
11436that all servers are prepared to use NULL ciphers (not normally enabled
11437in TLS servers). A plausible use-case is an LMTP server listening on a
11438UNIX-domain socket that is configured to support "NULL" ciphers. The
11439underlying cipherlist is specified via the <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a>
11440configuration parameter, which you are strongly encouraged to not
11441change. </dd>
11442
11443</dl>
11444
11445<p> The underlying cipherlists for grades other than "null" include
11446anonymous ciphers, but these are automatically filtered out if the
11447Postfix SMTP client is configured to verify server certificates.
11448You are very unlikely to need to take any steps to exclude anonymous
11449ciphers, they are excluded automatically as necessary.  If you must
11450exclude anonymous ciphers at the "may" or "encrypt" security levels,
11451when the Postfix SMTP client does not need or use peer certificates, set
11452"<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only when
11453TLS is enforced, set "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
11454
11455<p> This feature is available in Postfix 2.3 and later. </p>
11456
11457
11458</DD>
11459
11460<DT><b><a name="smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
11461(default: empty)</b></DT><DD>
11462
11463<p> Additional list of ciphers or cipher types to exclude from the
11464Postfix SMTP client cipher list at mandatory TLS security levels. This list
11465works in addition to the exclusions listed with <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
11466(see there for syntax details).  </p>
11467
11468<p> Starting with Postfix 2.6, the mandatory cipher exclusions can be
11469specified on a per-destination basis via the TLS policy "exclude"
11470attribute. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for notes and examples. </p>
11471
11472<p> This feature is available in Postfix 2.3 and later. </p>
11473
11474
11475</DD>
11476
11477<DT><b><a name="smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
11478(default: !SSLv2)</b></DT><DD>
11479
11480<p> List of SSL/TLS protocols that the Postfix SMTP client will use with
11481mandatory TLS encryption.  In <a href="postconf.5.html">main.cf</a> the values are separated by
11482whitespace, commas or colons. In the policy table "protocols" attribute
11483(see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon. An
11484empty value means allow all protocols. The valid protocol names, (see
11485<b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3" and "TLSv1". </p>
11486
11487<p> With Postfix &ge; 2.5 the parameter syntax was expanded to support
11488protocol exclusions. One can explicitly exclude "SSLv2" by setting
11489"<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2". To exclude both "SSLv2" and
11490"SSLv3" set "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing
11491the protocols to include, rather than protocols to exclude, is
11492supported, but not recommended. The exclusion form more closely
11493matches the underlying OpenSSL interface semantics.
11494</p>
11495
11496<p> The range of protocols advertised by an SSL/TLS client must be
11497contiguous.  When a protocol version is enabled, disabling any
11498higher version implicitly disables all versions above that higher
11499version.  Thus, for example: </p>
11500<blockquote>
11501<pre>
11502<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !TLSv1
11503</pre>
11504</blockquote>
11505<p> also disables any protocols version higher than TLSv1 leaving
11506only "SSLv3" enabled.  </p>
11507
11508<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
11509and "TLSv1.2". When Postfix &le; 2.5 is linked against OpenSSL 1.0.1
11510or later, these, or any other new protocol versions, cannot be
11511disabled except by also disabling "TLSv1" (typically leaving just
11512"SSLv3").  The latest patch levels of Postfix &ge; 2.6, and all
11513versions of Postfix &ge; 2.10 can explicitly disable support for
11514"TLSv1.1" or "TLSv1.2". </p>
11515
11516<p> At the <a href="TLS_README.html#client_tls_dane">dane</a> and
11517<a href="TLS_README.html#client_tls_dane">dane-only</a> security
11518levels, when usable TLSA records are obtained for the remote SMTP
11519server, the Postfix SMTP client is obligated to include the SNI TLS
11520extension in its SSL client hello message.  This may help the remote
11521SMTP server live up to its promise to provide a certificate that
11522matches its TLSA records.  Since TLS extensions require TLS 1.0 or
11523later, the Postfix SMTP client must disable "SSLv2" and "SSLv3" when
11524SNI is required.  If you use "dane" or "dane-only" do not disable
11525TLSv1, except perhaps via the policy table for destinations which
11526you are sure will support "TLSv1.1" or "TLSv1.2".  </p>
11527
11528<p> Since SSL version 2 has known protocol weaknesses and is now
11529deprecated, the default setting excludes "SSLv2".  This means that by
11530default, SSL version 2 will not be used at the "encrypt" security level
11531and higher. </p>
11532
11533<p> See the documentation of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> parameter and
11534<a href="TLS_README.html">TLS_README</a> for more information about security levels. </p>
11535
11536<p> Example: </p>
11537
11538<pre>
11539# Preferred syntax with Postfix &ge; 2.5:
11540<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
11541# Legacy syntax:
11542<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1
11543</pre>
11544
11545<p> This feature is available in Postfix 2.3 and later. </p>
11546
11547
11548</DD>
11549
11550<DT><b><a name="smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
11551(default: no)</b></DT><DD>
11552
11553<p> Log the hostname of a remote SMTP server that offers STARTTLS,
11554when TLS is not already enabled for that server. </p>
11555
11556<p> The logfile record looks like:  </p>
11557
11558<pre>
11559postfix/smtp[pid]:  Host offered STARTTLS: [name.of.host]
11560</pre>
11561
11562<p> This feature is available in Postfix 2.2 and later.  </p>
11563
11564
11565</DD>
11566
11567<DT><b><a name="smtp_tls_per_site">smtp_tls_per_site</a>
11568(default: empty)</b></DT><DD>
11569
11570<p> Optional lookup tables with the Postfix SMTP client TLS usage
11571policy by next-hop destination and by remote SMTP server hostname.
11572When both lookups succeed, the more specific per-site policy (NONE,
11573MUST, etc) overrides the less specific one (MAY), and the more secure
11574per-site policy (MUST, etc) overrides the less secure one (NONE).
11575With Postfix 2.3 and later <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> is strongly discouraged:
11576use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
11577
11578<p> Use of the bare hostname as the per-site table lookup key is
11579discouraged. Always use the full destination nexthop (enclosed in
11580[] with a possible ":port" suffix). A recipient domain or MX-enabled
11581transport next-hop with no port suffix may look like a bare hostname,
11582but is still a suitable <i>destination</i>. </p>
11583
11584<p> Specify a next-hop destination or server hostname on the left-hand
11585side; no wildcards are allowed. The next-hop destination is either
11586the recipient domain, or the destination specified with a <a href="transport.5.html">transport(5)</a>
11587table, the <a href="postconf.5.html#relayhost">relayhost</a> parameter, or the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter.
11588On the right hand side specify one of the following keywords:  </p>
11589
11590<dl>
11591
11592<dt> NONE </dt> <dd> Don't use TLS at all. This overrides a less
11593specific <b>MAY</b> lookup result from the alternate host or next-hop
11594lookup 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>,
11595and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd>
11596
11597<dt> MAY </dt> <dd> Try to use TLS if the server announces support,
11598otherwise use the unencrypted connection. This has less precedence
11599than a more specific result (including <b>NONE</b>) from the alternate
11600host or next-hop lookup key, and has less precedence than the more
11601specific 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>
11602= yes".  </dd>
11603
11604<dt> MUST_NOPEERMATCH </dt> <dd> Require TLS encryption, but do not
11605require that the remote SMTP server hostname matches the information
11606in the remote SMTP server certificate, or that the server certificate
11607was issued by a trusted CA. This overrides a less secure <b>NONE</b>
11608or a less specific <b>MAY</b> lookup result from the alternate host
11609or next-hop lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>,
11610<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>
11611
11612<dt> MUST </dt> <dd> Require TLS encryption, require that the remote
11613SMTP server hostname matches the information in the remote SMTP
11614server certificate, and require that the remote SMTP server certificate
11615was issued by a trusted CA. This overrides a less secure <b>NONE</b>
11616and <b>MUST_NOPEERMATCH</b> or a less specific <b>MAY</b> lookup
11617result from the alternate host or next-hop lookup key, and overrides
11618the 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>
11619settings.  </dd>
11620
11621</dl>
11622
11623<p> The above keywords correspond to the "none", "may", "encrypt" and
11624"verify" security levels for the new <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> parameter
11625introduced in Postfix 2.3. Starting with Postfix 2.3, and independently
11626of how the policy is specified, the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
11627<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameters apply when TLS encryption
11628is mandatory. Connections for which encryption is optional typically
11629enable all "export" grade and better ciphers (see <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>
11630and <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>). </p>
11631
11632<p> As long as no secure DNS lookup mechanism is available, false
11633hostnames in MX or CNAME responses can change the server hostname
11634that Postfix uses for TLS policy lookup and server certificate
11635verification. Even with a perfect match between the server hostname and
11636the server certificate, there is no guarantee that Postfix is connected
11637to the right server.  See <a href="TLS_README.html">TLS_README</a> (Closing a DNS loophole with obsolete
11638per-site TLS policies) for a possible work-around. </p>
11639
11640<p> This feature is available in Postfix 2.2 and later. With
11641Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
11642
11643
11644</DD>
11645
11646<DT><b><a name="smtp_tls_policy_maps">smtp_tls_policy_maps</a>
11647(default: empty)</b></DT><DD>
11648
11649<p> Optional lookup tables with the Postfix SMTP client TLS security
11650policy by next-hop destination; when a non-empty value is specified,
11651this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter.  See
11652<a href="TLS_README.html">TLS_README</a> for a more detailed discussion of TLS security levels.
11653</p>
11654
11655<p> The TLS policy table is indexed by the full next-hop destination,
11656which is either the recipient domain, or the verbatim next-hop
11657specified in the transport table, $<a href="postconf.5.html#local_transport">local_transport</a>, $<a href="postconf.5.html#virtual_transport">virtual_transport</a>,
11658$<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
11659square brackets and any non-default destination server port suffix. The
11660LMTP socket type prefix (inet: or unix:) is not included in the lookup
11661key. </p>
11662
11663<p> Only the next-hop domain, or $<a href="postconf.5.html#myhostname">myhostname</a> with LMTP over UNIX-domain
11664sockets, is used as the nexthop name for certificate verification. The
11665port and any enclosing square brackets are used in the table lookup key,
11666but are not used for server name verification. </p>
11667
11668<p> When the lookup key is a domain name without enclosing square brackets
11669or any <i>:port</i> suffix (typically the recipient domain), and the full
11670domain is not found in the table, just as with the <a href="transport.5.html">transport(5)</a> table,
11671the parent domain starting with a leading "." is matched recursively. This
11672allows one to specify a security policy for a recipient domain and all
11673its sub-domains. </p>
11674
11675<p> The lookup result is a security level, followed by an optional list
11676of whitespace and/or comma separated name=value attributes that override
11677related <a href="postconf.5.html">main.cf</a> settings. The TLS security levels in order of increasing
11678security are: </p>
11679
11680<dl>
11681
11682<dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
11683<dd>No TLS. No additional attributes are supported at this level. </dd>
11684
11685<dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
11686<dd>Opportunistic TLS. Since sending in the clear is acceptable,
11687demanding stronger than default TLS security merely reduces
11688inter-operability. The optional "ciphers", "exclude" and "protocols"
11689attributes (available for opportunistic TLS with Postfix &ge; 2.6)
11690override 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
11691"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>" configuration parameters. When opportunistic TLS
11692handshakes fail, Postfix retries the connection with TLS disabled.
11693This allows mail delivery to sites with non-interoperable TLS
11694implementations.</dd>
11695
11696<dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
11697<dd>Mandatory TLS encryption. At this level
11698and higher, the optional "protocols" attribute overrides the <a href="postconf.5.html">main.cf</a>
11699<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameter, the optional "ciphers" attribute
11700overrides 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
11701optional "exclude" attribute (Postfix &ge; 2.6) overrides the <a href="postconf.5.html">main.cf</a>
11702<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> parameter. In the policy table,
11703multiple protocols or excluded ciphers must be separated by colons,
11704as attribute values may not contain whitespace or commas. </dd>
11705
11706<dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
11707<dd>Opportunistic DANE TLS.  The TLS policy for the destination is
11708obtained via TLSA records in DNSSEC.  If no TLSA records are found,
11709the effective security level used is <a
11710href="TLS_README.html#client_tls_may">may</a>.  If TLSA records are
11711found, but none are usable, the effective security level is <a
11712href="TLS_README.html#client_tls_encrypt">encrypt</a>.  When usable
11713TLSA records are obtained for the remote SMTP server, the
11714server certificate must match the TLSA records.  <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE)
11715TLS authentication and DNSSEC support is available with Postfix
117162.11 and later.  </dd>
11717
11718<dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
11719<dd>Mandatory DANE TLS.  The TLS policy for the destination is
11720obtained via TLSA records in DNSSEC.  If no TLSA records are found,
11721or none are usable, no connection is made to the server.  When
11722usable TLSA records are obtained for the remote SMTP server, the
11723server certificate must match the TLSA records.  <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE) TLS
11724authentication and DNSSEC support is available with Postfix 2.11
11725and later.  </dd>
11726
11727<dt><b><a href="TLS_README.html#client_tls_fingerprint">fingerprint</a></b></dt>
11728<dd>Certificate fingerprint
11729verification. Available with Postfix 2.5 and later. At this security
11730level, there are no trusted certificate authorities. The certificate
11731trust chain, expiration date, ... are not checked. Instead,
11732the optional <b>match</b> attribute, or else the <a href="postconf.5.html">main.cf</a>
11733<b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> parameter, lists the certificate
11734fingerprints or the public key fingerprint (Postfix 2.9 and later)
11735of the valid server certificate. The digest
11736algorithm used to calculate the fingerprint is selected by the
11737<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Multiple fingerprints can
11738be combined with a "|" delimiter in a single match attribute, or multiple
11739match attributes can be employed. The ":" character is not used as a
11740delimiter as it occurs between each pair of fingerprint (hexadecimal)
11741digits. </dd>
11742
11743<dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
11744<dd>Mandatory TLS verification.  At this security
11745level, DNS MX lookups are trusted to be secure enough, and the name
11746verified in the server certificate is usually obtained indirectly via
11747unauthenticated DNS MX lookups.  The optional "match" attribute overrides
11748the <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,
11749multiple match patterns and strategies must be separated by colons.
11750In practice explicit control over matching is more common with the
11751"secure" policy, described below. </dd>
11752
11753<dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
11754<dd>Secure-channel TLS. At this security level, DNS
11755MX lookups, though potentially used to determine the candidate next-hop
11756gateway IP addresses, are <b>not</b> trusted to be secure enough for TLS
11757peername verification. Instead, the default name verified in the server
11758certificate is obtained directly from the next-hop, or is explicitly
11759specified via the optional <b>match</b> attribute which overrides the
11760<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,
11761multiple match patterns and strategies must be separated by colons.
11762The match attribute is most useful when multiple domains are supported by
11763common server, the policy entries for additional domains specify matching
11764rules for the primary domain certificate. While transport table overrides
11765routing the secondary domains to the primary nexthop also allow secure
11766verification, they risk delivery to the wrong destination when domains
11767change hands or are re-assigned to new gateways. With the "match"
11768attribute approach, routing is not perturbed, and mail is deferred if
11769verification of a new MX host fails. </dd>
11770
11771</dl>
11772
11773<p>
11774Example:
11775</p>
11776
11777<pre>
11778/etc/postfix/<a href="postconf.5.html">main.cf</a>:
11779    <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
11780    # Postfix 2.5 and later
11781    <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
11782</pre>
11783
11784<pre>
11785/etc/postfix/tls_policy:
11786    example.edu                 none
11787    example.mil                 may
11788    example.gov                 encrypt protocols=TLSv1
11789    example.com                 verify ciphers=high
11790    example.net                 secure
11791    .example.net                secure match=.example.net:example.net
11792    [mail.example.org]:587      secure match=nexthop
11793    # Postfix 2.5 and later
11794    [thumb.example.org]          fingerprint
11795        match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
11796        match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
11797</pre>
11798
11799<p> <b>Note:</b> The <b>hostname</b> strategy if listed in a non-default
11800setting of <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> or in the <b>match</b> attribute
11801in the policy table can render the <b>secure</b> level vulnerable to
11802DNS forgery. Do not use the <b>hostname</b> strategy for secure-channel
11803configurations in environments where DNS security is not assured. </p>
11804
11805<p> This feature is available in Postfix 2.3 and later. </p>
11806
11807
11808</DD>
11809
11810<DT><b><a name="smtp_tls_protocols">smtp_tls_protocols</a>
11811(default: !SSLv2)</b></DT><DD>
11812
11813<p> List of TLS protocols that the Postfix SMTP client will exclude or
11814include with opportunistic TLS encryption. Starting with Postfix 2.6,
11815the Postfix SMTP client will by default not use the obsolete SSLv2
11816protocol. </p>
11817
11818<p> In <a href="postconf.5.html">main.cf</a> the values are separated by whitespace, commas or
11819colons. In the policy table (see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid
11820separator is colon. An empty value means allow all protocols. The valid
11821protocol names, (see <b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3"
11822and "TLSv1". </p>
11823
11824<p> The range of protocols advertised by an SSL/TLS client must be
11825contiguous.  When a protocol version is enabled, disabling any
11826higher version implicitly disables all versions above that higher
11827version.  Thus, for example: </p>
11828<blockquote>
11829<pre>
11830<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !TLSv1
11831</pre>
11832</blockquote>
11833<p> also disables any protocols version higher than TLSv1 leaving
11834only "SSLv3" enabled.  </p>
11835
11836<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
11837and "TLSv1.2". The latest patch levels of Postfix &ge; 2.6, and all
11838versions of Postfix &ge; 2.10 can explicitly disable support for
11839"TLSv1.1" or "TLSv1.2"</p>
11840
11841<p> To include a protocol list its name, to exclude it, prefix the name
11842with a "!" character. To exclude SSLv2 even for opportunistic TLS set
11843"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set
11844"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to
11845include, rather than protocols to exclude, is supported, but not
11846recommended.  The exclusion form more closely matches the underlying
11847OpenSSL interface semantics. </p>
11848
11849<p> Example: </p>
11850<pre>
11851# TLSv1 or better:
11852<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
11853</pre>
11854
11855<p> This feature is available in Postfix 2.6 and later. </p>
11856
11857
11858</DD>
11859
11860<DT><b><a name="smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
11861(default: 9)</b></DT><DD>
11862
11863<p> The verification depth for remote SMTP server certificates. A depth
11864of 1 is sufficient if the issuing CA is listed in a local CA file. </p>
11865
11866<p> The default verification depth is 9 (the OpenSSL default) for
11867compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
11868the default value was 5, but the limit was not actually enforced. If
11869you have set this to a lower non-default value, certificates with longer
11870trust chains may now fail to verify. Certificate chains with 1 or 2
11871CAs are common, deeper chains are more rare and any number between 5
11872and 9 should suffice in practice. You can choose a lower number if,
11873for example, you trust certificates directly signed by an issuing CA
11874but not any CAs it delegates to. </p>
11875
11876<p> This feature is available in Postfix 2.2 and later.  </p>
11877
11878
11879</DD>
11880
11881<DT><b><a name="smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
11882(default: nexthop, dot-nexthop)</b></DT><DD>
11883
11884<p> How the Postfix SMTP client verifies the server certificate
11885peername for the "secure" TLS security level. In a "secure" TLS policy table
11886($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
11887overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
11888
11889<p> This parameter specifies one or more patterns or strategies separated
11890by commas, whitespace or colons.  In the policy table the only valid
11891separator is the colon character. </p>
11892
11893<p> For a description of the pattern and strategy syntax see the
11894<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. The "hostname" strategy should
11895be avoided in this context, as in the absence of a secure global DNS, using
11896the results of MX lookups in certificate verification is not immune to active
11897(man-in-the-middle) attacks on DNS. </p>
11898
11899<p>
11900Sample <a href="postconf.5.html">main.cf</a> setting:
11901</p>
11902
11903<blockquote>
11904<pre>
11905<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
11906</pre>
11907</blockquote>
11908
11909<p>
11910Sample policy table override:
11911</p>
11912
11913<blockquote>
11914<pre>
11915example.net     secure match=example.com:.example.com
11916.example.net    secure match=example.com:.example.com
11917</pre>
11918</blockquote>
11919
11920<p> This feature is available in Postfix 2.3 and later. </p>
11921
11922
11923</DD>
11924
11925<DT><b><a name="smtp_tls_security_level">smtp_tls_security_level</a>
11926(default: empty)</b></DT><DD>
11927
11928<p> The default SMTP TLS security level for the Postfix SMTP client;
11929when a non-empty value is specified, this overrides the obsolete
11930parameters <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>.
11931</p>
11932
11933<p> Specify one of the following security levels: </p>
11934
11935<dl>
11936
11937<dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
11938<dd> No TLS. TLS will not be used unless enabled for specific
11939destinations via <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </dd>
11940
11941<dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
11942<dd> Opportunistic TLS. Use TLS if this is supported by the remote
11943SMTP server, otherwise use plaintext. Since
11944sending in the clear is acceptable, demanding stronger than default TLS
11945security merely reduces inter-operability.
11946The "<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)
11947configuration parameters provide control over the protocols and
11948cipher grade used with opportunistic TLS.  With earlier releases the
11949opportunistic TLS cipher grade is always "export" and no protocols
11950are disabled.
11951When TLS handshakes fail, the connection is retried with TLS disabled.
11952This allows mail delivery to sites with non-interoperable TLS
11953implementations. </dd>
11954
11955<dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
11956<dd>Mandatory TLS encryption. Since a minimum
11957level of security is intended, it is reasonable to be specific about
11958sufficiently secure protocol versions and ciphers. At this security level
11959and 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
11960<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> specify the TLS protocols and minimum
11961cipher grade which the administrator considers secure enough for
11962mandatory encrypted sessions. This security level is not an appropriate
11963default for systems delivering mail to the Internet. </dd>
11964
11965<dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
11966<dd>Opportunistic DANE TLS.  At this security level, the TLS policy
11967for the destination is obtained via DNSSEC.  For TLSA policy to be
11968in effect, the destination domain's containing DNS zone must be
11969signed and the Postfix SMTP client's operating system must be
11970configured to send its DNS queries to a recursive DNS nameserver
11971that is able to validate the signed records.  Each MX host's DNS
11972zone should also be signed, and should publish DANE TLSA (<a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>)
11973records that specify how that MX host's TLS certificate is to be
11974verified.  TLSA records do not preempt the normal SMTP MX host
11975selection algorithm, if some MX hosts support TLSA and others do
11976not, TLS security will vary from delivery to delivery.  It is up
11977to the domain owner to configure their MX hosts and their DNS
11978sensibly.  To configure the Postfix SMTP client for DNSSEC lookups
11979see 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>
11980parameter.  When DNSSEC-validated TLSA records are not found the
11981effective tls security level is "may".  When TLSA records are found,
11982but are all unusable the effective security level is "encrypt".  For
11983purposes of protocol and cipher selection, the "dane" security level
11984is treated like a "mandatory" TLS security level, and weak ciphers
11985and protocols are disabled.  Since DANE authenticates server
11986certificates the "aNULL" cipher-suites are transparently excluded
11987at this level, no need to configure this manually.  <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE)
11988TLS authentication is available with Postfix 2.11 and later.  </dd>
11989
11990<dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
11991<dd>Mandatory DANE TLS.  This is just like "dane" above, but DANE
11992TLSA authentication is required.  There is no fallback to "may" or
11993"encrypt" when TLSA records are missing or unusable.  <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>
11994(DANE) TLS authentication is available with Postfix 2.11 and later.
11995</dd>
11996
11997<dt><b><a href="TLS_README.html#client_tls_fingerprint">fingerprint</a></b></dt>
11998<dd>Certificate fingerprint verification.
11999At this security level, there are no trusted certificate authorities.
12000The certificate trust chain, expiration date, etc., are
12001not checked. Instead, the <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b>
12002parameter lists the certificate fingerprint or public key fingerprint
12003(Postfix 2.9 and later) of the valid server certificate. The digest
12004algorithm used to calculate the fingerprint is selected by the
12005<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Available with Postfix
120062.5 and later.  </dd>
12007
12008<dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
12009<dd>Mandatory TLS verification. At this security
12010level, DNS MX lookups are trusted to be secure enough, and the name
12011verified in the server certificate is usually obtained indirectly
12012via unauthenticated DNS MX lookups. The <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
12013parameter controls how the server name is verified. In practice explicit
12014control over matching is more common at the "secure" level, described
12015below. This security level is not an appropriate default for systems
12016delivering mail to the Internet. </dd>
12017
12018<dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
12019<dd>Secure-channel TLS.  At this security level,
12020DNS MX lookups, though potentially used to determine the candidate
12021next-hop gateway IP addresses, are <b>not</b> trusted to be secure enough
12022for TLS peername verification. Instead, the default name verified in
12023the server certificate is obtained from the next-hop domain as specified
12024in the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> configuration parameter. The default
12025matching rule is that a server certificate matches when its name is equal
12026to or is a sub-domain of the nexthop domain. This security level is not
12027an appropriate default for systems delivering mail to the Internet. </dd>
12028
12029</dl>
12030
12031<p>
12032Examples:
12033</p>
12034
12035<pre>
12036# 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.
12037<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = none
12038</pre>
12039
12040<pre>
12041# Opportunistic TLS.
12042<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
12043# Postfix &ge; 2.6:
12044# Do not tweak opportunistic ciphers or protocol unless it is essential
12045# to do so (if a security vulnerability is found in the SSL library that
12046# can be mitigated by disabling a particular protocol or raising the
12047# cipher grade from "export" to "low" or "medium").
12048<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> = export
12049<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2
12050</pre>
12051
12052<pre>
12053# Mandatory (high-grade) TLS encryption.
12054<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
12055<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
12056</pre>
12057
12058<pre>
12059# Mandatory TLS verification of hostname or nexthop domain.
12060<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = verify
12061<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
12062<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
12063</pre>
12064
12065<pre>
12066# Secure channel TLS with exact nexthop name match.
12067<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = secure
12068<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1
12069<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
12070<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
12071</pre>
12072
12073<pre>
12074# Certificate fingerprint verification (Postfix &ge; 2.5).
12075# The CA-less "fingerprint" security level only scales to a limited
12076# number of destinations. As a global default rather than a per-site
12077# setting, this is practical when mail for all recipients is sent
12078# to a central mail hub.
12079<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
12080<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
12081<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
12082<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
12083<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
12084    3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
12085    EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
12086</pre>
12087
12088<p> This feature is available in Postfix 2.3 and later. </p>
12089
12090
12091</DD>
12092
12093<DT><b><a name="smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
12094(default: empty)</b></DT><DD>
12095
12096<p> Name of the file containing the optional Postfix SMTP client
12097TLS session cache. Specify a database type that supports enumeration,
12098such as <b>btree</b> or <b>sdbm</b>; there is no need to support
12099concurrent access.  The file is created if it does not exist. The <a href="smtp.8.html">smtp(8)</a>
12100daemon does not use this parameter directly, rather the cache is
12101implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
12102per-smtp-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not effective.
12103Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon:
12104$<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>
12105(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
12106be stored separately. It is not at this time possible to store multiple
12107caches in a single database. </p>
12108
12109<p> Note: <b>dbm</b> databases are not suitable. TLS
12110session objects are too large. </p>
12111
12112<p> As of version 2.5, Postfix no longer uses root privileges when
12113opening this file. The file should now be stored under the Postfix-owned
12114<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
12115under a non-Postfix directory is redirected to the Postfix-owned
12116<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
12117
12118<p> Example: </p>
12119
12120<pre>
12121<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
12122</pre>
12123
12124<p> This feature is available in Postfix 2.2 and later.  </p>
12125
12126
12127</DD>
12128
12129<DT><b><a name="smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
12130(default: 3600s)</b></DT><DD>
12131
12132<p> The expiration time of Postfix SMTP client TLS session cache
12133information.  A cache cleanup is performed periodically
12134every $<a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> seconds. As with
12135$<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>, this parameter is implemented in the
12136<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtp-instance <a href="master.5.html">master.cf</a> overrides
12137are not possible. </p>
12138
12139<p> As of Postfix 2.11 this setting cannot exceed 100 days.  If set
12140&le; 0, session caching is disabled.  If set to a positive value
12141less than 2 minutes, the minimum value of 2 minutes is used instead.  </p>
12142
12143<p> This feature is available in Postfix 2.2 and later.  </p>
12144
12145
12146</DD>
12147
12148<DT><b><a name="smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
12149(default: empty)</b></DT><DD>
12150
12151<p> Zero or more PEM-format files with trust-anchor certificates
12152and/or public keys.  If the parameter is not empty the root CAs in
12153CAfile and CApath are no longer trusted.  Rather, the Postfix SMTP
12154client will only trust certificate-chains signed by one of the
12155trust-anchors contained in the chosen files.  The specified
12156trust-anchor certificates and public keys are not subject to
12157expiration, and need not be (self-signed) root CAs.  They may, if
12158desired, be intermediate certificates. Therefore, these certificates
12159also may be found "in the middle" of the trust chain presented by
12160the remote SMTP server, and any untrusted issuing parent certificates
12161will be ignored.  Specify a list of pathnames separated by comma
12162or whitespace.  </p>
12163
12164<p>  Whether specified in <a href="postconf.5.html">main.cf</a>, or on a per-destination basis,
12165the trust-anchor PEM file must be accessible to the Postfix SMTP
12166client in the chroot jail if applicable.  The trust-anchor file
12167should contain only certificates and public keys, no private key
12168material, and must be readable by the non-privileged $<a href="postconf.5.html#mail_owner">mail_owner</a>
12169user.  This allows destinations to be bound to a set of specific
12170CAs or public keys without trusting the same CAs for all destinations.
12171</p>
12172
12173<p> The <a href="postconf.5.html">main.cf</a> parameter supports single-purpose Postfix installations
12174that send mail to a fixed set of SMTP peers.  At most sites, if
12175trust-anchor files are used at all, they will be specified on a
12176per-destination basis via the "tafile" attribute of the "verify"
12177and "secure" levels in <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>.  </p>
12178
12179<p> The underlying mechanism is in support of <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE TLSA),
12180which defines mechanisms for a client to securely determine server
12181TLS certificates via DNS.  </p>
12182
12183<p> If you want your trust anchors to be public keys, with OpenSSL
12184you can extract a single PEM public key from a PEM X.509 file
12185containing a single certificate, as follows: </p>
12186
12187<blockquote>
12188<pre>
12189$ openssl x509 -in cert.pem -out ta-key.pem -noout -pubkey
12190</pre>
12191</blockquote>
12192
12193<p> This feature is available in Postfix 2.11 and later.  </p>
12194
12195
12196</DD>
12197
12198<DT><b><a name="smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
12199(default: hostname)</b></DT><DD>
12200
12201<p> How the Postfix SMTP client verifies the server certificate
12202peername for the
12203"verify" TLS security level. In a "verify" TLS policy table
12204($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
12205overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
12206
12207<p> This parameter specifies one or more patterns or strategies separated
12208by commas, whitespace or colons.  In the policy table the only valid
12209separator is the colon character. </p>
12210
12211<p> Patterns specify domain names, or domain name suffixes: </p>
12212
12213<dl>
12214
12215<dt><i>example.com</i></dt> <dd> Match the <i>example.com</i> domain,
12216i.e. one of the names the server certificate must be <i>example.com</i>,
12217upper and lower case distinctions are ignored. </dd>
12218
12219<dt><i>.example.com</i></dt>
12220<dd> Match subdomains of the <i>example.com</i> domain, i.e. match
12221a name in the server certificate that consists of a non-zero number of
12222labels followed by a <i>.example.com</i> suffix. Case distinctions are
12223ignored.</dd>
12224
12225</dl>
12226
12227<p> Strategies specify a transformation from the next-hop domain
12228to the expected name in the server certificate: </p>
12229
12230<dl>
12231
12232<dt>nexthop</dt>
12233<dd> Match against the next-hop domain, which is either the recipient
12234domain, or the transport next-hop configured for the domain stripped of
12235any optional socket type prefix, enclosing square brackets and trailing
12236port. When MX lookups are not suppressed, this is the original nexthop
12237domain prior to the MX lookup, not the result of the MX lookup. For
12238LMTP delivery via UNIX-domain sockets, the verified next-hop name is
12239$<a href="postconf.5.html#myhostname">myhostname</a>.  This strategy is suitable for use with the "secure"
12240policy. Case is ignored.</dd>
12241
12242<dt>dot-nexthop</dt>
12243<dd> As above, but match server certificate names that are subdomains
12244of the next-hop domain. Case is ignored.</dd>
12245
12246<dt>hostname</dt> <dd> Match against the hostname of the server, often
12247obtained via an unauthenticated DNS MX lookup. For LMTP delivery via
12248UNIX-domain sockets, the verified name is $<a href="postconf.5.html#myhostname">myhostname</a>. This matches
12249the verification strategy of the "MUST" keyword in the obsolete
12250<a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table, and is suitable for use with the "verify"
12251security level. When the next-hop name is enclosed in square brackets
12252to suppress MX lookups, the "hostname" strategy is the same as the
12253"nexthop" strategy. Case is ignored.</dd>
12254
12255</dl>
12256
12257<p>
12258Sample <a href="postconf.5.html">main.cf</a> setting:
12259</p>
12260
12261<pre>
12262<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
12263</pre>
12264
12265<p>
12266Sample policy table override:
12267</p>
12268
12269<pre>
12270example.com     verify  match=hostname:nexthop
12271.example.com    verify  match=example.com:.example.com:hostname
12272</pre>
12273
12274<p> This feature is available in Postfix 2.3 and later. </p>
12275
12276
12277</DD>
12278
12279<DT><b><a name="smtp_use_tls">smtp_use_tls</a>
12280(default: no)</b></DT><DD>
12281
12282<p> Opportunistic mode: use TLS when a remote SMTP server announces
12283STARTTLS support, otherwise send the mail in the clear. Beware:
12284some SMTP servers offer STARTTLS even if it is not configured.  With
12285Postfix &lt; 2.3, if the TLS handshake fails, and no other server is
12286available, delivery is deferred and mail stays in the queue. If this
12287is a concern for you, use the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> feature instead.  </p>
12288
12289<p> This feature is available in Postfix 2.2 and later. With
12290Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
12291
12292
12293</DD>
12294
12295<DT><b><a name="smtp_xforward_timeout">smtp_xforward_timeout</a>
12296(default: 300s)</b></DT><DD>
12297
12298<p>
12299The Postfix SMTP client time limit for sending the XFORWARD command,
12300and for receiving the remote SMTP server response.
12301</p>
12302
12303<p>
12304Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
12305The default time unit is s (seconds).
12306</p>
12307
12308<p>
12309This feature is available in Postfix 2.1 and later.
12310</p>
12311
12312
12313</DD>
12314
12315<DT><b><a name="smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
12316(default: $<a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a>)</b></DT><DD>
12317
12318<p> What remote SMTP clients are allowed to specify the XVERP command.
12319This command requests that mail be delivered one recipient at a
12320time with a per recipient return address.  </p>
12321
12322<p> By default, no clients are allowed to specify XVERP.  </p>
12323
12324<p> This parameter was renamed with Postfix version 2.1. The default value
12325is backwards compatible with Postfix version 2.0.  </p>
12326
12327<p> Specify a list of network/netmask patterns, separated by commas
12328and/or whitespace. The mask specifies the number of bits in the
12329network part of a host address. You can also specify hostnames or
12330.domain names (the initial dot causes the domain to match any name
12331below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
12332pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
12333is matched when a table entry matches a lookup string (the lookup
12334result is ignored).  Continue long lines by starting the next line
12335with whitespace. Specify "!pattern" to exclude an address or network
12336block from the list. The form "!/file/name" is supported only in
12337Postfix version 2.4 and later.  </p>
12338
12339<p> Note: IP version 6 address information must be specified inside
12340<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> value, and in
12341files specified with "/file/name".  IP version 6 addresses contain
12342the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
12343pattern.  </p>
12344
12345
12346</DD>
12347
12348<DT><b><a name="smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>
12349(default: empty)</b></DT><DD>
12350
12351<p>
12352What remote SMTP clients are allowed to use the XCLIENT feature.  This
12353command overrides remote SMTP client information that is used for access
12354control. Typical use is for SMTP-based content filters, fetchmail-like
12355programs, or SMTP server access rule testing. See the <a href="XCLIENT_README.html">XCLIENT_README</a>
12356document for details.
12357</p>
12358
12359<p>
12360This feature is available in Postfix 2.1 and later.
12361</p>
12362
12363<p>
12364By default, no clients are allowed to specify XCLIENT.
12365</p>
12366
12367<p>
12368Specify a list of network/netmask patterns, separated by commas
12369and/or whitespace. The mask specifies the number of bits in the
12370network part of a host address. You can also specify hostnames or
12371.domain names (the initial dot causes the domain to match any name
12372below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
12373pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
12374is matched when a table entry matches a lookup string (the lookup
12375result is ignored).  Continue long lines by starting the next line
12376with whitespace. Specify "!pattern" to exclude an address or network
12377block from the list. The form "!/file/name" is supported only in
12378Postfix version 2.4 and later.  </p>
12379
12380<p> Note: IP version 6 address information must be specified inside
12381<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> value, and in
12382files specified with "/file/name".  IP version 6 addresses contain
12383the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
12384pattern.  </p>
12385
12386
12387</DD>
12388
12389<DT><b><a name="smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a>
12390(default: empty)</b></DT><DD>
12391
12392<p>
12393What remote SMTP clients are allowed to use the XFORWARD feature.  This
12394command forwards information that is used to improve logging after
12395SMTP-based content filters. See the <a href="XFORWARD_README.html">XFORWARD_README</a> document for
12396details.
12397</p>
12398
12399<p>
12400This feature is available in Postfix 2.1 and later.
12401</p>
12402
12403<p>
12404By default, no clients are allowed to specify XFORWARD.
12405</p>
12406
12407<p>
12408Specify a list of network/netmask patterns, separated by commas
12409and/or whitespace. The mask specifies the number of bits in the
12410network part of a host address. You can also specify hostnames or
12411.domain names (the initial dot causes the domain to match any name
12412below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
12413pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
12414is matched when a table entry matches a lookup string (the lookup
12415result is ignored).  Continue long lines by starting the next line
12416with whitespace. Specify "!pattern" to exclude an address or network
12417block from the list. The form "!/file/name" is supported only in
12418Postfix version 2.4 and later.  </p>
12419
12420<p> Note: IP version 6 address information must be specified inside
12421<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> value, and in
12422files specified with "/file/name".  IP version 6 addresses contain
12423the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
12424pattern.  </p>
12425
12426
12427</DD>
12428
12429<DT><b><a name="smtpd_banner">smtpd_banner</a>
12430(default: $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a>)</b></DT><DD>
12431
12432<p>
12433The text that follows the 220 status code in the SMTP greeting
12434banner. Some people like to see the mail version advertised. By
12435default, Postfix shows no version.
12436</p>
12437
12438<p>
12439You MUST specify $<a href="postconf.5.html#myhostname">myhostname</a> at the start of the text. This is
12440required by the SMTP protocol.
12441</p>
12442
12443<p>
12444Example:
12445</p>
12446
12447<pre>
12448<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>)
12449</pre>
12450
12451
12452</DD>
12453
12454<DT><b><a name="smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>
12455(default: 50)</b></DT><DD>
12456
12457<p>
12458How many simultaneous connections any client is allowed to
12459make to this service.  By default, the limit is set to half
12460the default process limit value.
12461</p>
12462
12463<p>
12464To disable this feature, specify a limit of 0.
12465</p>
12466
12467<p>
12468WARNING: The purpose of this feature is to limit abuse. It must
12469not be used to regulate legitimate mail traffic.
12470</p>
12471
12472<p>
12473This feature is available in Postfix 2.2 and later.
12474</p>
12475
12476
12477</DD>
12478
12479<DT><b><a name="smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a>
12480(default: 0)</b></DT><DD>
12481
12482<p>
12483The maximal number of connection attempts any client is allowed to
12484make to this service per time unit.  The time unit is specified
12485with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
12486</p>
12487
12488<p>
12489By default, a client can make as many connections per time unit as
12490Postfix can accept.
12491</p>
12492
12493<p>
12494To disable this feature, specify a limit of 0.
12495</p>
12496
12497<p>
12498WARNING: The purpose of this feature is to limit abuse. It must
12499not be used to regulate legitimate mail traffic.
12500</p>
12501
12502<p>
12503This feature is available in Postfix 2.2 and later.
12504</p>
12505
12506<p>
12507Example:
12508</p>
12509
12510<pre>
12511<a href="postconf.5.html#smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> = 1000
12512</pre>
12513
12514
12515</DD>
12516
12517<DT><b><a name="smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
12518(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
12519
12520<p>
12521Clients that are excluded from smtpd_client_*_count/rate_limit
12522restrictions. See the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter
12523description for the parameter value syntax.
12524</p>
12525
12526<p>
12527By default, clients in trusted networks are excluded. Specify a
12528list of network blocks, hostnames or .domain names (the initial
12529dot causes the domain to match any name below it).
12530</p>
12531
12532<p> Note: IP version 6 address information must be specified inside
12533<tt>[]</tt> in the <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> value, and
12534in files specified with "/file/name".  IP version 6 addresses
12535contain the ":" character, and would otherwise be confused with a
12536"<a href="DATABASE_README.html">type:table</a>" pattern.  </p>
12537
12538<p>
12539This feature is available in Postfix 2.2 and later.
12540</p>
12541
12542
12543</DD>
12544
12545<DT><b><a name="smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a>
12546(default: 0)</b></DT><DD>
12547
12548<p>
12549The maximal number of message delivery requests that any client is
12550allowed to make to this service per time unit, regardless of whether
12551or not Postfix actually accepts those messages.  The time unit is
12552specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
12553</p>
12554
12555<p>
12556By default, a client can send as many message delivery requests
12557per time unit as Postfix can accept.
12558</p>
12559
12560<p>
12561To disable this feature, specify a limit of 0.
12562</p>
12563
12564<p>
12565WARNING: The purpose of this feature is to limit abuse. It must
12566not be used to regulate legitimate mail traffic.
12567</p>
12568
12569<p>
12570This feature is available in Postfix 2.2 and later.
12571</p>
12572
12573<p>
12574Example:
12575</p>
12576
12577<pre>
12578<a href="postconf.5.html#smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> = 1000
12579</pre>
12580
12581
12582</DD>
12583
12584<DT><b><a name="smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a>
12585(default: 0)</b></DT><DD>
12586
12587<p>
12588The maximal number of new (i.e., uncached) TLS sessions that a
12589remote SMTP client is allowed to negotiate with this service per
12590time unit.  The time unit is specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a>
12591configuration parameter.
12592</p>
12593
12594<p>
12595By default, a remote SMTP client can negotiate as many new TLS
12596sessions per time unit as Postfix can accept.
12597</p>
12598
12599<p>
12600To disable this feature, specify a limit of 0. Otherwise, specify
12601a limit that is at least the per-client concurrent session limit,
12602or else legitimate client sessions may be rejected.
12603</p>
12604
12605<p>
12606WARNING: The purpose of this feature is to limit abuse. It must
12607not be used to regulate legitimate mail traffic.
12608</p>
12609
12610<p>
12611This feature is available in Postfix 2.3 and later.
12612</p>
12613
12614<p>
12615Example:
12616</p>
12617
12618<pre>
12619<a href="postconf.5.html#smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a> = 100
12620</pre>
12621
12622
12623</DD>
12624
12625<DT><b><a name="smtpd_client_port_logging">smtpd_client_port_logging</a>
12626(default: no)</b></DT><DD>
12627
12628<p> Enable logging of the remote SMTP client port in addition to
12629the hostname and IP address. The logging format is "host[address]:port".
12630</p>
12631
12632<p> This feature is available in Postfix 2.5 and later. </p>
12633
12634
12635</DD>
12636
12637<DT><b><a name="smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a>
12638(default: 0)</b></DT><DD>
12639
12640<p>
12641The maximal number of recipient addresses that any client is allowed
12642to send to this service per time unit, regardless of whether or not
12643Postfix actually accepts those recipients.  The time unit is specified
12644with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
12645</p>
12646
12647<p>
12648By default, a client can send as many recipient addresses per time
12649unit as Postfix can accept.
12650</p>
12651
12652<p>
12653To disable this feature, specify a limit of 0.
12654</p>
12655
12656<p>
12657WARNING: The purpose of this feature is to limit abuse. It must
12658not be used to regulate legitimate mail traffic.
12659</p>
12660
12661<p>
12662This feature is available in Postfix 2.2 and later.
12663</p>
12664
12665<p>
12666Example:
12667</p>
12668
12669<pre>
12670<a href="postconf.5.html#smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> = 1000
12671</pre>
12672
12673
12674</DD>
12675
12676<DT><b><a name="smtpd_client_restrictions">smtpd_client_restrictions</a>
12677(default: empty)</b></DT><DD>
12678
12679<p>
12680Optional restrictions that the Postfix SMTP server applies in the
12681context of a client connection request.
12682See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
12683restriction lists" for a discussion of evaluation context and time.
12684</p>
12685
12686<p>
12687The default is to allow all connection requests.
12688</p>
12689
12690<p>
12691Specify a list of restrictions, separated by commas and/or whitespace.
12692Continue long lines by starting the next line with whitespace.
12693Restrictions are applied in the order as specified; the first
12694restriction that matches wins.
12695</p>
12696
12697<p>
12698The following restrictions are specific to client hostname or
12699client network address information.
12700</p>
12701
12702<dl>
12703
12704<dt><b><a name="check_ccert_access">check_ccert_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
12705
12706<dd> Use the remote SMTP client certificate fingerprint or the public key
12707fingerprint (Postfix 2.9 and later) as lookup key for the specified
12708<a href="access.5.html">access(5)</a> database; with Postfix version 2.2, also require that the
12709remote SMTP client certificate is verified successfully.
12710The fingerprint digest algorithm is configurable via the
12711<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
12712Postfix version 2.5).  This feature is available with Postfix version
127132.2 and later. </dd>
12714
12715<dt><b><a name="check_client_access">check_client_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
12716
12717<dd>Search the specified access database for the client hostname,
12718parent domains, client IP address, or networks obtained by stripping
12719least significant octets. See the <a href="access.5.html">access(5)</a> manual page for details. </dd>
12720
12721<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>
12722
12723<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
12724client hostname, and execute the corresponding action.  Note: a result
12725of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
12726to exclude specific hosts from blacklists.  This feature is available
12727in Postfix 2.7 and later.  </dd>
12728
12729<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>
12730
12731<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
12732the client hostname, and execute the corresponding action.  Note: a
12733result of "OK" is not allowed for safety reasons. Instead, use DUNNO
12734in order to exclude specific hosts from blacklists.  This feature is
12735available in Postfix 2.7 and later.  </dd>
12736
12737<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>
12738
12739<dd>Search the specified access database for the unverified reverse
12740client hostname, parent domains, client IP address, or networks
12741obtained by stripping least significant octets. See the <a href="access.5.html">access(5)</a>
12742manual page for details.  Note: a result of "OK" is not allowed for
12743safety reasons.  Instead, use DUNNO in order to exclude specific
12744hosts from blacklists.  This feature is available in Postfix 2.6
12745and later.</dd>
12746
12747<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>
12748
12749<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
12750unverified reverse client hostname, and execute the corresponding
12751action.  Note: a result of "OK" is not allowed for safety reasons.
12752Instead, use DUNNO in order to exclude specific hosts from blacklists.
12753This feature is available in Postfix 2.7 and later.  </dd>
12754
12755<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>
12756
12757<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
12758the unverified reverse client hostname, and execute the corresponding
12759action.  Note: a result of "OK" is not allowed for safety reasons.
12760Instead, use DUNNO in order to exclude specific hosts from blacklists.
12761This feature is available in Postfix 2.7 and later.  </dd>
12762
12763<dt><b><a name="check_sasl_access">check_sasl_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
12764
12765<dd> Use the remote SMTP client SASL user name as lookup key for
12766the specified <a href="access.5.html">access(5)</a> database. The lookup key has the form
12767"username@domainname" when the <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> parameter
12768value is non-empty.  Unlike the <a href="postconf.5.html#check_client_access">check_client_access</a> feature,
12769<a href="postconf.5.html#check_sasl_access">check_sasl_access</a> does not perform matches of parent domains or IP
12770subnet ranges.  This feature is available with Postfix version 2.11
12771and later. </dd>
12772
12773<dt><b><a name="permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
12774
12775<dd>Permit the request when the client IP address matches
12776$<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. </dd>
12777
12778<dt><b><a name="permit_mynetworks">permit_mynetworks</a></b></dt>
12779
12780<dd>Permit the request when the client IP address matches any
12781network or network address listed in  $<a href="postconf.5.html#mynetworks">mynetworks</a>. </dd>
12782
12783<dt><b><a name="permit_sasl_authenticated">permit_sasl_authenticated</a></b></dt>
12784
12785<dd> Permit the request when the client is successfully
12786authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH) protocol. </dd>
12787
12788<dt><b><a name="permit_tls_all_clientcerts">permit_tls_all_clientcerts</a></b></dt>
12789
12790<dd> Permit the request when the remote SMTP client certificate is
12791verified successfully.  This option must be used only if a special
12792CA issues the certificates and only this CA is listed as trusted
12793CA. Otherwise, clients with a third-party certificate would also
12794be allowed to relay.  Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" when the
12795trusted 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>,
12796to prevent Postfix from appending the system-supplied default CAs.
12797This feature is available with Postfix version 2.2.</dd>
12798
12799<dt><b><a name="permit_tls_clientcerts">permit_tls_clientcerts</a></b></dt>
12800
12801<dd>Permit the request when the remote SMTP client certificate
12802fingerprint or public key fingerprint (Postfix 2.9 and later) is
12803listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
12804The fingerprint digest algorithm is configurable via the
12805<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
12806Postfix version 2.5).  This feature is available with Postfix version
128072.2. </dd>
12808
12809<dt><b><a name="reject_rbl_client">reject_rbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
12810
12811<dd>Reject the request when the reversed client network address is
12812listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
12813(Postfix version 2.1 and later only).  Each "<i>d</i>" is a number,
12814or a pattern inside "[]" that contains one or more ";"-separated
12815numbers or number..number ranges (Postfix version 2.8 and later).
12816If no "<i>=d.d.d.d</i>" is specified, reject the request when the
12817reversed client network address is listed with any A record under
12818<i>rbl_domain</i>. <br>
12819The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
12820rejected requests (default:  554), the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a>  parameter
12821specifies the default server reply, and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a>  parameter
12822specifies tables with server replies indexed by <i>rbl_domain</i>.
12823This feature is available in Postfix 2.0 and later.  </dd>
12824
12825<dt><b><a name="permit_dnswl_client">permit_dnswl_client <i>dnswl_domain=d.d.d.d</i></a></b></dt>
12826
12827<dd>Accept the request when the reversed client network address is
12828listed with the A record "<i>d.d.d.d</i>" under <i>dnswl_domain</i>.
12829Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
12830one or more ";"-separated numbers or number..number ranges.
12831If no "<i>=d.d.d.d</i>" is specified, accept the request when the
12832reversed client network address is listed with any A record under
12833<i>dnswl_domain</i>. <br> For safety, <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a> is silently
12834ignored when it would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>.  The
12835result is DEFER_IF_REJECT when whitelist lookup fails.  This feature
12836is available in Postfix 2.8 and later.  </dd>
12837
12838<dt><b><a name="reject_rhsbl_client">reject_rhsbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
12839
12840<dd>Reject the request when the client hostname is listed with the
12841A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
128422.1 and later only).  Each "<i>d</i>" is a number, or a pattern
12843inside "[]" that contains one or more ";"-separated numbers or
12844number..number ranges (Postfix version 2.8 and later).  If no
12845"<i>=d.d.d.d</i>" is specified, reject the request when the client
12846hostname is listed with
12847any A record under <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a>
12848description above for additional RBL related configuration parameters.
12849This feature is available in Postfix 2.0 and later; with Postfix
12850version 2.8 and later, <a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a> will usually
12851produce better results.  </dd>
12852
12853<dt><b><a name="permit_rhswl_client">permit_rhswl_client <i>rhswl_domain=d.d.d.d</i></a></b></dt>
12854
12855<dd>Accept the request when the client hostname is listed with the
12856A record "<i>d.d.d.d</i>" under <i>rhswl_domain</i>.  Each "<i>d</i>"
12857is a number, or a pattern inside "[]" that contains one or more
12858";"-separated numbers or number..number ranges. If no
12859"<i>=d.d.d.d</i>" is specified, accept the request when the client
12860hostname is listed with any A record under <i>rhswl_domain</i>.
12861<br> Caution: client name whitelisting is fragile, since the client
12862name lookup can fail due to temporary outages.  Client name
12863whitelisting should be used only to reduce false positives in e.g.
12864DNS-based blocklists, and not for making access rule exceptions.
12865<br> For safety, <a href="postconf.5.html#permit_rhswl_client">permit_rhswl_client</a> is silently ignored when it
12866would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>.  The result is DEFER_IF_REJECT
12867when whitelist lookup fails.  This feature is available in Postfix
128682.8 and later.  </dd>
12869
12870<dt><b><a name="reject_rhsbl_reverse_client">reject_rhsbl_reverse_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
12871
12872<dd>Reject the request when the unverified reverse client hostname
12873is listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>.
12874Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
12875one or more ";"-separated numbers or number..number ranges.
12876If no "<i>=d.d.d.d</i>" is specified, reject the request when the
12877unverified reverse client hostname is listed with any A record under
12878<i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description above for
12879additional RBL related configuration parameters.  This feature is
12880available in Postfix 2.8 and later.  </dd>
12881
12882<dt><b><a name="reject_unknown_client_hostname">reject_unknown_client_hostname</a></b> (with Postfix &lt; 2.3: reject_unknown_client)</dt>
12883
12884<dd>Reject the request when 1) the client IP address-&gt;name mapping
12885fails, 2) the name-&gt;address mapping fails, or 3) the name-&gt;address
12886mapping does not match the client IP address.  <br> This is a
12887stronger restriction than the <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a>
12888feature, which triggers only under condition 1) above. <br> The
12889<a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response code
12890for rejected requests (default: 450). The reply is always 450 in
12891case the address-&gt;name or name-&gt;address lookup failed due to
12892a temporary problem. </dd>
12893
12894<dt><b><a name="reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a></b></dt>
12895
12896<dd>Reject the request when the client IP address has no address-&gt;name
12897mapping. <br> This is a weaker restriction than the
12898<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> feature, which requires not only
12899that the address-&gt;name and name-&gt;address mappings exist, but
12900also that the two mappings reproduce the client IP address.  <br>
12901The <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response
12902code for rejected requests (default: 450).  The reply is always 450
12903in case the address-&gt;name lookup failed due to a temporary
12904problem. <br> This feature is available in Postfix 2.3 and
12905later.  </dd>
12906
12907</dl>
12908
12909<p>
12910In addition, you can use any of the following <a name="generic">
12911generic</a> restrictions.  These restrictions are applicable in
12912any SMTP command context.
12913</p>
12914
12915<dl>
12916
12917<dt><b><a name="check_policy_service">check_policy_service <i>servername</i></a></b></dt>
12918
12919<dd>Query the specified policy server. See the <a href="SMTPD_POLICY_README.html">SMTPD_POLICY_README</a>
12920document for details. This feature is available in Postfix 2.1
12921and later. </dd>
12922
12923<dt><b><a name="defer">defer</a></b></dt>
12924
12925<dd>Defer the request. The client is told to try again later. This
12926restriction is useful at the end of a restriction list, to make
12927the default policy explicit. <br> The <a href="postconf.5.html#defer_code">defer_code</a> parameter specifies
12928the SMTP server reply code (default: 450).</dd>
12929
12930<dt><b><a name="defer_if_permit">defer_if_permit</a></b></dt>
12931
12932<dd>Defer the request if some later restriction would result in an
12933explicit or implicit PERMIT action.  This is useful when a blacklisting
12934feature fails due to a temporary problem.  This feature is available
12935in Postfix version 2.1 and later.  </dd>
12936
12937<dt><b><a name="defer_if_reject">defer_if_reject</a></b></dt>
12938
12939<dd>Defer the request if some later restriction would result in a
12940REJECT action.  This is useful when a whitelisting feature fails
12941due to a temporary problem.  This feature is available in Postfix
12942version 2.1 and later.  </dd>
12943
12944<dt><b><a name="permit">permit</a></b></dt>
12945
12946<dd>Permit the request. This restriction is useful at the end of
12947a restriction list, to make the default policy explicit.</dd>
12948
12949<dt><b><a name="reject_multi_recipient_bounce">reject_multi_recipient_bounce</a></b></dt>
12950
12951<dd>Reject the request when the envelope sender is the null address,
12952and the message has multiple envelope recipients. This usage has
12953rare but legitimate applications: under certain conditions,
12954multi-recipient mail that was posted with the DSN option NOTIFY=NEVER
12955may be forwarded with the null sender address.
12956<br> Note: this restriction can only work reliably
12957when used in <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> or
12958<a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>, because the total number of
12959recipients is not known at an earlier stage of the SMTP conversation.
12960Use at the RCPT stage will only reject the second etc.  recipient.
12961<br>
12962The <a href="postconf.5.html#multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> parameter specifies the
12963response code for rejected requests (default:  550).  This feature
12964is available in Postfix 2.1 and later. </dd>
12965
12966<dt><b><a name="reject_plaintext_session">reject_plaintext_session</a></b></dt>
12967
12968<dd>Reject the request when the connection is not encrypted. This
12969restriction should not be used before the client has had a chance
12970to negotiate encryption with the AUTH or STARTTLS commands.
12971<br>
12972The <a href="postconf.5.html#plaintext_reject_code">plaintext_reject_code</a> parameter specifies the response
12973code for rejected requests (default:  450).  This feature is available
12974in Postfix 2.3 and later. </dd>
12975
12976<dt><b><a name="reject_unauth_pipelining">reject_unauth_pipelining</a></b></dt>
12977
12978<dd>Reject the request when the client sends SMTP commands ahead
12979of time where it is not allowed, or when the client sends SMTP
12980commands ahead of time without knowing that Postfix actually supports
12981ESMTP command pipelining. This stops mail from bulk mail software
12982that improperly uses ESMTP command pipelining in order to speed up
12983deliveries.
12984<br> With Postfix 2.6 and later, the SMTP server sets a per-session
12985flag whenever it detects illegal pipelining, including pipelined
12986EHLO or HELO commands. The <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> feature simply
12987tests whether the flag was set at any point in time during the
12988session.
12989<br> With older Postfix versions, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> checks
12990the current status of the input read queue, and its usage is not
12991recommended in contexts other than <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a>.  </dd>
12992
12993<dt><b><a name="reject">reject</a></b></dt>
12994
12995<dd>Reject the request. This restriction is useful at the end of
12996a restriction list, to make the default policy explicit.  The
12997<a href="postconf.5.html#reject_code">reject_code</a> configuration parameter specifies the response code for
12998rejected requests (default: 554).</dd>
12999
13000<dt><b><a name="sleep">sleep <i>seconds</i></a></b></dt>
13001
13002<dd>Pause for the specified number of seconds and proceed with
13003the next restriction in the list, if any. This may stop zombie
13004mail when used as:
13005<pre>
13006/etc/postfix/<a href="postconf.5.html">main.cf</a>:
13007    <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
13008        sleep 1, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
13009    <a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = no
13010</pre>
13011This feature is available in Postfix 2.3. </dd>
13012
13013<dt><b><a name="warn_if_reject">warn_if_reject</a></b></dt>
13014
13015<dd> A safety net for testing. When "<a href="postconf.5.html#warn_if_reject">warn_if_reject</a>" is placed
13016before a reject-type restriction, access table query, or
13017<a href="postconf.5.html#check_policy_service">check_policy_service</a> query, this logs a "reject_warning" message
13018instead of rejecting a request (when a reject-type restriction fails
13019due to a temporary error, this logs a "reject_warning" message for
13020any implicit "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" actions that would normally prevent
13021mail from being accepted by some later access restriction). This
13022feature has no effect on <a href="postconf.5.html#defer_if_reject">defer_if_reject</a> restrictions.  </dd>
13023
13024</dl>
13025
13026<p>
13027Other restrictions that are valid in this context:
13028</p>
13029
13030<ul>
13031
13032<li> SMTP command specific restrictions that are described under
13033the <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
13034<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameters. When helo, sender or
13035recipient restrictions are listed under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>,
13036they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
13037$<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> is evaluated at the time of the RCPT TO
13038command.
13039
13040</ul>
13041
13042<p>
13043Example:
13044</p>
13045
13046<pre>
13047<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>
13048</pre>
13049
13050
13051</DD>
13052
13053<DT><b><a name="smtpd_command_filter">smtpd_command_filter</a>
13054(default: empty)</b></DT><DD>
13055
13056<p> A mechanism to transform commands from remote SMTP clients.
13057This is a last-resort tool to work around client commands that break
13058inter-operability with the Postfix SMTP server.  Other uses involve
13059fault injection to test Postfix's handling of invalid commands.
13060</p>
13061
13062<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
13063string is the SMTP command as received from the remote SMTP client,
13064except that initial whitespace and the trailing &lt;CR&gt;&lt;LF&gt;
13065are removed.  The result value is executed by the Postfix SMTP
13066server.  </p>
13067
13068<p> There is no need to use <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for the following
13069cases: </p>
13070
13071<ul>
13072
13073<li> <p> Use "<a href="postconf.5.html#resolve_numeric_domain">resolve_numeric_domain</a> = yes" to accept
13074"<i>user@ipaddress</i>". </p>
13075
13076<li> <p> Postfix already accepts the correct form
13077"<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>
13078to translate these into domain names if necessary.  </p>
13079
13080<li> <p> Use "<a href="postconf.5.html#strict_rfc821_envelopes">strict_rfc821_envelopes</a> = no" to accept "RCPT TO:&lt;<i>User
13081Name &lt;user@example.com&gt;&gt;</i>". Postfix will ignore the "<i>User
13082Name</i>" part and deliver to the <i>&lt;user@example.com&gt;</i> address.
13083</p>
13084
13085</ul>
13086
13087<p> Examples of problems that can be solved with the <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>
13088feature: </p>
13089
13090<pre>
13091/etc/postfix/<a href="postconf.5.html">main.cf</a>:
13092    <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/command_filter
13093</pre>
13094
13095<pre>
13096/etc/postfix/command_filter:
13097    # Work around clients that send malformed HELO commands.
13098    /^HELO\s*$/ HELO domain.invalid
13099</pre>
13100
13101<pre>
13102    # Work around clients that send empty lines.
13103    /^\s*$/     NOOP
13104</pre>
13105
13106<pre>
13107    # Work around clients that send RCPT TO:&lt;'user@domain'&gt;.
13108    # WARNING: do not lose the parameters that follow the address.
13109    /^RCPT\s+TO:\s*&lt;'([^[:space:]]+)'&gt;(.*)/     RCPT TO:&lt;$1&gt;$2
13110</pre>
13111
13112<pre>
13113    # Append XVERP to MAIL FROM commands to request VERP-style delivery.
13114    # See <a href="VERP_README.html">VERP_README</a> for more information on how to use Postfix VERP.
13115    /^(MAIL FROM:&lt;listname@example\.com&gt;.*)/   $1 XVERP
13116</pre>
13117
13118<pre>
13119    # Bounce-never mail sink. Use <a href="postconf.5.html#notify_classes">notify_classes</a>=bounce,resource,software
13120    # to send bounced mail to the postmaster (with message body removed).
13121    /^(RCPT\s+TO:&lt;.*&gt;.*)\s+NOTIFY=\S+(.*)/ $1 NOTIFY=NEVER$2
13122    /^(RCPT\s+TO:.*)/                    $1 NOTIFY=NEVER
13123</pre>
13124
13125<p> This feature is available in Postfix 2.7. </p>
13126
13127
13128</DD>
13129
13130<DT><b><a name="smtpd_data_restrictions">smtpd_data_restrictions</a>
13131(default: empty)</b></DT><DD>
13132
13133<p>
13134Optional access restrictions that the Postfix SMTP server applies
13135in the context of the SMTP DATA command.
13136See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
13137restriction lists" for a discussion of evaluation context and time.
13138</p>
13139
13140<p>
13141This feature is available in Postfix 2.0 and later.
13142</p>
13143
13144<p>
13145Specify a list of restrictions, separated by commas and/or whitespace.
13146Continue long lines by starting the next line with whitespace.
13147Restrictions are applied in the order as specified; the first
13148restriction that matches wins.
13149</p>
13150
13151<p>
13152The following restrictions are valid in this context:
13153</p>
13154
13155<ul>
13156
13157<li><a href="#generic">Generic</a> restrictions that can be used
13158in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
13159
13160<li>SMTP command specific restrictions described under
13161<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
13162<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>.
13163
13164<li>However, no recipient information is available in the case of
13165multi-recipient mail. Acting on only one recipient would be misleading,
13166because any decision will affect all recipients equally. Acting on
13167all recipients would require a possibly very large amount of memory,
13168and would also be misleading for the reasons mentioned before.
13169
13170</ul>
13171
13172<p>
13173Examples:
13174</p>
13175
13176<pre>
13177<a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
13178<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>
13179</pre>
13180
13181
13182</DD>
13183
13184<DT><b><a name="smtpd_delay_open_until_valid_rcpt">smtpd_delay_open_until_valid_rcpt</a>
13185(default: yes)</b></DT><DD>
13186
13187<p> Postpone the start of an SMTP mail transaction until a valid
13188RCPT TO command is received. Specify "no" to create a mail transaction
13189as soon as the Postfix SMTP server receives a valid MAIL FROM
13190command. </p>
13191
13192<p> With sites that reject lots of mail, the default setting reduces
13193the use of
13194disk, CPU and memory resources. The downside is that rejected
13195recipients are logged with NOQUEUE instead of a mail transaction
13196ID. This complicates the logfile analysis of multi-recipient mail.
13197</p>
13198
13199<p> This feature is available in Postfix 2.3 and later. </p>
13200
13201
13202</DD>
13203
13204<DT><b><a name="smtpd_delay_reject">smtpd_delay_reject</a>
13205(default: yes)</b></DT><DD>
13206
13207<p>
13208Wait until the RCPT TO command before evaluating
13209$<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
13210$<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, or wait until the ETRN command before
13211evaluating $<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>.
13212</p>
13213
13214<p>
13215This feature is turned on by default because some clients apparently
13216mis-behave when the Postfix SMTP server rejects commands before
13217RCPT TO.
13218</p>
13219
13220<p>
13221The default setting has one major benefit: it allows Postfix to log
13222recipient address information when rejecting a client name/address
13223or sender address, so that it is possible to find out whose mail
13224is being rejected.
13225</p>
13226
13227
13228</DD>
13229
13230<DT><b><a name="smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>
13231(default: empty)</b></DT><DD>
13232
13233<p> Lookup tables, indexed by the remote SMTP client address, with
13234case insensitive lists of EHLO keywords (pipelining, starttls, auth,
13235etc.) that the Postfix SMTP server will not send in the EHLO response
13236to a
13237remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
13238The table is not searched by hostname for robustness reasons.  </p>
13239
13240<p> This feature is available in Postfix 2.2 and later. </p>
13241
13242
13243</DD>
13244
13245<DT><b><a name="smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
13246(default: empty)</b></DT><DD>
13247
13248<p> A case insensitive list of EHLO keywords (pipelining, starttls,
13249auth, etc.) that the Postfix SMTP server will not send in the EHLO
13250response
13251to a remote SMTP client. </p>
13252
13253<p> This feature is available in Postfix 2.2 and later. </p>
13254
13255<p> Notes: </p>
13256
13257<ul>
13258
13259<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
13260this action from being logged. </p>
13261
13262<li> <p> Use the <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> feature
13263to discard EHLO keywords selectively.  </p>
13264
13265</ul>
13266
13267
13268</DD>
13269
13270<DT><b><a name="smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>
13271(default: empty)</b></DT><DD>
13272
13273<p> Optional access restrictions that the Postfix SMTP server
13274applies in the context of the SMTP END-OF-DATA command.
13275See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
13276restriction lists" for a discussion of evaluation context and time.
13277</p>
13278
13279<p> This feature is available in Postfix 2.2 and later. </p>
13280
13281<p> See <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> for details and limitations. </p>
13282
13283
13284</DD>
13285
13286<DT><b><a name="smtpd_enforce_tls">smtpd_enforce_tls</a>
13287(default: no)</b></DT><DD>
13288
13289<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients,
13290and require that clients use TLS encryption.  According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a>
13291this MUST NOT be applied in case of a publicly-referenced SMTP
13292server.  This option is therefore off by default. </p>
13293
13294<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>
13295
13296<p> Note 2: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
13297STARTTLS due to insufficient privileges to access the server private
13298key. This is intended behavior. </p>
13299
13300<p> This feature is available in Postfix 2.2 and later. With
13301Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
13302
13303
13304</DD>
13305
13306<DT><b><a name="smtpd_error_sleep_time">smtpd_error_sleep_time</a>
13307(default: 1s)</b></DT><DD>
13308
13309<p>With Postfix version 2.1 and later: the SMTP server response delay after
13310a client has made more than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors, and
13311fewer than $<a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a> errors, without delivering mail.
13312</p>
13313
13314<p>With Postfix version 2.0 and earlier: the SMTP server delay before
13315sending a reject (4xx or 5xx) response, when the client has made
13316fewer than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors without delivering
13317mail. </p>
13318
13319
13320</DD>
13321
13322<DT><b><a name="smtpd_etrn_restrictions">smtpd_etrn_restrictions</a>
13323(default: empty)</b></DT><DD>
13324
13325<p>
13326Optional restrictions that the Postfix SMTP server applies in the
13327context of a client ETRN command.
13328See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
13329restriction lists" for a discussion of evaluation context and time.
13330</p>
13331
13332<p>
13333The Postfix ETRN implementation accepts only destinations that are
13334eligible for the Postfix "fast flush" service. See the <a href="ETRN_README.html">ETRN_README</a>
13335file for details.
13336</p>
13337
13338<p>
13339Specify a list of restrictions, separated by commas and/or whitespace.
13340Continue long lines by starting the next line with whitespace.
13341Restrictions are applied in the order as specified; the first
13342restriction that matches wins.
13343</p>
13344
13345<p>
13346The following restrictions are specific to the domain name information
13347received with the ETRN command.
13348</p>
13349
13350<dl>
13351
13352<dt><b><a name="check_etrn_access">check_etrn_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
13353
13354<dd>Search the specified access database for the ETRN domain name
13355or its parent domains. See the <a href="access.5.html">access(5)</a> manual page for details.
13356</dd>
13357
13358</dl>
13359
13360<p>
13361Other restrictions that are valid in this context:
13362</p>
13363
13364<ul>
13365
13366<li><a href="#generic">Generic</a> restrictions that can be used
13367in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
13368
13369<li>SMTP command specific restrictions described under
13370<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>.
13371
13372</ul>
13373
13374<p>
13375Example:
13376</p>
13377
13378<pre>
13379<a href="postconf.5.html#smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, reject
13380</pre>
13381
13382
13383</DD>
13384
13385<DT><b><a name="smtpd_expansion_filter">smtpd_expansion_filter</a>
13386(default: see "postconf -d" output)</b></DT><DD>
13387
13388<p>
13389What characters are allowed in $name expansions of RBL reply
13390templates. Characters not in the allowed set are replaced by "_".
13391Use C like escapes to specify special characters such as whitespace.
13392</p>
13393
13394<p>
13395This parameter is not subjected to $parameter expansion.
13396</p>
13397
13398<p>
13399This feature is available in Postfix 2.0 and later.
13400</p>
13401
13402
13403</DD>
13404
13405<DT><b><a name="smtpd_forbidden_commands">smtpd_forbidden_commands</a>
13406(default: CONNECT, GET, POST)</b></DT><DD>
13407
13408<p>
13409List of commands that cause the Postfix SMTP server to immediately
13410terminate the session with a 221 code. This can be used to disconnect
13411clients that obviously attempt to abuse the system. In addition to the
13412commands listed in this parameter, commands that follow the "Label:"
13413format of message headers will also cause a disconnect.
13414</p>
13415
13416<p>
13417This feature is available in Postfix 2.2 and later.
13418</p>
13419
13420
13421</DD>
13422
13423<DT><b><a name="smtpd_hard_error_limit">smtpd_hard_error_limit</a>
13424(default: normal: 20, overload: 1)</b></DT><DD>
13425
13426<p>
13427The maximal number of errors a remote SMTP client is allowed to
13428make without delivering mail. The Postfix SMTP server disconnects
13429when the limit is exceeded. Normally the default limit is 20, but
13430it changes under overload to just 1. With Postfix 2.5 and earlier,
13431the SMTP server always allows up to 20 errors by default.
13432
13433</p>
13434
13435
13436</DD>
13437
13438<DT><b><a name="smtpd_helo_required">smtpd_helo_required</a>
13439(default: no)</b></DT><DD>
13440
13441<p>
13442Require that a remote SMTP client introduces itself with the HELO
13443or EHLO command before sending the MAIL command or other commands
13444that require EHLO negotiation.
13445</p>
13446
13447<p>
13448Example:
13449</p>
13450
13451<pre>
13452<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes
13453</pre>
13454
13455
13456</DD>
13457
13458<DT><b><a name="smtpd_helo_restrictions">smtpd_helo_restrictions</a>
13459(default: empty)</b></DT><DD>
13460
13461<p>
13462Optional restrictions that the Postfix SMTP server applies in the
13463context of a client HELO command.
13464See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
13465restriction lists" for a discussion of evaluation context and time.
13466</p>
13467
13468<p>
13469The default is to permit everything.
13470</p>
13471
13472<p> Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
13473restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
13474simply skip <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> by not sending HELO or EHLO).
13475</p>
13476
13477<p>
13478Specify a list of restrictions, separated by commas and/or whitespace.
13479Continue long lines by starting the next line with whitespace.
13480Restrictions are applied in the order as specified; the first
13481restriction that matches wins.
13482</p>
13483
13484<p>
13485The following restrictions are specific to the hostname information
13486received with the HELO or EHLO command.
13487</p>
13488
13489<dl>
13490
13491<dt><b><a name="check_helo_access">check_helo_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
13492
13493<dd>Search the specified <a href="access.5.html">access(5)</a> database for the HELO or EHLO
13494hostname or parent domains, and execute the corresponding action.
13495Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
13496restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
13497simply skip <a href="postconf.5.html#check_helo_access">check_helo_access</a> by not sending HELO or EHLO).  </dd>
13498
13499<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>
13500
13501<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
13502the HELO or EHLO hostname, and execute the corresponding action.
13503Note 1: a result of "OK" is not allowed for safety reasons. Instead,
13504use DUNNO in order to exclude specific hosts from blacklists.  Note
135052: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
13506restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
13507simply skip <a href="postconf.5.html#check_helo_mx_access">check_helo_mx_access</a> by not sending HELO or EHLO).  This
13508feature is available in Postfix 2.1 and later.
13509</dd>
13510
13511<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>
13512
13513<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
13514for the HELO or EHLO hostname, and execute the corresponding action.
13515Note 1: a result of "OK" is not allowed for safety reasons. Instead,
13516use DUNNO in order to exclude specific hosts from blacklists.  Note
135172: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
13518restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
13519simply skip <a href="postconf.5.html#check_helo_ns_access">check_helo_ns_access</a> by not sending HELO or EHLO). This
13520feature is available in Postfix 2.1 and later.
13521</dd>
13522
13523<dt><b><a name="reject_invalid_helo_hostname">reject_invalid_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_invalid_hostname)</dt>
13524
13525<dd>Reject the request when the HELO or EHLO hostname is malformed.
13526Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce
13527this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply
13528skip <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> by not sending HELO or EHLO).
13529<br> The <a href="postconf.5.html#invalid_hostname_reject_code">invalid_hostname_reject_code</a> specifies the response code
13530for rejected requests (default: 501).</dd>
13531
13532<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>
13533
13534<dd>Reject the request when the HELO or EHLO hostname is not in
13535fully-qualified domain or address literal form, as required by the
13536RFC. Note: specify
13537"<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this restriction
13538(without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply skip
13539<a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a> by not sending HELO or EHLO).  <br>
13540The <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
13541rejected requests (default: 504).</dd>
13542
13543<dt><b><a name="reject_rhsbl_helo">reject_rhsbl_helo <i>rbl_domain=d.d.d.d</i></a></b></dt>
13544
13545<dd>Reject the request when the HELO or EHLO hostname is
13546listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
13547(Postfix version 2.1 and later only).  Each "<i>d</i>" is a number,
13548or a pattern inside "[]" that contains one or more ";"-separated
13549numbers or number..number ranges (Postfix version 2.8 and later).
13550If no "<i>=d.d.d.d</i>" is
13551specified, reject the request when the HELO or EHLO hostname is
13552listed with any A record under <i>rbl_domain</i>. See the
13553<a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description for additional RBL related configuration
13554parameters.  Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
13555enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
13556client can simply skip <a href="postconf.5.html#reject_rhsbl_helo">reject_rhsbl_helo</a> by not sending HELO or
13557EHLO). This feature is available in Postfix 2.0
13558and later.  </dd>
13559
13560<dt><b><a name="reject_unknown_helo_hostname">reject_unknown_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_unknown_hostname)</dt>
13561
13562<dd>Reject the request when the HELO or EHLO hostname has no DNS A
13563or MX record. <br> The <a href="postconf.5.html#unknown_hostname_reject_code">unknown_hostname_reject_code</a> parameter
13564specifies the numerical response code for rejected requests (default:
13565450). <br> The <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a> parameter
13566specifies the action after a temporary DNS error (default:
13567<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
13568enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
13569client can simply skip <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> by not sending
13570HELO or EHLO). </dd>
13571
13572</dl>
13573
13574<p>
13575Other restrictions that are valid in this context:
13576</p>
13577
13578<ul>
13579
13580<li> <a href="#generic">Generic</a> restrictions that can be used
13581in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
13582
13583<li> Client hostname or network address specific restrictions
13584described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
13585
13586<li> SMTP command specific restrictions described under
13587<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
13588sender or recipient restrictions are listed under <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
13589they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
13590$<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> is evaluated at the time of the RCPT TO
13591command.
13592
13593</ul>
13594
13595<p>
13596Examples:
13597</p>
13598
13599<pre>
13600<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>
13601<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>
13602</pre>
13603
13604
13605</DD>
13606
13607<DT><b><a name="smtpd_history_flush_threshold">smtpd_history_flush_threshold</a>
13608(default: 100)</b></DT><DD>
13609
13610<p>
13611The maximal number of lines in the Postfix SMTP server command history
13612before it is flushed upon receipt of EHLO, RSET, or end of DATA.
13613</p>
13614
13615
13616</DD>
13617
13618<DT><b><a name="smtpd_junk_command_limit">smtpd_junk_command_limit</a>
13619(default: normal: 100, overload: 1)</b></DT><DD>
13620
13621<p>
13622The number of junk commands (NOOP, VRFY, ETRN or RSET) that a remote
13623SMTP client can send before the Postfix SMTP server starts to
13624increment the error counter with each junk command.  The junk
13625command count is reset after mail is delivered.  See also the
13626<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
13627parameters.  Normally the default limit is 100, but it changes under
13628overload to just 1. With Postfix 2.5 and earlier, the SMTP server
13629always allows up to 100 junk commands by default.  </p>
13630
13631
13632</DD>
13633
13634<DT><b><a name="smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a>
13635(default: empty)</b></DT><DD>
13636
13637<p> Enable logging of the named "permit" actions in SMTP server
13638access lists (by default, the SMTP server logs "reject" actions but
13639not "permit" actions).  This feature does not affect conditional
13640actions such as "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>". </p>
13641
13642<p> Specify a list of "permit" action names, "/file/name" or
13643"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. The
13644list is matched left to right, and the search stops on the first
13645match. A "/file/name" pattern is replaced by its contents; a
13646"<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup
13647key (the lookup result is ignored).  Continue long lines by starting
13648the next line with whitespace. Specify "!pattern" to exclude a name
13649from the list. </p>
13650
13651<p> Examples: </p>
13652
13653<pre>
13654/etc/postfix/<a href="postconf.5.html">main.cf</a>:
13655    # Log all "permit" actions.
13656    <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
13657</pre>
13658
13659<pre>
13660/etc/postfix/<a href="postconf.5.html">main.cf</a>:
13661    # Log "<a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a>" only.
13662    <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>
13663</pre>
13664
13665<p> This feature is available in Postfix 2.10 and later.  </p>
13666
13667
13668</DD>
13669
13670<DT><b><a name="smtpd_milters">smtpd_milters</a>
13671(default: empty)</b></DT><DD>
13672
13673<p> A list of Milter (mail filter) applications for new mail that
13674arrives via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. Specify space or comma as
13675separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details.  </p>
13676
13677<p> This feature is available in Postfix 2.3 and later. </p>
13678
13679
13680</DD>
13681
13682<DT><b><a name="smtpd_noop_commands">smtpd_noop_commands</a>
13683(default: empty)</b></DT><DD>
13684
13685<p>
13686List of commands that the Postfix SMTP server replies to with "250
13687Ok", without doing any syntax checks and without changing state.
13688This list overrides any commands built into the Postfix SMTP server.
13689</p>
13690
13691
13692</DD>
13693
13694<DT><b><a name="smtpd_null_access_lookup_key">smtpd_null_access_lookup_key</a>
13695(default: &lt;&gt;)</b></DT><DD>
13696
13697<p>
13698The lookup key to be used in SMTP <a href="access.5.html">access(5)</a> tables instead of the
13699null sender address.
13700</p>
13701
13702
13703</DD>
13704
13705<DT><b><a name="smtpd_peername_lookup">smtpd_peername_lookup</a>
13706(default: yes)</b></DT><DD>
13707
13708<p> Attempt to look up the remote SMTP client hostname, and verify that
13709the name matches the client IP address. A client name is set to
13710"unknown" when it cannot be looked up or verified, or when name
13711lookup is disabled.  Turning off name lookup reduces delays due to
13712DNS lookup and increases the maximal inbound delivery rate. </p>
13713
13714<p> This feature is available in Postfix 2.3 and later.  </p>
13715
13716
13717</DD>
13718
13719<DT><b><a name="smtpd_per_record_deadline">smtpd_per_record_deadline</a>
13720(default: normal: no, overload: yes)</b></DT><DD>
13721
13722<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>
13723time limits, from a
13724time limit per read or write system call, to a time limit to send
13725or receive a complete record (an SMTP command line, SMTP response
13726line, SMTP message content line, or TLS protocol message).  This
13727limits the impact from hostile peers that trickle data one byte at
13728a time.  </p>
13729
13730<p> Note: when per-record deadlines are enabled, a short timeout
13731may cause problems with TLS over very slow network connections.
13732The reasons are that a TLS protocol message can be up to 16 kbytes
13733long (with TLSv1), and that an entire TLS protocol message must be
13734sent or received within the per-record deadline.  </p>
13735
13736<p> This feature is available in Postfix 2.9 and later. With older
13737Postfix releases, the behavior is as if this parameter is set to
13738"no". </p>
13739
13740
13741</DD>
13742
13743<DT><b><a name="smtpd_policy_service_max_idle">smtpd_policy_service_max_idle</a>
13744(default: 300s)</b></DT><DD>
13745
13746<p>
13747The time after which an idle SMTPD policy service connection is
13748closed.
13749</p>
13750
13751<p>
13752This feature is available in Postfix 2.1 and later.
13753</p>
13754
13755
13756</DD>
13757
13758<DT><b><a name="smtpd_policy_service_max_ttl">smtpd_policy_service_max_ttl</a>
13759(default: 1000s)</b></DT><DD>
13760
13761<p>
13762The time after which an active SMTPD policy service connection is
13763closed.
13764</p>
13765
13766<p>
13767This feature is available in Postfix 2.1 and later.
13768</p>
13769
13770
13771</DD>
13772
13773<DT><b><a name="smtpd_policy_service_timeout">smtpd_policy_service_timeout</a>
13774(default: 100s)</b></DT><DD>
13775
13776<p>
13777The time limit for connecting to, writing to or receiving from a
13778delegated SMTPD policy server.
13779</p>
13780
13781<p>
13782This feature is available in Postfix 2.1 and later.
13783</p>
13784
13785
13786</DD>
13787
13788<DT><b><a name="smtpd_proxy_ehlo">smtpd_proxy_ehlo</a>
13789(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
13790
13791<p>
13792How the Postfix SMTP server announces itself to the proxy filter.
13793By default, the Postfix hostname is used.
13794</p>
13795
13796<p>
13797This feature is available in Postfix 2.1 and later.
13798</p>
13799
13800
13801</DD>
13802
13803<DT><b><a name="smtpd_proxy_filter">smtpd_proxy_filter</a>
13804(default: empty)</b></DT><DD>
13805
13806<p> The hostname and TCP port of the mail filtering proxy server.
13807The proxy receives all mail from the Postfix SMTP server, and is
13808supposed to give the result to another Postfix SMTP server process.
13809</p>
13810
13811<p> Specify "host:port" or "inet:host:port" for a TCP endpoint, or
13812"unix:pathname" for a UNIX-domain endpoint. The host can be specified
13813as an IP address or as a symbolic name; no MX lookups are done.
13814When no "host" or "host:"  are specified, the local machine is
13815assumed.  Pathname interpretation is relative to the Postfix queue
13816directory.  </p>
13817
13818<p> This feature is available in Postfix 2.1 and later.  </p>
13819
13820<p> The "inet:" and "unix:" prefixes are available in Postfix 2.3
13821and later.  </p>
13822
13823
13824</DD>
13825
13826<DT><b><a name="smtpd_proxy_options">smtpd_proxy_options</a>
13827(default: empty)</b></DT><DD>
13828
13829<p>
13830List of options that control how the Postfix SMTP server
13831communicates with a before-queue content filter. Specify zero or
13832more of the following, separated by comma or whitespace.  </p>
13833
13834<dl>
13835
13836<dt><b>speed_adjust</b></dt>
13837
13838<dd> <p> Do not connect to a before-queue content filter until an entire
13839message has been received. This reduces the number of simultaneous
13840before-queue content filter processes. </p>
13841
13842<p> NOTE 1: A filter must not <i>selectively</i> reject recipients
13843of a multi-recipient message.  Rejecting all recipients is OK, as
13844is accepting all recipients. </p>
13845
13846<p> NOTE 2: This feature increases the minimum amount of free queue
13847space by $<a href="postconf.5.html#message_size_limit">message_size_limit</a>. The extra space is needed to save the
13848message to a temporary file. </p> </dd>
13849
13850</dl>
13851
13852<p>
13853This feature is available in Postfix 2.7 and later.
13854</p>
13855
13856
13857</DD>
13858
13859<DT><b><a name="smtpd_proxy_timeout">smtpd_proxy_timeout</a>
13860(default: 100s)</b></DT><DD>
13861
13862<p>
13863The time limit for connecting to a proxy filter and for sending or
13864receiving information.  When a connection fails the client gets a
13865generic error message while more detailed information is logged to
13866the maillog file.
13867</p>
13868
13869<p>
13870Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
13871The default time unit is s (seconds).
13872</p>
13873
13874<p>
13875This feature is available in Postfix 2.1 and later.
13876</p>
13877
13878
13879</DD>
13880
13881<DT><b><a name="smtpd_recipient_limit">smtpd_recipient_limit</a>
13882(default: 1000)</b></DT><DD>
13883
13884<p>
13885The maximal number of recipients that the Postfix SMTP server
13886accepts per message delivery request.
13887</p>
13888
13889
13890</DD>
13891
13892<DT><b><a name="smtpd_recipient_overshoot_limit">smtpd_recipient_overshoot_limit</a>
13893(default: 1000)</b></DT><DD>
13894
13895<p> The number of recipients that a remote SMTP client can send in
13896excess of the limit specified with $<a href="postconf.5.html#smtpd_recipient_limit">smtpd_recipient_limit</a>, before
13897the Postfix SMTP server increments the per-session error count
13898for each excess recipient.  </p>
13899
13900
13901</DD>
13902
13903<DT><b><a name="smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>
13904(default: see "postconf -d" output)</b></DT><DD>
13905
13906<p>
13907Optional restrictions that the Postfix SMTP server applies in the
13908context of a client RCPT TO command, after <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
13909See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
13910restriction lists" for a discussion of evaluation context and time.
13911</p>
13912
13913<p> With Postfix versions before 2.10, the rules for relay permission
13914and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
13915resulting in error-prone configuration.  As of Postfix 2.10, relay
13916permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
13917so that a permissive spam blocking policy under
13918<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
13919mail relay policy.  </p>
13920
13921<p> For backwards compatibility, sites that migrate from Postfix
13922versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
13923value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
13924
13925<p>
13926IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
13927<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
13928at least one of the following restrictions. Otherwise Postfix will
13929refuse to receive mail:
13930</p>
13931
13932<blockquote>
13933<pre>
13934reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
13935</pre>
13936</blockquote>
13937
13938<blockquote>
13939<pre>
13940defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
13941</pre>
13942</blockquote>
13943
13944<p>
13945Specify a list of restrictions, separated by commas and/or whitespace.
13946Continue long lines by starting the next line with whitespace.
13947Restrictions are applied in the order as specified; the first
13948restriction that matches wins.
13949</p>
13950
13951<p>
13952The following restrictions are specific to the recipient address
13953that is received with the RCPT TO command.
13954</p>
13955
13956<dl>
13957
13958<dt><b><a name="check_recipient_access">check_recipient_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
13959
13960<dd>Search the specified <a href="access.5.html">access(5)</a> database for the resolved RCPT
13961TO address, domain, parent domains, or localpart@, and execute the
13962corresponding action.  </dd>
13963
13964<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>
13965
13966<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
13967the RCPT TO domain, and execute the corresponding action.  Note:
13968a result of "OK" is not allowed for safety reasons. Instead, use
13969DUNNO in order to exclude specific hosts from blacklists.  This
13970feature is available in Postfix 2.1 and later. </dd>
13971
13972<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>
13973
13974<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
13975for the RCPT TO domain, and execute the corresponding action.
13976Note: a result of "OK" is not allowed for safety reasons. Instead,
13977use DUNNO in order to exclude specific hosts from blacklists.  This
13978feature is available in Postfix 2.1 and later.  </dd>
13979
13980<dt><b><a name="permit_auth_destination">permit_auth_destination</a></b></dt>
13981
13982<dd>Permit the request when one of the following is true:
13983
13984<ul>
13985
13986<li> Postfix is mail forwarder: the resolved RCPT TO domain matches
13987$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and the address contains no
13988sender-specified routing (user@elsewhere@domain),
13989
13990<li> Postfix is the final destination: the resolved RCPT TO domain
13991matches $<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>,
13992$<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
13993contains no sender-specified routing (user@elsewhere@domain).
13994
13995</ul></dd>
13996
13997<dt><b><a name="permit_mx_backup">permit_mx_backup</a></b></dt>
13998
13999<dd>Permit the request when the local mail system is backup MX for
14000the RCPT TO domain, or when the domain is an authorized destination
14001(see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> for definition).
14002
14003<ul>
14004
14005<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> does not accept addresses that have
14006sender-specified routing information (example: user@elsewhere@domain).
14007
14008<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> can be vulnerable to mis-use when
14009access is not restricted with <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>.
14010
14011<li> Safety: as of Postfix version 2.3, <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> no longer
14012accepts the address when the local mail system is primary MX for
14013the recipient domain.  Exception: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> accepts the address
14014when it specifies an authorized destination (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
14015for definition).
14016
14017<li> Limitation: mail may be rejected in case of a temporary DNS
14018lookup problem with Postfix prior to version 2.0.
14019
14020</ul></dd>
14021
14022<dt><b><a name="reject_non_fqdn_recipient">reject_non_fqdn_recipient</a></b></dt>
14023
14024<dd>Reject the request when the RCPT TO address is not in
14025fully-qualified domain form, as required by the RFC. <br> The
14026<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
14027rejected requests (default: 504). </dd>
14028
14029<dt><b><a name="reject_rhsbl_recipient">reject_rhsbl_recipient <i>rbl_domain=d.d.d.d</i></a></b></dt>
14030
14031<dd>Reject the request when the RCPT TO domain is listed with the
14032A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
140332.1 and later only).  Each "<i>d</i>" is a number, or a pattern
14034inside "[]" that contains one or more ";"-separated numbers or
14035number..number ranges (Postfix version 2.8 and later). If no
14036"<i>=d.d.d.d</i>" is specified, reject
14037the request when the RCPT TO domain is listed with
14038any A record under <i>rbl_domain</i>. <br> The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a>
14039parameter specifies the response code for rejected requests (default:
14040554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter specifies the default server
14041reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter specifies tables with server
14042replies indexed by <i>rbl_domain</i>.  This feature is available
14043in Postfix version 2.0 and later.</dd>
14044
14045<dt><b><a name="reject_unauth_destination">reject_unauth_destination</a></b></dt>
14046
14047<dd>Reject the request unless one of the following is true:
14048
14049<ul>
14050
14051<li> Postfix is mail forwarder: the resolved RCPT TO domain matches
14052$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and contains no sender-specified
14053routing (user@elsewhere@domain),
14054
14055<li> Postfix is the final destination: the resolved RCPT TO domain
14056matches $<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>,
14057$<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
14058no sender-specified routing (user@elsewhere@domain).
14059
14060</ul>The <a href="postconf.5.html#relay_domains_reject_code">relay_domains_reject_code</a> parameter specifies the response
14061code for rejected requests (default: 554). </dd>
14062
14063<dt><b><a name="defer_unauth_destination">defer_unauth_destination</a></b></dt>
14064
14065<dd> Reject the same requests as <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>, with a
14066non-permanent error code.  This feature is available in Postfix
140672.10 and later.</dd>
14068
14069<dt><b><a name="reject_unknown_recipient_domain">reject_unknown_recipient_domain</a></b></dt>
14070
14071<dd>Reject the request when Postfix is not final destination for
14072the recipient domain, and the RCPT TO domain has 1) no DNS A or MX
14073record or 2) a malformed MX record such as a record with
14074a zero-length MX hostname (Postfix version 2.3 and later). <br> The
14075<a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter specifies the numerical
14076response code for rejected requests (default: 450).  The response
14077is always 450 in case of a temporary DNS error. <br> The
14078<a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> parameter specifies the action
14079after a temporary DNS error (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  </dd>
14080
14081<dt><b><a name="reject_unlisted_recipient">reject_unlisted_recipient</a></b> (with Postfix version 2.0: check_recipient_maps)</dt>
14082
14083<dd> Reject the request when the RCPT TO address is not listed in
14084the list of valid recipients for its domain class. See the
14085<a href="postconf.5.html#smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> parameter description for details.
14086This feature is available in Postfix 2.1 and later.</dd>
14087
14088<dt><b><a name="reject_unverified_recipient">reject_unverified_recipient</a></b></dt>
14089
14090<dd>Reject the request when mail to the RCPT TO address is known
14091to bounce, or when the recipient address destination is not reachable.
14092Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
14093see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details.  <br> The
14094<a href="postconf.5.html#unverified_recipient_reject_code">unverified_recipient_reject_code</a> parameter specifies the numerical
14095response code when an address is known to bounce (default: 450,
14096change into 550 when you are confident that it is safe to do so).
14097<br>The <a href="postconf.5.html#unverified_recipient_defer_code">unverified_recipient_defer_code</a> parameter specifies the
14098numerical response code when an address probe failed due to a
14099temporary problem (default: 450). <br> The
14100<a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> parameter specifies the action
14101after address probe failure due to a temporary problem (default:
14102<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  <br>  This feature is available in Postfix 2.1
14103and later.  </dd>
14104
14105</dl>
14106
14107<p>
14108Other restrictions that are valid in this context:
14109</p>
14110
14111<ul>
14112
14113<li><a href="#generic">Generic</a> restrictions that can be used
14114in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
14115
14116<li>SMTP command specific restrictions described under
14117<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
14118<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>.
14119
14120</ul>
14121
14122<p>
14123Example:
14124</p>
14125
14126<pre>
14127# The Postfix before 2.10 default mail relay policy. Later Postfix
14128# versions implement this preferably with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
14129<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>
14130</pre>
14131
14132
14133</DD>
14134
14135<DT><b><a name="smtpd_reject_footer">smtpd_reject_footer</a>
14136(default: empty)</b></DT><DD>
14137
14138<p> Optional information that is appended after each Postfix SMTP
14139server
141404XX or 5XX response. </p>
14141
14142<p> The following example uses "\c" at the start of the template
14143(supported in Postfix 2.10 and later) to suppress the line break
14144between the reply text and the footer text. With earlier Postfix
14145versions, the footer text always begins on a new line, and the "\c"
14146is output literally. </p>
14147
14148<pre>
14149/etc/postfix/<a href="postconf.5.html">main.cf</a>:
14150    <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> = \c. For assistance, call 800-555-0101.
14151     Please provide the following information in your problem report:
14152     time ($localtime), client ($client_address) and server
14153     ($server_name).
14154</pre>
14155
14156<p> Server response: </p>
14157
14158<pre>
14159    550-5.5.1 &lt;user@example&gt; Recipient address rejected: User
14160    unknown. For assistance, call 800-555-0101. Please provide the
14161    following information in your problem report: time (Jan 4 15:42:00),
14162    client (192.168.1.248) and server (mail1.example.com).
14163</pre>
14164
14165<p> Note: the above text is meant to make it easier to find the
14166Postfix logfile records for a failed SMTP session. The text itself
14167is not logged to the Postfix SMTP server's maillog file. </p>
14168
14169<p> Be sure to keep the text as short as possible. Long text may
14170be truncated before it is logged to the remote SMTP client's maillog
14171file, or before it is returned to the sender in a delivery status
14172notification.  </p>
14173
14174<p> This feature supports a limited number of $name attributes in
14175the footer text. These are replaced by their current value for the
14176SMTP session: </p>
14177
14178<dl>
14179
14180<dt> <b>client_address</b> </dt> <dd> The Client IP address that
14181is logged in the maillog file. </dd>
14182
14183<dt> <b>client_port</b> </dt> <dd> The client TCP port that is
14184logged in the maillog file. </dd>
14185
14186<dt> <b>localtime</b> </dt> <dd> The server local time (Mmm dd
14187hh:mm:ss) that is logged in the maillog file. </dd>
14188
14189<dt> <b>server_name</b> </dt> <dd> The server's <a href="postconf.5.html#myhostname">myhostname</a> value.
14190This attribute is made available for sites with multiple MTAs
14191(perhaps behind a load-balancer), where the server name can help
14192the server support team to quickly find the right log files.  </dd>
14193
14194</dl>
14195
14196<p> Notes: </p>
14197
14198<ul>
14199
14200<li> <p> NOT SUPPORTED are other attributes such as sender, recipient,
14201or <a href="postconf.5.html">main.cf</a> parameters.  </p>
14202
14203<li> <p> For safety reasons, text that does not match
14204$<a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> is censored. </p>
14205
14206</ul>
14207
14208<p> This feature supports the two-character sequence \n as a request
14209for a line break in the footer text. Postfix automatically inserts
14210after each line break the three-digit SMTP reply code (and optional
14211enhanced status code) from the original Postfix reject message.
14212</p>
14213
14214<p> To work around mail software that mis-handles multi-line replies,
14215specify the two-character sequence \c at the start of the template.
14216This suppresses the line break between the reply text and the footer
14217text (Postfix 2.10 and later).  </p>
14218
14219<p> This feature is available in Postfix 2.8 and later. </p>
14220
14221
14222</DD>
14223
14224<DT><b><a name="smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a>
14225(default: yes)</b></DT><DD>
14226
14227<p>
14228Request that the Postfix SMTP server rejects mail for unknown
14229recipient addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_recipient">reject_unlisted_recipient</a>
14230access restriction is specified. This prevents the Postfix queue
14231from filling up with undeliverable MAILER-DAEMON messages.
14232</p>
14233
14234<p> An address is always considered "known" when it matches a
14235<a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping.
14236
14237<ul>
14238
14239<li> The recipient domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
14240or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the recipient is not listed in
14241$<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.
14242
14243<li> The recipient domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the
14244recipient is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
14245
14246<li> The recipient domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
14247recipient 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>
14248is not null.
14249
14250<li> The recipient domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the recipient
14251is 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>
14252is not null.
14253
14254</ul>
14255
14256<p>
14257This feature is available in Postfix 2.1 and later.
14258</p>
14259
14260
14261</DD>
14262
14263<DT><b><a name="smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a>
14264(default: no)</b></DT><DD>
14265
14266<p> Request that the Postfix SMTP server rejects mail from unknown
14267sender addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a>
14268access restriction is specified. This can slow down an explosion
14269of forged mail from worms or viruses.  </p>
14270
14271<p> An address is always considered "known" when it matches a
14272<a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping.
14273
14274<ul>
14275
14276<li> The sender domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or
14277$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the sender is not listed in
14278$<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.
14279
14280<li> The sender domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the sender
14281is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
14282
14283<li> The sender domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
14284sender 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>
14285is not null.
14286
14287<li> The sender domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the sender is
14288not 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
14289not null.
14290
14291</ul>
14292
14293<p>
14294This feature is available in Postfix 2.1 and later.
14295</p>
14296
14297
14298</DD>
14299
14300<DT><b><a name="smtpd_relay_restrictions">smtpd_relay_restrictions</a>
14301(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>
14302
14303<p> Access restrictions for mail relay control that the Postfix
14304SMTP server applies in the context of the RCPT TO command, before
14305<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
14306See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14307restriction lists" for a discussion of evaluation context and time.
14308</p>
14309
14310<p> With Postfix versions before 2.10, the rules for relay permission
14311and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
14312resulting in error-prone configuration.  As of Postfix 2.10, relay
14313permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
14314so that a permissive spam blocking policy under
14315<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
14316mail relay policy.  </p>
14317
14318<p> For backwards compatibility, sites that migrate from Postfix
14319versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
14320value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
14321
14322<p>
14323By default, the Postfix SMTP server accepts:
14324</p>
14325
14326<ul>
14327
14328<li> Mail from clients whose IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>, or:
14329
14330<li> Mail to remote destinations that match $<a href="postconf.5.html#relay_domains">relay_domains</a>, except
14331for addresses that contain sender-specified routing
14332(user@elsewhere@domain), or:
14333
14334<li> Mail to local destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
14335or $<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
14336$<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
14337
14338</ul>
14339
14340<p>
14341IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
14342<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
14343at least one of the following restrictions. Otherwise Postfix will
14344refuse to receive mail:
14345</p>
14346
14347<blockquote>
14348<pre>
14349reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
14350</pre>
14351</blockquote>
14352
14353<blockquote>
14354<pre>
14355defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
14356</pre>
14357</blockquote>
14358
14359<p>
14360Specify a list of restrictions, separated by commas and/or whitespace.
14361Continue long lines by starting the next line with whitespace.
14362The same restrictions are available as documented under
14363<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
14364</p>
14365
14366<p> This feature is available in Postix 2.10 and later. </p>
14367
14368
14369</DD>
14370
14371<DT><b><a name="smtpd_restriction_classes">smtpd_restriction_classes</a>
14372(default: empty)</b></DT><DD>
14373
14374<p>
14375User-defined aliases for groups of access restrictions. The aliases
14376can be specified in <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> etc., and on the
14377right-hand side of a Postfix <a href="access.5.html">access(5)</a> table.
14378</p>
14379
14380<p>
14381One major application is for implementing per-recipient UCE control.
14382See the <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a> document for other examples.
14383</p>
14384
14385
14386</DD>
14387
14388<DT><b><a name="smtpd_sasl_application_name">smtpd_sasl_application_name</a>
14389(default: smtpd)</b></DT><DD>
14390
14391<p>
14392The application name that the Postfix SMTP server uses for SASL
14393server initialization. This
14394controls the name of the SASL configuration file. The default value
14395is <b>smtpd</b>, corresponding to a SASL configuration file named
14396<b>smtpd.conf</b>.
14397</p>
14398
14399<p>
14400This feature is available in Postfix 2.1 and 2.2. With Postfix 2.3
14401it was renamed to <a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.
14402</p>
14403
14404
14405</DD>
14406
14407<DT><b><a name="smtpd_sasl_auth_enable">smtpd_sasl_auth_enable</a>
14408(default: no)</b></DT><DD>
14409
14410<p>
14411Enable SASL authentication in the Postfix SMTP server. By default,
14412the Postfix SMTP server does not use authentication.
14413</p>
14414
14415<p>
14416If a remote SMTP client is authenticated, the <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>
14417access restriction can be used to permit relay access, like this:
14418</p>
14419
14420<blockquote>
14421<pre>
14422# With Postfix 2.10 and later, the mail relay policy is
14423# preferably specified under <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
14424<a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> =
14425    <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
14426</pre>
14427
14428<pre>
14429# With Postfix before 2.10, the relay policy can be
14430# specified only under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
14431<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> =
14432    <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
14433</pre>
14434</blockquote>
14435
14436<p> To reject all SMTP connections from unauthenticated clients,
14437specify "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes" (which is the default) and use:
14438</p>
14439
14440<blockquote>
14441<pre>
14442<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
14443</pre>
14444</blockquote>
14445
14446<p>
14447See the <a href="SASL_README.html">SASL_README</a> file for SASL configuration and operation details.
14448</p>
14449
14450
14451</DD>
14452
14453<DT><b><a name="smtpd_sasl_authenticated_header">smtpd_sasl_authenticated_header</a>
14454(default: no)</b></DT><DD>
14455
14456<p> Report the SASL authenticated user name in the <a href="smtpd.8.html">smtpd(8)</a> Received
14457message header.  </p>
14458
14459<p> This feature is available in Postfix 2.3 and later.  </p>
14460
14461
14462</DD>
14463
14464<DT><b><a name="smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a>
14465(default: empty)</b></DT><DD>
14466
14467<p>
14468What remote SMTP clients the Postfix SMTP server will not offer
14469AUTH support to.
14470</p>
14471
14472<p>
14473Some clients (Netscape 4 at least) have a bug that causes them to
14474require a login and password whenever AUTH is offered, whether it's
14475necessary or not. To work around this, specify, for example,
14476$<a href="postconf.5.html#mynetworks">mynetworks</a> to prevent Postfix from offering AUTH to local clients.
14477</p>
14478
14479<p>
14480Specify a list of network/netmask patterns, separated by commas
14481and/or whitespace. The mask specifies the number of bits in the
14482network part of a host address. You can also "/file/name" or
14483"<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name" pattern is replaced by its
14484contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry
14485matches a lookup string (the lookup result is ignored).  Continue
14486long lines by starting the next line with whitespace. Specify
14487"!pattern" to exclude an address or network block from the list.
14488The form "!/file/name" is supported only in Postfix version 2.4 and
14489later.  </p>
14490
14491<p> Note: IP version 6 address information must be specified inside
14492<tt>[]</tt> in the <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> value, and in
14493files specified with "/file/name".  IP version 6 addresses contain
14494the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
14495pattern.  </p>
14496
14497<p>
14498Example:
14499</p>
14500
14501<pre>
14502<a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a>
14503</pre>
14504
14505<p>
14506This feature is available in Postfix 2.1 and later.
14507</p>
14508
14509
14510</DD>
14511
14512<DT><b><a name="smtpd_sasl_local_domain">smtpd_sasl_local_domain</a>
14513(default: empty)</b></DT><DD>
14514
14515<p>
14516The name of the Postfix SMTP server's local SASL authentication
14517realm.
14518</p>
14519
14520<p>
14521By default, the local authentication realm name is the null string.
14522</p>
14523
14524<p>
14525Examples:
14526</p>
14527
14528<pre>
14529<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
14530<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#myhostname">myhostname</a>
14531</pre>
14532
14533
14534</DD>
14535
14536<DT><b><a name="smtpd_sasl_path">smtpd_sasl_path</a>
14537(default: smtpd)</b></DT><DD>
14538
14539<p> Implementation-specific information that the Postfix SMTP server
14540passes through to
14541the SASL plug-in implementation that is selected with
14542<b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  Typically this specifies the name of a
14543configuration file or rendezvous point. </p>
14544
14545<p> This feature is available in Postfix 2.3 and later. In earlier
14546releases it was called <b><a href="postconf.5.html#smtpd_sasl_application_name">smtpd_sasl_application_name</a></b>. </p>
14547
14548
14549</DD>
14550
14551<DT><b><a name="smtpd_sasl_security_options">smtpd_sasl_security_options</a>
14552(default: noanonymous)</b></DT><DD>
14553
14554<p> Postfix SMTP server SASL security options; as of Postfix 2.3
14555the list of available
14556features depends on the SASL server implementation that is selected
14557with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  </p>
14558
14559<p> The following security features are defined for the <b>cyrus</b>
14560server SASL implementation: </p>
14561
14562<p>
14563Restrict what authentication mechanisms the Postfix SMTP server
14564will offer to the client.  The list of available authentication
14565mechanisms is system dependent.
14566</p>
14567
14568<p>
14569Specify zero or more of the following:
14570</p>
14571
14572<dl>
14573
14574<dt><b>noplaintext</b></dt>
14575
14576<dd>Disallow methods that use plaintext passwords. </dd>
14577
14578<dt><b>noactive</b></dt>
14579
14580<dd>Disallow methods subject to active (non-dictionary) attack. </dd>
14581
14582<dt><b>nodictionary</b></dt>
14583
14584<dd>Disallow methods subject to passive (dictionary) attack. </dd>
14585
14586<dt><b>noanonymous</b></dt>
14587
14588<dd>Disallow methods that allow anonymous authentication. </dd>
14589
14590<dt><b>forward_secrecy</b></dt>
14591
14592<dd>Only allow methods that support forward secrecy (Dovecot only).
14593</dd>
14594
14595<dt><b>mutual_auth</b></dt>
14596
14597<dd>Only allow methods that provide mutual authentication (not available
14598with Cyrus SASL version 1). </dd>
14599
14600</dl>
14601
14602<p>
14603By default, the Postfix SMTP server accepts plaintext passwords but
14604not anonymous logins.
14605</p>
14606
14607<p>
14608Warning: it appears that clients try authentication methods in the
14609order as advertised by the server (e.g., PLAIN ANONYMOUS CRAM-MD5)
14610which means that if you disable plaintext passwords, clients will
14611log in anonymously, even when they should be able to use CRAM-MD5.
14612So, if you disable plaintext logins, disable anonymous logins too.
14613Postfix treats anonymous login as no authentication.
14614</p>
14615
14616<p>
14617Example:
14618</p>
14619
14620<pre>
14621<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a> = noanonymous, noplaintext
14622</pre>
14623
14624
14625</DD>
14626
14627<DT><b><a name="smtpd_sasl_service">smtpd_sasl_service</a>
14628(default: smtp)</b></DT><DD>
14629
14630<p> The service name that is passed to the SASL plug-in that is
14631selected 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>.
14632</p>
14633
14634<p> This feature is available in Postfix 2.11 and later. Prior
14635versions behave as if "<b>smtp</b>" is specified. </p>
14636
14637
14638</DD>
14639
14640<DT><b><a name="smtpd_sasl_tls_security_options">smtpd_sasl_tls_security_options</a>
14641(default: $<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a>)</b></DT><DD>
14642
14643<p> The SASL authentication security options that the Postfix SMTP
14644server uses for TLS encrypted SMTP sessions. </p>
14645
14646<p> This feature is available in Postfix 2.2 and later.  </p>
14647
14648
14649</DD>
14650
14651<DT><b><a name="smtpd_sasl_type">smtpd_sasl_type</a>
14652(default: cyrus)</b></DT><DD>
14653
14654<p> The SASL plug-in type that the Postfix SMTP server should use
14655for authentication. The available types are listed with the
14656"<b>postconf -a</b>" command. </p>
14657
14658<p> This feature is available in Postfix 2.3 and later. </p>
14659
14660
14661</DD>
14662
14663<DT><b><a name="smtpd_sender_login_maps">smtpd_sender_login_maps</a>
14664(default: empty)</b></DT><DD>
14665
14666<p>
14667Optional lookup table with the SASL login names that own sender
14668(MAIL FROM) addresses.
14669</p>
14670
14671<p>
14672Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables. With lookups from
14673indexed files such as DB or DBM, or from networked tables such as
14674NIS, LDAP or SQL, the following search operations are done with a
14675sender address of <i>user@domain</i>:  </p>
14676
14677<dl>
14678
14679<dt> 1) <i>user@domain</i> </dt>
14680
14681<dd>This table lookup is always done and has the highest precedence. </dd>
14682
14683<dt> 2) <i>user</i> </dt>
14684
14685<dd>This table lookup is done only when the <i>domain</i> part of the
14686sender 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>
14687or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. </dd>
14688
14689<dt> 3) <i>@domain</i> </dt>
14690
14691<dd>This table lookup is done last and has the lowest precedence. </dd>
14692
14693</dl>
14694
14695<p>
14696In all cases the result of table lookup must be either "not found"
14697or a list of SASL login names separated by comma and/or whitespace.
14698</p>
14699
14700
14701</DD>
14702
14703<DT><b><a name="smtpd_sender_restrictions">smtpd_sender_restrictions</a>
14704(default: empty)</b></DT><DD>
14705
14706<p>
14707Optional restrictions that the Postfix SMTP server applies in the
14708context of a client MAIL FROM command.
14709See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14710restriction lists" for a discussion of evaluation context and time.
14711</p>
14712
14713<p>
14714The default is to permit everything.
14715</p>
14716
14717<p>
14718Specify a list of restrictions, separated by commas and/or whitespace.
14719Continue long lines by starting the next line with whitespace.
14720Restrictions are applied in the order as specified; the first
14721restriction that matches wins.
14722</p>
14723
14724<p>
14725The following restrictions are specific to the sender address
14726received with the MAIL FROM command.
14727</p>
14728
14729<dl>
14730
14731<dt><b><a name="check_sender_access">check_sender_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
14732
14733<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MAIL FROM
14734address, domain, parent domains, or localpart@, and execute the
14735corresponding action. </dd>
14736
14737<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>
14738
14739<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
14740the MAIL FROM address, and execute the corresponding action.  Note:
14741a result of "OK" is not allowed for safety reasons. Instead, use
14742DUNNO in order to exclude specific hosts from blacklists.  This
14743feature is available in Postfix 2.1 and later. </dd>
14744
14745<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>
14746
14747<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
14748for the MAIL FROM address, and execute the corresponding action.
14749Note: a result of "OK" is not allowed for safety reasons. Instead,
14750use DUNNO in order to exclude specific hosts from blacklists.  This
14751feature is available in Postfix 2.1 and later.  </dd>
14752
14753<dt><b><a name="reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a></b></dt>
14754
14755<dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for
14756authenticated clients only. This feature is available in
14757Postfix version 2.1 and later. </dd>
14758
14759<dt><b><a name="reject_known_sender_login_mismatch">reject_known_sender_login_mismatch</a></b></dt>
14760
14761<dd>Apply the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction only to MAIL
14762FROM addresses that are known in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.  This
14763feature is available in Postfix version 2.11 and later. </dd>
14764
14765<dt><b><a name="reject_non_fqdn_sender">reject_non_fqdn_sender</a></b></dt>
14766
14767<dd>Reject the request when the MAIL FROM address is not in
14768fully-qualified domain form, as required by the RFC. <br> The
14769<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
14770rejected requests (default: 504). </dd>
14771
14772<dt><b><a name="reject_rhsbl_sender">reject_rhsbl_sender <i>rbl_domain=d.d.d.d</i></a></b></dt>
14773
14774<dd>Reject the request when the MAIL FROM domain is listed with
14775the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix
14776version 2.1 and later only).  Each "<i>d</i>" is a number, or a
14777pattern inside "[]" that contains one or more ";"-separated numbers
14778or number..number ranges (Postfix version 2.8 and later). If no
14779"<i>=d.d.d.d</i>" is specified,
14780reject the request when the MAIL FROM domain is
14781listed with any A record under <i>rbl_domain</i>. <br> The
14782<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
14783rejected requests (default:  554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter
14784specifies the default server reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter
14785specifies tables with server replies indexed by <i>rbl_domain</i>.
14786This feature is available in Postfix 2.0 and later.</dd>
14787
14788<dt><b><a name="reject_sender_login_mismatch">reject_sender_login_mismatch</a></b></dt>
14789
14790<dd>Reject the request when $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a> specifies an
14791owner for the MAIL FROM address, but the client is not (SASL) logged
14792in as that MAIL FROM address owner; or when the client is (SASL)
14793logged in, but the client login name doesn't own the MAIL FROM
14794address according to $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.</dd>
14795
14796<dt><b><a name="reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a></b></dt>
14797
14798<dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for
14799unauthenticated clients only. This feature is available in
14800Postfix version 2.1 and later. </dd>
14801
14802<dt><b><a name="reject_unknown_sender_domain">reject_unknown_sender_domain</a></b></dt>
14803
14804<dd>Reject the request when Postfix is not final destination for
14805the sender address, and the MAIL FROM domain has 1) no DNS A or MX
14806record, or 2) a malformed MX record such as a record with
14807a zero-length MX hostname (Postfix version 2.3 and later). <br> The
14808<a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter specifies the numerical
14809response code for rejected requests (default: 450).  The response
14810is always 450 in case of a temporary DNS error. <br> The
14811<a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> parameter specifies the action
14812after a temporary DNS error (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). </dd>
14813
14814<dt><b><a name="reject_unlisted_sender">reject_unlisted_sender</a></b></dt>
14815
14816<dd>Reject the request when the MAIL FROM address is not listed in
14817the list of valid recipients for its domain class. See the
14818<a href="postconf.5.html#smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> parameter description for details.
14819This feature is available in Postfix 2.1 and later.</dd>
14820
14821<dt><b><a name="reject_unverified_sender">reject_unverified_sender</a></b></dt>
14822
14823<dd>Reject the request when mail to the MAIL FROM address is known to
14824bounce, or when the sender address destination is not reachable.
14825Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
14826see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The
14827<a href="postconf.5.html#unverified_sender_reject_code">unverified_sender_reject_code</a> parameter specifies the numerical
14828response code when an address is known to bounce (default: 450,
14829change into 550 when you are confident that it is safe to do so).
14830<br>The <a href="postconf.5.html#unverified_sender_defer_code">unverified_sender_defer_code</a> specifies the numerical response
14831code when an address probe failed due to a temporary problem
14832(default: 450).  <br> The <a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a> parameter
14833specifies the action after address probe failure due to a temporary
14834problem (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  <br> This feature is available
14835in Postfix 2.1 and later.  </dd>
14836
14837</dl>
14838
14839<p>
14840Other restrictions that are valid in this context:
14841</p>
14842
14843<ul>
14844
14845<li> <a href="#generic">Generic</a> restrictions that can be used
14846in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
14847
14848<li> SMTP command specific restrictions described under
14849<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>.
14850
14851<li> SMTP command specific restrictions described under
14852<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When recipient restrictions are listed
14853under <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, they have effect only with
14854"<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
14855evaluated at the time of the RCPT TO command.
14856
14857</ul>
14858
14859<p>
14860Examples:
14861</p>
14862
14863<pre>
14864<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>
14865<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>,
14866    <a href="postconf.5.html#check_sender_access">check_sender_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access
14867</pre>
14868
14869
14870</DD>
14871
14872<DT><b><a name="smtpd_service_name">smtpd_service_name</a>
14873(default: smtpd)</b></DT><DD>
14874
14875<p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> hands off allowed
14876connections to. In a future version there may be different
14877classes of SMTP service. </p>
14878
14879<p> This feature is available in Postfix 2.8. </p>
14880
14881
14882</DD>
14883
14884<DT><b><a name="smtpd_soft_error_limit">smtpd_soft_error_limit</a>
14885(default: 10)</b></DT><DD>
14886
14887<p>
14888The number of errors a remote SMTP client is allowed to make without
14889delivering mail before the Postfix SMTP server slows down all its
14890responses.
14891</p>
14892
14893<ul>
14894
14895<li><p>With Postfix version 2.1 and later, the Postfix SMTP server
14896delays all responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> seconds. </p>
14897
14898<li><p>With Postfix versions 2.0 and earlier, the Postfix SMTP
14899server delays all responses by (number of errors) seconds. </p>
14900
14901</ul>
14902
14903
14904</DD>
14905
14906<DT><b><a name="smtpd_starttls_timeout">smtpd_starttls_timeout</a>
14907(default: see "postconf -d" output)</b></DT><DD>
14908
14909<p> The time limit for Postfix SMTP server write and read operations
14910during TLS startup and shutdown handshake procedures. The current
14911default value is stress-dependent. Before Postfix version 2.8, it
14912was fixed at 300s. </p>
14913
14914<p> This feature is available in Postfix 2.2 and later.  </p>
14915
14916
14917</DD>
14918
14919<DT><b><a name="smtpd_timeout">smtpd_timeout</a>
14920(default: normal: 300s, overload: 10s)</b></DT><DD>
14921
14922<p>
14923The time limit for sending a Postfix SMTP server response and for
14924receiving a remote SMTP client request. Normally the default limit
14925is 300s, but it changes under overload to just 10s. With Postfix
149262.5 and earlier, the SMTP server always uses a time limit of 300s
14927by default.
14928</p>
14929
14930<p>
14931Note: if you set SMTP time limits to very large values you may have
14932to update the global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter.
14933</p>
14934
14935<p>
14936Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
14937The default time unit is s (seconds).
14938</p>
14939
14940
14941</DD>
14942
14943<DT><b><a name="smtpd_tls_CAfile">smtpd_tls_CAfile</a>
14944(default: empty)</b></DT><DD>
14945
14946<p> A file containing (PEM format) CA certificates of root CAs trusted
14947to sign either remote SMTP client certificates or intermediate CA
14948certificates.  These are loaded into memory before the <a href="smtpd.8.html">smtpd(8)</a> server
14949enters the chroot jail. If the number of trusted roots is large, consider
14950using <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> instead, but note that the latter directory must
14951be present in the chroot jail if the <a href="smtpd.8.html">smtpd(8)</a> server is chrooted. This
14952file may also be used to augment the server certificate trust chain,
14953but it is best to include all the required certificates directly in the
14954server certificate file. </p>
14955
14956<p> Specify "<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /path/to/system_CA_file" to use ONLY
14957the system-supplied default certificate authority certificates.
14958</p>
14959
14960<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
14961appending the system-supplied default CAs and trusting third-party
14962certificates. </p>
14963
14964<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are not
14965requested, and <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> should remain empty. If you do make use
14966of client certificates, the distinguished names (DNs) of the certificate
14967authorities listed in <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> are sent to the remote SMTP client
14968in the client certificate request message. MUAs with multiple client
14969certificates may use the list of preferred certificate authorities
14970to select the correct client certificate.  You may want to put your
14971"preferred" CA or CAs in this file, and install other trusted CAs in
14972$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
14973
14974<p> Example: </p>
14975
14976<pre>
14977<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /etc/postfix/CAcert.pem
14978</pre>
14979
14980<p> This feature is available in Postfix 2.2 and later.  </p>
14981
14982
14983</DD>
14984
14985<DT><b><a name="smtpd_tls_CApath">smtpd_tls_CApath</a>
14986(default: empty)</b></DT><DD>
14987
14988<p> A directory containing (PEM format) CA certificates of root CAs
14989trusted to sign either remote SMTP client certificates or intermediate CA
14990certificates. Do not forget to create the necessary "hash" links with,
14991for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs". To use
14992<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> in chroot mode, this directory (or a copy) must be
14993inside the chroot jail. </p>
14994
14995<p> Specify "<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /path/to/system_CA_directory" to
14996use ONLY the system-supplied default certificate authority certificates.
14997</p>
14998
14999<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
15000appending the system-supplied default CAs and trusting third-party
15001certificates. </p>
15002
15003<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are
15004not requested, and <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> should remain empty. In contrast
15005to <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, DNs of certificate authorities installed
15006in $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> are not included in the client certificate
15007request message. MUAs with multiple client certificates may use the
15008list of preferred certificate authorities to select the correct
15009client certificate.  You may want to put your "preferred" CA or
15010CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, and install the remaining trusted CAs in
15011$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
15012
15013<p> Example: </p>
15014
15015<pre>
15016<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /etc/postfix/certs
15017</pre>
15018
15019<p> This feature is available in Postfix 2.2 and later.  </p>
15020
15021
15022</DD>
15023
15024<DT><b><a name="smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>
15025(default: yes)</b></DT><DD>
15026
15027<p> Force the Postfix SMTP server to issue a TLS session id, even
15028when TLS session caching is turned off (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
15029is empty). This behavior is compatible with Postfix &lt; 2.3. </p>
15030
15031<p> With Postfix 2.3 and later the Postfix SMTP server can disable
15032session id generation when TLS session caching is turned off. This
15033keeps remote SMTP clients from caching sessions that almost certainly cannot
15034be re-used.  </p>
15035
15036<p> By default, the Postfix SMTP server always generates TLS session
15037ids. This works around a known defect in mail client applications
15038such as MS Outlook, and may also prevent interoperability issues
15039with other MTAs. </p>
15040
15041<p> Example: </p>
15042
15043<pre>
15044<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> = no
15045</pre>
15046
15047<p> This feature is available in Postfix 2.3 and later. </p>
15048
15049
15050</DD>
15051
15052<DT><b><a name="smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
15053(default: no)</b></DT><DD>
15054
15055<p> Ask a remote SMTP client for a client certificate. This
15056information is needed for certificate based mail relaying with,
15057for example, the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> feature. </p>
15058
15059<p> Some clients such as Netscape will either complain if no
15060certificate is available (for the list of CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)
15061or will offer multiple client certificates to choose from. This
15062may be annoying, so this option is "off" by default. </p>
15063
15064<p> This feature is available in Postfix 2.2 and later.  </p>
15065
15066
15067</DD>
15068
15069<DT><b><a name="smtpd_tls_auth_only">smtpd_tls_auth_only</a>
15070(default: no)</b></DT><DD>
15071
15072<p> When TLS encryption is optional in the Postfix SMTP server, do
15073not announce or accept SASL authentication over unencrypted
15074connections. </p>
15075
15076<p> This feature is available in Postfix 2.2 and later.  </p>
15077
15078
15079</DD>
15080
15081<DT><b><a name="smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>
15082(default: 9)</b></DT><DD>
15083
15084<p> The verification depth for remote SMTP client certificates. A
15085depth of 1 is sufficient if the issuing CA is listed in a local CA
15086file. </p>
15087
15088<p> The default verification depth is 9 (the OpenSSL default) for
15089compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
15090the default value was 5, but the limit was not actually enforced. If
15091you have set this to a lower non-default value, certificates with longer
15092trust chains may now fail to verify. Certificate chains with 1 or 2
15093CAs are common, deeper chains are more rare and any number between 5
15094and 9 should suffice in practice. You can choose a lower number if,
15095for example, you trust certificates directly signed by an issuing CA
15096but not any CAs it delegates to. </p>
15097
15098<p> This feature is available in Postfix 2.2 and later.  </p>
15099
15100
15101</DD>
15102
15103<DT><b><a name="smtpd_tls_cert_file">smtpd_tls_cert_file</a>
15104(default: empty)</b></DT><DD>
15105
15106<p> File with the Postfix SMTP server RSA certificate in PEM format.
15107This file may also contain the Postfix SMTP server private RSA key. </p>
15108
15109<p> Public Internet MX hosts without certificates signed by a "reputable"
15110CA must generate, and be prepared to present to most clients, a
15111self-signed or private-CA signed certificate. The client will not be
15112able to authenticate the server, but unless it is running Postfix 2.3 or
15113similar software, it will still insist on a server certificate. </p>
15114
15115<p> For servers that are <b>not</b> public Internet MX hosts, Postfix
151162.3 supports configurations with no certificates. This entails the
15117use of just the anonymous TLS ciphers, which are not supported by
15118typical SMTP clients. Since such clients will not, as a rule, fall
15119back to plain text after a TLS handshake failure, the server will
15120be unable to receive email from TLS enabled clients. To avoid
15121accidental configurations with no certificates, Postfix 2.3 enables
15122certificate-less operation only when the administrator explicitly
15123sets "<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = none". This ensures that new Postfix
15124configurations will not accidentally run with no certificates. </p>
15125
15126<p> Both RSA and DSA certificates are supported.  When both types
15127are present, the cipher used determines which certificate will be
15128presented to the client.  For Netscape and OpenSSL clients without
15129special cipher choices the RSA certificate is preferred. </p>
15130
15131<p> To enable a remote SMTP client to verify the Postfix SMTP server
15132certificate, the issuing CA certificates must be made available to the
15133client. You should include the required certificates in the server
15134certificate file, the server certificate first, then the issuing
15135CA(s) (bottom-up order). </p>
15136
15137<p> Example: the certificate for "server.example.com" was issued by
15138"intermediate CA" which itself has a certificate of "root CA".
15139Create the server.pem file with "cat server_cert.pem intermediate_CA.pem
15140root_CA.pem &gt; server.pem". </p>
15141
15142<p> If you also want to verify client certificates issued by these
15143CAs, you can add the CA certificates to the <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, in which
15144case it is not necessary to have them in the <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> or
15145<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. </p>
15146
15147<p> A certificate supplied here must be usable as an SSL server certificate
15148and hence pass the "openssl verify -purpose sslserver ..." test. </p>
15149
15150<p> Example: </p>
15151
15152<pre>
15153<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = /etc/postfix/server.pem
15154</pre>
15155
15156<p> This feature is available in Postfix 2.2 and later.  </p>
15157
15158
15159</DD>
15160
15161<DT><b><a name="smtpd_tls_cipherlist">smtpd_tls_cipherlist</a>
15162(default: empty)</b></DT><DD>
15163
15164<p> Obsolete Postfix &lt; 2.3 control for the Postfix SMTP server TLS
15165cipher list. It is easy to create inter-operability problems by choosing
15166a non-default cipher list. Do not use a non-default TLS cipherlist for
15167MX hosts on the public Internet. Clients that begin the TLS handshake,
15168but are unable to agree on a common cipher, may not be able to send any
15169email to the SMTP server. Using a restricted cipher list may be more
15170appropriate for a dedicated MSA or an internal mailhub, where one can
15171exert some control over the TLS software and settings of the connecting
15172clients. </p>
15173
15174<p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
15175
15176<p>This feature is available with Postfix version 2.2. It is not used with
15177Postfix 2.3 and later; use <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> instead. </p>
15178
15179
15180</DD>
15181
15182<DT><b><a name="smtpd_tls_ciphers">smtpd_tls_ciphers</a>
15183(default: export)</b></DT><DD>
15184
15185<p> The minimum TLS cipher grade that the Postfix SMTP server
15186will use with opportunistic TLS encryption. Cipher types listed in
15187<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are excluded from the base definition of
15188the selected cipher grade. The default value "export" ensures maximum
15189inter-operability. Because encryption is optional, stronger controls
15190are not appropriate, and this setting SHOULD NOT be changed unless the
15191change is essential. </p>
15192
15193<p> When TLS is mandatory the cipher grade is chosen via the
15194<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
15195details. </p>
15196
15197<p> Example: </p>
15198<pre>
15199<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> = export
15200</pre>
15201
15202<p> This feature is available in Postfix 2.6 and later. With earlier Postfix
15203releases only the <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> parameter is implemented,
15204and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
15205
15206
15207</DD>
15208
15209<DT><b><a name="smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>
15210(default: empty)</b></DT><DD>
15211
15212<p> File with the Postfix SMTP server DSA certificate in PEM format.
15213This file may also contain the Postfix SMTP server private DSA key. </p>
15214
15215<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details.
15216</p>
15217
15218<p> Example: </p>
15219
15220<pre>
15221<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> = /etc/postfix/server-dsa.pem
15222</pre>
15223
15224<p> This feature is available in Postfix 2.2 and later.  </p>
15225
15226
15227</DD>
15228
15229<DT><b><a name="smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
15230(default: empty)</b></DT><DD>
15231
15232<p> File with DH parameters that the Postfix SMTP server should
15233use with non-export EDH ciphers. </p>
15234
15235<p> Instead of using the exact same parameter sets as distributed
15236with other TLS packages, it is more secure to generate your own
15237set of parameters with something like the following commands:  </p>
15238
15239<blockquote>
15240<pre>
15241openssl dhparam -out /etc/postfix/dh512.pem 512
15242openssl dhparam -out /etc/postfix/dh1024.pem 1024
15243openssl dhparam -out /etc/postfix/dh2048.pem 2048
15244</pre>
15245</blockquote>
15246
15247<p> It is safe to share the same DH parameters between multiple
15248Postfix instances.  If you prefer, you can generate separate
15249parameters for each instance.  </p>
15250
15251<p> If you want to take maximal advantage of ciphers that offer <a
15252href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
15253the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
15254started</a> section of <a
15255href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
15256full document conveniently presents all information about Postfix
15257"perfect" forward secrecy support in one place: what forward secrecy
15258is, how to tweak settings, and what you can expect to see when
15259Postfix uses ciphers with forward secrecy.  </p>
15260
15261<p> Example: </p>
15262
15263<pre>
15264<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> = /etc/postfix/dh2048.pem
15265</pre>
15266
15267<p>This feature is available with Postfix version 2.2.</p>
15268
15269
15270</DD>
15271
15272<DT><b><a name="smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
15273(default: empty)</b></DT><DD>
15274
15275<p> File with DH parameters that the Postfix SMTP server should
15276use with export-grade EDH ciphers. </p>
15277
15278<p> See also the discussion under the <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
15279configuration parameter.  </p>
15280
15281<p> Example: </p>
15282
15283<pre>
15284<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> = /etc/postfix/dh_512.pem
15285</pre>
15286
15287<p>This feature is available with Postfix version 2.2.</p>
15288
15289
15290</DD>
15291
15292<DT><b><a name="smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>
15293(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
15294
15295<p> File with the Postfix SMTP server DSA private key in PEM format.
15296This file may be combined with the Postfix SMTP server DSA certificate
15297file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. </p>
15298
15299<p> The private key must be accessible without a pass-phrase, i.e. it
15300must not be encrypted. File permissions should grant read-only
15301access to the system superuser account ("root"), and no access
15302to anyone else. </p>
15303
15304<p> This feature is available in Postfix 2.2 and later.  </p>
15305
15306
15307</DD>
15308
15309<DT><b><a name="smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>
15310(default: empty)</b></DT><DD>
15311
15312<p> File with the Postfix SMTP server ECDSA certificate in PEM format.
15313This file may also contain the Postfix SMTP server private ECDSA key. </p>
15314
15315<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details. </p>
15316
15317<p> Example: </p>
15318
15319<pre>
15320<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> = /etc/postfix/ecdsa-scert.pem
15321</pre>
15322
15323<p> This feature is available in Postfix 2.6 and later, when Postfix is
15324compiled and linked with OpenSSL 1.0.0 or later. </p>
15325
15326
15327</DD>
15328
15329<DT><b><a name="smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>
15330(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
15331
15332<p> File with the Postfix SMTP server ECDSA private key in PEM format.
15333This file may be combined with the Postfix SMTP server ECDSA certificate
15334file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. </p>
15335
15336<p> The private key must be accessible without a pass-phrase, i.e. it
15337must not be encrypted. File permissions should grant read-only
15338access to the system superuser account ("root"), and no access
15339to anyone else. </p>
15340
15341<p> This feature is available in Postfix 2.6 and later, when Postfix is
15342compiled and linked with OpenSSL 1.0.0 or later. </p>
15343
15344
15345</DD>
15346
15347<DT><b><a name="smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>
15348(default: see "postconf -d" output)</b></DT><DD>
15349
15350<p> The Postfix SMTP server security grade for ephemeral elliptic-curve
15351Diffie-Hellman (EECDH) key exchange. </p>
15352
15353<p> The available choices are: </p>
15354
15355<dl>
15356
15357<dt><b>none</b></dt> <dd> Don't use EECDH. Ciphers based on EECDH key
15358exchange will be disabled. This is the default in Postfix versions
153592.6 and 2.7. </dd>
15360
15361<dt><b>strong</b></dt> <dd> Use EECDH with approximately 128
15362bits of security at a reasonable computational cost. This is the
15363current best-practice trade-off between security and computational
15364efficiency. This is the default in Postfix version 2.8 and later.
15365</dd>
15366
15367<dt><b>ultra</b></dt> <dd> Use EECDH with approximately 192 bits of
15368security at computational cost that is approximately twice as high
15369as 128 bit strength ECC. Barring significant progress in attacks on
15370elliptic curve crypto-systems, the "strong" curve is sufficient for most
15371users. </dd>
15372
15373</dl>
15374
15375<p> If you want to take maximal advantage of ciphers that offer <a
15376href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
15377the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
15378started</a> section of <a
15379href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
15380full document conveniently presents all information about Postfix
15381"perfect" forward secrecy support in one place: what forward secrecy
15382is, how to tweak settings, and what you can expect to see when
15383Postfix uses ciphers with forward secrecy.  </p>
15384
15385<p> This feature is available in Postfix 2.6 and later, when it is
15386compiled and linked with OpenSSL 1.0.0 or later on platforms
15387where EC algorithms have not been disabled by the vendor. </p>
15388
15389
15390</DD>
15391
15392<DT><b><a name="smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
15393(default: empty)</b></DT><DD>
15394
15395<p> List of ciphers or cipher types to exclude from the SMTP server
15396cipher list at all TLS security levels. Excluding valid ciphers
15397can create interoperability problems. DO NOT exclude ciphers unless it
15398is essential to do so. This is not an OpenSSL cipherlist; it is a simple
15399list separated by whitespace and/or commas. The elements are a single
15400cipher, or one or more "+" separated cipher properties, in which case
15401only ciphers matching <b>all</b> the properties are excluded. </p>
15402
15403<p> Examples (some of these will cause problems): </p>
15404
15405<blockquote>
15406<pre>
15407<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL
15408<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = MD5, DES
15409<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = DES+MD5
15410<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
15411<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = kEDH+aRSA
15412</pre>
15413</blockquote>
15414
15415<p> The first setting disables anonymous ciphers. The next setting
15416disables ciphers that use the MD5 digest algorithm or the (single) DES
15417encryption algorithm. The next setting disables ciphers that use MD5 and
15418DES together.  The next setting disables the two ciphers "AES256-SHA"
15419and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
15420key exchange with RSA authentication. </p>
15421
15422<p> This feature is available in Postfix 2.3 and later. </p>
15423
15424
15425</DD>
15426
15427<DT><b><a name="smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>
15428(default: md5)</b></DT><DD>
15429
15430<p> The message digest algorithm to construct remote SMTP
15431client-certificate
15432fingerprints or public key fingerprints (Postfix 2.9 and later)
15433for <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
15434default algorithm is <b>md5</b>, for backwards compatibility with Postfix
15435releases prior to 2.5.  </p>
15436
15437<p> Advances in hash
15438function cryptanalysis have led to md5 being deprecated in favor of sha1.
15439However, as long as there are no known "second pre-image" attacks
15440against md5, its use in this context can still be considered safe.
15441</p>
15442
15443<p> While additional digest algorithms are often available with OpenSSL's
15444libcrypto, only those used by libssl in SSL cipher suites are available to
15445Postfix. </p>
15446
15447<p> To find the fingerprint of a specific certificate file, with a
15448specific digest algorithm, run: </p>
15449
15450<blockquote>
15451<pre>
15452$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
15453</pre>
15454</blockquote>
15455
15456<p> The text to the right of "=" sign is the desired fingerprint.
15457For example: </p>
15458
15459<blockquote>
15460<pre>
15461$ openssl x509 -noout -fingerprint -sha1 -in cert.pem
15462SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
15463</pre>
15464</blockquote>
15465
15466<p> To extract the public key fingerprint from an X.509 certificate,
15467you need to extract the public key from the certificate and compute
15468the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
15469the "-pubkey" option of the "x509" command extracts the public
15470key always in "PEM" format. We pipe the result to another OpenSSL
15471command that converts the key to DER and then to the "dgst" command
15472to compute the fingerprint. </p>
15473
15474<p> The actual command to transform the key to DER format depends
15475on the version of OpenSSL used. With OpenSSL 1.0.0 and later, the
15476"pkey" command supports all key types. With OpenSSL 0.9.8 and
15477earlier, the key type is always RSA (nobody uses DSA, and EC
15478keys are not fully supported by 0.9.8), so the "rsa" command is
15479used. </p>
15480<blockquote>
15481<pre>
15482# OpenSSL 1.0 with all certificates and SHA-1 fingerprints.
15483$ openssl x509 -in cert.pem -noout -pubkey |
15484    openssl pkey -pubin -outform DER |
15485    openssl dgst -sha1 -c
15486(stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58
15487</pre>
15488</blockquote>
15489
15490<blockquote>
15491<pre>
15492# OpenSSL 0.9.8 with RSA certificates and MD5 fingerprints.
15493$ openssl x509 -in cert.pem -noout -pubkey |
15494    openssl rsa -pubin -outform DER |
15495    openssl dgst -md5 -c
15496(stdin)= f4:62:60:f6:12:8f:d5:8d:28:4d:13:a7:db:b2:ff:50
15497</pre>
15498</blockquote>
15499
15500<p> The Postfix SMTP server and client log the peer (leaf) certificate
15501fingerprint and public key fingerprint when the TLS loglevel is 2 or
15502higher. </p>
15503
15504<p> <b>Note:</b> Postfix 2.9.0&ndash;2.9.5 computed the public key
15505fingerprint incorrectly. To use public-key fingerprints, upgrade
15506to Postfix 2.9.6 or later. </p>
15507
15508<p> Example: client-certificate access table, with sha1 fingerprints: </p>
15509
15510<blockquote>
15511<pre>
15512/etc/postfix/<a href="postconf.5.html">main.cf</a>:
15513    <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> = sha1
15514    <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
15515        <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access,
15516        reject
15517</pre>
15518<pre>
15519/etc/postfix/access:
15520    # Action folded to next line...
15521    AF:88:7C:AD:51:95:6F:36:96:F6:01:FB:2E:48:CD:AB:49:25:A2:3B
15522        OK
15523    85:16:78:FD:73:6E:CE:70:E0:31:5F:0D:3C:C8:6D:C4:2C:24:59:E1
15524        <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
15525</pre>
15526</blockquote>
15527
15528<p> This feature is available in Postfix 2.5 and later. </p>
15529
15530
15531</DD>
15532
15533<DT><b><a name="smtpd_tls_key_file">smtpd_tls_key_file</a>
15534(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
15535
15536<p> File with the Postfix SMTP server RSA private key in PEM format.
15537This file may be combined with the Postfix SMTP server RSA certificate
15538file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>. </p>
15539
15540<p> The private key must be accessible without a pass-phrase, i.e. it
15541must not be encrypted. File permissions should grant read-only
15542access to the system superuser account ("root"), and no access
15543to anyone else. </p>
15544
15545
15546</DD>
15547
15548<DT><b><a name="smtpd_tls_loglevel">smtpd_tls_loglevel</a>
15549(default: 0)</b></DT><DD>
15550
15551<p> Enable additional Postfix SMTP server logging of TLS activity.
15552Each logging level also includes the information that is logged at
15553a lower logging level.  </p>
15554
15555<dl compact>
15556
15557<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
15558
15559<dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
15560&mdash; no logging of client certificate trust-chain verification errors
15561if client certificate verification is not required.  With Postfix 2.8 and
15562earlier, log the summary message, peer certificate summary information
15563and unconditionally log trust-chain verification errors.  </dd>
15564
15565<dt> </dt> <dd> 2 Also log levels during TLS negotiation. </dd>
15566
15567<dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation
15568process. </dd>
15569
15570<dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
15571transmission after STARTTLS. </dd>
15572
15573</dl>
15574
15575<p> Do not use "<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> = 2" or higher except in case
15576of problems. Use of loglevel 4 is strongly discouraged. </p>
15577
15578<p> This feature is available in Postfix 2.2 and later.  </p>
15579
15580
15581</DD>
15582
15583<DT><b><a name="smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
15584(default: medium)</b></DT><DD>
15585
15586<p> The minimum TLS cipher grade that the Postfix SMTP server will
15587use with mandatory TLS encryption. The default grade ("medium") is
15588sufficiently strong that any benefit from globally restricting TLS
15589sessions to a more stringent grade is likely negligible, especially
15590given the fact that many implementations still do not offer any stronger
15591("high" grade) ciphers, while those that do, will always use "high"
15592grade ciphers. So insisting on "high" grade ciphers is generally
15593counter-productive. Allowing "export" or "low" ciphers is typically
15594not a good idea, as systems limited to just these are limited to
15595obsolete browsers. No known SMTP clients fail to support at least
15596one "medium" or "high" grade cipher. </p>
15597
15598<p> The following cipher grades are supported: </p>
15599
15600<dl>
15601<dt><b>export</b></dt>
15602<dd> Enable "EXPORT" grade or stronger OpenSSL ciphers.
15603This is the most appropriate setting for public MX hosts, and is always
15604used with opportunistic TLS encryption. The underlying cipherlist
15605is specified via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration parameter,
15606which you are strongly encouraged to not change. </dd>
15607
15608<dt><b>low</b></dt>
15609<dd> Enable "LOW" grade or stronger OpenSSL ciphers. The
15610underlying cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a>
15611configuration parameter, which you are strongly encouraged to
15612not change. </dd>
15613
15614<dt><b>medium</b></dt>
15615<dd> Enable "MEDIUM" grade or stronger OpenSSL ciphers. These use 128-bit
15616or longer symmetric bulk-encryption keys. This is the default minimum
15617strength for mandatory TLS encryption. The underlying cipherlist is
15618specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a> configuration parameter, which
15619you are strongly encouraged to not change. </dd>
15620
15621<dt><b>high</b></dt>
15622<dd> Enable only "HIGH" grade OpenSSL ciphers. The
15623underlying cipherlist is specified via the <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a>
15624configuration parameter, which you are strongly encouraged to
15625not change. </dd>
15626
15627<dt><b>null</b></dt>
15628<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
15629without encryption.  This setting is only appropriate in the rare
15630case that all clients are prepared to use NULL ciphers (not normally
15631enabled in TLS clients). The underlying cipherlist is specified via the
15632<a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> configuration parameter, which you are strongly
15633encouraged to not change. </dd>
15634
15635</dl>
15636
15637<p> Cipher types listed in
15638<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
15639excluded from the base definition of the selected cipher grade. See
15640<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> for cipher controls that apply to opportunistic
15641TLS. </p>
15642
15643<p> The underlying cipherlists for grades other than "null" include
15644anonymous ciphers, but these are automatically filtered out if the
15645server is configured to ask for remote SMTP client certificates.  You are very
15646unlikely to need to take any steps to exclude anonymous ciphers, they
15647are excluded automatically as required.  If you must exclude anonymous
15648ciphers even when Postfix does not need or use peer certificates, set
15649"<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only
15650when TLS is enforced, set "<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
15651
15652<p> This feature is available in Postfix 2.3 and later. </p>
15653
15654
15655</DD>
15656
15657<DT><b><a name="smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>
15658(default: empty)</b></DT><DD>
15659
15660<p> Additional list of ciphers or cipher types to exclude from the
15661Postfix SMTP server cipher list at mandatory TLS security levels.
15662This list
15663works in addition to the exclusions listed with <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
15664(see there for syntax details).  </p>
15665
15666<p> This feature is available in Postfix 2.3 and later. </p>
15667
15668
15669</DD>
15670
15671<DT><b><a name="smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>
15672(default: !SSLv2)</b></DT><DD>
15673
15674<p> The SSL/TLS protocols accepted by the Postfix SMTP server with
15675mandatory TLS encryption. If the list is empty, the server supports
15676all available SSL/TLS protocol versions.  A non-empty value is a
15677list of protocol names separated by whitespace, commas or colons.
15678The supported protocol names are "SSLv2", "SSLv3" and "TLSv1", and
15679are not case sensitive. </p>
15680
15681<p> With Postfix &ge; 2.5 the parameter syntax was expanded to support
15682protocol exclusions. One can explicitly exclude "SSLv2" by setting
15683"<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2". To exclude both "SSLv2" and
15684"SSLv3" set "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing
15685the protocols to include, rather than protocols to exclude, is
15686supported, but not recommended. The exclusion form more closely
15687matches the underlying OpenSSL interface semantics.  </p>
15688
15689<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
15690and "TLSv1.2". When Postfix &le; 2.5 is linked against OpenSSL 1.0.1
15691or later, these, or any other new protocol versions, cannot be
15692disabled.  The latest patch levels of Postfix &ge; 2.6, and all
15693versions of Postfix &ge; 2.10 can disable support for "TLSv1.1" or
15694"TLSv1.2". </p>
15695
15696<p> Since SSL version 2 has known protocol weaknesses and is now
15697deprecated, the default setting excludes "SSLv2".  This means that
15698by default, SSL version 2 will not be used at the "encrypt" security
15699level. </p>
15700
15701<p> Example: </p>
15702
15703<pre>
15704# Preferred syntax with Postfix &ge; 2.5:
15705<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
15706# Legacy syntax:
15707<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = TLSv1
15708</pre>
15709
15710<p> This feature is available in Postfix 2.3 and later. </p>
15711
15712
15713</DD>
15714
15715<DT><b><a name="smtpd_tls_protocols">smtpd_tls_protocols</a>
15716(default: empty)</b></DT><DD>
15717
15718<p> List of TLS protocols that the Postfix SMTP server will exclude
15719or include with opportunistic TLS encryption. This parameter SHOULD
15720be left at its default empty value, allowing all protocols to be
15721used with opportunistic TLS.  A non-empty value is a list of protocol
15722names separated by whitespace, commas or colons.  The supported
15723protocol names are "SSLv2", "SSLv3" and "TLSv1", and are not case
15724sensitive. </p>
15725
15726<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
15727and "TLSv1.2". The latest patch levels of Postfix &ge; 2.6, and all
15728versions of Postfix &ge; 2.10 can disable support for "TLSv1.1" or
15729"TLSv1.2". </p>
15730
15731<p> To include a protocol list its name, to exclude it, prefix the name
15732with a "!" character. To exclude SSLv2 even for opportunistic TLS set
15733"<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set
15734"<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to
15735include, rather than protocols to exclude, is supported, but not
15736recommended.  The exclusion form more closely matches the underlying
15737OpenSSL interface semantics. </p>
15738
15739<p> Example: </p>
15740<pre>
15741<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2
15742</pre>
15743
15744<p> This feature is available in Postfix 2.6 and later. </p>
15745
15746
15747</DD>
15748
15749<DT><b><a name="smtpd_tls_received_header">smtpd_tls_received_header</a>
15750(default: no)</b></DT><DD>
15751
15752<p> Request that the Postfix SMTP server produces Received:  message
15753headers that include information about the protocol and cipher used,
15754as well as the remote SMTP client CommonName and client certificate issuer
15755CommonName.  This is disabled by default, as the information may
15756be modified in transit through other mail servers.  Only information
15757that was recorded by the final destination can be trusted. </p>
15758
15759<p> This feature is available in Postfix 2.2 and later.  </p>
15760
15761
15762</DD>
15763
15764<DT><b><a name="smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>
15765(default: no)</b></DT><DD>
15766
15767<p> With mandatory TLS encryption, require a trusted remote SMTP client
15768certificate in order to allow TLS connections to proceed.  This
15769option implies "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes". </p>
15770
15771<p> When TLS encryption is optional, this setting is ignored with
15772a warning written to the mail log. </p>
15773
15774<p> This feature is available in Postfix 2.2 and later.  </p>
15775
15776
15777</DD>
15778
15779<DT><b><a name="smtpd_tls_security_level">smtpd_tls_security_level</a>
15780(default: empty)</b></DT><DD>
15781
15782<p> The SMTP TLS security level for the Postfix SMTP server; when
15783a non-empty value is specified, this overrides the obsolete parameters
15784<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
15785"<a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> = yes".  </p>
15786
15787<p> Specify one of the following security levels: </p>
15788
15789<dl>
15790
15791<dt><b>none</b></dt> <dd> TLS will not be used. </dd>
15792
15793<dt><b>may</b></dt> <dd> Opportunistic TLS: announce STARTTLS support
15794to remote SMTP clients, but do not require that clients use TLS encryption.
15795</dd>
15796
15797<dt><b>encrypt</b></dt> <dd>Mandatory TLS encryption: announce
15798STARTTLS support to remote SMTP clients, and require that clients use TLS
15799encryption. According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> this MUST NOT be applied in case
15800of a publicly-referenced SMTP server. Instead, this option should
15801be used only on dedicated servers. </dd>
15802
15803</dl>
15804
15805<p> Note 1: the "fingerprint", "verify" and "secure" levels are not
15806supported here.
15807The Postfix SMTP server logs a warning and uses "encrypt" instead.
15808To verify remote SMTP client certificates, see <a href="TLS_README.html">TLS_README</a> for a discussion
15809of 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>
15810features.  </p>
15811
15812<p> Note 2: The parameter setting "<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> =
15813encrypt" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes".</p>
15814
15815<p> Note 3: when invoked via "sendmail -bs", Postfix will never
15816offer STARTTLS due to insufficient privileges to access the server
15817private key. This is intended behavior.</p>
15818
15819<p> This feature is available in Postfix 2.3 and later. </p>
15820
15821
15822</DD>
15823
15824<DT><b><a name="smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
15825(default: empty)</b></DT><DD>
15826
15827<p> Name of the file containing the optional Postfix SMTP server
15828TLS session cache. Specify a database type that supports enumeration,
15829such as <b>btree</b> or <b>sdbm</b>; there is no need to support
15830concurrent access.  The file is created if it does not exist. The <a href="smtpd.8.html">smtpd(8)</a>
15831daemon does not use this parameter directly, rather the cache is
15832implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
15833per-smtpd-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not
15834effective. Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a>
15835daemon: $<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>
15836(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
15837stored separately. It is not at this time possible to store multiple
15838caches in a single database. </p>
15839
15840<p> Note: <b>dbm</b> databases are not suitable. TLS
15841session objects are too large. </p>
15842
15843<p> As of version 2.5, Postfix no longer uses root privileges when
15844opening this file. The file should now be stored under the Postfix-owned
15845<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
15846under a non-Postfix directory is redirected to the Postfix-owned
15847<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
15848
15849<p> Example: </p>
15850
15851<pre>
15852<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
15853</pre>
15854
15855<p> This feature is available in Postfix 2.2 and later.  </p>
15856
15857
15858</DD>
15859
15860<DT><b><a name="smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>
15861(default: 3600s)</b></DT><DD>
15862
15863<p> The expiration time of Postfix SMTP server TLS session cache
15864information. A cache cleanup is performed periodically
15865every $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> seconds. As with
15866$<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, this parameter is implemented in the
15867<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtpd-instance <a href="master.5.html">master.cf</a> overrides
15868are not possible. </p>
15869
15870<p> As of Postfix 2.11 this setting cannot exceed 100 days.  If set
15871&le; 0, session caching is disabled, not just via the database, but
15872also via <a href="http://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side
15873storage.  If set to a positive value less than 2 minutes, the minimum
15874value of 2 minutes is used instead.  TLS session tickets require
15875an OpenSSL library (at least version 0.9.8h) that provides full
15876support for this TLS extension. </p>
15877
15878<p> This feature is available in Postfix 2.2 and later, and updated
15879for TLS session ticket support in Postfix 2.11. </p>
15880
15881
15882</DD>
15883
15884<DT><b><a name="smtpd_tls_wrappermode">smtpd_tls_wrappermode</a>
15885(default: no)</b></DT><DD>
15886
15887<p> Run the Postfix SMTP server in the non-standard "wrapper" mode,
15888instead of using the STARTTLS command. </p>
15889
15890<p> If you want to support this service, enable a special port in
15891<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
15892server's command line. Port 465 (smtps) was once chosen for this
15893purpose. </p>
15894
15895<p> This feature is available in Postfix 2.2 and later.  </p>
15896
15897
15898</DD>
15899
15900<DT><b><a name="smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a>
15901(default: empty)</b></DT><DD>
15902
15903<p> The name of the proxy protocol used by an optional before-smtpd
15904proxy agent. When a proxy agent is used, this protocol conveys local
15905and remote address and port information.  Specify
15906"<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
15907protocol.  </p>
15908
15909<p> NOTE: To use the nginx proxy with <a href="smtpd.8.html">smtpd(8)</a>, enable the XCLIENT
15910protocol with <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>. This supports SASL
15911authentication in the proxy agent (Postfix 2.9 and later). <p>
15912
15913<p> This feature is available in Postfix 2.10 and later.  </p>
15914
15915
15916</DD>
15917
15918<DT><b><a name="smtpd_upstream_proxy_timeout">smtpd_upstream_proxy_timeout</a>
15919(default: 5s)</b></DT><DD>
15920
15921<p> The time limit for the proxy protocol specified with the
15922<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> parameter. </p>
15923
15924<p> This feature is available in Postfix 2.10 and later.  </p>
15925
15926
15927</DD>
15928
15929<DT><b><a name="smtpd_use_tls">smtpd_use_tls</a>
15930(default: no)</b></DT><DD>
15931
15932<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
15933but do not require that clients use TLS encryption. </p>
15934
15935<p> Note: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
15936STARTTLS due to insufficient privileges to access the server private
15937key. This is intended behavior. </p>
15938
15939<p> This feature is available in Postfix 2.2 and later. With
15940Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
15941
15942
15943</DD>
15944
15945<DT><b><a name="soft_bounce">soft_bounce</a>
15946(default: no)</b></DT><DD>
15947
15948<p>
15949Safety net to keep mail queued that would otherwise be returned to
15950the sender.  This parameter disables locally-generated bounces,
15951changes the handling of negative responses from remote servers,
15952content filters or plugins,
15953and prevents the Postfix SMTP server from rejecting mail permanently
15954by changing 5xx reply codes into 4xx.  However, <a href="postconf.5.html#soft_bounce">soft_bounce</a> is no
15955cure for address rewriting mistakes or mail routing mistakes.
15956</p>
15957
15958<p>
15959Note: "<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes" is in some cases implemented by modifying
15960server responses. Therefore, the response that Postfix logs may
15961differ from the response that Postfix actually sends or receives.
15962</p>
15963
15964<p>
15965Example:
15966</p>
15967
15968<pre>
15969<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes
15970</pre>
15971
15972
15973</DD>
15974
15975<DT><b><a name="stale_lock_time">stale_lock_time</a>
15976(default: 500s)</b></DT><DD>
15977
15978<p>
15979The time after which a stale exclusive mailbox lockfile is removed.
15980This is used for delivery to file or mailbox.
15981</p>
15982
15983<p>
15984Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
15985The default time unit is s (seconds).
15986</p>
15987
15988
15989</DD>
15990
15991<DT><b><a name="stress">stress</a>
15992(default: empty)</b></DT><DD>
15993
15994<p> This feature is documented in the <a href="STRESS_README.html">STRESS_README</a> document. </p>
15995
15996<p> This feature is available in Postfix 2.5 and later. </p>
15997
15998
15999</DD>
16000
16001<DT><b><a name="strict_7bit_headers">strict_7bit_headers</a>
16002(default: no)</b></DT><DD>
16003
16004<p>
16005Reject mail with 8-bit text in message headers. This blocks mail
16006from poorly written applications.
16007</p>
16008
16009<p>
16010This feature should not be enabled on a general purpose mail server,
16011because it is likely to reject legitimate email.
16012</p>
16013
16014<p>
16015This feature is available in Postfix 2.0 and later.
16016</p>
16017
16018
16019</DD>
16020
16021<DT><b><a name="strict_8bitmime">strict_8bitmime</a>
16022(default: no)</b></DT><DD>
16023
16024<p>
16025Enable 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>.
16026</p>
16027
16028<p>
16029This feature should not be enabled on a general purpose mail server,
16030because it is likely to reject legitimate email.
16031</p>
16032
16033<p>
16034This feature is available in Postfix 2.0 and later.
16035</p>
16036
16037
16038</DD>
16039
16040<DT><b><a name="strict_8bitmime_body">strict_8bitmime_body</a>
16041(default: no)</b></DT><DD>
16042
16043<p>
16044Reject 8-bit message body text without 8-bit MIME content encoding
16045information.  This blocks mail from poorly written applications.
16046</p>
16047
16048<p>
16049Unfortunately, this also rejects majordomo approval requests when
16050the included request contains valid 8-bit MIME mail, and it rejects
16051bounces from mailers that do not MIME encapsulate 8-bit content
16052(for example, bounces from qmail or from old versions of Postfix).
16053</p>
16054
16055<p>
16056This feature should not be enabled on a general purpose mail server,
16057because it is likely to reject legitimate email.
16058</p>
16059
16060<p>
16061This feature is available in Postfix 2.0 and later.
16062</p>
16063
16064
16065</DD>
16066
16067<DT><b><a name="strict_mailbox_ownership">strict_mailbox_ownership</a>
16068(default: yes)</b></DT><DD>
16069
16070<p> Defer delivery when a mailbox file is not owned by its recipient.
16071The default setting is not backwards compatible.  </p>
16072
16073<p> This feature is available in Postfix 2.5.3 and later. </p>
16074
16075
16076</DD>
16077
16078<DT><b><a name="strict_mime_encoding_domain">strict_mime_encoding_domain</a>
16079(default: no)</b></DT><DD>
16080
16081<p>
16082Reject mail with invalid Content-Transfer-Encoding: information
16083for the message/* or multipart/* MIME content types.  This blocks
16084mail from poorly written software.
16085</p>
16086
16087<p>
16088This feature should not be enabled on a general purpose mail server,
16089because it will reject mail after a single violation.
16090</p>
16091
16092<p>
16093This feature is available in Postfix 2.0 and later.
16094</p>
16095
16096
16097</DD>
16098
16099<DT><b><a name="strict_rfc821_envelopes">strict_rfc821_envelopes</a>
16100(default: no)</b></DT><DD>
16101
16102<p>
16103Require that addresses received in SMTP MAIL FROM and RCPT TO
16104commands are enclosed with &lt;&gt;, and that those addresses do
16105not contain <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> style comments or phrases.  This stops mail
16106from poorly written software.
16107</p>
16108
16109<p>
16110By default, the Postfix SMTP server accepts <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> syntax in MAIL
16111FROM and RCPT TO addresses.
16112</p>
16113
16114
16115</DD>
16116
16117<DT><b><a name="sun_mailtool_compatibility">sun_mailtool_compatibility</a>
16118(default: no)</b></DT><DD>
16119
16120<p>
16121Obsolete SUN mailtool compatibility feature. Instead, use
16122"<a href="postconf.5.html#mailbox_delivery_lock">mailbox_delivery_lock</a> = dotlock".
16123</p>
16124
16125
16126</DD>
16127
16128<DT><b><a name="swap_bangpath">swap_bangpath</a>
16129(default: yes)</b></DT><DD>
16130
16131<p>
16132Enable the rewriting of "site!user" into "user@site".  This is
16133necessary if your machine is connected to UUCP networks.  It is
16134enabled by default.
16135</p>
16136
16137<p> Note: with Postfix version 2.2, message header address rewriting
16138happens only when one of the following conditions is true: </p>
16139
16140<ul>
16141
16142<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
16143
16144<li> The message is received from a network client that matches
16145$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
16146
16147<li> The message is received from the network, and the
16148<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
16149
16150</ul>
16151
16152<p> To get the behavior before Postfix version 2.2, specify
16153"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
16154
16155<p>
16156Example:
16157</p>
16158
16159<pre>
16160<a href="postconf.5.html#swap_bangpath">swap_bangpath</a> = no
16161</pre>
16162
16163
16164</DD>
16165
16166<DT><b><a name="syslog_facility">syslog_facility</a>
16167(default: mail)</b></DT><DD>
16168
16169<p>
16170The syslog facility of Postfix logging. Specify a facility as
16171defined in syslog.conf(5). The default facility is "mail".
16172</p>
16173
16174<p>
16175Warning: a non-default <a href="postconf.5.html#syslog_facility">syslog_facility</a> setting takes effect only
16176after a Postfix process has completed initialization.  Errors during
16177process initialization will be logged with the default facility.
16178Examples are errors while parsing the command line arguments, and
16179errors while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
16180</p>
16181
16182
16183</DD>
16184
16185<DT><b><a name="syslog_name">syslog_name</a>
16186(default: see "postconf -d" output)</b></DT><DD>
16187
16188<p>
16189The mail system name that is prepended to the process name in syslog
16190records, so that "smtpd" becomes, for example, "postfix/smtpd".
16191</p>
16192
16193<p>
16194Warning: a non-default <a href="postconf.5.html#syslog_name">syslog_name</a> setting takes effect only after
16195a Postfix process has completed initialization. Errors during
16196process initialization will be logged with the default name. Examples
16197are errors while parsing the command line arguments, and errors
16198while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
16199</p>
16200
16201
16202</DD>
16203
16204<DT><b><a name="tcp_windowsize">tcp_windowsize</a>
16205(default: 0)</b></DT><DD>
16206
16207<p> An optional workaround for routers that break TCP window scaling.
16208Specify a value &gt; 0 and &lt; 65536 to enable this feature.  With
16209Postfix TCP servers (<a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a>), this feature is implemented
16210by the Postfix <a href="master.8.html">master(8)</a> daemon.  </p>
16211
16212<p> To change this parameter without stopping Postfix, you need to
16213first terminate all Postfix TCP servers: </p>
16214
16215<blockquote>
16216<pre>
16217# postconf -e <a href="postconf.5.html#master_service_disable">master_service_disable</a>=inet
16218# postfix reload
16219</pre>
16220</blockquote>
16221
16222<p> This immediately terminates all processes that accept network
16223connections.  Next, you enable Postfix TCP servers with the updated
16224<a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> setting: </p>
16225
16226<blockquote>
16227<pre>
16228# 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>=
16229# postfix reload
16230</pre>
16231</blockquote>
16232
16233<p> If you skip these steps with a running Postfix system, then the
16234<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>,
16235<a href="lmtp.8.html">lmtp(8)</a>).  </p>
16236
16237<p> This feature is available in Postfix 2.6 and later. </p>
16238
16239
16240</DD>
16241
16242<DT><b><a name="tls_append_default_CA">tls_append_default_CA</a>
16243(default: no)</b></DT><DD>
16244
16245<p> Append the system-supplied default certificate authority
16246certificates to the ones specified with *_tls_CApath or *_tls_CAfile.
16247The default is "no"; this prevents Postfix from trusting third-party
16248certificates and giving them relay permission with
16249<a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>.  </p>
16250
16251<p> This feature is available in Postfix 2.4.15, 2.5.11, 2.6.8,
162522.7.2 and later versions. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = yes" for
16253backwards compatibility, to avoid breaking certificate verification
16254with sites that don't use <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p>
16255
16256
16257</DD>
16258
16259<DT><b><a name="tls_daemon_random_bytes">tls_daemon_random_bytes</a>
16260(default: 32)</b></DT><DD>
16261
16262<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>
16263process requests from the <a href="tlsmgr.8.html">tlsmgr(8)</a> server in order to seed its
16264internal pseudo random number generator (PRNG).  The default of 32
16265bytes (equivalent to 256 bits) is sufficient to generate a 128bit
16266(or 168bit) session key. </p>
16267
16268<p> This feature is available in Postfix 2.2 and later.  </p>
16269
16270
16271</DD>
16272
16273<DT><b><a name="tls_dane_digest_agility">tls_dane_digest_agility</a>
16274(default: on)</b></DT><DD>
16275
16276<p> Configure DANE TLSA digest algorithm agility.  When digest
16277algorithm agility is enabled, and the server and client support a
16278common strong digest algorithm, TLSA records with weaker digest
16279algorithms are ignored.  </p>
16280
16281<p> Specify one of the following: </p>
16282
16283<dl>
16284
16285<dt><b>off</b></dt>
16286<dd> DANE verification examines each well-formed record in the TLSA
16287RRset whose matching type is either "0" (no hash used) or is one of
16288the digest algorithms listed in $<a href="postconf.5.html#tls_dane_digests">tls_dane_digests</a>.  This setting
16289is not recommended.  </dd>
16290
16291<dt><b>on</b></dt>
16292<dd> From each group of well-formed TLSA RRs a non-zero digest
16293matching type with the same certificate usage and selector, DANE
16294verification examines only those records whose matching type has
16295the highest precedence (appear earliest in $<a href="postconf.5.html#tls_dane_digests">tls_dane_digests</a>).
16296</dd>
16297
16298<dt><b>maybe</b></dt>
16299<dd> For compatibility with digest algorithm agility, each certificate
16300or public key whose digest is included in a DANE TLSA RRset, SHOULD
16301be published with the same set of digest matching type values as
16302any other with the same usage and selector.  Therefore, compatible
16303TLSA RRsets will contain an identical count of well-formed RRs with
16304each non-zero digest matching type for any fixed combination of
16305usage and selector.  When this constraint is violated, or any of
16306the digest records are malformed, digest algorithm agility will
16307disabled.  Otherwise, digest algorithm agility is enabled.   </dd>
16308
16309</dl>
16310
16311<p> Digest algorithm agility ensures that the strongest digest
16312supported by both the Postfix SMTP client and the remote server is
16313used, and weaker digests are ignored.  This supports non-disruptive
16314deprecation of outdated digest algorithms. </p>
16315
16316<p> To ensure compatibility with digest algorithm agility during
16317key rotation, when a certificate or public key is being replaced
16318with another, and both are published during the transition, both
16319the old and the new certificate MUST be specified with the same set
16320of digests.  One can change the list of digest algorithms later,
16321once old keys are retired.  At any given time, change either the
16322list of digests without changing the list of certificates or public
16323keys or the list of certificates or public keys without changing
16324the list of digests.  Full value matching type "0" records are not
16325subject to this constraint, but are discouraged due to the size of
16326the resulting DNS records.  </p>
16327
16328<p> It is expected that this algorithm agility mechanism will be
16329published in a standards track RFC for SMTP with DANE, and also in
16330an eventual update to <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>. </p>
16331
16332<p> This feature is available in Postfix 2.11 and later. </p>
16333
16334
16335</DD>
16336
16337<DT><b><a name="tls_dane_digests">tls_dane_digests</a>
16338(default: sha512 sha256)</b></DT><DD>
16339
16340<p> <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> TLSA resource-record "matching type" digest algorithms
16341in descending preference order.  All the specified algorithms must
16342be supported by the underlying OpenSSL library, otherwise the Postfix
16343SMTP client will not support DANE TLSA security.  </p>
16344
16345<p> Specify a list of digest names separated by commas and/or
16346whitespace.  Each digest name may be followed by an optional
16347"=&lt;number&gt;" suffix.  For example, "sha512" may instead be specified
16348as "sha512=2" and "sha256" may instead be specified as "sha256=1".
16349The optional number must match the <a
16350href="https://www.iana.org/assignments/dane-parameters/dane-parameters.xhtml#matching-types"
16351>IANA</a> assigned TLSA matching type number the algorithm in question.
16352Postfix will check this constraint for the algorithms it knows about.
16353Additional matching type algorithms registered with IANA can be added
16354with explicit numbers provided they are supported by OpenSSL. </p>
16355
16356<p> Invalid list elements are logged with a warning and disable DANE
16357support.  TLSA RRs that specify digests not included in the list are
16358ignored with a warning. </p>
16359
16360<p> Note: It is unwise to omit sha256 from the digest list.  This
16361digest algorithm is the only mandatory to implement digest algorithm
16362in <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>, and many servers are expected publish TLSA records
16363with just sha256 digests.  Unless one of the standard digests is
16364seriously compromised and servers have had ample time to update their
16365TLSA records you should not omit any standard digests, just arrange
16366them in order from strongest to weakest.  </p>
16367
16368<p> When for a particular combination of "certificate usage" and
16369"selector" the TLSA RRset contains records with more than one digest
16370matching type, the tls_dane_digest_agility parameter determines
16371whether all the RRs are used, or only those with the most preferred
16372digest matching type.  </p>
16373
16374<p> The <a href="postconf.5.html#tls_dane_trust_anchor_digest_enable">tls_dane_trust_anchor_digest_enable</a> parameter controls
16375whether any digest TLSA records are acceptable in usage "2" (trust
16376anchor assertion) TLSA records. </p>
16377
16378<p> This feature is available in Postfix 2.11 and later. </p>
16379
16380
16381</DD>
16382
16383<DT><b><a name="tls_dane_trust_anchor_digest_enable">tls_dane_trust_anchor_digest_enable</a>
16384(default: yes)</b></DT><DD>
16385
16386<p> <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> trust-anchor digest support in the Postfix TLS library.
16387Enable support for <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE TLSA) DNS records that contain
16388digests of trust-anchors with certificate usage "2".  In this case
16389the certificate usage logically requires the server administrator
16390to configure the server to include the trust-anchor certificate in
16391the server's SSL certificate chain.  If enough domains mess this
16392up, you can disable support for these TLSA records, but you'll no
16393longer have secure connections that get it right and only publish
16394trust anchor records.  </p>
16395
16396<p> At the <a href="TLS_README.html#client_tls_dane">dane</a>
16397security level, when a TLSA RRset includes only unusable associations,
16398the Postfix SMTP client will automatically switch the connection
16399to the <a href="TLS_README.html#client_tls_encrypt">encrypt</a>
16400security level.  At the <a
16401href="TLS_README.html#client_tls_dane">dane-only</a> security level,
16402the server in question is skipped and delivery is deferred if no
16403secure servers are found.  </p>
16404
16405<p> The <a href="postconf.5.html#tls_dane_digests">tls_dane_digests</a> parameter controls the list of digest
16406algorithms that are supported in TLSA records.  The tls_dane_digest_agility
16407parameter controls digest algorithm downgrade attack resistance.
16408</p>
16409
16410<p> This feature is available in Postfix 2.11 and later.  </p>
16411
16412
16413</DD>
16414
16415<DT><b><a name="tls_disable_workarounds">tls_disable_workarounds</a>
16416(default: see "postconf -d" output)</b></DT><DD>
16417
16418<p> List or bit-mask of OpenSSL bug work-arounds to disable. </p>
16419
16420<p> The OpenSSL toolkit includes a set of work-arounds for buggy SSL/TLS
16421implementations. Applications, such as Postfix, that want to maximize
16422interoperability ask the OpenSSL library to enable the full set of
16423recommended work-arounds. </p>
16424
16425<p> From time to time, it is discovered that a work-around creates a
16426security issue, and should no longer be used. If upgrading OpenSSL
16427to a fixed version is not an option or an upgrade is not available
16428in a timely manner, or in closed environments where no buggy clients
16429or servers exist, it may be appropriate to disable some or all of the
16430OpenSSL interoperability work-arounds. This parameter specifies which
16431bug work-arounds to disable. </p>
16432
16433<p> If the value of the parameter is a hexadecimal long integer starting
16434with "0x", the bug work-arounds corresponding to the bits specified in
16435its value are removed from the <b>SSL_OP_ALL</b> work-around bit-mask
16436(see openssl/ssl.h and SSL_CTX_set_options(3)). You can specify more
16437bits than are present in SSL_OP_ALL, excess bits are ignored. Specifying
164380xFFFFFFFF disables all bug-workarounds on a 32-bit system. This should
16439also be sufficient on 64-bit systems, until OpenSSL abandons support
16440for 32-bit systems and starts using the high 32 bits of a 64-bit
16441bug-workaround mask. </p>
16442
16443<p> Otherwise, the parameter is a white-space or comma separated list
16444of specific named bug work-arounds chosen from the list below. It
16445is possible that your OpenSSL version includes new bug work-arounds
16446added after your Postfix source code was last updated, in that case
16447you can only disable one of these via the hexadecimal syntax above. </p>
16448
16449<dl>
16450
16451<dt><b>MICROSOFT_SESS_ID_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
16452
16453<dt><b>NETSCAPE_CHALLENGE_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
16454
16455<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
16456
16457<dt><b>NETSCAPE_REUSE_CIPHER_CHANGE_BUG</b></dt> <dd> also aliased
16458as <b>CVE-2010-4180</b>. Postfix 2.8 disables this work-around by
16459default with OpenSSL versions that may predate the fix. Fixed in
16460OpenSSL 0.9.8q and OpenSSL 1.0.0c.</dd>
16461
16462<dt><b>SSLREF2_REUSE_CERT_TYPE_BUG</b></dt> <dd>See
16463SSL_CTX_set_options(3)</dd>
16464
16465<dt><b>MICROSOFT_BIG_SSLV3_BUFFER</b></dt> <dd>See
16466SSL_CTX_set_options(3)</dd>
16467
16468<dt><b>MSIE_SSLV2_RSA_PADDING</b></dt> <dd> also aliased as
16469<b>CVE-2005-2969</b>. Postfix 2.8 disables this work-around by
16470default with OpenSSL versions that may predate the fix. Fixed in
16471OpenSSL 0.9.7h and OpenSSL 0.9.8a.</dd>
16472
16473<dt><b>SSLEAY_080_CLIENT_DH_BUG</b></dt> <dd>See
16474SSL_CTX_set_options(3)</dd>
16475
16476<dt><b>TLS_D5_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
16477
16478<dt><b>TLS_BLOCK_PADDING_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
16479
16480<dt><b>TLS_ROLLBACK_BUG</b></dt> <dd>See SSL_CTX_set_options(3).
16481This is disabled in OpenSSL 0.9.7 and later. Nobody should still
16482be using 0.9.6! </dd>
16483
16484<dt><b>DONT_INSERT_EMPTY_FRAGMENTS</b></dt> <dd>See
16485SSL_CTX_set_options(3)</dd>
16486
16487<dt><b>CRYPTOPRO_TLSEXT_BUG</b></dt> <dd>New with GOST support in
16488OpenSSL 1.0.0.</dd>
16489
16490</dl>
16491
16492<p> This feature is available in Postfix 2.8 and later.  </p>
16493
16494
16495</DD>
16496
16497<DT><b><a name="tls_eecdh_strong_curve">tls_eecdh_strong_curve</a>
16498(default: prime256v1)</b></DT><DD>
16499
16500<p> The elliptic curve used by the Postfix SMTP server for sensibly
16501strong
16502ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
16503server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The phrase "sensibly
16504strong" means approximately 128-bit security based on best known
16505attacks. The selected curve must be implemented by OpenSSL (as
16506reported by ecparam(1) with the "-list_curves" option) and be one
16507of the curves listed in Section 5.1.1 of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not
16508generally change this setting.  Remote SMTP client implementations
16509must support this curve for EECDH key exchange to take place.  It
16510is unwise to choose an "exotic" curve supported by only a small subset
16511of clients.  </p>
16512
16513<p> The default "strong" curve is rated in NSA <a
16514href="http://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
16515B</a> for information classified up to SECRET.  </p>
16516
16517<p> Note: elliptic curve names are poorly standardized; different
16518standards groups are assigning different names to the same underlying
16519curves.  The curve with the X9.62 name "prime256v1" is also known
16520under the SECG name "secp256r1", but OpenSSL does not recognize the
16521latter name. </p>
16522
16523<p> If you want to take maximal advantage of ciphers that offer <a
16524href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
16525the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
16526started</a> section of <a
16527href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
16528full document conveniently presents all information about Postfix
16529"perfect" forward secrecy support in one place: what forward secrecy
16530is, how to tweak settings, and what you can expect to see when
16531Postfix uses ciphers with forward secrecy.  </p>
16532
16533<p> This feature is available in Postfix 2.6 and later, when it is
16534compiled and linked with OpenSSL 1.0.0 or later on platforms where
16535EC algorithms have not been disabled by the vendor. </p>
16536
16537
16538</DD>
16539
16540<DT><b><a name="tls_eecdh_ultra_curve">tls_eecdh_ultra_curve</a>
16541(default: secp384r1)</b></DT><DD>
16542
16543<p> The elliptic curve used by the Postfix SMTP server for maximally
16544strong
16545ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
16546server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = ultra". The phrase "maximally
16547strong" means approximately 192-bit security based on best known attacks.
16548This additional strength comes at a significant computational cost, most
16549users should instead set "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong".  The selected
16550curve must be implemented by OpenSSL (as reported by ecparam(1) with the
16551"-list_curves" option) and be one of the curves listed in Section 5.1.1
16552of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not generally change this setting. </p>
16553
16554<p> This default "ultra" curve is rated in NSA <a
16555href="http://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
16556B</a> for information classified up to TOP SECRET. </p>
16557
16558<p> If you want to take maximal advantage of ciphers that offer <a
16559href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
16560the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
16561started</a> section of <a
16562href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
16563full document conveniently presents all information about Postfix
16564"perfect" forward secrecy support in one place: what forward secrecy
16565is, how to tweak settings, and what you can expect to see when
16566Postfix uses ciphers with forward secrecy.  </p>
16567
16568<p> This feature is available in Postfix 2.6 and later, when it is
16569compiled and linked with OpenSSL 1.0.0 or later on platforms where
16570EC algorithms have not been disabled by the vendor. </p>
16571
16572
16573</DD>
16574
16575<DT><b><a name="tls_export_cipherlist">tls_export_cipherlist</a>
16576(default: ALL:+RC4:@STRENGTH)</b></DT><DD>
16577
16578<p> The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. This
16579defines the meaning of the "export" setting in <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>,
16580<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. This is
16581the cipherlist for the opportunistic ("may") TLS client security
16582level and is the default cipherlist for the SMTP server. You are
16583strongly encouraged to not change this setting. With OpenSSL 1.0.0 and
16584later the cipherlist may start with an "aNULL:" prefix, which restores
16585the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
16586list when they are enabled. This prefix is not needed with previous
16587OpenSSL releases. </p>
16588
16589<p> This feature is available in Postfix 2.3 and later. </p>
16590
16591
16592</DD>
16593
16594<DT><b><a name="tls_high_cipherlist">tls_high_cipherlist</a>
16595(default: ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)</b></DT><DD>
16596
16597<p> The OpenSSL cipherlist for "HIGH" grade ciphers. This defines
16598the meaning of the "high" setting in <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>,
16599<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are
16600strongly encouraged to not change this setting. With OpenSSL 1.0.0 and
16601later the cipherlist may start with an "aNULL:" prefix, which restores
16602the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
16603list when they are enabled. This prefix is not needed with previous
16604OpenSSL releases. </p>
16605
16606<p> This feature is available in Postfix 2.3 and later. </p>
16607
16608
16609</DD>
16610
16611<DT><b><a name="tls_legacy_public_key_fingerprints">tls_legacy_public_key_fingerprints</a>
16612(default: no)</b></DT><DD>
16613
16614<p> A temporary migration aid for sites that use certificate
16615<i>public-key</i> fingerprints with Postfix 2.9.0..2.9.5, which use
16616an incorrect algorithm. This parameter has no effect on the certificate
16617fingerprint support that is available since Postfix 2.2. </p>
16618
16619<p> Specify "<a href="postconf.5.html#tls_legacy_public_key_fingerprint">tls_legacy_public_key_fingerprints</a> = yes" temporarily,
16620pending a migration from configuration files with incorrect Postfix
166212.9.0..2.9.5 certificate public-key finger prints, to the correct
16622fingerprints used by Postfix 2.9.6 and later.  To compute the correct
16623certificate public-key fingerprints, see <a href="TLS_README.html">TLS_README</a>. </p>
16624
16625<p> This feature is available in Postfix 2.9.6 and later.  </p>
16626
16627
16628</DD>
16629
16630<DT><b><a name="tls_low_cipherlist">tls_low_cipherlist</a>
16631(default: ALL:!EXPORT:+RC4:@STRENGTH)</b></DT><DD>
16632
16633<p> The OpenSSL cipherlist for "LOW" or higher grade ciphers. This defines
16634the meaning of the "low" setting in <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>,
16635<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are
16636strongly encouraged to not change this setting.  With OpenSSL 1.0.0 and
16637later the cipherlist may start with an "aNULL:" prefix, which restores
16638the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
16639list when they are enabled. This prefix is not needed with previous
16640OpenSSL releases. </p>
16641
16642<p> This feature is available in Postfix 2.3 and later. </p>
16643
16644
16645</DD>
16646
16647<DT><b><a name="tls_medium_cipherlist">tls_medium_cipherlist</a>
16648(default: ALL:!EXPORT:!LOW:+RC4:@STRENGTH)</b></DT><DD>
16649
16650<p> The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. This
16651defines the meaning of the "medium" setting in <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>,
16652<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. This is
16653the default cipherlist for mandatory TLS encryption in the TLS
16654client (with anonymous ciphers disabled when verifying server
16655certificates). You are strongly encouraged to not change this
16656setting.  With OpenSSL 1.0.0 and later the cipherlist may start with an
16657"aNULL:" prefix, which restores the 0.9.8-compatible ordering of the
16658aNULL ciphers to the top of the list when they are enabled. This prefix
16659is not needed with previous OpenSSL releases. </p>
16660
16661<p> This feature is available in Postfix 2.3 and later. </p>
16662
16663
16664</DD>
16665
16666<DT><b><a name="tls_null_cipherlist">tls_null_cipherlist</a>
16667(default: eNULL:!aNULL)</b></DT><DD>
16668
16669<p> The OpenSSL cipherlist for "NULL" grade ciphers that provide
16670authentication without encryption. This defines the meaning of the "null"
16671setting in smtpd_mandatory_tls_ciphers, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
16672<a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>.  You are strongly encouraged to not
16673change this setting. </p>
16674
16675<p> This feature is available in Postfix 2.3 and later. </p>
16676
16677
16678</DD>
16679
16680<DT><b><a name="tls_preempt_cipherlist">tls_preempt_cipherlist</a>
16681(default: no)</b></DT><DD>
16682
16683<p> With SSLv3 and later, use the Postfix SMTP server's cipher
16684preference order instead of the remote client's cipher preference
16685order. </p>
16686
16687<p> By default, the OpenSSL server selects the client's most preferred
16688cipher that the server supports. With SSLv3 and later, the server may
16689choose its own most preferred cipher that is supported (offered) by
16690the client. Setting "<a href="postconf.5.html#tls_preempt_cipherlist">tls_preempt_cipherlist</a> = yes" enables server cipher
16691preferences. </p>
16692
16693<p> While server cipher selection may in some cases lead to a more secure
16694or performant cipher choice, there is some risk of interoperability
16695issues. In the past, some SSL clients have listed lower priority ciphers
16696that they did not implement correctly. If the server chooses a cipher
16697that the client prefers less, it may select a cipher whose client
16698implementation is flawed. Most notably Windows 2003 Microsoft
16699Exchange servers have flawed implementations of DES-CBC3-SHA, which
16700OpenSSL considers stronger than RC4-SHA.  Enabling server cipher-suite
16701selection may create interoperability issues with Windows 2003
16702Microsoft Exchange clients.  </p>
16703
16704<p> This feature is available in Postfix 2.8 and later, in combination
16705with OpenSSL 0.9.7 and later. </p>
16706
16707
16708</DD>
16709
16710<DT><b><a name="tls_random_bytes">tls_random_bytes</a>
16711(default: 32)</b></DT><DD>
16712
16713<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>
16714when (re)seeding the in-memory pseudo random number generator (PRNG)
16715pool. The default of 32 bytes (256 bits) is good enough for 128bit
16716symmetric keys.  If using EGD or a device file, a maximum of 255
16717bytes is read. </p>
16718
16719<p> This feature is available in Postfix 2.2 and later.  </p>
16720
16721
16722</DD>
16723
16724<DT><b><a name="tls_random_exchange_name">tls_random_exchange_name</a>
16725(default: see "postconf -d" output)</b></DT><DD>
16726
16727<p> Name of the pseudo random number generator (PRNG) state file
16728that is maintained by <a href="tlsmgr.8.html">tlsmgr(8)</a>. The file is created when it does
16729not exist, and its length is fixed at 1024 bytes.  </p>
16730
16731<p> As of version 2.5, Postfix no longer uses root privileges when
16732opening this file, and the default file location was changed from
16733${<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
16734a migration aid, an attempt to open the file under a non-Postfix
16735directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
16736warning is logged. </p>
16737
16738<p> This feature is available in Postfix 2.2 and later.  </p>
16739
16740
16741</DD>
16742
16743<DT><b><a name="tls_random_prng_update_period">tls_random_prng_update_period</a>
16744(default: 3600s)</b></DT><DD>
16745
16746<p> The time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to save the state of
16747the pseudo random number generator (PRNG) to the file specified
16748with $<a href="postconf.5.html#tls_random_exchange_name">tls_random_exchange_name</a>.  </p>
16749
16750<p> This feature is available in Postfix 2.2 and later.  </p>
16751
16752
16753</DD>
16754
16755<DT><b><a name="tls_random_reseed_period">tls_random_reseed_period</a>
16756(default: 3600s)</b></DT><DD>
16757
16758<p> The maximal time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to re-seed the
16759in-memory pseudo random number generator (PRNG) pool from external
16760sources.  The actual time between re-seeding attempts is calculated
16761using the PRNG, and is between 0 and the time specified.  </p>
16762
16763<p> This feature is available in Postfix 2.2 and later.  </p>
16764
16765
16766</DD>
16767
16768<DT><b><a name="tls_random_source">tls_random_source</a>
16769(default: see "postconf -d" output)</b></DT><DD>
16770
16771<p> The external entropy source for the in-memory <a href="tlsmgr.8.html">tlsmgr(8)</a> pseudo
16772random number generator (PRNG) pool. Be sure to specify a non-blocking
16773source.  If this source is not a regular file, the entropy source
16774type must be prepended:  egd:/path/to/egd_socket for a source with
16775EGD compatible socket interface, or dev:/path/to/device for a
16776device file.  </p>
16777
16778<p> Note: on OpenBSD systems specify /dev/arandom when /dev/urandom
16779gives timeout errors.  </p>
16780
16781<p> This feature is available in Postfix 2.2 and later.  </p>
16782
16783
16784</DD>
16785
16786<DT><b><a name="tls_ssl_options">tls_ssl_options</a>
16787(default: empty)</b></DT><DD>
16788
16789<p> List or bit-mask of OpenSSL options to enable. </p>
16790
16791<p> The OpenSSL toolkit provides a set of options that applications
16792can enable to tune the OpenSSL behavior.  Some of these work around
16793bugs in other implementations and are on by default.  You can use
16794the <a href="postconf.5.html#tls_disable_workarounds">tls_disable_workarounds</a> parameter to selectively disable some
16795or all of the bug work-arounds, making OpenSSL more strict at the
16796cost of non-interoperability with SSL clients or servers that exhibit
16797the bugs.  </p>
16798
16799<p> Other options are off by default, and typically enable or disable
16800features rather than bug work-arounds.  These may be turned on (with
16801care) via the tls_ssl_options parameter.  The value is a white-space
16802or comma separated list of named options chosen from the list below.
16803The names are not case-sensitive, you can use lower-case if you
16804prefer.  The upper case values below match the corresponding macro
16805name in the ssl.h header file with the SSL_OP_ prefix removed.  It
16806is possible that your OpenSSL version includes new options added
16807after your Postfix source code was last updated, in that case you
16808can only enable one of these via the hexadecimal syntax below.  </p>
16809
16810<p> You should only enable features via the hexadecimal mask when
16811the need to control the feature is critical (to deal with a new
16812vulnerability or a serious interoperability problem).  Postfix DOES
16813NOT promise backwards compatible behavior with respect to the mask
16814bits.  A feature enabled via the mask in one release may be enabled
16815by other means in a later release, and the mask bit will then be
16816ignored.  Therefore, use of the hexadecimal mask is only a temporary
16817measure until a new Postfix or OpenSSL release provides a better
16818solution.  </p>
16819
16820<p> If the value of the parameter is a hexadecimal long integer
16821starting with "0x", the options corresponding to the bits specified
16822in its value are enabled (see openssl/ssl.h and SSL_CTX_set_options(3)).
16823You can only enable options not already controlled by other Postfix
16824settings.  For example, you cannot disable protocols or enable
16825server cipher preference.  Do not attempt to turn all features by
16826specifying 0xFFFFFFFF, this is unlikely to be a good idea.  </p>
16827
16828<dl>
16829
16830<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3).</dd>
16831
16832<dt><b>NO_TICKET</b></dt> <dd>See SSL_CTX_set_options(3).</dd>
16833
16834<dt><b>NO_COMPRESSION</b></dt> <dd>Disable SSL compression even if
16835supported by the OpenSSL library.  Compression is CPU-intensive,
16836and compression before encryption does not always improve security.  </dd>
16837
16838</dl>
16839
16840<p> This feature is available in Postfix 2.11 and later.  </p>
16841
16842
16843</DD>
16844
16845<DT><b><a name="tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a>
16846(default: yes)</b></DT><DD>
16847
16848<p> Match multiple DNS labels with "*" in wildcard certificates.
16849</p>
16850
16851<p> Some mail service providers prepend the customer domain name
16852to a base domain for which they have a wildcard TLS certificate.
16853For example, the MX records for example.com hosted by example.net
16854may be: </p>
16855
16856<blockquote>
16857<pre>
16858example.com. IN MX 0 example.com.mx1.example.net.
16859example.com. IN MX 0 example.com.mx2.example.net.
16860</pre>
16861</blockquote>
16862
16863<p> and the TLS certificate may be for "*.example.net". The "*"
16864then corresponds with multiple labels in the mail server domain
16865name.  While multi-label wildcards are not widely supported, and
16866are not blessed by any standard, there is little to be gained by
16867disallowing their use in this context.  </p>
16868
16869<p> Notes: <p>
16870
16871<ul>
16872
16873<li> <p> In a certificate name, the "*" is special only when it is
16874used as the first label. </p>
16875
16876<li> <p> While Postfix (2.11 or later) can match "*" with multiple
16877domain name labels, other implementations likely will not.  </p>
16878
16879<li> <p> Earlier Postfix implementations behave as if
16880"<a href="postconf.5.html#tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a> = no". </p>
16881
16882</ul>
16883
16884<p> This feature is available in Postfix 2.11 and later.  </p>
16885
16886
16887</DD>
16888
16889<DT><b><a name="tlsmgr_service_name">tlsmgr_service_name</a>
16890(default: tlsmgr)</b></DT><DD>
16891
16892<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
16893service maintains TLS session caches and other information in support
16894of TLS. </p>
16895
16896<p> This feature is available in Postfix 2.11 and later. </p>
16897
16898
16899</DD>
16900
16901<DT><b><a name="tlsproxy_enforce_tls">tlsproxy_enforce_tls</a>
16902(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
16903
16904<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
16905require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> for
16906further details. </p>
16907
16908<p> This feature is available in Postfix 2.8 and later. </p>
16909
16910
16911</DD>
16912
16913<DT><b><a name="tlsproxy_service_name">tlsproxy_service_name</a>
16914(default: tlsproxy)</b></DT><DD>
16915
16916<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
16917service performs plaintext &lt;=&gt; TLS ciphertext conversion. <p>
16918
16919<p> This feature is available in Postfix 2.8 and later. </p>
16920
16921
16922</DD>
16923
16924<DT><b><a name="tlsproxy_tls_CAfile">tlsproxy_tls_CAfile</a>
16925(default: $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)</b></DT><DD>
16926
16927<p> A file containing (PEM format) CA certificates of root CAs
16928trusted to sign either remote SMTP client certificates or intermediate
16929CA certificates.  See <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> for further details. </p>
16930
16931<p> This feature is available in Postfix 2.8 and later. </p>
16932
16933
16934</DD>
16935
16936<DT><b><a name="tlsproxy_tls_CApath">tlsproxy_tls_CApath</a>
16937(default: $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>)</b></DT><DD>
16938
16939<p> A directory containing (PEM format) CA certificates of root CAs
16940trusted to sign either remote SMTP client certificates or intermediate
16941CA certificates. See <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> for further details. </p>
16942
16943<p> This feature is available in Postfix 2.8 and later. </p>
16944
16945
16946</DD>
16947
16948<DT><b><a name="tlsproxy_tls_always_issue_session_ids">tlsproxy_tls_always_issue_session_ids</a>
16949(default: $<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>)</b></DT><DD>
16950
16951<p> Force the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server to issue a TLS session id,
16952even when TLS session caching is turned off. See
16953<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> for further details. </p>
16954
16955<p> This feature is available in Postfix 2.8 and later. </p>
16956
16957
16958</DD>
16959
16960<DT><b><a name="tlsproxy_tls_ask_ccert">tlsproxy_tls_ask_ccert</a>
16961(default: $<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>)</b></DT><DD>
16962
16963<p> Ask a remote SMTP client for a client certificate. See
16964<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> for further details. </p>
16965
16966<p> This feature is available in Postfix 2.8 and later. </p>
16967
16968
16969</DD>
16970
16971<DT><b><a name="tlsproxy_tls_ccert_verifydepth">tlsproxy_tls_ccert_verifydepth</a>
16972(default: $<a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>)</b></DT><DD>
16973
16974<p> The verification depth for remote SMTP client certificates. A
16975depth of 1 is sufficient if the issuing CA is listed in a local CA
16976file. See <a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> for further details. </p>
16977
16978<p> This feature is available in Postfix 2.8 and later. </p>
16979
16980
16981</DD>
16982
16983<DT><b><a name="tlsproxy_tls_cert_file">tlsproxy_tls_cert_file</a>
16984(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
16985
16986<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA certificate in PEM
16987format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
16988private RSA key.  See <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for further details.  </p>
16989
16990<p> This feature is available in Postfix 2.8 and later. </p>
16991
16992
16993</DD>
16994
16995<DT><b><a name="tlsproxy_tls_ciphers">tlsproxy_tls_ciphers</a>
16996(default: $<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>)</b></DT><DD>
16997
16998<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
16999will use with opportunistic TLS encryption. See <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>
17000for further details. </p>
17001
17002<p> This feature is available in Postfix 2.8 and later. </p>
17003
17004
17005</DD>
17006
17007<DT><b><a name="tlsproxy_tls_dcert_file">tlsproxy_tls_dcert_file</a>
17008(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
17009
17010<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA certificate in PEM
17011format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
17012private DSA key.  See <a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> for further details.
17013</p>
17014
17015<p> This feature is available in Postfix 2.8 and later. </p>
17016
17017
17018</DD>
17019
17020<DT><b><a name="tlsproxy_tls_dh1024_param_file">tlsproxy_tls_dh1024_param_file</a>
17021(default: $<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>)</b></DT><DD>
17022
17023<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
17024should use with non-export EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
17025for further details. </p>
17026
17027<p> This feature is available in Postfix 2.8 and later. </p>
17028
17029
17030</DD>
17031
17032<DT><b><a name="tlsproxy_tls_dh512_param_file">tlsproxy_tls_dh512_param_file</a>
17033(default: $<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>)</b></DT><DD>
17034
17035<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
17036should use with export-grade EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
17037for further details.  </p>
17038
17039<p> This feature is available in Postfix 2.8 and later. </p>
17040
17041
17042</DD>
17043
17044<DT><b><a name="tlsproxy_tls_dkey_file">tlsproxy_tls_dkey_file</a>
17045(default: $<a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>)</b></DT><DD>
17046
17047<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA private key in PEM
17048format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
17049server DSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>.
17050See <a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> for further details. </p>
17051
17052<p> This feature is available in Postfix 2.8 and later. </p>
17053
17054
17055</DD>
17056
17057<DT><b><a name="tlsproxy_tls_eccert_file">tlsproxy_tls_eccert_file</a>
17058(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
17059
17060<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA certificate in
17061PEM format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
17062server private ECDSA key.  See <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> for further
17063details. </p>
17064
17065<p> This feature is available in Postfix 2.8 and later. </p>
17066
17067
17068</DD>
17069
17070<DT><b><a name="tlsproxy_tls_eckey_file">tlsproxy_tls_eckey_file</a>
17071(default: $<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>)</b></DT><DD>
17072
17073<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA private key in
17074PEM format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
17075server ECDSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>.
17076See <a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> for further details. </p>
17077
17078<p> This feature is available in Postfix 2.8 and later. </p>
17079
17080
17081</DD>
17082
17083<DT><b><a name="tlsproxy_tls_eecdh_grade">tlsproxy_tls_eecdh_grade</a>
17084(default: $<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>)</b></DT><DD>
17085
17086<p> The Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server security grade for ephemeral
17087elliptic-curve Diffie-Hellman (EECDH) key exchange. See
17088<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> for further details. </p>
17089
17090<p> This feature is available in Postfix 2.8 and later. </p>
17091
17092
17093</DD>
17094
17095<DT><b><a name="tlsproxy_tls_exclude_ciphers">tlsproxy_tls_exclude_ciphers</a>
17096(default: $<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>)</b></DT><DD>
17097
17098<p> List of ciphers or cipher types to exclude from the <a href="tlsproxy.8.html">tlsproxy(8)</a>
17099server cipher list at all TLS security levels. See
17100<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> for further details. </p>
17101
17102<p> This feature is available in Postfix 2.8 and later. </p>
17103
17104
17105</DD>
17106
17107<DT><b><a name="tlsproxy_tls_fingerprint_digest">tlsproxy_tls_fingerprint_digest</a>
17108(default: $<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>)</b></DT><DD>
17109
17110<p> The message digest algorithm to construct remote SMTP
17111client-certificate
17112fingerprints. See <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> for further details.
17113</p>
17114
17115<p> This feature is available in Postfix 2.8 and later. </p>
17116
17117
17118</DD>
17119
17120<DT><b><a name="tlsproxy_tls_key_file">tlsproxy_tls_key_file</a>
17121(default: $<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a>)</b></DT><DD>
17122
17123<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA private key in PEM
17124format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
17125server RSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>.
17126See <a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a> for further details. </p>
17127
17128<p> This feature is available in Postfix 2.8 and later. </p>
17129
17130
17131</DD>
17132
17133<DT><b><a name="tlsproxy_tls_loglevel">tlsproxy_tls_loglevel</a>
17134(default: $<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a>)</b></DT><DD>
17135
17136<p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server logging of TLS
17137activity.  Each logging level also includes the information that
17138is logged at a lower logging level. See <a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> for
17139further details.  </p>
17140
17141<p> This feature is available in Postfix 2.8 and later. </p>
17142
17143
17144</DD>
17145
17146<DT><b><a name="tlsproxy_tls_mandatory_ciphers">tlsproxy_tls_mandatory_ciphers</a>
17147(default: $<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>)</b></DT><DD>
17148
17149<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
17150will use with mandatory TLS encryption. See <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
17151for further details. </p>
17152
17153<p> This feature is available in Postfix 2.8 and later. </p>
17154
17155
17156</DD>
17157
17158<DT><b><a name="tlsproxy_tls_mandatory_exclude_ciphers">tlsproxy_tls_mandatory_exclude_ciphers</a>
17159(default: $<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>)</b></DT><DD>
17160
17161<p> Additional list of ciphers or cipher types to exclude from the
17162<a href="tlsproxy.8.html">tlsproxy(8)</a> server cipher list at mandatory TLS security levels.
17163See <a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> for further details. </p>
17164
17165<p> This feature is available in Postfix 2.8 and later. </p>
17166
17167
17168</DD>
17169
17170<DT><b><a name="tlsproxy_tls_mandatory_protocols">tlsproxy_tls_mandatory_protocols</a>
17171(default: $<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>)</b></DT><DD>
17172
17173<p> The SSL/TLS protocols accepted by the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
17174with mandatory TLS encryption. If the list is empty, the server
17175supports all available SSL/TLS protocol versions.  See
17176<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> for further details. </p>
17177
17178<p> This feature is available in Postfix 2.8 and later. </p>
17179
17180
17181</DD>
17182
17183<DT><b><a name="tlsproxy_tls_protocols">tlsproxy_tls_protocols</a>
17184(default: $<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>)</b></DT><DD>
17185
17186<p> List of TLS protocols that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server will
17187exclude or include with opportunistic TLS encryption. See
17188<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> for further details. </p>
17189
17190<p> This feature is available in Postfix 2.8 and later. </p>
17191
17192
17193</DD>
17194
17195<DT><b><a name="tlsproxy_tls_req_ccert">tlsproxy_tls_req_ccert</a>
17196(default: $<a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>)</b></DT><DD>
17197
17198<p> With mandatory TLS encryption, require a trusted remote SMTP
17199client certificate in order to allow TLS connections to proceed.
17200See <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> for further details. </p>
17201
17202<p> This feature is available in Postfix 2.8 and later. </p>
17203
17204
17205</DD>
17206
17207<DT><b><a name="tlsproxy_tls_security_level">tlsproxy_tls_security_level</a>
17208(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
17209
17210<p> The SMTP TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server;
17211when a non-empty value is specified, this overrides the obsolete
17212parameters <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
17213<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> for further details. </p>
17214
17215<p> This feature is available in Postfix 2.8 and later. </p>
17216
17217
17218</DD>
17219
17220<DT><b><a name="tlsproxy_tls_session_cache_timeout">tlsproxy_tls_session_cache_timeout</a>
17221(default: $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>)</b></DT><DD>
17222
17223<p> Obsolete expiration time of Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server TLS session
17224cache information. Since the cache is shared with <a href="smtpd.8.html">smtpd(8)</a> and managed
17225by <a href="tlsmgr.8.html">tlsmgr(8)</a>, there is only one expiration time for the SMTP server cache
17226shared by all three services, namely <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p>
17227
17228<p> This feature is available in Postfix 2.8 and later. </p>
17229
17230
17231</DD>
17232
17233<DT><b><a name="tlsproxy_use_tls">tlsproxy_use_tls</a>
17234(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
17235
17236<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
17237but do not require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>
17238for further details. </p>
17239
17240<p> This feature is available in Postfix 2.8 and later. </p>
17241
17242
17243</DD>
17244
17245<DT><b><a name="tlsproxy_watchdog_timeout">tlsproxy_watchdog_timeout</a>
17246(default: 10s)</b></DT><DD>
17247
17248<p> How much time a <a href="tlsproxy.8.html">tlsproxy(8)</a> process may take to process local
17249or remote I/O before it is terminated by a built-in watchdog timer.
17250This is a safety mechanism that prevents <a href="tlsproxy.8.html">tlsproxy(8)</a> from becoming
17251non-responsive due to a bug in Postfix itself or in system software.
17252To avoid false alarms and unnecessary cache corruption this limit
17253cannot be set under 10s.  </p>
17254
17255<p> Specify a non-zero time value (an integral value plus an optional
17256one-letter suffix that specifies the time unit).  Time units: s
17257(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
17258
17259<p> This feature is available in Postfix 2.8.  </p>
17260
17261
17262</DD>
17263
17264<DT><b><a name="trace_service_name">trace_service_name</a>
17265(default: trace)</b></DT><DD>
17266
17267<p>
17268The name of the trace service. This service is implemented by the
17269<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
17270of mail deliveries and produces a mail delivery report when verbose
17271delivery is requested with "<b>sendmail -v</b>".
17272</p>
17273
17274<p>
17275This feature is available in Postfix 2.1 and later.
17276</p>
17277
17278
17279</DD>
17280
17281<DT><b><a name="transport_delivery_slot_cost">transport_delivery_slot_cost</a>
17282(default: $<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b></DT><DD>
17283
17284<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
17285parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17286the message delivery transport. </p>
17287
17288<p> Note: <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> parameters will not
17289show up in "postconf" command output before Postfix version 2.9.
17290This limitation applies to many parameters whose name is a combination
17291of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
17292"_delivery_slot_cost"). </p>
17293
17294
17295</DD>
17296
17297<DT><b><a name="transport_delivery_slot_discount">transport_delivery_slot_discount</a>
17298(default: $<a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>)</b></DT><DD>
17299
17300<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>
17301parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17302the message delivery transport. </p>
17303
17304<p> Note: <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> parameters will
17305not show up in "postconf" command output before Postfix version
173062.9.  This limitation applies to many parameters whose name is a
17307combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17308this case: "_delivery_slot_discount"). </p>
17309
17310
17311</DD>
17312
17313<DT><b><a name="transport_delivery_slot_loan">transport_delivery_slot_loan</a>
17314(default: $<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b></DT><DD>
17315
17316<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>
17317parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17318the message delivery transport. </p>
17319
17320<p> Note: <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> parameters will not
17321show up in "postconf" command output before Postfix version 2.9.
17322This limitation applies to many parameters whose name is a combination
17323of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
17324"_delivery_slot_loan"). </p>
17325
17326
17327</DD>
17328
17329<DT><b><a name="transport_destination_concurrency_failed_cohort_limit">transport_destination_concurrency_failed_cohort_limit</a>
17330(default: $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>)</b></DT><DD>
17331
17332<p> A transport-specific override for the
17333<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> parameter value,
17334where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
17335transport. </p>
17336
17337<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>
17338parameters will not show up in "postconf" command output before
17339Postfix version 2.9.  This limitation applies to many parameters
17340whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
17341built-in suffix (in this case:
17342"_destination_concurrency_failed_cohort_limit"). </p>
17343
17344<p> This feature is available in Postfix 2.5 and later. </p>
17345
17346
17347</DD>
17348
17349<DT><b><a name="transport_destination_concurrency_limit">transport_destination_concurrency_limit</a>
17350(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
17351
17352<p> A transport-specific override for the
17353<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> parameter value, where
17354<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
17355transport. </p>
17356
17357<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a>
17358parameters will not show up in "postconf" command output before
17359Postfix version 2.9.  This limitation applies to many parameters
17360whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
17361built-in suffix (in this case: "_destination_concurrency_limit").
17362</p>
17363
17364
17365</DD>
17366
17367<DT><b><a name="transport_destination_concurrency_negative_feedback">transport_destination_concurrency_negative_feedback</a>
17368(default: $<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>)</b></DT><DD>
17369
17370<p> A transport-specific override for the
17371<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> parameter value,
17372where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
17373transport. </p>
17374
17375<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
17376parameters will not show up in "postconf" command output before
17377Postfix version 2.9.  This limitation applies to many parameters
17378whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
17379built-in suffix (in this case:
17380"_destination_concurrency_negative_feedback"). </p>
17381
17382<p> This feature is available in Postfix 2.5 and later. </p>
17383
17384
17385</DD>
17386
17387<DT><b><a name="transport_destination_concurrency_positive_feedback">transport_destination_concurrency_positive_feedback</a>
17388(default: $<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>)</b></DT><DD>
17389
17390<p> A transport-specific override for the
17391<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> parameter value,
17392where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
17393transport. </p>
17394
17395<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
17396parameters will not show up in "postconf" command output before
17397Postfix version 2.9.  This limitation applies to many parameters
17398whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
17399built-in suffix (in this case:
17400"_destination_concurrency_positive_feedback"). </p>
17401
17402<p> This feature is available in Postfix 2.5 and later. </p>
17403
17404
17405</DD>
17406
17407<DT><b><a name="transport_destination_rate_delay">transport_destination_rate_delay</a>
17408(default: $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>)</b></DT><DD>
17409
17410<p> A transport-specific override for the <a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>
17411parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17412the message delivery transport. </p>
17413
17414<p> Note: some <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> parameters
17415will not show up in "postconf" command output before Postfix version
174162.9.  This limitation applies to many parameters whose name is a
17417combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17418this case: "_destination_rate_delay"). </p>
17419
17420<p> This feature is available in Postfix 2.5 and later. </p>
17421
17422
17423</DD>
17424
17425<DT><b><a name="transport_destination_recipient_limit">transport_destination_recipient_limit</a>
17426(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
17427
17428<p> A transport-specific override for the
17429<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> parameter value, where
17430<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
17431transport. </p>
17432
17433<p> Note: some <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> parameters
17434will not show up in "postconf" command output before Postfix version
174352.9.  This limitation applies to many parameters whose name is a
17436combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17437this case: "_destination_recipient_limit"). </p>
17438
17439
17440</DD>
17441
17442<DT><b><a name="transport_extra_recipient_limit">transport_extra_recipient_limit</a>
17443(default: $<a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>)</b></DT><DD>
17444
17445<p> A transport-specific override for the <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
17446parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17447the message delivery transport. </p>
17448
17449<p> Note: <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> parameters will
17450not show up in "postconf" command output before Postfix version
174512.9.  This limitation applies to many parameters whose name is a
17452combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17453this case: "_extra_recipient_limit").  </p>
17454
17455
17456</DD>
17457
17458<DT><b><a name="transport_initial_destination_concurrency">transport_initial_destination_concurrency</a>
17459(default: $<a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>)</b></DT><DD>
17460
17461<p> A transport-specific override for the <a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>
17462parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17463the message delivery transport. </p>
17464
17465<p> Note: some <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a>
17466parameters will not show up in "postconf" command output before
17467Postfix version 2.9.  This limitation applies to many parameters
17468whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
17469built-in suffix (in this case: "_initial_destination_concurrency").
17470</p>
17471
17472<p> This feature is available in Postfix 2.5 and later. </p>
17473
17474
17475</DD>
17476
17477<DT><b><a name="transport_maps">transport_maps</a>
17478(default: empty)</b></DT><DD>
17479
17480<p>
17481Optional lookup tables with mappings from recipient address to
17482(message delivery transport, next-hop destination).  See <a href="transport.5.html">transport(5)</a>
17483for details.
17484</p>
17485
17486<p>
17487Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables.  If you use this
17488feature with local files, run "<b>postmap /etc/postfix/transport</b>"
17489after making a change.  </p>
17490
17491<p> For safety reasons, as of Postfix 2.3 this feature does not
17492allow $number substitutions in regular expression maps. </p>
17493
17494<p>
17495Examples:
17496</p>
17497
17498<pre>
17499<a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/transport
17500<a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport
17501</pre>
17502
17503
17504</DD>
17505
17506<DT><b><a name="transport_minimum_delivery_slots">transport_minimum_delivery_slots</a>
17507(default: $<a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>)</b></DT><DD>
17508
17509<p> A transport-specific override for the <a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>
17510parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17511the message delivery transport. </p>
17512
17513<p> Note: <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> parameters will
17514not show up in "postconf" command output before Postfix version
175152.9.  This limitation applies to many parameters whose name is a
17516combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17517this case: "_minimum_delivery_slots"). </p>
17518
17519
17520</DD>
17521
17522<DT><b><a name="transport_recipient_limit">transport_recipient_limit</a>
17523(default: $<a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>)</b></DT><DD>
17524
17525<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>
17526parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17527the message delivery transport. </p>
17528
17529<p> Note: some <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> parameters will not
17530show up in "postconf" command output before Postfix version 2.9.
17531This limitation applies to many parameters whose name is a combination
17532of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
17533"_recipient_limit"). </p>
17534
17535
17536</DD>
17537
17538<DT><b><a name="transport_recipient_refill_delay">transport_recipient_refill_delay</a>
17539(default: $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>)</b></DT><DD>
17540
17541<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>
17542parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17543the message delivery transport. </p>
17544
17545<p> Note: <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> parameters will
17546not show up in "postconf" command output before Postfix version
175472.9.  This limitation applies to many parameters whose name is a
17548combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17549this case: "_recipient_refill_delay").  </p>
17550
17551<p> This feature is available in Postfix 2.4 and later. </p>
17552
17553
17554</DD>
17555
17556<DT><b><a name="transport_recipient_refill_limit">transport_recipient_refill_limit</a>
17557(default: $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>)</b></DT><DD>
17558
17559<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>
17560parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17561the message delivery transport. </p>
17562
17563<p> Note: <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> parameters will
17564not show up in "postconf" command output before Postfix version
175652.9.  This limitation applies to many parameters whose name is a
17566combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17567this case: "_recipient_refill_limit").  </p>
17568
17569<p> This feature is available in Postfix 2.4 and later. </p>
17570
17571
17572</DD>
17573
17574<DT><b><a name="transport_retry_time">transport_retry_time</a>
17575(default: 60s)</b></DT><DD>
17576
17577<p>
17578The time between attempts by the Postfix queue manager to contact
17579a malfunctioning message delivery transport.
17580</p>
17581
17582<p>
17583Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
17584The default time unit is s (seconds).
17585</p>
17586
17587
17588</DD>
17589
17590<DT><b><a name="transport_time_limit">transport_time_limit</a>
17591(default: $<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b></DT><DD>
17592
17593<p> A transport-specific override for the <a href="postconf.5.html#command_time_limit">command_time_limit</a> parameter
17594value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message
17595delivery transport. </p>
17596
17597<p> Note: <a href="postconf.5.html#transport_time_limit"><i>transport</i>_time_limit</a> parameters will not show up
17598in "postconf" command output before Postfix version 2.9.  This
17599limitation applies to many parameters whose name is a combination
17600of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
17601"_time_limit"). </p>
17602
17603
17604</DD>
17605
17606<DT><b><a name="trigger_timeout">trigger_timeout</a>
17607(default: 10s)</b></DT><DD>
17608
17609<p>
17610The time limit for sending a trigger to a Postfix daemon (for
17611example, the <a href="pickup.8.html">pickup(8)</a> or <a href="qmgr.8.html">qmgr(8)</a> daemon). This time limit prevents
17612programs from getting stuck when the mail system is under heavy
17613load.
17614</p>
17615
17616<p>
17617Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
17618The default time unit is s (seconds).
17619</p>
17620
17621
17622</DD>
17623
17624<DT><b><a name="undisclosed_recipients_header">undisclosed_recipients_header</a>
17625(default: see "postconf -d" output)</b></DT><DD>
17626
17627<p>
17628Message header that the Postfix <a href="cleanup.8.html">cleanup(8)</a> server inserts when a
17629message contains no To: or Cc: message header. With Postfix 2.8
17630and later, the default value is empty. With Postfix 2.4-2.7,
17631specify an empty value to disable this feature.  </p>
17632
17633<p> Example: </p>
17634
17635<pre>
17636# Default value before Postfix 2.8.
17637# Note: the ":" and ";" are both required.
17638<a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> = To: undisclosed-recipients:;
17639</pre>
17640
17641
17642</DD>
17643
17644<DT><b><a name="unknown_address_reject_code">unknown_address_reject_code</a>
17645(default: 450)</b></DT><DD>
17646
17647<p>
17648The numerical Postfix SMTP server response code when a sender or
17649recipient address is rejected by the <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
17650or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> restriction.  The response is
17651always 450 in case of a temporary DNS error.
17652</p>
17653
17654<p>
17655Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17656</p>
17657
17658
17659</DD>
17660
17661<DT><b><a name="unknown_address_tempfail_action">unknown_address_tempfail_action</a>
17662(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
17663
17664<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
17665or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> fail due to a temporary error
17666condition. Specify "defer" to defer the remote SMTP client request
17667immediately. With the default "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix
17668SMTP server continues to look for opportunities to reject mail, and
17669defers the client request only if it would otherwise be accepted.
17670</p>
17671
17672<p> This feature is available in Postfix 2.6 and later. </p>
17673
17674
17675</DD>
17676
17677<DT><b><a name="unknown_client_reject_code">unknown_client_reject_code</a>
17678(default: 450)</b></DT><DD>
17679
17680<p>
17681The numerical Postfix SMTP server response code when a client
17682without valid address &lt;=&gt; name mapping is rejected by the
17683<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> restriction. The SMTP server always replies
17684with 450 when the mapping failed due to a temporary error condition.
17685</p>
17686
17687<p>
17688Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17689</p>
17690
17691
17692</DD>
17693
17694<DT><b><a name="unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>
17695(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
17696
17697<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>
17698fails due to an temporary error condition. Specify "defer" to defer
17699the remote SMTP client request immediately. With the default
17700"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
17701for opportunities to reject mail, and defers the client request
17702only if it would otherwise be accepted. </p>
17703
17704<p> This feature is available in Postfix 2.6 and later. </p>
17705
17706
17707</DD>
17708
17709<DT><b><a name="unknown_hostname_reject_code">unknown_hostname_reject_code</a>
17710(default: 450)</b></DT><DD>
17711
17712<p>
17713The numerical Postfix SMTP server response code when the hostname
17714specified with the HELO or EHLO command is rejected by the
17715<a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> restriction.
17716</p>
17717
17718<p>
17719Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17720</p>
17721
17722
17723</DD>
17724
17725<DT><b><a name="unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a>
17726(default: 550)</b></DT><DD>
17727
17728<p>
17729The numerical Postfix SMTP server response code when a recipient
17730address is local, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> specifies a list of
17731lookup tables that does not match the recipient.  A recipient
17732address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
17733$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> or $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>.
17734</p>
17735
17736<p>
17737The default setting is 550 (reject mail) but it is safer to initially
17738use 450 (try again later) so you have time to find out if your
17739<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> settings are OK.
17740</p>
17741
17742<p>
17743Example:
17744</p>
17745
17746<pre>
17747<a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 450
17748</pre>
17749
17750<p>
17751This feature is available in Postfix 2.0 and later.
17752</p>
17753
17754
17755</DD>
17756
17757<DT><b><a name="unknown_relay_recipient_reject_code">unknown_relay_recipient_reject_code</a>
17758(default: 550)</b></DT><DD>
17759
17760<p>
17761The numerical Postfix SMTP server reply code when a recipient
17762address 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
17763a list of lookup tables that does not match the recipient address.
17764</p>
17765
17766<p>
17767This feature is available in Postfix 2.0 and later.
17768</p>
17769
17770
17771</DD>
17772
17773<DT><b><a name="unknown_virtual_alias_reject_code">unknown_virtual_alias_reject_code</a>
17774(default: 550)</b></DT><DD>
17775
17776<p>
17777The Postfix SMTP server reply code when a recipient address matches
17778$<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
17779of lookup tables that does not match the recipient address.
17780</p>
17781
17782<p>
17783This feature is available in Postfix 2.0 and later.
17784</p>
17785
17786
17787</DD>
17788
17789<DT><b><a name="unknown_virtual_mailbox_reject_code">unknown_virtual_mailbox_reject_code</a>
17790(default: 550)</b></DT><DD>
17791
17792<p>
17793The Postfix SMTP server reply code when a recipient address matches
17794$<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
17795of lookup tables that does not match the recipient address.
17796</p>
17797
17798<p>
17799This feature is available in Postfix 2.0 and later.
17800</p>
17801
17802
17803</DD>
17804
17805<DT><b><a name="unverified_recipient_defer_code">unverified_recipient_defer_code</a>
17806(default: 450)</b></DT><DD>
17807
17808<p>
17809The numerical Postfix SMTP server response when a recipient address
17810probe fails due to a temporary error condition.
17811</p>
17812
17813<p>
17814Unlike elsewhere in Postfix, you can specify 250 in order to
17815accept the address anyway.
17816</p>
17817
17818<p>
17819Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17820</p>
17821
17822<p>
17823This feature is available in Postfix 2.6 and later.
17824</p>
17825
17826
17827</DD>
17828
17829<DT><b><a name="unverified_recipient_reject_code">unverified_recipient_reject_code</a>
17830(default: 450)</b></DT><DD>
17831
17832<p>
17833The numerical Postfix SMTP server response when a recipient address
17834is rejected by the <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> restriction.
17835</p>
17836
17837<p>
17838Unlike elsewhere in Postfix, you can specify 250 in order to
17839accept the address anyway.
17840</p>
17841
17842<p>
17843Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17844</p>
17845
17846<p>
17847This feature is available in Postfix 2.1 and later.
17848</p>
17849
17850
17851</DD>
17852
17853<DT><b><a name="unverified_recipient_reject_reason">unverified_recipient_reject_reason</a>
17854(default: empty)</b></DT><DD>
17855
17856<p> The Postfix SMTP server's reply when rejecting mail with
17857<a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. Do not include the numeric SMTP reply
17858code or the enhanced status code. By default, the response includes
17859actual address verification details.
17860
17861<p> Example: </p>
17862
17863<pre>
17864<a href="postconf.5.html#unverified_recipient_reject_reason">unverified_recipient_reject_reason</a> = Recipient address lookup failed
17865</pre>
17866
17867<p> This feature is available in Postfix 2.6 and later. </p>
17868
17869
17870</DD>
17871
17872<DT><b><a name="unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>
17873(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
17874
17875<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>
17876fails due to a temporary error condition. Specify "defer" to defer
17877the remote SMTP client request immediately. With the default
17878"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
17879for opportunities to reject mail, and defers the client request
17880only if it would otherwise be accepted. </p>
17881
17882<p> This feature is available in Postfix 2.6 and later. </p>
17883
17884
17885</DD>
17886
17887<DT><b><a name="unverified_sender_defer_code">unverified_sender_defer_code</a>
17888(default: 450)</b></DT><DD>
17889
17890<p>
17891The numerical Postfix SMTP server response code when a sender address
17892probe fails due to a temporary error condition.
17893</p>
17894
17895<p>
17896Unlike elsewhere in Postfix, you can specify 250 in order to
17897accept the address anyway.
17898</p>
17899
17900<p>
17901Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17902</p>
17903
17904<p>
17905This feature is available in Postfix 2.6 and later.
17906</p>
17907
17908
17909</DD>
17910
17911<DT><b><a name="unverified_sender_reject_code">unverified_sender_reject_code</a>
17912(default: 450)</b></DT><DD>
17913
17914<p>
17915The numerical Postfix SMTP server response code when a recipient
17916address is rejected by the <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> restriction.
17917</p>
17918
17919<p>
17920Unlike elsewhere in Postfix, you can specify 250 in order to
17921accept the address anyway.
17922</p>
17923
17924<p>
17925Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17926</p>
17927
17928<p>
17929This feature is available in Postfix 2.1 and later.
17930</p>
17931
17932
17933</DD>
17934
17935<DT><b><a name="unverified_sender_reject_reason">unverified_sender_reject_reason</a>
17936(default: empty)</b></DT><DD>
17937
17938<p> The Postfix SMTP server's reply when rejecting mail with
17939<a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>. Do not include the numeric SMTP reply
17940code or the enhanced status code. By default, the response includes
17941actual address verification details.
17942
17943<p> Example: </p>
17944
17945<pre>
17946<a href="postconf.5.html#unverified_sender_reject_reason">unverified_sender_reject_reason</a> = Sender address lookup failed
17947</pre>
17948
17949<p> This feature is available in Postfix 2.6 and later. </p>
17950
17951
17952</DD>
17953
17954<DT><b><a name="unverified_sender_tempfail_action">unverified_sender_tempfail_action</a>
17955(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
17956
17957<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>
17958fails due to a temporary error condition. Specify "defer" to defer
17959the remote SMTP client request immediately. With the default
17960"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
17961for opportunities to reject mail, and defers the client request
17962only if it would otherwise be accepted. </p>
17963
17964<p> This feature is available in Postfix 2.6 and later. </p>
17965
17966
17967</DD>
17968
17969<DT><b><a name="verp_delimiter_filter">verp_delimiter_filter</a>
17970(default: -=+)</b></DT><DD>
17971
17972<p>
17973The characters Postfix accepts as VERP delimiter characters on the
17974Postfix <a href="sendmail.1.html">sendmail(1)</a> command line and in SMTP commands.
17975</p>
17976
17977<p>
17978This feature is available in Postfix 1.1 and later.
17979</p>
17980
17981
17982</DD>
17983
17984<DT><b><a name="virtual_alias_domains">virtual_alias_domains</a>
17985(default: $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>)</b></DT><DD>
17986
17987<p> Postfix is final destination for the specified list of virtual
17988alias domains, that is, domains for which all addresses are aliased
17989to addresses in other local or remote domains. The SMTP server
17990validates recipient addresses with $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> and rejects
17991non-existent recipients. See also the <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> class
17992in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file </p>
17993
17994<p>
17995This feature is available in Postfix 2.0 and later. The default
17996value is backwards compatible with Postfix version 1.1.
17997</p>
17998
17999<p>
18000The default value is $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> so that you can keep all
18001information about <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a> in one place.  If you have
18002many users, it is better to separate information that changes more
18003frequently (virtual address -&gt; local or remote address mapping)
18004from information that changes less frequently (the list of virtual
18005domain names).
18006</p>
18007
18008<p> Specify a list of host or domain names, "/file/name" or
18009"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. A
18010"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
18011lookup table is matched when a table entry matches a lookup string
18012(the lookup result is ignored).  Continue long lines by starting
18013the next line with whitespace. Specify "!pattern" to exclude a host
18014or domain name from the list. The form "!/file/name" is supported
18015only in Postfix version 2.4 and later.  </p>
18016
18017<p>
18018See also the <a href="VIRTUAL_README.html">VIRTUAL_README</a> and <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> documents
18019for further information.
18020</p>
18021
18022<p>
18023Example:
18024</p>
18025
18026<pre>
18027<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = virtual1.tld virtual2.tld
18028</pre>
18029
18030
18031</DD>
18032
18033<DT><b><a name="virtual_alias_expansion_limit">virtual_alias_expansion_limit</a>
18034(default: 1000)</b></DT><DD>
18035
18036<p>
18037The maximal number of addresses that virtual alias expansion produces
18038from each original recipient.
18039</p>
18040
18041<p>
18042This feature is available in Postfix 2.1 and later.
18043</p>
18044
18045
18046</DD>
18047
18048<DT><b><a name="virtual_alias_maps">virtual_alias_maps</a>
18049(default: $<a href="postconf.5.html#virtual_maps">virtual_maps</a>)</b></DT><DD>
18050
18051<p>
18052Optional lookup tables that alias specific mail addresses or domains
18053to other local or remote address.  The table format and lookups
18054are documented in <a href="virtual.5.html">virtual(5)</a>. For an overview of Postfix address
18055manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
18056</p>
18057
18058<p>
18059This feature is available in Postfix 2.0 and later. The default
18060value is backwards compatible with Postfix version 1.1.
18061</p>
18062
18063<p>
18064If you use this feature with indexed files, run "<b>postmap
18065/etc/postfix/virtual</b>" after changing the file.
18066</p>
18067
18068<p>
18069Examples:
18070</p>
18071
18072<pre>
18073<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/virtual
18074<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/virtual
18075</pre>
18076
18077
18078</DD>
18079
18080<DT><b><a name="virtual_alias_recursion_limit">virtual_alias_recursion_limit</a>
18081(default: 1000)</b></DT><DD>
18082
18083<p>
18084The maximal nesting depth of virtual alias expansion.  Currently
18085the recursion limit is applied only to the left branch of the
18086expansion graph, so the depth of the tree can in the worst case
18087reach the sum of the expansion and recursion limits.  This may
18088change in the future.
18089</p>
18090
18091<p>
18092This feature is available in Postfix 2.1 and later.
18093</p>
18094
18095
18096</DD>
18097
18098<DT><b><a name="virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a>
18099(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
18100
18101<p> The maximal number of parallel deliveries to the same destination
18102via the virtual message delivery transport. This limit is enforced
18103by the queue manager. The message delivery transport name is the
18104first field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
18105
18106
18107</DD>
18108
18109<DT><b><a name="virtual_destination_recipient_limit">virtual_destination_recipient_limit</a>
18110(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
18111
18112<p> The maximal number of recipients per message for the virtual
18113message delivery transport. This limit is enforced by the queue
18114manager. The message delivery transport name is the first field in
18115the entry in the <a href="master.5.html">master.cf</a> file.  </p>
18116
18117<p> Setting this parameter to a value of 1 changes the meaning of
18118<a href="postconf.5.html#virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> from concurrency per domain
18119into concurrency per recipient.  </p>
18120
18121
18122</DD>
18123
18124<DT><b><a name="virtual_gid_maps">virtual_gid_maps</a>
18125(default: empty)</b></DT><DD>
18126
18127<p>
18128Lookup tables with the per-recipient group ID for <a href="virtual.8.html">virtual(8)</a> mailbox
18129delivery.
18130</p>
18131
18132<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
18133It does not apply when mail is delivered with a different mail
18134delivery program.  </p>
18135
18136<p>
18137In a lookup table, specify a left-hand side of "@domain.tld" to
18138match any user in the specified domain that does not have a specific
18139"user@domain.tld" entry.
18140</p>
18141
18142<p>
18143When a recipient address has an optional address extension
18144(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
18145the full address first, and when the lookup fails, it looks up the
18146unextended address (user@domain.tld).
18147</p>
18148
18149<p>
18150Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
18151regular expression substitution of $1 etc. in regular expression
18152lookup tables, because that would open a security hole.
18153</p>
18154
18155<p>
18156Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
18157silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
18158it will open the table directly. Before Postfix version 2.2, the
18159<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
18160</p>
18161
18162
18163</DD>
18164
18165<DT><b><a name="virtual_mailbox_base">virtual_mailbox_base</a>
18166(default: empty)</b></DT><DD>
18167
18168<p>
18169A prefix that the <a href="virtual.8.html">virtual(8)</a> delivery agent prepends to all pathname
18170results from $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> table lookups.  This is a safety
18171measure to ensure that an out of control map doesn't litter the
18172file system with mailboxes.  While <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> could be
18173set to "/", this setting isn't recommended.
18174</p>
18175
18176<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
18177It does not apply when mail is delivered with a different mail
18178delivery program.  </p>
18179
18180<p>
18181Example:
18182</p>
18183
18184<pre>
18185<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /var/mail
18186</pre>
18187
18188
18189</DD>
18190
18191<DT><b><a name="virtual_mailbox_domains">virtual_mailbox_domains</a>
18192(default: $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>)</b></DT><DD>
18193
18194<p> Postfix is final destination for the specified list of domains;
18195mail is delivered via the $<a href="postconf.5.html#virtual_transport">virtual_transport</a> mail delivery transport.
18196By default this is the Postfix <a href="virtual.8.html">virtual(8)</a> delivery agent.  The SMTP
18197server validates recipient addresses with $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
18198and rejects mail for non-existent recipients.  See also the virtual
18199mailbox domain class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.  </p>
18200
18201<p> This parameter expects the same syntax as the <a href="postconf.5.html#mydestination">mydestination</a>
18202configuration parameter.  </p>
18203
18204<p>
18205This feature is available in Postfix 2.0 and later. The default
18206value is backwards compatible with Postfix version 1.1.
18207</p>
18208
18209
18210</DD>
18211
18212<DT><b><a name="virtual_mailbox_limit">virtual_mailbox_limit</a>
18213(default: 51200000)</b></DT><DD>
18214
18215<p>
18216The maximal size in bytes of an individual <a href="virtual.8.html">virtual(8)</a> mailbox or
18217maildir file, or zero (no limit).  </p>
18218
18219<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
18220It does not apply when mail is delivered with a different mail
18221delivery program.  </p>
18222
18223
18224</DD>
18225
18226<DT><b><a name="virtual_mailbox_lock">virtual_mailbox_lock</a>
18227(default: see "postconf -d" output)</b></DT><DD>
18228
18229<p>
18230How to lock a UNIX-style <a href="virtual.8.html">virtual(8)</a> mailbox before attempting
18231delivery.  For a list of available file locking methods, use the
18232"<b>postconf -l</b>" command.
18233</p>
18234
18235<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
18236It does not apply when mail is delivered with a different mail
18237delivery program.  </p>
18238
18239<p>
18240This setting is ignored with <b>maildir</b> style delivery, because
18241such deliveries are safe without application-level locks.
18242</p>
18243
18244<p>
18245Note 1: the <b>dotlock</b> method requires that the recipient UID
18246or GID has write access to the parent directory of the recipient's
18247mailbox file.
18248</p>
18249
18250<p>
18251Note 2: the default setting of this parameter is system dependent.
18252</p>
18253
18254
18255</DD>
18256
18257<DT><b><a name="virtual_mailbox_maps">virtual_mailbox_maps</a>
18258(default: empty)</b></DT><DD>
18259
18260<p>
18261Optional lookup tables with all valid addresses in the domains that
18262match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
18263</p>
18264
18265<p>
18266In a lookup table, specify a left-hand side of "@domain.tld" to
18267match any user in the specified domain that does not have a specific
18268"user@domain.tld" entry.
18269</p>
18270
18271<p> The remainder of this text is specific to the <a href="virtual.8.html">virtual(8)</a> delivery
18272agent.  It does not apply when mail is delivered with a different
18273mail delivery program.  </p>
18274
18275<p>
18276The <a href="virtual.8.html">virtual(8)</a> delivery agent uses this table to look up the
18277per-recipient mailbox or maildir pathname.  If the lookup result
18278ends in a slash ("/"), maildir-style delivery is carried out,
18279otherwise the path is assumed to specify a UNIX-style mailbox file.
18280Note that $<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> is unconditionally prepended to
18281this path.
18282</p>
18283
18284<p>
18285When a recipient address has an optional address extension
18286(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
18287the full address first, and when the lookup fails, it looks up the
18288unextended address (user@domain.tld).
18289</p>
18290
18291<p>
18292Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
18293regular expression substitution of $1 etc. in regular expression
18294lookup tables, because that would open a security hole.
18295</p>
18296
18297<p>
18298Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
18299silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
18300it will open the table directly. Before Postfix version 2.2, the
18301<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
18302</p>
18303
18304
18305</DD>
18306
18307<DT><b><a name="virtual_maps">virtual_maps</a>
18308(default: empty)</b></DT><DD>
18309
18310<p> Optional lookup tables with a) names of domains for which all
18311addresses are aliased to addresses in other local or remote domains,
18312and b) addresses that are aliased to addresses in other local or
18313remote domains.  Available before Postfix version 2.0. With Postfix
18314version 2.0 and later, this is replaced by separate controls: <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>
18315and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
18316
18317
18318</DD>
18319
18320<DT><b><a name="virtual_minimum_uid">virtual_minimum_uid</a>
18321(default: 100)</b></DT><DD>
18322
18323<p>
18324The minimum user ID value that the <a href="virtual.8.html">virtual(8)</a> delivery agent accepts
18325as a result from $<a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> table lookup.  Returned
18326values less than this will be rejected, and the message will be
18327deferred.
18328</p>
18329
18330<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
18331It does not apply when mail is delivered with a different mail
18332delivery program.  </p>
18333
18334
18335</DD>
18336
18337<DT><b><a name="virtual_transport">virtual_transport</a>
18338(default: virtual)</b></DT><DD>
18339
18340<p>
18341The default mail delivery transport and next-hop destination for
18342final delivery to domains listed with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
18343This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
18344</p>
18345
18346<p>
18347Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
18348is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
18349The <i>:nexthop</i> destination is optional; its syntax is documented
18350in the manual page of the corresponding delivery agent.
18351</p>
18352
18353<p>
18354This feature is available in Postfix 2.0 and later.
18355</p>
18356
18357
18358</DD>
18359
18360<DT><b><a name="virtual_uid_maps">virtual_uid_maps</a>
18361(default: empty)</b></DT><DD>
18362
18363<p>
18364Lookup tables with the per-recipient user ID that the <a href="virtual.8.html">virtual(8)</a>
18365delivery agent uses while writing to the recipient's mailbox.
18366</p>
18367
18368<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
18369It does not apply when mail is delivered with a different mail
18370delivery program.  </p>
18371
18372<p>
18373In a lookup table, specify a left-hand side of "@domain.tld"
18374to match any user in the specified domain that does not have a
18375specific "user@domain.tld" entry.
18376</p>
18377
18378<p>
18379When a recipient address has an optional address extension
18380(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
18381the full address first, and when the lookup fails, it looks up the
18382unextended address (user@domain.tld).
18383</p>
18384
18385<p>
18386Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
18387regular expression substitution of $1 etc. in regular expression
18388lookup tables, because that would open a security hole.
18389</p>
18390
18391<p>
18392Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
18393silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
18394it will open the table directly. Before Postfix version 2.2, the
18395<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
18396</p>
18397
18398
18399</DD>
18400
18401</dl>
18402
18403</body>
18404
18405</html>
18406