xref: /netbsd-src/external/ibm-public/postfix/dist/html/postconf.5.html (revision 946379e7b37692fc43f68eb0d1c10daa0a7f3b6c)
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: medium)</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: medium)</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, !SSLv3)</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: !SSLv2, !SSLv3)</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: medium)</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 is "medium" for
11004Postfix releases after the middle of 2015, "export" for older
11005releases.  </p>
11006
11007<p> When TLS is mandatory the cipher grade is chosen via the
11008<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
11009details. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure
11010ciphers on a per-destination basis. </p>
11011
11012<p> This feature is available in Postfix 2.6 and later. With earlier Postfix
11013releases only the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter is implemented,
11014and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
11015
11016
11017</DD>
11018
11019<DT><b><a name="smtp_tls_dcert_file">smtp_tls_dcert_file</a>
11020(default: empty)</b></DT><DD>
11021
11022<p> File with the Postfix SMTP client DSA certificate in PEM format.
11023This file may also contain the Postfix SMTP client private DSA key. </p>
11024
11025<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
11026</p>
11027
11028<p> Example: </p>
11029
11030<pre>
11031<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem
11032</pre>
11033
11034<p> This feature is available in Postfix 2.2 and later.  </p>
11035
11036
11037</DD>
11038
11039<DT><b><a name="smtp_tls_dkey_file">smtp_tls_dkey_file</a>
11040(default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD>
11041
11042<p> File with the Postfix SMTP client DSA private key in PEM format.
11043This file may be combined with the Postfix SMTP client DSA certificate
11044file specified with $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>. </p>
11045
11046<p> The private key must be accessible without a pass-phrase, i.e. it
11047must not be encrypted. File permissions should grant read-only
11048access to the system superuser account ("root"), and no access
11049to anyone else. </p>
11050
11051<p> This feature is available in Postfix 2.2 and later.  </p>
11052
11053
11054</DD>
11055
11056<DT><b><a name="smtp_tls_eccert_file">smtp_tls_eccert_file</a>
11057(default: empty)</b></DT><DD>
11058
11059<p> File with the Postfix SMTP client ECDSA certificate in PEM format.
11060This file may also contain the Postfix SMTP client ECDSA private key. </p>
11061
11062<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
11063</p>
11064
11065<p> Example: </p>
11066
11067<pre>
11068<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> = /etc/postfix/ecdsa-ccert.pem
11069</pre>
11070
11071<p> This feature is available in Postfix 2.6 and later, when Postfix is
11072compiled and linked with OpenSSL 1.0.0 or later. </p>
11073
11074
11075</DD>
11076
11077<DT><b><a name="smtp_tls_eckey_file">smtp_tls_eckey_file</a>
11078(default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD>
11079
11080<p> File with the Postfix SMTP client ECDSA private key in PEM format.
11081This file may be combined with the Postfix SMTP client ECDSA
11082certificate file specified with $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. </p>
11083
11084<p> The private key must be accessible without a pass-phrase, i.e. it
11085must not be encrypted. File permissions should grant read-only
11086access to the system superuser account ("root"), and no access
11087to anyone else. </p>
11088
11089<p> This feature is available in Postfix 2.6 and later, when Postfix is
11090compiled and linked with OpenSSL 1.0.0 or later. </p>
11091
11092
11093</DD>
11094
11095<DT><b><a name="smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
11096(default: yes)</b></DT><DD>
11097
11098<p> With mandatory TLS encryption, require that the remote SMTP
11099server hostname matches the information in the remote SMTP server
11100certificate.  As of <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> the requirements for hostname checking
11101for MTA clients are not specified. </p>
11102
11103<p> This option can be set to "no" to disable strict peer name
11104checking. This setting has no effect on sessions that are controlled
11105via the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table.  </p>
11106
11107<p> Disabling the hostname verification can make sense in closed
11108environment where special CAs are created.  If not used carefully,
11109this option opens the danger of a "man-in-the-middle" attack (the
11110CommonName of this attacker will be logged). </p>
11111
11112<p> This feature is available in Postfix 2.2 and later. With
11113Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
11114
11115
11116</DD>
11117
11118<DT><b><a name="smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
11119(default: empty)</b></DT><DD>
11120
11121<p> List of ciphers or cipher types to exclude from the Postfix
11122SMTP client cipher
11123list at all TLS security levels. This is not an OpenSSL cipherlist, it is
11124a simple list separated by whitespace and/or commas. The elements are a
11125single cipher, or one or more "+" separated cipher properties, in which
11126case only ciphers matching <b>all</b> the properties are excluded. </p>
11127
11128<p> Examples (some of these will cause problems): </p>
11129
11130<blockquote>
11131<pre>
11132<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL
11133<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = MD5, DES
11134<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = DES+MD5
11135<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
11136<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = kEDH+aRSA
11137</pre>
11138</blockquote>
11139
11140<p> The first setting, disables anonymous ciphers. The next setting
11141disables ciphers that use the MD5 digest algorithm or the (single) DES
11142encryption algorithm. The next setting disables ciphers that use MD5 and
11143DES together.  The next setting disables the two ciphers "AES256-SHA"
11144and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
11145key exchange with RSA authentication. </p>
11146
11147<p> This feature is available in Postfix 2.3 and later. </p>
11148
11149
11150</DD>
11151
11152<DT><b><a name="smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
11153(default: empty)</b></DT><DD>
11154
11155<p> List of acceptable remote SMTP server certificate fingerprints for
11156the "fingerprint" TLS security level (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> =
11157fingerprint). At this security level, certificate authorities are not
11158used, and certificate expiration times are ignored. Instead, server
11159certificates are verified directly via their certificate fingerprint
11160or public key fingerprint (Postfix 2.9 and later). The fingerprint
11161is a message digest of the server certificate (or public key). The
11162digest algorithm is selected via the <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b>
11163parameter. </p>
11164
11165<p> When an <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a></b> table entry specifies the
11166"fingerprint" security level, any "match" attributes in that entry specify
11167the list of valid fingerprints for the corresponding destination. Multiple
11168fingerprints can be combined with a "|" delimiter in a single match
11169attribute, or multiple match attributes can be employed. </p>
11170
11171<p> Example: Certificate fingerprint verification with internal mailhub.
11172Two matching fingerprints are listed. The <a href="postconf.5.html#relayhost">relayhost</a> may be multiple
11173physical hosts behind a load-balancer, each with its own private/public
11174key and self-signed certificate. Alternatively, a single <a href="postconf.5.html#relayhost">relayhost</a> may
11175be in the process of switching from one set of private/public keys to
11176another, and both keys are trusted just prior to the transition. </p>
11177
11178<blockquote>
11179<pre>
11180<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
11181<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
11182<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
11183<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
11184    3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
11185    EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
11186</pre>
11187</blockquote>
11188
11189<p> Example: Certificate fingerprint verification with selected destinations.
11190As in the example above, we show two matching fingerprints: </p>
11191
11192<blockquote>
11193<pre>
11194/etc/postfix/<a href="postconf.5.html">main.cf</a>:
11195    <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
11196    <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
11197</pre>
11198</blockquote>
11199
11200<blockquote>
11201<pre>
11202/etc/postfix/tls_policy:
11203    example.com fingerprint
11204        match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
11205        match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
11206</pre>
11207</blockquote>
11208
11209<p> This feature is available in Postfix 2.5 and later. </p>
11210
11211
11212</DD>
11213
11214<DT><b><a name="smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
11215(default: md5)</b></DT><DD>
11216
11217<p> The message digest algorithm used to construct remote SMTP server
11218certificate fingerprints. At the "fingerprint" TLS security level
11219(<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> = fingerprint), the server certificate is
11220verified by directly matching its certificate fingerprint or its public
11221key fingerprint (Postfix 2.9 and later). The fingerprint is the
11222message digest of the server certificate (or its public key)
11223using the selected
11224algorithm. With a digest algorithm resistant to "second pre-image"
11225attacks, it is not feasible to create a new public key and a matching
11226certificate (or public/private key-pair) that has the same fingerprint. </p>
11227
11228<p> The default algorithm is <b>md5</b>; this is consistent with
11229the backwards compatible setting of the digest used to verify client
11230certificates in the SMTP server. </p>
11231
11232<p> The best practice algorithm is now <b>sha1</b>. Recent advances in hash
11233function cryptanalysis have led to md5 being deprecated in favor of sha1.
11234However, as long as there are no known "second pre-image" attacks
11235against md5, its use in this context can still be considered safe.
11236</p>
11237
11238<p> While additional digest algorithms are often available with OpenSSL's
11239libcrypto, only those used by libssl in SSL cipher suites are available to
11240Postfix. For now this means just md5 or sha1. </p>
11241
11242<p> To find the fingerprint of a specific certificate file, with a
11243specific digest algorithm, run:
11244</p>
11245
11246<blockquote>
11247<pre>
11248$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
11249</pre>
11250</blockquote>
11251
11252<p> The text to the right of "=" sign is the desired fingerprint.
11253For example: </p>
11254
11255<blockquote>
11256<pre>
11257$ openssl x509 -noout -fingerprint -sha1 -in cert.pem
11258SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
11259</pre>
11260</blockquote>
11261
11262<p> To extract the public key fingerprint from an X.509 certificate,
11263you need to extract the public key from the certificate and compute
11264the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
11265the "-pubkey" option of the "x509" command extracts the public
11266key always in "PEM" format. We pipe the result to another OpenSSL
11267command that converts the key to DER and then to the "dgst" command
11268to compute the fingerprint. </p>
11269
11270<p> The actual command to transform the key to DER format depends
11271on the version of OpenSSL used. With OpenSSL 1.0.0 and later, the
11272"pkey" command supports all key types. With OpenSSL 0.9.8 and
11273earlier, the key type is always RSA (nobody uses DSA, and EC
11274keys are not fully supported by 0.9.8), so the "rsa" command is
11275used. </p>
11276<blockquote>
11277<pre>
11278# OpenSSL 1.0 with all certificates and SHA-1 fingerprints.
11279$ openssl x509 -in cert.pem -noout -pubkey |
11280    openssl pkey -pubin -outform DER |
11281    openssl dgst -sha1 -c
11282(stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58
11283</pre>
11284</blockquote>
11285
11286<blockquote>
11287<pre>
11288# OpenSSL 0.9.8 with RSA certificates and MD5 fingerprints.
11289$ openssl x509 -in cert.pem -noout -pubkey |
11290    openssl rsa -pubin -outform DER |
11291    openssl dgst -md5 -c
11292(stdin)= f4:62:60:f6:12:8f:d5:8d:28:4d:13:a7:db:b2:ff:50
11293</pre>
11294</blockquote>
11295
11296<p> The Postfix SMTP server and client log the peer (leaf) certificate
11297fingerprint and public key fingerprint when the TLS loglevel is 2 or
11298higher. </p>
11299
11300<p> <b>Note:</b> Postfix 2.9.0&ndash;2.9.5 computed the public key
11301fingerprint incorrectly. To use public-key fingerprints, upgrade
11302to Postfix 2.9.6 or later. </p>
11303
11304<p> This feature is available in Postfix 2.5 and later. </p>
11305
11306
11307</DD>
11308
11309<DT><b><a name="smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a>
11310(default: no)</b></DT><DD>
11311
11312<p> Lookup the associated DANE TLSA RRset even when a hostname is
11313not an alias and its address records lie in an unsigned zone.  This
11314is unlikely to ever yield DNSSEC validated results, since child
11315zones of unsigned zones are also unsigned in the absence of DLV or
11316locally configured non-root trust-anchors.  We anticipate that such
11317mechanisms will not be used for just the "_tcp" subdomain of a host.
11318Suppressing the TLSA RRset lookup reduces latency and avoids potential
11319interoperability problems with nameservers for unsigned zones that
11320are not prepared to handle the new TLSA RRset.  </p>
11321
11322<p> This feature is available in Postfix 2.11. </p>
11323
11324
11325</DD>
11326
11327<DT><b><a name="smtp_tls_key_file">smtp_tls_key_file</a>
11328(default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD>
11329
11330<p> File with the Postfix SMTP client RSA private key in PEM format.
11331This file may be combined with the Postfix SMTP client RSA certificate
11332file specified with $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>. </p>
11333
11334<p> The private key must be accessible without a pass-phrase, i.e. it
11335must not be encrypted. File permissions should grant read-only
11336access to the system superuser account ("root"), and no access
11337to anyone else. </p>
11338
11339<p> Example: </p>
11340
11341<pre>
11342<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>
11343</pre>
11344
11345<p> This feature is available in Postfix 2.2 and later.  </p>
11346
11347
11348</DD>
11349
11350<DT><b><a name="smtp_tls_loglevel">smtp_tls_loglevel</a>
11351(default: 0)</b></DT><DD>
11352
11353<p> Enable additional Postfix SMTP client logging of TLS activity.
11354Each logging level also includes the information that is logged at
11355a lower logging level.  </p>
11356
11357<dl compact>
11358
11359<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
11360
11361<dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
11362&mdash; no logging of remote SMTP server certificate trust-chain
11363verification errors if server certificate verification is not required.
11364With Postfix 2.8 and earlier, log the summary message and unconditionally
11365log trust-chain verification errors.  </dd>
11366
11367<dt> </dt> <dd> 2 Also log levels during TLS negotiation.  </dd>
11368
11369<dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation
11370process.  </dd>
11371
11372<dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
11373transmission after STARTTLS. </dd>
11374
11375</dl>
11376
11377<p> Do not use "<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> = 2" or higher except in case of
11378problems. Use of loglevel 4 is strongly discouraged. </p>
11379
11380<p> This feature is available in Postfix 2.2 and later.  </p>
11381
11382
11383</DD>
11384
11385<DT><b><a name="smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
11386(default: medium)</b></DT><DD>
11387
11388<p> The minimum TLS cipher grade that the Postfix SMTP client will
11389use with
11390mandatory TLS encryption.  The default value "medium" is suitable
11391for most destinations with which you may want to enforce TLS, and
11392is beyond the reach of today's cryptanalytic methods. See
11393<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure ciphers
11394on a per-destination basis. </p>
11395
11396<p> The following cipher grades are supported: </p>
11397
11398<dl>
11399<dt><b>export</b></dt>
11400<dd> Enable "EXPORT" grade or better OpenSSL ciphers.  The underlying
11401cipherlist is specified via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration
11402parameter, which you are strongly encouraged to not change.  This
11403choice is insecure and SHOULD NOT be used.  </dd>
11404
11405<dt><b>low</b></dt>
11406<dd> Enable "LOW" grade or better OpenSSL ciphers.  The underlying
11407cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration
11408parameter, which you are strongly encouraged to not change.  This
11409choice is insecure and SHOULD NOT be used.  </dd>
11410
11411<dt><b>medium</b></dt>
11412<dd> Enable "MEDIUM" grade or better OpenSSL ciphers.
11413The underlying cipherlist is specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a>
11414configuration parameter, which you are strongly encouraged to not change.
11415</dd>
11416
11417<dt><b>high</b></dt>
11418<dd> Enable only "HIGH" grade OpenSSL ciphers.  This setting may
11419be appropriate when all mandatory TLS destinations (e.g. when all
11420mail is routed to a suitably capable <a href="postconf.5.html#relayhost">relayhost</a>) support at least one
11421"HIGH" grade cipher. The underlying cipherlist is specified via the
11422<a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a> configuration parameter, which you are strongly
11423encouraged to not change. </dd>
11424
11425<dt><b>null</b></dt>
11426<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
11427without encryption.  This setting is only appropriate in the rare case
11428that all servers are prepared to use NULL ciphers (not normally enabled
11429in TLS servers). A plausible use-case is an LMTP server listening on a
11430UNIX-domain socket that is configured to support "NULL" ciphers. The
11431underlying cipherlist is specified via the <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a>
11432configuration parameter, which you are strongly encouraged to not
11433change. </dd>
11434
11435</dl>
11436
11437<p> The underlying cipherlists for grades other than "null" include
11438anonymous ciphers, but these are automatically filtered out if the
11439Postfix SMTP client is configured to verify server certificates.
11440You are very unlikely to need to take any steps to exclude anonymous
11441ciphers, they are excluded automatically as necessary.  If you must
11442exclude anonymous ciphers at the "may" or "encrypt" security levels,
11443when the Postfix SMTP client does not need or use peer certificates, set
11444"<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only when
11445TLS is enforced, set "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
11446
11447<p> This feature is available in Postfix 2.3 and later. </p>
11448
11449
11450</DD>
11451
11452<DT><b><a name="smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
11453(default: empty)</b></DT><DD>
11454
11455<p> Additional list of ciphers or cipher types to exclude from the
11456Postfix SMTP client cipher list at mandatory TLS security levels. This list
11457works in addition to the exclusions listed with <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
11458(see there for syntax details).  </p>
11459
11460<p> Starting with Postfix 2.6, the mandatory cipher exclusions can be
11461specified on a per-destination basis via the TLS policy "exclude"
11462attribute. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for notes and examples. </p>
11463
11464<p> This feature is available in Postfix 2.3 and later. </p>
11465
11466
11467</DD>
11468
11469<DT><b><a name="smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
11470(default: !SSLv2, !SSLv3)</b></DT><DD>
11471
11472<p> List of SSL/TLS protocols that the Postfix SMTP client will use with
11473mandatory TLS encryption.  In <a href="postconf.5.html">main.cf</a> the values are separated by
11474whitespace, commas or colons. In the policy table "protocols" attribute
11475(see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon. An
11476empty value means allow all protocols. The valid protocol names, (see
11477<b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3" and "TLSv1". The
11478default value is "!SSLv2, !SSLv3" for Postfix releases after the
11479middle of 2015, "!SSLv2" for older releases. </p>
11480
11481<p> With Postfix &ge; 2.5 the parameter syntax was expanded to support
11482protocol exclusions. One can explicitly exclude "SSLv2" by setting
11483"<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2". To exclude both "SSLv2" and
11484"SSLv3" set "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing
11485the protocols to include, rather than protocols to exclude, is
11486supported, but not recommended. The exclusion form more closely
11487matches the underlying OpenSSL interface semantics.
11488</p>
11489
11490<p> The range of protocols advertised by an SSL/TLS client must be
11491contiguous.  When a protocol version is enabled, disabling any
11492higher version implicitly disables all versions above that higher
11493version.  Thus, for example: </p>
11494<blockquote>
11495<pre>
11496<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !TLSv1
11497</pre>
11498</blockquote>
11499<p> also disables any protocols version higher than TLSv1 leaving
11500only "SSLv3" enabled.  </p>
11501
11502<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
11503and "TLSv1.2". When Postfix &le; 2.5 is linked against OpenSSL 1.0.1
11504or later, these, or any other new protocol versions, cannot be
11505disabled except by also disabling "TLSv1" (typically leaving just
11506"SSLv3").  The latest patch levels of Postfix &ge; 2.6, and all
11507versions of Postfix &ge; 2.10 can explicitly disable support for
11508"TLSv1.1" or "TLSv1.2". </p>
11509
11510<p> At the <a href="TLS_README.html#client_tls_dane">dane</a> and
11511<a href="TLS_README.html#client_tls_dane">dane-only</a> security
11512levels, when usable TLSA records are obtained for the remote SMTP
11513server, the Postfix SMTP client is obligated to include the SNI TLS
11514extension in its SSL client hello message.  This may help the remote
11515SMTP server live up to its promise to provide a certificate that
11516matches its TLSA records.  Since TLS extensions require TLS 1.0 or
11517later, the Postfix SMTP client must disable "SSLv2" and "SSLv3" when
11518SNI is required.  If you use "dane" or "dane-only" do not disable
11519TLSv1, except perhaps via the policy table for destinations which
11520you are sure will support "TLSv1.1" or "TLSv1.2".  </p>
11521
11522<p> See the documentation of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> parameter and
11523<a href="TLS_README.html">TLS_README</a> for more information about security levels. </p>
11524
11525<p> Example: </p>
11526
11527<pre>
11528# Preferred syntax with Postfix &ge; 2.5:
11529<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
11530# Legacy syntax:
11531<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1
11532</pre>
11533
11534<p> This feature is available in Postfix 2.3 and later. </p>
11535
11536
11537</DD>
11538
11539<DT><b><a name="smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
11540(default: no)</b></DT><DD>
11541
11542<p> Log the hostname of a remote SMTP server that offers STARTTLS,
11543when TLS is not already enabled for that server. </p>
11544
11545<p> The logfile record looks like:  </p>
11546
11547<pre>
11548postfix/smtp[pid]:  Host offered STARTTLS: [name.of.host]
11549</pre>
11550
11551<p> This feature is available in Postfix 2.2 and later.  </p>
11552
11553
11554</DD>
11555
11556<DT><b><a name="smtp_tls_per_site">smtp_tls_per_site</a>
11557(default: empty)</b></DT><DD>
11558
11559<p> Optional lookup tables with the Postfix SMTP client TLS usage
11560policy by next-hop destination and by remote SMTP server hostname.
11561When both lookups succeed, the more specific per-site policy (NONE,
11562MUST, etc) overrides the less specific one (MAY), and the more secure
11563per-site policy (MUST, etc) overrides the less secure one (NONE).
11564With Postfix 2.3 and later <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> is strongly discouraged:
11565use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
11566
11567<p> Use of the bare hostname as the per-site table lookup key is
11568discouraged. Always use the full destination nexthop (enclosed in
11569[] with a possible ":port" suffix). A recipient domain or MX-enabled
11570transport next-hop with no port suffix may look like a bare hostname,
11571but is still a suitable <i>destination</i>. </p>
11572
11573<p> Specify a next-hop destination or server hostname on the left-hand
11574side; no wildcards are allowed. The next-hop destination is either
11575the recipient domain, or the destination specified with a <a href="transport.5.html">transport(5)</a>
11576table, the <a href="postconf.5.html#relayhost">relayhost</a> parameter, or the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter.
11577On the right hand side specify one of the following keywords:  </p>
11578
11579<dl>
11580
11581<dt> NONE </dt> <dd> Don't use TLS at all. This overrides a less
11582specific <b>MAY</b> lookup result from the alternate host or next-hop
11583lookup 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>,
11584and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd>
11585
11586<dt> MAY </dt> <dd> Try to use TLS if the server announces support,
11587otherwise use the unencrypted connection. This has less precedence
11588than a more specific result (including <b>NONE</b>) from the alternate
11589host or next-hop lookup key, and has less precedence than the more
11590specific 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>
11591= yes".  </dd>
11592
11593<dt> MUST_NOPEERMATCH </dt> <dd> Require TLS encryption, but do not
11594require that the remote SMTP server hostname matches the information
11595in the remote SMTP server certificate, or that the server certificate
11596was issued by a trusted CA. This overrides a less secure <b>NONE</b>
11597or a less specific <b>MAY</b> lookup result from the alternate host
11598or next-hop lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>,
11599<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>
11600
11601<dt> MUST </dt> <dd> Require TLS encryption, require that the remote
11602SMTP server hostname matches the information in the remote SMTP
11603server certificate, and require that the remote SMTP server certificate
11604was issued by a trusted CA. This overrides a less secure <b>NONE</b>
11605and <b>MUST_NOPEERMATCH</b> or a less specific <b>MAY</b> lookup
11606result from the alternate host or next-hop lookup key, and overrides
11607the 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>
11608settings.  </dd>
11609
11610</dl>
11611
11612<p> The above keywords correspond to the "none", "may", "encrypt" and
11613"verify" security levels for the new <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> parameter
11614introduced in Postfix 2.3. Starting with Postfix 2.3, and independently
11615of how the policy is specified, the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
11616<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameters apply when TLS encryption
11617is mandatory. Connections for which encryption is optional typically
11618enable all "export" grade and better ciphers (see <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>
11619and <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>). </p>
11620
11621<p> As long as no secure DNS lookup mechanism is available, false
11622hostnames in MX or CNAME responses can change the server hostname
11623that Postfix uses for TLS policy lookup and server certificate
11624verification. Even with a perfect match between the server hostname and
11625the server certificate, there is no guarantee that Postfix is connected
11626to the right server.  See <a href="TLS_README.html">TLS_README</a> (Closing a DNS loophole with obsolete
11627per-site TLS policies) for a possible work-around. </p>
11628
11629<p> This feature is available in Postfix 2.2 and later. With
11630Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
11631
11632
11633</DD>
11634
11635<DT><b><a name="smtp_tls_policy_maps">smtp_tls_policy_maps</a>
11636(default: empty)</b></DT><DD>
11637
11638<p> Optional lookup tables with the Postfix SMTP client TLS security
11639policy by next-hop destination; when a non-empty value is specified,
11640this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter.  See
11641<a href="TLS_README.html">TLS_README</a> for a more detailed discussion of TLS security levels.
11642</p>
11643
11644<p> The TLS policy table is indexed by the full next-hop destination,
11645which is either the recipient domain, or the verbatim next-hop
11646specified in the transport table, $<a href="postconf.5.html#local_transport">local_transport</a>, $<a href="postconf.5.html#virtual_transport">virtual_transport</a>,
11647$<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
11648square brackets and any non-default destination server port suffix. The
11649LMTP socket type prefix (inet: or unix:) is not included in the lookup
11650key. </p>
11651
11652<p> Only the next-hop domain, or $<a href="postconf.5.html#myhostname">myhostname</a> with LMTP over UNIX-domain
11653sockets, is used as the nexthop name for certificate verification. The
11654port and any enclosing square brackets are used in the table lookup key,
11655but are not used for server name verification. </p>
11656
11657<p> When the lookup key is a domain name without enclosing square brackets
11658or any <i>:port</i> suffix (typically the recipient domain), and the full
11659domain is not found in the table, just as with the <a href="transport.5.html">transport(5)</a> table,
11660the parent domain starting with a leading "." is matched recursively. This
11661allows one to specify a security policy for a recipient domain and all
11662its sub-domains. </p>
11663
11664<p> The lookup result is a security level, followed by an optional list
11665of whitespace and/or comma separated name=value attributes that override
11666related <a href="postconf.5.html">main.cf</a> settings. The TLS security levels in order of increasing
11667security are: </p>
11668
11669<dl>
11670
11671<dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
11672<dd>No TLS. No additional attributes are supported at this level. </dd>
11673
11674<dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
11675<dd>Opportunistic TLS. Since sending in the clear is acceptable,
11676demanding stronger than default TLS security merely reduces
11677inter-operability. The optional "ciphers", "exclude" and "protocols"
11678attributes (available for opportunistic TLS with Postfix &ge; 2.6)
11679override 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
11680"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>" configuration parameters. When opportunistic TLS
11681handshakes fail, Postfix retries the connection with TLS disabled.
11682This allows mail delivery to sites with non-interoperable TLS
11683implementations.</dd>
11684
11685<dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
11686<dd>Mandatory TLS encryption. At this level
11687and higher, the optional "protocols" attribute overrides the <a href="postconf.5.html">main.cf</a>
11688<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameter, the optional "ciphers" attribute
11689overrides 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
11690optional "exclude" attribute (Postfix &ge; 2.6) overrides the <a href="postconf.5.html">main.cf</a>
11691<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> parameter. In the policy table,
11692multiple protocols or excluded ciphers must be separated by colons,
11693as attribute values may not contain whitespace or commas. </dd>
11694
11695<dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
11696<dd>Opportunistic DANE TLS.  The TLS policy for the destination is
11697obtained via TLSA records in DNSSEC.  If no TLSA records are found,
11698the effective security level used is <a
11699href="TLS_README.html#client_tls_may">may</a>.  If TLSA records are
11700found, but none are usable, the effective security level is <a
11701href="TLS_README.html#client_tls_encrypt">encrypt</a>.  When usable
11702TLSA records are obtained for the remote SMTP server, the
11703server certificate must match the TLSA records.  <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE)
11704TLS authentication and DNSSEC support is available with Postfix
117052.11 and later.  </dd>
11706
11707<dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
11708<dd>Mandatory DANE TLS.  The TLS policy for the destination is
11709obtained via TLSA records in DNSSEC.  If no TLSA records are found,
11710or none are usable, no connection is made to the server.  When
11711usable TLSA records are obtained for the remote SMTP server, the
11712server certificate must match the TLSA records.  <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE) TLS
11713authentication and DNSSEC support is available with Postfix 2.11
11714and later.  </dd>
11715
11716<dt><b><a href="TLS_README.html#client_tls_fingerprint">fingerprint</a></b></dt>
11717<dd>Certificate fingerprint
11718verification. Available with Postfix 2.5 and later. At this security
11719level, there are no trusted certificate authorities. The certificate
11720trust chain, expiration date, ... are not checked. Instead,
11721the optional <b>match</b> attribute, or else the <a href="postconf.5.html">main.cf</a>
11722<b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> parameter, lists the certificate
11723fingerprints or the public key fingerprint (Postfix 2.9 and later)
11724of the valid server certificate. The digest
11725algorithm used to calculate the fingerprint is selected by the
11726<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Multiple fingerprints can
11727be combined with a "|" delimiter in a single match attribute, or multiple
11728match attributes can be employed. The ":" character is not used as a
11729delimiter as it occurs between each pair of fingerprint (hexadecimal)
11730digits. </dd>
11731
11732<dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
11733<dd>Mandatory TLS verification.  At this security
11734level, DNS MX lookups are trusted to be secure enough, and the name
11735verified in the server certificate is usually obtained indirectly via
11736unauthenticated DNS MX lookups.  The optional "match" attribute overrides
11737the <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,
11738multiple match patterns and strategies must be separated by colons.
11739In practice explicit control over matching is more common with the
11740"secure" policy, described below. </dd>
11741
11742<dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
11743<dd>Secure-channel TLS. At this security level, DNS
11744MX lookups, though potentially used to determine the candidate next-hop
11745gateway IP addresses, are <b>not</b> trusted to be secure enough for TLS
11746peername verification. Instead, the default name verified in the server
11747certificate is obtained directly from the next-hop, or is explicitly
11748specified via the optional <b>match</b> attribute which overrides the
11749<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,
11750multiple match patterns and strategies must be separated by colons.
11751The match attribute is most useful when multiple domains are supported by
11752common server, the policy entries for additional domains specify matching
11753rules for the primary domain certificate. While transport table overrides
11754routing the secondary domains to the primary nexthop also allow secure
11755verification, they risk delivery to the wrong destination when domains
11756change hands or are re-assigned to new gateways. With the "match"
11757attribute approach, routing is not perturbed, and mail is deferred if
11758verification of a new MX host fails. </dd>
11759
11760</dl>
11761
11762<p>
11763Example:
11764</p>
11765
11766<pre>
11767/etc/postfix/<a href="postconf.5.html">main.cf</a>:
11768    <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
11769    # Postfix 2.5 and later
11770    <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
11771</pre>
11772
11773<pre>
11774/etc/postfix/tls_policy:
11775    example.edu                 none
11776    example.mil                 may
11777    example.gov                 encrypt protocols=TLSv1
11778    example.com                 verify ciphers=high
11779    example.net                 secure
11780    .example.net                secure match=.example.net:example.net
11781    [mail.example.org]:587      secure match=nexthop
11782    # Postfix 2.5 and later
11783    [thumb.example.org]          fingerprint
11784        match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
11785        match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
11786</pre>
11787
11788<p> <b>Note:</b> The <b>hostname</b> strategy if listed in a non-default
11789setting of <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> or in the <b>match</b> attribute
11790in the policy table can render the <b>secure</b> level vulnerable to
11791DNS forgery. Do not use the <b>hostname</b> strategy for secure-channel
11792configurations in environments where DNS security is not assured. </p>
11793
11794<p> This feature is available in Postfix 2.3 and later. </p>
11795
11796
11797</DD>
11798
11799<DT><b><a name="smtp_tls_protocols">smtp_tls_protocols</a>
11800(default: !SSLv2, !SSLv3)</b></DT><DD>
11801
11802<p> List of TLS protocols that the Postfix SMTP client will exclude or
11803include with opportunistic TLS encryption. The default value is
11804"!SSLv2, !SSLv3" for Postfix releases after the middle of 2015,
11805"!SSLv2" for older releases. Before Postfix 2.6, the Postfix SMTP
11806client would use all protocols with opportunistic TLS. </p>
11807
11808<p> In <a href="postconf.5.html">main.cf</a> the values are separated by whitespace, commas or
11809colons. In the policy table (see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid
11810separator is colon. An empty value means allow all protocols. The valid
11811protocol names, (see <b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3"
11812and "TLSv1". </p>
11813
11814<p> The range of protocols advertised by an SSL/TLS client must be
11815contiguous.  When a protocol version is enabled, disabling any
11816higher version implicitly disables all versions above that higher
11817version.  Thus, for example: </p>
11818<blockquote>
11819<pre>
11820<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !TLSv1
11821</pre>
11822</blockquote>
11823<p> also disables any protocols version higher than TLSv1 leaving
11824only "SSLv3" enabled.  </p>
11825
11826<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
11827and "TLSv1.2". The latest patch levels of Postfix &ge; 2.6, and all
11828versions of Postfix &ge; 2.10 can explicitly disable support for
11829"TLSv1.1" or "TLSv1.2"</p>
11830
11831<p> To include a protocol list its name, to exclude it, prefix the name
11832with a "!" character. To exclude SSLv2 for opportunistic TLS set
11833"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set
11834"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to
11835include, rather than protocols to exclude, is supported, but not
11836recommended.  The exclusion form more closely matches the underlying
11837OpenSSL interface semantics. </p>
11838
11839<p> Example: </p>
11840<pre>
11841# TLSv1 or better:
11842<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
11843</pre>
11844
11845<p> This feature is available in Postfix 2.6 and later. </p>
11846
11847
11848</DD>
11849
11850<DT><b><a name="smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
11851(default: 9)</b></DT><DD>
11852
11853<p> The verification depth for remote SMTP server certificates. A depth
11854of 1 is sufficient if the issuing CA is listed in a local CA file. </p>
11855
11856<p> The default verification depth is 9 (the OpenSSL default) for
11857compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
11858the default value was 5, but the limit was not actually enforced. If
11859you have set this to a lower non-default value, certificates with longer
11860trust chains may now fail to verify. Certificate chains with 1 or 2
11861CAs are common, deeper chains are more rare and any number between 5
11862and 9 should suffice in practice. You can choose a lower number if,
11863for example, you trust certificates directly signed by an issuing CA
11864but not any CAs it delegates to. </p>
11865
11866<p> This feature is available in Postfix 2.2 and later.  </p>
11867
11868
11869</DD>
11870
11871<DT><b><a name="smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
11872(default: nexthop, dot-nexthop)</b></DT><DD>
11873
11874<p> How the Postfix SMTP client verifies the server certificate
11875peername for the "secure" TLS security level. In a "secure" TLS policy table
11876($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
11877overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
11878
11879<p> This parameter specifies one or more patterns or strategies separated
11880by commas, whitespace or colons.  In the policy table the only valid
11881separator is the colon character. </p>
11882
11883<p> For a description of the pattern and strategy syntax see the
11884<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. The "hostname" strategy should
11885be avoided in this context, as in the absence of a secure global DNS, using
11886the results of MX lookups in certificate verification is not immune to active
11887(man-in-the-middle) attacks on DNS. </p>
11888
11889<p>
11890Sample <a href="postconf.5.html">main.cf</a> setting:
11891</p>
11892
11893<blockquote>
11894<pre>
11895<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
11896</pre>
11897</blockquote>
11898
11899<p>
11900Sample policy table override:
11901</p>
11902
11903<blockquote>
11904<pre>
11905example.net     secure match=example.com:.example.com
11906.example.net    secure match=example.com:.example.com
11907</pre>
11908</blockquote>
11909
11910<p> This feature is available in Postfix 2.3 and later. </p>
11911
11912
11913</DD>
11914
11915<DT><b><a name="smtp_tls_security_level">smtp_tls_security_level</a>
11916(default: empty)</b></DT><DD>
11917
11918<p> The default SMTP TLS security level for the Postfix SMTP client;
11919when a non-empty value is specified, this overrides the obsolete
11920parameters <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>.
11921</p>
11922
11923<p> Specify one of the following security levels: </p>
11924
11925<dl>
11926
11927<dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
11928<dd> No TLS. TLS will not be used unless enabled for specific
11929destinations via <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </dd>
11930
11931<dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
11932<dd> Opportunistic TLS. Use TLS if this is supported by the remote
11933SMTP server, otherwise use plaintext. Since
11934sending in the clear is acceptable, demanding stronger than default TLS
11935security merely reduces inter-operability.
11936The "<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)
11937configuration parameters provide control over the protocols and
11938cipher grade used with opportunistic TLS.  With earlier releases the
11939opportunistic TLS cipher grade is always "export" and no protocols
11940are disabled.
11941When TLS handshakes fail, the connection is retried with TLS disabled.
11942This allows mail delivery to sites with non-interoperable TLS
11943implementations. </dd>
11944
11945<dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
11946<dd>Mandatory TLS encryption. Since a minimum
11947level of security is intended, it is reasonable to be specific about
11948sufficiently secure protocol versions and ciphers. At this security level
11949and 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
11950<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> specify the TLS protocols and minimum
11951cipher grade which the administrator considers secure enough for
11952mandatory encrypted sessions. This security level is not an appropriate
11953default for systems delivering mail to the Internet. </dd>
11954
11955<dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
11956<dd>Opportunistic DANE TLS.  At this security level, the TLS policy
11957for the destination is obtained via DNSSEC.  For TLSA policy to be
11958in effect, the destination domain's containing DNS zone must be
11959signed and the Postfix SMTP client's operating system must be
11960configured to send its DNS queries to a recursive DNS nameserver
11961that is able to validate the signed records.  Each MX host's DNS
11962zone should also be signed, and should publish DANE TLSA (<a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>)
11963records that specify how that MX host's TLS certificate is to be
11964verified.  TLSA records do not preempt the normal SMTP MX host
11965selection algorithm, if some MX hosts support TLSA and others do
11966not, TLS security will vary from delivery to delivery.  It is up
11967to the domain owner to configure their MX hosts and their DNS
11968sensibly.  To configure the Postfix SMTP client for DNSSEC lookups
11969see 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>
11970parameter.  When DNSSEC-validated TLSA records are not found the
11971effective tls security level is "may".  When TLSA records are found,
11972but are all unusable the effective security level is "encrypt".  For
11973purposes of protocol and cipher selection, the "dane" security level
11974is treated like a "mandatory" TLS security level, and weak ciphers
11975and protocols are disabled.  Since DANE authenticates server
11976certificates the "aNULL" cipher-suites are transparently excluded
11977at this level, no need to configure this manually.  <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE)
11978TLS authentication is available with Postfix 2.11 and later.  </dd>
11979
11980<dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
11981<dd>Mandatory DANE TLS.  This is just like "dane" above, but DANE
11982TLSA authentication is required.  There is no fallback to "may" or
11983"encrypt" when TLSA records are missing or unusable.  <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>
11984(DANE) TLS authentication is available with Postfix 2.11 and later.
11985</dd>
11986
11987<dt><b><a href="TLS_README.html#client_tls_fingerprint">fingerprint</a></b></dt>
11988<dd>Certificate fingerprint verification.
11989At this security level, there are no trusted certificate authorities.
11990The certificate trust chain, expiration date, etc., are
11991not checked. Instead, the <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b>
11992parameter lists the certificate fingerprint or public key fingerprint
11993(Postfix 2.9 and later) of the valid server certificate. The digest
11994algorithm used to calculate the fingerprint is selected by the
11995<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Available with Postfix
119962.5 and later.  </dd>
11997
11998<dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
11999<dd>Mandatory TLS verification. At this security
12000level, DNS MX lookups are trusted to be secure enough, and the name
12001verified in the server certificate is usually obtained indirectly
12002via unauthenticated DNS MX lookups. The <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
12003parameter controls how the server name is verified. In practice explicit
12004control over matching is more common at the "secure" level, described
12005below. This security level is not an appropriate default for systems
12006delivering mail to the Internet. </dd>
12007
12008<dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
12009<dd>Secure-channel TLS.  At this security level,
12010DNS MX lookups, though potentially used to determine the candidate
12011next-hop gateway IP addresses, are <b>not</b> trusted to be secure enough
12012for TLS peername verification. Instead, the default name verified in
12013the server certificate is obtained from the next-hop domain as specified
12014in the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> configuration parameter. The default
12015matching rule is that a server certificate matches when its name is equal
12016to or is a sub-domain of the nexthop domain. This security level is not
12017an appropriate default for systems delivering mail to the Internet. </dd>
12018
12019</dl>
12020
12021<p>
12022Examples:
12023</p>
12024
12025<pre>
12026# 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.
12027<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = none
12028</pre>
12029
12030<pre>
12031# Opportunistic TLS.
12032<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
12033# Postfix &ge; 2.6:
12034# Do not tweak opportunistic ciphers or protocol unless it is essential
12035# to do so (if a security vulnerability is found in the SSL library that
12036# can be mitigated by disabling a particular protocol or raising the
12037# cipher grade from "export" to "low" or "medium").
12038<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> = export
12039<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
12040</pre>
12041
12042<pre>
12043# Mandatory (high-grade) TLS encryption.
12044<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
12045<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
12046</pre>
12047
12048<pre>
12049# Mandatory TLS verification of hostname or nexthop domain.
12050<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = verify
12051<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
12052<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
12053</pre>
12054
12055<pre>
12056# Secure channel TLS with exact nexthop name match.
12057<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = secure
12058<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1
12059<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
12060<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
12061</pre>
12062
12063<pre>
12064# Certificate fingerprint verification (Postfix &ge; 2.5).
12065# The CA-less "fingerprint" security level only scales to a limited
12066# number of destinations. As a global default rather than a per-site
12067# setting, this is practical when mail for all recipients is sent
12068# to a central mail hub.
12069<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
12070<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
12071<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
12072<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
12073<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
12074    3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
12075    EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
12076</pre>
12077
12078<p> This feature is available in Postfix 2.3 and later. </p>
12079
12080
12081</DD>
12082
12083<DT><b><a name="smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
12084(default: empty)</b></DT><DD>
12085
12086<p> Name of the file containing the optional Postfix SMTP client
12087TLS session cache. Specify a database type that supports enumeration,
12088such as <b>btree</b> or <b>sdbm</b>; there is no need to support
12089concurrent access.  The file is created if it does not exist. The <a href="smtp.8.html">smtp(8)</a>
12090daemon does not use this parameter directly, rather the cache is
12091implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
12092per-smtp-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not effective.
12093Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon:
12094$<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>
12095(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
12096be stored separately. It is not at this time possible to store multiple
12097caches in a single database. </p>
12098
12099<p> Note: <b>dbm</b> databases are not suitable. TLS
12100session objects are too large. </p>
12101
12102<p> As of version 2.5, Postfix no longer uses root privileges when
12103opening this file. The file should now be stored under the Postfix-owned
12104<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
12105under a non-Postfix directory is redirected to the Postfix-owned
12106<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
12107
12108<p> Example: </p>
12109
12110<pre>
12111<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
12112</pre>
12113
12114<p> This feature is available in Postfix 2.2 and later.  </p>
12115
12116
12117</DD>
12118
12119<DT><b><a name="smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
12120(default: 3600s)</b></DT><DD>
12121
12122<p> The expiration time of Postfix SMTP client TLS session cache
12123information.  A cache cleanup is performed periodically
12124every $<a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> seconds. As with
12125$<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>, this parameter is implemented in the
12126<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtp-instance <a href="master.5.html">master.cf</a> overrides
12127are not possible. </p>
12128
12129<p> As of Postfix 2.11 this setting cannot exceed 100 days.  If set
12130&le; 0, session caching is disabled.  If set to a positive value
12131less than 2 minutes, the minimum value of 2 minutes is used instead.  </p>
12132
12133<p> This feature is available in Postfix 2.2 and later.  </p>
12134
12135
12136</DD>
12137
12138<DT><b><a name="smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
12139(default: empty)</b></DT><DD>
12140
12141<p> Zero or more PEM-format files with trust-anchor certificates
12142and/or public keys.  If the parameter is not empty the root CAs in
12143CAfile and CApath are no longer trusted.  Rather, the Postfix SMTP
12144client will only trust certificate-chains signed by one of the
12145trust-anchors contained in the chosen files.  The specified
12146trust-anchor certificates and public keys are not subject to
12147expiration, and need not be (self-signed) root CAs.  They may, if
12148desired, be intermediate certificates. Therefore, these certificates
12149also may be found "in the middle" of the trust chain presented by
12150the remote SMTP server, and any untrusted issuing parent certificates
12151will be ignored.  Specify a list of pathnames separated by comma
12152or whitespace.  </p>
12153
12154<p>  Whether specified in <a href="postconf.5.html">main.cf</a>, or on a per-destination basis,
12155the trust-anchor PEM file must be accessible to the Postfix SMTP
12156client in the chroot jail if applicable.  The trust-anchor file
12157should contain only certificates and public keys, no private key
12158material, and must be readable by the non-privileged $<a href="postconf.5.html#mail_owner">mail_owner</a>
12159user.  This allows destinations to be bound to a set of specific
12160CAs or public keys without trusting the same CAs for all destinations.
12161</p>
12162
12163<p> The <a href="postconf.5.html">main.cf</a> parameter supports single-purpose Postfix installations
12164that send mail to a fixed set of SMTP peers.  At most sites, if
12165trust-anchor files are used at all, they will be specified on a
12166per-destination basis via the "tafile" attribute of the "verify"
12167and "secure" levels in <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>.  </p>
12168
12169<p> The underlying mechanism is in support of <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE TLSA),
12170which defines mechanisms for a client to securely determine server
12171TLS certificates via DNS.  </p>
12172
12173<p> If you want your trust anchors to be public keys, with OpenSSL
12174you can extract a single PEM public key from a PEM X.509 file
12175containing a single certificate, as follows: </p>
12176
12177<blockquote>
12178<pre>
12179$ openssl x509 -in cert.pem -out ta-key.pem -noout -pubkey
12180</pre>
12181</blockquote>
12182
12183<p> This feature is available in Postfix 2.11 and later.  </p>
12184
12185
12186</DD>
12187
12188<DT><b><a name="smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
12189(default: hostname)</b></DT><DD>
12190
12191<p> How the Postfix SMTP client verifies the server certificate
12192peername for the
12193"verify" TLS security level. In a "verify" TLS policy table
12194($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
12195overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
12196
12197<p> This parameter specifies one or more patterns or strategies separated
12198by commas, whitespace or colons.  In the policy table the only valid
12199separator is the colon character. </p>
12200
12201<p> Patterns specify domain names, or domain name suffixes: </p>
12202
12203<dl>
12204
12205<dt><i>example.com</i></dt> <dd> Match the <i>example.com</i> domain,
12206i.e. one of the names the server certificate must be <i>example.com</i>,
12207upper and lower case distinctions are ignored. </dd>
12208
12209<dt><i>.example.com</i></dt>
12210<dd> Match subdomains of the <i>example.com</i> domain, i.e. match
12211a name in the server certificate that consists of a non-zero number of
12212labels followed by a <i>.example.com</i> suffix. Case distinctions are
12213ignored.</dd>
12214
12215</dl>
12216
12217<p> Strategies specify a transformation from the next-hop domain
12218to the expected name in the server certificate: </p>
12219
12220<dl>
12221
12222<dt>nexthop</dt>
12223<dd> Match against the next-hop domain, which is either the recipient
12224domain, or the transport next-hop configured for the domain stripped of
12225any optional socket type prefix, enclosing square brackets and trailing
12226port. When MX lookups are not suppressed, this is the original nexthop
12227domain prior to the MX lookup, not the result of the MX lookup. For
12228LMTP delivery via UNIX-domain sockets, the verified next-hop name is
12229$<a href="postconf.5.html#myhostname">myhostname</a>.  This strategy is suitable for use with the "secure"
12230policy. Case is ignored.</dd>
12231
12232<dt>dot-nexthop</dt>
12233<dd> As above, but match server certificate names that are subdomains
12234of the next-hop domain. Case is ignored.</dd>
12235
12236<dt>hostname</dt> <dd> Match against the hostname of the server, often
12237obtained via an unauthenticated DNS MX lookup. For LMTP delivery via
12238UNIX-domain sockets, the verified name is $<a href="postconf.5.html#myhostname">myhostname</a>. This matches
12239the verification strategy of the "MUST" keyword in the obsolete
12240<a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table, and is suitable for use with the "verify"
12241security level. When the next-hop name is enclosed in square brackets
12242to suppress MX lookups, the "hostname" strategy is the same as the
12243"nexthop" strategy. Case is ignored.</dd>
12244
12245</dl>
12246
12247<p>
12248Sample <a href="postconf.5.html">main.cf</a> setting:
12249</p>
12250
12251<pre>
12252<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
12253</pre>
12254
12255<p>
12256Sample policy table override:
12257</p>
12258
12259<pre>
12260example.com     verify  match=hostname:nexthop
12261.example.com    verify  match=example.com:.example.com:hostname
12262</pre>
12263
12264<p> This feature is available in Postfix 2.3 and later. </p>
12265
12266
12267</DD>
12268
12269<DT><b><a name="smtp_use_tls">smtp_use_tls</a>
12270(default: no)</b></DT><DD>
12271
12272<p> Opportunistic mode: use TLS when a remote SMTP server announces
12273STARTTLS support, otherwise send the mail in the clear. Beware:
12274some SMTP servers offer STARTTLS even if it is not configured.  With
12275Postfix &lt; 2.3, if the TLS handshake fails, and no other server is
12276available, delivery is deferred and mail stays in the queue. If this
12277is a concern for you, use the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> feature instead.  </p>
12278
12279<p> This feature is available in Postfix 2.2 and later. With
12280Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
12281
12282
12283</DD>
12284
12285<DT><b><a name="smtp_xforward_timeout">smtp_xforward_timeout</a>
12286(default: 300s)</b></DT><DD>
12287
12288<p>
12289The Postfix SMTP client time limit for sending the XFORWARD command,
12290and for receiving the remote SMTP server response.
12291</p>
12292
12293<p>
12294Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
12295The default time unit is s (seconds).
12296</p>
12297
12298<p>
12299This feature is available in Postfix 2.1 and later.
12300</p>
12301
12302
12303</DD>
12304
12305<DT><b><a name="smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
12306(default: $<a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a>)</b></DT><DD>
12307
12308<p> What remote SMTP clients are allowed to specify the XVERP command.
12309This command requests that mail be delivered one recipient at a
12310time with a per recipient return address.  </p>
12311
12312<p> By default, no clients are allowed to specify XVERP.  </p>
12313
12314<p> This parameter was renamed with Postfix version 2.1. The default value
12315is backwards compatible with Postfix version 2.0.  </p>
12316
12317<p> Specify a list of network/netmask patterns, separated by commas
12318and/or whitespace. The mask specifies the number of bits in the
12319network part of a host address. You can also specify hostnames or
12320.domain names (the initial dot causes the domain to match any name
12321below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
12322pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
12323is matched when a table entry matches a lookup string (the lookup
12324result is ignored).  Continue long lines by starting the next line
12325with whitespace. Specify "!pattern" to exclude an address or network
12326block from the list. The form "!/file/name" is supported only in
12327Postfix version 2.4 and later.  </p>
12328
12329<p> Note: IP version 6 address information must be specified inside
12330<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> value, and in
12331files specified with "/file/name".  IP version 6 addresses contain
12332the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
12333pattern.  </p>
12334
12335
12336</DD>
12337
12338<DT><b><a name="smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>
12339(default: empty)</b></DT><DD>
12340
12341<p>
12342What remote SMTP clients are allowed to use the XCLIENT feature.  This
12343command overrides remote SMTP client information that is used for access
12344control. Typical use is for SMTP-based content filters, fetchmail-like
12345programs, or SMTP server access rule testing. See the <a href="XCLIENT_README.html">XCLIENT_README</a>
12346document for details.
12347</p>
12348
12349<p>
12350This feature is available in Postfix 2.1 and later.
12351</p>
12352
12353<p>
12354By default, no clients are allowed to specify XCLIENT.
12355</p>
12356
12357<p>
12358Specify a list of network/netmask patterns, separated by commas
12359and/or whitespace. The mask specifies the number of bits in the
12360network part of a host address. You can also specify hostnames or
12361.domain names (the initial dot causes the domain to match any name
12362below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
12363pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
12364is matched when a table entry matches a lookup string (the lookup
12365result is ignored).  Continue long lines by starting the next line
12366with whitespace. Specify "!pattern" to exclude an address or network
12367block from the list. The form "!/file/name" is supported only in
12368Postfix version 2.4 and later.  </p>
12369
12370<p> Note: IP version 6 address information must be specified inside
12371<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> value, and in
12372files specified with "/file/name".  IP version 6 addresses contain
12373the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
12374pattern.  </p>
12375
12376
12377</DD>
12378
12379<DT><b><a name="smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a>
12380(default: empty)</b></DT><DD>
12381
12382<p>
12383What remote SMTP clients are allowed to use the XFORWARD feature.  This
12384command forwards information that is used to improve logging after
12385SMTP-based content filters. See the <a href="XFORWARD_README.html">XFORWARD_README</a> document for
12386details.
12387</p>
12388
12389<p>
12390This feature is available in Postfix 2.1 and later.
12391</p>
12392
12393<p>
12394By default, no clients are allowed to specify XFORWARD.
12395</p>
12396
12397<p>
12398Specify a list of network/netmask patterns, separated by commas
12399and/or whitespace. The mask specifies the number of bits in the
12400network part of a host address. You can also specify hostnames or
12401.domain names (the initial dot causes the domain to match any name
12402below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
12403pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
12404is matched when a table entry matches a lookup string (the lookup
12405result is ignored).  Continue long lines by starting the next line
12406with whitespace. Specify "!pattern" to exclude an address or network
12407block from the list. The form "!/file/name" is supported only in
12408Postfix version 2.4 and later.  </p>
12409
12410<p> Note: IP version 6 address information must be specified inside
12411<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> value, and in
12412files specified with "/file/name".  IP version 6 addresses contain
12413the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
12414pattern.  </p>
12415
12416
12417</DD>
12418
12419<DT><b><a name="smtpd_banner">smtpd_banner</a>
12420(default: $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a>)</b></DT><DD>
12421
12422<p>
12423The text that follows the 220 status code in the SMTP greeting
12424banner. Some people like to see the mail version advertised. By
12425default, Postfix shows no version.
12426</p>
12427
12428<p>
12429You MUST specify $<a href="postconf.5.html#myhostname">myhostname</a> at the start of the text. This is
12430required by the SMTP protocol.
12431</p>
12432
12433<p>
12434Example:
12435</p>
12436
12437<pre>
12438<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>)
12439</pre>
12440
12441
12442</DD>
12443
12444<DT><b><a name="smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>
12445(default: 50)</b></DT><DD>
12446
12447<p>
12448How many simultaneous connections any client is allowed to
12449make to this service.  By default, the limit is set to half
12450the default process limit value.
12451</p>
12452
12453<p>
12454To disable this feature, specify a limit of 0.
12455</p>
12456
12457<p>
12458WARNING: The purpose of this feature is to limit abuse. It must
12459not be used to regulate legitimate mail traffic.
12460</p>
12461
12462<p>
12463This feature is available in Postfix 2.2 and later.
12464</p>
12465
12466
12467</DD>
12468
12469<DT><b><a name="smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a>
12470(default: 0)</b></DT><DD>
12471
12472<p>
12473The maximal number of connection attempts any client is allowed to
12474make to this service per time unit.  The time unit is specified
12475with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
12476</p>
12477
12478<p>
12479By default, a client can make as many connections per time unit as
12480Postfix can accept.
12481</p>
12482
12483<p>
12484To disable this feature, specify a limit of 0.
12485</p>
12486
12487<p>
12488WARNING: The purpose of this feature is to limit abuse. It must
12489not be used to regulate legitimate mail traffic.
12490</p>
12491
12492<p>
12493This feature is available in Postfix 2.2 and later.
12494</p>
12495
12496<p>
12497Example:
12498</p>
12499
12500<pre>
12501<a href="postconf.5.html#smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> = 1000
12502</pre>
12503
12504
12505</DD>
12506
12507<DT><b><a name="smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
12508(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
12509
12510<p>
12511Clients that are excluded from smtpd_client_*_count/rate_limit
12512restrictions. See the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter
12513description for the parameter value syntax.
12514</p>
12515
12516<p>
12517By default, clients in trusted networks are excluded. Specify a
12518list of network blocks, hostnames or .domain names (the initial
12519dot causes the domain to match any name below it).
12520</p>
12521
12522<p> Note: IP version 6 address information must be specified inside
12523<tt>[]</tt> in the <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> value, and
12524in files specified with "/file/name".  IP version 6 addresses
12525contain the ":" character, and would otherwise be confused with a
12526"<a href="DATABASE_README.html">type:table</a>" pattern.  </p>
12527
12528<p>
12529This feature is available in Postfix 2.2 and later.
12530</p>
12531
12532
12533</DD>
12534
12535<DT><b><a name="smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a>
12536(default: 0)</b></DT><DD>
12537
12538<p>
12539The maximal number of message delivery requests that any client is
12540allowed to make to this service per time unit, regardless of whether
12541or not Postfix actually accepts those messages.  The time unit is
12542specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
12543</p>
12544
12545<p>
12546By default, a client can send as many message delivery requests
12547per time unit as Postfix can accept.
12548</p>
12549
12550<p>
12551To disable this feature, specify a limit of 0.
12552</p>
12553
12554<p>
12555WARNING: The purpose of this feature is to limit abuse. It must
12556not be used to regulate legitimate mail traffic.
12557</p>
12558
12559<p>
12560This feature is available in Postfix 2.2 and later.
12561</p>
12562
12563<p>
12564Example:
12565</p>
12566
12567<pre>
12568<a href="postconf.5.html#smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> = 1000
12569</pre>
12570
12571
12572</DD>
12573
12574<DT><b><a name="smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a>
12575(default: 0)</b></DT><DD>
12576
12577<p>
12578The maximal number of new (i.e., uncached) TLS sessions that a
12579remote SMTP client is allowed to negotiate with this service per
12580time unit.  The time unit is specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a>
12581configuration parameter.
12582</p>
12583
12584<p>
12585By default, a remote SMTP client can negotiate as many new TLS
12586sessions per time unit as Postfix can accept.
12587</p>
12588
12589<p>
12590To disable this feature, specify a limit of 0. Otherwise, specify
12591a limit that is at least the per-client concurrent session limit,
12592or else legitimate client sessions may be rejected.
12593</p>
12594
12595<p>
12596WARNING: The purpose of this feature is to limit abuse. It must
12597not be used to regulate legitimate mail traffic.
12598</p>
12599
12600<p>
12601This feature is available in Postfix 2.3 and later.
12602</p>
12603
12604<p>
12605Example:
12606</p>
12607
12608<pre>
12609<a href="postconf.5.html#smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a> = 100
12610</pre>
12611
12612
12613</DD>
12614
12615<DT><b><a name="smtpd_client_port_logging">smtpd_client_port_logging</a>
12616(default: no)</b></DT><DD>
12617
12618<p> Enable logging of the remote SMTP client port in addition to
12619the hostname and IP address. The logging format is "host[address]:port".
12620</p>
12621
12622<p> This feature is available in Postfix 2.5 and later. </p>
12623
12624
12625</DD>
12626
12627<DT><b><a name="smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a>
12628(default: 0)</b></DT><DD>
12629
12630<p>
12631The maximal number of recipient addresses that any client is allowed
12632to send to this service per time unit, regardless of whether or not
12633Postfix actually accepts those recipients.  The time unit is specified
12634with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
12635</p>
12636
12637<p>
12638By default, a client can send as many recipient addresses per time
12639unit as Postfix can accept.
12640</p>
12641
12642<p>
12643To disable this feature, specify a limit of 0.
12644</p>
12645
12646<p>
12647WARNING: The purpose of this feature is to limit abuse. It must
12648not be used to regulate legitimate mail traffic.
12649</p>
12650
12651<p>
12652This feature is available in Postfix 2.2 and later.
12653</p>
12654
12655<p>
12656Example:
12657</p>
12658
12659<pre>
12660<a href="postconf.5.html#smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> = 1000
12661</pre>
12662
12663
12664</DD>
12665
12666<DT><b><a name="smtpd_client_restrictions">smtpd_client_restrictions</a>
12667(default: empty)</b></DT><DD>
12668
12669<p>
12670Optional restrictions that the Postfix SMTP server applies in the
12671context of a client connection request.
12672See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
12673restriction lists" for a discussion of evaluation context and time.
12674</p>
12675
12676<p>
12677The default is to allow all connection requests.
12678</p>
12679
12680<p>
12681Specify a list of restrictions, separated by commas and/or whitespace.
12682Continue long lines by starting the next line with whitespace.
12683Restrictions are applied in the order as specified; the first
12684restriction that matches wins.
12685</p>
12686
12687<p>
12688The following restrictions are specific to client hostname or
12689client network address information.
12690</p>
12691
12692<dl>
12693
12694<dt><b><a name="check_ccert_access">check_ccert_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
12695
12696<dd> Use the remote SMTP client certificate fingerprint or the public key
12697fingerprint (Postfix 2.9 and later) as lookup key for the specified
12698<a href="access.5.html">access(5)</a> database; with Postfix version 2.2, also require that the
12699remote SMTP client certificate is verified successfully.
12700The fingerprint digest algorithm is configurable via the
12701<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
12702Postfix version 2.5).  This feature is available with Postfix version
127032.2 and later. </dd>
12704
12705<dt><b><a name="check_client_access">check_client_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
12706
12707<dd>Search the specified access database for the client hostname,
12708parent domains, client IP address, or networks obtained by stripping
12709least significant octets. See the <a href="access.5.html">access(5)</a> manual page for details. </dd>
12710
12711<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>
12712
12713<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
12714client hostname, and execute the corresponding action.  Note: a result
12715of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
12716to exclude specific hosts from blacklists.  This feature is available
12717in Postfix 2.7 and later.  </dd>
12718
12719<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>
12720
12721<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
12722the client hostname, and execute the corresponding action.  Note: a
12723result of "OK" is not allowed for safety reasons. Instead, use DUNNO
12724in order to exclude specific hosts from blacklists.  This feature is
12725available in Postfix 2.7 and later.  </dd>
12726
12727<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>
12728
12729<dd>Search the specified access database for the unverified reverse
12730client hostname, parent domains, client IP address, or networks
12731obtained by stripping least significant octets. See the <a href="access.5.html">access(5)</a>
12732manual page for details.  Note: a result of "OK" is not allowed for
12733safety reasons.  Instead, use DUNNO in order to exclude specific
12734hosts from blacklists.  This feature is available in Postfix 2.6
12735and later.</dd>
12736
12737<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>
12738
12739<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
12740unverified reverse client hostname, and execute the corresponding
12741action.  Note: a result of "OK" is not allowed for safety reasons.
12742Instead, use DUNNO in order to exclude specific hosts from blacklists.
12743This feature is available in Postfix 2.7 and later.  </dd>
12744
12745<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>
12746
12747<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
12748the unverified reverse client hostname, and execute the corresponding
12749action.  Note: a result of "OK" is not allowed for safety reasons.
12750Instead, use DUNNO in order to exclude specific hosts from blacklists.
12751This feature is available in Postfix 2.7 and later.  </dd>
12752
12753<dt><b><a name="check_sasl_access">check_sasl_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
12754
12755<dd> Use the remote SMTP client SASL user name as lookup key for
12756the specified <a href="access.5.html">access(5)</a> database. The lookup key has the form
12757"username@domainname" when the <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> parameter
12758value is non-empty.  Unlike the <a href="postconf.5.html#check_client_access">check_client_access</a> feature,
12759<a href="postconf.5.html#check_sasl_access">check_sasl_access</a> does not perform matches of parent domains or IP
12760subnet ranges.  This feature is available with Postfix version 2.11
12761and later. </dd>
12762
12763<dt><b><a name="permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
12764
12765<dd>Permit the request when the client IP address matches
12766$<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. </dd>
12767
12768<dt><b><a name="permit_mynetworks">permit_mynetworks</a></b></dt>
12769
12770<dd>Permit the request when the client IP address matches any
12771network or network address listed in  $<a href="postconf.5.html#mynetworks">mynetworks</a>. </dd>
12772
12773<dt><b><a name="permit_sasl_authenticated">permit_sasl_authenticated</a></b></dt>
12774
12775<dd> Permit the request when the client is successfully
12776authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH) protocol. </dd>
12777
12778<dt><b><a name="permit_tls_all_clientcerts">permit_tls_all_clientcerts</a></b></dt>
12779
12780<dd> Permit the request when the remote SMTP client certificate is
12781verified successfully.  This option must be used only if a special
12782CA issues the certificates and only this CA is listed as trusted
12783CA. Otherwise, clients with a third-party certificate would also
12784be allowed to relay.  Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" when the
12785trusted 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>,
12786to prevent Postfix from appending the system-supplied default CAs.
12787This feature is available with Postfix version 2.2.</dd>
12788
12789<dt><b><a name="permit_tls_clientcerts">permit_tls_clientcerts</a></b></dt>
12790
12791<dd>Permit the request when the remote SMTP client certificate
12792fingerprint or public key fingerprint (Postfix 2.9 and later) is
12793listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
12794The fingerprint digest algorithm is configurable via the
12795<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
12796Postfix version 2.5).  This feature is available with Postfix version
127972.2. </dd>
12798
12799<dt><b><a name="reject_rbl_client">reject_rbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
12800
12801<dd>Reject the request when the reversed client network address is
12802listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
12803(Postfix version 2.1 and later only).  Each "<i>d</i>" is a number,
12804or a pattern inside "[]" that contains one or more ";"-separated
12805numbers or number..number ranges (Postfix version 2.8 and later).
12806If no "<i>=d.d.d.d</i>" is specified, reject the request when the
12807reversed client network address is listed with any A record under
12808<i>rbl_domain</i>. <br>
12809The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
12810rejected requests (default:  554), the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a>  parameter
12811specifies the default server reply, and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a>  parameter
12812specifies tables with server replies indexed by <i>rbl_domain</i>.
12813This feature is available in Postfix 2.0 and later.  </dd>
12814
12815<dt><b><a name="permit_dnswl_client">permit_dnswl_client <i>dnswl_domain=d.d.d.d</i></a></b></dt>
12816
12817<dd>Accept the request when the reversed client network address is
12818listed with the A record "<i>d.d.d.d</i>" under <i>dnswl_domain</i>.
12819Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
12820one or more ";"-separated numbers or number..number ranges.
12821If no "<i>=d.d.d.d</i>" is specified, accept the request when the
12822reversed client network address is listed with any A record under
12823<i>dnswl_domain</i>. <br> For safety, <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a> is silently
12824ignored when it would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>.  The
12825result is DEFER_IF_REJECT when whitelist lookup fails.  This feature
12826is available in Postfix 2.8 and later.  </dd>
12827
12828<dt><b><a name="reject_rhsbl_client">reject_rhsbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
12829
12830<dd>Reject the request when the client hostname is listed with the
12831A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
128322.1 and later only).  Each "<i>d</i>" is a number, or a pattern
12833inside "[]" that contains one or more ";"-separated numbers or
12834number..number ranges (Postfix version 2.8 and later).  If no
12835"<i>=d.d.d.d</i>" is specified, reject the request when the client
12836hostname is listed with
12837any A record under <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a>
12838description above for additional RBL related configuration parameters.
12839This feature is available in Postfix 2.0 and later; with Postfix
12840version 2.8 and later, <a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a> will usually
12841produce better results.  </dd>
12842
12843<dt><b><a name="permit_rhswl_client">permit_rhswl_client <i>rhswl_domain=d.d.d.d</i></a></b></dt>
12844
12845<dd>Accept the request when the client hostname is listed with the
12846A record "<i>d.d.d.d</i>" under <i>rhswl_domain</i>.  Each "<i>d</i>"
12847is a number, or a pattern inside "[]" that contains one or more
12848";"-separated numbers or number..number ranges. If no
12849"<i>=d.d.d.d</i>" is specified, accept the request when the client
12850hostname is listed with any A record under <i>rhswl_domain</i>.
12851<br> Caution: client name whitelisting is fragile, since the client
12852name lookup can fail due to temporary outages.  Client name
12853whitelisting should be used only to reduce false positives in e.g.
12854DNS-based blocklists, and not for making access rule exceptions.
12855<br> For safety, <a href="postconf.5.html#permit_rhswl_client">permit_rhswl_client</a> is silently ignored when it
12856would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>.  The result is DEFER_IF_REJECT
12857when whitelist lookup fails.  This feature is available in Postfix
128582.8 and later.  </dd>
12859
12860<dt><b><a name="reject_rhsbl_reverse_client">reject_rhsbl_reverse_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
12861
12862<dd>Reject the request when the unverified reverse client hostname
12863is listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>.
12864Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
12865one or more ";"-separated numbers or number..number ranges.
12866If no "<i>=d.d.d.d</i>" is specified, reject the request when the
12867unverified reverse client hostname is listed with any A record under
12868<i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description above for
12869additional RBL related configuration parameters.  This feature is
12870available in Postfix 2.8 and later.  </dd>
12871
12872<dt><b><a name="reject_unknown_client_hostname">reject_unknown_client_hostname</a></b> (with Postfix &lt; 2.3: reject_unknown_client)</dt>
12873
12874<dd>Reject the request when 1) the client IP address-&gt;name mapping
12875fails, 2) the name-&gt;address mapping fails, or 3) the name-&gt;address
12876mapping does not match the client IP address.  <br> This is a
12877stronger restriction than the <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a>
12878feature, which triggers only under condition 1) above. <br> The
12879<a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response code
12880for rejected requests (default: 450). The reply is always 450 in
12881case the address-&gt;name or name-&gt;address lookup failed due to
12882a temporary problem. </dd>
12883
12884<dt><b><a name="reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a></b></dt>
12885
12886<dd>Reject the request when the client IP address has no address-&gt;name
12887mapping. <br> This is a weaker restriction than the
12888<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> feature, which requires not only
12889that the address-&gt;name and name-&gt;address mappings exist, but
12890also that the two mappings reproduce the client IP address.  <br>
12891The <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response
12892code for rejected requests (default: 450).  The reply is always 450
12893in case the address-&gt;name lookup failed due to a temporary
12894problem. <br> This feature is available in Postfix 2.3 and
12895later.  </dd>
12896
12897</dl>
12898
12899<p>
12900In addition, you can use any of the following <a name="generic">
12901generic</a> restrictions.  These restrictions are applicable in
12902any SMTP command context.
12903</p>
12904
12905<dl>
12906
12907<dt><b><a name="check_policy_service">check_policy_service <i>servername</i></a></b></dt>
12908
12909<dd>Query the specified policy server. See the <a href="SMTPD_POLICY_README.html">SMTPD_POLICY_README</a>
12910document for details. This feature is available in Postfix 2.1
12911and later. </dd>
12912
12913<dt><b><a name="defer">defer</a></b></dt>
12914
12915<dd>Defer the request. The client is told to try again later. This
12916restriction is useful at the end of a restriction list, to make
12917the default policy explicit. <br> The <a href="postconf.5.html#defer_code">defer_code</a> parameter specifies
12918the SMTP server reply code (default: 450).</dd>
12919
12920<dt><b><a name="defer_if_permit">defer_if_permit</a></b></dt>
12921
12922<dd>Defer the request if some later restriction would result in an
12923explicit or implicit PERMIT action.  This is useful when a blacklisting
12924feature fails due to a temporary problem.  This feature is available
12925in Postfix version 2.1 and later.  </dd>
12926
12927<dt><b><a name="defer_if_reject">defer_if_reject</a></b></dt>
12928
12929<dd>Defer the request if some later restriction would result in a
12930REJECT action.  This is useful when a whitelisting feature fails
12931due to a temporary problem.  This feature is available in Postfix
12932version 2.1 and later.  </dd>
12933
12934<dt><b><a name="permit">permit</a></b></dt>
12935
12936<dd>Permit the request. This restriction is useful at the end of
12937a restriction list, to make the default policy explicit.</dd>
12938
12939<dt><b><a name="reject_multi_recipient_bounce">reject_multi_recipient_bounce</a></b></dt>
12940
12941<dd>Reject the request when the envelope sender is the null address,
12942and the message has multiple envelope recipients. This usage has
12943rare but legitimate applications: under certain conditions,
12944multi-recipient mail that was posted with the DSN option NOTIFY=NEVER
12945may be forwarded with the null sender address.
12946<br> Note: this restriction can only work reliably
12947when used in <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> or
12948<a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>, because the total number of
12949recipients is not known at an earlier stage of the SMTP conversation.
12950Use at the RCPT stage will only reject the second etc.  recipient.
12951<br>
12952The <a href="postconf.5.html#multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> parameter specifies the
12953response code for rejected requests (default:  550).  This feature
12954is available in Postfix 2.1 and later. </dd>
12955
12956<dt><b><a name="reject_plaintext_session">reject_plaintext_session</a></b></dt>
12957
12958<dd>Reject the request when the connection is not encrypted. This
12959restriction should not be used before the client has had a chance
12960to negotiate encryption with the AUTH or STARTTLS commands.
12961<br>
12962The <a href="postconf.5.html#plaintext_reject_code">plaintext_reject_code</a> parameter specifies the response
12963code for rejected requests (default:  450).  This feature is available
12964in Postfix 2.3 and later. </dd>
12965
12966<dt><b><a name="reject_unauth_pipelining">reject_unauth_pipelining</a></b></dt>
12967
12968<dd>Reject the request when the client sends SMTP commands ahead
12969of time where it is not allowed, or when the client sends SMTP
12970commands ahead of time without knowing that Postfix actually supports
12971ESMTP command pipelining. This stops mail from bulk mail software
12972that improperly uses ESMTP command pipelining in order to speed up
12973deliveries.
12974<br> With Postfix 2.6 and later, the SMTP server sets a per-session
12975flag whenever it detects illegal pipelining, including pipelined
12976EHLO or HELO commands. The <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> feature simply
12977tests whether the flag was set at any point in time during the
12978session.
12979<br> With older Postfix versions, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> checks
12980the current status of the input read queue, and its usage is not
12981recommended in contexts other than <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a>.  </dd>
12982
12983<dt><b><a name="reject">reject</a></b></dt>
12984
12985<dd>Reject the request. This restriction is useful at the end of
12986a restriction list, to make the default policy explicit.  The
12987<a href="postconf.5.html#reject_code">reject_code</a> configuration parameter specifies the response code for
12988rejected requests (default: 554).</dd>
12989
12990<dt><b><a name="sleep">sleep <i>seconds</i></a></b></dt>
12991
12992<dd>Pause for the specified number of seconds and proceed with
12993the next restriction in the list, if any. This may stop zombie
12994mail when used as:
12995<pre>
12996/etc/postfix/<a href="postconf.5.html">main.cf</a>:
12997    <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
12998        sleep 1, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
12999    <a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = no
13000</pre>
13001This feature is available in Postfix 2.3. </dd>
13002
13003<dt><b><a name="warn_if_reject">warn_if_reject</a></b></dt>
13004
13005<dd> A safety net for testing. When "<a href="postconf.5.html#warn_if_reject">warn_if_reject</a>" is placed
13006before a reject-type restriction, access table query, or
13007<a href="postconf.5.html#check_policy_service">check_policy_service</a> query, this logs a "reject_warning" message
13008instead of rejecting a request (when a reject-type restriction fails
13009due to a temporary error, this logs a "reject_warning" message for
13010any implicit "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" actions that would normally prevent
13011mail from being accepted by some later access restriction). This
13012feature has no effect on <a href="postconf.5.html#defer_if_reject">defer_if_reject</a> restrictions.  </dd>
13013
13014</dl>
13015
13016<p>
13017Other restrictions that are valid in this context:
13018</p>
13019
13020<ul>
13021
13022<li> SMTP command specific restrictions that are described under
13023the <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
13024<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameters. When helo, sender or
13025recipient restrictions are listed under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>,
13026they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
13027$<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> is evaluated at the time of the RCPT TO
13028command.
13029
13030</ul>
13031
13032<p>
13033Example:
13034</p>
13035
13036<pre>
13037<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>
13038</pre>
13039
13040
13041</DD>
13042
13043<DT><b><a name="smtpd_command_filter">smtpd_command_filter</a>
13044(default: empty)</b></DT><DD>
13045
13046<p> A mechanism to transform commands from remote SMTP clients.
13047This is a last-resort tool to work around client commands that break
13048inter-operability with the Postfix SMTP server.  Other uses involve
13049fault injection to test Postfix's handling of invalid commands.
13050</p>
13051
13052<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
13053string is the SMTP command as received from the remote SMTP client,
13054except that initial whitespace and the trailing &lt;CR&gt;&lt;LF&gt;
13055are removed.  The result value is executed by the Postfix SMTP
13056server.  </p>
13057
13058<p> There is no need to use <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for the following
13059cases: </p>
13060
13061<ul>
13062
13063<li> <p> Use "<a href="postconf.5.html#resolve_numeric_domain">resolve_numeric_domain</a> = yes" to accept
13064"<i>user@ipaddress</i>". </p>
13065
13066<li> <p> Postfix already accepts the correct form
13067"<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>
13068to translate these into domain names if necessary.  </p>
13069
13070<li> <p> Use "<a href="postconf.5.html#strict_rfc821_envelopes">strict_rfc821_envelopes</a> = no" to accept "RCPT TO:&lt;<i>User
13071Name &lt;user@example.com&gt;&gt;</i>". Postfix will ignore the "<i>User
13072Name</i>" part and deliver to the <i>&lt;user@example.com&gt;</i> address.
13073</p>
13074
13075</ul>
13076
13077<p> Examples of problems that can be solved with the <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>
13078feature: </p>
13079
13080<pre>
13081/etc/postfix/<a href="postconf.5.html">main.cf</a>:
13082    <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/command_filter
13083</pre>
13084
13085<pre>
13086/etc/postfix/command_filter:
13087    # Work around clients that send malformed HELO commands.
13088    /^HELO\s*$/ HELO domain.invalid
13089</pre>
13090
13091<pre>
13092    # Work around clients that send empty lines.
13093    /^\s*$/     NOOP
13094</pre>
13095
13096<pre>
13097    # Work around clients that send RCPT TO:&lt;'user@domain'&gt;.
13098    # WARNING: do not lose the parameters that follow the address.
13099    /^RCPT\s+TO:\s*&lt;'([^[:space:]]+)'&gt;(.*)/     RCPT TO:&lt;$1&gt;$2
13100</pre>
13101
13102<pre>
13103    # Append XVERP to MAIL FROM commands to request VERP-style delivery.
13104    # See <a href="VERP_README.html">VERP_README</a> for more information on how to use Postfix VERP.
13105    /^(MAIL FROM:&lt;listname@example\.com&gt;.*)/   $1 XVERP
13106</pre>
13107
13108<pre>
13109    # Bounce-never mail sink. Use <a href="postconf.5.html#notify_classes">notify_classes</a>=bounce,resource,software
13110    # to send bounced mail to the postmaster (with message body removed).
13111    /^(RCPT\s+TO:&lt;.*&gt;.*)\s+NOTIFY=\S+(.*)/ $1 NOTIFY=NEVER$2
13112    /^(RCPT\s+TO:.*)/                    $1 NOTIFY=NEVER
13113</pre>
13114
13115<p> This feature is available in Postfix 2.7. </p>
13116
13117
13118</DD>
13119
13120<DT><b><a name="smtpd_data_restrictions">smtpd_data_restrictions</a>
13121(default: empty)</b></DT><DD>
13122
13123<p>
13124Optional access restrictions that the Postfix SMTP server applies
13125in the context of the SMTP DATA command.
13126See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
13127restriction lists" for a discussion of evaluation context and time.
13128</p>
13129
13130<p>
13131This feature is available in Postfix 2.0 and later.
13132</p>
13133
13134<p>
13135Specify a list of restrictions, separated by commas and/or whitespace.
13136Continue long lines by starting the next line with whitespace.
13137Restrictions are applied in the order as specified; the first
13138restriction that matches wins.
13139</p>
13140
13141<p>
13142The following restrictions are valid in this context:
13143</p>
13144
13145<ul>
13146
13147<li><a href="#generic">Generic</a> restrictions that can be used
13148in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
13149
13150<li>SMTP command specific restrictions described under
13151<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
13152<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>.
13153
13154<li>However, no recipient information is available in the case of
13155multi-recipient mail. Acting on only one recipient would be misleading,
13156because any decision will affect all recipients equally. Acting on
13157all recipients would require a possibly very large amount of memory,
13158and would also be misleading for the reasons mentioned before.
13159
13160</ul>
13161
13162<p>
13163Examples:
13164</p>
13165
13166<pre>
13167<a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
13168<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>
13169</pre>
13170
13171
13172</DD>
13173
13174<DT><b><a name="smtpd_delay_open_until_valid_rcpt">smtpd_delay_open_until_valid_rcpt</a>
13175(default: yes)</b></DT><DD>
13176
13177<p> Postpone the start of an SMTP mail transaction until a valid
13178RCPT TO command is received. Specify "no" to create a mail transaction
13179as soon as the Postfix SMTP server receives a valid MAIL FROM
13180command. </p>
13181
13182<p> With sites that reject lots of mail, the default setting reduces
13183the use of
13184disk, CPU and memory resources. The downside is that rejected
13185recipients are logged with NOQUEUE instead of a mail transaction
13186ID. This complicates the logfile analysis of multi-recipient mail.
13187</p>
13188
13189<p> This feature is available in Postfix 2.3 and later. </p>
13190
13191
13192</DD>
13193
13194<DT><b><a name="smtpd_delay_reject">smtpd_delay_reject</a>
13195(default: yes)</b></DT><DD>
13196
13197<p>
13198Wait until the RCPT TO command before evaluating
13199$<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
13200$<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, or wait until the ETRN command before
13201evaluating $<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>.
13202</p>
13203
13204<p>
13205This feature is turned on by default because some clients apparently
13206mis-behave when the Postfix SMTP server rejects commands before
13207RCPT TO.
13208</p>
13209
13210<p>
13211The default setting has one major benefit: it allows Postfix to log
13212recipient address information when rejecting a client name/address
13213or sender address, so that it is possible to find out whose mail
13214is being rejected.
13215</p>
13216
13217
13218</DD>
13219
13220<DT><b><a name="smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>
13221(default: empty)</b></DT><DD>
13222
13223<p> Lookup tables, indexed by the remote SMTP client address, with
13224case insensitive lists of EHLO keywords (pipelining, starttls, auth,
13225etc.) that the Postfix SMTP server will not send in the EHLO response
13226to a
13227remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
13228The table is not searched by hostname for robustness reasons.  </p>
13229
13230<p> This feature is available in Postfix 2.2 and later. </p>
13231
13232
13233</DD>
13234
13235<DT><b><a name="smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
13236(default: empty)</b></DT><DD>
13237
13238<p> A case insensitive list of EHLO keywords (pipelining, starttls,
13239auth, etc.) that the Postfix SMTP server will not send in the EHLO
13240response
13241to a remote SMTP client. </p>
13242
13243<p> This feature is available in Postfix 2.2 and later. </p>
13244
13245<p> Notes: </p>
13246
13247<ul>
13248
13249<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
13250this action from being logged. </p>
13251
13252<li> <p> Use the <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> feature
13253to discard EHLO keywords selectively.  </p>
13254
13255</ul>
13256
13257
13258</DD>
13259
13260<DT><b><a name="smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>
13261(default: empty)</b></DT><DD>
13262
13263<p> Optional access restrictions that the Postfix SMTP server
13264applies in the context of the SMTP END-OF-DATA command.
13265See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
13266restriction lists" for a discussion of evaluation context and time.
13267</p>
13268
13269<p> This feature is available in Postfix 2.2 and later. </p>
13270
13271<p> See <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> for details and limitations. </p>
13272
13273
13274</DD>
13275
13276<DT><b><a name="smtpd_enforce_tls">smtpd_enforce_tls</a>
13277(default: no)</b></DT><DD>
13278
13279<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients,
13280and require that clients use TLS encryption.  According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a>
13281this MUST NOT be applied in case of a publicly-referenced SMTP
13282server.  This option is therefore off by default. </p>
13283
13284<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>
13285
13286<p> Note 2: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
13287STARTTLS due to insufficient privileges to access the server private
13288key. This is intended behavior. </p>
13289
13290<p> This feature is available in Postfix 2.2 and later. With
13291Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
13292
13293
13294</DD>
13295
13296<DT><b><a name="smtpd_error_sleep_time">smtpd_error_sleep_time</a>
13297(default: 1s)</b></DT><DD>
13298
13299<p>With Postfix version 2.1 and later: the SMTP server response delay after
13300a client has made more than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors, and
13301fewer than $<a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a> errors, without delivering mail.
13302</p>
13303
13304<p>With Postfix version 2.0 and earlier: the SMTP server delay before
13305sending a reject (4xx or 5xx) response, when the client has made
13306fewer than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors without delivering
13307mail. </p>
13308
13309
13310</DD>
13311
13312<DT><b><a name="smtpd_etrn_restrictions">smtpd_etrn_restrictions</a>
13313(default: empty)</b></DT><DD>
13314
13315<p>
13316Optional restrictions that the Postfix SMTP server applies in the
13317context of a client ETRN command.
13318See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
13319restriction lists" for a discussion of evaluation context and time.
13320</p>
13321
13322<p>
13323The Postfix ETRN implementation accepts only destinations that are
13324eligible for the Postfix "fast flush" service. See the <a href="ETRN_README.html">ETRN_README</a>
13325file for details.
13326</p>
13327
13328<p>
13329Specify a list of restrictions, separated by commas and/or whitespace.
13330Continue long lines by starting the next line with whitespace.
13331Restrictions are applied in the order as specified; the first
13332restriction that matches wins.
13333</p>
13334
13335<p>
13336The following restrictions are specific to the domain name information
13337received with the ETRN command.
13338</p>
13339
13340<dl>
13341
13342<dt><b><a name="check_etrn_access">check_etrn_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
13343
13344<dd>Search the specified access database for the ETRN domain name
13345or its parent domains. See the <a href="access.5.html">access(5)</a> manual page for details.
13346</dd>
13347
13348</dl>
13349
13350<p>
13351Other restrictions that are valid in this context:
13352</p>
13353
13354<ul>
13355
13356<li><a href="#generic">Generic</a> restrictions that can be used
13357in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
13358
13359<li>SMTP command specific restrictions described under
13360<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>.
13361
13362</ul>
13363
13364<p>
13365Example:
13366</p>
13367
13368<pre>
13369<a href="postconf.5.html#smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, reject
13370</pre>
13371
13372
13373</DD>
13374
13375<DT><b><a name="smtpd_expansion_filter">smtpd_expansion_filter</a>
13376(default: see "postconf -d" output)</b></DT><DD>
13377
13378<p>
13379What characters are allowed in $name expansions of RBL reply
13380templates. Characters not in the allowed set are replaced by "_".
13381Use C like escapes to specify special characters such as whitespace.
13382</p>
13383
13384<p>
13385This parameter is not subjected to $parameter expansion.
13386</p>
13387
13388<p>
13389This feature is available in Postfix 2.0 and later.
13390</p>
13391
13392
13393</DD>
13394
13395<DT><b><a name="smtpd_forbidden_commands">smtpd_forbidden_commands</a>
13396(default: CONNECT, GET, POST)</b></DT><DD>
13397
13398<p>
13399List of commands that cause the Postfix SMTP server to immediately
13400terminate the session with a 221 code. This can be used to disconnect
13401clients that obviously attempt to abuse the system. In addition to the
13402commands listed in this parameter, commands that follow the "Label:"
13403format of message headers will also cause a disconnect.
13404</p>
13405
13406<p>
13407This feature is available in Postfix 2.2 and later.
13408</p>
13409
13410
13411</DD>
13412
13413<DT><b><a name="smtpd_hard_error_limit">smtpd_hard_error_limit</a>
13414(default: normal: 20, overload: 1)</b></DT><DD>
13415
13416<p>
13417The maximal number of errors a remote SMTP client is allowed to
13418make without delivering mail. The Postfix SMTP server disconnects
13419when the limit is exceeded. Normally the default limit is 20, but
13420it changes under overload to just 1. With Postfix 2.5 and earlier,
13421the SMTP server always allows up to 20 errors by default.
13422
13423</p>
13424
13425
13426</DD>
13427
13428<DT><b><a name="smtpd_helo_required">smtpd_helo_required</a>
13429(default: no)</b></DT><DD>
13430
13431<p>
13432Require that a remote SMTP client introduces itself with the HELO
13433or EHLO command before sending the MAIL command or other commands
13434that require EHLO negotiation.
13435</p>
13436
13437<p>
13438Example:
13439</p>
13440
13441<pre>
13442<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes
13443</pre>
13444
13445
13446</DD>
13447
13448<DT><b><a name="smtpd_helo_restrictions">smtpd_helo_restrictions</a>
13449(default: empty)</b></DT><DD>
13450
13451<p>
13452Optional restrictions that the Postfix SMTP server applies in the
13453context of a client HELO command.
13454See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
13455restriction lists" for a discussion of evaluation context and time.
13456</p>
13457
13458<p>
13459The default is to permit everything.
13460</p>
13461
13462<p> Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
13463restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
13464simply skip <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> by not sending HELO or EHLO).
13465</p>
13466
13467<p>
13468Specify a list of restrictions, separated by commas and/or whitespace.
13469Continue long lines by starting the next line with whitespace.
13470Restrictions are applied in the order as specified; the first
13471restriction that matches wins.
13472</p>
13473
13474<p>
13475The following restrictions are specific to the hostname information
13476received with the HELO or EHLO command.
13477</p>
13478
13479<dl>
13480
13481<dt><b><a name="check_helo_access">check_helo_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
13482
13483<dd>Search the specified <a href="access.5.html">access(5)</a> database for the HELO or EHLO
13484hostname or parent domains, and execute the corresponding action.
13485Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
13486restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
13487simply skip <a href="postconf.5.html#check_helo_access">check_helo_access</a> by not sending HELO or EHLO).  </dd>
13488
13489<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>
13490
13491<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
13492the HELO or EHLO hostname, and execute the corresponding action.
13493Note 1: a result of "OK" is not allowed for safety reasons. Instead,
13494use DUNNO in order to exclude specific hosts from blacklists.  Note
134952: 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_mx_access">check_helo_mx_access</a> by not sending HELO or EHLO).  This
13498feature is available in Postfix 2.1 and later.
13499</dd>
13500
13501<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>
13502
13503<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
13504for the HELO or EHLO hostname, and execute the corresponding action.
13505Note 1: a result of "OK" is not allowed for safety reasons. Instead,
13506use DUNNO in order to exclude specific hosts from blacklists.  Note
135072: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
13508restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
13509simply skip <a href="postconf.5.html#check_helo_ns_access">check_helo_ns_access</a> by not sending HELO or EHLO). This
13510feature is available in Postfix 2.1 and later.
13511</dd>
13512
13513<dt><b><a name="reject_invalid_helo_hostname">reject_invalid_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_invalid_hostname)</dt>
13514
13515<dd>Reject the request when the HELO or EHLO hostname is malformed.
13516Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce
13517this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply
13518skip <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> by not sending HELO or EHLO).
13519<br> The <a href="postconf.5.html#invalid_hostname_reject_code">invalid_hostname_reject_code</a> specifies the response code
13520for rejected requests (default: 501).</dd>
13521
13522<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>
13523
13524<dd>Reject the request when the HELO or EHLO hostname is not in
13525fully-qualified domain or address literal form, as required by the
13526RFC. Note: specify
13527"<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this restriction
13528(without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply skip
13529<a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a> by not sending HELO or EHLO).  <br>
13530The <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
13531rejected requests (default: 504).</dd>
13532
13533<dt><b><a name="reject_rhsbl_helo">reject_rhsbl_helo <i>rbl_domain=d.d.d.d</i></a></b></dt>
13534
13535<dd>Reject the request when the HELO or EHLO hostname is
13536listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
13537(Postfix version 2.1 and later only).  Each "<i>d</i>" is a number,
13538or a pattern inside "[]" that contains one or more ";"-separated
13539numbers or number..number ranges (Postfix version 2.8 and later).
13540If no "<i>=d.d.d.d</i>" is
13541specified, reject the request when the HELO or EHLO hostname is
13542listed with any A record under <i>rbl_domain</i>. See the
13543<a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description for additional RBL related configuration
13544parameters.  Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
13545enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
13546client can simply skip <a href="postconf.5.html#reject_rhsbl_helo">reject_rhsbl_helo</a> by not sending HELO or
13547EHLO). This feature is available in Postfix 2.0
13548and later.  </dd>
13549
13550<dt><b><a name="reject_unknown_helo_hostname">reject_unknown_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_unknown_hostname)</dt>
13551
13552<dd>Reject the request when the HELO or EHLO hostname has no DNS A
13553or MX record. <br> The <a href="postconf.5.html#unknown_hostname_reject_code">unknown_hostname_reject_code</a> parameter
13554specifies the numerical response code for rejected requests (default:
13555450). <br> The <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a> parameter
13556specifies the action after a temporary DNS error (default:
13557<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
13558enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
13559client can simply skip <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> by not sending
13560HELO or EHLO). </dd>
13561
13562</dl>
13563
13564<p>
13565Other restrictions that are valid in this context:
13566</p>
13567
13568<ul>
13569
13570<li> <a href="#generic">Generic</a> restrictions that can be used
13571in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
13572
13573<li> Client hostname or network address specific restrictions
13574described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
13575
13576<li> SMTP command specific restrictions described under
13577<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
13578sender or recipient restrictions are listed under <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
13579they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
13580$<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> is evaluated at the time of the RCPT TO
13581command.
13582
13583</ul>
13584
13585<p>
13586Examples:
13587</p>
13588
13589<pre>
13590<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>
13591<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>
13592</pre>
13593
13594
13595</DD>
13596
13597<DT><b><a name="smtpd_history_flush_threshold">smtpd_history_flush_threshold</a>
13598(default: 100)</b></DT><DD>
13599
13600<p>
13601The maximal number of lines in the Postfix SMTP server command history
13602before it is flushed upon receipt of EHLO, RSET, or end of DATA.
13603</p>
13604
13605
13606</DD>
13607
13608<DT><b><a name="smtpd_junk_command_limit">smtpd_junk_command_limit</a>
13609(default: normal: 100, overload: 1)</b></DT><DD>
13610
13611<p>
13612The number of junk commands (NOOP, VRFY, ETRN or RSET) that a remote
13613SMTP client can send before the Postfix SMTP server starts to
13614increment the error counter with each junk command.  The junk
13615command count is reset after mail is delivered.  See also the
13616<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
13617parameters.  Normally the default limit is 100, but it changes under
13618overload to just 1. With Postfix 2.5 and earlier, the SMTP server
13619always allows up to 100 junk commands by default.  </p>
13620
13621
13622</DD>
13623
13624<DT><b><a name="smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a>
13625(default: empty)</b></DT><DD>
13626
13627<p> Enable logging of the named "permit" actions in SMTP server
13628access lists (by default, the SMTP server logs "reject" actions but
13629not "permit" actions).  This feature does not affect conditional
13630actions such as "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>". </p>
13631
13632<p> Specify a list of "permit" action names, "/file/name" or
13633"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. The
13634list is matched left to right, and the search stops on the first
13635match. A "/file/name" pattern is replaced by its contents; a
13636"<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup
13637key (the lookup result is ignored).  Continue long lines by starting
13638the next line with whitespace. Specify "!pattern" to exclude a name
13639from the list. </p>
13640
13641<p> Examples: </p>
13642
13643<pre>
13644/etc/postfix/<a href="postconf.5.html">main.cf</a>:
13645    # Log all "permit" actions.
13646    <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
13647</pre>
13648
13649<pre>
13650/etc/postfix/<a href="postconf.5.html">main.cf</a>:
13651    # Log "<a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a>" only.
13652    <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>
13653</pre>
13654
13655<p> This feature is available in Postfix 2.10 and later.  </p>
13656
13657
13658</DD>
13659
13660<DT><b><a name="smtpd_milters">smtpd_milters</a>
13661(default: empty)</b></DT><DD>
13662
13663<p> A list of Milter (mail filter) applications for new mail that
13664arrives via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. Specify space or comma as
13665separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details.  </p>
13666
13667<p> This feature is available in Postfix 2.3 and later. </p>
13668
13669
13670</DD>
13671
13672<DT><b><a name="smtpd_noop_commands">smtpd_noop_commands</a>
13673(default: empty)</b></DT><DD>
13674
13675<p>
13676List of commands that the Postfix SMTP server replies to with "250
13677Ok", without doing any syntax checks and without changing state.
13678This list overrides any commands built into the Postfix SMTP server.
13679</p>
13680
13681
13682</DD>
13683
13684<DT><b><a name="smtpd_null_access_lookup_key">smtpd_null_access_lookup_key</a>
13685(default: &lt;&gt;)</b></DT><DD>
13686
13687<p>
13688The lookup key to be used in SMTP <a href="access.5.html">access(5)</a> tables instead of the
13689null sender address.
13690</p>
13691
13692
13693</DD>
13694
13695<DT><b><a name="smtpd_peername_lookup">smtpd_peername_lookup</a>
13696(default: yes)</b></DT><DD>
13697
13698<p> Attempt to look up the remote SMTP client hostname, and verify that
13699the name matches the client IP address. A client name is set to
13700"unknown" when it cannot be looked up or verified, or when name
13701lookup is disabled.  Turning off name lookup reduces delays due to
13702DNS lookup and increases the maximal inbound delivery rate. </p>
13703
13704<p> This feature is available in Postfix 2.3 and later.  </p>
13705
13706
13707</DD>
13708
13709<DT><b><a name="smtpd_per_record_deadline">smtpd_per_record_deadline</a>
13710(default: normal: no, overload: yes)</b></DT><DD>
13711
13712<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>
13713time limits, from a
13714time limit per read or write system call, to a time limit to send
13715or receive a complete record (an SMTP command line, SMTP response
13716line, SMTP message content line, or TLS protocol message).  This
13717limits the impact from hostile peers that trickle data one byte at
13718a time.  </p>
13719
13720<p> Note: when per-record deadlines are enabled, a short timeout
13721may cause problems with TLS over very slow network connections.
13722The reasons are that a TLS protocol message can be up to 16 kbytes
13723long (with TLSv1), and that an entire TLS protocol message must be
13724sent or received within the per-record deadline.  </p>
13725
13726<p> This feature is available in Postfix 2.9 and later. With older
13727Postfix releases, the behavior is as if this parameter is set to
13728"no". </p>
13729
13730
13731</DD>
13732
13733<DT><b><a name="smtpd_policy_service_max_idle">smtpd_policy_service_max_idle</a>
13734(default: 300s)</b></DT><DD>
13735
13736<p>
13737The time after which an idle SMTPD policy service connection is
13738closed.
13739</p>
13740
13741<p>
13742This feature is available in Postfix 2.1 and later.
13743</p>
13744
13745
13746</DD>
13747
13748<DT><b><a name="smtpd_policy_service_max_ttl">smtpd_policy_service_max_ttl</a>
13749(default: 1000s)</b></DT><DD>
13750
13751<p>
13752The time after which an active SMTPD policy service connection is
13753closed.
13754</p>
13755
13756<p>
13757This feature is available in Postfix 2.1 and later.
13758</p>
13759
13760
13761</DD>
13762
13763<DT><b><a name="smtpd_policy_service_timeout">smtpd_policy_service_timeout</a>
13764(default: 100s)</b></DT><DD>
13765
13766<p>
13767The time limit for connecting to, writing to or receiving from a
13768delegated SMTPD policy server.
13769</p>
13770
13771<p>
13772This feature is available in Postfix 2.1 and later.
13773</p>
13774
13775
13776</DD>
13777
13778<DT><b><a name="smtpd_proxy_ehlo">smtpd_proxy_ehlo</a>
13779(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
13780
13781<p>
13782How the Postfix SMTP server announces itself to the proxy filter.
13783By default, the Postfix hostname is used.
13784</p>
13785
13786<p>
13787This feature is available in Postfix 2.1 and later.
13788</p>
13789
13790
13791</DD>
13792
13793<DT><b><a name="smtpd_proxy_filter">smtpd_proxy_filter</a>
13794(default: empty)</b></DT><DD>
13795
13796<p> The hostname and TCP port of the mail filtering proxy server.
13797The proxy receives all mail from the Postfix SMTP server, and is
13798supposed to give the result to another Postfix SMTP server process.
13799</p>
13800
13801<p> Specify "host:port" or "inet:host:port" for a TCP endpoint, or
13802"unix:pathname" for a UNIX-domain endpoint. The host can be specified
13803as an IP address or as a symbolic name; no MX lookups are done.
13804When no "host" or "host:"  are specified, the local machine is
13805assumed.  Pathname interpretation is relative to the Postfix queue
13806directory.  </p>
13807
13808<p> This feature is available in Postfix 2.1 and later.  </p>
13809
13810<p> The "inet:" and "unix:" prefixes are available in Postfix 2.3
13811and later.  </p>
13812
13813
13814</DD>
13815
13816<DT><b><a name="smtpd_proxy_options">smtpd_proxy_options</a>
13817(default: empty)</b></DT><DD>
13818
13819<p>
13820List of options that control how the Postfix SMTP server
13821communicates with a before-queue content filter. Specify zero or
13822more of the following, separated by comma or whitespace.  </p>
13823
13824<dl>
13825
13826<dt><b>speed_adjust</b></dt>
13827
13828<dd> <p> Do not connect to a before-queue content filter until an entire
13829message has been received. This reduces the number of simultaneous
13830before-queue content filter processes. </p>
13831
13832<p> NOTE 1: A filter must not <i>selectively</i> reject recipients
13833of a multi-recipient message.  Rejecting all recipients is OK, as
13834is accepting all recipients. </p>
13835
13836<p> NOTE 2: This feature increases the minimum amount of free queue
13837space by $<a href="postconf.5.html#message_size_limit">message_size_limit</a>. The extra space is needed to save the
13838message to a temporary file. </p> </dd>
13839
13840</dl>
13841
13842<p>
13843This feature is available in Postfix 2.7 and later.
13844</p>
13845
13846
13847</DD>
13848
13849<DT><b><a name="smtpd_proxy_timeout">smtpd_proxy_timeout</a>
13850(default: 100s)</b></DT><DD>
13851
13852<p>
13853The time limit for connecting to a proxy filter and for sending or
13854receiving information.  When a connection fails the client gets a
13855generic error message while more detailed information is logged to
13856the maillog file.
13857</p>
13858
13859<p>
13860Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
13861The default time unit is s (seconds).
13862</p>
13863
13864<p>
13865This feature is available in Postfix 2.1 and later.
13866</p>
13867
13868
13869</DD>
13870
13871<DT><b><a name="smtpd_recipient_limit">smtpd_recipient_limit</a>
13872(default: 1000)</b></DT><DD>
13873
13874<p>
13875The maximal number of recipients that the Postfix SMTP server
13876accepts per message delivery request.
13877</p>
13878
13879
13880</DD>
13881
13882<DT><b><a name="smtpd_recipient_overshoot_limit">smtpd_recipient_overshoot_limit</a>
13883(default: 1000)</b></DT><DD>
13884
13885<p> The number of recipients that a remote SMTP client can send in
13886excess of the limit specified with $<a href="postconf.5.html#smtpd_recipient_limit">smtpd_recipient_limit</a>, before
13887the Postfix SMTP server increments the per-session error count
13888for each excess recipient.  </p>
13889
13890
13891</DD>
13892
13893<DT><b><a name="smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>
13894(default: see "postconf -d" output)</b></DT><DD>
13895
13896<p>
13897Optional restrictions that the Postfix SMTP server applies in the
13898context of a client RCPT TO command, after <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
13899See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
13900restriction lists" for a discussion of evaluation context and time.
13901</p>
13902
13903<p> With Postfix versions before 2.10, the rules for relay permission
13904and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
13905resulting in error-prone configuration.  As of Postfix 2.10, relay
13906permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
13907so that a permissive spam blocking policy under
13908<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
13909mail relay policy.  </p>
13910
13911<p> For backwards compatibility, sites that migrate from Postfix
13912versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
13913value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
13914
13915<p>
13916IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
13917<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
13918at least one of the following restrictions. Otherwise Postfix will
13919refuse to receive mail:
13920</p>
13921
13922<blockquote>
13923<pre>
13924reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
13925</pre>
13926</blockquote>
13927
13928<blockquote>
13929<pre>
13930defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
13931</pre>
13932</blockquote>
13933
13934<p>
13935Specify a list of restrictions, separated by commas and/or whitespace.
13936Continue long lines by starting the next line with whitespace.
13937Restrictions are applied in the order as specified; the first
13938restriction that matches wins.
13939</p>
13940
13941<p>
13942The following restrictions are specific to the recipient address
13943that is received with the RCPT TO command.
13944</p>
13945
13946<dl>
13947
13948<dt><b><a name="check_recipient_access">check_recipient_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
13949
13950<dd>Search the specified <a href="access.5.html">access(5)</a> database for the resolved RCPT
13951TO address, domain, parent domains, or localpart@, and execute the
13952corresponding action.  </dd>
13953
13954<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>
13955
13956<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
13957the RCPT TO domain, and execute the corresponding action.  Note:
13958a result of "OK" is not allowed for safety reasons. Instead, use
13959DUNNO in order to exclude specific hosts from blacklists.  This
13960feature is available in Postfix 2.1 and later. </dd>
13961
13962<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>
13963
13964<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
13965for the RCPT TO domain, and execute the corresponding action.
13966Note: a result of "OK" is not allowed for safety reasons. Instead,
13967use DUNNO in order to exclude specific hosts from blacklists.  This
13968feature is available in Postfix 2.1 and later.  </dd>
13969
13970<dt><b><a name="permit_auth_destination">permit_auth_destination</a></b></dt>
13971
13972<dd>Permit the request when one of the following is true:
13973
13974<ul>
13975
13976<li> Postfix is mail forwarder: the resolved RCPT TO domain matches
13977$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and the address contains no
13978sender-specified routing (user@elsewhere@domain),
13979
13980<li> Postfix is the final destination: the resolved RCPT TO domain
13981matches $<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>,
13982$<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
13983contains no sender-specified routing (user@elsewhere@domain).
13984
13985</ul></dd>
13986
13987<dt><b><a name="permit_mx_backup">permit_mx_backup</a></b></dt>
13988
13989<dd>Permit the request when the local mail system is backup MX for
13990the RCPT TO domain, or when the domain is an authorized destination
13991(see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> for definition).
13992
13993<ul>
13994
13995<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> does not accept addresses that have
13996sender-specified routing information (example: user@elsewhere@domain).
13997
13998<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> can be vulnerable to mis-use when
13999access is not restricted with <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>.
14000
14001<li> Safety: as of Postfix version 2.3, <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> no longer
14002accepts the address when the local mail system is primary MX for
14003the recipient domain.  Exception: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> accepts the address
14004when it specifies an authorized destination (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
14005for definition).
14006
14007<li> Limitation: mail may be rejected in case of a temporary DNS
14008lookup problem with Postfix prior to version 2.0.
14009
14010</ul></dd>
14011
14012<dt><b><a name="reject_non_fqdn_recipient">reject_non_fqdn_recipient</a></b></dt>
14013
14014<dd>Reject the request when the RCPT TO address is not in
14015fully-qualified domain form, as required by the RFC. <br> The
14016<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
14017rejected requests (default: 504). </dd>
14018
14019<dt><b><a name="reject_rhsbl_recipient">reject_rhsbl_recipient <i>rbl_domain=d.d.d.d</i></a></b></dt>
14020
14021<dd>Reject the request when the RCPT TO domain is listed with the
14022A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
140232.1 and later only).  Each "<i>d</i>" is a number, or a pattern
14024inside "[]" that contains one or more ";"-separated numbers or
14025number..number ranges (Postfix version 2.8 and later). If no
14026"<i>=d.d.d.d</i>" is specified, reject
14027the request when the RCPT TO domain is listed with
14028any A record under <i>rbl_domain</i>. <br> The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a>
14029parameter specifies the response code for rejected requests (default:
14030554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter specifies the default server
14031reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter specifies tables with server
14032replies indexed by <i>rbl_domain</i>.  This feature is available
14033in Postfix version 2.0 and later.</dd>
14034
14035<dt><b><a name="reject_unauth_destination">reject_unauth_destination</a></b></dt>
14036
14037<dd>Reject the request unless one of the following is true:
14038
14039<ul>
14040
14041<li> Postfix is mail forwarder: the resolved RCPT TO domain matches
14042$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and contains no sender-specified
14043routing (user@elsewhere@domain),
14044
14045<li> Postfix is the final destination: the resolved RCPT TO domain
14046matches $<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>,
14047$<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
14048no sender-specified routing (user@elsewhere@domain).
14049
14050</ul>The <a href="postconf.5.html#relay_domains_reject_code">relay_domains_reject_code</a> parameter specifies the response
14051code for rejected requests (default: 554). </dd>
14052
14053<dt><b><a name="defer_unauth_destination">defer_unauth_destination</a></b></dt>
14054
14055<dd> Reject the same requests as <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>, with a
14056non-permanent error code.  This feature is available in Postfix
140572.10 and later.</dd>
14058
14059<dt><b><a name="reject_unknown_recipient_domain">reject_unknown_recipient_domain</a></b></dt>
14060
14061<dd>Reject the request when Postfix is not final destination for
14062the recipient domain, and the RCPT TO domain has 1) no DNS A or MX
14063record or 2) a malformed MX record such as a record with
14064a zero-length MX hostname (Postfix version 2.3 and later). <br> The
14065<a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter specifies the numerical
14066response code for rejected requests (default: 450).  The response
14067is always 450 in case of a temporary DNS error. <br> The
14068<a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> parameter specifies the action
14069after a temporary DNS error (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  </dd>
14070
14071<dt><b><a name="reject_unlisted_recipient">reject_unlisted_recipient</a></b> (with Postfix version 2.0: check_recipient_maps)</dt>
14072
14073<dd> Reject the request when the RCPT TO address is not listed in
14074the list of valid recipients for its domain class. See the
14075<a href="postconf.5.html#smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> parameter description for details.
14076This feature is available in Postfix 2.1 and later.</dd>
14077
14078<dt><b><a name="reject_unverified_recipient">reject_unverified_recipient</a></b></dt>
14079
14080<dd>Reject the request when mail to the RCPT TO address is known
14081to bounce, or when the recipient address destination is not reachable.
14082Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
14083see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details.  <br> The
14084<a href="postconf.5.html#unverified_recipient_reject_code">unverified_recipient_reject_code</a> parameter specifies the numerical
14085response code when an address is known to bounce (default: 450,
14086change into 550 when you are confident that it is safe to do so).
14087<br>The <a href="postconf.5.html#unverified_recipient_defer_code">unverified_recipient_defer_code</a> parameter specifies the
14088numerical response code when an address probe failed due to a
14089temporary problem (default: 450). <br> The
14090<a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> parameter specifies the action
14091after address probe failure due to a temporary problem (default:
14092<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  <br>  This feature is available in Postfix 2.1
14093and later.  </dd>
14094
14095</dl>
14096
14097<p>
14098Other restrictions that are valid in this context:
14099</p>
14100
14101<ul>
14102
14103<li><a href="#generic">Generic</a> restrictions that can be used
14104in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
14105
14106<li>SMTP command specific restrictions described under
14107<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
14108<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>.
14109
14110</ul>
14111
14112<p>
14113Example:
14114</p>
14115
14116<pre>
14117# The Postfix before 2.10 default mail relay policy. Later Postfix
14118# versions implement this preferably with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
14119<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>
14120</pre>
14121
14122
14123</DD>
14124
14125<DT><b><a name="smtpd_reject_footer">smtpd_reject_footer</a>
14126(default: empty)</b></DT><DD>
14127
14128<p> Optional information that is appended after each Postfix SMTP
14129server
141304XX or 5XX response. </p>
14131
14132<p> The following example uses "\c" at the start of the template
14133(supported in Postfix 2.10 and later) to suppress the line break
14134between the reply text and the footer text. With earlier Postfix
14135versions, the footer text always begins on a new line, and the "\c"
14136is output literally. </p>
14137
14138<pre>
14139/etc/postfix/<a href="postconf.5.html">main.cf</a>:
14140    <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> = \c. For assistance, call 800-555-0101.
14141     Please provide the following information in your problem report:
14142     time ($localtime), client ($client_address) and server
14143     ($server_name).
14144</pre>
14145
14146<p> Server response: </p>
14147
14148<pre>
14149    550-5.5.1 &lt;user@example&gt; Recipient address rejected: User
14150    unknown. For assistance, call 800-555-0101. Please provide the
14151    following information in your problem report: time (Jan 4 15:42:00),
14152    client (192.168.1.248) and server (mail1.example.com).
14153</pre>
14154
14155<p> Note: the above text is meant to make it easier to find the
14156Postfix logfile records for a failed SMTP session. The text itself
14157is not logged to the Postfix SMTP server's maillog file. </p>
14158
14159<p> Be sure to keep the text as short as possible. Long text may
14160be truncated before it is logged to the remote SMTP client's maillog
14161file, or before it is returned to the sender in a delivery status
14162notification.  </p>
14163
14164<p> This feature supports a limited number of $name attributes in
14165the footer text. These are replaced by their current value for the
14166SMTP session: </p>
14167
14168<dl>
14169
14170<dt> <b>client_address</b> </dt> <dd> The Client IP address that
14171is logged in the maillog file. </dd>
14172
14173<dt> <b>client_port</b> </dt> <dd> The client TCP port that is
14174logged in the maillog file. </dd>
14175
14176<dt> <b>localtime</b> </dt> <dd> The server local time (Mmm dd
14177hh:mm:ss) that is logged in the maillog file. </dd>
14178
14179<dt> <b>server_name</b> </dt> <dd> The server's <a href="postconf.5.html#myhostname">myhostname</a> value.
14180This attribute is made available for sites with multiple MTAs
14181(perhaps behind a load-balancer), where the server name can help
14182the server support team to quickly find the right log files.  </dd>
14183
14184</dl>
14185
14186<p> Notes: </p>
14187
14188<ul>
14189
14190<li> <p> NOT SUPPORTED are other attributes such as sender, recipient,
14191or <a href="postconf.5.html">main.cf</a> parameters.  </p>
14192
14193<li> <p> For safety reasons, text that does not match
14194$<a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> is censored. </p>
14195
14196</ul>
14197
14198<p> This feature supports the two-character sequence \n as a request
14199for a line break in the footer text. Postfix automatically inserts
14200after each line break the three-digit SMTP reply code (and optional
14201enhanced status code) from the original Postfix reject message.
14202</p>
14203
14204<p> To work around mail software that mis-handles multi-line replies,
14205specify the two-character sequence \c at the start of the template.
14206This suppresses the line break between the reply text and the footer
14207text (Postfix 2.10 and later).  </p>
14208
14209<p> This feature is available in Postfix 2.8 and later. </p>
14210
14211
14212</DD>
14213
14214<DT><b><a name="smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a>
14215(default: yes)</b></DT><DD>
14216
14217<p>
14218Request that the Postfix SMTP server rejects mail for unknown
14219recipient addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_recipient">reject_unlisted_recipient</a>
14220access restriction is specified. This prevents the Postfix queue
14221from filling up with undeliverable MAILER-DAEMON messages.
14222</p>
14223
14224<p> An address is always considered "known" when it matches a
14225<a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping.
14226
14227<ul>
14228
14229<li> The recipient domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
14230or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the recipient is not listed in
14231$<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.
14232
14233<li> The recipient domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the
14234recipient is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
14235
14236<li> The recipient domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
14237recipient 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>
14238is not null.
14239
14240<li> The recipient domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the recipient
14241is 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>
14242is not null.
14243
14244</ul>
14245
14246<p>
14247This feature is available in Postfix 2.1 and later.
14248</p>
14249
14250
14251</DD>
14252
14253<DT><b><a name="smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a>
14254(default: no)</b></DT><DD>
14255
14256<p> Request that the Postfix SMTP server rejects mail from unknown
14257sender addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a>
14258access restriction is specified. This can slow down an explosion
14259of forged mail from worms or viruses.  </p>
14260
14261<p> An address is always considered "known" when it matches a
14262<a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping.
14263
14264<ul>
14265
14266<li> The sender domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or
14267$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the sender is not listed in
14268$<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.
14269
14270<li> The sender domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the sender
14271is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
14272
14273<li> The sender domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
14274sender 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>
14275is not null.
14276
14277<li> The sender domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the sender is
14278not 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
14279not null.
14280
14281</ul>
14282
14283<p>
14284This feature is available in Postfix 2.1 and later.
14285</p>
14286
14287
14288</DD>
14289
14290<DT><b><a name="smtpd_relay_restrictions">smtpd_relay_restrictions</a>
14291(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>
14292
14293<p> Access restrictions for mail relay control that the Postfix
14294SMTP server applies in the context of the RCPT TO command, before
14295<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
14296See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14297restriction lists" for a discussion of evaluation context and time.
14298</p>
14299
14300<p> With Postfix versions before 2.10, the rules for relay permission
14301and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
14302resulting in error-prone configuration.  As of Postfix 2.10, relay
14303permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
14304so that a permissive spam blocking policy under
14305<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
14306mail relay policy.  </p>
14307
14308<p> For backwards compatibility, sites that migrate from Postfix
14309versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
14310value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
14311
14312<p>
14313By default, the Postfix SMTP server accepts:
14314</p>
14315
14316<ul>
14317
14318<li> Mail from clients whose IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>, or:
14319
14320<li> Mail to remote destinations that match $<a href="postconf.5.html#relay_domains">relay_domains</a>, except
14321for addresses that contain sender-specified routing
14322(user@elsewhere@domain), or:
14323
14324<li> Mail to local destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
14325or $<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
14326$<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
14327
14328</ul>
14329
14330<p>
14331IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
14332<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
14333at least one of the following restrictions. Otherwise Postfix will
14334refuse to receive mail:
14335</p>
14336
14337<blockquote>
14338<pre>
14339reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
14340</pre>
14341</blockquote>
14342
14343<blockquote>
14344<pre>
14345defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
14346</pre>
14347</blockquote>
14348
14349<p>
14350Specify a list of restrictions, separated by commas and/or whitespace.
14351Continue long lines by starting the next line with whitespace.
14352The same restrictions are available as documented under
14353<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
14354</p>
14355
14356<p> This feature is available in Postix 2.10 and later. </p>
14357
14358
14359</DD>
14360
14361<DT><b><a name="smtpd_restriction_classes">smtpd_restriction_classes</a>
14362(default: empty)</b></DT><DD>
14363
14364<p>
14365User-defined aliases for groups of access restrictions. The aliases
14366can be specified in <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> etc., and on the
14367right-hand side of a Postfix <a href="access.5.html">access(5)</a> table.
14368</p>
14369
14370<p>
14371One major application is for implementing per-recipient UCE control.
14372See the <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a> document for other examples.
14373</p>
14374
14375
14376</DD>
14377
14378<DT><b><a name="smtpd_sasl_application_name">smtpd_sasl_application_name</a>
14379(default: smtpd)</b></DT><DD>
14380
14381<p>
14382The application name that the Postfix SMTP server uses for SASL
14383server initialization. This
14384controls the name of the SASL configuration file. The default value
14385is <b>smtpd</b>, corresponding to a SASL configuration file named
14386<b>smtpd.conf</b>.
14387</p>
14388
14389<p>
14390This feature is available in Postfix 2.1 and 2.2. With Postfix 2.3
14391it was renamed to <a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.
14392</p>
14393
14394
14395</DD>
14396
14397<DT><b><a name="smtpd_sasl_auth_enable">smtpd_sasl_auth_enable</a>
14398(default: no)</b></DT><DD>
14399
14400<p>
14401Enable SASL authentication in the Postfix SMTP server. By default,
14402the Postfix SMTP server does not use authentication.
14403</p>
14404
14405<p>
14406If a remote SMTP client is authenticated, the <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>
14407access restriction can be used to permit relay access, like this:
14408</p>
14409
14410<blockquote>
14411<pre>
14412# With Postfix 2.10 and later, the mail relay policy is
14413# preferably specified under <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
14414<a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> =
14415    <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
14416</pre>
14417
14418<pre>
14419# With Postfix before 2.10, the relay policy can be
14420# specified only under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
14421<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> =
14422    <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
14423</pre>
14424</blockquote>
14425
14426<p> To reject all SMTP connections from unauthenticated clients,
14427specify "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes" (which is the default) and use:
14428</p>
14429
14430<blockquote>
14431<pre>
14432<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
14433</pre>
14434</blockquote>
14435
14436<p>
14437See the <a href="SASL_README.html">SASL_README</a> file for SASL configuration and operation details.
14438</p>
14439
14440
14441</DD>
14442
14443<DT><b><a name="smtpd_sasl_authenticated_header">smtpd_sasl_authenticated_header</a>
14444(default: no)</b></DT><DD>
14445
14446<p> Report the SASL authenticated user name in the <a href="smtpd.8.html">smtpd(8)</a> Received
14447message header.  </p>
14448
14449<p> This feature is available in Postfix 2.3 and later.  </p>
14450
14451
14452</DD>
14453
14454<DT><b><a name="smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a>
14455(default: empty)</b></DT><DD>
14456
14457<p>
14458What remote SMTP clients the Postfix SMTP server will not offer
14459AUTH support to.
14460</p>
14461
14462<p>
14463Some clients (Netscape 4 at least) have a bug that causes them to
14464require a login and password whenever AUTH is offered, whether it's
14465necessary or not. To work around this, specify, for example,
14466$<a href="postconf.5.html#mynetworks">mynetworks</a> to prevent Postfix from offering AUTH to local clients.
14467</p>
14468
14469<p>
14470Specify a list of network/netmask patterns, separated by commas
14471and/or whitespace. The mask specifies the number of bits in the
14472network part of a host address. You can also "/file/name" or
14473"<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name" pattern is replaced by its
14474contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry
14475matches a lookup string (the lookup result is ignored).  Continue
14476long lines by starting the next line with whitespace. Specify
14477"!pattern" to exclude an address or network block from the list.
14478The form "!/file/name" is supported only in Postfix version 2.4 and
14479later.  </p>
14480
14481<p> Note: IP version 6 address information must be specified inside
14482<tt>[]</tt> in the <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> value, and in
14483files specified with "/file/name".  IP version 6 addresses contain
14484the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
14485pattern.  </p>
14486
14487<p>
14488Example:
14489</p>
14490
14491<pre>
14492<a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a>
14493</pre>
14494
14495<p>
14496This feature is available in Postfix 2.1 and later.
14497</p>
14498
14499
14500</DD>
14501
14502<DT><b><a name="smtpd_sasl_local_domain">smtpd_sasl_local_domain</a>
14503(default: empty)</b></DT><DD>
14504
14505<p>
14506The name of the Postfix SMTP server's local SASL authentication
14507realm.
14508</p>
14509
14510<p>
14511By default, the local authentication realm name is the null string.
14512</p>
14513
14514<p>
14515Examples:
14516</p>
14517
14518<pre>
14519<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
14520<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#myhostname">myhostname</a>
14521</pre>
14522
14523
14524</DD>
14525
14526<DT><b><a name="smtpd_sasl_path">smtpd_sasl_path</a>
14527(default: smtpd)</b></DT><DD>
14528
14529<p> Implementation-specific information that the Postfix SMTP server
14530passes through to
14531the SASL plug-in implementation that is selected with
14532<b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  Typically this specifies the name of a
14533configuration file or rendezvous point. </p>
14534
14535<p> This feature is available in Postfix 2.3 and later. In earlier
14536releases it was called <b><a href="postconf.5.html#smtpd_sasl_application_name">smtpd_sasl_application_name</a></b>. </p>
14537
14538
14539</DD>
14540
14541<DT><b><a name="smtpd_sasl_security_options">smtpd_sasl_security_options</a>
14542(default: noanonymous)</b></DT><DD>
14543
14544<p> Postfix SMTP server SASL security options; as of Postfix 2.3
14545the list of available
14546features depends on the SASL server implementation that is selected
14547with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  </p>
14548
14549<p> The following security features are defined for the <b>cyrus</b>
14550server SASL implementation: </p>
14551
14552<p>
14553Restrict what authentication mechanisms the Postfix SMTP server
14554will offer to the client.  The list of available authentication
14555mechanisms is system dependent.
14556</p>
14557
14558<p>
14559Specify zero or more of the following:
14560</p>
14561
14562<dl>
14563
14564<dt><b>noplaintext</b></dt>
14565
14566<dd>Disallow methods that use plaintext passwords. </dd>
14567
14568<dt><b>noactive</b></dt>
14569
14570<dd>Disallow methods subject to active (non-dictionary) attack. </dd>
14571
14572<dt><b>nodictionary</b></dt>
14573
14574<dd>Disallow methods subject to passive (dictionary) attack. </dd>
14575
14576<dt><b>noanonymous</b></dt>
14577
14578<dd>Disallow methods that allow anonymous authentication. </dd>
14579
14580<dt><b>forward_secrecy</b></dt>
14581
14582<dd>Only allow methods that support forward secrecy (Dovecot only).
14583</dd>
14584
14585<dt><b>mutual_auth</b></dt>
14586
14587<dd>Only allow methods that provide mutual authentication (not available
14588with Cyrus SASL version 1). </dd>
14589
14590</dl>
14591
14592<p>
14593By default, the Postfix SMTP server accepts plaintext passwords but
14594not anonymous logins.
14595</p>
14596
14597<p>
14598Warning: it appears that clients try authentication methods in the
14599order as advertised by the server (e.g., PLAIN ANONYMOUS CRAM-MD5)
14600which means that if you disable plaintext passwords, clients will
14601log in anonymously, even when they should be able to use CRAM-MD5.
14602So, if you disable plaintext logins, disable anonymous logins too.
14603Postfix treats anonymous login as no authentication.
14604</p>
14605
14606<p>
14607Example:
14608</p>
14609
14610<pre>
14611<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a> = noanonymous, noplaintext
14612</pre>
14613
14614
14615</DD>
14616
14617<DT><b><a name="smtpd_sasl_service">smtpd_sasl_service</a>
14618(default: smtp)</b></DT><DD>
14619
14620<p> The service name that is passed to the SASL plug-in that is
14621selected 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>.
14622</p>
14623
14624<p> This feature is available in Postfix 2.11 and later. Prior
14625versions behave as if "<b>smtp</b>" is specified. </p>
14626
14627
14628</DD>
14629
14630<DT><b><a name="smtpd_sasl_tls_security_options">smtpd_sasl_tls_security_options</a>
14631(default: $<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a>)</b></DT><DD>
14632
14633<p> The SASL authentication security options that the Postfix SMTP
14634server uses for TLS encrypted SMTP sessions. </p>
14635
14636<p> This feature is available in Postfix 2.2 and later.  </p>
14637
14638
14639</DD>
14640
14641<DT><b><a name="smtpd_sasl_type">smtpd_sasl_type</a>
14642(default: cyrus)</b></DT><DD>
14643
14644<p> The SASL plug-in type that the Postfix SMTP server should use
14645for authentication. The available types are listed with the
14646"<b>postconf -a</b>" command. </p>
14647
14648<p> This feature is available in Postfix 2.3 and later. </p>
14649
14650
14651</DD>
14652
14653<DT><b><a name="smtpd_sender_login_maps">smtpd_sender_login_maps</a>
14654(default: empty)</b></DT><DD>
14655
14656<p>
14657Optional lookup table with the SASL login names that own sender
14658(MAIL FROM) addresses.
14659</p>
14660
14661<p>
14662Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables. With lookups from
14663indexed files such as DB or DBM, or from networked tables such as
14664NIS, LDAP or SQL, the following search operations are done with a
14665sender address of <i>user@domain</i>:  </p>
14666
14667<dl>
14668
14669<dt> 1) <i>user@domain</i> </dt>
14670
14671<dd>This table lookup is always done and has the highest precedence. </dd>
14672
14673<dt> 2) <i>user</i> </dt>
14674
14675<dd>This table lookup is done only when the <i>domain</i> part of the
14676sender 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>
14677or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. </dd>
14678
14679<dt> 3) <i>@domain</i> </dt>
14680
14681<dd>This table lookup is done last and has the lowest precedence. </dd>
14682
14683</dl>
14684
14685<p>
14686In all cases the result of table lookup must be either "not found"
14687or a list of SASL login names separated by comma and/or whitespace.
14688</p>
14689
14690
14691</DD>
14692
14693<DT><b><a name="smtpd_sender_restrictions">smtpd_sender_restrictions</a>
14694(default: empty)</b></DT><DD>
14695
14696<p>
14697Optional restrictions that the Postfix SMTP server applies in the
14698context of a client MAIL FROM command.
14699See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14700restriction lists" for a discussion of evaluation context and time.
14701</p>
14702
14703<p>
14704The default is to permit everything.
14705</p>
14706
14707<p>
14708Specify a list of restrictions, separated by commas and/or whitespace.
14709Continue long lines by starting the next line with whitespace.
14710Restrictions are applied in the order as specified; the first
14711restriction that matches wins.
14712</p>
14713
14714<p>
14715The following restrictions are specific to the sender address
14716received with the MAIL FROM command.
14717</p>
14718
14719<dl>
14720
14721<dt><b><a name="check_sender_access">check_sender_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
14722
14723<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MAIL FROM
14724address, domain, parent domains, or localpart@, and execute the
14725corresponding action. </dd>
14726
14727<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>
14728
14729<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
14730the MAIL FROM address, and execute the corresponding action.  Note:
14731a result of "OK" is not allowed for safety reasons. Instead, use
14732DUNNO in order to exclude specific hosts from blacklists.  This
14733feature is available in Postfix 2.1 and later. </dd>
14734
14735<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>
14736
14737<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
14738for the MAIL FROM address, and execute the corresponding action.
14739Note: a result of "OK" is not allowed for safety reasons. Instead,
14740use DUNNO in order to exclude specific hosts from blacklists.  This
14741feature is available in Postfix 2.1 and later.  </dd>
14742
14743<dt><b><a name="reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a></b></dt>
14744
14745<dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for
14746authenticated clients only. This feature is available in
14747Postfix version 2.1 and later. </dd>
14748
14749<dt><b><a name="reject_known_sender_login_mismatch">reject_known_sender_login_mismatch</a></b></dt>
14750
14751<dd>Apply the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction only to MAIL
14752FROM addresses that are known in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.  This
14753feature is available in Postfix version 2.11 and later. </dd>
14754
14755<dt><b><a name="reject_non_fqdn_sender">reject_non_fqdn_sender</a></b></dt>
14756
14757<dd>Reject the request when the MAIL FROM address is not in
14758fully-qualified domain form, as required by the RFC. <br> The
14759<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
14760rejected requests (default: 504). </dd>
14761
14762<dt><b><a name="reject_rhsbl_sender">reject_rhsbl_sender <i>rbl_domain=d.d.d.d</i></a></b></dt>
14763
14764<dd>Reject the request when the MAIL FROM domain is listed with
14765the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix
14766version 2.1 and later only).  Each "<i>d</i>" is a number, or a
14767pattern inside "[]" that contains one or more ";"-separated numbers
14768or number..number ranges (Postfix version 2.8 and later). If no
14769"<i>=d.d.d.d</i>" is specified,
14770reject the request when the MAIL FROM domain is
14771listed with any A record under <i>rbl_domain</i>. <br> The
14772<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
14773rejected requests (default:  554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter
14774specifies the default server reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter
14775specifies tables with server replies indexed by <i>rbl_domain</i>.
14776This feature is available in Postfix 2.0 and later.</dd>
14777
14778<dt><b><a name="reject_sender_login_mismatch">reject_sender_login_mismatch</a></b></dt>
14779
14780<dd>Reject the request when $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a> specifies an
14781owner for the MAIL FROM address, but the client is not (SASL) logged
14782in as that MAIL FROM address owner; or when the client is (SASL)
14783logged in, but the client login name doesn't own the MAIL FROM
14784address according to $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.</dd>
14785
14786<dt><b><a name="reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a></b></dt>
14787
14788<dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for
14789unauthenticated clients only. This feature is available in
14790Postfix version 2.1 and later. </dd>
14791
14792<dt><b><a name="reject_unknown_sender_domain">reject_unknown_sender_domain</a></b></dt>
14793
14794<dd>Reject the request when Postfix is not final destination for
14795the sender address, and the MAIL FROM domain has 1) no DNS A or MX
14796record, or 2) a malformed MX record such as a record with
14797a zero-length MX hostname (Postfix version 2.3 and later). <br> The
14798<a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter specifies the numerical
14799response code for rejected requests (default: 450).  The response
14800is always 450 in case of a temporary DNS error. <br> The
14801<a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> parameter specifies the action
14802after a temporary DNS error (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). </dd>
14803
14804<dt><b><a name="reject_unlisted_sender">reject_unlisted_sender</a></b></dt>
14805
14806<dd>Reject the request when the MAIL FROM address is not listed in
14807the list of valid recipients for its domain class. See the
14808<a href="postconf.5.html#smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> parameter description for details.
14809This feature is available in Postfix 2.1 and later.</dd>
14810
14811<dt><b><a name="reject_unverified_sender">reject_unverified_sender</a></b></dt>
14812
14813<dd>Reject the request when mail to the MAIL FROM address is known to
14814bounce, or when the sender address destination is not reachable.
14815Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
14816see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The
14817<a href="postconf.5.html#unverified_sender_reject_code">unverified_sender_reject_code</a> parameter specifies the numerical
14818response code when an address is known to bounce (default: 450,
14819change into 550 when you are confident that it is safe to do so).
14820<br>The <a href="postconf.5.html#unverified_sender_defer_code">unverified_sender_defer_code</a> specifies the numerical response
14821code when an address probe failed due to a temporary problem
14822(default: 450).  <br> The <a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a> parameter
14823specifies the action after address probe failure due to a temporary
14824problem (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  <br> This feature is available
14825in Postfix 2.1 and later.  </dd>
14826
14827</dl>
14828
14829<p>
14830Other restrictions that are valid in this context:
14831</p>
14832
14833<ul>
14834
14835<li> <a href="#generic">Generic</a> restrictions that can be used
14836in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
14837
14838<li> SMTP command specific restrictions described under
14839<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>.
14840
14841<li> SMTP command specific restrictions described under
14842<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When recipient restrictions are listed
14843under <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, they have effect only with
14844"<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
14845evaluated at the time of the RCPT TO command.
14846
14847</ul>
14848
14849<p>
14850Examples:
14851</p>
14852
14853<pre>
14854<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>
14855<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>,
14856    <a href="postconf.5.html#check_sender_access">check_sender_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access
14857</pre>
14858
14859
14860</DD>
14861
14862<DT><b><a name="smtpd_service_name">smtpd_service_name</a>
14863(default: smtpd)</b></DT><DD>
14864
14865<p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> hands off allowed
14866connections to. In a future version there may be different
14867classes of SMTP service. </p>
14868
14869<p> This feature is available in Postfix 2.8. </p>
14870
14871
14872</DD>
14873
14874<DT><b><a name="smtpd_soft_error_limit">smtpd_soft_error_limit</a>
14875(default: 10)</b></DT><DD>
14876
14877<p>
14878The number of errors a remote SMTP client is allowed to make without
14879delivering mail before the Postfix SMTP server slows down all its
14880responses.
14881</p>
14882
14883<ul>
14884
14885<li><p>With Postfix version 2.1 and later, the Postfix SMTP server
14886delays all responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> seconds. </p>
14887
14888<li><p>With Postfix versions 2.0 and earlier, the Postfix SMTP
14889server delays all responses by (number of errors) seconds. </p>
14890
14891</ul>
14892
14893
14894</DD>
14895
14896<DT><b><a name="smtpd_starttls_timeout">smtpd_starttls_timeout</a>
14897(default: see "postconf -d" output)</b></DT><DD>
14898
14899<p> The time limit for Postfix SMTP server write and read operations
14900during TLS startup and shutdown handshake procedures. The current
14901default value is stress-dependent. Before Postfix version 2.8, it
14902was fixed at 300s. </p>
14903
14904<p> This feature is available in Postfix 2.2 and later.  </p>
14905
14906
14907</DD>
14908
14909<DT><b><a name="smtpd_timeout">smtpd_timeout</a>
14910(default: normal: 300s, overload: 10s)</b></DT><DD>
14911
14912<p>
14913The time limit for sending a Postfix SMTP server response and for
14914receiving a remote SMTP client request. Normally the default limit
14915is 300s, but it changes under overload to just 10s. With Postfix
149162.5 and earlier, the SMTP server always uses a time limit of 300s
14917by default.
14918</p>
14919
14920<p>
14921Note: if you set SMTP time limits to very large values you may have
14922to update the global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter.
14923</p>
14924
14925<p>
14926Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
14927The default time unit is s (seconds).
14928</p>
14929
14930
14931</DD>
14932
14933<DT><b><a name="smtpd_tls_CAfile">smtpd_tls_CAfile</a>
14934(default: empty)</b></DT><DD>
14935
14936<p> A file containing (PEM format) CA certificates of root CAs trusted
14937to sign either remote SMTP client certificates or intermediate CA
14938certificates.  These are loaded into memory before the <a href="smtpd.8.html">smtpd(8)</a> server
14939enters the chroot jail. If the number of trusted roots is large, consider
14940using <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> instead, but note that the latter directory must
14941be present in the chroot jail if the <a href="smtpd.8.html">smtpd(8)</a> server is chrooted. This
14942file may also be used to augment the server certificate trust chain,
14943but it is best to include all the required certificates directly in the
14944server certificate file. </p>
14945
14946<p> Specify "<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /path/to/system_CA_file" to use ONLY
14947the system-supplied default certificate authority certificates.
14948</p>
14949
14950<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
14951appending the system-supplied default CAs and trusting third-party
14952certificates. </p>
14953
14954<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are not
14955requested, and <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> should remain empty. If you do make use
14956of client certificates, the distinguished names (DNs) of the certificate
14957authorities listed in <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> are sent to the remote SMTP client
14958in the client certificate request message. MUAs with multiple client
14959certificates may use the list of preferred certificate authorities
14960to select the correct client certificate.  You may want to put your
14961"preferred" CA or CAs in this file, and install other trusted CAs in
14962$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
14963
14964<p> Example: </p>
14965
14966<pre>
14967<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /etc/postfix/CAcert.pem
14968</pre>
14969
14970<p> This feature is available in Postfix 2.2 and later.  </p>
14971
14972
14973</DD>
14974
14975<DT><b><a name="smtpd_tls_CApath">smtpd_tls_CApath</a>
14976(default: empty)</b></DT><DD>
14977
14978<p> A directory containing (PEM format) CA certificates of root CAs
14979trusted to sign either remote SMTP client certificates or intermediate CA
14980certificates. Do not forget to create the necessary "hash" links with,
14981for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs". To use
14982<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> in chroot mode, this directory (or a copy) must be
14983inside the chroot jail. </p>
14984
14985<p> Specify "<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /path/to/system_CA_directory" to
14986use ONLY the system-supplied default certificate authority certificates.
14987</p>
14988
14989<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
14990appending the system-supplied default CAs and trusting third-party
14991certificates. </p>
14992
14993<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are
14994not requested, and <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> should remain empty. In contrast
14995to <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, DNs of certificate authorities installed
14996in $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> are not included in the client certificate
14997request message. MUAs with multiple client certificates may use the
14998list of preferred certificate authorities to select the correct
14999client certificate.  You may want to put your "preferred" CA or
15000CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, and install the remaining trusted CAs in
15001$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
15002
15003<p> Example: </p>
15004
15005<pre>
15006<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /etc/postfix/certs
15007</pre>
15008
15009<p> This feature is available in Postfix 2.2 and later.  </p>
15010
15011
15012</DD>
15013
15014<DT><b><a name="smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>
15015(default: yes)</b></DT><DD>
15016
15017<p> Force the Postfix SMTP server to issue a TLS session id, even
15018when TLS session caching is turned off (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
15019is empty). This behavior is compatible with Postfix &lt; 2.3. </p>
15020
15021<p> With Postfix 2.3 and later the Postfix SMTP server can disable
15022session id generation when TLS session caching is turned off. This
15023keeps remote SMTP clients from caching sessions that almost certainly cannot
15024be re-used.  </p>
15025
15026<p> By default, the Postfix SMTP server always generates TLS session
15027ids. This works around a known defect in mail client applications
15028such as MS Outlook, and may also prevent interoperability issues
15029with other MTAs. </p>
15030
15031<p> Example: </p>
15032
15033<pre>
15034<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> = no
15035</pre>
15036
15037<p> This feature is available in Postfix 2.3 and later. </p>
15038
15039
15040</DD>
15041
15042<DT><b><a name="smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
15043(default: no)</b></DT><DD>
15044
15045<p> Ask a remote SMTP client for a client certificate. This
15046information is needed for certificate based mail relaying with,
15047for example, the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> feature. </p>
15048
15049<p> Some clients such as Netscape will either complain if no
15050certificate is available (for the list of CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)
15051or will offer multiple client certificates to choose from. This
15052may be annoying, so this option is "off" by default. </p>
15053
15054<p> This feature is available in Postfix 2.2 and later.  </p>
15055
15056
15057</DD>
15058
15059<DT><b><a name="smtpd_tls_auth_only">smtpd_tls_auth_only</a>
15060(default: no)</b></DT><DD>
15061
15062<p> When TLS encryption is optional in the Postfix SMTP server, do
15063not announce or accept SASL authentication over unencrypted
15064connections. </p>
15065
15066<p> This feature is available in Postfix 2.2 and later.  </p>
15067
15068
15069</DD>
15070
15071<DT><b><a name="smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>
15072(default: 9)</b></DT><DD>
15073
15074<p> The verification depth for remote SMTP client certificates. A
15075depth of 1 is sufficient if the issuing CA is listed in a local CA
15076file. </p>
15077
15078<p> The default verification depth is 9 (the OpenSSL default) for
15079compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
15080the default value was 5, but the limit was not actually enforced. If
15081you have set this to a lower non-default value, certificates with longer
15082trust chains may now fail to verify. Certificate chains with 1 or 2
15083CAs are common, deeper chains are more rare and any number between 5
15084and 9 should suffice in practice. You can choose a lower number if,
15085for example, you trust certificates directly signed by an issuing CA
15086but not any CAs it delegates to. </p>
15087
15088<p> This feature is available in Postfix 2.2 and later.  </p>
15089
15090
15091</DD>
15092
15093<DT><b><a name="smtpd_tls_cert_file">smtpd_tls_cert_file</a>
15094(default: empty)</b></DT><DD>
15095
15096<p> File with the Postfix SMTP server RSA certificate in PEM format.
15097This file may also contain the Postfix SMTP server private RSA key. </p>
15098
15099<p> Public Internet MX hosts without certificates signed by a "reputable"
15100CA must generate, and be prepared to present to most clients, a
15101self-signed or private-CA signed certificate. The client will not be
15102able to authenticate the server, but unless it is running Postfix 2.3 or
15103similar software, it will still insist on a server certificate. </p>
15104
15105<p> For servers that are <b>not</b> public Internet MX hosts, Postfix
151062.3 supports configurations with no certificates. This entails the
15107use of just the anonymous TLS ciphers, which are not supported by
15108typical SMTP clients. Since such clients will not, as a rule, fall
15109back to plain text after a TLS handshake failure, the server will
15110be unable to receive email from TLS enabled clients. To avoid
15111accidental configurations with no certificates, Postfix 2.3 enables
15112certificate-less operation only when the administrator explicitly
15113sets "<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = none". This ensures that new Postfix
15114configurations will not accidentally run with no certificates. </p>
15115
15116<p> Both RSA and DSA certificates are supported.  When both types
15117are present, the cipher used determines which certificate will be
15118presented to the client.  For Netscape and OpenSSL clients without
15119special cipher choices the RSA certificate is preferred. </p>
15120
15121<p> To enable a remote SMTP client to verify the Postfix SMTP server
15122certificate, the issuing CA certificates must be made available to the
15123client. You should include the required certificates in the server
15124certificate file, the server certificate first, then the issuing
15125CA(s) (bottom-up order). </p>
15126
15127<p> Example: the certificate for "server.example.com" was issued by
15128"intermediate CA" which itself has a certificate of "root CA".
15129Create the server.pem file with "cat server_cert.pem intermediate_CA.pem
15130root_CA.pem &gt; server.pem". </p>
15131
15132<p> If you also want to verify client certificates issued by these
15133CAs, you can add the CA certificates to the <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, in which
15134case it is not necessary to have them in the <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> or
15135<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. </p>
15136
15137<p> A certificate supplied here must be usable as an SSL server certificate
15138and hence pass the "openssl verify -purpose sslserver ..." test. </p>
15139
15140<p> Example: </p>
15141
15142<pre>
15143<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = /etc/postfix/server.pem
15144</pre>
15145
15146<p> This feature is available in Postfix 2.2 and later.  </p>
15147
15148
15149</DD>
15150
15151<DT><b><a name="smtpd_tls_cipherlist">smtpd_tls_cipherlist</a>
15152(default: empty)</b></DT><DD>
15153
15154<p> Obsolete Postfix &lt; 2.3 control for the Postfix SMTP server TLS
15155cipher list. It is easy to create inter-operability problems by choosing
15156a non-default cipher list. Do not use a non-default TLS cipherlist for
15157MX hosts on the public Internet. Clients that begin the TLS handshake,
15158but are unable to agree on a common cipher, may not be able to send any
15159email to the SMTP server. Using a restricted cipher list may be more
15160appropriate for a dedicated MSA or an internal mailhub, where one can
15161exert some control over the TLS software and settings of the connecting
15162clients. </p>
15163
15164<p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
15165
15166<p>This feature is available with Postfix version 2.2. It is not used with
15167Postfix 2.3 and later; use <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> instead. </p>
15168
15169
15170</DD>
15171
15172<DT><b><a name="smtpd_tls_ciphers">smtpd_tls_ciphers</a>
15173(default: medium)</b></DT><DD>
15174
15175<p> The minimum TLS cipher grade that the Postfix SMTP server
15176will use with opportunistic TLS encryption. Cipher types listed in
15177<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are excluded from the base definition of
15178the selected cipher grade.  The default value is "medium" for Postfix
15179releases after the middle of 2015, "export" for older releases.
15180</p>
15181
15182<p> When TLS is mandatory the cipher grade is chosen via the
15183<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
15184details. </p>
15185
15186<p> This feature is available in Postfix 2.6 and later. With earlier Postfix
15187releases only the <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> parameter is implemented,
15188and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
15189
15190
15191</DD>
15192
15193<DT><b><a name="smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>
15194(default: empty)</b></DT><DD>
15195
15196<p> File with the Postfix SMTP server DSA certificate in PEM format.
15197This file may also contain the Postfix SMTP server private DSA key. </p>
15198
15199<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details.
15200</p>
15201
15202<p> Example: </p>
15203
15204<pre>
15205<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> = /etc/postfix/server-dsa.pem
15206</pre>
15207
15208<p> This feature is available in Postfix 2.2 and later.  </p>
15209
15210
15211</DD>
15212
15213<DT><b><a name="smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
15214(default: empty)</b></DT><DD>
15215
15216<p> File with DH parameters that the Postfix SMTP server should
15217use with non-export EDH ciphers. </p>
15218
15219<p> Instead of using the exact same parameter sets as distributed
15220with other TLS packages, it is more secure to generate your own
15221set of parameters with something like the following commands:  </p>
15222
15223<blockquote>
15224<pre>
15225openssl dhparam -out /etc/postfix/dh512.pem 512
15226openssl dhparam -out /etc/postfix/dh1024.pem 1024
15227openssl dhparam -out /etc/postfix/dh2048.pem 2048
15228</pre>
15229</blockquote>
15230
15231<p> It is safe to share the same DH parameters between multiple
15232Postfix instances.  If you prefer, you can generate separate
15233parameters for each instance.  </p>
15234
15235<p> If you want to take maximal advantage of ciphers that offer <a
15236href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
15237the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
15238started</a> section of <a
15239href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
15240full document conveniently presents all information about Postfix
15241"perfect" forward secrecy support in one place: what forward secrecy
15242is, how to tweak settings, and what you can expect to see when
15243Postfix uses ciphers with forward secrecy.  </p>
15244
15245<p> Example: </p>
15246
15247<pre>
15248<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> = /etc/postfix/dh2048.pem
15249</pre>
15250
15251<p>This feature is available with Postfix version 2.2.</p>
15252
15253
15254</DD>
15255
15256<DT><b><a name="smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
15257(default: empty)</b></DT><DD>
15258
15259<p> File with DH parameters that the Postfix SMTP server should
15260use with export-grade EDH ciphers. </p>
15261
15262<p> See also the discussion under the <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
15263configuration parameter.  </p>
15264
15265<p> Example: </p>
15266
15267<pre>
15268<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> = /etc/postfix/dh_512.pem
15269</pre>
15270
15271<p>This feature is available with Postfix version 2.2.</p>
15272
15273
15274</DD>
15275
15276<DT><b><a name="smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>
15277(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
15278
15279<p> File with the Postfix SMTP server DSA private key in PEM format.
15280This file may be combined with the Postfix SMTP server DSA certificate
15281file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. </p>
15282
15283<p> The private key must be accessible without a pass-phrase, i.e. it
15284must not be encrypted. File permissions should grant read-only
15285access to the system superuser account ("root"), and no access
15286to anyone else. </p>
15287
15288<p> This feature is available in Postfix 2.2 and later.  </p>
15289
15290
15291</DD>
15292
15293<DT><b><a name="smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>
15294(default: empty)</b></DT><DD>
15295
15296<p> File with the Postfix SMTP server ECDSA certificate in PEM format.
15297This file may also contain the Postfix SMTP server private ECDSA key. </p>
15298
15299<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details. </p>
15300
15301<p> Example: </p>
15302
15303<pre>
15304<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> = /etc/postfix/ecdsa-scert.pem
15305</pre>
15306
15307<p> This feature is available in Postfix 2.6 and later, when Postfix is
15308compiled and linked with OpenSSL 1.0.0 or later. </p>
15309
15310
15311</DD>
15312
15313<DT><b><a name="smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>
15314(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
15315
15316<p> File with the Postfix SMTP server ECDSA private key in PEM format.
15317This file may be combined with the Postfix SMTP server ECDSA certificate
15318file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. </p>
15319
15320<p> The private key must be accessible without a pass-phrase, i.e. it
15321must not be encrypted. File permissions should grant read-only
15322access to the system superuser account ("root"), and no access
15323to anyone else. </p>
15324
15325<p> This feature is available in Postfix 2.6 and later, when Postfix is
15326compiled and linked with OpenSSL 1.0.0 or later. </p>
15327
15328
15329</DD>
15330
15331<DT><b><a name="smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>
15332(default: see "postconf -d" output)</b></DT><DD>
15333
15334<p> The Postfix SMTP server security grade for ephemeral elliptic-curve
15335Diffie-Hellman (EECDH) key exchange. </p>
15336
15337<p> The available choices are: </p>
15338
15339<dl>
15340
15341<dt><b>none</b></dt> <dd> Don't use EECDH. Ciphers based on EECDH key
15342exchange will be disabled. This is the default in Postfix versions
153432.6 and 2.7. </dd>
15344
15345<dt><b>strong</b></dt> <dd> Use EECDH with approximately 128
15346bits of security at a reasonable computational cost. This is the
15347current best-practice trade-off between security and computational
15348efficiency. This is the default in Postfix version 2.8 and later.
15349</dd>
15350
15351<dt><b>ultra</b></dt> <dd> Use EECDH with approximately 192 bits of
15352security at computational cost that is approximately twice as high
15353as 128 bit strength ECC. Barring significant progress in attacks on
15354elliptic curve crypto-systems, the "strong" curve is sufficient for most
15355users. </dd>
15356
15357</dl>
15358
15359<p> If you want to take maximal advantage of ciphers that offer <a
15360href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
15361the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
15362started</a> section of <a
15363href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
15364full document conveniently presents all information about Postfix
15365"perfect" forward secrecy support in one place: what forward secrecy
15366is, how to tweak settings, and what you can expect to see when
15367Postfix uses ciphers with forward secrecy.  </p>
15368
15369<p> This feature is available in Postfix 2.6 and later, when it is
15370compiled and linked with OpenSSL 1.0.0 or later on platforms
15371where EC algorithms have not been disabled by the vendor. </p>
15372
15373
15374</DD>
15375
15376<DT><b><a name="smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
15377(default: empty)</b></DT><DD>
15378
15379<p> List of ciphers or cipher types to exclude from the SMTP server
15380cipher list at all TLS security levels. Excluding valid ciphers
15381can create interoperability problems. DO NOT exclude ciphers unless it
15382is essential to do so. This is not an OpenSSL cipherlist; it is a simple
15383list separated by whitespace and/or commas. The elements are a single
15384cipher, or one or more "+" separated cipher properties, in which case
15385only ciphers matching <b>all</b> the properties are excluded. </p>
15386
15387<p> Examples (some of these will cause problems): </p>
15388
15389<blockquote>
15390<pre>
15391<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL
15392<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = MD5, DES
15393<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = DES+MD5
15394<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
15395<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = kEDH+aRSA
15396</pre>
15397</blockquote>
15398
15399<p> The first setting disables anonymous ciphers. The next setting
15400disables ciphers that use the MD5 digest algorithm or the (single) DES
15401encryption algorithm. The next setting disables ciphers that use MD5 and
15402DES together.  The next setting disables the two ciphers "AES256-SHA"
15403and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
15404key exchange with RSA authentication. </p>
15405
15406<p> This feature is available in Postfix 2.3 and later. </p>
15407
15408
15409</DD>
15410
15411<DT><b><a name="smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>
15412(default: md5)</b></DT><DD>
15413
15414<p> The message digest algorithm to construct remote SMTP
15415client-certificate
15416fingerprints or public key fingerprints (Postfix 2.9 and later)
15417for <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
15418default algorithm is <b>md5</b>, for backwards compatibility with Postfix
15419releases prior to 2.5.  </p>
15420
15421<p> Advances in hash
15422function cryptanalysis have led to md5 being deprecated in favor of sha1.
15423However, as long as there are no known "second pre-image" attacks
15424against md5, its use in this context can still be considered safe.
15425</p>
15426
15427<p> While additional digest algorithms are often available with OpenSSL's
15428libcrypto, only those used by libssl in SSL cipher suites are available to
15429Postfix. </p>
15430
15431<p> To find the fingerprint of a specific certificate file, with a
15432specific digest algorithm, run: </p>
15433
15434<blockquote>
15435<pre>
15436$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
15437</pre>
15438</blockquote>
15439
15440<p> The text to the right of "=" sign is the desired fingerprint.
15441For example: </p>
15442
15443<blockquote>
15444<pre>
15445$ openssl x509 -noout -fingerprint -sha1 -in cert.pem
15446SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
15447</pre>
15448</blockquote>
15449
15450<p> To extract the public key fingerprint from an X.509 certificate,
15451you need to extract the public key from the certificate and compute
15452the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
15453the "-pubkey" option of the "x509" command extracts the public
15454key always in "PEM" format. We pipe the result to another OpenSSL
15455command that converts the key to DER and then to the "dgst" command
15456to compute the fingerprint. </p>
15457
15458<p> The actual command to transform the key to DER format depends
15459on the version of OpenSSL used. With OpenSSL 1.0.0 and later, the
15460"pkey" command supports all key types. With OpenSSL 0.9.8 and
15461earlier, the key type is always RSA (nobody uses DSA, and EC
15462keys are not fully supported by 0.9.8), so the "rsa" command is
15463used. </p>
15464<blockquote>
15465<pre>
15466# OpenSSL 1.0 with all certificates and SHA-1 fingerprints.
15467$ openssl x509 -in cert.pem -noout -pubkey |
15468    openssl pkey -pubin -outform DER |
15469    openssl dgst -sha1 -c
15470(stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58
15471</pre>
15472</blockquote>
15473
15474<blockquote>
15475<pre>
15476# OpenSSL 0.9.8 with RSA certificates and MD5 fingerprints.
15477$ openssl x509 -in cert.pem -noout -pubkey |
15478    openssl rsa -pubin -outform DER |
15479    openssl dgst -md5 -c
15480(stdin)= f4:62:60:f6:12:8f:d5:8d:28:4d:13:a7:db:b2:ff:50
15481</pre>
15482</blockquote>
15483
15484<p> The Postfix SMTP server and client log the peer (leaf) certificate
15485fingerprint and public key fingerprint when the TLS loglevel is 2 or
15486higher. </p>
15487
15488<p> <b>Note:</b> Postfix 2.9.0&ndash;2.9.5 computed the public key
15489fingerprint incorrectly. To use public-key fingerprints, upgrade
15490to Postfix 2.9.6 or later. </p>
15491
15492<p> Example: client-certificate access table, with sha1 fingerprints: </p>
15493
15494<blockquote>
15495<pre>
15496/etc/postfix/<a href="postconf.5.html">main.cf</a>:
15497    <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> = sha1
15498    <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
15499        <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access,
15500        reject
15501</pre>
15502<pre>
15503/etc/postfix/access:
15504    # Action folded to next line...
15505    AF:88:7C:AD:51:95:6F:36:96:F6:01:FB:2E:48:CD:AB:49:25:A2:3B
15506        OK
15507    85:16:78:FD:73:6E:CE:70:E0:31:5F:0D:3C:C8:6D:C4:2C:24:59:E1
15508        <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
15509</pre>
15510</blockquote>
15511
15512<p> This feature is available in Postfix 2.5 and later. </p>
15513
15514
15515</DD>
15516
15517<DT><b><a name="smtpd_tls_key_file">smtpd_tls_key_file</a>
15518(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
15519
15520<p> File with the Postfix SMTP server RSA private key in PEM format.
15521This file may be combined with the Postfix SMTP server RSA certificate
15522file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>. </p>
15523
15524<p> The private key must be accessible without a pass-phrase, i.e. it
15525must not be encrypted. File permissions should grant read-only
15526access to the system superuser account ("root"), and no access
15527to anyone else. </p>
15528
15529
15530</DD>
15531
15532<DT><b><a name="smtpd_tls_loglevel">smtpd_tls_loglevel</a>
15533(default: 0)</b></DT><DD>
15534
15535<p> Enable additional Postfix SMTP server logging of TLS activity.
15536Each logging level also includes the information that is logged at
15537a lower logging level.  </p>
15538
15539<dl compact>
15540
15541<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
15542
15543<dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
15544&mdash; no logging of client certificate trust-chain verification errors
15545if client certificate verification is not required.  With Postfix 2.8 and
15546earlier, log the summary message, peer certificate summary information
15547and unconditionally log trust-chain verification errors.  </dd>
15548
15549<dt> </dt> <dd> 2 Also log levels during TLS negotiation. </dd>
15550
15551<dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation
15552process. </dd>
15553
15554<dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
15555transmission after STARTTLS. </dd>
15556
15557</dl>
15558
15559<p> Do not use "<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> = 2" or higher except in case
15560of problems. Use of loglevel 4 is strongly discouraged. </p>
15561
15562<p> This feature is available in Postfix 2.2 and later.  </p>
15563
15564
15565</DD>
15566
15567<DT><b><a name="smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
15568(default: medium)</b></DT><DD>
15569
15570<p> The minimum TLS cipher grade that the Postfix SMTP server will
15571use with mandatory TLS encryption. The default grade ("medium") is
15572sufficiently strong that any benefit from globally restricting TLS
15573sessions to a more stringent grade is likely negligible, especially
15574given the fact that many implementations still do not offer any stronger
15575("high" grade) ciphers, while those that do, will always use "high"
15576grade ciphers. So insisting on "high" grade ciphers is generally
15577counter-productive. Allowing "export" or "low" ciphers is typically
15578not a good idea, as systems limited to just these are limited to
15579obsolete browsers. No known SMTP clients fail to support at least
15580one "medium" or "high" grade cipher. </p>
15581
15582<p> The following cipher grades are supported: </p>
15583
15584<dl>
15585<dt><b>export</b></dt>
15586<dd> Enable "EXPORT" grade or stronger OpenSSL ciphers.  The
15587underlying cipherlist is specified via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a>
15588configuration parameter, which you are strongly encouraged to not
15589change.  This choice is insecure and SHOULD NOT be used.  </dd>
15590
15591<dt><b>low</b></dt>
15592<dd> Enable "LOW" grade or stronger OpenSSL ciphers. The underlying
15593cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration
15594parameter, which you are strongly encouraged to not change.  This
15595choice is insecure and SHOULD NOT be used.  </dd>
15596
15597<dt><b>medium</b></dt>
15598<dd> Enable "MEDIUM" grade or stronger OpenSSL ciphers. These use 128-bit
15599or longer symmetric bulk-encryption keys. This is the default minimum
15600strength for mandatory TLS encryption. The underlying cipherlist is
15601specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a> configuration parameter, which
15602you are strongly encouraged to not change. </dd>
15603
15604<dt><b>high</b></dt>
15605<dd> Enable only "HIGH" grade OpenSSL ciphers. The
15606underlying cipherlist is specified via the <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a>
15607configuration parameter, which you are strongly encouraged to
15608not change. </dd>
15609
15610<dt><b>null</b></dt>
15611<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
15612without encryption.  This setting is only appropriate in the rare
15613case that all clients are prepared to use NULL ciphers (not normally
15614enabled in TLS clients). The underlying cipherlist is specified via the
15615<a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> configuration parameter, which you are strongly
15616encouraged to not change. </dd>
15617
15618</dl>
15619
15620<p> Cipher types listed in
15621<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
15622excluded from the base definition of the selected cipher grade. See
15623<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> for cipher controls that apply to opportunistic
15624TLS. </p>
15625
15626<p> The underlying cipherlists for grades other than "null" include
15627anonymous ciphers, but these are automatically filtered out if the
15628server is configured to ask for remote SMTP client certificates.  You are very
15629unlikely to need to take any steps to exclude anonymous ciphers, they
15630are excluded automatically as required.  If you must exclude anonymous
15631ciphers even when Postfix does not need or use peer certificates, set
15632"<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only
15633when TLS is enforced, set "<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
15634
15635<p> This feature is available in Postfix 2.3 and later. </p>
15636
15637
15638</DD>
15639
15640<DT><b><a name="smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>
15641(default: empty)</b></DT><DD>
15642
15643<p> Additional list of ciphers or cipher types to exclude from the
15644Postfix SMTP server cipher list at mandatory TLS security levels.
15645This list
15646works in addition to the exclusions listed with <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
15647(see there for syntax details).  </p>
15648
15649<p> This feature is available in Postfix 2.3 and later. </p>
15650
15651
15652</DD>
15653
15654<DT><b><a name="smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>
15655(default: !SSLv2, !SSLv3)</b></DT><DD>
15656
15657<p> The SSL/TLS protocols accepted by the Postfix SMTP server with
15658mandatory TLS encryption. If the list is empty, the server supports
15659all available SSL/TLS protocol versions.  A non-empty value is a
15660list of protocol names separated by whitespace, commas or colons.
15661The supported protocol names are "SSLv2", "SSLv3" and "TLSv1", and
15662are not case sensitive. The default value is "!SSLv2, !SSLv3" for
15663Postfix releases after the middle of 2015, "!SSLv2" for older
15664releases. </p>
15665
15666<p> With Postfix &ge; 2.5 the parameter syntax was expanded to support
15667protocol exclusions. One can explicitly exclude "SSLv2" by setting
15668"<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2". To exclude both "SSLv2" and
15669"SSLv3" set "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing
15670the protocols to include, rather than protocols to exclude, is
15671supported, but not recommended. The exclusion form more closely
15672matches the underlying OpenSSL interface semantics.  </p>
15673
15674<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
15675and "TLSv1.2". When Postfix &le; 2.5 is linked against OpenSSL 1.0.1
15676or later, these, or any other new protocol versions, cannot be
15677disabled.  The latest patch levels of Postfix &ge; 2.6, and all
15678versions of Postfix &ge; 2.10 can disable support for "TLSv1.1" or
15679"TLSv1.2". </p>
15680
15681<p> Example: </p>
15682
15683<pre>
15684# Preferred syntax with Postfix &ge; 2.5:
15685<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
15686# Legacy syntax:
15687<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = TLSv1
15688</pre>
15689
15690<p> This feature is available in Postfix 2.3 and later. </p>
15691
15692
15693</DD>
15694
15695<DT><b><a name="smtpd_tls_protocols">smtpd_tls_protocols</a>
15696(default: !SSLv2, !SSLv3)</b></DT><DD>
15697
15698<p> List of TLS protocols that the Postfix SMTP server will exclude
15699or include with opportunistic TLS encryption. The default value is
15700"!SSLv2, !SSLv3" for Postfix releases after the middle of 2015,
15701empty for older releases allowing all protocols to be
15702used with opportunistic TLS.  A non-empty value is a list of protocol
15703names separated by whitespace, commas or colons.  The supported
15704protocol names are "SSLv2", "SSLv3" and "TLSv1", and are not case
15705sensitive. </p>
15706
15707<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
15708and "TLSv1.2". The latest patch levels of Postfix &ge; 2.6, and all
15709versions of Postfix &ge; 2.10 can disable support for "TLSv1.1" or
15710"TLSv1.2". </p>
15711
15712<p> To include a protocol list its name, to exclude it, prefix the name
15713with a "!" character. To exclude SSLv2 for opportunistic TLS set
15714"<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set
15715"<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to
15716include, rather than protocols to exclude, is supported, but not
15717recommended.  The exclusion form more closely matches the underlying
15718OpenSSL interface semantics. </p>
15719
15720<p> Example: </p>
15721<pre>
15722<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3
15723</pre>
15724
15725<p> This feature is available in Postfix 2.6 and later. </p>
15726
15727
15728</DD>
15729
15730<DT><b><a name="smtpd_tls_received_header">smtpd_tls_received_header</a>
15731(default: no)</b></DT><DD>
15732
15733<p> Request that the Postfix SMTP server produces Received:  message
15734headers that include information about the protocol and cipher used,
15735as well as the remote SMTP client CommonName and client certificate issuer
15736CommonName.  This is disabled by default, as the information may
15737be modified in transit through other mail servers.  Only information
15738that was recorded by the final destination can be trusted. </p>
15739
15740<p> This feature is available in Postfix 2.2 and later.  </p>
15741
15742
15743</DD>
15744
15745<DT><b><a name="smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>
15746(default: no)</b></DT><DD>
15747
15748<p> With mandatory TLS encryption, require a trusted remote SMTP client
15749certificate in order to allow TLS connections to proceed.  This
15750option implies "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes". </p>
15751
15752<p> When TLS encryption is optional, this setting is ignored with
15753a warning written to the mail log. </p>
15754
15755<p> This feature is available in Postfix 2.2 and later.  </p>
15756
15757
15758</DD>
15759
15760<DT><b><a name="smtpd_tls_security_level">smtpd_tls_security_level</a>
15761(default: empty)</b></DT><DD>
15762
15763<p> The SMTP TLS security level for the Postfix SMTP server; when
15764a non-empty value is specified, this overrides the obsolete parameters
15765<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
15766"<a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> = yes".  </p>
15767
15768<p> Specify one of the following security levels: </p>
15769
15770<dl>
15771
15772<dt><b>none</b></dt> <dd> TLS will not be used. </dd>
15773
15774<dt><b>may</b></dt> <dd> Opportunistic TLS: announce STARTTLS support
15775to remote SMTP clients, but do not require that clients use TLS encryption.
15776</dd>
15777
15778<dt><b>encrypt</b></dt> <dd>Mandatory TLS encryption: announce
15779STARTTLS support to remote SMTP clients, and require that clients use TLS
15780encryption. According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> this MUST NOT be applied in case
15781of a publicly-referenced SMTP server. Instead, this option should
15782be used only on dedicated servers. </dd>
15783
15784</dl>
15785
15786<p> Note 1: the "fingerprint", "verify" and "secure" levels are not
15787supported here.
15788The Postfix SMTP server logs a warning and uses "encrypt" instead.
15789To verify remote SMTP client certificates, see <a href="TLS_README.html">TLS_README</a> for a discussion
15790of 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>
15791features.  </p>
15792
15793<p> Note 2: The parameter setting "<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> =
15794encrypt" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes".</p>
15795
15796<p> Note 3: when invoked via "sendmail -bs", Postfix will never
15797offer STARTTLS due to insufficient privileges to access the server
15798private key. This is intended behavior.</p>
15799
15800<p> This feature is available in Postfix 2.3 and later. </p>
15801
15802
15803</DD>
15804
15805<DT><b><a name="smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
15806(default: empty)</b></DT><DD>
15807
15808<p> Name of the file containing the optional Postfix SMTP server
15809TLS session cache. Specify a database type that supports enumeration,
15810such as <b>btree</b> or <b>sdbm</b>; there is no need to support
15811concurrent access.  The file is created if it does not exist. The <a href="smtpd.8.html">smtpd(8)</a>
15812daemon does not use this parameter directly, rather the cache is
15813implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
15814per-smtpd-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not
15815effective. Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a>
15816daemon: $<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>
15817(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
15818stored separately. It is not at this time possible to store multiple
15819caches in a single database. </p>
15820
15821<p> Note: <b>dbm</b> databases are not suitable. TLS
15822session objects are too large. </p>
15823
15824<p> As of version 2.5, Postfix no longer uses root privileges when
15825opening this file. The file should now be stored under the Postfix-owned
15826<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
15827under a non-Postfix directory is redirected to the Postfix-owned
15828<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
15829
15830<p> Example: </p>
15831
15832<pre>
15833<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
15834</pre>
15835
15836<p> This feature is available in Postfix 2.2 and later.  </p>
15837
15838
15839</DD>
15840
15841<DT><b><a name="smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>
15842(default: 3600s)</b></DT><DD>
15843
15844<p> The expiration time of Postfix SMTP server TLS session cache
15845information. A cache cleanup is performed periodically
15846every $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> seconds. As with
15847$<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, this parameter is implemented in the
15848<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtpd-instance <a href="master.5.html">master.cf</a> overrides
15849are not possible. </p>
15850
15851<p> As of Postfix 2.11 this setting cannot exceed 100 days.  If set
15852&le; 0, session caching is disabled, not just via the database, but
15853also via <a href="http://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side
15854storage.  If set to a positive value less than 2 minutes, the minimum
15855value of 2 minutes is used instead.  TLS session tickets require
15856an OpenSSL library (at least version 0.9.8h) that provides full
15857support for this TLS extension. </p>
15858
15859<p> This feature is available in Postfix 2.2 and later, and updated
15860for TLS session ticket support in Postfix 2.11. </p>
15861
15862
15863</DD>
15864
15865<DT><b><a name="smtpd_tls_wrappermode">smtpd_tls_wrappermode</a>
15866(default: no)</b></DT><DD>
15867
15868<p> Run the Postfix SMTP server in the non-standard "wrapper" mode,
15869instead of using the STARTTLS command. </p>
15870
15871<p> If you want to support this service, enable a special port in
15872<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
15873server's command line. Port 465 (smtps) was once chosen for this
15874purpose. </p>
15875
15876<p> This feature is available in Postfix 2.2 and later.  </p>
15877
15878
15879</DD>
15880
15881<DT><b><a name="smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a>
15882(default: empty)</b></DT><DD>
15883
15884<p> The name of the proxy protocol used by an optional before-smtpd
15885proxy agent. When a proxy agent is used, this protocol conveys local
15886and remote address and port information.  Specify
15887"<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
15888protocol.  </p>
15889
15890<p> NOTE: To use the nginx proxy with <a href="smtpd.8.html">smtpd(8)</a>, enable the XCLIENT
15891protocol with <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>. This supports SASL
15892authentication in the proxy agent (Postfix 2.9 and later). <p>
15893
15894<p> This feature is available in Postfix 2.10 and later.  </p>
15895
15896
15897</DD>
15898
15899<DT><b><a name="smtpd_upstream_proxy_timeout">smtpd_upstream_proxy_timeout</a>
15900(default: 5s)</b></DT><DD>
15901
15902<p> The time limit for the proxy protocol specified with the
15903<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> parameter. </p>
15904
15905<p> This feature is available in Postfix 2.10 and later.  </p>
15906
15907
15908</DD>
15909
15910<DT><b><a name="smtpd_use_tls">smtpd_use_tls</a>
15911(default: no)</b></DT><DD>
15912
15913<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
15914but do not require that clients use TLS encryption. </p>
15915
15916<p> Note: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
15917STARTTLS due to insufficient privileges to access the server private
15918key. This is intended behavior. </p>
15919
15920<p> This feature is available in Postfix 2.2 and later. With
15921Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
15922
15923
15924</DD>
15925
15926<DT><b><a name="soft_bounce">soft_bounce</a>
15927(default: no)</b></DT><DD>
15928
15929<p>
15930Safety net to keep mail queued that would otherwise be returned to
15931the sender.  This parameter disables locally-generated bounces,
15932changes the handling of negative responses from remote servers,
15933content filters or plugins,
15934and prevents the Postfix SMTP server from rejecting mail permanently
15935by changing 5xx reply codes into 4xx.  However, <a href="postconf.5.html#soft_bounce">soft_bounce</a> is no
15936cure for address rewriting mistakes or mail routing mistakes.
15937</p>
15938
15939<p>
15940Note: "<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes" is in some cases implemented by modifying
15941server responses. Therefore, the response that Postfix logs may
15942differ from the response that Postfix actually sends or receives.
15943</p>
15944
15945<p>
15946Example:
15947</p>
15948
15949<pre>
15950<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes
15951</pre>
15952
15953
15954</DD>
15955
15956<DT><b><a name="stale_lock_time">stale_lock_time</a>
15957(default: 500s)</b></DT><DD>
15958
15959<p>
15960The time after which a stale exclusive mailbox lockfile is removed.
15961This is used for delivery to file or mailbox.
15962</p>
15963
15964<p>
15965Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
15966The default time unit is s (seconds).
15967</p>
15968
15969
15970</DD>
15971
15972<DT><b><a name="stress">stress</a>
15973(default: empty)</b></DT><DD>
15974
15975<p> This feature is documented in the <a href="STRESS_README.html">STRESS_README</a> document. </p>
15976
15977<p> This feature is available in Postfix 2.5 and later. </p>
15978
15979
15980</DD>
15981
15982<DT><b><a name="strict_7bit_headers">strict_7bit_headers</a>
15983(default: no)</b></DT><DD>
15984
15985<p>
15986Reject mail with 8-bit text in message headers. This blocks mail
15987from poorly written applications.
15988</p>
15989
15990<p>
15991This feature should not be enabled on a general purpose mail server,
15992because it is likely to reject legitimate email.
15993</p>
15994
15995<p>
15996This feature is available in Postfix 2.0 and later.
15997</p>
15998
15999
16000</DD>
16001
16002<DT><b><a name="strict_8bitmime">strict_8bitmime</a>
16003(default: no)</b></DT><DD>
16004
16005<p>
16006Enable 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>.
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_body">strict_8bitmime_body</a>
16022(default: no)</b></DT><DD>
16023
16024<p>
16025Reject 8-bit message body text without 8-bit MIME content encoding
16026information.  This blocks mail from poorly written applications.
16027</p>
16028
16029<p>
16030Unfortunately, this also rejects majordomo approval requests when
16031the included request contains valid 8-bit MIME mail, and it rejects
16032bounces from mailers that do not MIME encapsulate 8-bit content
16033(for example, bounces from qmail or from old versions of Postfix).
16034</p>
16035
16036<p>
16037This feature should not be enabled on a general purpose mail server,
16038because it is likely to reject legitimate email.
16039</p>
16040
16041<p>
16042This feature is available in Postfix 2.0 and later.
16043</p>
16044
16045
16046</DD>
16047
16048<DT><b><a name="strict_mailbox_ownership">strict_mailbox_ownership</a>
16049(default: yes)</b></DT><DD>
16050
16051<p> Defer delivery when a mailbox file is not owned by its recipient.
16052The default setting is not backwards compatible.  </p>
16053
16054<p> This feature is available in Postfix 2.5.3 and later. </p>
16055
16056
16057</DD>
16058
16059<DT><b><a name="strict_mime_encoding_domain">strict_mime_encoding_domain</a>
16060(default: no)</b></DT><DD>
16061
16062<p>
16063Reject mail with invalid Content-Transfer-Encoding: information
16064for the message/* or multipart/* MIME content types.  This blocks
16065mail from poorly written software.
16066</p>
16067
16068<p>
16069This feature should not be enabled on a general purpose mail server,
16070because it will reject mail after a single violation.
16071</p>
16072
16073<p>
16074This feature is available in Postfix 2.0 and later.
16075</p>
16076
16077
16078</DD>
16079
16080<DT><b><a name="strict_rfc821_envelopes">strict_rfc821_envelopes</a>
16081(default: no)</b></DT><DD>
16082
16083<p>
16084Require that addresses received in SMTP MAIL FROM and RCPT TO
16085commands are enclosed with &lt;&gt;, and that those addresses do
16086not contain <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> style comments or phrases.  This stops mail
16087from poorly written software.
16088</p>
16089
16090<p>
16091By default, the Postfix SMTP server accepts <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> syntax in MAIL
16092FROM and RCPT TO addresses.
16093</p>
16094
16095
16096</DD>
16097
16098<DT><b><a name="sun_mailtool_compatibility">sun_mailtool_compatibility</a>
16099(default: no)</b></DT><DD>
16100
16101<p>
16102Obsolete SUN mailtool compatibility feature. Instead, use
16103"<a href="postconf.5.html#mailbox_delivery_lock">mailbox_delivery_lock</a> = dotlock".
16104</p>
16105
16106
16107</DD>
16108
16109<DT><b><a name="swap_bangpath">swap_bangpath</a>
16110(default: yes)</b></DT><DD>
16111
16112<p>
16113Enable the rewriting of "site!user" into "user@site".  This is
16114necessary if your machine is connected to UUCP networks.  It is
16115enabled by default.
16116</p>
16117
16118<p> Note: with Postfix version 2.2, message header address rewriting
16119happens only when one of the following conditions is true: </p>
16120
16121<ul>
16122
16123<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
16124
16125<li> The message is received from a network client that matches
16126$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
16127
16128<li> The message is received from the network, and the
16129<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
16130
16131</ul>
16132
16133<p> To get the behavior before Postfix version 2.2, specify
16134"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
16135
16136<p>
16137Example:
16138</p>
16139
16140<pre>
16141<a href="postconf.5.html#swap_bangpath">swap_bangpath</a> = no
16142</pre>
16143
16144
16145</DD>
16146
16147<DT><b><a name="syslog_facility">syslog_facility</a>
16148(default: mail)</b></DT><DD>
16149
16150<p>
16151The syslog facility of Postfix logging. Specify a facility as
16152defined in syslog.conf(5). The default facility is "mail".
16153</p>
16154
16155<p>
16156Warning: a non-default <a href="postconf.5.html#syslog_facility">syslog_facility</a> setting takes effect only
16157after a Postfix process has completed initialization.  Errors during
16158process initialization will be logged with the default facility.
16159Examples are errors while parsing the command line arguments, and
16160errors while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
16161</p>
16162
16163
16164</DD>
16165
16166<DT><b><a name="syslog_name">syslog_name</a>
16167(default: see "postconf -d" output)</b></DT><DD>
16168
16169<p>
16170The mail system name that is prepended to the process name in syslog
16171records, so that "smtpd" becomes, for example, "postfix/smtpd".
16172</p>
16173
16174<p>
16175Warning: a non-default <a href="postconf.5.html#syslog_name">syslog_name</a> setting takes effect only after
16176a Postfix process has completed initialization. Errors during
16177process initialization will be logged with the default name. Examples
16178are errors while parsing the command line arguments, and errors
16179while 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="tcp_windowsize">tcp_windowsize</a>
16186(default: 0)</b></DT><DD>
16187
16188<p> An optional workaround for routers that break TCP window scaling.
16189Specify a value &gt; 0 and &lt; 65536 to enable this feature.  With
16190Postfix TCP servers (<a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a>), this feature is implemented
16191by the Postfix <a href="master.8.html">master(8)</a> daemon.  </p>
16192
16193<p> To change this parameter without stopping Postfix, you need to
16194first terminate all Postfix TCP servers: </p>
16195
16196<blockquote>
16197<pre>
16198# postconf -e <a href="postconf.5.html#master_service_disable">master_service_disable</a>=inet
16199# postfix reload
16200</pre>
16201</blockquote>
16202
16203<p> This immediately terminates all processes that accept network
16204connections.  Next, you enable Postfix TCP servers with the updated
16205<a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> setting: </p>
16206
16207<blockquote>
16208<pre>
16209# 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>=
16210# postfix reload
16211</pre>
16212</blockquote>
16213
16214<p> If you skip these steps with a running Postfix system, then the
16215<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>,
16216<a href="lmtp.8.html">lmtp(8)</a>).  </p>
16217
16218<p> This feature is available in Postfix 2.6 and later. </p>
16219
16220
16221</DD>
16222
16223<DT><b><a name="tls_append_default_CA">tls_append_default_CA</a>
16224(default: no)</b></DT><DD>
16225
16226<p> Append the system-supplied default certificate authority
16227certificates to the ones specified with *_tls_CApath or *_tls_CAfile.
16228The default is "no"; this prevents Postfix from trusting third-party
16229certificates and giving them relay permission with
16230<a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>.  </p>
16231
16232<p> This feature is available in Postfix 2.4.15, 2.5.11, 2.6.8,
162332.7.2 and later versions. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = yes" for
16234backwards compatibility, to avoid breaking certificate verification
16235with sites that don't use <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p>
16236
16237
16238</DD>
16239
16240<DT><b><a name="tls_daemon_random_bytes">tls_daemon_random_bytes</a>
16241(default: 32)</b></DT><DD>
16242
16243<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>
16244process requests from the <a href="tlsmgr.8.html">tlsmgr(8)</a> server in order to seed its
16245internal pseudo random number generator (PRNG).  The default of 32
16246bytes (equivalent to 256 bits) is sufficient to generate a 128bit
16247(or 168bit) session key. </p>
16248
16249<p> This feature is available in Postfix 2.2 and later.  </p>
16250
16251
16252</DD>
16253
16254<DT><b><a name="tls_dane_digest_agility">tls_dane_digest_agility</a>
16255(default: on)</b></DT><DD>
16256
16257<p> Configure DANE TLSA digest algorithm agility.  When digest
16258algorithm agility is enabled, and the server and client support a
16259common strong digest algorithm, TLSA records with weaker digest
16260algorithms are ignored.  </p>
16261
16262<p> Specify one of the following: </p>
16263
16264<dl>
16265
16266<dt><b>off</b></dt>
16267<dd> DANE verification examines each well-formed record in the TLSA
16268RRset whose matching type is either "0" (no hash used) or is one of
16269the digest algorithms listed in $<a href="postconf.5.html#tls_dane_digests">tls_dane_digests</a>.  This setting
16270is not recommended.  </dd>
16271
16272<dt><b>on</b></dt>
16273<dd> From each group of well-formed TLSA RRs a non-zero digest
16274matching type with the same certificate usage and selector, DANE
16275verification examines only those records whose matching type has
16276the highest precedence (appear earliest in $<a href="postconf.5.html#tls_dane_digests">tls_dane_digests</a>).
16277</dd>
16278
16279<dt><b>maybe</b></dt>
16280<dd> For compatibility with digest algorithm agility, each certificate
16281or public key whose digest is included in a DANE TLSA RRset, SHOULD
16282be published with the same set of digest matching type values as
16283any other with the same usage and selector.  Therefore, compatible
16284TLSA RRsets will contain an identical count of well-formed RRs with
16285each non-zero digest matching type for any fixed combination of
16286usage and selector.  When this constraint is violated, or any of
16287the digest records are malformed, digest algorithm agility will
16288disabled.  Otherwise, digest algorithm agility is enabled.   </dd>
16289
16290</dl>
16291
16292<p> Digest algorithm agility ensures that the strongest digest
16293supported by both the Postfix SMTP client and the remote server is
16294used, and weaker digests are ignored.  This supports non-disruptive
16295deprecation of outdated digest algorithms. </p>
16296
16297<p> To ensure compatibility with digest algorithm agility during
16298key rotation, when a certificate or public key is being replaced
16299with another, and both are published during the transition, both
16300the old and the new certificate MUST be specified with the same set
16301of digests.  One can change the list of digest algorithms later,
16302once old keys are retired.  At any given time, change either the
16303list of digests without changing the list of certificates or public
16304keys or the list of certificates or public keys without changing
16305the list of digests.  Full value matching type "0" records are not
16306subject to this constraint, but are discouraged due to the size of
16307the resulting DNS records.  </p>
16308
16309<p> It is expected that this algorithm agility mechanism will be
16310published in a standards track RFC for SMTP with DANE, and also in
16311an eventual update to <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>. </p>
16312
16313<p> This feature is available in Postfix 2.11 and later. </p>
16314
16315
16316</DD>
16317
16318<DT><b><a name="tls_dane_digests">tls_dane_digests</a>
16319(default: sha512 sha256)</b></DT><DD>
16320
16321<p> <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> TLSA resource-record "matching type" digest algorithms
16322in descending preference order.  All the specified algorithms must
16323be supported by the underlying OpenSSL library, otherwise the Postfix
16324SMTP client will not support DANE TLSA security.  </p>
16325
16326<p> Specify a list of digest names separated by commas and/or
16327whitespace.  Each digest name may be followed by an optional
16328"=&lt;number&gt;" suffix.  For example, "sha512" may instead be specified
16329as "sha512=2" and "sha256" may instead be specified as "sha256=1".
16330The optional number must match the <a
16331href="https://www.iana.org/assignments/dane-parameters/dane-parameters.xhtml#matching-types"
16332>IANA</a> assigned TLSA matching type number the algorithm in question.
16333Postfix will check this constraint for the algorithms it knows about.
16334Additional matching type algorithms registered with IANA can be added
16335with explicit numbers provided they are supported by OpenSSL. </p>
16336
16337<p> Invalid list elements are logged with a warning and disable DANE
16338support.  TLSA RRs that specify digests not included in the list are
16339ignored with a warning. </p>
16340
16341<p> Note: It is unwise to omit sha256 from the digest list.  This
16342digest algorithm is the only mandatory to implement digest algorithm
16343in <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>, and many servers are expected publish TLSA records
16344with just sha256 digests.  Unless one of the standard digests is
16345seriously compromised and servers have had ample time to update their
16346TLSA records you should not omit any standard digests, just arrange
16347them in order from strongest to weakest.  </p>
16348
16349<p> When for a particular combination of "certificate usage" and
16350"selector" the TLSA RRset contains records with more than one digest
16351matching type, the tls_dane_digest_agility parameter determines
16352whether all the RRs are used, or only those with the most preferred
16353digest matching type.  </p>
16354
16355<p> The <a href="postconf.5.html#tls_dane_trust_anchor_digest_enable">tls_dane_trust_anchor_digest_enable</a> parameter controls
16356whether any digest TLSA records are acceptable in usage "2" (trust
16357anchor assertion) TLSA records. </p>
16358
16359<p> This feature is available in Postfix 2.11 and later. </p>
16360
16361
16362</DD>
16363
16364<DT><b><a name="tls_dane_trust_anchor_digest_enable">tls_dane_trust_anchor_digest_enable</a>
16365(default: yes)</b></DT><DD>
16366
16367<p> <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> trust-anchor digest support in the Postfix TLS library.
16368Enable support for <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE TLSA) DNS records that contain
16369digests of trust-anchors with certificate usage "2".  In this case
16370the certificate usage logically requires the server administrator
16371to configure the server to include the trust-anchor certificate in
16372the server's SSL certificate chain.  If enough domains mess this
16373up, you can disable support for these TLSA records, but you'll no
16374longer have secure connections that get it right and only publish
16375trust anchor records.  </p>
16376
16377<p> At the <a href="TLS_README.html#client_tls_dane">dane</a>
16378security level, when a TLSA RRset includes only unusable associations,
16379the Postfix SMTP client will automatically switch the connection
16380to the <a href="TLS_README.html#client_tls_encrypt">encrypt</a>
16381security level.  At the <a
16382href="TLS_README.html#client_tls_dane">dane-only</a> security level,
16383the server in question is skipped and delivery is deferred if no
16384secure servers are found.  </p>
16385
16386<p> The <a href="postconf.5.html#tls_dane_digests">tls_dane_digests</a> parameter controls the list of digest
16387algorithms that are supported in TLSA records.  The tls_dane_digest_agility
16388parameter controls digest algorithm downgrade attack resistance.
16389</p>
16390
16391<p> This feature is available in Postfix 2.11 and later.  </p>
16392
16393
16394</DD>
16395
16396<DT><b><a name="tls_disable_workarounds">tls_disable_workarounds</a>
16397(default: see "postconf -d" output)</b></DT><DD>
16398
16399<p> List or bit-mask of OpenSSL bug work-arounds to disable. </p>
16400
16401<p> The OpenSSL toolkit includes a set of work-arounds for buggy SSL/TLS
16402implementations. Applications, such as Postfix, that want to maximize
16403interoperability ask the OpenSSL library to enable the full set of
16404recommended work-arounds. </p>
16405
16406<p> From time to time, it is discovered that a work-around creates a
16407security issue, and should no longer be used. If upgrading OpenSSL
16408to a fixed version is not an option or an upgrade is not available
16409in a timely manner, or in closed environments where no buggy clients
16410or servers exist, it may be appropriate to disable some or all of the
16411OpenSSL interoperability work-arounds. This parameter specifies which
16412bug work-arounds to disable. </p>
16413
16414<p> If the value of the parameter is a hexadecimal long integer starting
16415with "0x", the bug work-arounds corresponding to the bits specified in
16416its value are removed from the <b>SSL_OP_ALL</b> work-around bit-mask
16417(see openssl/ssl.h and SSL_CTX_set_options(3)). You can specify more
16418bits than are present in SSL_OP_ALL, excess bits are ignored. Specifying
164190xFFFFFFFF disables all bug-workarounds on a 32-bit system. This should
16420also be sufficient on 64-bit systems, until OpenSSL abandons support
16421for 32-bit systems and starts using the high 32 bits of a 64-bit
16422bug-workaround mask. </p>
16423
16424<p> Otherwise, the parameter is a white-space or comma separated list
16425of specific named bug work-arounds chosen from the list below. It
16426is possible that your OpenSSL version includes new bug work-arounds
16427added after your Postfix source code was last updated, in that case
16428you can only disable one of these via the hexadecimal syntax above. </p>
16429
16430<dl>
16431
16432<dt><b>MICROSOFT_SESS_ID_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
16433
16434<dt><b>NETSCAPE_CHALLENGE_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
16435
16436<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
16437
16438<dt><b>NETSCAPE_REUSE_CIPHER_CHANGE_BUG</b></dt> <dd> also aliased
16439as <b>CVE-2010-4180</b>. Postfix 2.8 disables this work-around by
16440default with OpenSSL versions that may predate the fix. Fixed in
16441OpenSSL 0.9.8q and OpenSSL 1.0.0c.</dd>
16442
16443<dt><b>SSLREF2_REUSE_CERT_TYPE_BUG</b></dt> <dd>See
16444SSL_CTX_set_options(3)</dd>
16445
16446<dt><b>MICROSOFT_BIG_SSLV3_BUFFER</b></dt> <dd>See
16447SSL_CTX_set_options(3)</dd>
16448
16449<dt><b>MSIE_SSLV2_RSA_PADDING</b></dt> <dd> also aliased as
16450<b>CVE-2005-2969</b>. Postfix 2.8 disables this work-around by
16451default with OpenSSL versions that may predate the fix. Fixed in
16452OpenSSL 0.9.7h and OpenSSL 0.9.8a.</dd>
16453
16454<dt><b>SSLEAY_080_CLIENT_DH_BUG</b></dt> <dd>See
16455SSL_CTX_set_options(3)</dd>
16456
16457<dt><b>TLS_D5_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
16458
16459<dt><b>TLS_BLOCK_PADDING_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
16460
16461<dt><b>TLS_ROLLBACK_BUG</b></dt> <dd>See SSL_CTX_set_options(3).
16462This is disabled in OpenSSL 0.9.7 and later. Nobody should still
16463be using 0.9.6! </dd>
16464
16465<dt><b>DONT_INSERT_EMPTY_FRAGMENTS</b></dt> <dd>See
16466SSL_CTX_set_options(3)</dd>
16467
16468<dt><b>CRYPTOPRO_TLSEXT_BUG</b></dt> <dd>New with GOST support in
16469OpenSSL 1.0.0.</dd>
16470
16471</dl>
16472
16473<p> This feature is available in Postfix 2.8 and later.  </p>
16474
16475
16476</DD>
16477
16478<DT><b><a name="tls_eecdh_strong_curve">tls_eecdh_strong_curve</a>
16479(default: prime256v1)</b></DT><DD>
16480
16481<p> The elliptic curve used by the Postfix SMTP server for sensibly
16482strong
16483ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
16484server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The phrase "sensibly
16485strong" means approximately 128-bit security based on best known
16486attacks. The selected curve must be implemented by OpenSSL (as
16487reported by ecparam(1) with the "-list_curves" option) and be one
16488of the curves listed in Section 5.1.1 of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not
16489generally change this setting.  Remote SMTP client implementations
16490must support this curve for EECDH key exchange to take place.  It
16491is unwise to choose an "exotic" curve supported by only a small subset
16492of clients.  </p>
16493
16494<p> The default "strong" curve is rated in NSA <a
16495href="http://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
16496B</a> for information classified up to SECRET.  </p>
16497
16498<p> Note: elliptic curve names are poorly standardized; different
16499standards groups are assigning different names to the same underlying
16500curves.  The curve with the X9.62 name "prime256v1" is also known
16501under the SECG name "secp256r1", but OpenSSL does not recognize the
16502latter name. </p>
16503
16504<p> If you want to take maximal advantage of ciphers that offer <a
16505href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
16506the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
16507started</a> section of <a
16508href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
16509full document conveniently presents all information about Postfix
16510"perfect" forward secrecy support in one place: what forward secrecy
16511is, how to tweak settings, and what you can expect to see when
16512Postfix uses ciphers with forward secrecy.  </p>
16513
16514<p> This feature is available in Postfix 2.6 and later, when it is
16515compiled and linked with OpenSSL 1.0.0 or later on platforms where
16516EC algorithms have not been disabled by the vendor. </p>
16517
16518
16519</DD>
16520
16521<DT><b><a name="tls_eecdh_ultra_curve">tls_eecdh_ultra_curve</a>
16522(default: secp384r1)</b></DT><DD>
16523
16524<p> The elliptic curve used by the Postfix SMTP server for maximally
16525strong
16526ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
16527server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = ultra". The phrase "maximally
16528strong" means approximately 192-bit security based on best known attacks.
16529This additional strength comes at a significant computational cost, most
16530users should instead set "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong".  The selected
16531curve must be implemented by OpenSSL (as reported by ecparam(1) with the
16532"-list_curves" option) and be one of the curves listed in Section 5.1.1
16533of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not generally change this setting. </p>
16534
16535<p> This default "ultra" curve is rated in NSA <a
16536href="http://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
16537B</a> for information classified up to TOP SECRET. </p>
16538
16539<p> If you want to take maximal advantage of ciphers that offer <a
16540href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
16541the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
16542started</a> section of <a
16543href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
16544full document conveniently presents all information about Postfix
16545"perfect" forward secrecy support in one place: what forward secrecy
16546is, how to tweak settings, and what you can expect to see when
16547Postfix uses ciphers with forward secrecy.  </p>
16548
16549<p> This feature is available in Postfix 2.6 and later, when it is
16550compiled and linked with OpenSSL 1.0.0 or later on platforms where
16551EC algorithms have not been disabled by the vendor. </p>
16552
16553
16554</DD>
16555
16556<DT><b><a name="tls_export_cipherlist">tls_export_cipherlist</a>
16557(default: ALL:+RC4:@STRENGTH)</b></DT><DD>
16558
16559<p> The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. This
16560defines the meaning of the "export" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
16561<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
16562<a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>.  With Postfix
16563releases before the middle of 2015 this is the default cipherlist
16564for the opportunistic ("may") TLS client security level and also
16565the default cipherlist for the SMTP server. You are strongly
16566encouraged to not change this setting.  </p>
16567
16568<p> This feature is available in Postfix 2.3 and later. </p>
16569
16570
16571</DD>
16572
16573<DT><b><a name="tls_high_cipherlist">tls_high_cipherlist</a>
16574(default: ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)</b></DT><DD>
16575
16576<p> The OpenSSL cipherlist for "HIGH" grade ciphers. This defines
16577the meaning of the "high" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
16578<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
16579<a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly
16580encouraged to not change this setting.  </p>
16581
16582<p> This feature is available in Postfix 2.3 and later. </p>
16583
16584
16585</DD>
16586
16587<DT><b><a name="tls_legacy_public_key_fingerprints">tls_legacy_public_key_fingerprints</a>
16588(default: no)</b></DT><DD>
16589
16590<p> A temporary migration aid for sites that use certificate
16591<i>public-key</i> fingerprints with Postfix 2.9.0..2.9.5, which use
16592an incorrect algorithm. This parameter has no effect on the certificate
16593fingerprint support that is available since Postfix 2.2. </p>
16594
16595<p> Specify "<a href="postconf.5.html#tls_legacy_public_key_fingerprint">tls_legacy_public_key_fingerprints</a> = yes" temporarily,
16596pending a migration from configuration files with incorrect Postfix
165972.9.0..2.9.5 certificate public-key finger prints, to the correct
16598fingerprints used by Postfix 2.9.6 and later.  To compute the correct
16599certificate public-key fingerprints, see <a href="TLS_README.html">TLS_README</a>. </p>
16600
16601<p> This feature is available in Postfix 2.9.6 and later.  </p>
16602
16603
16604</DD>
16605
16606<DT><b><a name="tls_low_cipherlist">tls_low_cipherlist</a>
16607(default: ALL:!EXPORT:+RC4:@STRENGTH)</b></DT><DD>
16608
16609<p> The OpenSSL cipherlist for "LOW" or higher grade ciphers. This defines
16610the meaning of the "low" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
16611<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
16612<a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly
16613encouraged to not change this setting.  </p>
16614
16615<p> This feature is available in Postfix 2.3 and later. </p>
16616
16617
16618</DD>
16619
16620<DT><b><a name="tls_medium_cipherlist">tls_medium_cipherlist</a>
16621(default: ALL:!EXPORT:!LOW:+RC4:@STRENGTH)</b></DT><DD>
16622
16623<p> The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. This
16624defines the meaning of the "medium" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
16625<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
16626<a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>.  This is the
16627default cipherlist for mandatory TLS encryption in the TLS client
16628(with anonymous ciphers disabled when verifying server certificates).
16629This is the default cipherlist for opportunistic TLS with Postfix
16630releases after the middle of 2015.  You are strongly encouraged to
16631not change this setting.  </p>
16632
16633<p> This feature is available in Postfix 2.3 and later. </p>
16634
16635
16636</DD>
16637
16638<DT><b><a name="tls_null_cipherlist">tls_null_cipherlist</a>
16639(default: eNULL:!aNULL)</b></DT><DD>
16640
16641<p> The OpenSSL cipherlist for "NULL" grade ciphers that provide
16642authentication without encryption. This defines the meaning of the "null"
16643setting in smtpd_mandatory_tls_ciphers, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
16644<a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>.  You are strongly encouraged to not
16645change this setting. </p>
16646
16647<p> This feature is available in Postfix 2.3 and later. </p>
16648
16649
16650</DD>
16651
16652<DT><b><a name="tls_preempt_cipherlist">tls_preempt_cipherlist</a>
16653(default: no)</b></DT><DD>
16654
16655<p> With SSLv3 and later, use the Postfix SMTP server's cipher
16656preference order instead of the remote client's cipher preference
16657order. </p>
16658
16659<p> By default, the OpenSSL server selects the client's most preferred
16660cipher that the server supports. With SSLv3 and later, the server may
16661choose its own most preferred cipher that is supported (offered) by
16662the client. Setting "<a href="postconf.5.html#tls_preempt_cipherlist">tls_preempt_cipherlist</a> = yes" enables server cipher
16663preferences. </p>
16664
16665<p> While server cipher selection may in some cases lead to a more secure
16666or performant cipher choice, there is some risk of interoperability
16667issues. In the past, some SSL clients have listed lower priority ciphers
16668that they did not implement correctly. If the server chooses a cipher
16669that the client prefers less, it may select a cipher whose client
16670implementation is flawed. Most notably Windows 2003 Microsoft
16671Exchange servers have flawed implementations of DES-CBC3-SHA, which
16672OpenSSL considers stronger than RC4-SHA.  Enabling server cipher-suite
16673selection may create interoperability issues with Windows 2003
16674Microsoft Exchange clients.  </p>
16675
16676<p> This feature is available in Postfix 2.8 and later, in combination
16677with OpenSSL 0.9.7 and later. </p>
16678
16679
16680</DD>
16681
16682<DT><b><a name="tls_random_bytes">tls_random_bytes</a>
16683(default: 32)</b></DT><DD>
16684
16685<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>
16686when (re)seeding the in-memory pseudo random number generator (PRNG)
16687pool. The default of 32 bytes (256 bits) is good enough for 128bit
16688symmetric keys.  If using EGD or a device file, a maximum of 255
16689bytes is read. </p>
16690
16691<p> This feature is available in Postfix 2.2 and later.  </p>
16692
16693
16694</DD>
16695
16696<DT><b><a name="tls_random_exchange_name">tls_random_exchange_name</a>
16697(default: see "postconf -d" output)</b></DT><DD>
16698
16699<p> Name of the pseudo random number generator (PRNG) state file
16700that is maintained by <a href="tlsmgr.8.html">tlsmgr(8)</a>. The file is created when it does
16701not exist, and its length is fixed at 1024 bytes.  </p>
16702
16703<p> As of version 2.5, Postfix no longer uses root privileges when
16704opening this file, and the default file location was changed from
16705${<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
16706a migration aid, an attempt to open the file under a non-Postfix
16707directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
16708warning is logged. </p>
16709
16710<p> This feature is available in Postfix 2.2 and later.  </p>
16711
16712
16713</DD>
16714
16715<DT><b><a name="tls_random_prng_update_period">tls_random_prng_update_period</a>
16716(default: 3600s)</b></DT><DD>
16717
16718<p> The time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to save the state of
16719the pseudo random number generator (PRNG) to the file specified
16720with $<a href="postconf.5.html#tls_random_exchange_name">tls_random_exchange_name</a>.  </p>
16721
16722<p> This feature is available in Postfix 2.2 and later.  </p>
16723
16724
16725</DD>
16726
16727<DT><b><a name="tls_random_reseed_period">tls_random_reseed_period</a>
16728(default: 3600s)</b></DT><DD>
16729
16730<p> The maximal time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to re-seed the
16731in-memory pseudo random number generator (PRNG) pool from external
16732sources.  The actual time between re-seeding attempts is calculated
16733using the PRNG, and is between 0 and the time specified.  </p>
16734
16735<p> This feature is available in Postfix 2.2 and later.  </p>
16736
16737
16738</DD>
16739
16740<DT><b><a name="tls_random_source">tls_random_source</a>
16741(default: see "postconf -d" output)</b></DT><DD>
16742
16743<p> The external entropy source for the in-memory <a href="tlsmgr.8.html">tlsmgr(8)</a> pseudo
16744random number generator (PRNG) pool. Be sure to specify a non-blocking
16745source.  If this source is not a regular file, the entropy source
16746type must be prepended:  egd:/path/to/egd_socket for a source with
16747EGD compatible socket interface, or dev:/path/to/device for a
16748device file.  </p>
16749
16750<p> Note: on OpenBSD systems specify /dev/arandom when /dev/urandom
16751gives timeout errors.  </p>
16752
16753<p> This feature is available in Postfix 2.2 and later.  </p>
16754
16755
16756</DD>
16757
16758<DT><b><a name="tls_ssl_options">tls_ssl_options</a>
16759(default: empty)</b></DT><DD>
16760
16761<p> List or bit-mask of OpenSSL options to enable. </p>
16762
16763<p> The OpenSSL toolkit provides a set of options that applications
16764can enable to tune the OpenSSL behavior.  Some of these work around
16765bugs in other implementations and are on by default.  You can use
16766the <a href="postconf.5.html#tls_disable_workarounds">tls_disable_workarounds</a> parameter to selectively disable some
16767or all of the bug work-arounds, making OpenSSL more strict at the
16768cost of non-interoperability with SSL clients or servers that exhibit
16769the bugs.  </p>
16770
16771<p> Other options are off by default, and typically enable or disable
16772features rather than bug work-arounds.  These may be turned on (with
16773care) via the tls_ssl_options parameter.  The value is a white-space
16774or comma separated list of named options chosen from the list below.
16775The names are not case-sensitive, you can use lower-case if you
16776prefer.  The upper case values below match the corresponding macro
16777name in the ssl.h header file with the SSL_OP_ prefix removed.  It
16778is possible that your OpenSSL version includes new options added
16779after your Postfix source code was last updated, in that case you
16780can only enable one of these via the hexadecimal syntax below.  </p>
16781
16782<p> You should only enable features via the hexadecimal mask when
16783the need to control the feature is critical (to deal with a new
16784vulnerability or a serious interoperability problem).  Postfix DOES
16785NOT promise backwards compatible behavior with respect to the mask
16786bits.  A feature enabled via the mask in one release may be enabled
16787by other means in a later release, and the mask bit will then be
16788ignored.  Therefore, use of the hexadecimal mask is only a temporary
16789measure until a new Postfix or OpenSSL release provides a better
16790solution.  </p>
16791
16792<p> If the value of the parameter is a hexadecimal long integer
16793starting with "0x", the options corresponding to the bits specified
16794in its value are enabled (see openssl/ssl.h and SSL_CTX_set_options(3)).
16795You can only enable options not already controlled by other Postfix
16796settings.  For example, you cannot disable protocols or enable
16797server cipher preference.  Do not attempt to turn all features by
16798specifying 0xFFFFFFFF, this is unlikely to be a good idea.  </p>
16799
16800<dl>
16801
16802<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3).</dd>
16803
16804<dt><b>NO_TICKET</b></dt> <dd>See SSL_CTX_set_options(3).</dd>
16805
16806<dt><b>NO_COMPRESSION</b></dt> <dd>Disable SSL compression even if
16807supported by the OpenSSL library.  Compression is CPU-intensive,
16808and compression before encryption does not always improve security.  </dd>
16809
16810</dl>
16811
16812<p> This feature is available in Postfix 2.11 and later.  </p>
16813
16814
16815</DD>
16816
16817<DT><b><a name="tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a>
16818(default: yes)</b></DT><DD>
16819
16820<p> Match multiple DNS labels with "*" in wildcard certificates.
16821</p>
16822
16823<p> Some mail service providers prepend the customer domain name
16824to a base domain for which they have a wildcard TLS certificate.
16825For example, the MX records for example.com hosted by example.net
16826may be: </p>
16827
16828<blockquote>
16829<pre>
16830example.com. IN MX 0 example.com.mx1.example.net.
16831example.com. IN MX 0 example.com.mx2.example.net.
16832</pre>
16833</blockquote>
16834
16835<p> and the TLS certificate may be for "*.example.net". The "*"
16836then corresponds with multiple labels in the mail server domain
16837name.  While multi-label wildcards are not widely supported, and
16838are not blessed by any standard, there is little to be gained by
16839disallowing their use in this context.  </p>
16840
16841<p> Notes: <p>
16842
16843<ul>
16844
16845<li> <p> In a certificate name, the "*" is special only when it is
16846used as the first label. </p>
16847
16848<li> <p> While Postfix (2.11 or later) can match "*" with multiple
16849domain name labels, other implementations likely will not.  </p>
16850
16851<li> <p> Earlier Postfix implementations behave as if
16852"<a href="postconf.5.html#tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a> = no". </p>
16853
16854</ul>
16855
16856<p> This feature is available in Postfix 2.11 and later.  </p>
16857
16858
16859</DD>
16860
16861<DT><b><a name="tlsmgr_service_name">tlsmgr_service_name</a>
16862(default: tlsmgr)</b></DT><DD>
16863
16864<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
16865service maintains TLS session caches and other information in support
16866of TLS. </p>
16867
16868<p> This feature is available in Postfix 2.11 and later. </p>
16869
16870
16871</DD>
16872
16873<DT><b><a name="tlsproxy_enforce_tls">tlsproxy_enforce_tls</a>
16874(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
16875
16876<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
16877require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> for
16878further details. </p>
16879
16880<p> This feature is available in Postfix 2.8 and later. </p>
16881
16882
16883</DD>
16884
16885<DT><b><a name="tlsproxy_service_name">tlsproxy_service_name</a>
16886(default: tlsproxy)</b></DT><DD>
16887
16888<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
16889service performs plaintext &lt;=&gt; TLS ciphertext conversion. <p>
16890
16891<p> This feature is available in Postfix 2.8 and later. </p>
16892
16893
16894</DD>
16895
16896<DT><b><a name="tlsproxy_tls_CAfile">tlsproxy_tls_CAfile</a>
16897(default: $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)</b></DT><DD>
16898
16899<p> A file containing (PEM format) CA certificates of root CAs
16900trusted to sign either remote SMTP client certificates or intermediate
16901CA certificates.  See <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> for further details. </p>
16902
16903<p> This feature is available in Postfix 2.8 and later. </p>
16904
16905
16906</DD>
16907
16908<DT><b><a name="tlsproxy_tls_CApath">tlsproxy_tls_CApath</a>
16909(default: $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>)</b></DT><DD>
16910
16911<p> A directory containing (PEM format) CA certificates of root CAs
16912trusted to sign either remote SMTP client certificates or intermediate
16913CA certificates. See <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> for further details. </p>
16914
16915<p> This feature is available in Postfix 2.8 and later. </p>
16916
16917
16918</DD>
16919
16920<DT><b><a name="tlsproxy_tls_always_issue_session_ids">tlsproxy_tls_always_issue_session_ids</a>
16921(default: $<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>)</b></DT><DD>
16922
16923<p> Force the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server to issue a TLS session id,
16924even when TLS session caching is turned off. See
16925<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> for further details. </p>
16926
16927<p> This feature is available in Postfix 2.8 and later. </p>
16928
16929
16930</DD>
16931
16932<DT><b><a name="tlsproxy_tls_ask_ccert">tlsproxy_tls_ask_ccert</a>
16933(default: $<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>)</b></DT><DD>
16934
16935<p> Ask a remote SMTP client for a client certificate. See
16936<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> for further details. </p>
16937
16938<p> This feature is available in Postfix 2.8 and later. </p>
16939
16940
16941</DD>
16942
16943<DT><b><a name="tlsproxy_tls_ccert_verifydepth">tlsproxy_tls_ccert_verifydepth</a>
16944(default: $<a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>)</b></DT><DD>
16945
16946<p> The verification depth for remote SMTP client certificates. A
16947depth of 1 is sufficient if the issuing CA is listed in a local CA
16948file. See <a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> for further details. </p>
16949
16950<p> This feature is available in Postfix 2.8 and later. </p>
16951
16952
16953</DD>
16954
16955<DT><b><a name="tlsproxy_tls_cert_file">tlsproxy_tls_cert_file</a>
16956(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
16957
16958<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA certificate in PEM
16959format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
16960private RSA key.  See <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for further details.  </p>
16961
16962<p> This feature is available in Postfix 2.8 and later. </p>
16963
16964
16965</DD>
16966
16967<DT><b><a name="tlsproxy_tls_ciphers">tlsproxy_tls_ciphers</a>
16968(default: $<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>)</b></DT><DD>
16969
16970<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
16971will use with opportunistic TLS encryption. See <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>
16972for further details. </p>
16973
16974<p> This feature is available in Postfix 2.8 and later. </p>
16975
16976
16977</DD>
16978
16979<DT><b><a name="tlsproxy_tls_dcert_file">tlsproxy_tls_dcert_file</a>
16980(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
16981
16982<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA certificate in PEM
16983format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
16984private DSA key.  See <a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> for further details.
16985</p>
16986
16987<p> This feature is available in Postfix 2.8 and later. </p>
16988
16989
16990</DD>
16991
16992<DT><b><a name="tlsproxy_tls_dh1024_param_file">tlsproxy_tls_dh1024_param_file</a>
16993(default: $<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>)</b></DT><DD>
16994
16995<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
16996should use with non-export EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
16997for further details. </p>
16998
16999<p> This feature is available in Postfix 2.8 and later. </p>
17000
17001
17002</DD>
17003
17004<DT><b><a name="tlsproxy_tls_dh512_param_file">tlsproxy_tls_dh512_param_file</a>
17005(default: $<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>)</b></DT><DD>
17006
17007<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
17008should use with export-grade EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
17009for further details.  </p>
17010
17011<p> This feature is available in Postfix 2.8 and later. </p>
17012
17013
17014</DD>
17015
17016<DT><b><a name="tlsproxy_tls_dkey_file">tlsproxy_tls_dkey_file</a>
17017(default: $<a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>)</b></DT><DD>
17018
17019<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA private key in PEM
17020format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
17021server DSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>.
17022See <a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> for further details. </p>
17023
17024<p> This feature is available in Postfix 2.8 and later. </p>
17025
17026
17027</DD>
17028
17029<DT><b><a name="tlsproxy_tls_eccert_file">tlsproxy_tls_eccert_file</a>
17030(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
17031
17032<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA certificate in
17033PEM format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
17034server private ECDSA key.  See <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> for further
17035details. </p>
17036
17037<p> This feature is available in Postfix 2.8 and later. </p>
17038
17039
17040</DD>
17041
17042<DT><b><a name="tlsproxy_tls_eckey_file">tlsproxy_tls_eckey_file</a>
17043(default: $<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>)</b></DT><DD>
17044
17045<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA private key in
17046PEM format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
17047server ECDSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>.
17048See <a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> for further details. </p>
17049
17050<p> This feature is available in Postfix 2.8 and later. </p>
17051
17052
17053</DD>
17054
17055<DT><b><a name="tlsproxy_tls_eecdh_grade">tlsproxy_tls_eecdh_grade</a>
17056(default: $<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>)</b></DT><DD>
17057
17058<p> The Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server security grade for ephemeral
17059elliptic-curve Diffie-Hellman (EECDH) key exchange. See
17060<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> for further details. </p>
17061
17062<p> This feature is available in Postfix 2.8 and later. </p>
17063
17064
17065</DD>
17066
17067<DT><b><a name="tlsproxy_tls_exclude_ciphers">tlsproxy_tls_exclude_ciphers</a>
17068(default: $<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>)</b></DT><DD>
17069
17070<p> List of ciphers or cipher types to exclude from the <a href="tlsproxy.8.html">tlsproxy(8)</a>
17071server cipher list at all TLS security levels. See
17072<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> for further details. </p>
17073
17074<p> This feature is available in Postfix 2.8 and later. </p>
17075
17076
17077</DD>
17078
17079<DT><b><a name="tlsproxy_tls_fingerprint_digest">tlsproxy_tls_fingerprint_digest</a>
17080(default: $<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>)</b></DT><DD>
17081
17082<p> The message digest algorithm to construct remote SMTP
17083client-certificate
17084fingerprints. See <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> for further details.
17085</p>
17086
17087<p> This feature is available in Postfix 2.8 and later. </p>
17088
17089
17090</DD>
17091
17092<DT><b><a name="tlsproxy_tls_key_file">tlsproxy_tls_key_file</a>
17093(default: $<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a>)</b></DT><DD>
17094
17095<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA private key in PEM
17096format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
17097server RSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>.
17098See <a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a> for further details. </p>
17099
17100<p> This feature is available in Postfix 2.8 and later. </p>
17101
17102
17103</DD>
17104
17105<DT><b><a name="tlsproxy_tls_loglevel">tlsproxy_tls_loglevel</a>
17106(default: $<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a>)</b></DT><DD>
17107
17108<p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server logging of TLS
17109activity.  Each logging level also includes the information that
17110is logged at a lower logging level. See <a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> for
17111further details.  </p>
17112
17113<p> This feature is available in Postfix 2.8 and later. </p>
17114
17115
17116</DD>
17117
17118<DT><b><a name="tlsproxy_tls_mandatory_ciphers">tlsproxy_tls_mandatory_ciphers</a>
17119(default: $<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>)</b></DT><DD>
17120
17121<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
17122will use with mandatory TLS encryption. See <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
17123for further details. </p>
17124
17125<p> This feature is available in Postfix 2.8 and later. </p>
17126
17127
17128</DD>
17129
17130<DT><b><a name="tlsproxy_tls_mandatory_exclude_ciphers">tlsproxy_tls_mandatory_exclude_ciphers</a>
17131(default: $<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>)</b></DT><DD>
17132
17133<p> Additional list of ciphers or cipher types to exclude from the
17134<a href="tlsproxy.8.html">tlsproxy(8)</a> server cipher list at mandatory TLS security levels.
17135See <a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> for further details. </p>
17136
17137<p> This feature is available in Postfix 2.8 and later. </p>
17138
17139
17140</DD>
17141
17142<DT><b><a name="tlsproxy_tls_mandatory_protocols">tlsproxy_tls_mandatory_protocols</a>
17143(default: $<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>)</b></DT><DD>
17144
17145<p> The SSL/TLS protocols accepted by the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
17146with mandatory TLS encryption. If the list is empty, the server
17147supports all available SSL/TLS protocol versions.  See
17148<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> for further details. </p>
17149
17150<p> This feature is available in Postfix 2.8 and later. </p>
17151
17152
17153</DD>
17154
17155<DT><b><a name="tlsproxy_tls_protocols">tlsproxy_tls_protocols</a>
17156(default: $<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>)</b></DT><DD>
17157
17158<p> List of TLS protocols that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server will
17159exclude or include with opportunistic TLS encryption. See
17160<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> for further details. </p>
17161
17162<p> This feature is available in Postfix 2.8 and later. </p>
17163
17164
17165</DD>
17166
17167<DT><b><a name="tlsproxy_tls_req_ccert">tlsproxy_tls_req_ccert</a>
17168(default: $<a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>)</b></DT><DD>
17169
17170<p> With mandatory TLS encryption, require a trusted remote SMTP
17171client certificate in order to allow TLS connections to proceed.
17172See <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> for further details. </p>
17173
17174<p> This feature is available in Postfix 2.8 and later. </p>
17175
17176
17177</DD>
17178
17179<DT><b><a name="tlsproxy_tls_security_level">tlsproxy_tls_security_level</a>
17180(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
17181
17182<p> The SMTP TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server;
17183when a non-empty value is specified, this overrides the obsolete
17184parameters <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
17185<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> for further details. </p>
17186
17187<p> This feature is available in Postfix 2.8 and later. </p>
17188
17189
17190</DD>
17191
17192<DT><b><a name="tlsproxy_tls_session_cache_timeout">tlsproxy_tls_session_cache_timeout</a>
17193(default: $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>)</b></DT><DD>
17194
17195<p> Obsolete expiration time of Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server TLS session
17196cache information. Since the cache is shared with <a href="smtpd.8.html">smtpd(8)</a> and managed
17197by <a href="tlsmgr.8.html">tlsmgr(8)</a>, there is only one expiration time for the SMTP server cache
17198shared by all three services, namely <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p>
17199
17200<p> This feature is available in Postfix 2.8 and later. </p>
17201
17202
17203</DD>
17204
17205<DT><b><a name="tlsproxy_use_tls">tlsproxy_use_tls</a>
17206(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
17207
17208<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
17209but do not require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>
17210for further details. </p>
17211
17212<p> This feature is available in Postfix 2.8 and later. </p>
17213
17214
17215</DD>
17216
17217<DT><b><a name="tlsproxy_watchdog_timeout">tlsproxy_watchdog_timeout</a>
17218(default: 10s)</b></DT><DD>
17219
17220<p> How much time a <a href="tlsproxy.8.html">tlsproxy(8)</a> process may take to process local
17221or remote I/O before it is terminated by a built-in watchdog timer.
17222This is a safety mechanism that prevents <a href="tlsproxy.8.html">tlsproxy(8)</a> from becoming
17223non-responsive due to a bug in Postfix itself or in system software.
17224To avoid false alarms and unnecessary cache corruption this limit
17225cannot be set under 10s.  </p>
17226
17227<p> Specify a non-zero time value (an integral value plus an optional
17228one-letter suffix that specifies the time unit).  Time units: s
17229(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
17230
17231<p> This feature is available in Postfix 2.8.  </p>
17232
17233
17234</DD>
17235
17236<DT><b><a name="trace_service_name">trace_service_name</a>
17237(default: trace)</b></DT><DD>
17238
17239<p>
17240The name of the trace service. This service is implemented by the
17241<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
17242of mail deliveries and produces a mail delivery report when verbose
17243delivery is requested with "<b>sendmail -v</b>".
17244</p>
17245
17246<p>
17247This feature is available in Postfix 2.1 and later.
17248</p>
17249
17250
17251</DD>
17252
17253<DT><b><a name="transport_delivery_slot_cost">transport_delivery_slot_cost</a>
17254(default: $<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b></DT><DD>
17255
17256<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
17257parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17258the message delivery transport. </p>
17259
17260<p> Note: <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> parameters will not
17261show up in "postconf" command output before Postfix version 2.9.
17262This limitation applies to many parameters whose name is a combination
17263of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
17264"_delivery_slot_cost"). </p>
17265
17266
17267</DD>
17268
17269<DT><b><a name="transport_delivery_slot_discount">transport_delivery_slot_discount</a>
17270(default: $<a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>)</b></DT><DD>
17271
17272<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>
17273parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17274the message delivery transport. </p>
17275
17276<p> Note: <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> parameters will
17277not show up in "postconf" command output before Postfix version
172782.9.  This limitation applies to many parameters whose name is a
17279combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17280this case: "_delivery_slot_discount"). </p>
17281
17282
17283</DD>
17284
17285<DT><b><a name="transport_delivery_slot_loan">transport_delivery_slot_loan</a>
17286(default: $<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b></DT><DD>
17287
17288<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>
17289parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17290the message delivery transport. </p>
17291
17292<p> Note: <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> parameters will not
17293show up in "postconf" command output before Postfix version 2.9.
17294This limitation applies to many parameters whose name is a combination
17295of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
17296"_delivery_slot_loan"). </p>
17297
17298
17299</DD>
17300
17301<DT><b><a name="transport_destination_concurrency_failed_cohort_limit">transport_destination_concurrency_failed_cohort_limit</a>
17302(default: $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>)</b></DT><DD>
17303
17304<p> A transport-specific override for the
17305<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> parameter value,
17306where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
17307transport. </p>
17308
17309<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>
17310parameters will not show up in "postconf" command output before
17311Postfix version 2.9.  This limitation applies to many parameters
17312whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
17313built-in suffix (in this case:
17314"_destination_concurrency_failed_cohort_limit"). </p>
17315
17316<p> This feature is available in Postfix 2.5 and later. </p>
17317
17318
17319</DD>
17320
17321<DT><b><a name="transport_destination_concurrency_limit">transport_destination_concurrency_limit</a>
17322(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
17323
17324<p> A transport-specific override for the
17325<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> parameter value, where
17326<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
17327transport. </p>
17328
17329<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a>
17330parameters will not show up in "postconf" command output before
17331Postfix version 2.9.  This limitation applies to many parameters
17332whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
17333built-in suffix (in this case: "_destination_concurrency_limit").
17334</p>
17335
17336
17337</DD>
17338
17339<DT><b><a name="transport_destination_concurrency_negative_feedback">transport_destination_concurrency_negative_feedback</a>
17340(default: $<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>)</b></DT><DD>
17341
17342<p> A transport-specific override for the
17343<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> parameter value,
17344where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
17345transport. </p>
17346
17347<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
17348parameters will not show up in "postconf" command output before
17349Postfix version 2.9.  This limitation applies to many parameters
17350whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
17351built-in suffix (in this case:
17352"_destination_concurrency_negative_feedback"). </p>
17353
17354<p> This feature is available in Postfix 2.5 and later. </p>
17355
17356
17357</DD>
17358
17359<DT><b><a name="transport_destination_concurrency_positive_feedback">transport_destination_concurrency_positive_feedback</a>
17360(default: $<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>)</b></DT><DD>
17361
17362<p> A transport-specific override for the
17363<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> parameter value,
17364where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
17365transport. </p>
17366
17367<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
17368parameters will not show up in "postconf" command output before
17369Postfix version 2.9.  This limitation applies to many parameters
17370whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
17371built-in suffix (in this case:
17372"_destination_concurrency_positive_feedback"). </p>
17373
17374<p> This feature is available in Postfix 2.5 and later. </p>
17375
17376
17377</DD>
17378
17379<DT><b><a name="transport_destination_rate_delay">transport_destination_rate_delay</a>
17380(default: $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>)</b></DT><DD>
17381
17382<p> A transport-specific override for the <a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>
17383parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17384the message delivery transport. </p>
17385
17386<p> Note: some <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> parameters
17387will not show up in "postconf" command output before Postfix version
173882.9.  This limitation applies to many parameters whose name is a
17389combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17390this case: "_destination_rate_delay"). </p>
17391
17392<p> This feature is available in Postfix 2.5 and later. </p>
17393
17394
17395</DD>
17396
17397<DT><b><a name="transport_destination_recipient_limit">transport_destination_recipient_limit</a>
17398(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
17399
17400<p> A transport-specific override for the
17401<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> parameter value, where
17402<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
17403transport. </p>
17404
17405<p> Note: some <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> parameters
17406will not show up in "postconf" command output before Postfix version
174072.9.  This limitation applies to many parameters whose name is a
17408combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17409this case: "_destination_recipient_limit"). </p>
17410
17411
17412</DD>
17413
17414<DT><b><a name="transport_extra_recipient_limit">transport_extra_recipient_limit</a>
17415(default: $<a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>)</b></DT><DD>
17416
17417<p> A transport-specific override for the <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
17418parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17419the message delivery transport. </p>
17420
17421<p> Note: <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> parameters will
17422not show up in "postconf" command output before Postfix version
174232.9.  This limitation applies to many parameters whose name is a
17424combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17425this case: "_extra_recipient_limit").  </p>
17426
17427
17428</DD>
17429
17430<DT><b><a name="transport_initial_destination_concurrency">transport_initial_destination_concurrency</a>
17431(default: $<a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>)</b></DT><DD>
17432
17433<p> A transport-specific override for the <a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>
17434parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17435the message delivery transport. </p>
17436
17437<p> Note: some <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a>
17438parameters will not show up in "postconf" command output before
17439Postfix version 2.9.  This limitation applies to many parameters
17440whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
17441built-in suffix (in this case: "_initial_destination_concurrency").
17442</p>
17443
17444<p> This feature is available in Postfix 2.5 and later. </p>
17445
17446
17447</DD>
17448
17449<DT><b><a name="transport_maps">transport_maps</a>
17450(default: empty)</b></DT><DD>
17451
17452<p>
17453Optional lookup tables with mappings from recipient address to
17454(message delivery transport, next-hop destination).  See <a href="transport.5.html">transport(5)</a>
17455for details.
17456</p>
17457
17458<p>
17459Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables.  If you use this
17460feature with local files, run "<b>postmap /etc/postfix/transport</b>"
17461after making a change.  </p>
17462
17463<p> For safety reasons, as of Postfix 2.3 this feature does not
17464allow $number substitutions in regular expression maps. </p>
17465
17466<p>
17467Examples:
17468</p>
17469
17470<pre>
17471<a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/transport
17472<a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport
17473</pre>
17474
17475
17476</DD>
17477
17478<DT><b><a name="transport_minimum_delivery_slots">transport_minimum_delivery_slots</a>
17479(default: $<a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>)</b></DT><DD>
17480
17481<p> A transport-specific override for the <a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>
17482parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17483the message delivery transport. </p>
17484
17485<p> Note: <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> parameters will
17486not show up in "postconf" command output before Postfix version
174872.9.  This limitation applies to many parameters whose name is a
17488combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17489this case: "_minimum_delivery_slots"). </p>
17490
17491
17492</DD>
17493
17494<DT><b><a name="transport_recipient_limit">transport_recipient_limit</a>
17495(default: $<a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>)</b></DT><DD>
17496
17497<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>
17498parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17499the message delivery transport. </p>
17500
17501<p> Note: some <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> parameters will not
17502show up in "postconf" command output before Postfix version 2.9.
17503This limitation applies to many parameters whose name is a combination
17504of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
17505"_recipient_limit"). </p>
17506
17507
17508</DD>
17509
17510<DT><b><a name="transport_recipient_refill_delay">transport_recipient_refill_delay</a>
17511(default: $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>)</b></DT><DD>
17512
17513<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>
17514parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17515the message delivery transport. </p>
17516
17517<p> Note: <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> parameters will
17518not show up in "postconf" command output before Postfix version
175192.9.  This limitation applies to many parameters whose name is a
17520combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17521this case: "_recipient_refill_delay").  </p>
17522
17523<p> This feature is available in Postfix 2.4 and later. </p>
17524
17525
17526</DD>
17527
17528<DT><b><a name="transport_recipient_refill_limit">transport_recipient_refill_limit</a>
17529(default: $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>)</b></DT><DD>
17530
17531<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>
17532parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
17533the message delivery transport. </p>
17534
17535<p> Note: <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> parameters will
17536not show up in "postconf" command output before Postfix version
175372.9.  This limitation applies to many parameters whose name is a
17538combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
17539this case: "_recipient_refill_limit").  </p>
17540
17541<p> This feature is available in Postfix 2.4 and later. </p>
17542
17543
17544</DD>
17545
17546<DT><b><a name="transport_retry_time">transport_retry_time</a>
17547(default: 60s)</b></DT><DD>
17548
17549<p>
17550The time between attempts by the Postfix queue manager to contact
17551a malfunctioning message delivery transport.
17552</p>
17553
17554<p>
17555Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
17556The default time unit is s (seconds).
17557</p>
17558
17559
17560</DD>
17561
17562<DT><b><a name="transport_time_limit">transport_time_limit</a>
17563(default: $<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b></DT><DD>
17564
17565<p> A transport-specific override for the <a href="postconf.5.html#command_time_limit">command_time_limit</a> parameter
17566value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message
17567delivery transport. </p>
17568
17569<p> Note: <a href="postconf.5.html#transport_time_limit"><i>transport</i>_time_limit</a> parameters will not show up
17570in "postconf" command output before Postfix version 2.9.  This
17571limitation applies to many parameters whose name is a combination
17572of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
17573"_time_limit"). </p>
17574
17575
17576</DD>
17577
17578<DT><b><a name="trigger_timeout">trigger_timeout</a>
17579(default: 10s)</b></DT><DD>
17580
17581<p>
17582The time limit for sending a trigger to a Postfix daemon (for
17583example, the <a href="pickup.8.html">pickup(8)</a> or <a href="qmgr.8.html">qmgr(8)</a> daemon). This time limit prevents
17584programs from getting stuck when the mail system is under heavy
17585load.
17586</p>
17587
17588<p>
17589Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
17590The default time unit is s (seconds).
17591</p>
17592
17593
17594</DD>
17595
17596<DT><b><a name="undisclosed_recipients_header">undisclosed_recipients_header</a>
17597(default: see "postconf -d" output)</b></DT><DD>
17598
17599<p>
17600Message header that the Postfix <a href="cleanup.8.html">cleanup(8)</a> server inserts when a
17601message contains no To: or Cc: message header. With Postfix 2.8
17602and later, the default value is empty. With Postfix 2.4-2.7,
17603specify an empty value to disable this feature.  </p>
17604
17605<p> Example: </p>
17606
17607<pre>
17608# Default value before Postfix 2.8.
17609# Note: the ":" and ";" are both required.
17610<a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> = To: undisclosed-recipients:;
17611</pre>
17612
17613
17614</DD>
17615
17616<DT><b><a name="unknown_address_reject_code">unknown_address_reject_code</a>
17617(default: 450)</b></DT><DD>
17618
17619<p>
17620The numerical Postfix SMTP server response code when a sender or
17621recipient address is rejected by the <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
17622or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> restriction.  The response is
17623always 450 in case of a temporary DNS error.
17624</p>
17625
17626<p>
17627Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17628</p>
17629
17630
17631</DD>
17632
17633<DT><b><a name="unknown_address_tempfail_action">unknown_address_tempfail_action</a>
17634(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
17635
17636<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
17637or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> fail due to a temporary error
17638condition. Specify "defer" to defer the remote SMTP client request
17639immediately. With the default "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix
17640SMTP server continues to look for opportunities to reject mail, and
17641defers the client request only if it would otherwise be accepted.
17642</p>
17643
17644<p> This feature is available in Postfix 2.6 and later. </p>
17645
17646
17647</DD>
17648
17649<DT><b><a name="unknown_client_reject_code">unknown_client_reject_code</a>
17650(default: 450)</b></DT><DD>
17651
17652<p>
17653The numerical Postfix SMTP server response code when a client
17654without valid address &lt;=&gt; name mapping is rejected by the
17655<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> restriction. The SMTP server always replies
17656with 450 when the mapping failed due to a temporary error condition.
17657</p>
17658
17659<p>
17660Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17661</p>
17662
17663
17664</DD>
17665
17666<DT><b><a name="unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>
17667(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
17668
17669<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>
17670fails due to an temporary error condition. Specify "defer" to defer
17671the remote SMTP client request immediately. With the default
17672"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
17673for opportunities to reject mail, and defers the client request
17674only if it would otherwise be accepted. </p>
17675
17676<p> This feature is available in Postfix 2.6 and later. </p>
17677
17678
17679</DD>
17680
17681<DT><b><a name="unknown_hostname_reject_code">unknown_hostname_reject_code</a>
17682(default: 450)</b></DT><DD>
17683
17684<p>
17685The numerical Postfix SMTP server response code when the hostname
17686specified with the HELO or EHLO command is rejected by the
17687<a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> restriction.
17688</p>
17689
17690<p>
17691Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17692</p>
17693
17694
17695</DD>
17696
17697<DT><b><a name="unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a>
17698(default: 550)</b></DT><DD>
17699
17700<p>
17701The numerical Postfix SMTP server response code when a recipient
17702address is local, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> specifies a list of
17703lookup tables that does not match the recipient.  A recipient
17704address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
17705$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> or $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>.
17706</p>
17707
17708<p>
17709The default setting is 550 (reject mail) but it is safer to initially
17710use 450 (try again later) so you have time to find out if your
17711<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> settings are OK.
17712</p>
17713
17714<p>
17715Example:
17716</p>
17717
17718<pre>
17719<a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 450
17720</pre>
17721
17722<p>
17723This feature is available in Postfix 2.0 and later.
17724</p>
17725
17726
17727</DD>
17728
17729<DT><b><a name="unknown_relay_recipient_reject_code">unknown_relay_recipient_reject_code</a>
17730(default: 550)</b></DT><DD>
17731
17732<p>
17733The numerical Postfix SMTP server reply code when a recipient
17734address 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
17735a list of lookup tables that does not match the recipient address.
17736</p>
17737
17738<p>
17739This feature is available in Postfix 2.0 and later.
17740</p>
17741
17742
17743</DD>
17744
17745<DT><b><a name="unknown_virtual_alias_reject_code">unknown_virtual_alias_reject_code</a>
17746(default: 550)</b></DT><DD>
17747
17748<p>
17749The Postfix SMTP server reply code when a recipient address matches
17750$<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
17751of lookup tables that does not match the recipient address.
17752</p>
17753
17754<p>
17755This feature is available in Postfix 2.0 and later.
17756</p>
17757
17758
17759</DD>
17760
17761<DT><b><a name="unknown_virtual_mailbox_reject_code">unknown_virtual_mailbox_reject_code</a>
17762(default: 550)</b></DT><DD>
17763
17764<p>
17765The Postfix SMTP server reply code when a recipient address matches
17766$<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
17767of lookup tables that does not match the recipient address.
17768</p>
17769
17770<p>
17771This feature is available in Postfix 2.0 and later.
17772</p>
17773
17774
17775</DD>
17776
17777<DT><b><a name="unverified_recipient_defer_code">unverified_recipient_defer_code</a>
17778(default: 450)</b></DT><DD>
17779
17780<p>
17781The numerical Postfix SMTP server response when a recipient address
17782probe fails due to a temporary error condition.
17783</p>
17784
17785<p>
17786Unlike elsewhere in Postfix, you can specify 250 in order to
17787accept the address anyway.
17788</p>
17789
17790<p>
17791Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17792</p>
17793
17794<p>
17795This feature is available in Postfix 2.6 and later.
17796</p>
17797
17798
17799</DD>
17800
17801<DT><b><a name="unverified_recipient_reject_code">unverified_recipient_reject_code</a>
17802(default: 450)</b></DT><DD>
17803
17804<p>
17805The numerical Postfix SMTP server response when a recipient address
17806is rejected by the <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> restriction.
17807</p>
17808
17809<p>
17810Unlike elsewhere in Postfix, you can specify 250 in order to
17811accept the address anyway.
17812</p>
17813
17814<p>
17815Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17816</p>
17817
17818<p>
17819This feature is available in Postfix 2.1 and later.
17820</p>
17821
17822
17823</DD>
17824
17825<DT><b><a name="unverified_recipient_reject_reason">unverified_recipient_reject_reason</a>
17826(default: empty)</b></DT><DD>
17827
17828<p> The Postfix SMTP server's reply when rejecting mail with
17829<a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. Do not include the numeric SMTP reply
17830code or the enhanced status code. By default, the response includes
17831actual address verification details.
17832
17833<p> Example: </p>
17834
17835<pre>
17836<a href="postconf.5.html#unverified_recipient_reject_reason">unverified_recipient_reject_reason</a> = Recipient address lookup failed
17837</pre>
17838
17839<p> This feature is available in Postfix 2.6 and later. </p>
17840
17841
17842</DD>
17843
17844<DT><b><a name="unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>
17845(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
17846
17847<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>
17848fails due to a temporary error condition. Specify "defer" to defer
17849the remote SMTP client request immediately. With the default
17850"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
17851for opportunities to reject mail, and defers the client request
17852only if it would otherwise be accepted. </p>
17853
17854<p> This feature is available in Postfix 2.6 and later. </p>
17855
17856
17857</DD>
17858
17859<DT><b><a name="unverified_sender_defer_code">unverified_sender_defer_code</a>
17860(default: 450)</b></DT><DD>
17861
17862<p>
17863The numerical Postfix SMTP server response code when a sender address
17864probe fails due to a temporary error condition.
17865</p>
17866
17867<p>
17868Unlike elsewhere in Postfix, you can specify 250 in order to
17869accept the address anyway.
17870</p>
17871
17872<p>
17873Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17874</p>
17875
17876<p>
17877This feature is available in Postfix 2.6 and later.
17878</p>
17879
17880
17881</DD>
17882
17883<DT><b><a name="unverified_sender_reject_code">unverified_sender_reject_code</a>
17884(default: 450)</b></DT><DD>
17885
17886<p>
17887The numerical Postfix SMTP server response code when a recipient
17888address is rejected by the <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> restriction.
17889</p>
17890
17891<p>
17892Unlike elsewhere in Postfix, you can specify 250 in order to
17893accept the address anyway.
17894</p>
17895
17896<p>
17897Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
17898</p>
17899
17900<p>
17901This feature is available in Postfix 2.1 and later.
17902</p>
17903
17904
17905</DD>
17906
17907<DT><b><a name="unverified_sender_reject_reason">unverified_sender_reject_reason</a>
17908(default: empty)</b></DT><DD>
17909
17910<p> The Postfix SMTP server's reply when rejecting mail with
17911<a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>. Do not include the numeric SMTP reply
17912code or the enhanced status code. By default, the response includes
17913actual address verification details.
17914
17915<p> Example: </p>
17916
17917<pre>
17918<a href="postconf.5.html#unverified_sender_reject_reason">unverified_sender_reject_reason</a> = Sender address lookup failed
17919</pre>
17920
17921<p> This feature is available in Postfix 2.6 and later. </p>
17922
17923
17924</DD>
17925
17926<DT><b><a name="unverified_sender_tempfail_action">unverified_sender_tempfail_action</a>
17927(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
17928
17929<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>
17930fails due to a temporary error condition. Specify "defer" to defer
17931the remote SMTP client request immediately. With the default
17932"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
17933for opportunities to reject mail, and defers the client request
17934only if it would otherwise be accepted. </p>
17935
17936<p> This feature is available in Postfix 2.6 and later. </p>
17937
17938
17939</DD>
17940
17941<DT><b><a name="verp_delimiter_filter">verp_delimiter_filter</a>
17942(default: -=+)</b></DT><DD>
17943
17944<p>
17945The characters Postfix accepts as VERP delimiter characters on the
17946Postfix <a href="sendmail.1.html">sendmail(1)</a> command line and in SMTP commands.
17947</p>
17948
17949<p>
17950This feature is available in Postfix 1.1 and later.
17951</p>
17952
17953
17954</DD>
17955
17956<DT><b><a name="virtual_alias_domains">virtual_alias_domains</a>
17957(default: $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>)</b></DT><DD>
17958
17959<p> Postfix is final destination for the specified list of virtual
17960alias domains, that is, domains for which all addresses are aliased
17961to addresses in other local or remote domains. The SMTP server
17962validates recipient addresses with $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> and rejects
17963non-existent recipients. See also the <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> class
17964in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file </p>
17965
17966<p>
17967This feature is available in Postfix 2.0 and later. The default
17968value is backwards compatible with Postfix version 1.1.
17969</p>
17970
17971<p>
17972The default value is $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> so that you can keep all
17973information about <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a> in one place.  If you have
17974many users, it is better to separate information that changes more
17975frequently (virtual address -&gt; local or remote address mapping)
17976from information that changes less frequently (the list of virtual
17977domain names).
17978</p>
17979
17980<p> Specify a list of host or domain names, "/file/name" or
17981"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. A
17982"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
17983lookup table is matched when a table entry matches a lookup string
17984(the lookup result is ignored).  Continue long lines by starting
17985the next line with whitespace. Specify "!pattern" to exclude a host
17986or domain name from the list. The form "!/file/name" is supported
17987only in Postfix version 2.4 and later.  </p>
17988
17989<p>
17990See also the <a href="VIRTUAL_README.html">VIRTUAL_README</a> and <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> documents
17991for further information.
17992</p>
17993
17994<p>
17995Example:
17996</p>
17997
17998<pre>
17999<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = virtual1.tld virtual2.tld
18000</pre>
18001
18002
18003</DD>
18004
18005<DT><b><a name="virtual_alias_expansion_limit">virtual_alias_expansion_limit</a>
18006(default: 1000)</b></DT><DD>
18007
18008<p>
18009The maximal number of addresses that virtual alias expansion produces
18010from each original recipient.
18011</p>
18012
18013<p>
18014This feature is available in Postfix 2.1 and later.
18015</p>
18016
18017
18018</DD>
18019
18020<DT><b><a name="virtual_alias_maps">virtual_alias_maps</a>
18021(default: $<a href="postconf.5.html#virtual_maps">virtual_maps</a>)</b></DT><DD>
18022
18023<p>
18024Optional lookup tables that alias specific mail addresses or domains
18025to other local or remote address.  The table format and lookups
18026are documented in <a href="virtual.5.html">virtual(5)</a>. For an overview of Postfix address
18027manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
18028</p>
18029
18030<p>
18031This feature is available in Postfix 2.0 and later. The default
18032value is backwards compatible with Postfix version 1.1.
18033</p>
18034
18035<p>
18036If you use this feature with indexed files, run "<b>postmap
18037/etc/postfix/virtual</b>" after changing the file.
18038</p>
18039
18040<p>
18041Examples:
18042</p>
18043
18044<pre>
18045<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/virtual
18046<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/virtual
18047</pre>
18048
18049
18050</DD>
18051
18052<DT><b><a name="virtual_alias_recursion_limit">virtual_alias_recursion_limit</a>
18053(default: 1000)</b></DT><DD>
18054
18055<p>
18056The maximal nesting depth of virtual alias expansion.  Currently
18057the recursion limit is applied only to the left branch of the
18058expansion graph, so the depth of the tree can in the worst case
18059reach the sum of the expansion and recursion limits.  This may
18060change in the future.
18061</p>
18062
18063<p>
18064This feature is available in Postfix 2.1 and later.
18065</p>
18066
18067
18068</DD>
18069
18070<DT><b><a name="virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a>
18071(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
18072
18073<p> The maximal number of parallel deliveries to the same destination
18074via the virtual message delivery transport. This limit is enforced
18075by the queue manager. The message delivery transport name is the
18076first field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
18077
18078
18079</DD>
18080
18081<DT><b><a name="virtual_destination_recipient_limit">virtual_destination_recipient_limit</a>
18082(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
18083
18084<p> The maximal number of recipients per message for the virtual
18085message delivery transport. This limit is enforced by the queue
18086manager. The message delivery transport name is the first field in
18087the entry in the <a href="master.5.html">master.cf</a> file.  </p>
18088
18089<p> Setting this parameter to a value of 1 changes the meaning of
18090<a href="postconf.5.html#virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> from concurrency per domain
18091into concurrency per recipient.  </p>
18092
18093
18094</DD>
18095
18096<DT><b><a name="virtual_gid_maps">virtual_gid_maps</a>
18097(default: empty)</b></DT><DD>
18098
18099<p>
18100Lookup tables with the per-recipient group ID for <a href="virtual.8.html">virtual(8)</a> mailbox
18101delivery.
18102</p>
18103
18104<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
18105It does not apply when mail is delivered with a different mail
18106delivery program.  </p>
18107
18108<p>
18109In a lookup table, specify a left-hand side of "@domain.tld" to
18110match any user in the specified domain that does not have a specific
18111"user@domain.tld" entry.
18112</p>
18113
18114<p>
18115When a recipient address has an optional address extension
18116(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
18117the full address first, and when the lookup fails, it looks up the
18118unextended address (user@domain.tld).
18119</p>
18120
18121<p>
18122Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
18123regular expression substitution of $1 etc. in regular expression
18124lookup tables, because that would open a security hole.
18125</p>
18126
18127<p>
18128Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
18129silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
18130it will open the table directly. Before Postfix version 2.2, the
18131<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
18132</p>
18133
18134
18135</DD>
18136
18137<DT><b><a name="virtual_mailbox_base">virtual_mailbox_base</a>
18138(default: empty)</b></DT><DD>
18139
18140<p>
18141A prefix that the <a href="virtual.8.html">virtual(8)</a> delivery agent prepends to all pathname
18142results from $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> table lookups.  This is a safety
18143measure to ensure that an out of control map doesn't litter the
18144file system with mailboxes.  While <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> could be
18145set to "/", this setting isn't recommended.
18146</p>
18147
18148<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
18149It does not apply when mail is delivered with a different mail
18150delivery program.  </p>
18151
18152<p>
18153Example:
18154</p>
18155
18156<pre>
18157<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /var/mail
18158</pre>
18159
18160
18161</DD>
18162
18163<DT><b><a name="virtual_mailbox_domains">virtual_mailbox_domains</a>
18164(default: $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>)</b></DT><DD>
18165
18166<p> Postfix is final destination for the specified list of domains;
18167mail is delivered via the $<a href="postconf.5.html#virtual_transport">virtual_transport</a> mail delivery transport.
18168By default this is the Postfix <a href="virtual.8.html">virtual(8)</a> delivery agent.  The SMTP
18169server validates recipient addresses with $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
18170and rejects mail for non-existent recipients.  See also the virtual
18171mailbox domain class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.  </p>
18172
18173<p> This parameter expects the same syntax as the <a href="postconf.5.html#mydestination">mydestination</a>
18174configuration parameter.  </p>
18175
18176<p>
18177This feature is available in Postfix 2.0 and later. The default
18178value is backwards compatible with Postfix version 1.1.
18179</p>
18180
18181
18182</DD>
18183
18184<DT><b><a name="virtual_mailbox_limit">virtual_mailbox_limit</a>
18185(default: 51200000)</b></DT><DD>
18186
18187<p>
18188The maximal size in bytes of an individual <a href="virtual.8.html">virtual(8)</a> mailbox or
18189maildir file, or zero (no limit).  </p>
18190
18191<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
18192It does not apply when mail is delivered with a different mail
18193delivery program.  </p>
18194
18195
18196</DD>
18197
18198<DT><b><a name="virtual_mailbox_lock">virtual_mailbox_lock</a>
18199(default: see "postconf -d" output)</b></DT><DD>
18200
18201<p>
18202How to lock a UNIX-style <a href="virtual.8.html">virtual(8)</a> mailbox before attempting
18203delivery.  For a list of available file locking methods, use the
18204"<b>postconf -l</b>" command.
18205</p>
18206
18207<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
18208It does not apply when mail is delivered with a different mail
18209delivery program.  </p>
18210
18211<p>
18212This setting is ignored with <b>maildir</b> style delivery, because
18213such deliveries are safe without application-level locks.
18214</p>
18215
18216<p>
18217Note 1: the <b>dotlock</b> method requires that the recipient UID
18218or GID has write access to the parent directory of the recipient's
18219mailbox file.
18220</p>
18221
18222<p>
18223Note 2: the default setting of this parameter is system dependent.
18224</p>
18225
18226
18227</DD>
18228
18229<DT><b><a name="virtual_mailbox_maps">virtual_mailbox_maps</a>
18230(default: empty)</b></DT><DD>
18231
18232<p>
18233Optional lookup tables with all valid addresses in the domains that
18234match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
18235</p>
18236
18237<p>
18238In a lookup table, specify a left-hand side of "@domain.tld" to
18239match any user in the specified domain that does not have a specific
18240"user@domain.tld" entry.
18241</p>
18242
18243<p> The remainder of this text is specific to the <a href="virtual.8.html">virtual(8)</a> delivery
18244agent.  It does not apply when mail is delivered with a different
18245mail delivery program.  </p>
18246
18247<p>
18248The <a href="virtual.8.html">virtual(8)</a> delivery agent uses this table to look up the
18249per-recipient mailbox or maildir pathname.  If the lookup result
18250ends in a slash ("/"), maildir-style delivery is carried out,
18251otherwise the path is assumed to specify a UNIX-style mailbox file.
18252Note that $<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> is unconditionally prepended to
18253this path.
18254</p>
18255
18256<p>
18257When a recipient address has an optional address extension
18258(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
18259the full address first, and when the lookup fails, it looks up the
18260unextended address (user@domain.tld).
18261</p>
18262
18263<p>
18264Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
18265regular expression substitution of $1 etc. in regular expression
18266lookup tables, because that would open a security hole.
18267</p>
18268
18269<p>
18270Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
18271silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
18272it will open the table directly. Before Postfix version 2.2, the
18273<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
18274</p>
18275
18276
18277</DD>
18278
18279<DT><b><a name="virtual_maps">virtual_maps</a>
18280(default: empty)</b></DT><DD>
18281
18282<p> Optional lookup tables with a) names of domains for which all
18283addresses are aliased to addresses in other local or remote domains,
18284and b) addresses that are aliased to addresses in other local or
18285remote domains.  Available before Postfix version 2.0. With Postfix
18286version 2.0 and later, this is replaced by separate controls: <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>
18287and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
18288
18289
18290</DD>
18291
18292<DT><b><a name="virtual_minimum_uid">virtual_minimum_uid</a>
18293(default: 100)</b></DT><DD>
18294
18295<p>
18296The minimum user ID value that the <a href="virtual.8.html">virtual(8)</a> delivery agent accepts
18297as a result from $<a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> table lookup.  Returned
18298values less than this will be rejected, and the message will be
18299deferred.
18300</p>
18301
18302<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
18303It does not apply when mail is delivered with a different mail
18304delivery program.  </p>
18305
18306
18307</DD>
18308
18309<DT><b><a name="virtual_transport">virtual_transport</a>
18310(default: virtual)</b></DT><DD>
18311
18312<p>
18313The default mail delivery transport and next-hop destination for
18314final delivery to domains listed with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
18315This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
18316</p>
18317
18318<p>
18319Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
18320is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
18321The <i>:nexthop</i> destination is optional; its syntax is documented
18322in the manual page of the corresponding delivery agent.
18323</p>
18324
18325<p>
18326This feature is available in Postfix 2.0 and later.
18327</p>
18328
18329
18330</DD>
18331
18332<DT><b><a name="virtual_uid_maps">virtual_uid_maps</a>
18333(default: empty)</b></DT><DD>
18334
18335<p>
18336Lookup tables with the per-recipient user ID that the <a href="virtual.8.html">virtual(8)</a>
18337delivery agent uses while writing to the recipient's mailbox.
18338</p>
18339
18340<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
18341It does not apply when mail is delivered with a different mail
18342delivery program.  </p>
18343
18344<p>
18345In a lookup table, specify a left-hand side of "@domain.tld"
18346to match any user in the specified domain that does not have a
18347specific "user@domain.tld" entry.
18348</p>
18349
18350<p>
18351When a recipient address has an optional address extension
18352(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
18353the full address first, and when the lookup fails, it looks up the
18354unextended address (user@domain.tld).
18355</p>
18356
18357<p>
18358Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
18359regular expression substitution of $1 etc. in regular expression
18360lookup tables, because that would open a security hole.
18361</p>
18362
18363<p>
18364Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
18365silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
18366it will open the table directly. Before Postfix version 2.2, the
18367<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
18368</p>
18369
18370
18371</DD>
18372
18373</dl>
18374
18375</body>
18376
18377</html>
18378