xref: /netbsd-src/external/ibm-public/postfix/dist/html/postconf.5.html (revision e39ef1d61eee3ccba837ee281f1e098c864487aa)
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/rfc2821">RFC 2821</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/rfc2821">RFC 2821</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> = hash:/var/db/postfix/verify
211<a href="postconf.5.html#address_verify_map">address_verify_map</a> = btree:/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_service_name">address_verify_service_name</a>
463(default: verify)</b></DT><DD>
464
465<p>
466The name of the <a href="verify.8.html">verify(8)</a> address verification service. This service
467maintains the status of sender and/or recipient address verification
468probes, and generates probes on request by other Postfix processes.
469</p>
470
471
472</DD>
473
474<DT><b><a name="address_verify_transport_maps">address_verify_transport_maps</a>
475(default: $<a href="postconf.5.html#transport_maps">transport_maps</a>)</b></DT><DD>
476
477<p>
478Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address verification
479probes.
480</p>
481
482<p>
483This feature is available in Postfix 2.1 and later.
484</p>
485
486
487</DD>
488
489<DT><b><a name="address_verify_virtual_transport">address_verify_virtual_transport</a>
490(default: $<a href="postconf.5.html#virtual_transport">virtual_transport</a>)</b></DT><DD>
491
492<p>
493Overrides the <a href="postconf.5.html#virtual_transport">virtual_transport</a> parameter setting for address
494verification probes.
495</p>
496
497<p>
498This feature is available in Postfix 2.1 and later.
499</p>
500
501
502</DD>
503
504<DT><b><a name="alias_database">alias_database</a>
505(default: see "postconf -d" output)</b></DT><DD>
506
507<p>
508The alias databases for <a href="local.8.html">local(8)</a> delivery that are updated with
509"<b>newaliases</b>" or with "<b>sendmail -bi</b>".
510</p>
511
512<p>
513This is a separate configuration parameter because not all the
514tables specified with $<a href="postconf.5.html#alias_maps">alias_maps</a> have to be local files.
515</p>
516
517<p>
518Examples:
519</p>
520
521<pre>
522<a href="postconf.5.html#alias_database">alias_database</a> = hash:/etc/aliases
523<a href="postconf.5.html#alias_database">alias_database</a> = hash:/etc/mail/aliases
524</pre>
525
526
527</DD>
528
529<DT><b><a name="alias_maps">alias_maps</a>
530(default: see "postconf -d" output)</b></DT><DD>
531
532<p>
533The alias databases that are used for <a href="local.8.html">local(8)</a> delivery. See
534<a href="aliases.5.html">aliases(5)</a> for syntax details.
535</p>
536
537<p>
538The default list is system dependent.  On systems with NIS, the
539default is to search the local alias database, then the NIS alias
540database.
541</p>
542
543<p>
544If you change the alias database, run "<b>postalias /etc/aliases</b>"
545(or wherever your system stores the mail alias file), or simply
546run "<b>newaliases</b>" to build the necessary DBM or DB file.
547</p>
548
549<p>
550The <a href="local.8.html">local(8)</a> delivery agent disallows regular expression substitution
551of $1 etc. in <a href="postconf.5.html#alias_maps">alias_maps</a>, because that would open a security hole.
552</p>
553
554<p>
555The <a href="local.8.html">local(8)</a> delivery agent will silently ignore requests to use
556the <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
557table directly. Before Postfix version 2.2, the <a href="local.8.html">local(8)</a> delivery
558agent will terminate with a fatal error.
559</p>
560
561<p>
562Examples:
563</p>
564
565<pre>
566<a href="postconf.5.html#alias_maps">alias_maps</a> = hash:/etc/aliases, nis:mail.aliases
567<a href="postconf.5.html#alias_maps">alias_maps</a> = hash:/etc/aliases
568</pre>
569
570
571</DD>
572
573<DT><b><a name="allow_mail_to_commands">allow_mail_to_commands</a>
574(default: alias, forward)</b></DT><DD>
575
576<p>
577Restrict <a href="local.8.html">local(8)</a> mail delivery to external commands.  The default
578is to disallow delivery to "|command" in :include:  files (see
579<a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
580</p>
581
582<p>
583Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
584in order to allow commands in <a href="aliases.5.html">aliases(5)</a>, .forward files or in
585:include:  files, respectively.
586</p>
587
588<p>
589Example:
590</p>
591
592<pre>
593<a href="postconf.5.html#allow_mail_to_commands">allow_mail_to_commands</a> = alias,forward,include
594</pre>
595
596
597</DD>
598
599<DT><b><a name="allow_mail_to_files">allow_mail_to_files</a>
600(default: alias, forward)</b></DT><DD>
601
602<p>
603Restrict <a href="local.8.html">local(8)</a> mail delivery to external files. The default is
604to disallow "/file/name" destinations in :include:  files (see
605<a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
606</p>
607
608<p>
609Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
610in order to allow "/file/name" destinations in <a href="aliases.5.html">aliases(5)</a>, .forward
611files and in :include:  files, respectively.
612</p>
613
614<p>
615Example:
616</p>
617
618<pre>
619<a href="postconf.5.html#allow_mail_to_files">allow_mail_to_files</a> = alias,forward,include
620</pre>
621
622
623</DD>
624
625<DT><b><a name="allow_min_user">allow_min_user</a>
626(default: no)</b></DT><DD>
627
628<p>
629Allow a sender or recipient address to have `-' as the first
630character.  By
631default, this is not allowed, to avoid accidents with software that
632passes email addresses via the command line. Such software
633would not be able to distinguish a malicious address from a
634bona fide command-line option. Although this can be prevented by
635inserting a "--" option terminator into the command line, this is
636difficult to enforce consistently and globally.  </p>
637
638<p> As of Postfix version 2.5, this feature is implemented by
639<a href="trivial-rewrite.8.html">trivial-rewrite(8)</a>.  With earlier versions this feature was implemented
640by <a href="qmgr.8.html">qmgr(8)</a> and was limited to recipient addresses only. </p>
641
642
643</DD>
644
645<DT><b><a name="allow_percent_hack">allow_percent_hack</a>
646(default: yes)</b></DT><DD>
647
648<p>
649Enable the rewriting of the form "user%domain" to "user@domain".
650This is enabled by default.
651</p>
652
653<p> Note: with Postfix version 2.2, message header address rewriting
654happens only when one of the following conditions is true: </p>
655
656<ul>
657
658<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
659
660<li> The message is received from a network client that matches
661$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
662
663<li> The message is received from the network, and the
664<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
665
666</ul>
667
668<p> To get the behavior before Postfix version 2.2, specify
669"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = static:all". </p>
670
671<p>
672Example:
673</p>
674
675<pre>
676<a href="postconf.5.html#allow_percent_hack">allow_percent_hack</a> = no
677</pre>
678
679
680</DD>
681
682<DT><b><a name="allow_untrusted_routing">allow_untrusted_routing</a>
683(default: no)</b></DT><DD>
684
685<p>
686Forward mail with sender-specified routing (user[@%!]remote[@%!]site)
687from untrusted clients to destinations matching $<a href="postconf.5.html#relay_domains">relay_domains</a>.
688</p>
689
690<p>
691By default, this feature is turned off.  This closes a nasty open
692relay loophole where a backup MX host can be tricked into forwarding
693junk mail to a primary MX host which then spams it out to the world.
694</p>
695
696<p>
697This parameter also controls if non-local addresses with sender-specified
698routing can match Postfix access tables. By default, such addresses
699cannot match Postfix access tables, because the address is ambiguous.
700</p>
701
702
703</DD>
704
705<DT><b><a name="alternate_config_directories">alternate_config_directories</a>
706(default: empty)</b></DT><DD>
707
708<p>
709A list of non-default Postfix configuration directories that may
710be specified with "-c <a href="postconf.5.html#config_directory">config_directory</a>" on the command line, or
711via the MAIL_CONFIG environment parameter.
712</p>
713
714<p>
715This list must be specified in the default Postfix configuration
716directory, and is used by set-gid Postfix commands such as <a href="postqueue.1.html">postqueue(1)</a>
717and <a href="postdrop.1.html">postdrop(1)</a>.
718</p>
719
720
721</DD>
722
723<DT><b><a name="always_add_missing_headers">always_add_missing_headers</a>
724(default: no)</b></DT><DD>
725
726<p> Always add (Resent-) From:, To:, Date: or Message-ID: headers
727when not present.  Postfix 2.6 and later add these headers only
728when clients match the <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter
729setting.  Earlier Postfix versions always add these headers; this
730may break DKIM signatures that cover non-existent headers. </p>
731
732
733</DD>
734
735<DT><b><a name="always_bcc">always_bcc</a>
736(default: empty)</b></DT><DD>
737
738<p>
739Optional address that receives a "blind carbon copy" of each message
740that is received by the Postfix mail system.
741</p>
742
743<p>
744Note: if mail to the BCC address bounces it will be returned to
745the sender.
746</p>
747
748<p> Note: automatic BCC recipients are produced only for new mail.
749To avoid mailer loops, automatic BCC recipients are not generated
750after Postfix forwards mail internally, or after Postfix generates
751mail itself. </p>
752
753
754</DD>
755
756<DT><b><a name="anvil_rate_time_unit">anvil_rate_time_unit</a>
757(default: 60s)</b></DT><DD>
758
759<p>
760The time unit over which client connection rates and other rates
761are calculated.
762</p>
763
764<p>
765This feature is implemented by the <a href="anvil.8.html">anvil(8)</a> service which is available
766in Postfix version 2.2 and later.
767</p>
768
769<p>
770The default interval is relatively short. Because of the high
771frequency of updates, the <a href="anvil.8.html">anvil(8)</a> server uses volatile memory
772only. Thus, information is lost whenever the process terminates.
773</p>
774
775<p>
776Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
777The default time unit is s (seconds).
778</p>
779
780
781</DD>
782
783<DT><b><a name="anvil_status_update_time">anvil_status_update_time</a>
784(default: 600s)</b></DT><DD>
785
786<p>
787How frequently the <a href="anvil.8.html">anvil(8)</a> connection and rate limiting server
788logs peak usage information.
789</p>
790
791<p>
792This feature is available in Postfix 2.2 and later.
793</p>
794
795<p>
796Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
797The default time unit is s (seconds).
798</p>
799
800
801</DD>
802
803<DT><b><a name="append_at_myorigin">append_at_myorigin</a>
804(default: yes)</b></DT><DD>
805
806<p>
807With locally submitted mail, append the string "@$<a href="postconf.5.html#myorigin">myorigin</a>" to mail
808addresses without domain information. With remotely submitted mail,
809append the string "@$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>" instead.
810</p>
811
812<p>
813Note 1: this feature is enabled by default and must not be turned off.
814Postfix does not support domain-less addresses.
815</p>
816
817<p> Note 2: with Postfix version 2.2, message header address rewriting
818happens only when one of the following conditions is true: </p>
819
820<ul>
821
822<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
823
824<li> The message is received from a network client that matches
825$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
826
827<li> The message is received from the network, and the
828<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
829
830</ul>
831
832<p> To get the behavior before Postfix version 2.2, specify
833"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = static:all". </p>
834
835
836</DD>
837
838<DT><b><a name="append_dot_mydomain">append_dot_mydomain</a>
839(default: yes)</b></DT><DD>
840
841<p>
842With locally submitted mail, append the string ".$<a href="postconf.5.html#mydomain">mydomain</a>" to
843addresses that have no ".domain" information. With remotely submitted
844mail, append the string ".$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>"
845instead.
846</p>
847
848<p>
849Note 1: this feature is enabled by default. If disabled, users will not be
850able to send mail to "user@partialdomainname" but will have to
851specify full domain names instead.
852</p>
853
854<p> Note 2: with Postfix version 2.2, message header address rewriting
855happens only when one of the following conditions is true: </p>
856
857<ul>
858
859<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
860
861<li> The message is received from a network client that matches
862$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
863
864<li> The message is received from the network, and the
865<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
866
867</ul>
868
869<p> To get the behavior before Postfix version 2.2, specify
870"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = static:all". </p>
871
872
873</DD>
874
875<DT><b><a name="application_event_drain_time">application_event_drain_time</a>
876(default: 100s)</b></DT><DD>
877
878<p>
879How long the <a href="postkick.1.html">postkick(1)</a> command waits for a request to enter the
880server's input buffer before giving up.
881</p>
882
883<p>
884Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
885The default time unit is s (seconds).
886</p>
887
888<p>
889This feature is available in Postfix 2.1 and later.
890</p>
891
892
893</DD>
894
895<DT><b><a name="authorized_flush_users">authorized_flush_users</a>
896(default: static:anyone)</b></DT><DD>
897
898<p>
899List of users who are authorized to flush the queue.
900</p>
901
902<p>
903By default, all users are allowed to flush the queue.  Access is
904always granted if the invoking user is the super-user or the
905$<a href="postconf.5.html#mail_owner">mail_owner</a> user.  Otherwise, the real UID of the process is looked
906up in the system password file, and access is granted only if the
907corresponding login name is on the access list.  The username
908"unknown" is used for processes whose real UID is not found in the
909password file.  </p>
910
911<p>
912Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
913separated by commas and/or whitespace. The list is matched left to
914right, and the search stops on the first match. A "/file/name"
915pattern is replaced
916by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
917matches a lookup key (the lookup result is ignored).  Continue long
918lines by starting the next line with whitespace. Specify "!pattern"
919to exclude a name from the list. The form "!/file/name" is supported
920only in Postfix version 2.4 and later.  </p>
921
922<p>
923This feature is available in Postfix 2.2 and later.
924</p>
925
926
927</DD>
928
929<DT><b><a name="authorized_mailq_users">authorized_mailq_users</a>
930(default: static:anyone)</b></DT><DD>
931
932<p>
933List of users who are authorized to view the queue.
934</p>
935
936<p>
937By default, all users are allowed to view 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 user name from the list. The form "!/file/name" is
954supported only 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_submit_users">authorized_submit_users</a>
964(default: static:anyone)</b></DT><DD>
965
966<p>
967List of users who are authorized to submit mail with the <a href="sendmail.1.html">sendmail(1)</a>
968command (and with the privileged <a href="postdrop.1.html">postdrop(1)</a> helper command).
969</p>
970
971<p>
972By default, all users are allowed to submit mail.  Otherwise, the
973real UID of the process is looked up in the system password file,
974and access is granted only if the corresponding login name is on
975the access list.  The username "unknown" is used for processes
976whose real UID is not found in the password file. To deny mail
977submission access to all users specify an empty list.  </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 right,
982and the search stops on the first match. A "/file/name" pattern is
983replaced by its contents;
984a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup key
985(the lookup result is ignored).  Continue long lines by starting the
986next line with whitespace. Specify "!pattern" to exclude a user
987name from the list. The form "!/file/name" is supported only in
988Postfix version 2.4 and later.  </p>
989
990<p>
991Example:
992</p>
993
994<pre>
995<a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> = !www, static:all
996</pre>
997
998<p>
999This feature is available in Postfix 2.2 and later.
1000</p>
1001
1002
1003</DD>
1004
1005<DT><b><a name="authorized_verp_clients">authorized_verp_clients</a>
1006(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
1007
1008<p> What SMTP clients are allowed to specify the XVERP command.
1009This command requests that mail be delivered one recipient at a
1010time with a per recipient return address.  </p>
1011
1012<p> By default, only trusted clients are allowed to specify XVERP.
1013</p>
1014
1015<p> This parameter was introduced with Postfix version 1.1.  Postfix
1016version 2.1 renamed this parameter to <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
1017and changed the default to none. </p>
1018
1019<p> Specify a list of network/netmask patterns, separated by commas
1020and/or whitespace. The mask specifies the number of bits in the
1021network part of a host address. You can also specify hostnames or
1022.domain names (the initial dot causes the domain to match any name
1023below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
1024pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
1025is matched when a table entry matches a lookup string (the lookup
1026result is ignored).  Continue long lines by starting the next line
1027with whitespace. Specify "!pattern" to exclude an address or network
1028block from the list. The form "!/file/name" is supported only in
1029Postfix version 2.4 and later. </p>
1030
1031<p> Note: IP version 6 address information must be specified inside
1032<tt>[]</tt> in the <a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a> value, and in files
1033specified with "/file/name".  IP version 6 addresses contain the
1034":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
1035pattern.  </p>
1036
1037
1038</DD>
1039
1040<DT><b><a name="backwards_bounce_logfile_compatibility">backwards_bounce_logfile_compatibility</a>
1041(default: yes)</b></DT><DD>
1042
1043<p>
1044Produce additional <a href="bounce.8.html">bounce(8)</a> logfile records that can be read by
1045Postfix versions before 2.0. The current and more extensible "name =
1046value" format is needed in order to implement more sophisticated
1047functionality.
1048</p>
1049
1050<p>
1051This feature is available in Postfix 2.1 and later.
1052</p>
1053
1054
1055</DD>
1056
1057<DT><b><a name="berkeley_db_create_buffer_size">berkeley_db_create_buffer_size</a>
1058(default: 16777216)</b></DT><DD>
1059
1060<p>
1061The per-table I/O buffer size for programs that create Berkeley DB
1062hash or btree tables.  Specify a byte count.
1063</p>
1064
1065<p>
1066This feature is available in Postfix 2.0 and later.
1067</p>
1068
1069
1070</DD>
1071
1072<DT><b><a name="berkeley_db_read_buffer_size">berkeley_db_read_buffer_size</a>
1073(default: 131072)</b></DT><DD>
1074
1075<p>
1076The per-table I/O buffer size for programs that read Berkeley DB
1077hash or btree tables.  Specify a byte count.
1078</p>
1079
1080<p>
1081This feature is available in Postfix 2.0 and later.
1082</p>
1083
1084
1085</DD>
1086
1087<DT><b><a name="best_mx_transport">best_mx_transport</a>
1088(default: empty)</b></DT><DD>
1089
1090<p>
1091Where the Postfix SMTP client should deliver mail when it detects
1092a "mail loops back to myself" error condition. This happens when
1093the local MTA is the best SMTP mail exchanger for a destination
1094not 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>,
1095$<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,
1096the Postfix SMTP client returns such mail as undeliverable.
1097</p>
1098
1099<p>
1100Specify, for example, "<a href="postconf.5.html#best_mx_transport">best_mx_transport</a> = local" to pass the mail
1101from the Postfix SMTP client to the <a href="local.8.html">local(8)</a> delivery agent. You
1102can specify
1103any message delivery "transport" or "transport:nexthop" that is
1104defined in the <a href="master.5.html">master.cf</a> file. See the <a href="transport.5.html">transport(5)</a> manual page
1105for the syntax and meaning of "transport" or "transport:nexthop".
1106</p>
1107
1108<p>
1109However, this feature is expensive because it ties up a Postfix
1110SMTP client process while the <a href="local.8.html">local(8)</a> delivery agent is doing its
1111work. It is more efficient (for Postfix) to list all <a href="VIRTUAL_README.html#canonical">hosted domains</a>
1112in a table or database.
1113</p>
1114
1115
1116</DD>
1117
1118<DT><b><a name="biff">biff</a>
1119(default: yes)</b></DT><DD>
1120
1121<p>
1122Whether or not to use the local <a href="postconf.5.html#biff">biff</a> service.  This service sends
1123"new mail" notifications to users who have requested new mail
1124notification with the UNIX command "<a href="postconf.5.html#biff">biff</a> y".
1125</p>
1126
1127<p>
1128For compatibility reasons this feature is on by default.  On systems
1129with lots of interactive users, the <a href="postconf.5.html#biff">biff</a> service can be a performance
1130drain.  Specify "<a href="postconf.5.html#biff">biff</a> = no" in <a href="postconf.5.html">main.cf</a> to disable.
1131</p>
1132
1133
1134</DD>
1135
1136<DT><b><a name="body_checks">body_checks</a>
1137(default: empty)</b></DT><DD>
1138
1139<p> Optional lookup tables for content inspection as specified in
1140the <a href="header_checks.5.html">body_checks(5)</a> manual page.  </p>
1141
1142<p> Note: with Postfix versions before 2.0, these rules inspect
1143all content after the primary message headers. </p>
1144
1145
1146</DD>
1147
1148<DT><b><a name="body_checks_size_limit">body_checks_size_limit</a>
1149(default: 51200)</b></DT><DD>
1150
1151<p>
1152How much text in a message body segment (or attachment, if you
1153prefer to use that term) is subjected to <a href="postconf.5.html#body_checks">body_checks</a> inspection.
1154The amount of text is limited to avoid scanning huge attachments.
1155</p>
1156
1157<p>
1158This feature is available in Postfix 2.0 and later.
1159</p>
1160
1161
1162</DD>
1163
1164<DT><b><a name="bounce_notice_recipient">bounce_notice_recipient</a>
1165(default: postmaster)</b></DT><DD>
1166
1167<p>
1168The recipient of postmaster notifications with the message headers
1169of mail that Postfix did not deliver and of SMTP conversation
1170transcripts of mail that Postfix did not receive.  This feature is
1171enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter.  </p>
1172
1173
1174</DD>
1175
1176<DT><b><a name="bounce_queue_lifetime">bounce_queue_lifetime</a>
1177(default: 5d)</b></DT><DD>
1178
1179<p>
1180The maximal time a bounce message is queued before it is considered
1181undeliverable.  By default, this is the same as the queue life time
1182for regular mail.
1183</p>
1184
1185<p>
1186Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
1187The default time unit is d (days).
1188</p>
1189
1190<p>
1191Specify 0 when mail delivery should be tried only once.
1192</p>
1193
1194<p>
1195This feature is available in Postfix 2.1 and later.
1196</p>
1197
1198
1199</DD>
1200
1201<DT><b><a name="bounce_service_name">bounce_service_name</a>
1202(default: bounce)</b></DT><DD>
1203
1204<p>
1205The name of the <a href="bounce.8.html">bounce(8)</a> service. This service maintains a record
1206of failed delivery attempts and generates non-delivery notifications.
1207</p>
1208
1209<p>
1210This feature is available in Postfix 2.0 and later.
1211</p>
1212
1213
1214</DD>
1215
1216<DT><b><a name="bounce_size_limit">bounce_size_limit</a>
1217(default: 50000)</b></DT><DD>
1218
1219<p> The maximal amount of original message text that is sent in a
1220non-delivery notification. Specify a byte count.  A message is
1221returned as either message/rfc822 (the complete original) or as
1222text/rfc822-headers (the headers only).  With Postfix version 2.4
1223and earlier, a message is always returned as message/rfc822 and is
1224truncated when it exceeds the size limit.
1225</p>
1226
1227<p> Notes: </p>
1228
1229<ul>
1230
1231<li> <p> If you increase this limit, then you should increase the
1232<a href="postconf.5.html#mime_nesting_limit">mime_nesting_limit</a> value proportionally.  </p>
1233
1234<li> <p> Be careful when making changes.  Excessively large values
1235will result in the loss of non-delivery notifications, when a bounce
1236message size exceeds a local or remote MTA's message size limit.
1237</p>
1238
1239</ul>
1240
1241
1242</DD>
1243
1244<DT><b><a name="bounce_template_file">bounce_template_file</a>
1245(default: empty)</b></DT><DD>
1246
1247<p> Pathname of a configuration file with bounce message templates.
1248These override the built-in templates of delivery status notification
1249(DSN) messages for undeliverable mail, for delayed mail, successful
1250delivery, or delivery verification. The <a href="bounce.5.html">bounce(5)</a> manual page
1251describes how to edit and test template files.  </p>
1252
1253<p> Template message body text may contain $name references to
1254Postfix configuration parameters. The result of $name expansion can
1255be previewed with "<b>postconf -b <i>file_name</i></b>" before the file
1256is placed into the Postfix configuration directory.  </p>
1257
1258<p> This feature is available in Postfix 2.3 and later.  </p>
1259
1260
1261</DD>
1262
1263<DT><b><a name="broken_sasl_auth_clients">broken_sasl_auth_clients</a>
1264(default: no)</b></DT><DD>
1265
1266<p>
1267Enable inter-operability with SMTP clients that implement an obsolete
1268version of the AUTH command (<a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a>). Examples of such clients
1269are MicroSoft Outlook Express version 4 and MicroSoft Exchange
1270version 5.0.
1271</p>
1272
1273<p>
1274Specify "<a href="postconf.5.html#broken_sasl_auth_clients">broken_sasl_auth_clients</a> = yes" to have Postfix advertise
1275AUTH support in a non-standard way.
1276</p>
1277
1278
1279</DD>
1280
1281<DT><b><a name="canonical_classes">canonical_classes</a>
1282(default: envelope_sender, envelope_recipient, header_sender, header_recipient)</b></DT><DD>
1283
1284<p> What addresses are subject to <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping.
1285By default, <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping is applied to envelope
1286sender and recipient addresses, and to header sender and header
1287recipient addresses.  </p>
1288
1289<p> Specify one or more of: envelope_sender, envelope_recipient,
1290header_sender, header_recipient </p>
1291
1292<p> This feature is available in Postfix 2.2 and later. </p>
1293
1294
1295</DD>
1296
1297<DT><b><a name="canonical_maps">canonical_maps</a>
1298(default: empty)</b></DT><DD>
1299
1300<p>
1301Optional address mapping lookup tables for message headers and
1302envelopes. The mapping is applied to both sender and recipient
1303addresses, in both envelopes and in headers, as controlled
1304with the <a href="postconf.5.html#canonical_classes">canonical_classes</a> parameter. This is typically used
1305to clean up dirty addresses from legacy mail systems, or to replace
1306login names by Firstname.Lastname.  The table format and lookups
1307are documented in <a href="canonical.5.html">canonical(5)</a>. For an overview of Postfix address
1308manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
1309</p>
1310
1311<p>
1312If you use this feature, run "<b>postmap /etc/postfix/canonical</b>" to
1313build the necessary DBM or DB file after every change. The changes
1314will become visible after a minute or so.  Use "<b>postfix reload</b>"
1315to eliminate the delay.
1316</p>
1317
1318<p> Note: with Postfix version 2.2, message header address mapping
1319happens only when message header address rewriting is enabled: </p>
1320
1321<ul>
1322
1323<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
1324
1325<li> The message is received from a network client that matches
1326$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
1327
1328<li> The message is received from the network, and the
1329<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
1330
1331</ul>
1332
1333<p> To get the behavior before Postfix version 2.2, specify
1334"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = static:all". </p>
1335
1336<p>
1337Examples:
1338</p>
1339
1340<pre>
1341<a href="postconf.5.html#canonical_maps">canonical_maps</a> = dbm:/etc/postfix/canonical
1342<a href="postconf.5.html#canonical_maps">canonical_maps</a> = hash:/etc/postfix/canonical
1343</pre>
1344
1345
1346</DD>
1347
1348<DT><b><a name="cleanup_service_name">cleanup_service_name</a>
1349(default: cleanup)</b></DT><DD>
1350
1351<p>
1352The name of the <a href="cleanup.8.html">cleanup(8)</a> service. This service rewrites addresses
1353into the standard form, and performs <a href="canonical.5.html">canonical(5)</a> address mapping
1354and <a href="virtual.5.html">virtual(5)</a> aliasing.
1355</p>
1356
1357<p>
1358This feature is available in Postfix 2.0 and later.
1359</p>
1360
1361
1362</DD>
1363
1364<DT><b><a name="command_directory">command_directory</a>
1365(default: see "postconf -d" output)</b></DT><DD>
1366
1367<p>
1368The location of all postfix administrative commands.
1369</p>
1370
1371
1372</DD>
1373
1374<DT><b><a name="command_execution_directory">command_execution_directory</a>
1375(default: empty)</b></DT><DD>
1376
1377<p> The <a href="local.8.html">local(8)</a> delivery agent working directory for delivery to
1378external command.  Failure to change directory causes the delivery
1379to be deferred. </p>
1380
1381<p> The following $name expansions are done on <a href="postconf.5.html#command_execution_directory">command_execution_directory</a>
1382before the directory is changed. Expansion happens in the context
1383of the delivery request.  The result of $name expansion is filtered
1384with the character set that is specified with the
1385<a href="postconf.5.html#execution_directory_expansion_filter">execution_directory_expansion_filter</a> parameter.  </p>
1386
1387<dl>
1388
1389<dt><b>$user</b></dt>
1390
1391<dd>The recipient's username. </dd>
1392
1393<dt><b>$shell</b></dt>
1394
1395<dd>The recipient's login shell pathname. </dd>
1396
1397<dt><b>$home</b></dt>
1398
1399<dd>The recipient's home directory. </dd>
1400
1401<dt><b>$recipient</b></dt>
1402
1403<dd>The full recipient address. </dd>
1404
1405<dt><b>$extension</b></dt>
1406
1407<dd>The optional recipient address extension. </dd>
1408
1409<dt><b>$domain</b></dt>
1410
1411<dd>The recipient domain. </dd>
1412
1413<dt><b>$local</b></dt>
1414
1415<dd>The entire recipient localpart. </dd>
1416
1417<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
1418
1419<dd>The system-wide recipient address extension delimiter. </dd>
1420
1421<dt><b>${name?value}</b></dt>
1422
1423<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
1424
1425<dt><b>${name:value}</b></dt>
1426
1427<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
1428
1429</dl>
1430
1431<p>
1432Instead of $name you can also specify ${name} or $(name).
1433</p>
1434
1435<p> This feature is available in Postfix 2.2 and later. </p>
1436
1437
1438</DD>
1439
1440<DT><b><a name="command_expansion_filter">command_expansion_filter</a>
1441(default: see "postconf -d" output)</b></DT><DD>
1442
1443<p>
1444Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
1445$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>.
1446Characters outside the
1447allowed set are replaced by underscores.
1448</p>
1449
1450
1451</DD>
1452
1453<DT><b><a name="command_time_limit">command_time_limit</a>
1454(default: 1000s)</b></DT><DD>
1455
1456<p>
1457Time limit for delivery to external commands. This limit is used
1458by the <a href="local.8.html">local(8)</a> delivery agent, and is the default time limit for
1459delivery by the <a href="pipe.8.html">pipe(8)</a> delivery agent.
1460</p>
1461
1462<p>
1463Note: if you set this time limit to a large value you must update the
1464global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter as well.
1465</p>
1466
1467
1468</DD>
1469
1470<DT><b><a name="config_directory">config_directory</a>
1471(default: see "postconf -d" output)</b></DT><DD>
1472
1473<p> The default location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a>
1474configuration files. This can be overruled via the following
1475mechanisms: </p>
1476
1477<ul>
1478
1479<li> <p> The MAIL_CONFIG environment variable (daemon processes
1480and commands). </p>
1481
1482<li> <p> The "-c" command-line option (commands only). </p>
1483
1484</ul>
1485
1486<p> With Postfix command that run with set-gid privileges, a
1487<a href="postconf.5.html#config_directory">config_directory</a> override requires either root privileges, or it
1488requires that the directory is listed with the <a href="postconf.5.html#alternate_config_directories">alternate_config_directories</a>
1489parameter in the default <a href="postconf.5.html">main.cf</a> file.  </p>
1490
1491
1492</DD>
1493
1494<DT><b><a name="connection_cache_protocol_timeout">connection_cache_protocol_timeout</a>
1495(default: 5s)</b></DT><DD>
1496
1497<p> Time limit for connection cache connect, send or receive
1498operations.  The time limit is enforced in the client. </p>
1499
1500<p> This feature is available in Postfix 2.3 and later. </p>
1501
1502
1503</DD>
1504
1505<DT><b><a name="connection_cache_service_name">connection_cache_service_name</a>
1506(default: scache)</b></DT><DD>
1507
1508<p> The name of the <a href="scache.8.html">scache(8)</a> connection cache service.  This service
1509maintains a limited pool of cached sessions.  </p>
1510
1511<p> This feature is available in Postfix 2.2 and later. </p>
1512
1513
1514</DD>
1515
1516<DT><b><a name="connection_cache_status_update_time">connection_cache_status_update_time</a>
1517(default: 600s)</b></DT><DD>
1518
1519<p> How frequently the <a href="scache.8.html">scache(8)</a> server logs usage statistics with
1520connection cache hit and miss rates for logical destinations and for
1521physical endpoints. </p>
1522
1523
1524</DD>
1525
1526<DT><b><a name="connection_cache_ttl_limit">connection_cache_ttl_limit</a>
1527(default: 2s)</b></DT><DD>
1528
1529<p> The maximal time-to-live value that the <a href="scache.8.html">scache(8)</a> connection
1530cache server
1531allows. Requests that specify a larger TTL will be stored with the
1532maximum allowed TTL. The purpose of this additional control is to
1533protect the infrastructure against careless people. The cache TTL
1534is already bounded by $<a href="postconf.5.html#max_idle">max_idle</a>.  </p>
1535
1536
1537</DD>
1538
1539<DT><b><a name="content_filter">content_filter</a>
1540(default: empty)</b></DT><DD>
1541
1542<p> After the message is queued, send the entire message to the
1543specified <i>transport:destination</i>. The <i>transport</i> name
1544specifies the first field of a mail delivery agent definition in
1545<a href="master.5.html">master.cf</a>; the syntax of the next-hop <i>destination</i> is described
1546in the manual page of the corresponding delivery agent.  More
1547information about external content filters is in the Postfix
1548<a href="FILTER_README.html">FILTER_README</a> file.  </p>
1549
1550<p> Notes: </p>
1551
1552<ul>
1553
1554<li> <p> This setting has lower precedence than a FILTER action
1555that 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>
1556table. </p>
1557
1558<li> <p> The meaning of an empty next-hop filter <i>destination</i>
1559is version dependent.  Postfix 2.7 and later will use the recipient
1560domain; earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>.  Specify
1561"<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility with Postfix
15622.6 or earlier, or specify a <a href="postconf.5.html#content_filter">content_filter</a> value with an explicit
1563next-hop <i>destination</i>.  </p>
1564
1565</ul>
1566
1567
1568</DD>
1569
1570<DT><b><a name="cyrus_sasl_config_path">cyrus_sasl_config_path</a>
1571(default: empty)</b></DT><DD>
1572
1573<p> Search path for Cyrus SASL application configuration files,
1574currently used only to locate the $<a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.conf file.
1575Specify zero or more directories separated by a colon character,
1576or an empty value to use Cyrus SASL's built-in search path.  </p>
1577
1578<p> This feature is available in Postfix 2.5 and later when compiled
1579with Cyrus SASL 2.1.22 or later. </p>
1580
1581
1582</DD>
1583
1584<DT><b><a name="daemon_directory">daemon_directory</a>
1585(default: see "postconf -d" output)</b></DT><DD>
1586
1587<p>
1588The directory with Postfix support programs and daemon programs.
1589These should not be invoked directly by humans. The directory must
1590be owned by root.
1591</p>
1592
1593
1594</DD>
1595
1596<DT><b><a name="daemon_timeout">daemon_timeout</a>
1597(default: 18000s)</b></DT><DD>
1598
1599<p> How much time a Postfix daemon process may take to handle a
1600request before it is terminated by a built-in watchdog timer.  </p>
1601
1602<p>
1603Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
1604The default time unit is s (seconds).
1605</p>
1606
1607
1608</DD>
1609
1610<DT><b><a name="data_directory">data_directory</a>
1611(default: see "postconf -d" output)</b></DT><DD>
1612
1613<p> The directory with Postfix-writable data files (for example:
1614caches, pseudo-random numbers).  This directory must be owned by
1615the <a href="postconf.5.html#mail_owner">mail_owner</a> account, and must not be shared with non-Postfix
1616software.  </p>
1617
1618<p> This feature is available in Postfix 2.5 and later. </p>
1619
1620
1621</DD>
1622
1623<DT><b><a name="debug_peer_level">debug_peer_level</a>
1624(default: 2)</b></DT><DD>
1625
1626<p> The increment in verbose logging level when a remote client or
1627server matches a pattern in the <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter.  </p>
1628
1629
1630</DD>
1631
1632<DT><b><a name="debug_peer_list">debug_peer_list</a>
1633(default: empty)</b></DT><DD>
1634
1635<p> Optional list of remote client or server hostname or network
1636address patterns that cause the verbose logging level to increase
1637by the amount specified in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>.  </p>
1638
1639<p> Specify domain names, network/netmask patterns, "/file/name"
1640patterns or "<a href="DATABASE_README.html">type:table</a>" lookup tables. The right-hand side result
1641from "<a href="DATABASE_README.html">type:table</a>" lookups is ignored.  </p>
1642
1643<p> Pattern matching of domain names is controlled by the
1644<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter.  </p>
1645
1646<p>
1647Examples:
1648</p>
1649
1650<pre>
1651<a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = 127.0.0.1
1652<a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = example.com
1653</pre>
1654
1655
1656</DD>
1657
1658<DT><b><a name="debugger_command">debugger_command</a>
1659(default: empty)</b></DT><DD>
1660
1661<p>
1662The external command to execute when a Postfix daemon program is
1663invoked with the -D option.
1664</p>
1665
1666<p>
1667Use "command .. &amp; sleep 5" so that the debugger can attach before
1668the process marches on. If you use an X-based debugger, be sure to
1669set up your XAUTHORITY environment variable before starting Postfix.
1670</p>
1671
1672<p>
1673Example:
1674</p>
1675
1676<pre>
1677<a href="postconf.5.html#debugger_command">debugger_command</a> =
1678    PATH=/usr/bin:/usr/X11R6/bin
1679    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
1680</pre>
1681
1682
1683</DD>
1684
1685<DT><b><a name="default_database_type">default_database_type</a>
1686(default: see "postconf -d" output)</b></DT><DD>
1687
1688<p>
1689The default database type for use in <a href="newaliases.1.html">newaliases(1)</a>, <a href="postalias.1.html">postalias(1)</a>
1690and <a href="postmap.1.html">postmap(1)</a> commands. On many UNIX systems the default type is
1691either <b>dbm</b> or <b>hash</b>. The default setting is frozen
1692when the Postfix system is built.
1693</p>
1694
1695<p>
1696Examples:
1697</p>
1698
1699<pre>
1700<a href="postconf.5.html#default_database_type">default_database_type</a> = hash
1701<a href="postconf.5.html#default_database_type">default_database_type</a> = dbm
1702</pre>
1703
1704
1705</DD>
1706
1707<DT><b><a name="default_delivery_slot_cost">default_delivery_slot_cost</a>
1708(default: 5)</b></DT><DD>
1709
1710<p>
1711How often the Postfix queue manager's scheduler is allowed to
1712preempt delivery of one message with another.
1713</p>
1714
1715<p>
1716Each transport maintains a so-called "available delivery slot counter"
1717for each message. One message can be preempted by another one when
1718the other message can be delivered using no more delivery slots
1719(i.e., invocations of delivery agents) than the current message
1720counter has accumulated (or will eventually accumulate - see about
1721slot loans below). This parameter controls how often is the counter
1722incremented - it happens after each <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
1723recipients have been delivered.
1724</p>
1725
1726<p>
1727The cost of 0 is used to disable the preempting scheduling completely.
1728The minimum value the scheduling algorithm can use is 2 - use it
1729if you want to maximize the message throughput rate. Although there
1730is no maximum, it doesn't make much sense to use values above say
173150.
1732</p>
1733
1734<p>
1735The only reason why the value of 2 is not the default is the way
1736this parameter affects the delivery of mailing-list mail. In the
1737worst case, their delivery can take somewhere between (cost+1/cost)
1738and (cost/cost-1) times more than if the preemptive scheduler was
1739disabled. The default value of 5 turns out to provide reasonable
1740message response times while making sure the mailing-list deliveries
1741are not extended by more than 20-25 percent even in the worst case.
1742</p>
1743
1744<p> Use <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> to specify a
1745transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1746name of the message delivery transport.
1747</p>
1748
1749<p>
1750Examples:
1751</p>
1752
1753<pre>
1754<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 0
1755<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 2
1756</pre>
1757
1758
1759</DD>
1760
1761<DT><b><a name="default_delivery_slot_discount">default_delivery_slot_discount</a>
1762(default: 50)</b></DT><DD>
1763
1764<p>
1765The default value for transport-specific _delivery_slot_discount
1766settings.
1767</p>
1768
1769<p>
1770This parameter speeds up the moment when a message preemption can
1771happen. Instead of waiting until the full amount of delivery slots
1772required is available, the preemption can happen when
1773transport_delivery_slot_discount percent of the required amount
1774plus transport_delivery_slot_loan still remains to be accumulated.
1775Note that the full amount will still have to be accumulated before
1776another preemption can take place later.
1777</p>
1778
1779<p> Use <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> to specify a
1780transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1781name of the message delivery transport.
1782</p>
1783
1784
1785</DD>
1786
1787<DT><b><a name="default_delivery_slot_loan">default_delivery_slot_loan</a>
1788(default: 3)</b></DT><DD>
1789
1790<p>
1791The default value for transport-specific _delivery_slot_loan
1792settings.
1793</p>
1794
1795<p>
1796This parameter speeds up the moment when a message preemption can
1797happen. Instead of waiting until the full amount of delivery slots
1798required is available, the preemption can happen when
1799transport_delivery_slot_discount percent of the required amount
1800plus transport_delivery_slot_loan still remains to be accumulated.
1801Note that the full amount will still have to be accumulated before
1802another preemption can take place later.
1803</p>
1804
1805<p> Use <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> to specify a
1806transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1807name of the message delivery transport.
1808</p>
1809
1810
1811</DD>
1812
1813<DT><b><a name="default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
1814(default: 1)</b></DT><DD>
1815
1816<p> How many pseudo-cohorts must suffer connection or handshake
1817failure before a specific destination is considered unavailable
1818(and further delivery is suspended). Specify zero to disable this
1819feature. A destination's pseudo-cohort failure count is reset each
1820time a delivery completes without connection or handshake failure
1821for that specific destination. </p>
1822
1823<p> A pseudo-cohort is the number of deliveries equal to a destination's
1824delivery concurrency. </p>
1825
1826<p> Use <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> to specify
1827a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1828name of the message delivery transport. </p>
1829
1830<p> This feature is available in Postfix 2.5. The default setting
1831is compatible with earlier Postfix versions. </p>
1832
1833
1834</DD>
1835
1836<DT><b><a name="default_destination_concurrency_limit">default_destination_concurrency_limit</a>
1837(default: 20)</b></DT><DD>
1838
1839<p>
1840The default maximal number of parallel deliveries to the same
1841destination.  This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>,
1842<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.
1843With per-destination recipient limit &gt; 1, a destination is a domain,
1844otherwise it is a recipient.
1845</p>
1846
1847<p> Use <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> to specify a
1848transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1849name of the message delivery transport.
1850</p>
1851
1852
1853</DD>
1854
1855<DT><b><a name="default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>
1856(default: 1)</b></DT><DD>
1857
1858<p> The per-destination amount of delivery concurrency negative
1859feedback, after a delivery completes with a connection or handshake
1860failure. Feedback values are in the range 0..1 inclusive. With
1861negative feedback, concurrency is decremented at the beginning of
1862a sequence of length 1/feedback. This is unlike positive feedback,
1863where concurrency is incremented at the end of a sequence of length
18641/feedback. </p>
1865
1866<p> As of Postfix version 2.5, negative feedback cannot reduce
1867delivery concurrency to zero.  Instead, a destination is marked
1868dead (further delivery suspended) after the failed pseudo-cohort
1869count reaches $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
1870(or $<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>).
1871To make the scheduler completely immune to connection or handshake
1872failures, specify a zero feedback value and a zero failed pseudo-cohort
1873limit.  </p>
1874
1875<p> Specify one of the following forms: </p>
1876
1877<dl>
1878
1879<dt> <b><i>number</i> </b> </dt>
1880
1881<dt> <b><i>number</i> / <i>number</i> </b> </dt>
1882
1883<dd> Constant feedback. The value must be in the range 0..1 inclusive.
1884The default setting of "1" is compatible with Postfix versions
1885before 2.5, where a destination's delivery concurrency is throttled
1886down to zero (and further delivery suspended) after a single failed
1887pseudo-cohort. </dd>
1888
1889<dt> <b><i>number</i> / concurrency </b> </dt>
1890
1891<dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
1892The <i>number</i> must be in the range 0..1 inclusive. With
1893<i>number</i> equal to "1", a destination's delivery concurrency
1894is decremented by 1 after each failed pseudo-cohort.  </dd>
1895
1896</dl>
1897
1898<p> A pseudo-cohort is the number of deliveries equal to a destination's
1899delivery concurrency. </p>
1900
1901<p> Use <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
1902to specify a transport-specific override, where <i>transport</i>
1903is 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_positive_feedback">default_destination_concurrency_positive_feedback</a>
1913(default: 1)</b></DT><DD>
1914
1915<p> The per-destination amount of delivery concurrency positive
1916feedback, after a delivery completes without connection or handshake
1917failure. Feedback values are in the range 0..1 inclusive.  The
1918concurrency increases until it reaches the per-destination maximal
1919concurrency limit. With positive feedback, concurrency is incremented
1920at the end of a sequence with length 1/feedback. This is unlike
1921negative feedback, where concurrency is decremented at the start
1922of a sequence of length 1/feedback. </p>
1923
1924<p> Specify one of the following forms:  </p>
1925
1926<dl>
1927
1928<dt> <b><i>number</i> </b> </dt>
1929
1930<dt> <b><i>number</i> / <i>number</i> </b> </dt>
1931
1932<dd> Constant feedback.  The value must be in the range 0..1
1933inclusive. The default setting of "1" is compatible with Postfix
1934versions before 2.5, where a destination's delivery concurrency
1935doubles after each successful pseudo-cohort.  </dd>
1936
1937<dt> <b><i>number</i> / concurrency </b> </dt>
1938
1939<dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
1940The <i>number</i> must be in the range 0..1 inclusive. With
1941<i>number</i> equal to "1", a destination's delivery concurrency
1942is incremented by 1 after each successful pseudo-cohort.  </dd>
1943
1944</dl>
1945
1946<p> A pseudo-cohort is the number of deliveries equal to a destination's
1947delivery concurrency. </p>
1948
1949<p> Use <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
1950to specify a transport-specific override, where <i>transport</i>
1951is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
1952
1953<p> This feature is available in Postfix 2.5 and later.  </p>
1954
1955
1956</DD>
1957
1958<DT><b><a name="default_destination_rate_delay">default_destination_rate_delay</a>
1959(default: 0s)</b></DT><DD>
1960
1961<p> The default amount of delay that is inserted between individual
1962deliveries to the same destination; with per-destination recipient
1963limit &gt; 1, a destination is a domain, otherwise it is a recipient.
1964</p>
1965
1966<p> To enable the delay, specify a non-zero time value (an integral
1967value plus an optional one-letter suffix that specifies the time
1968unit). </p>
1969
1970<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
1971(weeks). The default time unit is s (seconds). </p>
1972
1973<p> NOTE: the delay is enforced by the queue manager. The delay
1974timer state does not survive "<b>postfix reload</b>" or "<b>postfix
1975stop</b>".
1976</p>
1977
1978<p> Use <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> to specify a
1979transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1980name of the message delivery transport.
1981</p>
1982
1983<p> NOTE: with a non-zero _destination_rate_delay, specify a
1984<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> of 10
1985or more to prevent Postfix from deferring all mail for the same
1986destination after only one connection or handshake error. </p>
1987
1988<p> This feature is available in Postfix 2.5 and later. </p>
1989
1990
1991</DD>
1992
1993<DT><b><a name="default_destination_recipient_limit">default_destination_recipient_limit</a>
1994(default: 50)</b></DT><DD>
1995
1996<p>
1997The default maximal number of recipients per message delivery.
1998This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>, <a href="pipe.8.html">pipe(8)</a>,
1999<a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents.
2000</p>
2001
2002<p> Setting this parameter to a value of 1 changes the meaning of
2003the corresponding per-destination concurrency limit from concurrency
2004per domain into concurrency per recipient.  </p>
2005
2006<p> Use <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> to specify a
2007transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2008name of the message delivery transport.
2009</p>
2010
2011
2012</DD>
2013
2014<DT><b><a name="default_extra_recipient_limit">default_extra_recipient_limit</a>
2015(default: 1000)</b></DT><DD>
2016
2017<p>
2018The default value for the extra per-transport limit imposed on the
2019number of in-memory recipients.  This extra recipient space is
2020reserved for the cases when the Postfix queue manager's scheduler
2021preempts one message with another and suddenly needs some extra
2022recipients slots for the chosen message in order to avoid performance
2023degradation.
2024</p>
2025
2026<p> Use <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> to specify a
2027transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2028name of the message delivery transport.
2029</p>
2030
2031
2032</DD>
2033
2034<DT><b><a name="default_filter_nexthop">default_filter_nexthop</a>
2035(default: empty)</b></DT><DD>
2036
2037<p> When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies no explicit
2038next-hop destination, use $<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> instead; when
2039that value is empty, use the domain in the recipient address.
2040Specify "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility
2041with Postfix version 2.6 and earlier, or specify an explicit next-hop
2042destination with each <a href="postconf.5.html#content_filter">content_filter</a> value or FILTER action. </p>
2043
2044<p> This feature is available in Postfix 2.7 and later.  </p>
2045
2046
2047</DD>
2048
2049<DT><b><a name="default_minimum_delivery_slots">default_minimum_delivery_slots</a>
2050(default: 3)</b></DT><DD>
2051
2052<p>
2053How many recipients a message must have in order to invoke the
2054Postfix queue manager's scheduling algorithm at all.  Messages
2055which would never accumulate at least this many delivery slots
2056(subject to slot cost parameter as well) are never preempted.
2057</p>
2058
2059<p> Use <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> to specify a
2060transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2061name of the message delivery transport.
2062</p>
2063
2064
2065</DD>
2066
2067<DT><b><a name="default_privs">default_privs</a>
2068(default: nobody)</b></DT><DD>
2069
2070<p>
2071The default rights used by the <a href="local.8.html">local(8)</a> delivery agent for delivery
2072to external file or command.  These rights are used when delivery
2073is requested from an <a href="aliases.5.html">aliases(5)</a> file that is owned by <b>root</b>, or
2074when delivery is done on behalf of <b>root</b>. <b>DO NOT SPECIFY A
2075PRIVILEGED USER OR THE POSTFIX OWNER</b>.
2076</p>
2077
2078
2079</DD>
2080
2081<DT><b><a name="default_process_limit">default_process_limit</a>
2082(default: 100)</b></DT><DD>
2083
2084<p>
2085The default maximal number of Postfix child processes that provide
2086a given service. This limit can be overruled for specific services
2087in the <a href="master.5.html">master.cf</a> file.
2088</p>
2089
2090
2091</DD>
2092
2093<DT><b><a name="default_rbl_reply">default_rbl_reply</a>
2094(default: see "postconf -d" output)</b></DT><DD>
2095
2096<p>
2097The default SMTP server response template for a request that is
2098rejected by an RBL-based restriction. This template can be overruled
2099by specific entries in the optional <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> lookup table.
2100</p>
2101
2102<p>
2103This feature is available in Postfix 2.0 and later.
2104</p>
2105
2106<p>
2107The template is subject to exactly one level of $name substitution:
2108</p>
2109
2110<dl>
2111
2112<dt><b>$client</b></dt>
2113
2114<dd>The client hostname and IP address, formatted as name[address]. </dd>
2115
2116<dt><b>$client_address</b></dt>
2117
2118<dd>The client IP address. </dd>
2119
2120<dt><b>$client_name</b></dt>
2121
2122<dd>The client hostname or "unknown". See <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a>
2123for more details. </dd>
2124
2125<dt><b>$reverse_client_name</b></dt>
2126
2127<dd>The client hostname from address-&gt;name lookup, or "unknown".
2128See <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a> for more details. </dd>
2129
2130<dt><b>$helo_name</b></dt>
2131
2132<dd>The hostname given in HELO or EHLO command or empty string. </dd>
2133
2134<dt><b>$rbl_class</b></dt>
2135
2136<dd>The blacklisted entity type: Client host, Helo command, Sender
2137address, or Recipient address. </dd>
2138
2139<dt><b>$rbl_code</b></dt>
2140
2141<dd>The numerical SMTP response code, as specified with the
2142<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> configuration parameter. Note: The numerical
2143SMTP response code is required, and must appear at the start of the
2144reply. With Postfix version 2.3 and later this information may be followed
2145by an <a href="http://tools.ietf.org/html/rfc3463">RFC 3463</a> enhanced status code. </dd>
2146
2147<dt><b>$rbl_domain</b></dt>
2148
2149<dd>The RBL domain where $rbl_what is blacklisted. </dd>
2150
2151<dt><b>$rbl_reason</b></dt>
2152
2153<dd>The reason why $rbl_what is blacklisted, or an empty string. </dd>
2154
2155<dt><b>$rbl_what</b></dt>
2156
2157<dd>The entity that is blacklisted (an IP address, a hostname, a domain
2158name, or an email address whose domain was blacklisted). </dd>
2159
2160<dt><b>$recipient</b></dt>
2161
2162<dd>The recipient address or &lt;&gt; in case of the null address. </dd>
2163
2164<dt><b>$recipient_domain</b></dt>
2165
2166<dd>The recipient domain or empty string. </dd>
2167
2168<dt><b>$recipient_name</b></dt>
2169
2170<dd>The recipient address localpart or &lt;&gt; in case of null address. </dd>
2171
2172<dt><b>$sender</b></dt>
2173
2174<dd>The sender address or &lt;&gt; in case of the null address. </dd>
2175
2176<dt><b>$sender_domain</b></dt>
2177
2178<dd>The sender domain or empty string. </dd>
2179
2180<dt><b>$sender_name</b></dt>
2181
2182<dd>The sender address localpart or &lt;&gt; in case of the null address. </dd>
2183
2184<dt><b>${name?text}</b></dt>
2185
2186<dd>Expands to `text' if $name is not empty. </dd>
2187
2188<dt><b>${name:text}</b></dt>
2189
2190<dd>Expands to `text' if $name is empty. </dd>
2191
2192</dl>
2193
2194<p>
2195Instead of $name you can also specify ${name} or $(name).
2196</p>
2197
2198<p> Note: when an enhanced status code is specified in an RBL reply
2199template, it is subject to modification.  The following transformations
2200are needed when the same RBL reply template is used for client,
2201helo, sender, or recipient access restrictions.  </p>
2202
2203<ul>
2204
2205<li> <p> When rejecting a sender address, the Postfix SMTP server
2206will transform a recipient DSN status (e.g., 4.1.1-4.1.6) into the
2207corresponding sender DSN status, and vice versa. </p>
2208
2209<li> <p> When rejecting non-address information (such as the HELO
2210command argument or the client hostname/address), the Postfix SMTP
2211server will transform a sender or recipient DSN status into a generic
2212non-address DSN status (e.g., 4.0.0).  </p>
2213
2214</ul>
2215
2216
2217</DD>
2218
2219<DT><b><a name="default_recipient_limit">default_recipient_limit</a>
2220(default: 20000)</b></DT><DD>
2221
2222<p>
2223The default per-transport upper limit on the number of in-memory
2224recipients.  These limits take priority over the global
2225<a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> after the message has been assigned
2226to the respective transports.  See also <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
2227and <a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>.
2228</p>
2229
2230<p> Use <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> to specify a
2231transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2232name of the message delivery transport.
2233</p>
2234
2235
2236</DD>
2237
2238<DT><b><a name="default_recipient_refill_delay">default_recipient_refill_delay</a>
2239(default: 5s)</b></DT><DD>
2240
2241<p>
2242The default per-transport maximum delay between recipients refills.
2243When not all message recipients fit into the memory at once, keep loading
2244more of them at least once every this many seconds.  This is used to
2245make sure the recipients are refilled in timely manner even when
2246$<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> is too high for too slow deliveries.
2247</p>
2248
2249<p> Use <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> to specify a
2250transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2251name of the message delivery transport.
2252</p>
2253
2254<p> This feature is available in Postfix 2.4 and later. </p>
2255
2256
2257</DD>
2258
2259<DT><b><a name="default_recipient_refill_limit">default_recipient_refill_limit</a>
2260(default: 100)</b></DT><DD>
2261
2262<p>
2263The default per-transport limit on the number of recipients refilled at
2264once.  When not all message recipients fit into the memory at once, keep
2265loading more of them in batches of at least this many at a time.  See also
2266$<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>, which may result in recipient batches
2267lower than this when this limit is too high for too slow deliveries.
2268</p>
2269
2270<p> Use <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> to specify a
2271transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2272name of the message delivery transport.
2273</p>
2274
2275<p> This feature is available in Postfix 2.4 and later. </p>
2276
2277
2278</DD>
2279
2280<DT><b><a name="default_transport">default_transport</a>
2281(default: smtp)</b></DT><DD>
2282
2283<p>
2284The default mail delivery transport and next-hop destination for
2285destinations that do not match $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
2286$<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>,
2287or $<a href="postconf.5.html#relay_domains">relay_domains</a>.  This information can be overruled with the
2288<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter and with the
2289<a href="transport.5.html">transport(5)</a> table. </p>
2290
2291<p>
2292In order of decreasing precedence, the nexthop destination is taken
2293from $<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>,
2294$<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
2295domain.
2296</p>
2297
2298<p>
2299Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
2300is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
2301The <i>:nexthop</i> destination is optional; its syntax is documented
2302in the manual page of the corresponding delivery agent.
2303</p>
2304
2305<p>
2306Example:
2307</p>
2308
2309<pre>
2310<a href="postconf.5.html#default_transport">default_transport</a> = uucp:relayhostname
2311</pre>
2312
2313
2314</DD>
2315
2316<DT><b><a name="default_verp_delimiters">default_verp_delimiters</a>
2317(default: +=)</b></DT><DD>
2318
2319<p> The two default VERP delimiter characters. These are used when
2320no explicit delimiters are specified with the SMTP XVERP command
2321or with the "<b>sendmail -V</b>" command-line option. Specify
2322characters that are allowed by the <a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> setting.
2323</p>
2324
2325<p>
2326This feature is available in Postfix 1.1 and later.
2327</p>
2328
2329
2330</DD>
2331
2332<DT><b><a name="defer_code">defer_code</a>
2333(default: 450)</b></DT><DD>
2334
2335<p>
2336The numerical Postfix SMTP server response code when a remote SMTP
2337client request is rejected by the "defer" restriction.
2338</p>
2339
2340<p>
2341Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
2342</p>
2343
2344
2345</DD>
2346
2347<DT><b><a name="defer_service_name">defer_service_name</a>
2348(default: defer)</b></DT><DD>
2349
2350<p>
2351The name of the defer service. This service is implemented by the
2352<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
2353of failed delivery attempts and generates non-delivery notifications.
2354</p>
2355
2356<p>
2357This feature is available in Postfix 2.0 and later.
2358</p>
2359
2360
2361</DD>
2362
2363<DT><b><a name="defer_transports">defer_transports</a>
2364(default: empty)</b></DT><DD>
2365
2366<p>
2367The names of message delivery transports that should not deliver mail
2368unless someone issues "<b>sendmail -q</b>" or equivalent. Specify zero
2369or more names of mail delivery transports names that appear in the
2370first field of <a href="master.5.html">master.cf</a>.
2371</p>
2372
2373<p>
2374Example:
2375</p>
2376
2377<pre>
2378<a href="postconf.5.html#defer_transports">defer_transports</a> = smtp
2379</pre>
2380
2381
2382</DD>
2383
2384<DT><b><a name="delay_logging_resolution_limit">delay_logging_resolution_limit</a>
2385(default: 2)</b></DT><DD>
2386
2387<p> The maximal number of digits after the decimal point when logging
2388sub-second delay values.  Specify a number in the range 0..6.  </p>
2389
2390<p> Large delay values are rounded off to an integral number seconds;
2391delay values below the <a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> are logged
2392as "0", and small delay values are logged with at most two-digit
2393precision.  </p>
2394
2395<p> The format of the "delays=a/b/c/d" logging is as follows: </p>
2396
2397<ul>
2398
2399<li> a = time from message arrival to last <a href="QSHAPE_README.html#active_queue">active queue</a> entry
2400
2401<li> b = time from last <a href="QSHAPE_README.html#active_queue">active queue</a> entry to connection setup
2402
2403<li> c = time in connection setup, including DNS, EHLO and STARTTLS
2404
2405<li> d = time in message transmission
2406
2407</ul>
2408
2409<p> This feature is available in Postfix 2.3 and later.  </p>
2410
2411
2412</DD>
2413
2414<DT><b><a name="delay_notice_recipient">delay_notice_recipient</a>
2415(default: postmaster)</b></DT><DD>
2416
2417<p>
2418The recipient of postmaster notifications with the message headers
2419of mail that cannot be delivered within $<a href="postconf.5.html#delay_warning_time">delay_warning_time</a> time
2420units.  </p>
2421
2422<p>
2423This feature is enabled with the <a href="postconf.5.html#delay_warning_time">delay_warning_time</a> parameter.
2424</p>
2425
2426
2427</DD>
2428
2429<DT><b><a name="delay_warning_time">delay_warning_time</a>
2430(default: 0h)</b></DT><DD>
2431
2432<p>
2433The time after which the sender receives the message headers of
2434mail that is still queued.
2435</p>
2436
2437<p>
2438To enable this feature, specify a non-zero time value (an integral
2439value plus an optional one-letter suffix that specifies the time
2440unit).
2441</p>
2442
2443<p>
2444Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
2445The default time unit is h (hours).
2446</p>
2447
2448
2449</DD>
2450
2451<DT><b><a name="deliver_lock_attempts">deliver_lock_attempts</a>
2452(default: 20)</b></DT><DD>
2453
2454<p>
2455The maximal number of attempts to acquire an exclusive lock on a
2456mailbox file or <a href="bounce.8.html">bounce(8)</a> logfile.
2457</p>
2458
2459
2460</DD>
2461
2462<DT><b><a name="deliver_lock_delay">deliver_lock_delay</a>
2463(default: 1s)</b></DT><DD>
2464
2465<p>
2466The time between attempts to acquire an exclusive lock on a mailbox
2467file or <a href="bounce.8.html">bounce(8)</a> logfile.
2468</p>
2469
2470<p>
2471Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
2472The default time unit is s (seconds).
2473</p>
2474
2475
2476</DD>
2477
2478<DT><b><a name="destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a>
2479(default: no)</b></DT><DD>
2480
2481<p> Make the queue manager's feedback algorithm verbose for performance
2482analysis purposes. </p>
2483
2484<p> This feature is available in Postfix 2.5 and later. </p>
2485
2486
2487</DD>
2488
2489<DT><b><a name="detect_8bit_encoding_header">detect_8bit_encoding_header</a>
2490(default: yes)</b></DT><DD>
2491
2492<p> Automatically detect 8BITMIME body content by looking at
2493Content-Transfer-Encoding: message headers; historically, this
2494behavior was hard-coded to be "always on".  </p>
2495
2496<p> This feature is available in Postfix 2.5 and later. </p>
2497
2498
2499</DD>
2500
2501<DT><b><a name="disable_dns_lookups">disable_dns_lookups</a>
2502(default: no)</b></DT><DD>
2503
2504<p>
2505Disable DNS lookups in the Postfix SMTP and LMTP clients. When
2506disabled, hosts are looked up with the getaddrinfo() system
2507library routine which normally also looks in /etc/hosts.
2508</p>
2509
2510<p>
2511DNS lookups are enabled by default.
2512</p>
2513
2514
2515</DD>
2516
2517<DT><b><a name="disable_mime_input_processing">disable_mime_input_processing</a>
2518(default: no)</b></DT><DD>
2519
2520<p>
2521Turn off MIME processing while receiving mail. This means that no
2522special treatment is given to Content-Type: message headers, and
2523that all text after the initial message headers is considered to
2524be part of the message body.
2525</p>
2526
2527<p>
2528This feature is available in Postfix 2.0 and later.
2529</p>
2530
2531<p>
2532Mime input processing is enabled by default, and is needed in order
2533to recognize MIME headers in message content.
2534</p>
2535
2536
2537</DD>
2538
2539<DT><b><a name="disable_mime_output_conversion">disable_mime_output_conversion</a>
2540(default: no)</b></DT><DD>
2541
2542<p>
2543Disable the conversion of 8BITMIME format to 7BIT format.  Mime
2544output conversion is needed when the destination does not advertise
25458BITMIME support.
2546</p>
2547
2548<p>
2549This feature is available in Postfix 2.0 and later.
2550</p>
2551
2552
2553</DD>
2554
2555<DT><b><a name="disable_verp_bounces">disable_verp_bounces</a>
2556(default: no)</b></DT><DD>
2557
2558<p>
2559Disable sending one bounce report per recipient.
2560</p>
2561
2562<p>
2563The default, one per recipient, is what ezmlm needs.
2564</p>
2565
2566<p>
2567This feature is available in Postfix 1.1 and later.
2568</p>
2569
2570
2571</DD>
2572
2573<DT><b><a name="disable_vrfy_command">disable_vrfy_command</a>
2574(default: no)</b></DT><DD>
2575
2576<p>
2577Disable the SMTP VRFY command. This stops some techniques used to
2578harvest email addresses.
2579</p>
2580
2581<p>
2582Example:
2583</p>
2584
2585<pre>
2586<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> = no
2587</pre>
2588
2589
2590</DD>
2591
2592<DT><b><a name="dnsblog_reply_delay">dnsblog_reply_delay</a>
2593(default: 0s)</b></DT><DD>
2594
2595<p> A debugging aid to artifically delay DNS responses. </p>
2596
2597<p> This feature is available in Postfix 2.8.  </p>
2598
2599
2600</DD>
2601
2602<DT><b><a name="dnsblog_service_name">dnsblog_service_name</a>
2603(default: dnsblog)</b></DT><DD>
2604
2605<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
2606service performs DNS white/blacklist lookups. </p>
2607
2608<p> This feature is available in Postfix 2.8 and later. </p>
2609
2610
2611</DD>
2612
2613<DT><b><a name="dont_remove">dont_remove</a>
2614(default: 0)</b></DT><DD>
2615
2616<p>
2617Don't remove queue files and save them to the "saved" mail queue.
2618This is a debugging aid.  To inspect the envelope information and
2619content of a Postfix queue file, use the <a href="postcat.1.html">postcat(1)</a> command.
2620</p>
2621
2622
2623</DD>
2624
2625<DT><b><a name="double_bounce_sender">double_bounce_sender</a>
2626(default: double-bounce)</b></DT><DD>
2627
2628<p> The sender address of postmaster notifications that are generated
2629by the mail system. All mail to this address is silently discarded,
2630in order to terminate mail bounce loops.  </p>
2631
2632
2633</DD>
2634
2635<DT><b><a name="duplicate_filter_limit">duplicate_filter_limit</a>
2636(default: 1000)</b></DT><DD>
2637
2638<p> The maximal number of addresses remembered by the address
2639duplicate filter for <a href="aliases.5.html">aliases(5)</a> or <a href="virtual.5.html">virtual(5)</a> alias expansion, or
2640for <a href="showq.8.html">showq(8)</a> queue displays.  </p>
2641
2642
2643</DD>
2644
2645<DT><b><a name="empty_address_default_transport_maps_lookup_key">empty_address_default_transport_maps_lookup_key</a>
2646(default: &lt;&gt;)</b></DT><DD>
2647
2648<p> The <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> search string that
2649will be used instead of the null sender address. </p>
2650
2651<p> This feature is available in Postfix 2.7 and later.  </p>
2652
2653
2654</DD>
2655
2656<DT><b><a name="empty_address_recipient">empty_address_recipient</a>
2657(default: MAILER-DAEMON)</b></DT><DD>
2658
2659<p>
2660The recipient of mail addressed to the null address.  Postfix does
2661not accept such addresses in SMTP commands, but they may still be
2662created locally as the result of configuration or software error.
2663</p>
2664
2665
2666</DD>
2667
2668<DT><b><a name="empty_address_relayhost_maps_lookup_key">empty_address_relayhost_maps_lookup_key</a>
2669(default: &lt;&gt;)</b></DT><DD>
2670
2671<p> The <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> search string that will be
2672used instead of the null sender address. </p>
2673
2674<p> This feature is available in Postfix 2.5 and later. With
2675earlier versions, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> lookups were
2676skipped for the null sender address.  </p>
2677
2678
2679</DD>
2680
2681<DT><b><a name="enable_errors_to">enable_errors_to</a>
2682(default: no)</b></DT><DD>
2683
2684<p> Report mail delivery errors to the address specified with the
2685non-standard Errors-To: message header, instead of the envelope
2686sender address (this feature is removed with Postfix version 2.2, is
2687turned off by default with Postfix version 2.1, and is always turned on
2688with older Postfix versions).  </p>
2689
2690
2691</DD>
2692
2693<DT><b><a name="enable_original_recipient">enable_original_recipient</a>
2694(default: yes)</b></DT><DD>
2695
2696<p> Enable support for the X-Original-To message header. This header
2697is needed for multi-recipient mailboxes.  </p>
2698
2699<p> When this parameter is set to yes, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs
2700duplicate elimination on distinct pairs of (original recipient,
2701rewritten recipient), and generates non-empty original recipient
2702queue file records.  </p>
2703
2704<p> When this parameter is set to no, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs
2705duplicate elimination on the rewritten recipient address only, and
2706generates empty original recipient queue file records.  </p>
2707
2708<p> This feature is available in Postfix 2.1 and later. With Postfix
2709version 2.0, support for the X-Original-To message header is always turned
2710on. Postfix versions before 2.0 have no support for the X-Original-To
2711message header.  </p>
2712
2713
2714</DD>
2715
2716<DT><b><a name="error_notice_recipient">error_notice_recipient</a>
2717(default: postmaster)</b></DT><DD>
2718
2719<p> The recipient of postmaster notifications about mail delivery
2720problems that are caused by policy, resource, software or protocol
2721errors.  These notifications are enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
2722parameter.  </p>
2723
2724
2725</DD>
2726
2727<DT><b><a name="error_service_name">error_service_name</a>
2728(default: error)</b></DT><DD>
2729
2730<p>
2731The name of the <a href="error.8.html">error(8)</a> pseudo delivery agent. This service always
2732returns mail as undeliverable.
2733</p>
2734
2735<p>
2736This feature is available in Postfix 2.0 and later.
2737</p>
2738
2739
2740</DD>
2741
2742<DT><b><a name="execution_directory_expansion_filter">execution_directory_expansion_filter</a>
2743(default: see "postconf -d" output)</b></DT><DD>
2744
2745<p> Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows
2746in $name expansions of $<a href="postconf.5.html#command_execution_directory">command_execution_directory</a>.  Characters
2747outside the allowed set are replaced by underscores.  </p>
2748
2749<p> This feature is available in Postfix 2.2 and later. </p>
2750
2751
2752</DD>
2753
2754<DT><b><a name="expand_owner_alias">expand_owner_alias</a>
2755(default: no)</b></DT><DD>
2756
2757<p>
2758When delivering to an alias "aliasname" that has an "owner-aliasname"
2759companion alias, set the envelope sender address to the expansion
2760of the "owner-aliasname" alias. Normally, Postfix sets the envelope
2761sender address to the name of the "owner-aliasname" alias.
2762</p>
2763
2764
2765</DD>
2766
2767<DT><b><a name="export_environment">export_environment</a>
2768(default: see "postconf -d" output)</b></DT><DD>
2769
2770<p>
2771The list of environment variables that a Postfix process will export
2772to non-Postfix processes. The TZ variable is needed for sane
2773time keeping on System-V-ish systems.
2774</p>
2775
2776<p>
2777Specify a list of names and/or name=value pairs, separated by
2778whitespace or comma. The name=value form is supported with
2779Postfix version 2.1 and later.
2780</p>
2781
2782<p>
2783Example:
2784</p>
2785
2786<pre>
2787<a href="postconf.5.html#export_environment">export_environment</a> = TZ PATH=/bin:/usr/bin
2788</pre>
2789
2790
2791</DD>
2792
2793<DT><b><a name="extract_recipient_limit">extract_recipient_limit</a>
2794(default: 10240)</b></DT><DD>
2795
2796<p>
2797The maximal number of recipient addresses that Postfix will extract
2798from message headers when mail is submitted with "<b>sendmail -t</b>".
2799</p>
2800
2801<p>
2802This feature was removed in Postfix version 2.1.
2803</p>
2804
2805
2806</DD>
2807
2808<DT><b><a name="fallback_relay">fallback_relay</a>
2809(default: empty)</b></DT><DD>
2810
2811<p>
2812Optional list of relay hosts for SMTP destinations that can't be
2813found or that are unreachable. With Postfix 2.3 this parameter
2814is renamed to <a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a>. </p>
2815
2816<p>
2817By default, mail is returned to the sender when a destination is
2818not found, and delivery is deferred when a destination is unreachable.
2819</p>
2820
2821<p> The fallback relays must be SMTP destinations. Specify a domain,
2822host, host:port, [host]:port, [address] or [address]:port; the form
2823[host] turns off MX lookups.  If you specify multiple SMTP
2824destinations, Postfix will try them in the specified order.  </p>
2825
2826<p> Note: before Postfix 2.2, do not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
2827when relaying mail
2828for a backup or primary MX domain. Mail would loop between the
2829Postfix MX host and the <a href="postconf.5.html#fallback_relay">fallback_relay</a> host when the final destination
2830is unavailable. </p>
2831
2832<ul>
2833
2834<li> In <a href="postconf.5.html">main.cf</a> specify "<a href="postconf.5.html#relay_transport">relay_transport</a> = relay",
2835
2836<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
2837the end of the <tt>relay</tt> entry.
2838
2839<li> In transport maps, specify "relay:<i>nexthop...</i>"
2840as the right-hand side for backup or primary MX domain entries.
2841
2842</ul>
2843
2844<p> Postfix version 2.2 and later will not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
2845for destinations that it is MX host for.
2846</p>
2847
2848
2849</DD>
2850
2851<DT><b><a name="fallback_transport">fallback_transport</a>
2852(default: empty)</b></DT><DD>
2853
2854<p>
2855Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
2856agent should use for names that are not found in the <a href="aliases.5.html">aliases(5)</a>
2857or UNIX password database.
2858</p>
2859
2860<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
2861is: 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>,
2862<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>,
2863<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>
2864
2865
2866</DD>
2867
2868<DT><b><a name="fallback_transport_maps">fallback_transport_maps</a>
2869(default: empty)</b></DT><DD>
2870
2871<p> Optional lookup tables with per-recipient message delivery
2872transports for recipients that the <a href="local.8.html">local(8)</a> delivery agent could
2873not find in the <a href="aliases.5.html">aliases(5)</a> or UNIX password database. </p>
2874
2875<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
2876is: 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>,
2877<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>,
2878<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>
2879
2880<p> For safety reasons, this feature does not allow $number
2881substitutions in regular expression maps. </p>
2882
2883<p> This feature is available in Postfix 2.3 and later. </p>
2884
2885
2886</DD>
2887
2888<DT><b><a name="fast_flush_domains">fast_flush_domains</a>
2889(default: $<a href="postconf.5.html#relay_domains">relay_domains</a>)</b></DT><DD>
2890
2891<p>
2892Optional list of destinations that are eligible for per-destination
2893logfiles with mail that is queued to those destinations.
2894</p>
2895
2896<p>
2897By default, Postfix maintains "fast flush" logfiles only for
2898destinations that the Postfix SMTP server is willing to relay to
2899(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
2900the <a href="postconf.5.html#relay_domains">relay_domains</a> parameter in the <a href="postconf.5.html">postconf(5)</a> manual).
2901</p>
2902
2903<p> Specify a list of hosts or domains, "/file/name" patterns or
2904"<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
2905Continue long lines by starting the next line with whitespace. A
2906"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
2907lookup table is matched when the domain or its parent domain appears
2908as lookup key.  </p>
2909
2910<p>
2911Specify "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> =" (i.e., empty) to disable the feature
2912altogether.
2913</p>
2914
2915
2916</DD>
2917
2918<DT><b><a name="fast_flush_purge_time">fast_flush_purge_time</a>
2919(default: 7d)</b></DT><DD>
2920
2921<p>
2922The time after which an empty per-destination "fast flush" logfile
2923is deleted.
2924</p>
2925
2926<p>
2927You can specify the time as a number, or as a number followed by
2928a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
2929d=days, w=weeks.  The default time unit is days.
2930</p>
2931
2932
2933</DD>
2934
2935<DT><b><a name="fast_flush_refresh_time">fast_flush_refresh_time</a>
2936(default: 12h)</b></DT><DD>
2937
2938<p>
2939The time after which a non-empty but unread per-destination "fast
2940flush" logfile needs to be refreshed.  The contents of a logfile
2941are refreshed by requesting delivery of all messages listed in the
2942logfile.
2943</p>
2944
2945<p>
2946You can specify the time as a number, or as a number followed by
2947a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
2948d=days, w=weeks.  The default time unit is hours.
2949</p>
2950
2951
2952</DD>
2953
2954<DT><b><a name="fault_injection_code">fault_injection_code</a>
2955(default: 0)</b></DT><DD>
2956
2957<p>
2958Force specific internal tests to fail, to test the handling of
2959errors that are difficult to reproduce otherwise.
2960</p>
2961
2962
2963</DD>
2964
2965<DT><b><a name="flush_service_name">flush_service_name</a>
2966(default: flush)</b></DT><DD>
2967
2968<p>
2969The name of the <a href="flush.8.html">flush(8)</a> service. This service maintains per-destination
2970logfiles with the queue file names of mail that is queued for those
2971destinations.
2972</p>
2973
2974<p>
2975This feature is available in Postfix 2.0 and later.
2976</p>
2977
2978
2979</DD>
2980
2981<DT><b><a name="fork_attempts">fork_attempts</a>
2982(default: 5)</b></DT><DD>
2983
2984<p> The maximal number of attempts to fork() a child process.  </p>
2985
2986
2987</DD>
2988
2989<DT><b><a name="fork_delay">fork_delay</a>
2990(default: 1s)</b></DT><DD>
2991
2992<p> The delay between attempts to fork() a child process.  </p>
2993
2994<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
2995(weeks).  The default time unit is s (seconds).  </p>
2996
2997
2998</DD>
2999
3000<DT><b><a name="forward_expansion_filter">forward_expansion_filter</a>
3001(default: see "postconf -d" output)</b></DT><DD>
3002
3003<p>
3004Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
3005$name expansions of $<a href="postconf.5.html#forward_path">forward_path</a>.  Characters outside the
3006allowed set are replaced by underscores.
3007</p>
3008
3009
3010</DD>
3011
3012<DT><b><a name="forward_path">forward_path</a>
3013(default: see "postconf -d" output)</b></DT><DD>
3014
3015<p> The <a href="local.8.html">local(8)</a> delivery agent search list for finding a .forward
3016file with user-specified delivery methods. The first file that is
3017found is used.  </p>
3018
3019<p> The following $name expansions are done on <a href="postconf.5.html#forward_path">forward_path</a> before
3020the search actually happens. The result of $name expansion is
3021filtered with the character set that is specified with the
3022<a href="postconf.5.html#forward_expansion_filter">forward_expansion_filter</a> parameter.  </p>
3023
3024<dl>
3025
3026<dt><b>$user</b></dt>
3027
3028<dd>The recipient's username. </dd>
3029
3030<dt><b>$shell</b></dt>
3031
3032<dd>The recipient's login shell pathname. </dd>
3033
3034<dt><b>$home</b></dt>
3035
3036<dd>The recipient's home directory. </dd>
3037
3038<dt><b>$recipient</b></dt>
3039
3040<dd>The full recipient address. </dd>
3041
3042<dt><b>$extension</b></dt>
3043
3044<dd>The optional recipient address extension. </dd>
3045
3046<dt><b>$domain</b></dt>
3047
3048<dd>The recipient domain. </dd>
3049
3050<dt><b>$local</b></dt>
3051
3052<dd>The entire recipient localpart. </dd>
3053
3054<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
3055
3056<dd>The system-wide recipient address extension delimiter. </dd>
3057
3058<dt><b>${name?value}</b></dt>
3059
3060<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
3061
3062<dt><b>${name:value}</b></dt>
3063
3064<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
3065
3066</dl>
3067
3068<p>
3069Instead of $name you can also specify ${name} or $(name).
3070</p>
3071
3072<p>
3073Examples:
3074</p>
3075
3076<pre>
3077<a href="postconf.5.html#forward_path">forward_path</a> = /var/forward/$user
3078<a href="postconf.5.html#forward_path">forward_path</a> =
3079    /var/forward/$user/.forward$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>$extension,
3080    /var/forward/$user/.forward
3081</pre>
3082
3083
3084</DD>
3085
3086<DT><b><a name="frozen_delivered_to">frozen_delivered_to</a>
3087(default: yes)</b></DT><DD>
3088
3089<p> Update the <a href="local.8.html">local(8)</a> delivery agent's idea of the Delivered-To:
3090address (see <a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a>) only once, at the start of
3091a delivery attempt; do not update the Delivered-To: address while
3092expanding aliases or .forward files. </p>
3093
3094<p> This feature is available in Postfix 2.3 and later. With older
3095Postfix releases, the behavior is as if this parameter is set to
3096"no". The old setting can be expensive with deeply nested aliases
3097or .forward files. When an alias or .forward file changes the
3098Delivered-To: address, it ties up one queue file and one cleanup
3099process instance while mail is being forwarded.  </p>
3100
3101
3102</DD>
3103
3104<DT><b><a name="hash_queue_depth">hash_queue_depth</a>
3105(default: 1)</b></DT><DD>
3106
3107<p>
3108The number of subdirectory levels for queue directories listed with
3109the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> parameter.
3110</p>
3111
3112<p>
3113After 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,
3114execute the command "<b>postfix reload</b>".
3115</p>
3116
3117
3118</DD>
3119
3120<DT><b><a name="hash_queue_names">hash_queue_names</a>
3121(default: deferred, defer)</b></DT><DD>
3122
3123<p>
3124The names of queue directories that are split across multiple
3125subdirectory levels.
3126</p>
3127
3128<p> Before Postfix version 2.2, the default list of hashed queues
3129was significantly larger. Claims about improvements in file system
3130technology 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>
3131is no longer needed. Fewer hashed directories speed up the time
3132needed to restart Postfix. </p>
3133
3134<p>
3135After 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,
3136execute the command "<b>postfix reload</b>".
3137</p>
3138
3139
3140</DD>
3141
3142<DT><b><a name="header_address_token_limit">header_address_token_limit</a>
3143(default: 10240)</b></DT><DD>
3144
3145<p>
3146The maximal number of address tokens are allowed in an address
3147message header. Information that exceeds the limit is discarded.
3148The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
3149</p>
3150
3151
3152</DD>
3153
3154<DT><b><a name="header_checks">header_checks</a>
3155(default: empty)</b></DT><DD>
3156
3157<p>
3158Optional lookup tables for content inspection of primary non-MIME
3159message headers, as specified in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
3160</p>
3161
3162
3163</DD>
3164
3165<DT><b><a name="header_size_limit">header_size_limit</a>
3166(default: 102400)</b></DT><DD>
3167
3168<p>
3169The maximal amount of memory in bytes for storing a message header.
3170If a header is larger, the excess is discarded.  The limit is
3171enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
3172</p>
3173
3174
3175</DD>
3176
3177<DT><b><a name="helpful_warnings">helpful_warnings</a>
3178(default: yes)</b></DT><DD>
3179
3180<p>
3181Log warnings about problematic configuration settings, and provide
3182helpful suggestions.
3183</p>
3184
3185<p>
3186This feature is available in Postfix 2.0 and later.
3187</p>
3188
3189
3190</DD>
3191
3192<DT><b><a name="home_mailbox">home_mailbox</a>
3193(default: empty)</b></DT><DD>
3194
3195<p>
3196Optional pathname of a mailbox file relative to a <a href="local.8.html">local(8)</a> user's
3197home directory.
3198</p>
3199
3200<p>
3201Specify a pathname ending in "/" for qmail-style delivery.
3202</p>
3203
3204<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
3205is: 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>,
3206<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>,
3207<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>
3208
3209<p>
3210Examples:
3211</p>
3212
3213<pre>
3214<a href="postconf.5.html#home_mailbox">home_mailbox</a> = Mailbox
3215<a href="postconf.5.html#home_mailbox">home_mailbox</a> = Maildir/
3216</pre>
3217
3218
3219</DD>
3220
3221<DT><b><a name="hopcount_limit">hopcount_limit</a>
3222(default: 50)</b></DT><DD>
3223
3224<p>
3225The maximal number of Received:  message headers that is allowed
3226in the primary message headers. A message that exceeds the limit
3227is bounced, in order to stop a mailer loop.
3228</p>
3229
3230
3231</DD>
3232
3233<DT><b><a name="html_directory">html_directory</a>
3234(default: see "postconf -d" output)</b></DT><DD>
3235
3236<p>
3237The location of Postfix HTML files that describe how to build,
3238configure or operate a specific Postfix subsystem or feature.
3239</p>
3240
3241
3242</DD>
3243
3244<DT><b><a name="ignore_mx_lookup_error">ignore_mx_lookup_error</a>
3245(default: no)</b></DT><DD>
3246
3247<p> Ignore DNS MX lookups that produce no response.  By default,
3248the Postfix SMTP client defers delivery and tries again after some
3249delay.  This behavior is required by the SMTP standard.  </p>
3250
3251<p>
3252Specify "<a href="postconf.5.html#ignore_mx_lookup_error">ignore_mx_lookup_error</a> = yes" to force a DNS A record
3253lookup instead. This violates the SMTP standard and can result in
3254mis-delivery of mail.
3255</p>
3256
3257
3258</DD>
3259
3260<DT><b><a name="import_environment">import_environment</a>
3261(default: see "postconf -d" output)</b></DT><DD>
3262
3263<p>
3264The list of environment parameters that a Postfix process will
3265import from a non-Postfix parent process. Examples of relevant
3266parameters:
3267</p>
3268
3269<dl>
3270
3271<dt><b>TZ</b></dt>
3272
3273<dd>Needed for sane time keeping on most System-V-ish systems. </dd>
3274
3275<dt><b>DISPLAY</b></dt>
3276
3277<dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
3278
3279<dt><b>XAUTHORITY</b></dt>
3280
3281<dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
3282
3283<dt><b>MAIL_CONFIG</b></dt>
3284
3285<dd>Needed to make "<b>postfix -c</b>" work. </dd>
3286
3287</dl>
3288
3289<p> Specify a list of names and/or name=value pairs, separated by
3290whitespace or comma. The name=value form is supported with
3291Postfix version 2.1 and later.  </p>
3292
3293
3294</DD>
3295
3296<DT><b><a name="in_flow_delay">in_flow_delay</a>
3297(default: 1s)</b></DT><DD>
3298
3299<p> Time to pause before accepting a new message, when the message
3300arrival rate exceeds the message delivery rate. This feature is
3301turned on by default (it's disabled on SCO UNIX due to an SCO bug).
3302</p>
3303
3304<p>
3305With the default 100 SMTP server process limit, "<a href="postconf.5.html#in_flow_delay">in_flow_delay</a>
3306= 1s" limits the mail inflow to 100 messages per second above the
3307number of messages delivered per second.
3308</p>
3309
3310<p>
3311Specify 0 to disable the feature. Valid delays are 0..10.
3312</p>
3313
3314
3315</DD>
3316
3317<DT><b><a name="inet_interfaces">inet_interfaces</a>
3318(default: all)</b></DT><DD>
3319
3320<p> The network interface addresses that this mail system receives
3321mail on. Specify "all" to receive mail on all network
3322interfaces (default), and "loopback-only" to receive mail
3323on loopback network interfaces only (Postfix version 2.2 and later).  The
3324parameter also controls delivery of mail to <tt>user@[ip.address]</tt>.
3325</p>
3326
3327<p>
3328Note 1: you need to stop and start Postfix when this parameter changes.
3329</p>
3330
3331<p> Note 2: address information may be enclosed inside <tt>[]</tt>,
3332but this form is not required here. </p>
3333
3334<p> When <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies just one IPv4 and/or IPv6 address
3335that is not a loopback address, the Postfix SMTP client will use
3336this address as the IP source address for outbound mail. Support
3337for IPv6 is available in Postfix version 2.2 and later. </p>
3338
3339<p>
3340On a multi-homed firewall with separate Postfix instances listening on the
3341"inside" and "outside" interfaces, this can prevent each instance from
3342being able to reach servers on the "other side" of the firewall. Setting
3343<a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> to 0.0.0.0 avoids the potential problem for
3344IPv4, and setting <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> to :: solves the problem
3345for IPv6. </p>
3346
3347<p>
3348A better solution for multi-homed firewalls is to leave <a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
3349at the default value and instead use explicit IP addresses in
3350the <a href="master.5.html">master.cf</a> SMTP server definitions.  This preserves the Postfix
3351SMTP client's
3352loop detection, by ensuring that each side of the firewall knows that the
3353other IP address is still the same host. Setting $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> to a
3354single IPv4 and/or IPV6 address is primarily useful with virtual
3355hosting of domains on
3356secondary IP addresses, when each IP address serves a different domain
3357(and has a different $<a href="postconf.5.html#myhostname">myhostname</a> setting). </p>
3358
3359<p>
3360See also the <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> parameter, for network addresses that
3361are forwarded to Postfix by way of a proxy or address translator.
3362</p>
3363
3364<p>
3365Examples:
3366</p>
3367
3368<pre>
3369<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = all (DEFAULT)
3370<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback-only (Postfix version 2.2 and later)
3371<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1
3372<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1, [::1] (Postfix version 2.2 and later)
3373<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 192.168.1.2, 127.0.0.1
3374</pre>
3375
3376
3377</DD>
3378
3379<DT><b><a name="inet_protocols">inet_protocols</a>
3380(default: ipv4)</b></DT><DD>
3381
3382<p> The Internet protocols Postfix will attempt to use when making
3383or accepting connections. Specify one or more of "ipv4"
3384or "ipv6", separated by whitespace or commas. The form
3385"all" is equivalent to "ipv4, ipv6" or "ipv4", depending
3386on whether the operating system implements IPv6. </p>
3387
3388<p> This feature is available in Postfix 2.2 and later. </p>
3389
3390<p> Note: you MUST stop and start Postfix after changing this
3391parameter. </p>
3392
3393<p> On systems that pre-date IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>), an
3394IPv6 server will also accept IPv4 connections, even when IPv4 is
3395turned off with the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter.  On systems with
3396IPV6_V6ONLY support, Postfix will use separate server sockets for
3397IPv6 and IPv4, and each will accept only connections for the
3398corresponding protocol.  </p>
3399
3400<p> When IPv4 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
3401Postfix will to DNS type A record lookups, and will convert
3402IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original
3403IPv4 form (1.2.3.4).  The latter is needed on hosts that pre-date
3404IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>). </p>
3405
3406<p> When IPv6 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
3407Postfix will do DNS type AAAA record lookups. </p>
3408
3409<p> When both IPv4 and IPv6 support are enabled, the Postfix SMTP
3410client will attempt to connect via IPv6 before attempting to use
3411IPv4.  </p>
3412
3413<p>
3414Examples:
3415</p>
3416
3417<pre>
3418<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4 (DEFAULT)
3419<a href="postconf.5.html#inet_protocols">inet_protocols</a> = all
3420<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv6
3421<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4, ipv6
3422</pre>
3423
3424
3425</DD>
3426
3427<DT><b><a name="initial_destination_concurrency">initial_destination_concurrency</a>
3428(default: 5)</b></DT><DD>
3429
3430<p>
3431The initial per-destination concurrency level for parallel delivery
3432to the same destination.
3433With per-destination recipient limit &gt; 1, a destination is a domain,
3434otherwise it is a recipient.
3435</p>
3436
3437<p> Use <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> to specify
3438a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
3439name of the message delivery transport (Postfix 2.5 and later). </p>
3440
3441<p>
3442Warning: with concurrency of 1, one bad message can be enough to
3443block all mail to a site.
3444</p>
3445
3446
3447</DD>
3448
3449<DT><b><a name="internal_mail_filter_classes">internal_mail_filter_classes</a>
3450(default: empty)</b></DT><DD>
3451
3452<p> What categories of Postfix-generated mail are subject to
3453before-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>
3454and <a href="postconf.5.html#body_checks">body_checks</a>.  Specify zero or more of the following, separated
3455by whitespace or comma.  </p>
3456
3457<dl>
3458
3459<dt><b>bounce</b></dt> <dd> Inspect the content of delivery
3460status notifications. </dd>
3461
3462<dt><b>notify</b></dt> <dd> Inspect the content of postmaster
3463notifications by the <a href="smtp.8.html">smtp(8)</a> and <a href="smtpd.8.html">smtpd(8)</a> processes. </dd>
3464
3465</dl>
3466
3467<p> NOTE: It's generally not safe to enable content inspection of
3468Postfix-generated email messages. The user is warned. </p>
3469
3470<p> This feature is available in Postfix 2.3 and later. </p>
3471
3472
3473</DD>
3474
3475<DT><b><a name="invalid_hostname_reject_code">invalid_hostname_reject_code</a>
3476(default: 501)</b></DT><DD>
3477
3478<p>
3479The numerical Postfix SMTP server response code when the client
3480HELO or EHLO command parameter is rejected by the <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a>
3481restriction.
3482</p>
3483
3484<p>
3485Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
3486</p>
3487
3488
3489</DD>
3490
3491<DT><b><a name="ipc_idle">ipc_idle</a>
3492(default: version dependent)</b></DT><DD>
3493
3494<p>
3495The time after which a client closes an idle internal communication
3496channel.  The purpose is to allow servers to terminate voluntarily
3497after they become idle. This is used, for example, by the address
3498resolving and rewriting clients.
3499</p>
3500
3501<p> With Postfix 2.4 the default value was reduced from 100s to 5s. </p>
3502
3503<p>
3504Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3505The default time unit is s (seconds).
3506</p>
3507
3508
3509</DD>
3510
3511<DT><b><a name="ipc_timeout">ipc_timeout</a>
3512(default: 3600s)</b></DT><DD>
3513
3514<p>
3515The time limit for sending or receiving information over an internal
3516communication channel.  The purpose is to break out of deadlock
3517situations. If the time limit is exceeded the software aborts with a
3518fatal error.
3519</p>
3520
3521<p>
3522Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3523The default time unit is s (seconds).
3524</p>
3525
3526
3527</DD>
3528
3529<DT><b><a name="ipc_ttl">ipc_ttl</a>
3530(default: 1000s)</b></DT><DD>
3531
3532<p>
3533The time after which a client closes an active internal communication
3534channel.  The purpose is to allow servers to terminate voluntarily
3535after reaching their client limit.  This is used, for example, by
3536the address resolving and rewriting clients.
3537</p>
3538
3539<p>
3540Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3541The default time unit is s (seconds).
3542</p>
3543
3544<p>
3545This feature is available in Postfix 2.1 and later.
3546</p>
3547
3548
3549</DD>
3550
3551<DT><b><a name="line_length_limit">line_length_limit</a>
3552(default: 2048)</b></DT><DD>
3553
3554<p> Upon input, long lines are chopped up into pieces of at most
3555this length; upon delivery, long lines are reconstructed.  </p>
3556
3557
3558</DD>
3559
3560<DT><b><a name="lmtp_address_preference">lmtp_address_preference</a>
3561(default: ipv6)</b></DT><DD>
3562
3563<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a>
3564configuration parameter.  See there for details. </p>
3565
3566<p> This feature is available in Postfix 2.8 and later.  </p>
3567
3568
3569</DD>
3570
3571<DT><b><a name="lmtp_assume_final">lmtp_assume_final</a>
3572(default: no)</b></DT><DD>
3573
3574<p> When an LMTP server announces no DSN support, assume that the
3575server performs final delivery, and send "delivered" delivery status
3576notifications instead of "relayed". The default setting is backwards
3577compatible to avoid the infinetisimal possibility of breaking
3578existing LMTP-based content filters. </p>
3579
3580
3581</DD>
3582
3583<DT><b><a name="lmtp_bind_address">lmtp_bind_address</a>
3584(default: empty)</b></DT><DD>
3585
3586<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> configuration
3587parameter.  See there for details. </p>
3588
3589<p> This feature is available in Postfix 2.3 and later. </p>
3590
3591
3592</DD>
3593
3594<DT><b><a name="lmtp_bind_address6">lmtp_bind_address6</a>
3595(default: empty)</b></DT><DD>
3596
3597<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> configuration
3598parameter.  See there for details. </p>
3599
3600<p> This feature is available in Postfix 2.3 and later. </p>
3601
3602
3603</DD>
3604
3605<DT><b><a name="lmtp_body_checks">lmtp_body_checks</a>
3606(default: empty)</b></DT><DD>
3607
3608<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_body_checks">smtp_body_checks</a> configuration
3609parameter. See there for details. </p>
3610
3611<p> This feature is available in Postfix 2.5 and later. </p>
3612
3613
3614</DD>
3615
3616<DT><b><a name="lmtp_cache_connection">lmtp_cache_connection</a>
3617(default: yes)</b></DT><DD>
3618
3619<p>
3620Keep Postfix LMTP client connections open for up to $<a href="postconf.5.html#max_idle">max_idle</a>
3621seconds. When the LMTP client receives a request for the same
3622connection the connection is reused.
3623</p>
3624
3625<p> This parameter is available in Postfix version 2.2 and earlier.
3626With Postfix version 2.3 and later, see <a href="postconf.5.html#lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>,
3627<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>.
3628</p>
3629
3630<p>
3631The effectiveness of cached connections will be determined by the
3632number of LMTP servers in use, and the concurrency limit specified
3633for the LMTP client. Cached connections are closed under any of
3634the following conditions:
3635</p>
3636
3637<ul>
3638
3639<li> The LMTP client idle time limit is reached.  This limit is
3640specified with the Postfix <a href="postconf.5.html#max_idle">max_idle</a> configuration parameter.
3641
3642<li> A delivery request specifies a different destination than the
3643one currently cached.
3644
3645<li> The per-process limit on the number of delivery requests is
3646reached.  This limit is specified with the Postfix <a href="postconf.5.html#max_use">max_use</a>
3647configuration parameter.
3648
3649<li> Upon the onset of another delivery request, the LMTP server
3650associated with the current session does not respond to the RSET
3651command.
3652
3653</ul>
3654
3655<p>
3656Most of these limitations will be removed after Postfix implements
3657a connection cache that is shared among multiple LMTP client
3658programs.
3659</p>
3660
3661
3662</DD>
3663
3664<DT><b><a name="lmtp_cname_overrides_servername">lmtp_cname_overrides_servername</a>
3665(default: yes)</b></DT><DD>
3666
3667<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
3668configuration parameter.  See there for details. </p>
3669
3670<p> This feature is available in Postfix 2.3 and later. </p>
3671
3672
3673</DD>
3674
3675<DT><b><a name="lmtp_connect_timeout">lmtp_connect_timeout</a>
3676(default: 0s)</b></DT><DD>
3677
3678<p> The LMTP client time limit for completing a TCP connection, or
3679zero (use the operating system built-in time limit).  When no
3680connection can be made within the deadline, the LMTP client tries
3681the next address on the mail exchanger list.  </p>
3682
3683<p>
3684Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3685The default time unit is s (seconds).
3686</p>
3687
3688<p>
3689Example:
3690</p>
3691
3692<pre>
3693<a href="postconf.5.html#lmtp_connect_timeout">lmtp_connect_timeout</a> = 30s
3694</pre>
3695
3696
3697</DD>
3698
3699<DT><b><a name="lmtp_connection_cache_destinations">lmtp_connection_cache_destinations</a>
3700(default: empty)</b></DT><DD>
3701
3702<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
3703configuration parameter.  See there for details. </p>
3704
3705<p> This feature is available in Postfix 2.3 and later. </p>
3706
3707
3708</DD>
3709
3710<DT><b><a name="lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>
3711(default: yes)</b></DT><DD>
3712
3713<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
3714configuration parameter.  See there for details. </p>
3715
3716<p> This feature is available in Postfix 2.3 and later. </p>
3717
3718
3719</DD>
3720
3721<DT><b><a name="lmtp_connection_cache_time_limit">lmtp_connection_cache_time_limit</a>
3722(default: 2s)</b></DT><DD>
3723
3724<p> The LMTP-specific version of the
3725<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> configuration parameter.
3726See there for details. </p>
3727
3728<p> This feature is available in Postfix 2.3 and later. </p>
3729
3730
3731</DD>
3732
3733<DT><b><a name="lmtp_connection_reuse_time_limit">lmtp_connection_reuse_time_limit</a>
3734(default: 300s)</b></DT><DD>
3735
3736<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
3737configuration parameter.  See there for details. </p>
3738
3739<p> This feature is available in Postfix 2.3 and later. </p>
3740
3741
3742</DD>
3743
3744<DT><b><a name="lmtp_data_done_timeout">lmtp_data_done_timeout</a>
3745(default: 600s)</b></DT><DD>
3746
3747<p> The LMTP client time limit for sending the LMTP ".", and for
3748receiving the server response.  When no response is received within
3749the deadline, a warning is logged that the mail may be delivered
3750multiple times.  </p>
3751
3752<p>
3753Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3754The default time unit is s (seconds).
3755</p>
3756
3757
3758</DD>
3759
3760<DT><b><a name="lmtp_data_init_timeout">lmtp_data_init_timeout</a>
3761(default: 120s)</b></DT><DD>
3762
3763<p>
3764The LMTP client time limit for sending the LMTP DATA command, and
3765for receiving the server response.
3766</p>
3767
3768<p>
3769Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3770The default time unit is s (seconds).
3771</p>
3772
3773
3774</DD>
3775
3776<DT><b><a name="lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
3777(default: 180s)</b></DT><DD>
3778
3779<p>
3780The LMTP client time limit for sending the LMTP message content.
3781When the connection stalls for more than $<a href="postconf.5.html#lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
3782the LMTP client terminates the transfer.
3783</p>
3784
3785<p>
3786Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3787The default time unit is s (seconds).
3788</p>
3789
3790
3791</DD>
3792
3793<DT><b><a name="lmtp_defer_if_no_mx_address_found">lmtp_defer_if_no_mx_address_found</a>
3794(default: no)</b></DT><DD>
3795
3796<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>
3797configuration parameter.  See there for details. </p>
3798
3799<p> This feature is available in Postfix 2.3 and later. </p>
3800
3801
3802</DD>
3803
3804<DT><b><a name="lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a>
3805(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
3806
3807<p> The maximal number of parallel deliveries to the same destination
3808via the lmtp message delivery transport. This limit is enforced by
3809the queue manager. The message delivery transport name is the first
3810field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
3811
3812
3813</DD>
3814
3815<DT><b><a name="lmtp_destination_recipient_limit">lmtp_destination_recipient_limit</a>
3816(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
3817
3818<p> The maximal number of recipients per message for the lmtp
3819message delivery transport. This limit is enforced by the queue
3820manager. The message delivery transport name is the first field in
3821the entry in the <a href="master.5.html">master.cf</a> file.  </p>
3822
3823<p> Setting this parameter to a value of 1 changes the meaning of
3824<a href="postconf.5.html#lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a> from concurrency per domain into
3825concurrency per recipient.  </p>
3826
3827
3828</DD>
3829
3830<DT><b><a name="lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a>
3831(default: empty)</b></DT><DD>
3832
3833<p> Lookup tables, indexed by the remote LMTP server address, with
3834case insensitive lists of LHLO keywords (pipelining, starttls,
3835auth, etc.) that the LMTP client will ignore in the LHLO response
3836from a remote LMTP server. See <a href="postconf.5.html#lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a> for
3837details. The table is not indexed by hostname for consistency with
3838<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
3839
3840<p> This feature is available in Postfix 2.3 and later. </p>
3841
3842
3843</DD>
3844
3845<DT><b><a name="lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a>
3846(default: empty)</b></DT><DD>
3847
3848<p> A case insensitive list of LHLO keywords (pipelining, starttls,
3849auth, etc.) that the LMTP client will ignore in the LHLO response
3850from a remote LMTP server. </p>
3851
3852<p> This feature is available in Postfix 2.3 and later. </p>
3853
3854<p> Notes: </p>
3855
3856<ul>
3857
3858<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
3859this action from being logged. </p>
3860
3861<li> <p> Use the <a href="postconf.5.html#lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a> feature to
3862discard LHLO keywords selectively. </p>
3863
3864</ul>
3865
3866
3867</DD>
3868
3869<DT><b><a name="lmtp_dns_resolver_options">lmtp_dns_resolver_options</a>
3870(default: empty)</b></DT><DD>
3871
3872<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_resolver_options">smtp_dns_resolver_options</a>
3873configuration parameter.  See there for details. </p>
3874
3875<p> This feature is available in Postfix 2.8 and later.  </p>
3876
3877
3878</DD>
3879
3880<DT><b><a name="lmtp_enforce_tls">lmtp_enforce_tls</a>
3881(default: no)</b></DT><DD>
3882
3883<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> configuration
3884parameter.  See there for details. </p>
3885
3886<p> This feature is available in Postfix 2.3 and later. </p>
3887
3888
3889</DD>
3890
3891<DT><b><a name="lmtp_generic_maps">lmtp_generic_maps</a>
3892(default: empty)</b></DT><DD>
3893
3894<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_generic_maps">smtp_generic_maps</a> configuration
3895parameter.  See there for details. </p>
3896
3897<p> This feature is available in Postfix 2.3 and later. </p>
3898
3899
3900</DD>
3901
3902<DT><b><a name="lmtp_header_checks">lmtp_header_checks</a>
3903(default: empty)</b></DT><DD>
3904
3905<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_header_checks">smtp_header_checks</a> configuration
3906parameter. See there for details. </p>
3907
3908<p> This feature is available in Postfix 2.5 and later. </p>
3909
3910
3911</DD>
3912
3913<DT><b><a name="lmtp_host_lookup">lmtp_host_lookup</a>
3914(default: dns)</b></DT><DD>
3915
3916<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a> configuration
3917parameter.  See there for details. </p>
3918
3919<p> This feature is available in Postfix 2.3 and later. </p>
3920
3921
3922</DD>
3923
3924<DT><b><a name="lmtp_lhlo_name">lmtp_lhlo_name</a>
3925(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
3926
3927<p>
3928The hostname to send in the LMTP LHLO command.
3929</p>
3930
3931<p>
3932The default value is the machine hostname.  Specify a hostname or
3933[ip.add.re.ss].
3934</p>
3935
3936<p>
3937This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all LMTP
3938clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
3939client, for example:
3940</p>
3941
3942<blockquote>
3943<pre>
3944/etc/postfix/<a href="master.5.html">master.cf</a>:
3945    mylmtp ... lmtp -o <a href="postconf.5.html#lmtp_lhlo_name">lmtp_lhlo_name</a>=foo.bar.com
3946</pre>
3947</blockquote>
3948
3949<p>
3950This feature is available in Postfix 2.3 and later.
3951</p>
3952
3953
3954</DD>
3955
3956<DT><b><a name="lmtp_lhlo_timeout">lmtp_lhlo_timeout</a>
3957(default: 300s)</b></DT><DD>
3958
3959<p> The LMTP client time limit for sending the LHLO command, and
3960for receiving the initial server response. </p>
3961
3962<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
3963(weeks).  The default time unit is s (seconds).  </p>
3964
3965
3966</DD>
3967
3968<DT><b><a name="lmtp_line_length_limit">lmtp_line_length_limit</a>
3969(default: 990)</b></DT><DD>
3970
3971<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_line_length_limit">smtp_line_length_limit</a>
3972configuration parameter.  See there for details. </p>
3973
3974<p> This feature is available in Postfix 2.3 and later. </p>
3975
3976
3977</DD>
3978
3979<DT><b><a name="lmtp_mail_timeout">lmtp_mail_timeout</a>
3980(default: 300s)</b></DT><DD>
3981
3982<p>
3983The LMTP client time limit for sending the MAIL FROM command, and
3984for receiving the server response.
3985</p>
3986
3987<p>
3988Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
3989The default time unit is s (seconds).
3990</p>
3991
3992
3993</DD>
3994
3995<DT><b><a name="lmtp_mime_header_checks">lmtp_mime_header_checks</a>
3996(default: empty)</b></DT><DD>
3997
3998<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mime_header_checks">smtp_mime_header_checks</a>
3999configuration parameter. See there for details. </p>
4000
4001<p> This feature is available in Postfix 2.5 and later. </p>
4002
4003
4004</DD>
4005
4006<DT><b><a name="lmtp_mx_address_limit">lmtp_mx_address_limit</a>
4007(default: 5)</b></DT><DD>
4008
4009<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a> configuration
4010parameter.  See there for details. </p>
4011
4012<p> This feature is available in Postfix 2.3 and later. </p>
4013
4014
4015</DD>
4016
4017<DT><b><a name="lmtp_mx_session_limit">lmtp_mx_session_limit</a>
4018(default: 2)</b></DT><DD>
4019
4020<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_session_limit">smtp_mx_session_limit</a> configuration
4021parameter.  See there for details. </p>
4022
4023<p> This feature is available in Postfix 2.3 and later. </p>
4024
4025
4026</DD>
4027
4028<DT><b><a name="lmtp_nested_header_checks">lmtp_nested_header_checks</a>
4029(default: empty)</b></DT><DD>
4030
4031<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_nested_header_checks">smtp_nested_header_checks</a>
4032configuration parameter. See there for details. </p>
4033
4034<p> This feature is available in Postfix 2.5 and later. </p>
4035
4036
4037</DD>
4038
4039<DT><b><a name="lmtp_pix_workaround_delay_time">lmtp_pix_workaround_delay_time</a>
4040(default: 10s)</b></DT><DD>
4041
4042<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
4043configuration parameter.  See there for details. </p>
4044
4045<p> This feature is available in Postfix 2.3 and later. </p>
4046
4047
4048</DD>
4049
4050<DT><b><a name="lmtp_pix_workaround_maps">lmtp_pix_workaround_maps</a>
4051(default: empty)</b></DT><DD>
4052
4053<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
4054configuration parameter.  See there for details. </p>
4055
4056<p> This feature is available in Postfix 2.4 and later. </p>
4057
4058
4059</DD>
4060
4061<DT><b><a name="lmtp_pix_workaround_threshold_time">lmtp_pix_workaround_threshold_time</a>
4062(default: 500s)</b></DT><DD>
4063
4064<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
4065configuration parameter.  See there for details. </p>
4066
4067<p> This feature is available in Postfix 2.3 and later. </p>
4068
4069
4070</DD>
4071
4072<DT><b><a name="lmtp_pix_workarounds">lmtp_pix_workarounds</a>
4073(default: empty)</b></DT><DD>
4074
4075<p> The LMTP-specific version of the smtp_pix_workaround
4076configuration parameter.  See there for details. </p>
4077
4078<p> This feature is available in Postfix 2.4 and later. </p>
4079
4080
4081</DD>
4082
4083<DT><b><a name="lmtp_quit_timeout">lmtp_quit_timeout</a>
4084(default: 300s)</b></DT><DD>
4085
4086<p>
4087The LMTP client time limit for sending the QUIT command, and for
4088receiving the server response.
4089</p>
4090
4091<p>
4092Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4093The default time unit is s (seconds).
4094</p>
4095
4096
4097</DD>
4098
4099<DT><b><a name="lmtp_quote_rfc821_envelope">lmtp_quote_rfc821_envelope</a>
4100(default: yes)</b></DT><DD>
4101
4102<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
4103configuration parameter.  See there for details. </p>
4104
4105<p> This feature is available in Postfix 2.3 and later. </p>
4106
4107
4108</DD>
4109
4110<DT><b><a name="lmtp_randomize_addresses">lmtp_randomize_addresses</a>
4111(default: yes)</b></DT><DD>
4112
4113<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_randomize_addresses">smtp_randomize_addresses</a>
4114configuration parameter.  See there for details. </p>
4115
4116<p> This feature is available in Postfix 2.3 and later. </p>
4117
4118
4119</DD>
4120
4121<DT><b><a name="lmtp_rcpt_timeout">lmtp_rcpt_timeout</a>
4122(default: 300s)</b></DT><DD>
4123
4124<p>
4125The LMTP client time limit for sending the RCPT TO command, and
4126for receiving the server response.
4127</p>
4128
4129<p>
4130Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4131The default time unit is s (seconds).
4132</p>
4133
4134
4135</DD>
4136
4137<DT><b><a name="lmtp_reply_filter">lmtp_reply_filter</a>
4138(default: empty)</b></DT><DD>
4139
4140<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a>
4141configuration parameter.  See there for details. </p>
4142
4143<p> This feature is available in Postfix 2.7 and later. </p>
4144
4145
4146</DD>
4147
4148<DT><b><a name="lmtp_rset_timeout">lmtp_rset_timeout</a>
4149(default: 20s)</b></DT><DD>
4150
4151<p> The LMTP client time limit for sending the RSET command, and
4152for receiving the server response. The LMTP client sends RSET in
4153order to finish a recipient address probe, or to verify that a
4154cached connection is still alive.  </p>
4155
4156<p>
4157Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4158The default time unit is s (seconds).
4159</p>
4160
4161
4162</DD>
4163
4164<DT><b><a name="lmtp_sasl_auth_cache_name">lmtp_sasl_auth_cache_name</a>
4165(default: empty)</b></DT><DD>
4166
4167<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
4168configuration parameter.  See there for details. </p>
4169
4170<p> This feature is available in Postfix 2.5 and later. </p>
4171
4172
4173</DD>
4174
4175<DT><b><a name="lmtp_sasl_auth_cache_time">lmtp_sasl_auth_cache_time</a>
4176(default: 90d)</b></DT><DD>
4177
4178<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
4179configuration parameter.  See there for details. </p>
4180
4181<p> This feature is available in Postfix 2.5 and later. </p>
4182
4183
4184</DD>
4185
4186<DT><b><a name="lmtp_sasl_auth_enable">lmtp_sasl_auth_enable</a>
4187(default: no)</b></DT><DD>
4188
4189<p>
4190Enable SASL authentication in the Postfix LMTP client.
4191</p>
4192
4193
4194</DD>
4195
4196<DT><b><a name="lmtp_sasl_auth_soft_bounce">lmtp_sasl_auth_soft_bounce</a>
4197(default: yes)</b></DT><DD>
4198
4199<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
4200configuration parameter.  See there for details. </p>
4201
4202<p> This feature is available in Postfix 2.5 and later. </p>
4203
4204
4205</DD>
4206
4207<DT><b><a name="lmtp_sasl_mechanism_filter">lmtp_sasl_mechanism_filter</a>
4208(default: empty)</b></DT><DD>
4209
4210<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
4211configuration parameter.  See there for details. </p>
4212
4213<p> This feature is available in Postfix 2.3 and later. </p>
4214
4215
4216</DD>
4217
4218<DT><b><a name="lmtp_sasl_password_maps">lmtp_sasl_password_maps</a>
4219(default: empty)</b></DT><DD>
4220
4221<p>
4222Optional LMTP client lookup tables with one username:password entry
4223per host or domain.  If a remote host or domain has no username:password
4224entry, then the Postfix LMTP client will not attempt to authenticate
4225to the remote host.
4226</p>
4227
4228
4229</DD>
4230
4231<DT><b><a name="lmtp_sasl_path">lmtp_sasl_path</a>
4232(default: empty)</b></DT><DD>
4233
4234<p> Implementation-specific information that is passed through to
4235the SASL plug-in implementation that is selected with
4236<b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>.  Typically this specifies the name of a
4237configuration file or rendezvous point. </p>
4238
4239<p> This feature is available in Postfix 2.3 and later. </p>
4240
4241
4242</DD>
4243
4244<DT><b><a name="lmtp_sasl_security_options">lmtp_sasl_security_options</a>
4245(default: noplaintext, noanonymous)</b></DT><DD>
4246
4247<p> SASL security options; as of Postfix 2.3 the list of available
4248features depends on the SASL client implementation that is selected
4249with <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>.  </p>
4250
4251<p> The following security features are defined for the <b>cyrus</b>
4252client SASL implementation: </p>
4253
4254<dl>
4255
4256<dt><b>noplaintext</b></dt>
4257
4258<dd>Disallow authentication methods that use plaintext passwords. </dd>
4259
4260<dt><b>noactive</b></dt>
4261
4262<dd>Disallow authentication methods that are vulnerable to non-dictionary
4263active attacks. </dd>
4264
4265<dt><b>nodictionary</b></dt>
4266
4267<dd>Disallow authentication methods that are vulnerable to passive
4268dictionary attack. </dd>
4269
4270<dt><b>noanonymous</b></dt>
4271
4272<dd>Disallow anonymous logins. </dd>
4273
4274</dl>
4275
4276<p>
4277Example:
4278</p>
4279
4280<pre>
4281<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a> = noplaintext
4282</pre>
4283
4284
4285</DD>
4286
4287<DT><b><a name="lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>
4288(default: $<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a>)</b></DT><DD>
4289
4290<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
4291configuration parameter.  See there for details. </p>
4292
4293<p> This feature is available in Postfix 2.3 and later. </p>
4294
4295
4296</DD>
4297
4298<DT><b><a name="lmtp_sasl_tls_verified_security_options">lmtp_sasl_tls_verified_security_options</a>
4299(default: $<a href="postconf.5.html#lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>)</b></DT><DD>
4300
4301<p> The LMTP-specific version of the
4302<a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> configuration parameter.
4303See there for details. </p>
4304
4305<p> This feature is available in Postfix 2.3 and later. </p>
4306
4307
4308</DD>
4309
4310<DT><b><a name="lmtp_sasl_type">lmtp_sasl_type</a>
4311(default: cyrus)</b></DT><DD>
4312
4313<p> The SASL plug-in type that the Postfix LMTP client should use
4314for authentication.  The available types are listed with the
4315"<b>postconf -A</b>" command. </p>
4316
4317<p> This feature is available in Postfix 2.3 and later. </p>
4318
4319
4320</DD>
4321
4322<DT><b><a name="lmtp_send_xforward_command">lmtp_send_xforward_command</a>
4323(default: no)</b></DT><DD>
4324
4325<p>
4326Send an XFORWARD command to the LMTP server when the LMTP LHLO
4327server response announces XFORWARD support.  This allows an <a href="lmtp.8.html">lmtp(8)</a>
4328delivery agent, used for content filter message injection, to
4329forward the name, address, protocol and HELO name of the original
4330client to the content filter and downstream queuing LMTP server.
4331Before you change the value to yes, it is best to make sure that
4332your content filter supports this command.
4333</p>
4334
4335<p>
4336This feature is available in Postfix 2.1 and later.
4337</p>
4338
4339
4340</DD>
4341
4342<DT><b><a name="lmtp_sender_dependent_authentication">lmtp_sender_dependent_authentication</a>
4343(default: no)</b></DT><DD>
4344
4345<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
4346configuration parameter.  See there for details. </p>
4347
4348<p> This feature is available in Postfix 2.3 and later. </p>
4349
4350
4351</DD>
4352
4353<DT><b><a name="lmtp_skip_5xx_greeting">lmtp_skip_5xx_greeting</a>
4354(default: yes)</b></DT><DD>
4355
4356<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
4357configuration parameter.  See there for details. </p>
4358
4359<p> This feature is available in Postfix 2.3 and later. </p>
4360
4361
4362</DD>
4363
4364<DT><b><a name="lmtp_skip_quit_response">lmtp_skip_quit_response</a>
4365(default: no)</b></DT><DD>
4366
4367<p>
4368Wait for the response to the LMTP QUIT command.
4369</p>
4370
4371
4372</DD>
4373
4374<DT><b><a name="lmtp_starttls_timeout">lmtp_starttls_timeout</a>
4375(default: 300s)</b></DT><DD>
4376
4377<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_starttls_timeout">smtp_starttls_timeout</a> configuration
4378parameter.  See there for details. </p>
4379
4380<p> This feature is available in Postfix 2.3 and later. </p>
4381
4382
4383</DD>
4384
4385<DT><b><a name="lmtp_tcp_port">lmtp_tcp_port</a>
4386(default: 24)</b></DT><DD>
4387
4388<p>
4389The default TCP port that the Postfix LMTP client connects to.
4390</p>
4391
4392
4393</DD>
4394
4395<DT><b><a name="lmtp_tls_CAfile">lmtp_tls_CAfile</a>
4396(default: empty)</b></DT><DD>
4397
4398<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>
4399configuration parameter.  See there for details. </p>
4400
4401<p> This feature is available in Postfix 2.3 and later. </p>
4402
4403
4404</DD>
4405
4406<DT><b><a name="lmtp_tls_CApath">lmtp_tls_CApath</a>
4407(default: empty)</b></DT><DD>
4408
4409<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a>
4410configuration parameter.  See there for details. </p>
4411
4412<p> This feature is available in Postfix 2.3 and later. </p>
4413
4414
4415</DD>
4416
4417<DT><b><a name="lmtp_tls_block_early_mail_reply">lmtp_tls_block_early_mail_reply</a>
4418(default: empty)</b></DT><DD>
4419
4420<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>
4421configuration parameter.  See there for details. </p>
4422
4423<p> This feature is available in Postfix 2.7 and later. </p>
4424
4425
4426</DD>
4427
4428<DT><b><a name="lmtp_tls_cert_file">lmtp_tls_cert_file</a>
4429(default: empty)</b></DT><DD>
4430
4431<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>
4432configuration parameter.  See there for details. </p>
4433
4434<p> This feature is available in Postfix 2.3 and later. </p>
4435
4436
4437</DD>
4438
4439<DT><b><a name="lmtp_tls_ciphers">lmtp_tls_ciphers</a>
4440(default: export)</b></DT><DD>
4441
4442<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> configuration
4443parameter. See there for details. </p>
4444
4445<p> This feature is available in Postfix 2.6 and later. </p>
4446
4447
4448</DD>
4449
4450<DT><b><a name="lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>
4451(default: empty)</b></DT><DD>
4452
4453<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>
4454configuration parameter.  See there for details. </p>
4455
4456<p> This feature is available in Postfix 2.3 and later. </p>
4457
4458
4459</DD>
4460
4461<DT><b><a name="lmtp_tls_dkey_file">lmtp_tls_dkey_file</a>
4462(default: $<a href="postconf.5.html#lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>)</b></DT><DD>
4463
4464<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a>
4465configuration parameter.  See there for details. </p>
4466
4467<p> This feature is available in Postfix 2.3 and later. </p>
4468
4469
4470</DD>
4471
4472<DT><b><a name="lmtp_tls_eccert_file">lmtp_tls_eccert_file</a>
4473(default: empty)</b></DT><DD>
4474
4475<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> configuration
4476parameter.  See there for details. </p>
4477
4478<p> This feature is available in Postfix 2.6 and later, when Postfix is
4479compiled and linked with OpenSSL 1.0.0 or later. </p>
4480
4481
4482</DD>
4483
4484<DT><b><a name="lmtp_tls_eckey_file">lmtp_tls_eckey_file</a>
4485(default: empty)</b></DT><DD>
4486
4487<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> configuration
4488parameter.  See there for details. </p>
4489
4490<p> This feature is available in Postfix 2.6 and later, when Postfix is
4491compiled and linked with OpenSSL 1.0.0 or later. </p>
4492
4493
4494</DD>
4495
4496<DT><b><a name="lmtp_tls_enforce_peername">lmtp_tls_enforce_peername</a>
4497(default: yes)</b></DT><DD>
4498
4499<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
4500configuration parameter.  See there for details. </p>
4501
4502<p> This feature is available in Postfix 2.3 and later. </p>
4503
4504
4505</DD>
4506
4507<DT><b><a name="lmtp_tls_exclude_ciphers">lmtp_tls_exclude_ciphers</a>
4508(default: empty)</b></DT><DD>
4509
4510<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
4511configuration parameter.  See there for details. </p>
4512
4513<p> This feature is available in Postfix 2.3 and later. </p>
4514
4515
4516</DD>
4517
4518<DT><b><a name="lmtp_tls_fingerprint_cert_match">lmtp_tls_fingerprint_cert_match</a>
4519(default: empty)</b></DT><DD>
4520
4521<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
4522configuration parameter.  See there for details. </p>
4523
4524<p> This feature is available in Postfix 2.5 and later. </p>
4525
4526
4527</DD>
4528
4529<DT><b><a name="lmtp_tls_fingerprint_digest">lmtp_tls_fingerprint_digest</a>
4530(default: md5)</b></DT><DD>
4531
4532<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
4533configuration parameter.  See there for details. </p>
4534
4535<p> This feature is available in Postfix 2.5 and later. </p>
4536
4537
4538</DD>
4539
4540<DT><b><a name="lmtp_tls_key_file">lmtp_tls_key_file</a>
4541(default: $<a href="postconf.5.html#lmtp_tls_cert_file">lmtp_tls_cert_file</a>)</b></DT><DD>
4542
4543<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a>
4544configuration parameter.  See there for details. </p>
4545
4546<p> This feature is available in Postfix 2.3 and later. </p>
4547
4548
4549</DD>
4550
4551<DT><b><a name="lmtp_tls_loglevel">lmtp_tls_loglevel</a>
4552(default: 0)</b></DT><DD>
4553
4554<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>
4555configuration parameter.  See there for details. </p>
4556
4557<p> This feature is available in Postfix 2.3 and later. </p>
4558
4559
4560</DD>
4561
4562<DT><b><a name="lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>
4563(default: empty)</b></DT><DD>
4564
4565<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
4566configuration parameter.  See there for details. </p>
4567
4568<p> This feature is available in Postfix 2.3 and later. </p>
4569
4570
4571</DD>
4572
4573<DT><b><a name="lmtp_tls_mandatory_exclude_ciphers">lmtp_tls_mandatory_exclude_ciphers</a>
4574(default: empty)</b></DT><DD>
4575
4576<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
4577configuration parameter.  See there for details. </p>
4578
4579<p> This feature is available in Postfix 2.3 and later. </p>
4580
4581
4582</DD>
4583
4584<DT><b><a name="lmtp_tls_mandatory_protocols">lmtp_tls_mandatory_protocols</a>
4585(default: SSLv3, TLSv1)</b></DT><DD>
4586
4587<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
4588configuration parameter. See there for details. </p>
4589
4590<p> This feature is available in Postfix 2.3 and later. </p>
4591
4592
4593</DD>
4594
4595<DT><b><a name="lmtp_tls_note_starttls_offer">lmtp_tls_note_starttls_offer</a>
4596(default: no)</b></DT><DD>
4597
4598<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
4599configuration parameter.  See there for details. </p>
4600
4601<p> This feature is available in Postfix 2.3 and later. </p>
4602
4603
4604</DD>
4605
4606<DT><b><a name="lmtp_tls_per_site">lmtp_tls_per_site</a>
4607(default: empty)</b></DT><DD>
4608
4609<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> configuration
4610parameter.  See there for details. </p>
4611
4612<p> This feature is available in Postfix 2.3 and later. </p>
4613
4614
4615</DD>
4616
4617<DT><b><a name="lmtp_tls_policy_maps">lmtp_tls_policy_maps</a>
4618(default: empty)</b></DT><DD>
4619
4620<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>
4621configuration parameter. See there for details. </p>
4622
4623<p> This feature is available in Postfix 2.3 and later. </p>
4624
4625
4626</DD>
4627
4628<DT><b><a name="lmtp_tls_protocols">lmtp_tls_protocols</a>
4629(default: empty)</b></DT><DD>
4630
4631<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> configuration
4632parameter. See there for details. </p>
4633
4634<p> This feature is available in Postfix 2.6 and later. </p>
4635
4636
4637</DD>
4638
4639<DT><b><a name="lmtp_tls_scert_verifydepth">lmtp_tls_scert_verifydepth</a>
4640(default: 9)</b></DT><DD>
4641
4642<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
4643configuration parameter.  See there for details. </p>
4644
4645<p> This feature is available in Postfix 2.3 and later. </p>
4646
4647
4648</DD>
4649
4650<DT><b><a name="lmtp_tls_secure_cert_match">lmtp_tls_secure_cert_match</a>
4651(default: nexthop)</b></DT><DD>
4652
4653<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
4654configuration parameter. See there for details. </p>
4655
4656<p> This feature is available in Postfix 2.3 and later. </p>
4657
4658
4659</DD>
4660
4661<DT><b><a name="lmtp_tls_security_level">lmtp_tls_security_level</a>
4662(default: empty)</b></DT><DD>
4663
4664<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> configuration
4665parameter.  See there for details. </p>
4666
4667<p> This feature is available in Postfix 2.3 and later. </p>
4668
4669
4670</DD>
4671
4672<DT><b><a name="lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>
4673(default: empty)</b></DT><DD>
4674
4675<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
4676configuration parameter. See there for details. </p>
4677
4678<p> This feature is available in Postfix 2.3 and later. </p>
4679
4680
4681</DD>
4682
4683<DT><b><a name="lmtp_tls_session_cache_timeout">lmtp_tls_session_cache_timeout</a>
4684(default: 3600s)</b></DT><DD>
4685
4686<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
4687configuration parameter.  See there for details. </p>
4688
4689<p> This feature is available in Postfix 2.3 and later. </p>
4690
4691
4692</DD>
4693
4694<DT><b><a name="lmtp_tls_verify_cert_match">lmtp_tls_verify_cert_match</a>
4695(default: hostname)</b></DT><DD>
4696
4697<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
4698configuration parameter. See there for details. </p>
4699
4700<p> This feature is available in Postfix 2.3 and later. </p>
4701
4702
4703</DD>
4704
4705<DT><b><a name="lmtp_use_tls">lmtp_use_tls</a>
4706(default: no)</b></DT><DD>
4707
4708<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> configuration
4709parameter.  See there for details. </p>
4710
4711<p> This feature is available in Postfix 2.3 and later. </p>
4712
4713
4714</DD>
4715
4716<DT><b><a name="lmtp_xforward_timeout">lmtp_xforward_timeout</a>
4717(default: 300s)</b></DT><DD>
4718
4719<p>
4720The LMTP client time limit for sending the XFORWARD command, and
4721for receiving the server response.
4722</p>
4723
4724<p>
4725In case of problems the client does NOT try the next address on
4726the mail exchanger list.
4727</p>
4728
4729<p>
4730Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4731The default time unit is s (seconds).
4732</p>
4733
4734<p>
4735This feature is available in Postfix 2.1 and later.
4736</p>
4737
4738
4739</DD>
4740
4741<DT><b><a name="local_command_shell">local_command_shell</a>
4742(default: empty)</b></DT><DD>
4743
4744<p>
4745Optional shell program for <a href="local.8.html">local(8)</a> delivery to non-Postfix command.
4746By default, non-Postfix commands are executed directly; commands
4747are given to given to the default shell (typically, /bin/sh) only
4748when they contain shell meta characters or shell built-in commands.
4749</p>
4750
4751<p> "sendmail's restricted shell" (smrsh) is what most people will
4752use in order to restrict what programs can be run from e.g. .forward
4753files (smrsh is part of the Sendmail distribution).  </p>
4754
4755<p> Note: when a shell program is specified, it is invoked even
4756when the command contains no shell built-in commands or meta
4757characters.  </p>
4758
4759<p>
4760Example:
4761</p>
4762
4763<pre>
4764<a href="postconf.5.html#local_command_shell">local_command_shell</a> = /some/where/smrsh -c
4765<a href="postconf.5.html#local_command_shell">local_command_shell</a> = /bin/bash -c
4766</pre>
4767
4768
4769</DD>
4770
4771<DT><b><a name="local_destination_concurrency_limit">local_destination_concurrency_limit</a>
4772(default: 2)</b></DT><DD>
4773
4774<p> The maximal number of parallel deliveries via the local mail
4775delivery transport to the same recipient (when
4776"<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> = 1") or the maximal number of
4777parallel deliveries to the same <a href="ADDRESS_CLASS_README.html#local_domain_class">local domain</a> (when
4778"<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> &gt; 1"). This limit is enforced by
4779the queue manager. The message delivery transport name is the first
4780field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
4781
4782<p> A low limit of 2 is recommended, just in case someone has an
4783expensive shell command in a .forward file or in an alias (e.g.,
4784a mailing list manager).  You don't want to run lots of those at
4785the same time.  </p>
4786
4787
4788</DD>
4789
4790<DT><b><a name="local_destination_recipient_limit">local_destination_recipient_limit</a>
4791(default: 1)</b></DT><DD>
4792
4793<p> The maximal number of recipients per message delivery via the
4794local mail delivery transport. This limit is enforced by the queue
4795manager. The message delivery transport name is the first field in
4796the entry in the <a href="master.5.html">master.cf</a> file. </p>
4797
4798<p> Setting this parameter to a value &gt; 1 changes the meaning of
4799<a href="postconf.5.html#local_destination_concurrency_limit">local_destination_concurrency_limit</a> from concurrency per recipient
4800into concurrency per domain.  </p>
4801
4802
4803</DD>
4804
4805<DT><b><a name="local_header_rewrite_clients">local_header_rewrite_clients</a>
4806(default: <a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a>)</b></DT><DD>
4807
4808<p> Rewrite message header addresses in mail from these clients and
4809update incomplete addresses with the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or
4810$<a href="postconf.5.html#mydomain">mydomain</a>; either don't rewrite message headers from other clients
4811at all, or rewrite message headers and update incomplete addresses
4812with the domain specified in the <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>
4813parameter.  </p>
4814
4815<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
4816for details of how domain names are appended to incomplete addresses.
4817</p>
4818
4819<p> Specify a list of zero or more of the following:  </p>
4820
4821<dl>
4822
4823<dt><b><a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
4824
4825<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
4826client IP address matches $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. This is enabled by
4827default. </dd>
4828
4829<dt><b><a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a></b></dt>
4830
4831<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
4832client IP address matches any network or network address listed in
4833$<a href="postconf.5.html#mynetworks">mynetworks</a>. This setting will not prevent remote mail header
4834address rewriting when mail from a remote client is forwarded by
4835a neighboring system.  </dd>
4836
4837<dt><b><a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> </b></dt>
4838
4839<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
4840client is successfully authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH)
4841protocol. </dd>
4842
4843<dt><b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> </b></dt>
4844
4845<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
4846client TLS certificate fingerprint is listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
4847The fingerprint digest algorithm is configurable via the
4848<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
4849Postfix version 2.5).  </dd>
4850
4851<dt><b><a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a> </b></dt>
4852
4853<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
4854client TLS certificate is successfully verified, regardless of
4855whether it is listed on the server, and regardless of the certifying
4856authority. </dd>
4857
4858<dt><b><a name="check_address_map">check_address_map</a> <i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
4859
4860<dt><b><i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
4861
4862<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
4863client IP address matches the specified lookup table.
4864The lookup result is ignored, and no subnet lookup is done. This
4865is suitable for, e.g., pop-before-smtp lookup tables. </dd>
4866
4867</dl>
4868
4869<p> Examples:  </p>
4870
4871<p> The Postfix &lt; 2.2 backwards compatible setting: always rewrite
4872message headers, and always append my own domain to incomplete
4873header addresses.  </p>
4874
4875<blockquote>
4876<pre>
4877<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = static:all
4878</pre>
4879</blockquote>
4880
4881<p> The purist (and default) setting: rewrite headers only in mail
4882from Postfix sendmail and in SMTP mail from this machine. </p>
4883
4884<blockquote>
4885<pre>
4886<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>
4887</pre>
4888</blockquote>
4889
4890<p> The intermediate setting: rewrite header addresses and append
4891$<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> information only with mail from Postfix
4892sendmail, from local clients, or from authorized SMTP clients. </p>
4893
4894<p> Note: this setting will not prevent remote mail header address
4895rewriting when mail from a remote client is forwarded by a neighboring
4896system.  </p>
4897
4898<blockquote>
4899<pre>
4900<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
4901    <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
4902    <a href="postconf.5.html#check_address_map">check_address_map</a> hash:/etc/postfix/pop-before-smtp
4903</pre>
4904</blockquote>
4905
4906
4907</DD>
4908
4909<DT><b><a name="local_recipient_maps">local_recipient_maps</a>
4910(default: <a href="proxymap.8.html">proxy</a>:unix:passwd.byname $<a href="postconf.5.html#alias_maps">alias_maps</a>)</b></DT><DD>
4911
4912<p> Lookup tables with all names or addresses of local recipients:
4913a recipient address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
4914$<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
4915wild-card for domains that do not have a valid recipient list.
4916Technically, tables listed with $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> are used as
4917lists: Postfix needs to know only if a lookup string is found or
4918not, but it does not use the result from table lookup.  </p>
4919
4920<p>
4921If this parameter is non-empty (the default), then the Postfix SMTP
4922server will reject mail for unknown local users.
4923</p>
4924
4925<p>
4926To turn off local recipient checking in the Postfix SMTP server,
4927specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty).
4928</p>
4929
4930<p>
4931The default setting assumes that you use the default Postfix local
4932delivery agent for local delivery. You need to update the
4933<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> setting if:
4934</p>
4935
4936<ul>
4937
4938<li>You redefine the local delivery agent in <a href="master.5.html">master.cf</a>.
4939
4940<li>You redefine the "<a href="postconf.5.html#local_transport">local_transport</a>" setting in <a href="postconf.5.html">main.cf</a>.
4941
4942<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>"
4943feature of the Postfix <a href="local.8.html">local(8)</a> delivery agent.
4944
4945</ul>
4946
4947<p>
4948Details are described in the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> file.
4949</p>
4950
4951<p>
4952Beware: if the Postfix SMTP server runs chrooted, you need to access
4953the passwd file via the <a href="proxymap.8.html">proxymap(8)</a> service, in order to overcome
4954chroot access restrictions. The alternative, maintaining a copy of
4955the system password file in the chroot jail is not practical.
4956</p>
4957
4958<p>
4959Examples:
4960</p>
4961
4962<pre>
4963<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =
4964</pre>
4965
4966
4967</DD>
4968
4969<DT><b><a name="local_transport">local_transport</a>
4970(default: <a href="local.8.html">local</a>:$<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
4971
4972<p> The default mail delivery transport and next-hop destination
4973for final delivery to domains listed with <a href="postconf.5.html#mydestination">mydestination</a>, and for
4974[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>.
4975This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
4976
4977<p>
4978By default, local mail is delivered to the transport called "local",
4979which is just the name of a service that is defined the <a href="master.5.html">master.cf</a> file.
4980</p>
4981
4982<p>
4983Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
4984is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
4985The <i>:nexthop</i> destination is optional; its syntax is documented
4986in the manual page of the corresponding delivery agent.
4987</p>
4988
4989<p>
4990Beware: if you override the default local delivery agent then you
4991need to review the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> document, otherwise the
4992SMTP server may reject mail for local recipients.
4993</p>
4994
4995
4996</DD>
4997
4998<DT><b><a name="luser_relay">luser_relay</a>
4999(default: empty)</b></DT><DD>
5000
5001<p>
5002Optional catch-all destination for unknown <a href="local.8.html">local(8)</a> recipients.
5003By default, mail for unknown recipients in domains that match
5004$<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
5005as undeliverable.
5006</p>
5007
5008<p>
5009The following $name expansions are done on <a href="postconf.5.html#luser_relay">luser_relay</a>:
5010</p>
5011
5012<dl>
5013
5014<dt><b>$domain</b></dt>
5015
5016<dd>The recipient domain. </dd>
5017
5018<dt><b>$extension</b></dt>
5019
5020<dd>The recipient address extension. </dd>
5021
5022<dt><b>$home</b></dt>
5023
5024<dd>The recipient's home directory. </dd>
5025
5026<dt><b>$local</b></dt>
5027
5028<dd>The entire recipient address localpart. </dd>
5029
5030<dt><b>$recipient</b></dt>
5031
5032<dd>The full recipient address. </dd>
5033
5034<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
5035
5036<dd>The system-wide recipient address extension delimiter. </dd>
5037
5038<dt><b>$shell</b></dt>
5039
5040<dd>The recipient's login shell. </dd>
5041
5042<dt><b>$user</b></dt>
5043
5044<dd>The recipient username. </dd>
5045
5046<dt><b>${name?value}</b></dt>
5047
5048<dd>Expands to <i>value</i> when <i>$name</i> has a non-empty value. </dd>
5049
5050<dt><b>${name:value}</b></dt>
5051
5052<dd>Expands to <i>value</i> when <i>$name</i> has an empty value. </dd>
5053
5054</dl>
5055
5056<p>
5057Instead of $name you can also specify ${name} or $(name).
5058</p>
5059
5060<p>
5061Note: <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.
5062</p>
5063
5064<p>
5065Note: if you use this feature for accounts not in the UNIX password
5066file, then you must specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty)
5067in the <a href="postconf.5.html">main.cf</a> file, otherwise the Postfix SMTP server will reject mail
5068for non-UNIX accounts with "User unknown in local recipient table".
5069</p>
5070
5071<p>
5072Examples:
5073</p>
5074
5075<pre>
5076<a href="postconf.5.html#luser_relay">luser_relay</a> = $user@other.host
5077<a href="postconf.5.html#luser_relay">luser_relay</a> = $local@other.host
5078<a href="postconf.5.html#luser_relay">luser_relay</a> = admin+$local
5079</pre>
5080
5081
5082</DD>
5083
5084<DT><b><a name="mail_name">mail_name</a>
5085(default: Postfix)</b></DT><DD>
5086
5087<p>
5088The mail system name that is displayed in Received: headers, in
5089the SMTP greeting banner, and in bounced mail.
5090</p>
5091
5092
5093</DD>
5094
5095<DT><b><a name="mail_owner">mail_owner</a>
5096(default: postfix)</b></DT><DD>
5097
5098<p>
5099The UNIX system account that owns the Postfix queue and most Postfix
5100daemon processes.  Specify the name of a user account that does
5101not share a group with other accounts and that owns no other files
5102or processes on the system.  In particular, don't specify nobody
5103or daemon.  PLEASE USE A DEDICATED USER ID AND GROUP ID.
5104</p>
5105
5106<p>
5107When this parameter value is changed you need to re-run "<b>postfix
5108set-permissions</b>" (with Postfix version 2.0 and earlier:
5109"<b>/etc/postfix/post-install set-permissions</b>".
5110</p>
5111
5112
5113</DD>
5114
5115<DT><b><a name="mail_release_date">mail_release_date</a>
5116(default: see "postconf -d" output)</b></DT><DD>
5117
5118<p>
5119The Postfix release date, in "YYYYMMDD" format.
5120</p>
5121
5122
5123</DD>
5124
5125<DT><b><a name="mail_spool_directory">mail_spool_directory</a>
5126(default: see "postconf -d" output)</b></DT><DD>
5127
5128<p>
5129The directory where <a href="local.8.html">local(8)</a> UNIX-style mailboxes are kept. The
5130default setting depends on the system type. Specify a name ending
5131in / for maildir-style delivery.
5132</p>
5133
5134<p>
5135Note: maildir delivery is done with the privileges of the recipient.
5136If you use the <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> setting for maildir style
5137delivery, then you must create the top-level maildir directory in
5138advance. Postfix will not create it.
5139</p>
5140
5141<p>
5142Examples:
5143</p>
5144
5145<pre>
5146<a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/mail
5147<a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/spool/mail
5148</pre>
5149
5150
5151</DD>
5152
5153<DT><b><a name="mail_version">mail_version</a>
5154(default: see "postconf -d" output)</b></DT><DD>
5155
5156<p>
5157The version of the mail system. Stable releases are named
5158<i>major</i>.<i>minor</i>.<i>patchlevel</i>. Experimental releases
5159also include the release date. The version string can be used in,
5160for example, the SMTP greeting banner.
5161</p>
5162
5163
5164</DD>
5165
5166<DT><b><a name="mailbox_command">mailbox_command</a>
5167(default: empty)</b></DT><DD>
5168
5169<p>
5170Optional external command that the <a href="local.8.html">local(8)</a> delivery agent should
5171use for mailbox delivery.  The command is run with the user ID and
5172the primary group ID privileges of the recipient.  Exception:
5173command delivery for root executes with $<a href="postconf.5.html#default_privs">default_privs</a> privileges.
5174This is not a problem, because 1) mail for root should always be
5175aliased to a real user and 2) don't log in as root, use "su" instead.
5176</p>
5177
5178<p>
5179The following environment variables are exported to the command:
5180</p>
5181
5182<dl>
5183
5184<dt><b>CLIENT_ADDRESS</b></dt>
5185
5186<dd>Remote client network address. Available in Postfix version 2.2 and
5187later. </dd>
5188
5189<dt><b>CLIENT_HELO</b></dt>
5190
5191<dd>Remote client EHLO command parameter. Available in Postfix version 2.2
5192and later.</dd>
5193
5194<dt><b>CLIENT_HOSTNAME</b></dt>
5195
5196<dd>Remote client hostname. Available in Postfix version 2.2 and later.
5197</dd>
5198
5199<dt><b>CLIENT_PROTOCOL</b></dt>
5200
5201<dd>Remote client protocol. Available in Postfix version 2.2 and later.
5202</dd>
5203
5204<dt><b>DOMAIN</b></dt>
5205
5206<dd>The domain part of the recipient address. </dd>
5207
5208<dt><b>EXTENSION</b></dt>
5209
5210<dd>The optional address extension. </dd>
5211
5212<dt><b>HOME</b></dt>
5213
5214<dd>The recipient home directory. </dd>
5215
5216<dt><b>LOCAL</b></dt>
5217
5218<dd>The recipient address localpart. </dd>
5219
5220<dt><b>LOGNAME</b></dt>
5221
5222<dd>The recipient's username. </dd>
5223
5224<dt><b>ORIGINAL_RECIPIENT</b></dt>
5225
5226<dd>The entire recipient address, before any address rewriting or
5227aliasing.  </dd>
5228
5229<dt><b>RECIPIENT</b></dt>
5230
5231<dd>The full recipient address. </dd>
5232
5233<dt><b>SASL_METHOD</b></dt>
5234
5235<dd>SASL authentication method specified in the remote client AUTH
5236command. Available in Postfix version 2.2 and later. </dd>
5237
5238<dt><b>SASL_SENDER</b></dt>
5239
5240<dd>SASL sender address specified in the remote client MAIL FROM
5241command. Available in Postfix version 2.2 and later. </dd>
5242
5243<dt><b>SASL_USER</b></dt>
5244
5245<dd>SASL username specified in the remote client AUTH command.
5246Available in Postfix version 2.2 and later.  </dd>
5247
5248<dt><b>SENDER</b></dt>
5249
5250<dd>The full sender address. </dd>
5251
5252<dt><b>SHELL</b></dt>
5253
5254<dd>The recipient's login shell. </dd>
5255
5256<dt><b>USER</b></dt>
5257
5258<dd>The recipient username. </dd>
5259
5260</dl>
5261
5262<p>
5263Unlike other Postfix configuration parameters, the <a href="postconf.5.html#mailbox_command">mailbox_command</a>
5264parameter is not subjected to $name substitutions. This is to make
5265it easier to specify shell syntax (see example below).
5266</p>
5267
5268<p>
5269If you can, avoid shell meta characters because they will force
5270Postfix to run an expensive shell process. If you're delivering
5271via Procmail then running a shell won't make a noticeable difference
5272in the total cost.
5273</p>
5274
5275<p>
5276Note: if you use the <a href="postconf.5.html#mailbox_command">mailbox_command</a> feature to deliver mail
5277system-wide, you must set up an alias that forwards mail for root
5278to a real user.
5279</p>
5280
5281<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
5282is: 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>,
5283<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>,
5284<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>
5285
5286<p>
5287Examples:
5288</p>
5289
5290<pre>
5291<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail
5292<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail -a "$EXTENSION"
5293<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/maildrop -d "$USER"
5294        -f "$SENDER" "$EXTENSION"
5295</pre>
5296
5297
5298</DD>
5299
5300<DT><b><a name="mailbox_command_maps">mailbox_command_maps</a>
5301(default: empty)</b></DT><DD>
5302
5303<p>
5304Optional lookup tables with per-recipient external commands to use
5305for <a href="local.8.html">local(8)</a> mailbox delivery.  Behavior is as with <a href="postconf.5.html#mailbox_command">mailbox_command</a>.
5306</p>
5307
5308<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
5309is: 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>,
5310<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>,
5311<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>
5312
5313
5314</DD>
5315
5316<DT><b><a name="mailbox_delivery_lock">mailbox_delivery_lock</a>
5317(default: see "postconf -d" output)</b></DT><DD>
5318
5319<p>
5320How to lock a UNIX-style <a href="local.8.html">local(8)</a> mailbox before attempting delivery.
5321For a list of available file locking methods, use the "<b>postconf
5322-l</b>" command.
5323</p>
5324
5325<p>
5326This setting is ignored with <b>maildir</b> style delivery,
5327because such deliveries are safe without explicit locks.
5328</p>
5329
5330<p>
5331Note: The <b>dotlock</b> method requires that the recipient UID or
5332GID has write access to the parent directory of the mailbox file.
5333</p>
5334
5335<p>
5336Note: the default setting of this parameter is system dependent.
5337</p>
5338
5339
5340</DD>
5341
5342<DT><b><a name="mailbox_size_limit">mailbox_size_limit</a>
5343(default: 51200000)</b></DT><DD>
5344
5345<p> The maximal size of any <a href="local.8.html">local(8)</a> individual mailbox or maildir
5346file, or zero (no limit).  In fact, this limits the size of any
5347file that is written to upon local delivery, including files written
5348by external commands that are executed by the <a href="local.8.html">local(8)</a> delivery
5349agent.  </p>
5350
5351<p>
5352This limit must not be smaller than the message size limit.
5353</p>
5354
5355
5356</DD>
5357
5358<DT><b><a name="mailbox_transport">mailbox_transport</a>
5359(default: empty)</b></DT><DD>
5360
5361<p>
5362Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
5363agent should use for mailbox delivery to all local recipients,
5364whether or not they are found in the UNIX passwd database.
5365</p>
5366
5367<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
5368is: 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>,
5369<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>,
5370<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>
5371
5372
5373</DD>
5374
5375<DT><b><a name="mailbox_transport_maps">mailbox_transport_maps</a>
5376(default: empty)</b></DT><DD>
5377
5378<p> Optional lookup tables with per-recipient message delivery
5379transports to use for <a href="local.8.html">local(8)</a> mailbox delivery, whether or not the
5380recipients are found in the UNIX passwd database. </p>
5381
5382<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
5383is: 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>,
5384<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>,
5385<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>
5386
5387<p> For safety reasons, this feature does not allow $number
5388substitutions in regular expression maps. </p>
5389
5390<p> This feature is available in Postfix 2.3 and later. </p>
5391
5392
5393</DD>
5394
5395<DT><b><a name="mailq_path">mailq_path</a>
5396(default: see "postconf -d" output)</b></DT><DD>
5397
5398<p>
5399Sendmail compatibility feature that specifies where the Postfix
5400<a href="mailq.1.html">mailq(1)</a> command is installed. This command can be used to
5401list the Postfix mail queue.
5402</p>
5403
5404
5405</DD>
5406
5407<DT><b><a name="manpage_directory">manpage_directory</a>
5408(default: see "postconf -d" output)</b></DT><DD>
5409
5410<p>
5411Where the Postfix manual pages are installed.
5412</p>
5413
5414
5415</DD>
5416
5417<DT><b><a name="maps_rbl_domains">maps_rbl_domains</a>
5418(default: empty)</b></DT><DD>
5419
5420<p>
5421Obsolete feature: use the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> feature instead.
5422</p>
5423
5424
5425</DD>
5426
5427<DT><b><a name="maps_rbl_reject_code">maps_rbl_reject_code</a>
5428(default: 554)</b></DT><DD>
5429
5430<p>
5431The numerical Postfix SMTP server response code when a remote SMTP
5432client 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>,
5433<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
5434<a href="postconf.5.html#reject_rhsbl_recipient">reject_rhsbl_recipient</a> restriction.
5435</p>
5436
5437<p>
5438Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
5439</p>
5440
5441
5442</DD>
5443
5444<DT><b><a name="masquerade_classes">masquerade_classes</a>
5445(default: envelope_sender, header_sender, header_recipient)</b></DT><DD>
5446
5447<p>
5448What addresses are subject to address masquerading.
5449</p>
5450
5451<p>
5452By default, address masquerading is limited to envelope sender
5453addresses, and to header sender and header recipient addresses.
5454This allows you to use address masquerading on a mail gateway while
5455still being able to forward mail to users on individual machines.
5456</p>
5457
5458<p>
5459Specify zero or more of: envelope_sender, envelope_recipient,
5460header_sender, header_recipient
5461</p>
5462
5463
5464</DD>
5465
5466<DT><b><a name="masquerade_domains">masquerade_domains</a>
5467(default: empty)</b></DT><DD>
5468
5469<p>
5470Optional list of domains whose subdomain structure will be stripped
5471off in email addresses.
5472</p>
5473
5474<p>
5475The list is processed left to right, and processing stops at the
5476first match.  Thus,
5477</p>
5478
5479<blockquote>
5480<pre>
5481<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = foo.example.com example.com
5482</pre>
5483</blockquote>
5484
5485<p>
5486strips "user@any.thing.foo.example.com" to "user@foo.example.com",
5487but strips "user@any.thing.else.example.com" to "user@example.com".
5488</p>
5489
5490<p>
5491A domain name prefixed with ! means do not masquerade this domain
5492or its subdomains. Thus,
5493</p>
5494
5495<blockquote>
5496<pre>
5497<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = !foo.example.com example.com
5498</pre>
5499</blockquote>
5500
5501<p>
5502does not change "user@any.thing.foo.example.com" or "user@foo.example.com",
5503but strips "user@any.thing.else.example.com" to "user@example.com".
5504</p>
5505
5506<p> Note: with Postfix version 2.2, message header address masquerading
5507happens only when message header address rewriting is enabled: </p>
5508
5509<ul>
5510
5511<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
5512
5513<li> The message is received from a network client that matches
5514$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
5515
5516<li> The message is received from the network, and the
5517<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
5518
5519</ul>
5520
5521<p> To get the behavior before Postfix version 2.2, specify
5522"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = static:all". </p>
5523
5524<p>
5525Example:
5526</p>
5527
5528<pre>
5529<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
5530</pre>
5531
5532
5533</DD>
5534
5535<DT><b><a name="masquerade_exceptions">masquerade_exceptions</a>
5536(default: empty)</b></DT><DD>
5537
5538<p>
5539Optional list of user names that are not subjected to address
5540masquerading, even when their address matches $<a href="postconf.5.html#masquerade_domains">masquerade_domains</a>.
5541</p>
5542
5543<p>
5544By default, address masquerading makes no exceptions.
5545</p>
5546
5547<p>
5548Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
5549separated by commas and/or whitespace. The list is matched left to
5550right, and the search stops on the first match. A "/file/name"
5551pattern is replaced
5552by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
5553matches a lookup key (the lookup result is ignored).  Continue long
5554lines by starting the next line with whitespace. Specify "!pattern"
5555to exclude a name from the list. The form "!/file/name" is supported
5556only in Postfix version 2.4 and later.  </p>
5557
5558<p>
5559Examples:
5560</p>
5561
5562<pre>
5563<a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root, mailer-daemon
5564<a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root
5565</pre>
5566
5567
5568</DD>
5569
5570<DT><b><a name="master_service_disable">master_service_disable</a>
5571(default: empty)</b></DT><DD>
5572
5573<p> Selectively disable <a href="master.8.html">master(8)</a> listener ports by service type
5574or by service name and type.  Specify a list of service types
5575("inet", "unix", "fifo", or "pass") or "name.type" tuples, where
5576"name" is the first field of a <a href="master.5.html">master.cf</a> entry and "type" is a
5577service type. As with other Postfix matchlists, a search stops at
5578the first match.  Specify "!pattern" to exclude a service from the
5579list. By default, all <a href="master.8.html">master(8)</a> listener ports are enabled.  </p>
5580
5581<p> Note: this feature does not support "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
5582patterns, nor does it support wildcards such as "*" or "all". This
5583is intentional. </p>
5584
5585<p> Examples: </p>
5586
5587<pre>
5588# Turn on all <a href="master.8.html">master(8)</a> listener ports (the default).
5589<a href="postconf.5.html#master_service_disable">master_service_disable</a> =
5590# Turn off only the main SMTP listener port.
5591<a href="postconf.5.html#master_service_disable">master_service_disable</a> = smtp.inet
5592# Turn off all TCP/IP listener ports.
5593<a href="postconf.5.html#master_service_disable">master_service_disable</a> = inet
5594# Turn off all TCP/IP listener ports except "foo".
5595<a href="postconf.5.html#master_service_disable">master_service_disable</a> = !foo.inet, inet
5596</pre>
5597
5598<p> This feature is available in Postfix 2.6 and later. </p>
5599
5600
5601</DD>
5602
5603<DT><b><a name="max_idle">max_idle</a>
5604(default: 100s)</b></DT><DD>
5605
5606<p>
5607The maximum amount of time that an idle Postfix daemon process waits
5608for an incoming connection before terminating voluntarily.  This
5609parameter
5610is ignored by the Postfix queue manager and by other long-lived
5611Postfix daemon processes.
5612</p>
5613
5614<p>
5615Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
5616The default time unit is s (seconds).
5617</p>
5618
5619
5620</DD>
5621
5622<DT><b><a name="max_use">max_use</a>
5623(default: 100)</b></DT><DD>
5624
5625<p>
5626The maximal number of incoming connections that a Postfix daemon
5627process will service before terminating voluntarily.  This parameter
5628is ignored by the Postfix queue
5629manager and by other long-lived Postfix daemon processes.
5630</p>
5631
5632
5633</DD>
5634
5635<DT><b><a name="maximal_backoff_time">maximal_backoff_time</a>
5636(default: 4000s)</b></DT><DD>
5637
5638<p>
5639The maximal time between attempts to deliver a deferred message.
5640</p>
5641
5642<p> This parameter should be set to a value greater than or equal
5643to $<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>
5644
5645<p>
5646Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
5647The default time unit is s (seconds).
5648</p>
5649
5650
5651</DD>
5652
5653<DT><b><a name="maximal_queue_lifetime">maximal_queue_lifetime</a>
5654(default: 5d)</b></DT><DD>
5655
5656<p>
5657The maximal time a message is queued before it is sent back as
5658undeliverable.
5659</p>
5660
5661<p>
5662Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
5663The default time unit is d (days).
5664</p>
5665
5666<p>
5667Specify 0 when mail delivery should be tried only once.
5668</p>
5669
5670
5671</DD>
5672
5673<DT><b><a name="message_reject_characters">message_reject_characters</a>
5674(default: empty)</b></DT><DD>
5675
5676<p> The set of characters that Postfix will reject in message
5677content.  The usual C-like escape sequences are recognized: <tt>\a
5678\b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
5679<tt>\\</tt>. </p>
5680
5681<p> Example: </p>
5682
5683<pre>
5684<a href="postconf.5.html#message_reject_characters">message_reject_characters</a> = \0
5685</pre>
5686
5687<p> This feature is available in Postfix 2.3 and later.  </p>
5688
5689
5690</DD>
5691
5692<DT><b><a name="message_size_limit">message_size_limit</a>
5693(default: 10240000)</b></DT><DD>
5694
5695<p>
5696The maximal size in bytes of a message, including envelope information.
5697</p>
5698
5699<p> Note: be careful when making changes.  Excessively small values
5700will result in the loss of non-delivery notifications, when a bounce
5701message size exceeds the local or remote MTA's message size limit.
5702</p>
5703
5704
5705</DD>
5706
5707<DT><b><a name="message_strip_characters">message_strip_characters</a>
5708(default: empty)</b></DT><DD>
5709
5710<p> The set of characters that Postfix will remove from message
5711content.  The usual C-like escape sequences are recognized: <tt>\a
5712\b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
5713<tt>\\</tt>. </p>
5714
5715<p> Example: </p>
5716
5717<pre>
5718<a href="postconf.5.html#message_strip_characters">message_strip_characters</a> = \0
5719</pre>
5720
5721<p> This feature is available in Postfix 2.3 and later.  </p>
5722
5723
5724</DD>
5725
5726<DT><b><a name="milter_command_timeout">milter_command_timeout</a>
5727(default: 30s)</b></DT><DD>
5728
5729<p> The time limit for sending an SMTP command to a Milter (mail
5730filter) application, and for receiving the response.  </p>
5731
5732<p> Specify a non-zero time value (an integral value plus an optional
5733one-letter suffix that specifies the time unit). </p>
5734
5735<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
5736(weeks). The default time unit is s (seconds). </p>
5737
5738<p> This feature is available in Postfix 2.3 and later. </p>
5739
5740
5741</DD>
5742
5743<DT><b><a name="milter_connect_macros">milter_connect_macros</a>
5744(default: see "postconf -d" output)</b></DT><DD>
5745
5746<p> The macros that are sent to Milter (mail filter) applications
5747after completion of an SMTP connection. See <a href="MILTER_README.html">MILTER_README</a>
5748for a list of available macro names and their meanings. </p>
5749
5750<p> This feature is available in Postfix 2.3 and later. </p>
5751
5752
5753</DD>
5754
5755<DT><b><a name="milter_connect_timeout">milter_connect_timeout</a>
5756(default: 30s)</b></DT><DD>
5757
5758<p> The time limit for connecting to a Milter (mail filter)
5759application, and for negotiating protocol options. </p>
5760
5761<p> Specify a non-zero time value (an integral value plus an optional
5762one-letter suffix that specifies the time unit). </p>
5763
5764<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
5765(weeks). The default time unit is s (seconds). </p>
5766
5767<p> This feature is available in Postfix 2.3 and later. </p>
5768
5769
5770</DD>
5771
5772<DT><b><a name="milter_content_timeout">milter_content_timeout</a>
5773(default: 300s)</b></DT><DD>
5774
5775<p> The time limit for sending message content to a Milter (mail
5776filter) application, and for receiving the response.  </p>
5777
5778<p> Specify a non-zero time value (an integral value plus an optional
5779one-letter suffix that specifies the time unit). </p>
5780
5781<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
5782(weeks). The default time unit is s (seconds). </p>
5783
5784<p> This feature is available in Postfix 2.3 and later. </p>
5785
5786
5787</DD>
5788
5789<DT><b><a name="milter_data_macros">milter_data_macros</a>
5790(default: see "postconf -d" output)</b></DT><DD>
5791
5792<p> The macros that are sent to version 4 or higher Milter (mail
5793filter) applications after the SMTP DATA command. See <a href="MILTER_README.html">MILTER_README</a>
5794for a list of available macro names and their meanings.  </p>
5795
5796<p> This feature is available in Postfix 2.3 and later. </p>
5797
5798
5799</DD>
5800
5801<DT><b><a name="milter_default_action">milter_default_action</a>
5802(default: tempfail)</b></DT><DD>
5803
5804<p> The default action when a Milter (mail filter) application is
5805unavailable or mis-configured. Specify one of the following: </p>
5806
5807<dl compact>
5808
5809<dt>accept</dt> <dd>Proceed as if the mail filter was not present.
5810</dd>
5811
5812<dt>reject</dt> <dd>Reject all further commands in this session
5813with a permanent status code.</dd>
5814
5815<dt>tempfail</dt> <dd>Reject all further commands in this session
5816with a temporary status code. </dd>
5817
5818<dt>quarantine</dt> <dd>Like "accept", but freeze the message in
5819the "<a href="QSHAPE_README.html#hold_queue">hold" queue</a>. Available with Postfix 2.6 and later. </dd>
5820
5821</dl>
5822
5823<p> This feature is available in Postfix 2.3 and later. </p>
5824
5825
5826</DD>
5827
5828<DT><b><a name="milter_end_of_data_macros">milter_end_of_data_macros</a>
5829(default: see "postconf -d" output)</b></DT><DD>
5830
5831<p> The macros that are sent to Milter (mail filter) applications
5832after the message end-of-data. See <a href="MILTER_README.html">MILTER_README</a> for a list of
5833available macro names and their meanings.  </p>
5834
5835<p> This feature is available in Postfix 2.3 and later. </p>
5836
5837
5838</DD>
5839
5840<DT><b><a name="milter_end_of_header_macros">milter_end_of_header_macros</a>
5841(default: see "postconf -d" output)</b></DT><DD>
5842
5843<p> The macros that are sent to Milter (mail filter) applications
5844after the end of the message header. See <a href="MILTER_README.html">MILTER_README</a> for a list
5845of available macro names and their meanings.  </p>
5846
5847<p> This feature is available in Postfix 2.5 and later. </p>
5848
5849
5850</DD>
5851
5852<DT><b><a name="milter_header_checks">milter_header_checks</a>
5853(default: empty)</b></DT><DD>
5854
5855<p> Optional lookup tables for content inspection of message headers
5856that are produced by Milter applications.  See the <a href="header_checks.5.html">header_checks(5)</a>
5857manual page available actions. Currently, PREPEND is not implemented.
5858</p>
5859
5860<p> The following example sends all mail that is marked as SPAM to
5861a spam handling machine. Note that matches are case-insensitive
5862by default. </p>
5863
5864<pre>
5865/etc/postfix/<a href="postconf.5.html">main.cf</a>:
5866    <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>
5867</pre>
5868
5869<pre>
5870/etc/postfix/<a href="postconf.5.html#milter_header_checks">milter_header_checks</a>:
5871    /^X-SPAM-FLAG:\s+YES/ FILTER mysmtp:sanitizer.example.com:25
5872</pre>
5873
5874<p> The <a href="postconf.5.html#milter_header_checks">milter_header_checks</a> mechanism could also be used for
5875whitelisting. For example it could be used to skip heavy content
5876inspection for DKIM-signed mail from known friendly domains. </p>
5877
5878<p> This feature is available in Postfix 2.7, and as an optional
5879patch for Postfix 2.6. </p>
5880
5881
5882</DD>
5883
5884<DT><b><a name="milter_helo_macros">milter_helo_macros</a>
5885(default: see "postconf -d" output)</b></DT><DD>
5886
5887<p> The macros that are sent to Milter (mail filter) applications
5888after the SMTP HELO or EHLO command. See
5889<a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their meanings.
5890</p>
5891
5892<p> This feature is available in Postfix 2.3 and later. </p>
5893
5894
5895</DD>
5896
5897<DT><b><a name="milter_macro_daemon_name">milter_macro_daemon_name</a>
5898(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
5899
5900<p> The {daemon_name} macro value for Milter (mail filter) applications.
5901See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
5902meanings.  </p>
5903
5904<p> This feature is available in Postfix 2.3 and later. </p>
5905
5906
5907</DD>
5908
5909<DT><b><a name="milter_macro_v">milter_macro_v</a>
5910(default: $<a href="postconf.5.html#mail_name">mail_name</a> $<a href="postconf.5.html#mail_version">mail_version</a>)</b></DT><DD>
5911
5912<p> The {v} macro value for Milter (mail filter) applications.
5913See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
5914meanings.  </p>
5915
5916<p> This feature is available in Postfix 2.3 and later. </p>
5917
5918
5919</DD>
5920
5921<DT><b><a name="milter_mail_macros">milter_mail_macros</a>
5922(default: see "postconf -d" output)</b></DT><DD>
5923
5924<p> The macros that are sent to Milter (mail filter) applications
5925after the SMTP MAIL FROM command. See <a href="MILTER_README.html">MILTER_README</a>
5926for a list of available macro names and their meanings. </p>
5927
5928<p> This feature is available in Postfix 2.3 and later. </p>
5929
5930
5931</DD>
5932
5933<DT><b><a name="milter_protocol">milter_protocol</a>
5934(default: 6)</b></DT><DD>
5935
5936<p> The mail filter protocol version and optional protocol extensions
5937for communication with a Milter application; prior to Postfix 2.6
5938the default protocol is 2. Postfix
5939sends this version number during the initial protocol handshake.
5940It should match the version number that is expected by the mail
5941filter application (or by its Milter library).  </p>
5942
5943<p>Protocol versions: </p>
5944
5945<dl compact>
5946
5947<dt>2</dt> <dd>Use Sendmail 8 mail filter protocol version 2 (default
5948with Sendmail version 8.11 .. 8.13 and Postfix version 2.3 ..
59492.5).</dd>
5950
5951<dt>3</dt> <dd>Use Sendmail 8 mail filter protocol version 3.</dd>
5952
5953<dt>4</dt> <dd>Use Sendmail 8 mail filter protocol version 4.</dd>
5954
5955<dt>6</dt> <dd>Use Sendmail 8 mail filter protocol version 6 (default
5956with Sendmail version 8.14 and Postfix version 2.6).</dd>
5957
5958</dl>
5959
5960<p>Protocol extensions: </p>
5961
5962<dl compact>
5963
5964<dt>no_header_reply</dt> <dd> Specify this when the Milter application
5965will not reply for each individual message header.</dd>
5966
5967</dl>
5968
5969<p> This feature is available in Postfix 2.3 and later. </p>
5970
5971
5972</DD>
5973
5974<DT><b><a name="milter_rcpt_macros">milter_rcpt_macros</a>
5975(default: see "postconf -d" output)</b></DT><DD>
5976
5977<p> The macros that are sent to Milter (mail filter) applications
5978after the SMTP RCPT TO command. See <a href="MILTER_README.html">MILTER_README</a>
5979for a list of available macro names and their meanings. </p>
5980
5981<p> This feature is available in Postfix 2.3 and later. </p>
5982
5983
5984</DD>
5985
5986<DT><b><a name="milter_unknown_command_macros">milter_unknown_command_macros</a>
5987(default: see "postconf -d" output)</b></DT><DD>
5988
5989<p> The macros that are sent to version 3 or higher Milter (mail
5990filter) applications after an unknown SMTP command.  See <a href="MILTER_README.html">MILTER_README</a>
5991for a list of available macro names and their meanings.  </p>
5992
5993<p> This feature is available in Postfix 2.3 and later. </p>
5994
5995
5996</DD>
5997
5998<DT><b><a name="mime_boundary_length_limit">mime_boundary_length_limit</a>
5999(default: 2048)</b></DT><DD>
6000
6001<p>
6002The maximal length of MIME multipart boundary strings. The MIME
6003processor is unable to distinguish between boundary strings that
6004do not differ in the first $<a href="postconf.5.html#mime_boundary_length_limit">mime_boundary_length_limit</a> characters.
6005</p>
6006
6007<p>
6008This feature is available in Postfix 2.0 and later.
6009</p>
6010
6011
6012</DD>
6013
6014<DT><b><a name="mime_header_checks">mime_header_checks</a>
6015(default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
6016
6017<p>
6018Optional lookup tables for content inspection of MIME related
6019message headers, as described in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
6020</p>
6021
6022<p>
6023This feature is available in Postfix 2.0 and later.
6024</p>
6025
6026
6027</DD>
6028
6029<DT><b><a name="mime_nesting_limit">mime_nesting_limit</a>
6030(default: 100)</b></DT><DD>
6031
6032<p>
6033The maximal recursion level that the MIME processor will handle.
6034Postfix refuses mail that is nested deeper than the specified limit.
6035</p>
6036
6037<p>
6038This feature is available in Postfix 2.0 and later.
6039</p>
6040
6041
6042</DD>
6043
6044<DT><b><a name="minimal_backoff_time">minimal_backoff_time</a>
6045(default: 300s)</b></DT><DD>
6046
6047<p>
6048The minimal time between attempts to deliver a deferred message;
6049prior to Postfix 2.4 the default value was 1000s.
6050</p>
6051
6052<p>
6053This parameter also limits the time an unreachable destination is
6054kept in the short-term, in-memory, destination status cache.
6055</p>
6056
6057<p> This parameter should be set greater than or equal to
6058$<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>
6059
6060<p>
6061Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
6062The default time unit is s (seconds).
6063</p>
6064
6065
6066</DD>
6067
6068<DT><b><a name="multi_instance_directories">multi_instance_directories</a>
6069(default: empty)</b></DT><DD>
6070
6071<p> An optional list of non-default Postfix configuration directories;
6072these directories belong to additional Postfix instances that share
6073the Postfix executable files and documentation with the default
6074Postfix instance, and that are started, stopped, etc., together
6075with the default Postfix instance.  Specify a list of pathnames
6076separated by comma or whitespace.  </p>
6077
6078<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
6079runs in single-instance mode and operates on a single Postfix
6080instance only. Otherwise, the <a href="postfix.1.html">postfix(1)</a> command runs in multi-instance
6081mode and invokes the multi-instance manager specified with the
6082<a href="postconf.5.html#multi_instance_wrapper">multi_instance_wrapper</a> parameter. The multi-instance manager in
6083turn executes <a href="postfix.1.html">postfix(1)</a> commands for the default instance and for
6084all Postfix instances in $<a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>.  </p>
6085
6086<p> Currently, this parameter setting is ignored except for the
6087default <a href="postconf.5.html">main.cf</a> file. </p>
6088
6089<p> This feature is available in Postfix 2.6 and later. </p>
6090
6091
6092</DD>
6093
6094<DT><b><a name="multi_instance_enable">multi_instance_enable</a>
6095(default: no)</b></DT><DD>
6096
6097<p> Allow this Postfix instance to be started, stopped, etc., by a
6098multi-instance manager.  By default, new instances are created in
6099a safe state that prevents them from being started inadvertently.
6100This parameter is reserved for the multi-instance manager.  </p>
6101
6102<p> This feature is available in Postfix 2.6 and later. </p>
6103
6104
6105</DD>
6106
6107<DT><b><a name="multi_instance_group">multi_instance_group</a>
6108(default: empty)</b></DT><DD>
6109
6110<p> The optional instance group name of this Postfix instance. A
6111group identifies closely-related Postfix instances that the
6112multi-instance manager can start, stop, etc., as a unit.  This
6113parameter is reserved for the multi-instance manager. </p>
6114
6115<p> This feature is available in Postfix 2.6 and later. </p>
6116
6117
6118</DD>
6119
6120<DT><b><a name="multi_instance_name">multi_instance_name</a>
6121(default: empty)</b></DT><DD>
6122
6123<p> The optional instance name of this Postfix instance. This name
6124becomes also the default value for the <a href="postconf.5.html#syslog_name">syslog_name</a> parameter. </p>
6125
6126<p> This feature is available in Postfix 2.6 and later. </p>
6127
6128
6129</DD>
6130
6131<DT><b><a name="multi_instance_wrapper">multi_instance_wrapper</a>
6132(default: empty)</b></DT><DD>
6133
6134<p> The pathname of a multi-instance manager command that the
6135<a href="postfix.1.html">postfix(1)</a> command invokes when the <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>
6136parameter value is non-empty. The pathname may be followed by
6137initial command arguments separated by whitespace; shell
6138metacharacters such as quotes are not supported in this context.
6139</p>
6140
6141<p> The <a href="postfix.1.html">postfix(1)</a> command invokes the manager command with the
6142<a href="postfix.1.html">postfix(1)</a> non-option command arguments on the manager command line,
6143and with all installation configuration parameters exported into
6144the manager command process environment. The manager command in
6145turn invokes the <a href="postfix.1.html">postfix(1)</a> command for individual Postfix instances
6146as "postfix -c <i><a href="postconf.5.html#config_directory">config_directory</a></i> <i>command</i>".  </p>
6147
6148<p> This feature is available in Postfix 2.6 and later. </p>
6149
6150
6151</DD>
6152
6153<DT><b><a name="multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a>
6154(default: 550)</b></DT><DD>
6155
6156<p>
6157The numerical Postfix SMTP server response code when a remote SMTP
6158client request is blocked by the <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a>
6159restriction.
6160</p>
6161
6162<p>
6163Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
6164</p>
6165
6166<p>
6167This feature is available in Postfix 2.1 and later.
6168</p>
6169
6170
6171</DD>
6172
6173<DT><b><a name="mydestination">mydestination</a>
6174(default: $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a>, localhost)</b></DT><DD>
6175
6176<p> The list of domains that are delivered via the $<a href="postconf.5.html#local_transport">local_transport</a>
6177mail delivery transport. By default this is the Postfix <a href="local.8.html">local(8)</a>
6178delivery agent which looks up all recipients in /etc/passwd and
6179/etc/aliases. The SMTP server validates recipient addresses with
6180$<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> and rejects non-existent recipients. See also
6181the <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.
6182</p>
6183
6184<p>
6185The default <a href="postconf.5.html#mydestination">mydestination</a> value specifies names for the local
6186machine only.  On a mail domain gateway, you should also include
6187$<a href="postconf.5.html#mydomain">mydomain</a>.
6188</p>
6189
6190<p>
6191The $<a href="postconf.5.html#local_transport">local_transport</a> delivery method is also selected for mail
6192addressed to user@[the.net.work.address] of the mail system (the
6193IP 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>
6194parameters).
6195</p>
6196
6197<p>
6198Warnings:
6199</p>
6200
6201<ul>
6202
6203<li><p>Do not specify the names of virtual domains - those domains
6204are specified elsewhere. See <a href="VIRTUAL_README.html">VIRTUAL_README</a> for more information. </p>
6205
6206<li><p>Do not specify the names of domains that this machine is
6207backup MX host for. See <a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> for how to
6208set up backup MX hosts. </p>
6209
6210<li><p>By default, the Postfix SMTP server rejects mail for recipients
6211not listed with the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> parameter.  See the
6212<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>
6213and <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> parameters. </p>
6214
6215</ul>
6216
6217<p>
6218Specify a list of host or domain names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
6219patterns, separated by commas and/or whitespace. A "/file/name"
6220pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
6221is matched when a name matches a lookup key (the lookup result is
6222ignored).  Continue long lines by starting the next line with
6223whitespace.  </p>
6224
6225<p>
6226Examples:
6227</p>
6228
6229<pre>
6230<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>
6231<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>
6232</pre>
6233
6234
6235</DD>
6236
6237<DT><b><a name="mydomain">mydomain</a>
6238(default: see "postconf -d" output)</b></DT><DD>
6239
6240<p>
6241The internet domain name of this mail system.  The default is to
6242use $<a href="postconf.5.html#myhostname">myhostname</a> minus the first component, or "localdomain" (Postfix
62432.3 and later).  $<a href="postconf.5.html#mydomain">mydomain</a> is used as
6244a default value for many other configuration parameters.
6245</p>
6246
6247<p>
6248Example:
6249</p>
6250
6251<pre>
6252<a href="postconf.5.html#mydomain">mydomain</a> = domain.tld
6253</pre>
6254
6255
6256</DD>
6257
6258<DT><b><a name="myhostname">myhostname</a>
6259(default: see "postconf -d" output)</b></DT><DD>
6260
6261<p>
6262The internet hostname of this mail system. The default is to use
6263the fully-qualified domain name (FQDN) from gethostname(), or to
6264use the non-FQDN result from gethostname() and append ".$<a href="postconf.5.html#mydomain">mydomain</a>".
6265$<a href="postconf.5.html#myhostname">myhostname</a> is used as a default value for many other configuration
6266parameters.  </p>
6267
6268<p>
6269Example:
6270</p>
6271
6272<pre>
6273<a href="postconf.5.html#myhostname">myhostname</a> = host.example.com
6274</pre>
6275
6276
6277</DD>
6278
6279<DT><b><a name="mynetworks">mynetworks</a>
6280(default: see "postconf -d" output)</b></DT><DD>
6281
6282<p>
6283The list of "trusted" SMTP clients that have more privileges than
6284"strangers".
6285</p>
6286
6287<p>
6288In particular, "trusted" SMTP clients are allowed to relay mail
6289through Postfix.  See the <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter
6290description in the <a href="postconf.5.html">postconf(5)</a> manual.
6291</p>
6292
6293<p>
6294You can specify the list of "trusted" network addresses by hand
6295or you can let Postfix do it for you (which is the default).
6296See the description of the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> parameter for more
6297information.
6298</p>
6299
6300<p>
6301If you specify the <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand,
6302Postfix ignores the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> setting.
6303</p>
6304
6305<p> Specify a list of network addresses or network/netmask patterns,
6306separated by commas and/or whitespace. Continue long lines by
6307starting the next line with whitespace. </p>
6308
6309<p> The netmask specifies the number of bits in the network part
6310of a host address.  You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
6311patterns.  A "/file/name" pattern is replaced by its contents; a
6312"<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry matches a
6313lookup string (the lookup result is ignored). </p>
6314
6315<p> The list is matched left to right, and the search stops on the
6316first match.  Specify "!pattern" to exclude an address or network
6317block from the list. The form "!/file/name" is supported only
6318in Postfix version 2.4 and later. </p>
6319
6320<p> Note: IP version 6 address information must be specified inside
6321<tt>[]</tt> in the <a href="postconf.5.html#mynetworks">mynetworks</a> value, and in files specified with
6322"/file/name".  IP version 6 addresses contain the ":" character,
6323and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" pattern.  </p>
6324
6325<p> Examples:  </p>
6326
6327<pre>
6328<a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28
6329<a href="postconf.5.html#mynetworks">mynetworks</a> = !192.168.0.1, 192.168.0.0/28
6330<a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64
6331<a href="postconf.5.html#mynetworks">mynetworks</a> = $<a href="postconf.5.html#config_directory">config_directory</a>/mynetworks
6332<a href="postconf.5.html#mynetworks">mynetworks</a> = hash:/etc/postfix/network_table
6333</pre>
6334
6335
6336</DD>
6337
6338<DT><b><a name="mynetworks_style">mynetworks_style</a>
6339(default: subnet)</b></DT><DD>
6340
6341<p>
6342The method to generate the default value for the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter.
6343This is the list of trusted networks for relay access control etc.
6344</p>
6345
6346<ul>
6347
6348<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = host" when Postfix should
6349"trust" only the local machine. </p>
6350
6351<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = subnet" when Postfix
6352should "trust" SMTP clients in the same IP subnetworks as the local
6353machine.  On Linux, this works correctly only with interfaces
6354specified with the "ifconfig" command. </p>
6355
6356<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = class" when Postfix should
6357"trust" SMTP clients in the same IP class A/B/C networks as the
6358local machine.  Don't do this with a dialup site - it would cause
6359Postfix to "trust" your entire provider's network.  Instead, specify
6360an explicit <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand, as described with the <a href="postconf.5.html#mynetworks">mynetworks</a>
6361configuration parameter. </p>
6362
6363</ul>
6364
6365
6366</DD>
6367
6368<DT><b><a name="myorigin">myorigin</a>
6369(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
6370
6371<p>
6372The domain name that locally-posted mail appears to come
6373from, and that locally posted mail is delivered to. The default,
6374$<a href="postconf.5.html#myhostname">myhostname</a>, is adequate for small sites.  If you run a domain with
6375multiple machines, you should (1) change this to $<a href="postconf.5.html#mydomain">mydomain</a> and (2)
6376set up a domain-wide alias database that aliases each user to
6377user@that.users.mailhost.
6378</p>
6379
6380<p>
6381Example:
6382</p>
6383
6384<pre>
6385<a href="postconf.5.html#myorigin">myorigin</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
6386</pre>
6387
6388
6389</DD>
6390
6391<DT><b><a name="nested_header_checks">nested_header_checks</a>
6392(default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
6393
6394<p>
6395Optional lookup tables for content inspection of non-MIME message
6396headers in attached messages, as described in the <a href="header_checks.5.html">header_checks(5)</a>
6397manual page.
6398</p>
6399
6400<p>
6401This feature is available in Postfix 2.0 and later.
6402</p>
6403
6404
6405</DD>
6406
6407<DT><b><a name="newaliases_path">newaliases_path</a>
6408(default: see "postconf -d" output)</b></DT><DD>
6409
6410<p>
6411Sendmail compatibility feature that specifies the location of the
6412<a href="newaliases.1.html">newaliases(1)</a> command. This command can be used to rebuild the
6413<a href="local.8.html">local(8)</a> <a href="aliases.5.html">aliases(5)</a> database.
6414</p>
6415
6416
6417</DD>
6418
6419<DT><b><a name="non_fqdn_reject_code">non_fqdn_reject_code</a>
6420(default: 504)</b></DT><DD>
6421
6422<p>
6423The numerical Postfix SMTP server reply code when a client request
6424is 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>
6425or <a href="postconf.5.html#reject_non_fqdn_recipient">reject_non_fqdn_recipient</a> restriction.
6426</p>
6427
6428
6429</DD>
6430
6431<DT><b><a name="non_smtpd_milters">non_smtpd_milters</a>
6432(default: empty)</b></DT><DD>
6433
6434<p> A list of Milter (mail filter) applications for new mail that
6435does not arrive via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. This includes local
6436submission via the <a href="sendmail.1.html">sendmail(1)</a> command line, new mail that arrives
6437via the Postfix <a href="qmqpd.8.html">qmqpd(8)</a> server, and old mail that is re-injected
6438into the queue with "postsuper -r".  See the <a href="MILTER_README.html">MILTER_README</a> document
6439for details.  </p>
6440
6441<p> This feature is available in Postfix 2.3 and later. </p>
6442
6443
6444</DD>
6445
6446<DT><b><a name="notify_classes">notify_classes</a>
6447(default: resource, software)</b></DT><DD>
6448
6449<p>
6450The list of error classes that are reported to the postmaster. The
6451default is to report only the most serious problems. The paranoid
6452may wish to turn on the policy (UCE and mail relaying) and protocol
6453error (broken mail software) reports.
6454</p>
6455
6456<p> NOTE: postmaster notifications may contain confidential information
6457such as SASL passwords or message content.  It is the system
6458administrator's responsibility to treat such information with care.
6459</p>
6460
6461<p>
6462The error classes are:
6463</p>
6464
6465<dl>
6466
6467<dt><b>bounce</b> (also implies <b>2bounce</b>)</dt>
6468
6469<dd>Send the postmaster copies of the headers of bounced mail, and
6470send transcripts of SMTP sessions when Postfix rejects mail. The
6471notification is sent to the address specified with the
6472<a href="postconf.5.html#bounce_notice_recipient">bounce_notice_recipient</a> configuration parameter (default: postmaster).
6473</dd>
6474
6475<dt><b>2bounce</b></dt>
6476
6477<dd>Send undeliverable bounced mail to the postmaster. The notification
6478is sent to the address specified with the <a href="postconf.5.html#2bounce_notice_recipient">2bounce_notice_recipient</a>
6479configuration parameter (default: postmaster). </dd>
6480
6481<dt><b>delay</b></dt>
6482
6483<dd>Send the postmaster copies of the headers of delayed mail. The
6484notification is sent to the address specified with the
6485<a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a> configuration parameter (default: postmaster).
6486</dd>
6487
6488<dt><b>policy</b></dt>
6489
6490<dd>Send the postmaster a transcript of the SMTP session when a
6491client request was rejected because of (UCE) policy. The notification
6492is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
6493configuration parameter (default: postmaster).  </dd>
6494
6495<dt><b>protocol</b></dt>
6496
6497<dd>Send the postmaster a transcript of the SMTP session in case
6498of client or server protocol errors. The notification is sent to
6499the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration
6500parameter (default: postmaster). </dd>
6501
6502<dt><b>resource</b></dt>
6503
6504<dd>Inform the postmaster of mail not delivered due to resource
6505problems.  The notification is sent to the address specified with
6506the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
6507postmaster). </dd>
6508
6509<dt><b>software</b></dt>
6510
6511<dd>Inform the postmaster of mail not delivered due to software
6512problems.  The notification is sent to the address specified with
6513the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
6514postmaster). </dd>
6515
6516</dl>
6517
6518<p>
6519Examples:
6520</p>
6521
6522<pre>
6523<a href="postconf.5.html#notify_classes">notify_classes</a> = bounce, delay, policy, protocol, resource, software
6524<a href="postconf.5.html#notify_classes">notify_classes</a> = 2bounce, resource, software
6525</pre>
6526
6527
6528</DD>
6529
6530<DT><b><a name="owner_request_special">owner_request_special</a>
6531(default: yes)</b></DT><DD>
6532
6533<p>
6534Give special treatment to owner-listname and listname-request
6535address localparts: don't split such addresses when the
6536<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is set to "-".  This feature is useful for
6537mailing lists.
6538</p>
6539
6540
6541</DD>
6542
6543<DT><b><a name="parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
6544(default: see "postconf -d" output)</b></DT><DD>
6545
6546<p>
6547What Postfix features match subdomains of "domain.tld" automatically,
6548instead of requiring an explicit ".domain.tld" pattern.  This is
6549planned backwards compatibility:  eventually, all Postfix features
6550are expected to require explicit ".domain.tld" style patterns when
6551you really want to match subdomains.
6552</p>
6553
6554
6555</DD>
6556
6557<DT><b><a name="permit_mx_backup_networks">permit_mx_backup_networks</a>
6558(default: empty)</b></DT><DD>
6559
6560<p>
6561Restrict the use of the <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> SMTP access feature to
6562only domains whose primary MX hosts match the listed networks.
6563The parameter value syntax is the same as with the <a href="postconf.5.html#mynetworks">mynetworks</a>
6564parameter; note, however, that the default value is empty.  </p>
6565
6566
6567</DD>
6568
6569<DT><b><a name="pickup_service_name">pickup_service_name</a>
6570(default: pickup)</b></DT><DD>
6571
6572<p>
6573The name of the <a href="pickup.8.html">pickup(8)</a> service. This service picks up local mail
6574submissions from the Postfix <a href="QSHAPE_README.html#maildrop_queue">maildrop queue</a>.
6575</p>
6576
6577<p>
6578This feature is available in Postfix 2.0 and later.
6579</p>
6580
6581
6582</DD>
6583
6584<DT><b><a name="plaintext_reject_code">plaintext_reject_code</a>
6585(default: 450)</b></DT><DD>
6586
6587<p>
6588The numerical Postfix SMTP server response code when a request
6589is rejected by the <b><a href="postconf.5.html#reject_plaintext_session">reject_plaintext_session</a></b> restriction.
6590</p>
6591
6592<p> This feature is available in Postfix 2.3 and later. </p>
6593
6594
6595</DD>
6596
6597<DT><b><a name="postmulti_control_commands">postmulti_control_commands</a>
6598(default: reload flush)</b></DT><DD>
6599
6600<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager
6601treats as "control" commands, that operate on running instances. For
6602these commands, disabled instances are skipped. </p>
6603
6604<p> This feature is available in Postfix 2.6 and later. </p>
6605
6606
6607</DD>
6608
6609<DT><b><a name="postmulti_start_commands">postmulti_start_commands</a>
6610(default: start)</b></DT><DD>
6611
6612<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
6613as "start" commands. For these commands, disabled instances are "checked"
6614rather than "started", and failure to "start" a member instance of an
6615instance group will abort the start-up of later instances. </p>
6616
6617<p> This feature is available in Postfix 2.6 and later. </p>
6618
6619
6620</DD>
6621
6622<DT><b><a name="postmulti_stop_commands">postmulti_stop_commands</a>
6623(default: see "postconf -d" output)</b></DT><DD>
6624
6625<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
6626as "stop" commands. For these commands, disabled instances are skipped,
6627and enabled instances are processed in reverse order. </p>
6628
6629<p> This feature is available in Postfix 2.6 and later. </p>
6630
6631
6632</DD>
6633
6634<DT><b><a name="postscreen_access_list">postscreen_access_list</a>
6635(default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>)</b></DT><DD>
6636
6637<p> Permanent white/blacklist for remote SMTP client IP addresses.
6638<a href="postscreen.8.html">postscreen(8)</a> searches this list immediately after a remote SMTP
6639client connects.  Specify a comma- or whitespace-separated list of
6640commands (in upper or lower case) or lookup tables. The search stops
6641upon the first command that fires for the client IP address. </p>
6642
6643<dl>
6644
6645<dt> <b> <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a> </b> </dt> <dd> Whitelist the client and
6646terminate the search if the client IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>.
6647Do not subject the client to any before/after 220 greeting tests.
6648Pass the connection immediately to a Postfix SMTP server process.
6649</dd>
6650
6651<dt> <b> <a href="DATABASE_README.html">type:table</a> </b> </dt> <dd> Query the specified lookup
6652table. Each table lookup result is an access list, except that
6653access lists inside a table cannot specify <a href="DATABASE_README.html">type:table</a> entries.  <br>
6654To discourage the use of hash, btree, etc. tables, there is no
6655support for substring matching like <a href="smtpd.8.html">smtpd(8)</a>. Use CIDR tables
6656instead.  </dd>
6657
6658<dt> <b> permit </b> </dt> <dd> Whitelist the client and terminate
6659the search. Do not subject the client to any before/after 220
6660greeting tests. Pass the connection immediately to a Postfix SMTP
6661server process. </dd>
6662
6663<dt> <b> reject </b> </dt> <dd> Blacklist the client and terminate
6664the search. Subject the client to the action configured with the
6665<a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> configuration parameter. </dd>
6666
6667<dt> <b> dunno </b> </dt> <dd> All <a href="postscreen.8.html">postscreen(8)</a> access lists
6668implicitly have this command at the end. <br> When <b> dunno </b>
6669is executed inside a lookup table, return from the lookup table and
6670evaluate the next command.  <br> When <b> dunno </b> is executed
6671outside a lookup table, terminate the search, and subject the client
6672to the configured before/after 220 greeting tests. </dd>
6673
6674</dl>
6675
6676<p> Example: </p>
6677
6678<pre>
6679/etc/postfix/<a href="postconf.5.html">main.cf</a>:
6680    <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
6681		<a href="cidr_table.5.html">cidr</a>:/etc/postfix/postscreen_access.cidr
6682</pre>
6683
6684<pre>
6685/etc/postfix/postscreen_access.<a href="cidr_table.5.html">cidr</a>:
6686    # Rules are evaluated in the order as specified.
6687    # Blacklist 192.168.* except 192.168.0.1.
6688    192.168.0.1         dunno
6689    192.168.0.0/16      reject
6690</pre>
6691
6692<p> This feature is available in Postfix 2.8. </p>
6693
6694
6695</DD>
6696
6697<DT><b><a name="postscreen_bare_newline_action">postscreen_bare_newline_action</a>
6698(default: ignore)</b></DT><DD>
6699
6700<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when an SMTP client sends
6701a bare newline character, that is, a newline not preceded by carriage
6702return.  Specify one of the following: </p>
6703
6704<dl>
6705
6706<dt> <b>ignore</b> </dt>
6707
6708<dd> Ignore the failure of this test. Allow other tests to complete.
6709Do <i>not</i> repeat this test before some the result from some
6710other test expires.
6711This option is useful for testing and collecting statistics
6712without blocking mail permanently. </dd>
6713
6714<dt> <b>enforce</b> </dt>
6715
6716<dd> Allow other tests to complete. Reject attempts to deliver mail
6717with a 550 SMTP reply, and log the helo/sender/recipient information.
6718Repeat this test the next time the client connects. </dd>
6719
6720<dt> <b>drop</b> </dt>
6721
6722<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
6723this test the next time the client connects.  </dd>
6724
6725</dl>
6726
6727<p> This feature is available in Postfix 2.8. </p>
6728
6729
6730</DD>
6731
6732<DT><b><a name="postscreen_bare_newline_enable">postscreen_bare_newline_enable</a>
6733(default: no)</b></DT><DD>
6734
6735<p> Enable "bare newline" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
6736server. These tests are expensive: a client must disconnect after
6737it passes the test, before it can talk to a real Postfix SMTP server.
6738</p>
6739
6740<p> This feature is available in Postfix 2.8.  </p>
6741
6742
6743</DD>
6744
6745<DT><b><a name="postscreen_bare_newline_ttl">postscreen_bare_newline_ttl</a>
6746(default: 30d)</b></DT><DD>
6747
6748<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
6749a successful "bare newline" SMTP protocol test. During this
6750time, the client IP address is excluded from this test. The default
6751is long because a client must disconnect after it passes the test,
6752before it can talk to a real Postfix SMTP server. </p>
6753
6754<p> Specify a non-zero time value (an integral value plus an optional
6755one-letter suffix that specifies the time unit).  Time units: s
6756(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
6757
6758<p> This feature is available in Postfix 2.8.  </p>
6759
6760
6761</DD>
6762
6763<DT><b><a name="postscreen_blacklist_action">postscreen_blacklist_action</a>
6764(default: ignore)</b></DT><DD>
6765
6766<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when an SMTP client is
6767permanently blacklisted with the <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> parameter.
6768Specify one of the following: </p>
6769
6770<dl>
6771
6772<dt> <b>ignore</b> (default) </dt>
6773
6774<dd> Ignore  this result. Allow other tests to complete.  Repeat
6775this test the next time the client connects.
6776This option is useful for testing and collecting statistics
6777without blocking mail. </dd>
6778
6779<dt> <b>enforce</b> </dt>
6780
6781<dd> Allow other tests to complete. Reject attempts to deliver mail
6782with a 550 SMTP reply, and log the helo/sender/recipient information.
6783Repeat this test the next time the client connects. </dd>
6784
6785<dt> <b>drop</b> </dt>
6786
6787<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
6788this test the next time the client connects. </dd>
6789
6790</dl>
6791
6792<p> This feature is available in Postfix 2.8. </p>
6793
6794
6795</DD>
6796
6797<DT><b><a name="postscreen_cache_cleanup_interval">postscreen_cache_cleanup_interval</a>
6798(default: 12h)</b></DT><DD>
6799
6800<p> The amount of time between <a href="postscreen.8.html">postscreen(8)</a> cache cleanup runs.
6801Cache cleanup increases the load on the cache database and should
6802therefore not be run frequently. This feature requires that the
6803cache database supports the "delete" and "sequence" operators.
6804Specify a zero interval to disable cache cleanup. </p>
6805
6806<p> After each cache cleanup run, the <a href="postscreen.8.html">postscreen(8)</a> daemon logs the
6807number of entries that were retained and dropped. A cleanup run is
6808logged as "partial" when the daemon terminates early after "<b>postfix
6809reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
6810seconds. </p>
6811
6812<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
6813(weeks).  </p>
6814
6815<p> This feature is available in Postfix 2.8. </p>
6816
6817
6818</DD>
6819
6820<DT><b><a name="postscreen_cache_map">postscreen_cache_map</a>
6821(default: btree:$<a href="postconf.5.html#data_directory">data_directory</a>/postscreen_cache)</b></DT><DD>
6822
6823<p> Persistent storage for the <a href="postscreen.8.html">postscreen(8)</a> server decisions. </p>
6824
6825<p> This feature is available in Postfix 2.8. </p>
6826
6827
6828</DD>
6829
6830<DT><b><a name="postscreen_cache_retention_time">postscreen_cache_retention_time</a>
6831(default: 7d)</b></DT><DD>
6832
6833<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will cache an expired
6834temporary whitelist entry before it is removed. This prevents clients
6835from being logged as "NEW" just because their cache entry expired
6836an hour ago. It also prevents the cache from filling up with clients
6837that passed some deep protocol test once and never came back. </p>
6838
6839<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
6840(weeks).  </p>
6841
6842<p> This feature is available in Postfix 2.8. </p>
6843
6844
6845</DD>
6846
6847<DT><b><a name="postscreen_client_connection_count_limit">postscreen_client_connection_count_limit</a>
6848(default: $<a href="postconf.5.html#smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>)</b></DT><DD>
6849
6850<p> How many simultaneous connections any client is allowed to have
6851with the <a href="postscreen.8.html">postscreen(8)</a> daemon. By default, this limit is the same
6852as with the Postfix SMTP server. Note that the triage process can
6853take several seconds, with the time spent in <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
6854delay, and with the time spent talking to the <a href="postscreen.8.html">postscreen(8)</a> built-in
6855dummy SMTP protocol engine. </p>
6856
6857<p> This feature is available in Postfix 2.8.  </p>
6858
6859
6860</DD>
6861
6862<DT><b><a name="postscreen_command_count_limit">postscreen_command_count_limit</a>
6863(default: 20)</b></DT><DD>
6864
6865<p> The limit on the total number of commands per SMTP session for
6866<a href="postscreen.8.html">postscreen(8)</a>'s built-in SMTP protocol engine.  This SMTP engine
6867defers or rejects all attempts to deliver mail, therefore there is
6868no need to enforce separate limits on the number of junk commands
6869and error commands.  </p>
6870
6871<p> This feature is available in Postfix 2.8.  </p>
6872
6873
6874</DD>
6875
6876<DT><b><a name="postscreen_command_filter">postscreen_command_filter</a>
6877(default: $<a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>)</b></DT><DD>
6878
6879<p> A mechanism to transform commands from remote SMTP clients.
6880See <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for further details. </p>
6881
6882<p> This feature is available in Postfix 2.8 and later. </p>
6883
6884
6885</DD>
6886
6887<DT><b><a name="postscreen_command_time_limit">postscreen_command_time_limit</a>
6888(default: ${stress?10}${stress:300}s)</b></DT><DD>
6889
6890<p> The time limit to read an entire command line with <a href="postscreen.8.html">postscreen(8)</a>'s
6891built-in SMTP protocol engine. </p>
6892
6893<p> This feature is available in Postfix 2.8.  </p>
6894
6895
6896</DD>
6897
6898<DT><b><a name="postscreen_disable_vrfy_command">postscreen_disable_vrfy_command</a>
6899(default: $<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a>)</b></DT><DD>
6900
6901<p> Disable the SMTP VRFY command in the <a href="postscreen.8.html">postscreen(8)</a> daemon.  See
6902<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> for details.  </p>
6903
6904<p> This feature is available in Postfix 2.8.  </p>
6905
6906
6907</DD>
6908
6909<DT><b><a name="postscreen_discard_ehlo_keyword_address_maps">postscreen_discard_ehlo_keyword_address_maps</a>
6910(default: $<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>)</b></DT><DD>
6911
6912<p> Lookup tables, indexed by the remote SMTP client address, with
6913case insensitive lists of EHLO keywords (pipelining, starttls, auth,
6914etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO response
6915to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
6916The table is not searched by hostname for robustness reasons.  </p>
6917
6918<p> This feature is available in Postfix 2.8 and later. </p>
6919
6920
6921</DD>
6922
6923<DT><b><a name="postscreen_discard_ehlo_keywords">postscreen_discard_ehlo_keywords</a>
6924(default: $<a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>)</b></DT><DD>
6925
6926<p> A case insensitive list of EHLO keywords (pipelining, starttls,
6927auth, etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO
6928response to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
6929for details. </p>
6930
6931<p> This feature is available in Postfix 2.8 and later. </p>
6932
6933
6934</DD>
6935
6936<DT><b><a name="postscreen_dnsbl_action">postscreen_dnsbl_action</a>
6937(default: ignore)</b></DT><DD>
6938
6939<p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when an SMTP client's combined
6940DNSBL score is equal to or greater than a threshold (as defined
6941with 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>
6942parameters).  Specify one of the following: </p>
6943
6944<dl>
6945
6946<dt> <b>ignore</b> (default) </dt>
6947
6948<dd> Ignore the failure of this test. Allow other tests to complete.
6949Repeat this test the next time the client connects.
6950This option is useful for testing and collecting statistics
6951without blocking mail. </dd>
6952
6953<dt> <b>enforce</b> </dt>
6954
6955<dd> Allow other tests to complete. Reject attempts to deliver mail
6956with a 550 SMTP reply, and log the helo/sender/recipient information.
6957Repeat this test the next time the client connects. </dd>
6958
6959<dt> <b>drop</b> </dt>
6960
6961<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
6962this test the next time the client connects. </dd>
6963
6964</dl>
6965
6966<p> This feature is available in Postfix 2.8. </p>
6967
6968
6969</DD>
6970
6971<DT><b><a name="postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a>
6972(default: empty)</b></DT><DD>
6973
6974<p> A mapping from actual DNSBL domain name which includes a secret
6975password, to the DNSBL domain name that postscreen will reply with
6976when it rejects mail.  When no mapping is found, the actual DNSBL
6977domain will be used. </p>
6978
6979<p> For maximal stability it is best to use a file that is read
6980into memory such as <a href="pcre_table.5.html">pcre</a>:, <a href="regexp_table.5.html">regexp</a>: or texthash: (texthash: is similar
6981to hash:, except a) there is no need to run <a href="postmap.1.html">postmap(1)</a> before the
6982file can be used, and b) texthash: does not detect changes after
6983the file is read). </p>
6984
6985<p> Example: </p>
6986
6987<pre>
6988/etc/postfix/<a href="postconf.5.html">main.cf</a>:
6989    <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> = texthash:/etc/postfix/dnsbl_reply
6990</pre>
6991
6992<pre>
6993/etc/postfix/dnsbl_reply:
6994   secret.zen.spamhaus.org	zen.spamhaus.org
6995</pre>
6996
6997<p> This feature is available in Postfix 2.8.  </p>
6998
6999
7000</DD>
7001
7002<DT><b><a name="postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
7003(default: empty)</b></DT><DD>
7004
7005<p>Optional list of DNS white/blacklist domains, filters and weight
7006factors. When the list is non-empty, the <a href="dnsblog.8.html">dnsblog(8)</a> daemon will
7007query these domains with the IP addresses of remote SMTP clients,
7008and <a href="postscreen.8.html">postscreen(8)</a> will update an SMTP client's DNSBL score with
7009each non-error reply. </p>
7010
7011<p> Caution: when postscreen rejects mail, it replies with the DNSBL
7012domain name. Use the <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> feature to hide
7013"password" information in DNSBL domain names. </p>
7014
7015<p> When a client's score is equal to or greater than the threshold
7016specified with <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>, <a href="postscreen.8.html">postscreen(8)</a> can drop
7017the connection with the SMTP client. </p>
7018
7019<p> Specify a list of domain=filter*weight entries, separated by
7020comma or whitespace.  </p>
7021
7022<ul>
7023
7024<li> <p> When no "=filter" is specified, <a href="postscreen.8.html">postscreen(8)</a> will use any
7025non-error DNSBL reply.  Otherwise, <a href="postscreen.8.html">postscreen(8)</a> uses only DNSBL
7026replies that match the filter. The filter has the form d.d.d.d,
7027where each d is a number, or a pattern inside [] that contains one
7028or more ";"-separated numbers or number..number ranges.  </p>
7029
7030<li> <p> When no "*weight" is specified, <a href="postscreen.8.html">postscreen(8)</a> increments
7031the SMTP client's DNSBL score by 1.  Otherwise, the weight must be
7032an integral number, and <a href="postscreen.8.html">postscreen(8)</a> adds the specified weight to
7033the SMTP client's DNSBL score.  Specify a negative number for
7034whitelisting.  </p>
7035
7036<li> <p> When one <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> entry produces multiple
7037DNSBL responses, <a href="postscreen.8.html">postscreen(8)</a> applies the weight at most once.
7038</p>
7039
7040</ul>
7041
7042<p> Examples: </p>
7043
7044<p> To use example.com as a high-confidence blocklist, and to
7045block mail with example.net and example.org only when both agree:
7046</p>
7047
7048<pre>
7049<a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a> = 2
7050<a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com*2, example.net, example.org
7051</pre>
7052
7053<p> To filter only DNSBL replies containing 127.0.0.4: </p>
7054
7055<pre>
7056<a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com=127.0.0.4
7057</pre>
7058
7059<p> This feature is available in Postfix 2.8. </p>
7060
7061
7062</DD>
7063
7064<DT><b><a name="postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>
7065(default: 1)</b></DT><DD>
7066
7067<p> The inclusive lower bound for blocking an SMTP client, based on
7068its combined DNSBL score as defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
7069parameter. </p>
7070
7071<p> This feature is available in Postfix 2.8.  </p>
7072
7073
7074</DD>
7075
7076<DT><b><a name="postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>
7077(default: 1h)</b></DT><DD>
7078
7079<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
7080a successful DNS blocklist test. During this time, the client IP address
7081is excluded from this test. The default is relatively short, because a
7082good client can immediately talk to a real Postfix SMTP server.
7083</p>
7084
7085<p> Specify a non-zero time value (an integral value plus an optional
7086one-letter suffix that specifies the time unit).  Time units: s
7087(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7088
7089<p> This feature is available in Postfix 2.8.  </p>
7090
7091
7092</DD>
7093
7094<DT><b><a name="postscreen_enforce_tls">postscreen_enforce_tls</a>
7095(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
7096
7097<p> Mandatory TLS: announce STARTTLS support to SMTP clients, and
7098require that clients use TLS encryption.  See smtpd_postscreen_enforce_tls
7099for details.  </p>
7100
7101<p> This feature is available in Postfix 2.8 and later.
7102Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
7103
7104
7105</DD>
7106
7107<DT><b><a name="postscreen_expansion_filter">postscreen_expansion_filter</a>
7108(default: see "postconf -d" output)</b></DT><DD>
7109
7110<p> List of characters that are permitted in <a href="postconf.5.html#postscreen_reject_footer">postscreen_reject_footer</a>
7111attribute expansions.  See <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> for further
7112details. </p>
7113
7114<p> This feature is available in Postfix 2.8 and later. </p>
7115
7116
7117</DD>
7118
7119<DT><b><a name="postscreen_forbidden_commands">postscreen_forbidden_commands</a>
7120(default: $<a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>)</b></DT><DD>
7121
7122<p> List of commands that the <a href="postscreen.8.html">postscreen(8)</a> server considers in
7123violation of the SMTP protocol. See <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a> for
7124syntax, and <a href="postconf.5.html#postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a> for possible actions.
7125</p>
7126
7127<p> This feature is available in Postfix 2.8.  </p>
7128
7129
7130</DD>
7131
7132<DT><b><a name="postscreen_greet_action">postscreen_greet_action</a>
7133(default: ignore)</b></DT><DD>
7134
7135<p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when an SMTP client speaks
7136before its turn within the time specified with the <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
7137parameter.  Specify one of the following: </p>
7138
7139<dl>
7140
7141<dt> <b>ignore</b> (default) </dt>
7142
7143<dd> Ignore the failure of this test. Allow other tests to complete.
7144Repeat this test the next time the client connects.
7145This option is useful for testing and collecting statistics
7146without blocking mail. </dd>
7147
7148<dt> <b>enforce</b> </dt>
7149
7150<dd> Allow other tests to complete. Reject attempts to deliver mail
7151with a 550 SMTP reply, and log the helo/sender/recipient information.
7152Repeat this test the next time the client connects. </dd>
7153
7154<dt> <b>drop</b> </dt>
7155
7156<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7157this test the next time the client connects. </dd>
7158
7159</dl>
7160
7161<p> In either case, <a href="postscreen.8.html">postscreen(8)</a> will not whitelist the SMTP client
7162IP address. </p>
7163
7164<p> This feature is available in Postfix 2.8. </p>
7165
7166
7167</DD>
7168
7169<DT><b><a name="postscreen_greet_banner">postscreen_greet_banner</a>
7170(default: $<a href="postconf.5.html#smtpd_banner">smtpd_banner</a>)</b></DT><DD>
7171
7172<p> The <i>text</i> in the optional "220-<i>text</i>..." server
7173response that
7174<a href="postscreen.8.html">postscreen(8)</a> sends ahead of the real Postfix SMTP server's "220
7175text..." response, in an attempt to confuse bad SMTP clients so
7176that they speak before their turn (pre-greet).  Specify an empty
7177value to disable this feature.  </p>
7178
7179<p> This feature is available in Postfix 2.8. </p>
7180
7181
7182</DD>
7183
7184<DT><b><a name="postscreen_greet_ttl">postscreen_greet_ttl</a>
7185(default: 1d)</b></DT><DD>
7186
7187<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
7188a successful PREGREET test. During this time, the client IP address
7189is excluded from this test. The default is relatively short, because
7190a good client can immediately talk to a real Postfix SMTP server. </p>
7191
7192<p> Specify a non-zero time value (an integral value plus an optional
7193one-letter suffix that specifies the time unit).  Time units: s
7194(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7195
7196<p> This feature is available in Postfix 2.8. </p>
7197
7198
7199</DD>
7200
7201<DT><b><a name="postscreen_greet_wait">postscreen_greet_wait</a>
7202(default: ${stress?2}${stress:6}s)</b></DT><DD>
7203
7204<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will wait for an SMTP
7205client to send a command before its turn, and for DNS blocklist
7206lookup results to arrive (default: up to 2 seconds under stress,
7207up to 6 seconds otherwise).  <p>
7208
7209<p> Specify a non-zero time value (an integral value plus an optional
7210one-letter suffix that specifies the time unit).  </p>
7211
7212<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
7213(weeks).  </p>
7214
7215<p> This feature is available in Postfix 2.8. </p>
7216
7217
7218</DD>
7219
7220<DT><b><a name="postscreen_helo_required">postscreen_helo_required</a>
7221(default: $<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a>)</b></DT><DD>
7222
7223<p> Require that a remote SMTP client sends HELO or EHLO before
7224commencing a MAIL transaction. </p>
7225
7226<p> This feature is available in Postfix 2.8.  </p>
7227
7228
7229</DD>
7230
7231<DT><b><a name="postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a>
7232(default: drop)</b></DT><DD>
7233
7234<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when an SMTP client sends
7235non-SMTP commands as specified with the <a href="postconf.5.html#postscreen_forbidden_commands">postscreen_forbidden_commands</a>
7236parameter.  Specify one of the following: </p>
7237
7238<dl>
7239
7240<dt> <b>ignore</b> </dt>
7241
7242<dd> Ignore the failure of this test. Allow other tests to complete.
7243Do <i>not</i> repeat this test before some the result from some
7244other test expires.
7245This option is useful for testing and collecting statistics
7246without blocking mail permanently. </dd>
7247
7248<dt> <b>enforce</b> </dt>
7249
7250<dd> Allow other tests to complete. Reject attempts to deliver mail
7251with a 550 SMTP reply, and log the helo/sender/recipient information.
7252Repeat this test the next time the client connects. </dd>
7253
7254<dt> <b>drop</b> </dt>
7255
7256<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7257this test the next time the client connects. This action is the
7258same as with the Postfix SMTP server's <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>
7259feature.  </dd>
7260
7261</dl>
7262
7263<p> This feature is available in Postfix 2.8. </p>
7264
7265
7266</DD>
7267
7268<DT><b><a name="postscreen_non_smtp_command_enable">postscreen_non_smtp_command_enable</a>
7269(default: no)</b></DT><DD>
7270
7271<p> Enable "non-SMTP command" tests in the <a href="postscreen.8.html">postscreen(8)</a> server. These
7272tests are expensive: a client must disconnect after it passes the
7273test, before it can talk to a real Postfix SMTP server. </p>
7274
7275<p> This feature is available in Postfix 2.8.  </p>
7276
7277
7278</DD>
7279
7280<DT><b><a name="postscreen_non_smtp_command_ttl">postscreen_non_smtp_command_ttl</a>
7281(default: 30d)</b></DT><DD>
7282
7283<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
7284a successful "non_smtp_command" SMTP protocol test. During this
7285time, the client IP address is excluded from this test. The default
7286is long because a client must disconnect after it passes the test,
7287before it can talk to a real Postfix SMTP server. </p>
7288
7289<p> Specify a non-zero time value (an integral value plus an optional
7290one-letter suffix that specifies the time unit).  Time units: s
7291(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7292
7293<p> This feature is available in Postfix 2.8.  </p>
7294
7295
7296</DD>
7297
7298<DT><b><a name="postscreen_pipelining_action">postscreen_pipelining_action</a>
7299(default: enforce)</b></DT><DD>
7300
7301<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when an SMTP client sends
7302multiple commands instead of sending one command and waiting for
7303the server to respond.  Specify one of the following: </p>
7304
7305<dl>
7306
7307<dt> <b>ignore</b> </dt>
7308
7309<dd> Ignore the failure of this test. Allow other tests to complete.
7310Do <i>not</i> repeat this test before some the result from some
7311other test expires.
7312This option is useful for testing and collecting statistics
7313without blocking mail permanently. </dd>
7314
7315<dt> <b>enforce</b> </dt>
7316
7317<dd> Allow other tests to complete. Reject attempts to deliver mail
7318with a 550 SMTP reply, and log the helo/sender/recipient information.
7319Repeat this test the next time the client connects. </dd>
7320
7321<dt> <b>drop</b> </dt>
7322
7323<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7324this test the next time the client connects. </dd>
7325
7326</dl>
7327
7328<p> This feature is available in Postfix 2.8. </p>
7329
7330
7331</DD>
7332
7333<DT><b><a name="postscreen_pipelining_enable">postscreen_pipelining_enable</a>
7334(default: no)</b></DT><DD>
7335
7336<p> Enable "pipelining" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
7337server. These tests are expensive: a good client must disconnect
7338after it passes the test, before it can talk to a real Postfix SMTP
7339server. </p>
7340
7341<p> This feature is available in Postfix 2.8.  </p>
7342
7343
7344</DD>
7345
7346<DT><b><a name="postscreen_pipelining_ttl">postscreen_pipelining_ttl</a>
7347(default: 30d)</b></DT><DD>
7348
7349<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
7350a successful "pipelining" SMTP protocol test. During this time, the
7351client IP address is excluded from this test. The default is
7352long because a good client must disconnect after it passes the test,
7353before it can talk to a real Postfix SMTP server. </p>
7354
7355<p> Specify a non-zero time value (an integral value plus an optional
7356one-letter suffix that specifies the time unit).  Time units: s
7357(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7358
7359<p> This feature is available in Postfix 2.8.  </p>
7360
7361
7362</DD>
7363
7364<DT><b><a name="postscreen_post_queue_limit">postscreen_post_queue_limit</a>
7365(default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
7366
7367<p> The number of clients that can be waiting for service from a
7368real SMTP server process. When this queue is full, all clients will
7369receive a 421 reponse. </p>
7370
7371<p> This feature is available in Postfix 2.8. </p>
7372
7373
7374</DD>
7375
7376<DT><b><a name="postscreen_pre_queue_limit">postscreen_pre_queue_limit</a>
7377(default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
7378
7379<p> The number of non-whitelisted clients that can be waiting for
7380a decision whether they will receive service from a real SMTP server
7381process. When this queue is full, all non-whitelisted clients will
7382receive a 421 reponse. </p>
7383
7384<p> This feature is available in Postfix 2.8. </p>
7385
7386
7387</DD>
7388
7389<DT><b><a name="postscreen_reject_footer">postscreen_reject_footer</a>
7390(default: $<a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>)</b></DT><DD>
7391
7392<p> Optional information that is appended after a 4XX or 5XX server
7393response. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> for further details.  </p>
7394
7395<p> This feature is available in Postfix 2.8 and later. </p>
7396
7397
7398</DD>
7399
7400<DT><b><a name="postscreen_tls_security_level">postscreen_tls_security_level</a>
7401(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
7402
7403<p> The SMTP TLS security level for the <a href="postscreen.8.html">postscreen(8)</a> server; when
7404a non-empty value is specified, this overrides the obsolete parameters
7405<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>
7406for details. </p>
7407
7408<p> This feature is available in Postfix 2.8 and later. </p>
7409
7410
7411</DD>
7412
7413<DT><b><a name="postscreen_use_tls">postscreen_use_tls</a>
7414(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
7415
7416<p> Opportunistic TLS: announce STARTTLS support to SMTP clients,
7417but do not require that clients use TLS encryption. </p>
7418
7419<p> This feature is available in Postfix 2.8 and later.
7420Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
7421
7422
7423</DD>
7424
7425<DT><b><a name="postscreen_watchdog_timeout">postscreen_watchdog_timeout</a>
7426(default: 10s)</b></DT><DD>
7427
7428<p> How much time a <a href="postscreen.8.html">postscreen(8)</a> process may take to respond to
7429an SMTP client command or to perform a cache operation before it
7430is terminated by a built-in watchdog timer.  This is a safety
7431mechanism that prevents <a href="postscreen.8.html">postscreen(8)</a> from becoming non-responsive
7432due to a bug in Postfix itself or in system software.  To avoid
7433false alarms and unnecessary cache corruption this limit cannot be
7434set under 10s.  </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="prepend_delivered_header">prepend_delivered_header</a>
7446(default: command, file, forward)</b></DT><DD>
7447
7448<p> The message delivery contexts where the Postfix <a href="local.8.html">local(8)</a> delivery
7449agent prepends a Delivered-To:  message header with the address
7450that the mail was delivered to. This information is used for mail
7451delivery loop detection.  </p>
7452
7453<p>
7454By default, the Postfix local delivery agent prepends a Delivered-To:
7455header when forwarding mail and when delivering to file (mailbox)
7456and command. Turning off the Delivered-To: header when forwarding
7457mail is not recommended.
7458</p>
7459
7460<p>
7461Specify zero or more of <b>forward</b>, <b>file</b>, or <b>command</b>.
7462</p>
7463
7464<p>
7465Example:
7466</p>
7467
7468<pre>
7469<a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a> = forward
7470</pre>
7471
7472
7473</DD>
7474
7475<DT><b><a name="process_id">process_id</a>
7476(read-only)</b></DT><DD>
7477
7478<p>
7479The process ID of a Postfix command or daemon process.
7480</p>
7481
7482
7483</DD>
7484
7485<DT><b><a name="process_id_directory">process_id_directory</a>
7486(default: pid)</b></DT><DD>
7487
7488<p>
7489The location of Postfix PID files relative to $<a href="postconf.5.html#queue_directory">queue_directory</a>.
7490This is a read-only parameter.
7491</p>
7492
7493
7494</DD>
7495
7496<DT><b><a name="process_name">process_name</a>
7497(read-only)</b></DT><DD>
7498
7499<p>
7500The process name of a Postfix command or daemon process.
7501</p>
7502
7503
7504</DD>
7505
7506<DT><b><a name="propagate_unmatched_extensions">propagate_unmatched_extensions</a>
7507(default: canonical, virtual)</b></DT><DD>
7508
7509<p>
7510What address lookup tables copy an address extension from the lookup
7511key to the lookup result.
7512</p>
7513
7514<p>
7515For example, with a <a href="virtual.5.html">virtual(5)</a> mapping of "<i>joe@example.com =&gt;
7516joe.user@example.net</i>", the address "<i>joe+foo@example.com</i>"
7517would rewrite to "<i>joe.user+foo@example.net</i>".
7518</p>
7519
7520<p>
7521Specify zero or more of <b>canonical</b>, <b>virtual</b>, <b>alias</b>,
7522<b>forward</b>, <b>include</b> or <b>generic</b>. These cause
7523address extension
7524propagation 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,
7525with <a href="local.8.html">local(8)</a> .forward and :include: file lookups, and with <a href="smtp.8.html">smtp(8)</a>
7526generic maps, respectively.  </p>
7527
7528<p>
7529Note: enabling this feature for types other than <b>canonical</b>
7530and <b>virtual</b> is likely to cause problems when mail is forwarded
7531to other sites, especially with mail that is sent to a mailing list
7532exploder address.
7533</p>
7534
7535<p>
7536Examples:
7537</p>
7538
7539<pre>
7540<a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual, alias,
7541        forward, include
7542<a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual
7543</pre>
7544
7545
7546</DD>
7547
7548<DT><b><a name="proxy_interfaces">proxy_interfaces</a>
7549(default: empty)</b></DT><DD>
7550
7551<p>
7552The network interface addresses that this mail system receives mail
7553on by way of a proxy or network address translation unit.
7554</p>
7555
7556<p>
7557This feature is available in Postfix 2.0 and later.
7558</p>
7559
7560<p> You must specify your "outside" proxy/NAT addresses when your
7561system is a backup MX host for other domains, otherwise mail delivery
7562loops will happen when the primary MX host is down.  </p>
7563
7564<p>
7565Example:
7566</p>
7567
7568<pre>
7569<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> = 1.2.3.4
7570</pre>
7571
7572
7573</DD>
7574
7575<DT><b><a name="proxy_read_maps">proxy_read_maps</a>
7576(default: see "postconf -d" output)</b></DT><DD>
7577
7578<p>
7579The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
7580access for the read-only service.
7581Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.
7582</p>
7583
7584<p>
7585This feature is available in Postfix 2.0 and later.
7586</p>
7587
7588
7589</DD>
7590
7591<DT><b><a name="proxy_write_maps">proxy_write_maps</a>
7592(default: see "postconf -d" output)</b></DT><DD>
7593
7594<p> The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
7595access for the read-write service. Postfix-owned local database
7596files should be stored under the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>.
7597Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.  </p>
7598
7599<p>
7600This feature is available in Postfix 2.5 and later.
7601</p>
7602
7603
7604</DD>
7605
7606<DT><b><a name="proxymap_service_name">proxymap_service_name</a>
7607(default: proxymap)</b></DT><DD>
7608
7609<p> The name of the proxymap read-only table lookup service.  This
7610service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon. </p>
7611
7612<p> This feature is available in Postfix 2.6 and later. </p>
7613
7614
7615</DD>
7616
7617<DT><b><a name="proxywrite_service_name">proxywrite_service_name</a>
7618(default: proxywrite)</b></DT><DD>
7619
7620<p> The name of the proxywrite read-write table lookup service.
7621This service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon.
7622</p>
7623
7624<p> This feature is available in Postfix 2.6 and later. </p>
7625
7626
7627</DD>
7628
7629<DT><b><a name="qmgr_clog_warn_time">qmgr_clog_warn_time</a>
7630(default: 300s)</b></DT><DD>
7631
7632<p>
7633The minimal delay between warnings that a specific destination is
7634clogging up the Postfix <a href="QSHAPE_README.html#active_queue">active queue</a>. Specify 0 to disable.
7635</p>
7636
7637<p>
7638This feature is enabled with the <a href="postconf.5.html#helpful_warnings">helpful_warnings</a> parameter.
7639</p>
7640
7641<p>
7642This feature is available in Postfix 2.0 and later.
7643</p>
7644
7645
7646</DD>
7647
7648<DT><b><a name="qmgr_daemon_timeout">qmgr_daemon_timeout</a>
7649(default: 1000s)</b></DT><DD>
7650
7651<p> How much time a Postfix queue manager process may take to handle
7652a request before it is terminated by a built-in watchdog timer.
7653</p>
7654
7655<p>
7656Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
7657The default time unit is s (seconds).
7658</p>
7659
7660<p> This feature is available in Postfix 2.8 and later.  </p>
7661
7662
7663</DD>
7664
7665<DT><b><a name="qmgr_fudge_factor">qmgr_fudge_factor</a>
7666(default: 100)</b></DT><DD>
7667
7668<p>
7669Obsolete feature: the percentage of delivery resources that a busy
7670mail system will use up for delivery of a large mailing  list
7671message.
7672</p>
7673
7674<p>
7675This feature exists only in the <a href="qmgr.8.html">oqmgr(8)</a> old queue manager. The
7676current queue manager solves the problem in a better way.
7677</p>
7678
7679
7680</DD>
7681
7682<DT><b><a name="qmgr_ipc_timeout">qmgr_ipc_timeout</a>
7683(default: 60s)</b></DT><DD>
7684
7685<p> The time limit for the queue manager to send or receive information
7686over an internal communication channel.  The purpose is to break
7687out of deadlock situations. If the time limit is exceeded the
7688software either retries or aborts the operation. </p>
7689
7690<p>
7691Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
7692The default time unit is s (seconds).
7693</p>
7694
7695<p> This feature is available in Postfix 2.8 and later.  </p>
7696
7697
7698</DD>
7699
7700<DT><b><a name="qmgr_message_active_limit">qmgr_message_active_limit</a>
7701(default: 20000)</b></DT><DD>
7702
7703<p>
7704The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>.
7705</p>
7706
7707
7708</DD>
7709
7710<DT><b><a name="qmgr_message_recipient_limit">qmgr_message_recipient_limit</a>
7711(default: 20000)</b></DT><DD>
7712
7713<p> The maximal number of recipients held in memory by the Postfix
7714queue manager, and the maximal size of the size of the short-term,
7715in-memory "dead" destination status cache.  </p>
7716
7717
7718</DD>
7719
7720<DT><b><a name="qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>
7721(default: 10)</b></DT><DD>
7722
7723<p>
7724The minimal number of in-memory recipients for any message. This
7725takes priority over any other in-memory recipient limits (i.e.,
7726the global <a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> and the per transport
7727_recipient_limit) if necessary. The minimum value allowed for this
7728parameter is 1.
7729</p>
7730
7731
7732</DD>
7733
7734<DT><b><a name="qmqpd_authorized_clients">qmqpd_authorized_clients</a>
7735(default: empty)</b></DT><DD>
7736
7737<p>
7738What clients are allowed to connect to the QMQP server port.
7739</p>
7740
7741<p>
7742By default, no client is allowed to use the service. This is
7743because the QMQP server will relay mail to any destination.
7744</p>
7745
7746<p>
7747Specify a list of client patterns. A list pattern specifies a host
7748name, a domain name, an internet address, or a network/mask pattern,
7749where the mask specifies the number of bits in the network part.
7750When a pattern specifies a file name, its contents are substituted
7751for the file name; when a pattern is a "<a href="DATABASE_README.html">type:table</a>" table specification,
7752table lookup is used instead.  </p>
7753
7754<p>
7755Patterns are separated by whitespace and/or commas. In order to
7756reverse the result, precede a pattern with an
7757exclamation point (!). The form "!/file/name" is supported only
7758in Postfix version 2.4 and later.
7759</p>
7760
7761<p>
7762Example:
7763</p>
7764
7765<pre>
7766<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a> = !192.168.0.1, 192.168.0.0/24
7767</pre>
7768
7769
7770</DD>
7771
7772<DT><b><a name="qmqpd_client_port_logging">qmqpd_client_port_logging</a>
7773(default: no)</b></DT><DD>
7774
7775<p> Enable logging of the remote QMQP client port in addition to
7776the hostname and IP address. The logging format is "host[address]:port".
7777</p>
7778
7779<p> This feature is available in Postfix 2.5 and later. </p>
7780
7781
7782</DD>
7783
7784<DT><b><a name="qmqpd_error_delay">qmqpd_error_delay</a>
7785(default: 1s)</b></DT><DD>
7786
7787<p>
7788How long the QMQP server will pause before sending a negative reply
7789to the client. The purpose is to slow down confused or malicious
7790clients.
7791</p>
7792
7793<p>
7794Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
7795The default time unit is s (seconds).
7796</p>
7797
7798
7799</DD>
7800
7801<DT><b><a name="qmqpd_timeout">qmqpd_timeout</a>
7802(default: 300s)</b></DT><DD>
7803
7804<p>
7805The time limit for sending or receiving information over the network.
7806If a read or write operation blocks for more than $<a href="postconf.5.html#qmqpd_timeout">qmqpd_timeout</a>
7807seconds the QMQP server gives up and disconnects.
7808</p>
7809
7810<p>
7811Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
7812The default time unit is s (seconds).
7813</p>
7814
7815
7816</DD>
7817
7818<DT><b><a name="queue_directory">queue_directory</a>
7819(default: see "postconf -d" output)</b></DT><DD>
7820
7821<p>
7822The location of the Postfix top-level queue directory. This is the
7823root directory of Postfix daemon processes that run chrooted.
7824</p>
7825
7826
7827</DD>
7828
7829<DT><b><a name="queue_file_attribute_count_limit">queue_file_attribute_count_limit</a>
7830(default: 100)</b></DT><DD>
7831
7832<p>
7833The maximal number of (name=value) attributes that may be stored
7834in a Postfix queue file. The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a>
7835server.
7836</p>
7837
7838<p>
7839This feature is available in Postfix 2.0 and later.
7840</p>
7841
7842
7843</DD>
7844
7845<DT><b><a name="queue_minfree">queue_minfree</a>
7846(default: 0)</b></DT><DD>
7847
7848<p>
7849The minimal amount of free space in bytes in the queue file system
7850that is needed to receive mail.  This is currently used by the SMTP
7851server to decide if it will accept any mail at all.
7852</p>
7853
7854<p>
7855By default, the Postfix SMTP server rejects MAIL FROM commands when
7856the amount of free space is less than 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>
7857(Postfix version 2.1 and later).
7858To specify a higher minimum free space limit, specify a <a href="postconf.5.html#queue_minfree">queue_minfree</a>
7859value that is at least 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>.
7860</p>
7861
7862<p>
7863With Postfix versions 2.0 and earlier, a <a href="postconf.5.html#queue_minfree">queue_minfree</a> value of
7864zero means there is no minimum required amount of free space.
7865</p>
7866
7867
7868</DD>
7869
7870<DT><b><a name="queue_run_delay">queue_run_delay</a>
7871(default: 300s)</b></DT><DD>
7872
7873<p>
7874The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue manager;
7875prior to Postfix 2.4 the default value was 1000s.
7876</p>
7877
7878<p> This parameter should be set less than or equal to
7879$<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>
7880
7881<p>
7882Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
7883The default time unit is s (seconds).
7884</p>
7885
7886
7887</DD>
7888
7889<DT><b><a name="queue_service_name">queue_service_name</a>
7890(default: qmgr)</b></DT><DD>
7891
7892<p>
7893The name of the <a href="qmgr.8.html">qmgr(8)</a> service. This service manages the Postfix
7894queue and schedules delivery requests.
7895</p>
7896
7897<p>
7898This feature is available in Postfix 2.0 and later.
7899</p>
7900
7901
7902</DD>
7903
7904<DT><b><a name="rbl_reply_maps">rbl_reply_maps</a>
7905(default: empty)</b></DT><DD>
7906
7907<p>
7908Optional lookup tables with RBL response templates. The tables are
7909indexed by the RBL domain name. By default, Postfix uses the default
7910template as specified with the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> configuration
7911parameter. See there for a discussion of the syntax of RBL reply
7912templates.
7913</p>
7914
7915<p>
7916This feature is available in Postfix 2.0 and later.
7917</p>
7918
7919
7920</DD>
7921
7922<DT><b><a name="readme_directory">readme_directory</a>
7923(default: see "postconf -d" output)</b></DT><DD>
7924
7925<p>
7926The location of Postfix README files that describe how to build,
7927configure or operate a specific Postfix subsystem or feature.
7928</p>
7929
7930
7931</DD>
7932
7933<DT><b><a name="receive_override_options">receive_override_options</a>
7934(default: empty)</b></DT><DD>
7935
7936<p> Enable or disable recipient validation, built-in content
7937filtering, or address mapping. Typically, these are specified in
7938<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
7939<a href="pickup.8.html">pickup(8)</a> daemons. </p>
7940
7941<p> Specify zero or more of the following options.  The options
7942override <a href="postconf.5.html">main.cf</a> settings and are either implemented by <a href="smtpd.8.html">smtpd(8)</a>,
7943<a href="qmqpd.8.html">qmqpd(8)</a>, or <a href="pickup.8.html">pickup(8)</a> themselves, or they are forwarded to the
7944cleanup server.  </p>
7945
7946<dl>
7947
7948<dt><b><a name="no_unknown_recipient_checks">no_unknown_recipient_checks</a></b></dt>
7949
7950<dd>Do not try to reject unknown recipients (SMTP server only).
7951This is typically specified AFTER an external content filter.
7952</dd>
7953
7954<dt><b><a name="no_address_mappings">no_address_mappings</a></b></dt>
7955
7956<dd>Disable canonical address mapping, virtual alias map expansion,
7957address masquerading, and automatic BCC (blind carbon-copy)
7958recipients. This is typically specified BEFORE an external content
7959filter. </dd>
7960
7961<dt><b><a name="no_header_body_checks">no_header_body_checks</a></b></dt>
7962
7963<dd>Disable header/body_checks. This is typically specified AFTER
7964an external content filter. </dd>
7965
7966<dt><b><a name="no_milters">no_milters</a></b></dt>
7967
7968<dd>Disable Milter (mail filter) applications. This is typically
7969specified AFTER an external content filter. </dd>
7970
7971</dl>
7972
7973<p>
7974Note: when the "BEFORE content filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a>
7975setting is specified in the <a href="postconf.5.html">main.cf</a> file, specify the "AFTER content
7976filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a> setting in <a href="master.5.html">master.cf</a> (and vice
7977versa).
7978</p>
7979
7980<p>
7981Examples:
7982</p>
7983
7984<pre>
7985<a href="postconf.5.html#receive_override_options">receive_override_options</a> =
7986    <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>
7987<a href="postconf.5.html#receive_override_options">receive_override_options</a> = <a href="postconf.5.html#no_address_mappings">no_address_mappings</a>
7988</pre>
7989
7990<p>
7991This feature is available in Postfix 2.1 and later.
7992</p>
7993
7994
7995</DD>
7996
7997<DT><b><a name="recipient_bcc_maps">recipient_bcc_maps</a>
7998(default: empty)</b></DT><DD>
7999
8000<p>
8001Optional BCC (blind carbon-copy) address lookup tables, indexed by
8002recipient address.  The BCC address (multiple results are not
8003supported) is added when mail enters from outside of Postfix.
8004</p>
8005
8006<p>
8007This feature is available in Postfix 2.1 and later.
8008</p>
8009
8010<p>
8011The table search order is as follows:
8012</p>
8013
8014<ul>
8015
8016<li> Look up the "user+extension@domain.tld" address including the
8017optional address extension.
8018
8019<li> Look up the "user@domain.tld" address without the optional
8020address extension.
8021
8022<li> Look up the "user+extension" address local part when the
8023recipient 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>
8024or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
8025
8026<li> Look up the "user" address local part when the recipient domain
8027equals $<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>.
8028
8029<li> Look up the "@domain.tld" part.
8030
8031</ul>
8032
8033<p>
8034Specify the types and names of databases to use.  After change,
8035run "<b>postmap /etc/postfix/recipient_bcc</b>".
8036</p>
8037
8038<p>
8039Note: if mail to the BCC address bounces it will be returned to
8040the sender.
8041</p>
8042
8043<p> Note: automatic BCC recipients are produced only for new mail.
8044To avoid mailer loops, automatic BCC recipients are not generated
8045after Postfix forwards mail internally, or after Postfix generates
8046mail itself. </p>
8047
8048<p>
8049Example:
8050</p>
8051
8052<pre>
8053<a href="postconf.5.html#recipient_bcc_maps">recipient_bcc_maps</a> = hash:/etc/postfix/recipient_bcc
8054</pre>
8055
8056
8057</DD>
8058
8059<DT><b><a name="recipient_canonical_classes">recipient_canonical_classes</a>
8060(default: envelope_recipient, header_recipient)</b></DT><DD>
8061
8062<p> What addresses are subject to <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address
8063mapping.  By default, <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address mapping is
8064applied to envelope recipient addresses, and to header recipient
8065addresses.  </p>
8066
8067<p> Specify one or more of: envelope_recipient, header_recipient
8068</p>
8069
8070<p> This feature is available in Postfix 2.2 and later. </p>
8071
8072
8073</DD>
8074
8075<DT><b><a name="recipient_canonical_maps">recipient_canonical_maps</a>
8076(default: empty)</b></DT><DD>
8077
8078<p>
8079Optional address mapping lookup tables for envelope and header
8080recipient addresses.
8081The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
8082</p>
8083
8084<p>
8085Note: $<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>.
8086</p>
8087
8088<p>
8089Example:
8090</p>
8091
8092<pre>
8093<a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> = hash:/etc/postfix/recipient_canonical
8094</pre>
8095
8096
8097</DD>
8098
8099<DT><b><a name="recipient_delimiter">recipient_delimiter</a>
8100(default: empty)</b></DT><DD>
8101
8102<p>
8103The separator between user names and address extensions (user+foo).
8104See <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
8105effects this has on aliases, canonical, virtual, relocated and
8106on .forward file lookups.  Basically, the software tries user+foo
8107and .forward+foo before trying user and .forward.
8108</p>
8109
8110<p>
8111Example:
8112</p>
8113
8114<pre>
8115<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +
8116</pre>
8117
8118
8119</DD>
8120
8121<DT><b><a name="reject_code">reject_code</a>
8122(default: 554)</b></DT><DD>
8123
8124<p>
8125The numerical Postfix SMTP server response code when a remote SMTP
8126client request is rejected by the "reject" restriction.
8127</p>
8128
8129<p>
8130Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
8131</p>
8132
8133
8134</DD>
8135
8136<DT><b><a name="reject_tempfail_action">reject_tempfail_action</a>
8137(default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>)</b></DT><DD>
8138
8139<p> The Postfix SMTP server's action when a reject-type restriction
8140fails due to a temporary error condition. Specify "defer" to defer
8141the remote SMTP client request immediately. With the default
8142"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
8143for opportunities to reject mail, and defers the client request
8144only if it would otherwise be accepted. </p>
8145
8146<p> For finer control, see: <a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>,
8147<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>,
8148and <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>.  </p>
8149
8150<p> This feature is available in Postfix 2.6 and later. </p>
8151
8152
8153</DD>
8154
8155<DT><b><a name="relay_clientcerts">relay_clientcerts</a>
8156(default: empty)</b></DT><DD>
8157
8158<p> List of tables with remote SMTP client-certificate fingerprints
8159for which the Postfix SMTP server will allow access with the
8160<a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> feature.
8161The fingerprint digest algorithm is configurable via the
8162<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
8163Postfix version 2.5).  </p>
8164
8165<p> Postfix lookup tables are in the form of (key, value) pairs.
8166Since we only need the key, the value can be chosen freely, e.g.
8167the name of the user or host:
8168D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home </p>
8169
8170<p> Example: </p>
8171
8172<pre>
8173<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a> = hash:/etc/postfix/relay_clientcerts
8174</pre>
8175
8176<p>For more fine-grained control, use <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> to select
8177an appropriate <a href="access.5.html">access(5)</a> policy for each client.
8178See <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a>.</p>
8179
8180<p>This feature is available with Postfix version 2.2.</p>
8181
8182
8183</DD>
8184
8185<DT><b><a name="relay_destination_concurrency_limit">relay_destination_concurrency_limit</a>
8186(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
8187
8188<p> The maximal number of parallel deliveries to the same destination
8189via the relay message delivery transport. This limit is enforced
8190by the queue manager. The message delivery transport name is the
8191first field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
8192
8193<p> This feature is available in Postfix 2.0 and later. </p>
8194
8195
8196</DD>
8197
8198<DT><b><a name="relay_destination_recipient_limit">relay_destination_recipient_limit</a>
8199(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
8200
8201<p> The maximal number of recipients per message for the relay
8202message delivery transport. This limit is enforced by the queue
8203manager. The message delivery transport name is the first field in
8204the entry in the <a href="master.5.html">master.cf</a> file.  </p>
8205
8206<p> Setting this parameter to a value of 1 changes the meaning of
8207<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> from concurrency per domain
8208into concurrency per recipient.  </p>
8209
8210<p> This feature is available in Postfix 2.0 and later. </p>
8211
8212
8213</DD>
8214
8215<DT><b><a name="relay_domains">relay_domains</a>
8216(default: $<a href="postconf.5.html#mydestination">mydestination</a>)</b></DT><DD>
8217
8218<p> What destination domains (and subdomains thereof) this system
8219will relay mail to. Subdomain matching is controlled with the
8220<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter. For details about how
8221the <a href="postconf.5.html#relay_domains">relay_domains</a> value is used, see the description of the
8222<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
8223restrictions.  </p>
8224
8225<p> Domains that match $<a href="postconf.5.html#relay_domains">relay_domains</a> are delivered with the
8226$<a href="postconf.5.html#relay_transport">relay_transport</a> mail delivery transport. The SMTP server validates
8227recipient addresses with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> and rejects non-existent
8228recipients. See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the
8229<a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.  </p>
8230
8231<p> Note: Postfix will not automatically forward mail for domains
8232that list this system as their primary or backup MX host. See the
8233<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>
8234
8235<p> Specify a list of host or domain names, "/file/name" patterns
8236or "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
8237Continue long lines by starting the next line with whitespace. A
8238"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
8239lookup table is matched when a (parent) domain appears as lookup
8240key. Specify "!pattern" to exclude a domain from the list. The form
8241"!/file/name" is supported only in Postfix version 2.4 and later.
8242</p>
8243
8244
8245</DD>
8246
8247<DT><b><a name="relay_domains_reject_code">relay_domains_reject_code</a>
8248(default: 554)</b></DT><DD>
8249
8250<p>
8251The numerical Postfix SMTP server response code when a client
8252request is rejected by the <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> recipient
8253restriction.
8254</p>
8255
8256<p>
8257Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
8258</p>
8259
8260
8261</DD>
8262
8263<DT><b><a name="relay_recipient_maps">relay_recipient_maps</a>
8264(default: empty)</b></DT><DD>
8265
8266<p> Optional lookup tables with all valid addresses in the domains
8267that match $<a href="postconf.5.html#relay_domains">relay_domains</a>. Specify @domain as a wild-card for
8268domains that have no valid recipient list, and become a source of
8269backscatter mail: Postfix accepts spam for non-existent recipients
8270and then floods innocent people with undeliverable mail.  Technically,
8271tables
8272listed with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> are used as lists: Postfix needs
8273to know only if a lookup string is found or not, but it does not
8274use the result from table lookup.  </p>
8275
8276<p>
8277If this parameter is non-empty, then the Postfix SMTP server will reject
8278mail to unknown relay users. This feature is off by default.
8279</p>
8280
8281<p>
8282See 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>
8283file.
8284</p>
8285
8286<p>
8287Example:
8288</p>
8289
8290<pre>
8291<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> = hash:/etc/postfix/relay_recipients
8292</pre>
8293
8294<p>
8295This feature is available in Postfix 2.0 and later.
8296</p>
8297
8298
8299</DD>
8300
8301<DT><b><a name="relay_transport">relay_transport</a>
8302(default: relay)</b></DT><DD>
8303
8304<p>
8305The default mail delivery transport and next-hop destination for
8306remote delivery to domains listed with $<a href="postconf.5.html#relay_domains">relay_domains</a>. In order of
8307decreasing precedence, the nexthop destination is taken from
8308$<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
8309from the recipient domain. This information can be overruled with
8310the <a href="transport.5.html">transport(5)</a> table.
8311</p>
8312
8313<p>
8314Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
8315is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
8316The <i>:nexthop</i> destination is optional; its syntax is documented
8317in the manual page of the corresponding delivery agent.
8318</p>
8319
8320<p>
8321See 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>
8322file.
8323</p>
8324
8325<p>
8326This feature is available in Postfix 2.0 and later.
8327</p>
8328
8329
8330</DD>
8331
8332<DT><b><a name="relayhost">relayhost</a>
8333(default: empty)</b></DT><DD>
8334
8335<p>
8336The next-hop destination of non-local mail; overrides non-local
8337domains in recipient addresses. This information is overruled with
8338<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>,
8339<a href="postconf.5.html#default_transport">default_transport</a>, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
8340and with the <a href="transport.5.html">transport(5)</a> table.
8341</p>
8342
8343<p>
8344On an intranet, specify the organizational domain name. If your
8345internal DNS uses no MX records, specify the name of the intranet
8346gateway host instead.
8347</p>
8348
8349<p>
8350In the case of SMTP, specify a domain name, hostname, hostname:port,
8351[hostname]:port, [hostaddress] or [hostaddress]:port. The form
8352[hostname] turns off MX lookups.
8353</p>
8354
8355<p>
8356If you're connected via UUCP, see the <a href="UUCP_README.html">UUCP_README</a> file for useful
8357information.
8358</p>
8359
8360<p>
8361Examples:
8362</p>
8363
8364<pre>
8365<a href="postconf.5.html#relayhost">relayhost</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
8366<a href="postconf.5.html#relayhost">relayhost</a> = [gateway.example.com]
8367<a href="postconf.5.html#relayhost">relayhost</a> = uucphost
8368<a href="postconf.5.html#relayhost">relayhost</a> = [an.ip.add.ress]
8369</pre>
8370
8371
8372</DD>
8373
8374<DT><b><a name="relocated_maps">relocated_maps</a>
8375(default: empty)</b></DT><DD>
8376
8377<p>
8378Optional lookup tables with new contact information for users or
8379domains that no longer exist.  The table format and lookups are
8380documented in <a href="relocated.5.html">relocated(5)</a>.
8381</p>
8382
8383<p>
8384If you use this feature, run "<b>postmap /etc/postfix/relocated</b>" to
8385build the necessary DBM or DB file after change, then "<b>postfix
8386reload</b>" to make the changes visible.
8387</p>
8388
8389<p>
8390Examples:
8391</p>
8392
8393<pre>
8394<a href="postconf.5.html#relocated_maps">relocated_maps</a> = dbm:/etc/postfix/relocated
8395<a href="postconf.5.html#relocated_maps">relocated_maps</a> = hash:/etc/postfix/relocated
8396</pre>
8397
8398
8399</DD>
8400
8401<DT><b><a name="remote_header_rewrite_domain">remote_header_rewrite_domain</a>
8402(default: empty)</b></DT><DD>
8403
8404<p> Don't rewrite message headers from remote clients at all when
8405this parameter is empty; otherwise, rewrite message headers and
8406append the specified domain name to incomplete addresses.  The
8407<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter controls what clients Postfix
8408considers local. </p>
8409
8410<p> Examples:  </p>
8411
8412<p> The safe setting: append "domain.invalid" to incomplete header
8413addresses from remote SMTP clients, so that those addresses cannot
8414be confused with local addresses. </p>
8415
8416<blockquote>
8417<pre>
8418<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> = domain.invalid
8419</pre>
8420</blockquote>
8421
8422<p> The default, purist, setting: don't rewrite headers from remote
8423clients at all. </p>
8424
8425<blockquote>
8426<pre>
8427<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> =
8428</pre>
8429</blockquote>
8430
8431
8432</DD>
8433
8434<DT><b><a name="require_home_directory">require_home_directory</a>
8435(default: no)</b></DT><DD>
8436
8437<p>
8438Require that a <a href="local.8.html">local(8)</a> recipient's home directory exists
8439before mail delivery is attempted. By default this test is disabled.
8440It can be useful for environments that import home directories to
8441the mail server (IMPORTING HOME DIRECTORIES IS NOT RECOMMENDED).
8442</p>
8443
8444
8445</DD>
8446
8447<DT><b><a name="reset_owner_alias">reset_owner_alias</a>
8448(default: no)</b></DT><DD>
8449
8450<p> Reset the <a href="local.8.html">local(8)</a> delivery agent's idea of the owner-alias
8451attribute, when delivering mail to a child alias that does not have
8452its own owner alias. </p>
8453
8454<p> This feature is available in Postfix 2.8 and later. With older
8455Postfix releases, the behavior is as if this parameter is set to
8456"yes". </p>
8457
8458<p> As documented in <a href="aliases.5.html">aliases(5)</a>, when an alias <i>name</i> has a
8459companion alias named owner-<i>name</i>, delivery errors will be
8460reported to the owner alias instead of the sender. This configuration
8461is recommended for mailing lists. <p>
8462
8463<p> A less known property of the owner alias is that it also forces
8464the <a href="local.8.html">local(8)</a> delivery agent to write local and remote addresses
8465from alias expansion to a new queue file, instead of attempting to
8466deliver mail to local addresses as soon as they come out of alias
8467expansion.  </p>
8468
8469<p> Writing local addresses from alias expansion to a new queue
8470file allows for robust handling of temporary delivery errors: errors
8471with one local member have no effect on deliveries to other members
8472of the list.  On the other hand, delivery to local addresses as
8473soon as they come out of alias expansion is fragile: a temporary
8474error with one local address from alias expansion will cause the
8475entire alias to be expanded repeatedly until the error goes away,
8476or until the message expires in the queue.  In that case, a problem
8477with one list member results in multiple message deliveries to other
8478list members. </p>
8479
8480<p> The default behavior of Postfix 2.8 and later is to keep the
8481owner-alias attribute of the parent alias, when delivering mail to
8482a child alias that does not have its own owner alias. Then, local
8483addresses from that child alias will be written to a new queue file,
8484and a temporary error with one local address will not affect delivery
8485to other mailing list members. </p>
8486
8487<p> Unfortunately, older Postfix releases reset the owner-alias
8488attribute when delivering mail to a child alias that does not have
8489its own owner alias.  The <a href="local.8.html">local(8)</a> delivery agent then attempts to
8490deliver local addresses as soon as they come out of child alias
8491expansion.  If delivery to any address from child alias expansion
8492fails with a temporary error condition, the entire mailing list may
8493be expanded repeatedly until the mail expires in the queue, resulting
8494in multiple deliveries of the same message to mailing list members.
8495</p>
8496
8497
8498</DD>
8499
8500<DT><b><a name="resolve_dequoted_address">resolve_dequoted_address</a>
8501(default: yes)</b></DT><DD>
8502
8503<p> Resolve a recipient address safely instead of correctly, by
8504looking inside quotes.  </p>
8505
8506<p> By default, the Postfix address resolver does not quote the
8507address localpart as per <a href="http://tools.ietf.org/html/rfc822">RFC 822</a>, so that additional @ or % or !
8508operators remain visible. This behavior is safe but it is also
8509technically incorrect.  </p>
8510
8511<p> If you specify "<a href="postconf.5.html#resolve_dequoted_address">resolve_dequoted_address</a> = no", then
8512the Postfix
8513resolver will not know about additional @ etc. operators in the
8514address localpart. This opens opportunities for obscure mail relay
8515attacks with user@domain@domain addresses when Postfix provides
8516backup MX service for Sendmail systems.  </p>
8517
8518
8519</DD>
8520
8521<DT><b><a name="resolve_null_domain">resolve_null_domain</a>
8522(default: no)</b></DT><DD>
8523
8524<p> Resolve an address that ends in the "@" null domain as if the
8525local hostname were specified, instead of rejecting the address as
8526invalid.  </p>
8527
8528<p> This feature is available in Postfix 2.1 and later.
8529Earlier versions always resolve the null domain as the local
8530hostname.  </p>
8531
8532<p> The Postfix SMTP server uses this feature to reject mail from
8533or to addresses that end in the "@" null domain, and from addresses
8534that rewrite into a form that ends in the "@" null domain.  </p>
8535
8536
8537</DD>
8538
8539<DT><b><a name="resolve_numeric_domain">resolve_numeric_domain</a>
8540(default: no)</b></DT><DD>
8541
8542<p> Resolve "user@ipaddress" as "user@[ipaddress]", instead of
8543rejecting the address as invalid.  </p>
8544
8545<p> This feature is available in Postfix 2.3 and later.
8546
8547
8548</DD>
8549
8550<DT><b><a name="rewrite_service_name">rewrite_service_name</a>
8551(default: rewrite)</b></DT><DD>
8552
8553<p>
8554The name of the address rewriting service. This service rewrites
8555addresses to standard form and resolves them to a (delivery method,
8556next-hop host, recipient) triple.
8557</p>
8558
8559<p>
8560This feature is available in Postfix 2.0 and later.
8561</p>
8562
8563
8564</DD>
8565
8566<DT><b><a name="sample_directory">sample_directory</a>
8567(default: /etc/postfix)</b></DT><DD>
8568
8569<p>
8570The name of the directory with example Postfix configuration files.
8571Starting with Postfix 2.1, these files have been replaced with the
8572<a href="postconf.5.html">postconf(5)</a> manual page.
8573</p>
8574
8575
8576</DD>
8577
8578<DT><b><a name="send_cyrus_sasl_authzid">send_cyrus_sasl_authzid</a>
8579(default: no)</b></DT><DD>
8580
8581<p> When authenticating to a remote SMTP or LMTP server with the
8582default setting "no", send no SASL authoriZation ID (authzid); send
8583only the SASL authentiCation ID (authcid) plus the authcid's password.
8584</p>
8585
8586<p> The non-default setting "yes" enables the behavior of older
8587Postfix versions.  These always send a SASL authzid that is equal
8588to the SASL authcid, but this causes inter-operability problems
8589with some SMTP servers. </p>
8590
8591<p> This feature is available in Postfix 2.4.4 and later. </p>
8592
8593
8594</DD>
8595
8596<DT><b><a name="sender_based_routing">sender_based_routing</a>
8597(default: no)</b></DT><DD>
8598
8599<p>
8600This parameter should not be used. It was replaced by <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
8601in Postfix version 2.3.
8602</p>
8603
8604
8605</DD>
8606
8607<DT><b><a name="sender_bcc_maps">sender_bcc_maps</a>
8608(default: empty)</b></DT><DD>
8609
8610<p> Optional BCC (blind carbon-copy) address lookup tables, indexed
8611by sender address.  The BCC address (multiple results are not
8612supported) is added when mail enters from outside of Postfix.  </p>
8613
8614<p>
8615This feature is available in Postfix 2.1 and later.
8616</p>
8617
8618<p>
8619The table search order is as follows:
8620</p>
8621
8622<ul>
8623
8624<li> Look up the "user+extension@domain.tld" address including the
8625optional address extension.
8626
8627<li> Look up the "user@domain.tld" address without the optional
8628address extension.
8629
8630<li> Look up the "user+extension" address local part when the
8631sender 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>
8632or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
8633
8634<li> Look up the "user" address local part when the sender domain
8635equals $<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>.
8636
8637<li> Look up the "@domain.tld" part.
8638
8639</ul>
8640
8641<p>
8642Specify the types and names of databases to use.  After change,
8643run "<b>postmap /etc/postfix/sender_bcc</b>".
8644</p>
8645
8646<p>
8647Note: if mail to the BCC address bounces it will be returned to
8648the sender.
8649</p>
8650
8651<p> Note: automatic BCC recipients are produced only for new mail.
8652To avoid mailer loops, automatic BCC recipients are not generated
8653after Postfix forwards mail internally, or after Postfix generates
8654mail itself. </p>
8655
8656<p>
8657Example:
8658</p>
8659
8660<pre>
8661<a href="postconf.5.html#sender_bcc_maps">sender_bcc_maps</a> = hash:/etc/postfix/sender_bcc
8662</pre>
8663
8664
8665</DD>
8666
8667<DT><b><a name="sender_canonical_classes">sender_canonical_classes</a>
8668(default: envelope_sender, header_sender)</b></DT><DD>
8669
8670<p> What addresses are subject to <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address
8671mapping.  By default, <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address mapping is
8672applied to envelope sender addresses, and to header sender addresses.
8673</p>
8674
8675<p> Specify one or more of: envelope_sender, header_sender </p>
8676
8677<p> This feature is available in Postfix 2.2 and later. </p>
8678
8679
8680</DD>
8681
8682<DT><b><a name="sender_canonical_maps">sender_canonical_maps</a>
8683(default: empty)</b></DT><DD>
8684
8685<p>
8686Optional address mapping lookup tables for envelope and header
8687sender addresses.
8688The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
8689</p>
8690
8691<p>
8692Example: you want to rewrite the SENDER address "user@ugly.domain"
8693to "user@pretty.domain", while still being able to send mail to
8694the RECIPIENT address "user@ugly.domain".
8695</p>
8696
8697<p>
8698Note: $<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>.
8699</p>
8700
8701<p>
8702Example:
8703</p>
8704
8705<pre>
8706<a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> = hash:/etc/postfix/sender_canonical
8707</pre>
8708
8709
8710</DD>
8711
8712<DT><b><a name="sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>
8713(default: empty)</b></DT><DD>
8714
8715<p> A sender-dependent override for the global <a href="postconf.5.html#default_transport">default_transport</a>
8716parameter setting. The tables are searched by the envelope sender
8717address and @domain. A lookup result of DUNNO terminates the search
8718without overriding the global <a href="postconf.5.html#default_transport">default_transport</a> parameter setting.
8719This information is overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
8720
8721<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
8722therefore the expected syntax is that of <a href="postconf.5.html#default_transport">default_transport</a>, not the
8723syntax of <a href="postconf.5.html#transport_maps">transport_maps</a>.  Specifically, this does not support the
8724<a href="postconf.5.html#transport_maps">transport_maps</a> syntax for null transport, null nexthop, or null
8725email addresses. </p>
8726
8727<p> For safety reasons, this feature does not allow $number
8728substitutions in regular expression maps. </p>
8729
8730<p> This feature is available in Postfix 2.7 and later.  </p>
8731
8732
8733</DD>
8734
8735<DT><b><a name="sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
8736(default: empty)</b></DT><DD>
8737
8738<p> A sender-dependent override for the global <a href="postconf.5.html#relayhost">relayhost</a> parameter
8739setting. The tables are searched by the envelope sender address and
8740@domain. A lookup result of DUNNO terminates the search without
8741overriding the global <a href="postconf.5.html#relayhost">relayhost</a> parameter setting (Postfix 2.6 and
8742later). This information is overruled with <a href="postconf.5.html#relay_transport">relay_transport</a>,
8743<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
8744the <a href="transport.5.html">transport(5)</a> table. </p>
8745
8746<p> For safety reasons, this feature does not allow $number
8747substitutions in regular expression maps. </p>
8748
8749<p>
8750This feature is available in Postfix 2.3 and later.
8751</p>
8752
8753
8754</DD>
8755
8756<DT><b><a name="sendmail_path">sendmail_path</a>
8757(default: see "postconf -d" output)</b></DT><DD>
8758
8759<p>
8760A Sendmail compatibility feature that specifies the location of
8761the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. This command can be used to
8762submit mail into the Postfix queue.
8763</p>
8764
8765
8766</DD>
8767
8768<DT><b><a name="service_throttle_time">service_throttle_time</a>
8769(default: 60s)</b></DT><DD>
8770
8771<p>
8772How long the Postfix <a href="master.8.html">master(8)</a> waits before forking a server that
8773appears to be malfunctioning.
8774</p>
8775
8776<p>
8777Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8778The default time unit is s (seconds).
8779</p>
8780
8781
8782</DD>
8783
8784<DT><b><a name="setgid_group">setgid_group</a>
8785(default: postdrop)</b></DT><DD>
8786
8787<p>
8788The group ownership of set-gid Postfix commands and of group-writable
8789Postfix directories. When this parameter value is changed you need
8790to re-run "<b>postfix set-permissions</b>" (with Postfix version 2.0 and
8791earlier: "<b>/etc/postfix/post-install set-permissions</b>".
8792</p>
8793
8794
8795</DD>
8796
8797<DT><b><a name="show_user_unknown_table_name">show_user_unknown_table_name</a>
8798(default: yes)</b></DT><DD>
8799
8800<p>
8801Display the name of the recipient table in the "User unknown"
8802responses.  The extra detail makes trouble shooting easier but also
8803reveals information that is nobody elses business.
8804</p>
8805
8806<p>
8807This feature is available in Postfix 2.0 and later.
8808</p>
8809
8810
8811</DD>
8812
8813<DT><b><a name="showq_service_name">showq_service_name</a>
8814(default: showq)</b></DT><DD>
8815
8816<p>
8817The name of the <a href="showq.8.html">showq(8)</a> service. This service produces mail queue
8818status reports.
8819</p>
8820
8821<p>
8822This feature is available in Postfix 2.0 and later.
8823</p>
8824
8825
8826</DD>
8827
8828<DT><b><a name="smtp_address_preference">smtp_address_preference</a>
8829(default: ipv6)</b></DT><DD>
8830
8831<p> The address type ("ipv6", "ipv4" or "any") that the Postfix
8832SMTP client will try first, when a destination has IPv6 and IPv4
8833addresses with equal MX preference. This feature has no effect
8834unless the <a href="postconf.5.html#inet_protocols">inet_protocols</a> setting enables both IPv4 and IPv6.  </p>
8835
8836<p> This feature is available in Postfix 2.8 and later.  </p>
8837
8838
8839</DD>
8840
8841<DT><b><a name="smtp_always_send_ehlo">smtp_always_send_ehlo</a>
8842(default: yes)</b></DT><DD>
8843
8844<p>
8845Always send EHLO at the start of an SMTP session.
8846</p>
8847
8848<p>
8849With "<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> = no", Postfix sends EHLO only when
8850the word "ESMTP" appears in the server greeting banner (example:
8851220 spike.porcupine.org ESMTP Postfix).
8852</p>
8853
8854
8855</DD>
8856
8857<DT><b><a name="smtp_bind_address">smtp_bind_address</a>
8858(default: empty)</b></DT><DD>
8859
8860<p>
8861An optional numerical network address that the Postfix SMTP client
8862should bind to when making an IPv4 connection.
8863</p>
8864
8865<p>
8866This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
8867it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
8868for example:
8869</p>
8870
8871<blockquote>
8872<pre>
8873/etc/postfix/<a href="master.5.html">master.cf</a>:
8874    smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>=11.22.33.44
8875</pre>
8876</blockquote>
8877
8878<p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv4
8879address, and that address is a non-loopback address, it is
8880automatically used as the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>.  This supports virtual
8881IP hosting, but can be a problem on multi-homed firewalls. See the
8882<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
8883
8884<p> Note 2: address information may be enclosed inside <tt>[]</tt>,
8885but this form is not required here. </p>
8886
8887
8888</DD>
8889
8890<DT><b><a name="smtp_bind_address6">smtp_bind_address6</a>
8891(default: empty)</b></DT><DD>
8892
8893<p>
8894An optional numerical network address that the Postfix SMTP client
8895should bind to when making an IPv6 connection.
8896</p>
8897
8898<p> This feature is available in Postfix 2.2 and later. </p>
8899
8900<p>
8901This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
8902it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
8903for example:
8904</p>
8905
8906<blockquote>
8907<pre>
8908/etc/postfix/<a href="master.5.html">master.cf</a>:
8909    smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>=1:2:3:4:5:6:7:8
8910</pre>
8911</blockquote>
8912
8913<p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv6
8914address, and that address is a non-loopback address, it is
8915automatically used as the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>.  This supports virtual
8916IP hosting, but can be a problem on multi-homed firewalls. See the
8917<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
8918
8919<p> Note 2: address information may be enclosed inside <tt>[]</tt>,
8920but this form is not recommended here. </p>
8921
8922
8923</DD>
8924
8925<DT><b><a name="smtp_body_checks">smtp_body_checks</a>
8926(default: empty)</b></DT><DD>
8927
8928<p> Restricted <a href="header_checks.5.html">body_checks(5)</a> tables for the Postfix SMTP client.
8929These tables are searched while mail is being delivered.  Actions
8930that change the delivery time or destination are not available.
8931</p>
8932
8933<p> This feature is available in Postfix 2.5 and later. </p>
8934
8935
8936</DD>
8937
8938<DT><b><a name="smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
8939(default: version dependent)</b></DT><DD>
8940
8941<p> Allow DNS CNAME records to override the servername that the
8942Postfix SMTP client uses for logging, SASL password lookup, TLS
8943policy decisions, or TLS certificate verification. The value "no"
8944hardens Postfix <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> hostname-based policies against
8945false hostname information in DNS CNAME records, and makes SASL
8946password file lookups more predictable. This is the default setting
8947as of Postfix 2.3. </p>
8948
8949<p> This feature is available in Postfix 2.2.9 and later. </p>
8950
8951
8952</DD>
8953
8954<DT><b><a name="smtp_connect_timeout">smtp_connect_timeout</a>
8955(default: 30s)</b></DT><DD>
8956
8957<p>
8958The SMTP client time limit for completing a TCP connection, or
8959zero (use the operating system built-in time limit).
8960</p>
8961
8962<p>
8963When no connection can be made within the deadline, the Postfix
8964SMTP client
8965tries the next address on the mail exchanger list. Specify 0 to
8966disable the time limit (i.e. use whatever timeout is implemented by
8967the operating system).
8968</p>
8969
8970<p>
8971Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8972The default time unit is s (seconds).
8973</p>
8974
8975
8976</DD>
8977
8978<DT><b><a name="smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
8979(default: empty)</b></DT><DD>
8980
8981<p> Permanently enable SMTP connection caching for the specified
8982destinations.  With SMTP connection caching, a connection is not
8983closed immediately after completion of a mail transaction.  Instead,
8984the connection is kept open for up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
8985seconds.  This allows connections to be reused for other deliveries,
8986and can improve mail delivery performance. </p>
8987
8988<p> Specify a comma or white space separated list of destinations
8989or pseudo-destinations: </p>
8990
8991<ul>
8992
8993<li> if mail is sent without a <a href="postconf.5.html#relayhost">relay host</a>: a domain name (the
8994right-hand side of an email address, without the [] around a numeric
8995IP address),
8996
8997<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
8998[] or non-default TCP port), as specified in <a href="postconf.5.html">main.cf</a> or in the
8999transport map,
9000
9001<li> if mail is sent via a UNIX-domain socket: a pathname (without
9002the unix: prefix),
9003
9004<li> a /file/name with domain names and/or <a href="postconf.5.html#relayhost">relay host</a> names as
9005defined above,
9006
9007<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
9008the left-hand side.  The right-hand side result from "<a href="DATABASE_README.html">type:table</a>"
9009lookups is ignored.
9010
9011</ul>
9012
9013<p> This feature is available in Postfix 2.2 and later. </p>
9014
9015
9016</DD>
9017
9018<DT><b><a name="smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
9019(default: yes)</b></DT><DD>
9020
9021<p> Temporarily enable SMTP connection caching while a destination
9022has a high volume of mail in the <a href="QSHAPE_README.html#active_queue">active queue</a>.  With SMTP connection
9023caching, a connection is not closed immediately after completion
9024of a mail transaction.  Instead, the connection is kept open for
9025up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> seconds.  This allows
9026connections to be reused for other deliveries, and can improve mail
9027delivery performance. </p>
9028
9029<p> This feature is available in Postfix 2.2 and later. </p>
9030
9031
9032</DD>
9033
9034<DT><b><a name="smtp_connection_cache_reuse_limit">smtp_connection_cache_reuse_limit</a>
9035(default: 10)</b></DT><DD>
9036
9037<p> When SMTP connection caching is enabled, the number of times that
9038an SMTP session may be reused before it is closed.
9039</p>
9040
9041<p> This feature is available in Postfix 2.2. In Postfix 2.3 it is
9042replaced by $<a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>.</p>
9043
9044
9045</DD>
9046
9047<DT><b><a name="smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
9048(default: 2s)</b></DT><DD>
9049
9050<p> When SMTP connection caching is enabled, the amount of time that
9051an unused SMTP client socket is kept open before it is closed.  Do
9052not specify larger values without permission from the remote sites.
9053</p>
9054
9055<p> This feature is available in Postfix 2.2 and later. </p>
9056
9057
9058</DD>
9059
9060<DT><b><a name="smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
9061(default: 300s)</b></DT><DD>
9062
9063<p> The amount of time during which Postfix will use an SMTP
9064connection repeatedly.  The timer starts when the connection is
9065initiated (i.e. it includes the connect, greeting and helo latency,
9066in addition to the latencies of subsequent mail delivery transactions).
9067</p>
9068
9069<p> This feature addresses a performance stability problem with
9070remote SMTP servers. This problem is not specific to Postfix: it
9071can happen when any MTA sends large amounts of SMTP email to a site
9072that has multiple MX hosts. </p>
9073
9074<p> The problem starts when one of a set of MX hosts becomes slower
9075than the rest.  Even though SMTP clients connect to fast and slow
9076MX hosts with equal probability, the slow MX host ends up with more
9077simultaneous inbound connections than the faster MX hosts, because
9078the slow MX host needs more time to serve each client request. </p>
9079
9080<p> The slow MX host becomes a connection attractor.  If one MX
9081host becomes N times slower than the rest, it dominates mail delivery
9082latency unless there are more than N fast MX hosts to counter the
9083effect. And if the number of MX hosts is smaller than N, the mail
9084delivery latency becomes effectively that of the slowest MX host
9085divided by the total number of MX hosts. </p>
9086
9087<p> The solution uses connection caching in a way that differs from
9088Postfix version 2.2.  By limiting the amount of time during which a connection
9089can be used repeatedly (instead of limiting the number of deliveries
9090over that connection), Postfix not only restores fairness in the
9091distribution of simultaneous connections across a set of MX hosts,
9092it also favors deliveries over connections that perform well, which
9093is exactly what we want.  </p>
9094
9095<p> The default reuse time limit, 300s, is comparable to the various
9096smtp transaction timeouts which are fair estimates of maximum excess
9097latency for a slow delivery.  Note that hosts may accept thousands
9098of messages over a single connection within the default connection
9099reuse time limit. This number is much larger than the default Postfix
9100version 2.2 limit of 10 messages per cached connection. It may prove necessary
9101to lower the limit to avoid interoperability issues with MTAs that
9102exhibit bugs when many messages are delivered via a single connection.
9103A lower reuse time limit risks losing the benefit of connection
9104reuse when the average connection and mail delivery latency exceeds
9105the reuse time limit.  </p>
9106
9107<p> This feature is available in Postfix 2.3 and later. </p>
9108
9109
9110</DD>
9111
9112<DT><b><a name="smtp_data_done_timeout">smtp_data_done_timeout</a>
9113(default: 600s)</b></DT><DD>
9114
9115<p>
9116The SMTP client time limit for sending the SMTP ".", and for receiving
9117the server response.
9118</p>
9119
9120<p>
9121When no response is received within the deadline, a warning is
9122logged that the mail may be delivered multiple times.
9123</p>
9124
9125<p>
9126Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9127The default time unit is s (seconds).
9128</p>
9129
9130
9131</DD>
9132
9133<DT><b><a name="smtp_data_init_timeout">smtp_data_init_timeout</a>
9134(default: 120s)</b></DT><DD>
9135
9136<p>
9137The SMTP client time limit for sending the SMTP DATA command, and for
9138receiving the server response.
9139</p>
9140
9141<p>
9142Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9143The default time unit is s (seconds).
9144</p>
9145
9146
9147</DD>
9148
9149<DT><b><a name="smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
9150(default: 180s)</b></DT><DD>
9151
9152<p>
9153The SMTP client time limit for sending the SMTP message content.
9154When the connection makes no progress for more than $<a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
9155seconds the Postfix SMTP client terminates the transfer.
9156</p>
9157
9158<p>
9159Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9160The default time unit is s (seconds).
9161</p>
9162
9163
9164</DD>
9165
9166<DT><b><a name="smtp_defer_if_no_mx_address_found">smtp_defer_if_no_mx_address_found</a>
9167(default: no)</b></DT><DD>
9168
9169<p>
9170Defer mail delivery when no MX record resolves to an IP address.
9171</p>
9172
9173<p>
9174The default (no) is to return the mail as undeliverable. With older
9175Postfix versions the default was to keep trying to deliver the mail
9176until someone fixed the MX record or until the mail was too old.
9177</p>
9178
9179<p>
9180Note: Postfix always ignores MX records with equal or worse preference
9181than the local MTA itself.
9182</p>
9183
9184<p>
9185This feature is available in Postfix 2.1 and later.
9186</p>
9187
9188
9189</DD>
9190
9191<DT><b><a name="smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>
9192(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
9193
9194<p> The maximal number of parallel deliveries to the same destination
9195via the smtp message delivery transport. This limit is enforced by
9196the queue manager. The message delivery transport name is the first
9197field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
9198
9199
9200</DD>
9201
9202<DT><b><a name="smtp_destination_recipient_limit">smtp_destination_recipient_limit</a>
9203(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
9204
9205<p> The maximal number of recipients per message for the smtp
9206message delivery transport. This limit is enforced by the queue
9207manager. The message delivery transport name is the first field in
9208the entry in the <a href="master.5.html">master.cf</a> file.  </p>
9209
9210<p> Setting this parameter to a value of 1 changes the meaning of
9211<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> from concurrency per domain
9212into concurrency per recipient.  </p>
9213
9214
9215</DD>
9216
9217<DT><b><a name="smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>
9218(default: empty)</b></DT><DD>
9219
9220<p> Lookup tables, indexed by the remote SMTP server address, with
9221case insensitive lists of EHLO keywords (pipelining, starttls, auth,
9222etc.) that the Postfix SMTP client will ignore in the EHLO response from a
9223remote SMTP server. See <a href="postconf.5.html#smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a> for details. The
9224table is not indexed by hostname for consistency with
9225<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
9226
9227<p> This feature is available in Postfix 2.2 and later. </p>
9228
9229
9230</DD>
9231
9232<DT><b><a name="smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a>
9233(default: empty)</b></DT><DD>
9234
9235<p> A case insensitive list of EHLO keywords (pipelining, starttls,
9236auth, etc.) that the Postfix SMTP client will ignore in the EHLO
9237response from a remote SMTP server. </p>
9238
9239<p> This feature is available in Postfix 2.2 and later. </p>
9240
9241<p> Notes: </p>
9242
9243<ul>
9244
9245<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
9246this action from being logged. </p>
9247
9248<li> <p> Use the <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a> feature to
9249discard EHLO keywords selectively. </p>
9250
9251</ul>
9252
9253
9254</DD>
9255
9256<DT><b><a name="smtp_dns_resolver_options">smtp_dns_resolver_options</a>
9257(default: empty)</b></DT><DD>
9258
9259<p> DNS Resolver options for the Postfix SMTP client.  Specify zero
9260or more of the following options, separated by comma or whitespace.
9261Option names are case-sensitive. Some options refer to domain names
9262that are specified in the file /etc/resolv.conf or equivalent. </p>
9263
9264<dl>
9265
9266<dt><b>res_defnames</b></dt>
9267
9268<dd> Append the current domain name to single-component names (those
9269that do not contain a "." character). This can produce incorrect
9270results, and is the hard-coded behavior prior to Postfix 2.8. </dd>
9271
9272<dt><b>res_dnsrch</b></dt>
9273
9274<dd> Search for host names in the current domain and in parent
9275domains. This can produce incorrect results and is therefore not
9276recommended. </dd>
9277
9278</dl>
9279
9280<p> This feature is available in Postfix 2.8 and later.  </p>
9281
9282
9283</DD>
9284
9285<DT><b><a name="smtp_enforce_tls">smtp_enforce_tls</a>
9286(default: no)</b></DT><DD>
9287
9288<p> Enforcement mode: require that remote SMTP servers use TLS
9289encryption, and never send mail in the clear.  This also requires
9290that the remote SMTP server hostname matches the information in
9291the remote server certificate, and that the remote SMTP server
9292certificate was issued by a CA that is trusted by the Postfix SMTP
9293client. If the certificate doesn't verify or the hostname doesn't
9294match, delivery is deferred and mail stays in the queue.  </p>
9295
9296<p> The server hostname is matched against all names provided as
9297dNSNames in the SubjectAlternativeName.  If no dNSNames are specified,
9298the CommonName is checked.  The behavior may be changed with the
9299<a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> option.  </p>
9300
9301<p> This option is useful only if you are definitely sure that you
9302will only connect to servers that support <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> _and_ that
9303provide valid server certificates.  Typical use is for clients that
9304send all their email to a dedicated mailhub.  </p>
9305
9306<p> This feature is available in Postfix 2.2 and later. With
9307Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
9308
9309
9310</DD>
9311
9312<DT><b><a name="smtp_fallback_relay">smtp_fallback_relay</a>
9313(default: $<a href="postconf.5.html#fallback_relay">fallback_relay</a>)</b></DT><DD>
9314
9315<p>
9316Optional list of relay hosts for SMTP destinations that can't be
9317found or that are unreachable. With Postfix 2.2 and earlier this
9318parameter is called <a href="postconf.5.html#fallback_relay">fallback_relay</a>.  </p>
9319
9320<p>
9321By default, mail is returned to the sender when a destination is
9322not found, and delivery is deferred when a destination is unreachable.
9323</p>
9324
9325<p> The fallback relays must be SMTP destinations. Specify a domain,
9326host, host:port, [host]:port, [address] or [address]:port; the form
9327[host] turns off MX lookups.  If you specify multiple SMTP
9328destinations, Postfix will try them in the specified order.  </p>
9329
9330<p> To prevent mailer loops between MX hosts and fall-back hosts,
9331Postfix version 2.2 and later will not use the fallback relays for
9332destinations that it is MX host for (assuming DNS lookup is turned on).
9333</p>
9334
9335
9336</DD>
9337
9338<DT><b><a name="smtp_generic_maps">smtp_generic_maps</a>
9339(default: empty)</b></DT><DD>
9340
9341<p> Optional lookup tables that perform address rewriting in the
9342SMTP client, typically to transform a locally valid address into
9343a globally valid address when sending mail across the Internet.
9344This is needed when the local machine does not have its own Internet
9345domain name, but uses something like <i>localdomain.local</i>
9346instead.  </p>
9347
9348<p> The table format and lookups are documented in <a href="generic.5.html">generic(5)</a>;
9349examples are shown in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> and
9350<a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> documents. </p>
9351
9352<p> This feature is available in Postfix 2.2 and later.  </p>
9353
9354
9355</DD>
9356
9357<DT><b><a name="smtp_header_checks">smtp_header_checks</a>
9358(default: empty)</b></DT><DD>
9359
9360<p> Restricted <a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP client.
9361These tables are searched while mail is being delivered.  Actions
9362that change the delivery time or destination are not available.
9363</p>
9364
9365<p> This feature is available in Postfix 2.5 and later. </p>
9366
9367
9368</DD>
9369
9370<DT><b><a name="smtp_helo_name">smtp_helo_name</a>
9371(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
9372
9373<p>
9374The hostname to send in the SMTP EHLO or HELO command.
9375</p>
9376
9377<p>
9378The default value is the machine hostname.  Specify a hostname or
9379[ip.add.re.ss].
9380</p>
9381
9382<p>
9383This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP
9384clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
9385client, for example:
9386</p>
9387
9388<blockquote>
9389<pre>
9390/etc/postfix/<a href="master.5.html">master.cf</a>:
9391    mysmtp ... smtp -o <a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a>=foo.bar.com
9392</pre>
9393</blockquote>
9394
9395<p>
9396This feature is available in Postfix 2.0 and later.
9397</p>
9398
9399
9400</DD>
9401
9402<DT><b><a name="smtp_helo_timeout">smtp_helo_timeout</a>
9403(default: 300s)</b></DT><DD>
9404
9405<p>
9406The SMTP client time limit for sending the HELO or EHLO command,
9407and for receiving the initial server response.
9408</p>
9409
9410<p>
9411Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9412The default time unit is s (seconds).
9413</p>
9414
9415
9416</DD>
9417
9418<DT><b><a name="smtp_host_lookup">smtp_host_lookup</a>
9419(default: dns)</b></DT><DD>
9420
9421<p>
9422What mechanisms the Postfix SMTP client uses to look up a host's IP
9423address.  This parameter is ignored when DNS lookups are disabled
9424(see: <a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a>).
9425</p>
9426
9427<p>
9428Specify one of the following:
9429</p>
9430
9431<dl>
9432
9433<dt><b>dns</b></dt>
9434
9435<dd>Hosts can be found in the DNS (preferred).  </dd>
9436
9437<dt><b>native</b></dt>
9438
9439<dd>Use the native naming service only (nsswitch.conf, or equivalent
9440mechanism).  </dd>
9441
9442<dt><b>dns, native</b></dt>
9443
9444<dd>Use the native service for hosts not found in the DNS.  </dd>
9445
9446</dl>
9447
9448<p>
9449This feature is available in Postfix 2.1 and later.
9450</p>
9451
9452
9453</DD>
9454
9455<DT><b><a name="smtp_line_length_limit">smtp_line_length_limit</a>
9456(default: 990)</b></DT><DD>
9457
9458<p>
9459The maximal length of message header and body lines that Postfix
9460will send via SMTP.  Longer lines are broken by inserting
9461"&lt;CR&gt;&lt;LF&gt;&lt;SPACE&gt;". This minimizes the damage to
9462MIME formatted mail.
9463</p>
9464
9465<p>
9466By default, the line length is limited to 990 characters, because
9467some server implementations cannot receive mail with long lines.
9468</p>
9469
9470
9471</DD>
9472
9473<DT><b><a name="smtp_mail_timeout">smtp_mail_timeout</a>
9474(default: 300s)</b></DT><DD>
9475
9476<p>
9477The SMTP client time limit for sending the MAIL FROM command, and
9478for receiving the server response.
9479</p>
9480
9481<p>
9482Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9483The default time unit is s (seconds).
9484</p>
9485
9486
9487</DD>
9488
9489<DT><b><a name="smtp_mime_header_checks">smtp_mime_header_checks</a>
9490(default: empty)</b></DT><DD>
9491
9492<p> Restricted mime_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
9493client. These tables are searched while mail is being delivered.
9494Actions that change the delivery time or destination are not
9495available.  </p>
9496
9497<p> This feature is available in Postfix 2.5 and later. </p>
9498
9499
9500</DD>
9501
9502<DT><b><a name="smtp_mx_address_limit">smtp_mx_address_limit</a>
9503(default: 5)</b></DT><DD>
9504
9505<p>
9506The maximal number of MX (mail exchanger) IP addresses that can
9507result from mail exchanger lookups, or zero (no limit). Prior to
9508Postfix version 2.3, this limit was disabled by default.
9509</p>
9510
9511<p>
9512This feature is available in Postfix 2.1 and later.
9513</p>
9514
9515
9516</DD>
9517
9518<DT><b><a name="smtp_mx_session_limit">smtp_mx_session_limit</a>
9519(default: 2)</b></DT><DD>
9520
9521<p> The maximal number of SMTP sessions per delivery request before
9522giving up or delivering to a fall-back <a href="postconf.5.html#relayhost">relay host</a>, or zero (no
9523limit). This restriction ignores sessions that fail to complete the
9524SMTP initial handshake (Postfix version 2.2 and earlier) or that fail to
9525complete the EHLO and TLS handshake (Postfix version 2.3 and later).  </p>
9526
9527<p> This feature is available in Postfix 2.1 and later.  </p>
9528
9529
9530</DD>
9531
9532<DT><b><a name="smtp_nested_header_checks">smtp_nested_header_checks</a>
9533(default: empty)</b></DT><DD>
9534
9535<p> Restricted nested_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
9536client. These tables are searched while mail is being delivered.
9537Actions that change the delivery time or destination are not
9538available.  </p>
9539
9540<p> This feature is available in Postfix 2.5 and later. </p>
9541
9542
9543</DD>
9544
9545<DT><b><a name="smtp_never_send_ehlo">smtp_never_send_ehlo</a>
9546(default: no)</b></DT><DD>
9547
9548<p> Never send EHLO at the start of an SMTP session. See also the
9549<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> parameter.  </p>
9550
9551
9552</DD>
9553
9554<DT><b><a name="smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
9555(default: 10s)</b></DT><DD>
9556
9557<p>
9558How long the Postfix SMTP client pauses before sending
9559".&lt;CR&gt;&lt;LF&gt;" in order to work around the PIX firewall
9560"&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;" bug.
9561</p>
9562
9563<p>
9564Choosing a too short time makes this workaround ineffective when
9565sending large messages over slow network connections.
9566</p>
9567
9568
9569</DD>
9570
9571<DT><b><a name="smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
9572(default: empty)</b></DT><DD>
9573
9574<p> Lookup tables, indexed by the remote SMTP server address, with
9575per-destination workarounds for CISCO PIX firewall bugs.  The table
9576is not indexed by hostname for consistency with
9577<a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>. </p>
9578
9579<p> This feature is available in Postfix 2.4 and later. </p>
9580
9581
9582</DD>
9583
9584<DT><b><a name="smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
9585(default: 500s)</b></DT><DD>
9586
9587<p> How long a message must be queued before the Postfix SMTP client
9588turns on the PIX firewall "&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;"
9589bug workaround for delivery through firewalls with "smtp fixup"
9590mode turned on.  </p>
9591
9592<p>
9593By default, the workaround is turned off for mail that is queued
9594for less than 500 seconds. In other words, the workaround is normally
9595turned off for the first delivery attempt.
9596</p>
9597
9598<p>
9599Specify 0 to enable the PIX firewall
9600"&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;" bug workaround upon the
9601first delivery attempt.
9602</p>
9603
9604
9605</DD>
9606
9607<DT><b><a name="smtp_pix_workarounds">smtp_pix_workarounds</a>
9608(default: disable_esmtp, delay_dotcrlf)</b></DT><DD>
9609
9610<p> A list that specifies zero or more workarounds for CISCO PIX
9611firewall bugs. These workarounds are implemented by the Postfix
9612SMTP client. Workaround names are separated by comma or space, and
9613are case insensitive.  This parameter setting can be overruled with
9614per-destination <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> settings. </p>
9615
9616<dl>
9617
9618<dt><b>delay_dotcrlf</b><dd> Insert a delay before sending
9619".&lt;CR&gt;&lt;LF&gt;" after the end of the message content.  The
9620delay is subject to the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> and
9621<a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> parameter settings. </dd>
9622
9623<dt><b>disable_esmtp</b><dd> Disable all extended SMTP commands:
9624send HELO instead of EHLO. </dd>
9625
9626</dl>
9627
9628<p> This feature is available in Postfix 2.4 and later. The default
9629settings are backwards compatible with earlier Postfix versions.
9630</p>
9631
9632
9633</DD>
9634
9635<DT><b><a name="smtp_quit_timeout">smtp_quit_timeout</a>
9636(default: 300s)</b></DT><DD>
9637
9638<p>
9639The SMTP client time limit for sending the QUIT command, and for
9640receiving the server response.
9641</p>
9642
9643<p>
9644Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9645The default time unit is s (seconds).
9646</p>
9647
9648
9649</DD>
9650
9651<DT><b><a name="smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
9652(default: yes)</b></DT><DD>
9653
9654<p>
9655Quote addresses in SMTP MAIL FROM and RCPT TO commands as required
9656by <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>. This includes putting quotes around an address localpart
9657that ends in ".".
9658</p>
9659
9660<p>
9661The default is to comply with <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>. If you have to send mail to
9662a broken SMTP server, configure a special SMTP client in <a href="master.5.html">master.cf</a>:
9663</p>
9664
9665<blockquote>
9666<pre>
9667/etc/postfix/<a href="master.5.html">master.cf</a>:
9668    broken-smtp . . . smtp -o <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>=no
9669</pre>
9670</blockquote>
9671
9672<p>
9673and route mail for the destination in question to the "broken-smtp"
9674message delivery with a <a href="transport.5.html">transport(5)</a> table.
9675</p>
9676
9677<p>
9678This feature is available in Postfix 2.1 and later.
9679</p>
9680
9681
9682</DD>
9683
9684<DT><b><a name="smtp_randomize_addresses">smtp_randomize_addresses</a>
9685(default: yes)</b></DT><DD>
9686
9687<p>
9688Randomize the order of equal-preference MX host addresses.  This
9689is a performance feature of the Postfix SMTP client.
9690</p>
9691
9692
9693</DD>
9694
9695<DT><b><a name="smtp_rcpt_timeout">smtp_rcpt_timeout</a>
9696(default: 300s)</b></DT><DD>
9697
9698<p>
9699The SMTP client time limit for sending the SMTP RCPT TO command, and
9700for receiving the 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_reply_filter">smtp_reply_filter</a>
9712(default: empty)</b></DT><DD>
9713
9714<p> A mechanism to transform replies from remote SMTP servers one
9715line at a time.  This is a last-resort tool to work around server
9716replies that break inter-operability with the Postfix SMTP client.
9717Other uses involve fault injection to test Postfix's handling of
9718invalid responses. </p>
9719
9720<p> Notes: </p>
9721
9722<ul>
9723
9724<li> <p> In the case of a multi-line reply, the Postfix SMTP client
9725uses the final reply line's numerical SMTP reply code and enhanced
9726status code.  </p>
9727
9728<li> <p> The numerical SMTP reply code (XYZ) takes precedence over
9729the enhanced status code (X.Y.Z).  When the enhanced status code
9730initial digit differs from the SMTP reply code initial digit, or
9731when no enhanced status code is present, the Postfix SMTP client
9732uses a generic enhanced status code (X.0.0) instead. </p>
9733
9734</ul>
9735
9736<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
9737string is a single SMTP reply line as received from the remote SMTP
9738server, except that the trailing &lt;CR&gt;&lt;LF&gt; are removed.  </p>
9739
9740<p> Examples: </p>
9741
9742<pre>
9743/etc/postfix/<a href="postconf.5.html">main.cf</a>:
9744    <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/reply_filter
9745</pre>
9746
9747<pre>
9748/etc/postfix/reply_filter:
9749    # Transform garbage into "250-filler..." so that it looks like
9750    # one line from a multi-line reply. It does not matter what we
9751    # substitute here as long it has the right syntax.  The Postfix
9752    # SMTP client will use the final line's numerical SMTP reply
9753    # code and enhanced status code.
9754    !/^([2-5][0-9][0-9]($|[- ]))/ 250-filler for garbage
9755</pre>
9756
9757<p> This feature is available in Postfix 2.7. </p>
9758
9759
9760</DD>
9761
9762<DT><b><a name="smtp_rset_timeout">smtp_rset_timeout</a>
9763(default: 20s)</b></DT><DD>
9764
9765<p> The SMTP client time limit for sending the RSET command, and
9766for receiving the server response. The SMTP client sends RSET in
9767order to finish a recipient address probe, or to verify that a
9768cached session is still usable.  </p>
9769
9770<p> This feature is available in Postfix 2.1 and later.  </p>
9771
9772
9773</DD>
9774
9775<DT><b><a name="smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
9776(default: empty)</b></DT><DD>
9777
9778<p> An optional table to prevent repeated SASL authentication
9779failures with the same remote SMTP server hostname, username and
9780password. Each table (key, value) pair contains a server name, a
9781username and password, and the full server response. This information
9782is stored when a remote SMTP server rejects an authentication attempt
9783with a 535 reply code.  As long as the <a href="postconf.5.html#smtp_sasl_password_maps">smtp_sasl_password_maps</a>
9784information does no change, and as long as the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
9785information does not expire (see <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>) the
9786Postfix SMTP client avoids SASL authentication attempts with the
9787same server, username and password, and instead bounces or defers
9788mail as controlled with the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> configuration
9789parameter.  </p>
9790
9791<p> Use a per-destination delivery concurrency of 1 (for example,
9792"<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> = 1",
9793"<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> = 1", etc.), otherwise multiple
9794delivery agents may experience a login failure at the same time.
9795</p>
9796
9797<p> The table must be accessed via the proxywrite service, i.e. the
9798map name must start with "<a href="proxymap.8.html">proxy</a>:". The table should be stored under
9799the directory specified with the <a href="postconf.5.html#data_directory">data_directory</a> parameter. </p>
9800
9801<p> This feature uses cryptographic hashing to protect plain-text
9802passwords, and requires that Postfix is compiled with TLS support.
9803</p>
9804
9805<p> Example: </p>
9806
9807<pre>
9808<a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> = <a href="proxymap.8.html">proxy</a>:btree:/var/db/postfix/sasl_auth_cache
9809</pre>
9810
9811<p> This feature is available in Postfix 2.5 and later. </p>
9812
9813
9814</DD>
9815
9816<DT><b><a name="smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
9817(default: 90d)</b></DT><DD>
9818
9819<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
9820is removed. </p>
9821
9822<p> This feature is available in Postfix 2.5 and later. </p>
9823
9824
9825</DD>
9826
9827<DT><b><a name="smtp_sasl_auth_enable">smtp_sasl_auth_enable</a>
9828(default: no)</b></DT><DD>
9829
9830<p>
9831Enable SASL authentication in the Postfix SMTP client.  By default,
9832the Postfix SMTP client uses no authentication.
9833</p>
9834
9835<p>
9836Example:
9837</p>
9838
9839<pre>
9840<a href="postconf.5.html#smtp_sasl_auth_enable">smtp_sasl_auth_enable</a> = yes
9841</pre>
9842
9843
9844</DD>
9845
9846<DT><b><a name="smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
9847(default: yes)</b></DT><DD>
9848
9849<p> When a remote SMTP server rejects a SASL authentication request
9850with a 535 reply code, defer mail delivery instead of returning
9851mail as undeliverable. The latter behavior was hard-coded prior to
9852Postfix version 2.5. </p>
9853
9854<p> Note: the setting "yes" overrides the global <a href="postconf.5.html#soft_bounce">soft_bounce</a>
9855parameter, but the setting "no" does not. </p>
9856
9857<p> Example: </p>
9858
9859<pre>
9860# Default as of Postfix 2.5
9861<a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = yes
9862# The old hard-coded default
9863<a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = no
9864</pre>
9865
9866<p> This feature is available in Postfix 2.5 and later. </p>
9867
9868
9869</DD>
9870
9871<DT><b><a name="smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
9872(default: empty)</b></DT><DD>
9873
9874<p>
9875If non-empty, a Postfix SMTP client filter for the remote SMTP
9876server's list of offered SASL mechanisms.  Different client and
9877server implementations may support different mechanism lists. By
9878default, the Postfix SMTP client will use the intersection of the
9879two. <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> further restricts what server
9880mechanisms the client will take into consideration.  </p>
9881
9882<p> Specify mechanism names, "/file/name" patterns or "<a href="DATABASE_README.html">type:table</a>"
9883lookup tables. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>" lookups
9884is ignored. Specify "!pattern" to exclude a mechanism name from the
9885list. The form "!/file/name" is supported only in Postfix version
98862.4 and later. </p>
9887
9888<p> This feature is available in Postfix 2.2 and later. </p>
9889
9890<p>
9891Examples:
9892</p>
9893
9894<pre>
9895<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = plain, login
9896<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = /etc/postfix/smtp_mechs
9897<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = !gssapi, !login, static:rest
9898</pre>
9899
9900
9901</DD>
9902
9903<DT><b><a name="smtp_sasl_password_maps">smtp_sasl_password_maps</a>
9904(default: empty)</b></DT><DD>
9905
9906<p>
9907Optional SMTP client lookup tables with one username:password entry
9908per remote hostname or domain, or sender address when sender-dependent
9909authentication is enabled.  If no username:password entry is found,
9910then the Postfix SMTP client will not
9911attempt to authenticate to the remote host.
9912</p>
9913
9914<p>
9915The Postfix SMTP client opens the lookup table before going to
9916chroot jail, so you can leave the password file in /etc/postfix.
9917</p>
9918
9919
9920</DD>
9921
9922<DT><b><a name="smtp_sasl_path">smtp_sasl_path</a>
9923(default: empty)</b></DT><DD>
9924
9925<p> Implementation-specific information that the Postfix SMTP client
9926passes through to
9927the SASL plug-in implementation that is selected with
9928<b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.  Typically this specifies the name of a
9929configuration file or rendezvous point. </p>
9930
9931<p> This feature is available in Postfix 2.3 and later. </p>
9932
9933
9934</DD>
9935
9936<DT><b><a name="smtp_sasl_security_options">smtp_sasl_security_options</a>
9937(default: noplaintext, noanonymous)</b></DT><DD>
9938
9939<p> Postfix SMTP client SASL security options; as of Postfix 2.3
9940the list of available
9941features depends on the SASL client implementation that is selected
9942with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.  </p>
9943
9944<p> The following security features are defined for the <b>cyrus</b>
9945client SASL implementation: </p>
9946
9947<p>
9948Specify zero or more of the following:
9949</p>
9950
9951<dl>
9952
9953<dt><b>noplaintext</b></dt>
9954
9955<dd>Disallow methods that use plaintext passwords. </dd>
9956
9957<dt><b>noactive</b></dt>
9958
9959<dd>Disallow methods subject to active (non-dictionary) attack.
9960</dd>
9961
9962<dt><b>nodictionary</b></dt>
9963
9964<dd>Disallow methods subject to passive (dictionary) attack. </dd>
9965
9966<dt><b>noanonymous</b></dt>
9967
9968<dd>Disallow methods that allow anonymous authentication. </dd>
9969
9970<dt><b>mutual_auth</b></dt>
9971
9972<dd>Only allow methods that provide mutual authentication (not
9973available with SASL version 1). </dd>
9974
9975</dl>
9976
9977<p>
9978Example:
9979</p>
9980
9981<pre>
9982<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> = noplaintext
9983</pre>
9984
9985
9986</DD>
9987
9988<DT><b><a name="smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
9989(default: $<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a>)</b></DT><DD>
9990
9991<p> The SASL authentication security options that the Postfix SMTP
9992client uses for TLS encrypted SMTP sessions. </p>
9993
9994<p> This feature is available in Postfix 2.2 and later.  </p>
9995
9996
9997</DD>
9998
9999<DT><b><a name="smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a>
10000(default: $<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>)</b></DT><DD>
10001
10002<p> The SASL authentication security options that the Postfix SMTP
10003client uses for TLS encrypted SMTP sessions with a verified server
10004certificate. </p>
10005
10006<p> When mail is sent to the public MX host for the recipient's
10007domain, server certificates are by default optional, and delivery
10008proceeds even if certificate verification fails. For delivery via
10009a submission service that requires SASL authentication, it may be
10010appropriate to send plaintext passwords only when the connection
10011to the server is strongly encrypted <b>and</b> the server identity
10012is verified. </p>
10013
10014<p> The <a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> parameter makes it
10015possible to only enable plaintext mechanisms when a secure connection
10016to the server is available. Submission servers subject to this
10017policy must either have verifiable certificates or offer suitable
10018non-plaintext SASL mechanisms. </p>
10019
10020<p> This feature is available in Postfix 2.6 and later. </p>
10021
10022
10023</DD>
10024
10025<DT><b><a name="smtp_sasl_type">smtp_sasl_type</a>
10026(default: cyrus)</b></DT><DD>
10027
10028<p> The SASL plug-in type that the Postfix SMTP client should use
10029for authentication.  The available types are listed with the
10030"<b>postconf -A</b>" command. </p>
10031
10032<p> This feature is available in Postfix 2.3 and later. </p>
10033
10034
10035</DD>
10036
10037<DT><b><a name="smtp_send_xforward_command">smtp_send_xforward_command</a>
10038(default: no)</b></DT><DD>
10039
10040<p>
10041Send the non-standard XFORWARD command when the Postfix SMTP server
10042EHLO response announces XFORWARD support.
10043</p>
10044
10045<p>
10046This allows an "smtp" delivery agent, used for injecting mail into
10047a content filter, to forward the name, address, protocol and HELO
10048name of the original client to the content filter and downstream
10049queuing SMTP server. This can produce more useful logging than
10050localhost[127.0.0.1] etc.
10051</p>
10052
10053<p>
10054This feature is available in Postfix 2.1 and later.
10055</p>
10056
10057
10058</DD>
10059
10060<DT><b><a name="smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
10061(default: no)</b></DT><DD>
10062
10063<p>
10064Enable sender-dependent authentication in the Postfix SMTP client; this is
10065available only with SASL authentication, and disables SMTP connection
10066caching to ensure that mail from different senders will use the
10067appropriate credentials.  </p>
10068
10069<p>
10070This feature is available in Postfix 2.3 and later.
10071</p>
10072
10073
10074</DD>
10075
10076<DT><b><a name="smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a>
10077(default: yes)</b></DT><DD>
10078
10079<p>
10080Skip SMTP servers that greet with a 4XX status code (go away, try
10081again later).
10082</p>
10083
10084<p>
10085By default, Postfix moves on the next mail exchanger. Specify
10086"<a href="postconf.5.html#smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a> = no" if Postfix should defer delivery
10087immediately.
10088</p>
10089
10090<p> This feature is available in Postfix 2.0 and earlier.
10091Later Postfix versions always skip SMTP servers that greet with a
100924XX status code. </p>
10093
10094
10095</DD>
10096
10097<DT><b><a name="smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
10098(default: yes)</b></DT><DD>
10099
10100<p>
10101Skip SMTP servers that greet with a 5XX status code (go away, do
10102not try again later).
10103</p>
10104
10105<p> By default, the Postfix SMTP client moves on the next mail
10106exchanger. Specify "<a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> = no" if Postfix should
10107bounce the mail immediately. The default setting is incorrect, but
10108it is what a lot of people expect to happen.  </p>
10109
10110
10111</DD>
10112
10113<DT><b><a name="smtp_skip_quit_response">smtp_skip_quit_response</a>
10114(default: yes)</b></DT><DD>
10115
10116<p>
10117Do not wait for the response to the SMTP QUIT command.
10118</p>
10119
10120
10121</DD>
10122
10123<DT><b><a name="smtp_starttls_timeout">smtp_starttls_timeout</a>
10124(default: 300s)</b></DT><DD>
10125
10126<p> Time limit for Postfix SMTP client write and read operations
10127during TLS startup and shutdown handshake procedures. </p>
10128
10129<p> This feature is available in Postfix 2.2 and later.  </p>
10130
10131
10132</DD>
10133
10134<DT><b><a name="smtp_tls_CAfile">smtp_tls_CAfile</a>
10135(default: empty)</b></DT><DD>
10136
10137<p> A file containing CA certificates of root CAs trusted to sign
10138either remote SMTP server certificates or intermediate CA certificates.
10139These are loaded into memory before the <a href="smtp.8.html">smtp(8)</a> client enters the
10140chroot jail. If the number of trusted roots is large, consider using
10141<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> instead, but note that the latter directory must be
10142present in the chroot jail if the <a href="smtp.8.html">smtp(8)</a> client is chrooted. This
10143file may also be used to augment the client certificate trust chain,
10144but it is best to include all the required certificates directly in
10145$<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>. </p>
10146
10147<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
10148appending the system-supplied default CAs and trusting third-party
10149certificates. </p>
10150
10151<p> Example: </p>
10152
10153<pre>
10154<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /etc/postfix/CAcert.pem
10155</pre>
10156
10157<p> This feature is available in Postfix 2.2 and later.  </p>
10158
10159
10160</DD>
10161
10162<DT><b><a name="smtp_tls_CApath">smtp_tls_CApath</a>
10163(default: empty)</b></DT><DD>
10164
10165<p> Directory with PEM format certificate authority certificates
10166that the Postfix SMTP client uses to verify a remote SMTP server
10167certificate.  Don't forget to create the necessary "hash" links
10168with, for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs".
10169</p>
10170
10171<p> To use this option in chroot mode, this directory (or a copy)
10172must be inside the chroot jail. </p>
10173
10174<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
10175appending the system-supplied default CAs and trusting third-party
10176certificates. </p>
10177
10178<p> Example: </p>
10179
10180<pre>
10181<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /etc/postfix/certs
10182</pre>
10183
10184<p> This feature is available in Postfix 2.2 and later.  </p>
10185
10186
10187</DD>
10188
10189<DT><b><a name="smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a>
10190(default: no)</b></DT><DD>
10191
10192<p> Try to detect a mail hijacking attack based on a TLS protocol
10193vulnerability (CVE-2009-3555), where an attacker prepends malicious
10194HELO, MAIL, RCPT, DATA commands to a Postfix SMTP client TLS session.
10195The attack would succeed with non-Postfix SMTP servers that reply
10196to the malicious HELO, MAIL, RCPT, DATA commands after negotiating
10197the Postfix SMTP client TLS session.  </p>
10198
10199<p> This feature is available in Postfix 2.7. </p>
10200
10201
10202</DD>
10203
10204<DT><b><a name="smtp_tls_cert_file">smtp_tls_cert_file</a>
10205(default: empty)</b></DT><DD>
10206
10207<p> File with the Postfix SMTP client RSA certificate in PEM format.
10208This file may also contain the Postfix SMTP client private RSA key,
10209and these may be the same as the Postfix SMTP server RSA certificate and key
10210file. </p>
10211
10212<p> Do not configure client certificates unless you <b>must</b> present
10213client TLS certificates to one or more servers. Client certificates are
10214not usually needed, and can cause problems in configurations that work
10215well without them. The recommended setting is to let the defaults stand: </p>
10216
10217<blockquote>
10218<pre>
10219<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> =
10220<a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> =
10221<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> =
10222<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> =
10223<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> =
10224<a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> =
10225</pre>
10226</blockquote>
10227
10228<p> The best way to use the default settings is to comment out the above
10229parameters in <a href="postconf.5.html">main.cf</a> if present. </p>
10230
10231<p> To enable remote SMTP servers to verify the Postfix SMTP client
10232certificate, the issuing CA certificates must be made available to the
10233server. You should include the required certificates in the client
10234certificate file, the client certificate first, then the issuing
10235CA(s) (bottom-up order). </p>
10236
10237<p> Example: the certificate for "client.example.com" was issued by
10238"intermediate CA" which itself has a certificate issued by "root CA".
10239Create the client.pem file with "cat client_cert.pem intermediate_CA.pem
10240root_CA.pem &gt; client.pem". </p>
10241
10242<p> If you also want to verify remote SMTP server certificates issued by
10243these CAs, you can add the CA certificates to the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>, in
10244which case it is not necessary to have them in the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>,
10245<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>
10246
10247<p> A certificate supplied here must be usable as an SSL client certificate
10248and hence pass the "openssl verify -purpose sslclient ..." test. </p>
10249
10250<p> Example: </p>
10251
10252<pre>
10253<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> = /etc/postfix/client.pem
10254</pre>
10255
10256<p> This feature is available in Postfix 2.2 and later.  </p>
10257
10258
10259</DD>
10260
10261<DT><b><a name="smtp_tls_cipherlist">smtp_tls_cipherlist</a>
10262(default: empty)</b></DT><DD>
10263
10264<p> Obsolete Postfix &lt; 2.3 control for the Postfix SMTP client TLS
10265cipher list. As this feature applies to all TLS security levels, it is easy
10266to create inter-operability problems by choosing a non-default cipher
10267list. Do not use a non-default TLS cipher list on hosts that deliver email
10268to the public Internet: you will be unable to send email to servers that
10269only support the ciphers you exclude. Using a restricted cipher list
10270may be more appropriate for an internal MTA, where one can exert some
10271control over the TLS software and settings of the peer servers. </p>
10272
10273<p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
10274
10275<p> This feature is available in Postfix version 2.2. It is not used with
10276Postfix 2.3 and later; use <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> instead. </p>
10277
10278
10279</DD>
10280
10281<DT><b><a name="smtp_tls_ciphers">smtp_tls_ciphers</a>
10282(default: export)</b></DT><DD>
10283
10284<p> The minimum TLS cipher grade that the Postfix SMTP client
10285will use with opportunistic TLS encryption. Cipher types listed in
10286<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> are excluded from the base definition of
10287the selected cipher grade. The default value "export" ensures maximum
10288inter-operability. Because encryption is optional, stronger controls
10289are not appropriate, and this setting SHOULD NOT be changed unless the
10290change is essential. </p>
10291
10292<p> When TLS is mandatory the cipher grade is chosen via the
10293<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
10294details. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure
10295ciphers on a per-destination basis. </p>
10296
10297<p> Example: </p>
10298<pre>
10299<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> = export
10300</pre>
10301
10302<p> This feature is available in Postfix 2.6 and later. With earlier Postfix
10303releases only the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter is implemented,
10304and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
10305
10306
10307</DD>
10308
10309<DT><b><a name="smtp_tls_dcert_file">smtp_tls_dcert_file</a>
10310(default: empty)</b></DT><DD>
10311
10312<p> File with the Postfix SMTP client DSA certificate in PEM format.
10313This file may also contain the Postfix SMTP client private DSA key. </p>
10314
10315<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
10316</p>
10317
10318<p> Example: </p>
10319
10320<pre>
10321<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem
10322</pre>
10323
10324<p> This feature is available in Postfix 2.2 and later.  </p>
10325
10326
10327</DD>
10328
10329<DT><b><a name="smtp_tls_dkey_file">smtp_tls_dkey_file</a>
10330(default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD>
10331
10332<p> File with the Postfix SMTP client DSA private key in PEM format.
10333This file may be combined with the Postfix SMTP client DSA certificate
10334file specified with $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>. </p>
10335
10336<p> The private key must be accessible without a pass-phrase, i.e. it
10337must not be encrypted. File permissions should grant read-only
10338access to the system superuser account ("root"), and no access
10339to anyone else. </p>
10340
10341<p> This feature is available in Postfix 2.2 and later.  </p>
10342
10343
10344</DD>
10345
10346<DT><b><a name="smtp_tls_eccert_file">smtp_tls_eccert_file</a>
10347(default: empty)</b></DT><DD>
10348
10349<p> File with the Postfix SMTP client ECDSA certificate in PEM format.
10350This file may also contain the Postfix SMTP client ECDSA private key. </p>
10351
10352<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
10353</p>
10354
10355<p> Example: </p>
10356
10357<pre>
10358<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> = /etc/postfix/ecdsa-ccert.pem
10359</pre>
10360
10361<p> This feature is available in Postfix 2.6 and later, when Postfix is
10362compiled and linked with OpenSSL 1.0.0 or later. </p>
10363
10364
10365</DD>
10366
10367<DT><b><a name="smtp_tls_eckey_file">smtp_tls_eckey_file</a>
10368(default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD>
10369
10370<p> File with the Postfix SMTP client ECDSA private key in PEM format.
10371This file may be combined with the Postfix SMTP client ECDSA
10372certificate file specified with $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. </p>
10373
10374<p> The private key must be accessible without a pass-phrase, i.e. it
10375must not be encrypted. File permissions should grant read-only
10376access to the system superuser account ("root"), and no access
10377to anyone else. </p>
10378
10379<p> This feature is available in Postfix 2.6 and later, when Postfix is
10380compiled and linked with OpenSSL 1.0.0 or later. </p>
10381
10382
10383</DD>
10384
10385<DT><b><a name="smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
10386(default: yes)</b></DT><DD>
10387
10388<p> With mandatory TLS encryption, require that the remote SMTP
10389server hostname matches the information in the remote SMTP server
10390certificate.  As of <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> the requirements for hostname checking
10391for MTA clients are not specified. </p>
10392
10393<p> This option can be set to "no" to disable strict peer name
10394checking. This setting has no effect on sessions that are controlled
10395via the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table.  </p>
10396
10397<p> Disabling the hostname verification can make sense in closed
10398environment where special CAs are created.  If not used carefully,
10399this option opens the danger of a "man-in-the-middle" attack (the
10400CommonName of this attacker will be logged). </p>
10401
10402<p> This feature is available in Postfix 2.2 and later. With
10403Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
10404
10405
10406</DD>
10407
10408<DT><b><a name="smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
10409(default: empty)</b></DT><DD>
10410
10411<p> List of ciphers or cipher types to exclude from the Postfix
10412SMTP client cipher
10413list at all TLS security levels. This is not an OpenSSL cipherlist, it is
10414a simple list separated by whitespace and/or commas. The elements are a
10415single cipher, or one or more "+" separated cipher properties, in which
10416case only ciphers matching <b>all</b> the properties are excluded. </p>
10417
10418<p> Examples (some of these will cause problems): </p>
10419
10420<blockquote>
10421<pre>
10422<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL
10423<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = MD5, DES
10424<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = DES+MD5
10425<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
10426<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = kEDH+aRSA
10427</pre>
10428</blockquote>
10429
10430<p> The first setting, disables anonymous ciphers. The next setting
10431disables ciphers that use the MD5 digest algorithm or the (single) DES
10432encryption algorithm. The next setting disables ciphers that use MD5 and
10433DES together.  The next setting disables the two ciphers "AES256-SHA"
10434and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
10435key exchange with RSA authentication. </p>
10436
10437<p> This feature is available in Postfix 2.3 and later. </p>
10438
10439
10440</DD>
10441
10442<DT><b><a name="smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
10443(default: empty)</b></DT><DD>
10444
10445<p> List of acceptable remote SMTP server certificate fingerprints
10446for the "fingerprint" TLS security level (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> =
10447fingerprint). At this security level, certificate authorities are
10448not used, and certificate expiration times are ignored. Instead,
10449server certificates are verified directly via their "fingerprint". The
10450fingerprint is a message digest of the server certificate. The digest
10451algorithm is selected via the <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b>
10452parameter. </p>
10453
10454<p> When an <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a></b> table entry specifies the
10455"fingerprint" security level, any "match" attributes in that entry specify
10456the list of valid fingerprints for the corresponding destination. Multiple
10457fingerprints can be combined with a "|" delimiter in a single match
10458attribute, or multiple match attributes can be employed. </p>
10459
10460<p> Example: Certificate fingerprint verification with internal mailhub.
10461Two matching fingerprints are listed. The <a href="postconf.5.html#relayhost">relayhost</a> may be multiple
10462physical hosts behind a load-balancer, each with its own private/public
10463key and self-signed certificate. Alternatively, a single <a href="postconf.5.html#relayhost">relayhost</a> may
10464be in the process of switching from one set of private/public keys to
10465another, and both keys are trusted just prior to the transition. </p>
10466
10467<blockquote>
10468<pre>
10469<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
10470<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
10471<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
10472<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
10473    3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
10474    EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
10475</pre>
10476</blockquote>
10477
10478<p> Example: Certificate fingerprint verification with selected destinations.
10479As in the example above, we show two matching fingerprints: </p>
10480
10481<blockquote>
10482<pre>
10483/etc/postfix/<a href="postconf.5.html">main.cf</a>:
10484    <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = hash:/etc/postfix/tls_policy
10485    <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
10486</pre>
10487</blockquote>
10488
10489<blockquote>
10490<pre>
10491/etc/postfix/tls_policy:
10492    example.com	fingerprint
10493        match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
10494        match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
10495</pre>
10496</blockquote>
10497
10498<p> This feature is available in Postfix 2.5 and later. </p>
10499
10500
10501</DD>
10502
10503<DT><b><a name="smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
10504(default: md5)</b></DT><DD>
10505
10506<p> The message digest algorithm used to construct remote SMTP server
10507certificate fingerprints. At the "fingerprint" TLS security level
10508(<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> = fingerprint), the server certificate is
10509verified by directly matching its <i>fingerprint</i>. The fingerprint
10510is the message digest of the server certificate using the selected
10511algorithm. With a digest algorithm resistant to "second pre-image"
10512attacks, it is not feasible to create a new public key and a matching
10513certificate that has the same fingerprint. </p>
10514
10515<p> The default algorithm is <b>md5</b>; this is consistent with
10516the backwards compatible setting of the digest used to verify client
10517certificates in the SMTP server. </p>
10518
10519<p> The best practice algorithm is now <b>sha1</b>. Recent advances in hash
10520function cryptanalysis have led to md5 being deprecated in favor of sha1.
10521However, as long as there are no known "second pre-image" attacks
10522against md5, its use in this context can still be considered safe.
10523</p>
10524
10525<p> While additional digest algorithms are often available with OpenSSL's
10526libcrypto, only those used by libssl in SSL cipher suites are available to
10527Postfix. For now this means just md5 or sha1. </p>
10528
10529<p> To find the fingerprint of a specific certificate file, with a
10530specific digest algorithm, run:
10531</p>
10532
10533<blockquote>
10534<pre>
10535$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
10536</pre>
10537</blockquote>
10538
10539<p> The text to the right of "=" sign is the desired fingerprint.
10540For example: </p>
10541
10542<blockquote>
10543<pre>
10544$ openssl x509 -noout -fingerprint -sha1 -in cert.pem
10545SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
10546</pre>
10547</blockquote>
10548
10549<p> This feature is available in Postfix 2.5 and later. </p>
10550
10551
10552</DD>
10553
10554<DT><b><a name="smtp_tls_key_file">smtp_tls_key_file</a>
10555(default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD>
10556
10557<p> File with the Postfix SMTP client RSA private key in PEM format.
10558This file may be combined with the Postfix SMTP client RSA certificate
10559file specified with $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>. </p>
10560
10561<p> The private key must be accessible without a pass-phrase, i.e. it
10562must not be encrypted. File permissions should grant read-only
10563access to the system superuser account ("root"), and no access
10564to anyone else. </p>
10565
10566<p> Example: </p>
10567
10568<pre>
10569<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>
10570</pre>
10571
10572<p> This feature is available in Postfix 2.2 and later.  </p>
10573
10574
10575</DD>
10576
10577<DT><b><a name="smtp_tls_loglevel">smtp_tls_loglevel</a>
10578(default: 0)</b></DT><DD>
10579
10580<p> Enable additional Postfix SMTP client logging of TLS activity.
10581Each logging level also includes the information that is logged at
10582a lower logging level.  </p>
10583
10584<dl compact>
10585
10586<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
10587
10588<dt> </dt> <dd> 1 Log TLS handshake and certificate information. </dd>
10589
10590<dt> </dt> <dd> 2 Log levels during TLS negotiation. </dd>
10591
10592<dt> </dt> <dd> 3 Log hexadecimal and ASCII dump of TLS negotiation
10593process.  </dd>
10594
10595<dt> </dt> <dd> 4 Log hexadecimal and ASCII dump of complete
10596transmission after STARTTLS. </dd>
10597
10598</dl>
10599
10600<p> Use "<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> = 3" only in case of problems. Use of
10601loglevel 4 is strongly discouraged. </p>
10602
10603<p> This feature is available in Postfix 2.2 and later.  </p>
10604
10605
10606</DD>
10607
10608<DT><b><a name="smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
10609(default: medium)</b></DT><DD>
10610
10611<p> The minimum TLS cipher grade that the Postfix SMTP client will
10612use with
10613mandatory TLS encryption.  The default value "medium" is suitable
10614for most destinations with which you may want to enforce TLS, and
10615is beyond the reach of today's cryptanalytic methods. See
10616<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure ciphers
10617on a per-destination basis. </p>
10618
10619<p> The following cipher grades are supported: </p>
10620
10621<dl>
10622<dt><b>export</b></dt>
10623<dd> Enable "EXPORT" grade or better OpenSSL
10624ciphers.  This is the default for opportunistic encryption. It is
10625not recommended for mandatory encryption unless you must enforce TLS
10626with "crippled" peers. The underlying cipherlist is specified via the
10627<a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration parameter, which you are strongly
10628encouraged to not change. </dd>
10629
10630<dt><b>low</b></dt>
10631<dd> Enable "LOW" grade or better OpenSSL ciphers.  This
10632setting is only appropriate for internal mail servers.  The underlying
10633cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration
10634parameter, which you are strongly encouraged to not change. </dd>
10635
10636<dt><b>medium</b></dt>
10637<dd> Enable "MEDIUM" grade or better OpenSSL ciphers.
10638The underlying cipherlist is specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a>
10639configuration parameter, which you are strongly encouraged to not change.
10640</dd>
10641
10642<dt><b>high</b></dt>
10643<dd> Enable only "HIGH" grade OpenSSL ciphers.  This setting may
10644be appropriate when all mandatory TLS destinations (e.g. when all
10645mail is routed to a suitably capable <a href="postconf.5.html#relayhost">relayhost</a>) support at least one
10646"HIGH" grade cipher. The underlying cipherlist is specified via the
10647<a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a> configuration parameter, which you are strongly
10648encouraged to not change. </dd>
10649
10650<dt><b>null</b></dt>
10651<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
10652without encryption.  This setting is only appropriate in the rare case
10653that all servers are prepared to use NULL ciphers (not normally enabled
10654in TLS servers). A plausible use-case is an LMTP server listening on a
10655UNIX-domain socket that is configured to support "NULL" ciphers. The
10656underlying cipherlist is specified via the <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a>
10657configuration parameter, which you are strongly encouraged to not
10658change. </dd>
10659
10660</dl>
10661
10662<p> The underlying cipherlists for grades other than "null" include
10663anonymous ciphers, but these are automatically filtered out if the
10664Postfix SMTP client is configured to verify server certificates.
10665You are very unlikely to need to take any steps to exclude anonymous
10666ciphers, they are excluded automatically as necessary.  If you must
10667exclude anonymous ciphers at the "may" or "encrypt" security levels,
10668when the Postfix SMTP client does not need or use peer certificates, set
10669"<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only when
10670TLS is enforced, set "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
10671
10672<p> This feature is available in Postfix 2.3 and later. </p>
10673
10674
10675</DD>
10676
10677<DT><b><a name="smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
10678(default: empty)</b></DT><DD>
10679
10680<p> Additional list of ciphers or cipher types to exclude from the
10681SMTP client cipher list at mandatory TLS security levels. This list
10682works in addition to the exclusions listed with <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
10683(see there for syntax details).  </p>
10684
10685<p> Starting with Postfix 2.6, the mandatory cipher exclusions can be
10686specified on a per-destination basis via the TLS policy "exclude"
10687attribute. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for notes and examples. </p>
10688
10689<p> This feature is available in Postfix 2.3 and later. </p>
10690
10691
10692</DD>
10693
10694<DT><b><a name="smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
10695(default: SSLv3, TLSv1)</b></DT><DD>
10696
10697<p> List of SSL/TLS protocols that the Postfix SMTP client will use with
10698mandatory TLS encryption.  In <a href="postconf.5.html">main.cf</a> the values are separated by
10699whitespace, commas or colons. In the policy table "protocols" attribute
10700(see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon. An
10701empty value means allow all protocols. The valid protocol names, (see
10702<b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3" and "TLSv1". </p>
10703
10704<p> With Postfix &ge; 2.5 the parameter syntax is expanded to support
10705protocol exclusions. One can now explicitly exclude SSLv2 by setting
10706"<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2". To exclude both SSLv2 and
10707SSLv3 set "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing
10708the protocols to include, rather than protocols to exclude, is still
10709supported; use the form you find more intuitive. </p>
10710
10711<p> Since SSL version 2 has known protocol weaknesses and is now
10712deprecated, the default setting excludes "SSLv2".  This means that by
10713default, SSL version 2 will not be used at the "encrypt" security level
10714and higher. </p>
10715
10716<p> See the documentation of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> parameter and
10717<a href="TLS_README.html">TLS_README</a> for more information about security levels. </p>
10718
10719<p> Example: </p>
10720
10721<pre>
10722<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1
10723# Alternative form with Postfix &ge; 2.5:
10724<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
10725</pre>
10726
10727<p> This feature is available in Postfix 2.3 and later. </p>
10728
10729
10730</DD>
10731
10732<DT><b><a name="smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
10733(default: no)</b></DT><DD>
10734
10735<p> Log the hostname of a remote SMTP server that offers STARTTLS,
10736when TLS is not already enabled for that server. </p>
10737
10738<p> The logfile record looks like:  </p>
10739
10740<pre>
10741postfix/smtp[pid]:  Host offered STARTTLS: [name.of.host]
10742</pre>
10743
10744<p> This feature is available in Postfix 2.2 and later.  </p>
10745
10746
10747</DD>
10748
10749<DT><b><a name="smtp_tls_per_site">smtp_tls_per_site</a>
10750(default: empty)</b></DT><DD>
10751
10752<p> Optional lookup tables with the Postfix SMTP client TLS usage
10753policy by next-hop destination and by remote SMTP server hostname.
10754When both lookups succeed, the more specific per-site policy (NONE,
10755MUST, etc) overrides the less specific one (MAY), and the more secure
10756per-site policy (MUST, etc) overrides the less secure one (NONE).
10757With Postfix 2.3 and later <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> is strongly discouraged:
10758use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
10759
10760<p> Use of the bare hostname as the per-site table lookup key is
10761discouraged. Always use the full destination nexthop (enclosed in
10762[] with a possible ":port" suffix). A recipient domain or MX-enabled
10763transport next-hop with no port suffix may look like a bare hostname,
10764but is still a suitable <i>destination</i>. </p>
10765
10766<p> Specify a next-hop destination or server hostname on the left-hand
10767side; no wildcards are allowed. The next-hop destination is either
10768the recipient domain, or the destination specified with a <a href="transport.5.html">transport(5)</a>
10769table, the <a href="postconf.5.html#relayhost">relayhost</a> parameter, or the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter.
10770On the right hand side specify one of the following keywords:  </p>
10771
10772<dl>
10773
10774<dt> NONE </dt> <dd> Don't use TLS at all. This overrides a less
10775specific <b>MAY</b> lookup result from the alternate host or next-hop
10776lookup 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>,
10777and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd>
10778
10779<dt> MAY </dt> <dd> Try to use TLS if the server announces support,
10780otherwise use the unencrypted connection. This has less precedence
10781than a more specific result (including <b>NONE</b>) from the alternate
10782host or next-hop lookup key, and has less precedence than the more
10783specific 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>
10784= yes".  </dd>
10785
10786<dt> MUST_NOPEERMATCH </dt> <dd> Require TLS encryption, but do not
10787require that the remote SMTP server hostname matches the information
10788in the remote SMTP server certificate, or that the server certificate
10789was issued by a trusted CA. This overrides a less secure <b>NONE</b>
10790or a less specific <b>MAY</b> lookup result from the alternate host
10791or next-hop lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>,
10792<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>
10793
10794<dt> MUST </dt> <dd> Require TLS encryption, require that the remote
10795SMTP server hostname matches the information in the remote SMTP
10796server certificate, and require that the remote SMTP server certificate
10797was issued by a trusted CA. This overrides a less secure <b>NONE</b>
10798and <b>MUST_NOPEERMATCH</b> or a less specific <b>MAY</b> lookup
10799result from the alternate host or next-hop lookup key, and overrides
10800the 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>
10801settings.  </dd>
10802
10803</dl>
10804
10805<p> The above keywords correspond to the "none", "may", "encrypt" and
10806"verify" security levels for the new <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> parameter
10807introduced in Postfix 2.3. Starting with Postfix 2.3, and independently
10808of how the policy is specified, the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
10809<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameters apply when TLS encryption
10810is mandatory. Connections for which encryption is optional typically
10811enable all "export" grade and better ciphers (see <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>
10812and <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>). </p>
10813
10814<p> As long as no secure DNS lookup mechanism is available, false
10815hostnames in MX or CNAME responses can change the server hostname
10816that Postfix uses for TLS policy lookup and server certificate
10817verification. Even with a perfect match between the server hostname and
10818the server certificate, there is no guarantee that Postfix is connected
10819to the right server.  See <a href="TLS_README.html">TLS_README</a> (Closing a DNS loophole with obsolete
10820per-site TLS policies) for a possible work-around. </p>
10821
10822<p> This feature is available in Postfix 2.2 and later. With
10823Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
10824
10825
10826</DD>
10827
10828<DT><b><a name="smtp_tls_policy_maps">smtp_tls_policy_maps</a>
10829(default: empty)</b></DT><DD>
10830
10831<p> Optional lookup tables with the Postfix SMTP client TLS security
10832policy by next-hop destination; when a non-empty value is specified,
10833this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter.  See
10834<a href="TLS_README.html">TLS_README</a> for a more detailed discussion of TLS security levels.
10835</p>
10836
10837<p> The TLS policy table is indexed by the full next-hop destination,
10838which is either the recipient domain, or the verbatim next-hop
10839specified in the transport table, $<a href="postconf.5.html#local_transport">local_transport</a>, $<a href="postconf.5.html#virtual_transport">virtual_transport</a>,
10840$<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
10841square brackets and any non-default destination server port suffix. The
10842LMTP socket type prefix (inet: or unix:) is not included in the lookup
10843key. </p>
10844
10845<p> Only the next-hop domain, or $<a href="postconf.5.html#myhostname">myhostname</a> with LMTP over UNIX-domain
10846sockets, is used as the nexthop name for certificate verification. The
10847port and any enclosing square brackets are used in the table lookup key,
10848but are not used for server name verification. </p>
10849
10850<p> When the lookup key is a domain name without enclosing square brackets
10851or any <i>:port</i> suffix (typically the recipient domain), and the full
10852domain is not found in the table, just as with the <a href="transport.5.html">transport(5)</a> table,
10853the parent domain starting with a leading "." is matched recursively. This
10854allows one to specify a security policy for a recipient domain and all
10855its sub-domains. </p>
10856
10857<p> The lookup result is a security level, followed by an optional list
10858of whitespace and/or comma separated name=value attributes that override
10859related <a href="postconf.5.html">main.cf</a> settings. The TLS security levels in order of increasing
10860security are: </p>
10861
10862<dl>
10863
10864<dt><b>none</b></dt>
10865<dd>No TLS. No additional attributes are supported at this level. </dd>
10866
10867<dt><b>may</b></dt>
10868<dd>Opportunistic TLS. Since sending in the clear is acceptable,
10869demanding stronger than default TLS security merely reduces
10870inter-operability. The optional "ciphers", "exclude" and "protocols"
10871attributes (available for opportunistic TLS with Postfix &ge; 2.6)
10872override 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
10873"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>" configuration parameters. When opportunistic TLS
10874handshakes fail, Postfix retries the connection with TLS disabled.
10875This allows mail delivery to sites with non-interoperable TLS
10876implementations.</dd>
10877
10878<dt><b>encrypt</b></dt> <dd>Mandatory TLS encryption. At this level
10879and higher, the optional "protocols" attribute overrides the <a href="postconf.5.html">main.cf</a>
10880<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameter, the optional "ciphers" attribute
10881overrides 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
10882optional "exclude" attribute (Postfix &ge; 2.6) overrides the <a href="postconf.5.html">main.cf</a>
10883<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> parameter. In the policy table,
10884multiple protocols or excluded ciphers must be separated by colons,
10885as attribute values may not contain whitespace or commas. </dd>
10886
10887<dt><b>fingerprint</b></dt> <dd>Certificate fingerprint
10888verification. Available with Postfix 2.5 and later. At this security
10889level, there are no trusted certificate authorities. The certificate
10890trust chain, expiration date, ... are not checked. Instead,
10891the optional <b>match</b> attribute, or else the <a href="postconf.5.html">main.cf</a>
10892<b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> parameter, lists the
10893valid "fingerprints" of the server certificate. The digest
10894algorithm used to calculate the fingerprint is selected by the
10895<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Multiple fingerprints can
10896be combined with a "|" delimiter in a single match attribute, or multiple
10897match attributes can be employed. The ":" character is not used as a
10898delimiter as it occurs between each pair of fingerprint (hexadecimal)
10899digits. </dd>
10900
10901<dt><b>verify</b></dt> <dd>Mandatory TLS verification.  At this security
10902level, DNS MX lookups are trusted to be secure enough, and the name
10903verified in the server certificate is usually obtained indirectly via
10904unauthenticated DNS MX lookups.  The optional "match" attribute overrides
10905the <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,
10906multiple match patterns and strategies must be separated by colons.
10907In practice explicit control over matching is more common with the
10908"secure" policy, described below. </dd>
10909
10910<dt><b>secure</b></dt> <dd>Secure-channel TLS. At this security level, DNS
10911MX lookups, though potentially used to determine the candidate next-hop
10912gateway IP addresses, are <b>not</b> trusted to be secure enough for TLS
10913peername verification. Instead, the default name verified in the server
10914certificate is obtained directly from the next-hop, or is explicitly
10915specified via the optional <b>match</b> attribute which overrides the
10916<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,
10917multiple match patterns and strategies must be separated by colons.
10918The match attribute is most useful when multiple domains are supported by
10919common server, the policy entries for additional domains specify matching
10920rules for the primary domain certificate. While transport table overrides
10921routing the secondary domains to the primary nexthop also allow secure
10922verification, they risk delivery to the wrong destination when domains
10923change hands or are re-assigned to new gateways. With the "match"
10924attribute approach, routing is not perturbed, and mail is deferred if
10925verification of a new MX host fails. </dd>
10926
10927</dl>
10928
10929<p>
10930Example:
10931</p>
10932
10933<pre>
10934/etc/postfix/<a href="postconf.5.html">main.cf</a>:
10935    <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = hash:/etc/postfix/tls_policy
10936    # Postfix 2.5 and later
10937    <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
10938</pre>
10939
10940<pre>
10941/etc/postfix/tls_policy:
10942    example.edu                 none
10943    example.mil                 may
10944    example.gov                 encrypt protocols=TLSv1
10945    example.com                 verify ciphers=high
10946    example.net                 secure
10947    .example.net                secure match=.example.net:example.net
10948    [mail.example.org]:587      secure match=nexthop
10949    # Postfix 2.5 and later
10950    [thumb.example.org]          fingerprint
10951    	match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
10952	match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
10953</pre>
10954
10955<p> <b>Note:</b> The <b>hostname</b> strategy if listed in a non-default
10956setting of <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> or in the <b>match</b> attribute
10957in the policy table can render the <b>secure</b> level vulnerable to
10958DNS forgery. Do not use the <b>hostname</b> strategy for secure-channel
10959configurations in environments where DNS security is not assured. </p>
10960
10961<p> This feature is available in Postfix 2.3 and later. </p>
10962
10963
10964</DD>
10965
10966<DT><b><a name="smtp_tls_protocols">smtp_tls_protocols</a>
10967(default: !SSLv2)</b></DT><DD>
10968
10969<p> List of TLS protocols that the Postfix SMTP client will exclude or
10970include with opportunistic TLS encryption. Starting with Postfix 2.6,
10971the Postfix SMTP client will by default not use the obsolete SSLv2
10972protocol. </p>
10973
10974<p> In <a href="postconf.5.html">main.cf</a> the values are separated by whitespace, commas or
10975colons. In the policy table (see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid
10976separator is colon. An empty value means allow all protocols. The valid
10977protocol names, (see <b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3"
10978and "TLSv1". </p>
10979
10980<p> To include a protocol list its name, to exclude it, prefix the name
10981with a "!" character. To exclude SSLv2 even for opportunistic TLS set
10982"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set
10983"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to
10984include, is supported, but not recommended. OpenSSL provides no mechanisms
10985for excluding protocols not known at compile-time. If Postfix is linked
10986against an OpenSSL library that supports additional protocol versions,
10987they cannot be excluded using either syntax. </p>
10988
10989<p> Example: </p>
10990<pre>
10991# TLSv1 only!
10992<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
10993</pre>
10994
10995<p> This feature is available in Postfix 2.6 and later. </p>
10996
10997
10998</DD>
10999
11000<DT><b><a name="smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
11001(default: 9)</b></DT><DD>
11002
11003<p> The verification depth for remote SMTP server certificates. A depth
11004of 1 is sufficient if the issuing CA is listed in a local CA file. </p>
11005
11006<p> The default verification depth is 9 (the OpenSSL default) for
11007compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
11008the default value was 5, but the limit was not actually enforced. If
11009you have set this to a lower non-default value, certificates with longer
11010trust chains may now fail to verify. Certificate chains with 1 or 2
11011CAs are common, deeper chains are more rare and any number between 5
11012and 9 should suffice in practice. You can choose a lower number if,
11013for example, you trust certificates directly signed by an issuing CA
11014but not any CAs it delegates to. </p>
11015
11016<p> This feature is available in Postfix 2.2 and later.  </p>
11017
11018
11019</DD>
11020
11021<DT><b><a name="smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
11022(default: nexthop, dot-nexthop)</b></DT><DD>
11023
11024<p> The server certificate peername verification method for the
11025"secure" TLS security level. In a "secure" TLS policy table
11026($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
11027overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
11028
11029<p> This parameter specifies one or more patterns or strategies separated
11030by commas, whitespace or colons.  In the policy table the only valid
11031separator is the colon character. </p>
11032
11033<p> For a description of the pattern and strategy syntax see the
11034<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. The "hostname" strategy should
11035be avoided in this context, as in the absence of a secure global DNS, using
11036the results of MX lookups in certificate verification is not immune to active
11037(man-in-the-middle) attacks on DNS. </p>
11038
11039<p>
11040Sample <a href="postconf.5.html">main.cf</a> setting:
11041</p>
11042
11043<blockquote>
11044<pre>
11045<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
11046</pre>
11047</blockquote>
11048
11049<p>
11050Sample policy table override:
11051</p>
11052
11053<blockquote>
11054<pre>
11055example.net     secure match=example.com:.example.com
11056.example.net    secure match=example.com:.example.com
11057</pre>
11058</blockquote>
11059
11060<p> This feature is available in Postfix 2.3 and later. </p>
11061
11062
11063</DD>
11064
11065<DT><b><a name="smtp_tls_security_level">smtp_tls_security_level</a>
11066(default: empty)</b></DT><DD>
11067
11068<p> The default SMTP TLS security level for the Postfix SMTP client;
11069when a non-empty value is specified, this overrides the obsolete
11070parameters <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>.
11071</p>
11072
11073<p> Specify one of the following security levels: </p>
11074
11075<dl>
11076
11077<dt><b>none</b></dt> <dd> TLS will not be used unless enabled for specific
11078destinations via <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </dd>
11079
11080<dt><b>may</b></dt>
11081<dd> Opportunistic TLS. Use TLS if this is supported by the remote
11082SMTP server, otherwise use plaintext. Since
11083sending in the clear is acceptable, demanding stronger than default TLS
11084security merely reduces inter-operability.
11085The "<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)
11086configuration parameters provide control over the protocols and
11087cipher grade used with opportunistic TLS.  With earlier releases the
11088opportunistic TLS cipher grade is always "export" and no protocols
11089are disabled.
11090When TLS handshakes fail, the connection is retried with TLS disabled.
11091This allows mail delivery to sites with non-interoperable TLS
11092implementations. </dd>
11093
11094<dt><b>encrypt</b></dt> <dd>Mandatory TLS encryption. Since a minimum
11095level of security is intended, it is reasonable to be specific about
11096sufficiently secure protocol versions and ciphers. At this security level
11097and 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
11098<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> specify the TLS protocols and minimum
11099cipher grade which the administrator considers secure enough for
11100mandatory encrypted sessions. This security level is not an appropriate
11101default for systems delivering mail to the Internet. </dd>
11102
11103<dt><b>fingerprint</b></dt> <dd>Certificate fingerprint
11104verification. Available with Postfix 2.5 and later. At this security
11105level, there are no trusted certificate authorities. The certificate
11106trust chain, expiration date, ... are not checked. Instead,
11107the <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> parameter lists
11108the valid "fingerprints" of the server certificate. The digest
11109algorithm used to calculate the fingerprint is selected by the
11110<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. </dd>
11111
11112<dt><b>verify</b></dt> <dd>Mandatory TLS verification. At this security
11113level, DNS MX lookups are trusted to be secure enough, and the name
11114verified in the server certificate is usually obtained indirectly
11115via unauthenticated DNS MX lookups. The <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
11116parameter controls how the server name is verified. In practice explicit
11117control over matching is more common at the "secure" level, described
11118below. This security level is not an appropriate default for systems
11119delivering mail to the Internet. </dd>
11120
11121<dt><b>secure</b></dt> <dd>Secure-channel TLS.  At this security level,
11122DNS MX lookups, though potentially used to determine the candidate
11123next-hop gateway IP addresses, are <b>not</b> trusted to be secure enough
11124for TLS peername verification. Instead, the default name verified in
11125the server certificate is obtained from the next-hop domain as specified
11126in the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> configuration parameter. The default
11127matching rule is that a server certificate matches when its name is equal
11128to or is a sub-domain of the nexthop domain. This security level is not
11129an appropriate default for systems delivering mail to the Internet. </dd>
11130
11131</dl>
11132
11133<p>
11134Examples:
11135</p>
11136
11137<pre>
11138# 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.
11139<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = none
11140</pre>
11141
11142<pre>
11143# Opportunistic TLS.
11144<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
11145# Postfix &ge; 2.6:
11146# Do not tweak opportunistic ciphers or protocol unless it is essential
11147# to do so (if a security vulnerability is found in the SSL library that
11148# can be mitigated by disabling a particular protocol or raising the
11149# cipher grade from "export" to "low" or "medium").
11150<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> = export
11151<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2
11152</pre>
11153
11154<pre>
11155# Mandatory (high-grade) TLS encryption.
11156<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
11157<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
11158</pre>
11159
11160<pre>
11161# Mandatory TLS verification of hostname or nexthop domain.
11162<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = verify
11163<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
11164<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
11165</pre>
11166
11167<pre>
11168# Secure channel TLS with exact nexthop name match.
11169<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = secure
11170<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1
11171<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
11172<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
11173</pre>
11174
11175<pre>
11176# Certificate fingerprint verification (Postfix &ge; 2.5).
11177# The CA-less "fingerprint" security level only scales to a limited
11178# number of destinations. As a global default rather than a per-site
11179# setting, this is practical when mail for all recipients is sent
11180# to a central mail hub.
11181<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
11182<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
11183<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
11184<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
11185<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
11186    3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
11187    EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
11188</pre>
11189
11190<p> This feature is available in Postfix 2.3 and later. </p>
11191
11192
11193</DD>
11194
11195<DT><b><a name="smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
11196(default: empty)</b></DT><DD>
11197
11198<p> Name of the file containing the optional Postfix SMTP client
11199TLS session cache. Specify a database type that supports enumeration,
11200such as <b>btree</b> or <b>sdbm</b>; there is no need to support
11201concurrent access.  The file is created if it does not exist. The <a href="smtp.8.html">smtp(8)</a>
11202daemon does not use this parameter directly, rather the cache is
11203implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
11204per-smtp-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not effective.
11205Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon:
11206$<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>
11207(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
11208be stored separately. It is not at this time possible to store multiple
11209caches in a single database. </p>
11210
11211<p> Note: <b>dbm</b> databases are not suitable. TLS
11212session objects are too large. </p>
11213
11214<p> As of version 2.5, Postfix no longer uses root privileges when
11215opening this file. The file should now be stored under the Postfix-owned
11216<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
11217under a non-Postfix directory is redirected to the Postfix-owned
11218<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
11219
11220<p> Example: </p>
11221
11222<pre>
11223<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> = btree:/var/db/postfix/smtp_scache
11224</pre>
11225
11226<p> This feature is available in Postfix 2.2 and later.  </p>
11227
11228
11229</DD>
11230
11231<DT><b><a name="smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
11232(default: 3600s)</b></DT><DD>
11233
11234<p> The expiration time of Postfix SMTP client TLS session cache
11235information.  A cache cleanup is performed periodically
11236every $<a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> seconds. As with
11237$<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>, this parameter is implemented in the
11238<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtp-instance <a href="master.5.html">master.cf</a> overrides
11239are not possible. </p>
11240
11241<p> This feature is available in Postfix 2.2 and later.  </p>
11242
11243
11244</DD>
11245
11246<DT><b><a name="smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
11247(default: hostname)</b></DT><DD>
11248
11249<p> The server certificate peername verification method for the
11250"verify" TLS security level. In a "verify" TLS policy table
11251($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
11252overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
11253
11254<p> This parameter specifies one or more patterns or strategies separated
11255by commas, whitespace or colons.  In the policy table the only valid
11256separator is the colon character. </p>
11257
11258<p> Patterns specify domain names, or domain name suffixes: </p>
11259
11260<dl>
11261
11262<dt><i>example.com</i></dt> <dd> Match the <i>example.com</i> domain,
11263i.e. one of the names the server certificate must be <i>example.com</i>,
11264upper and lower case distinctions are ignored. </dd>
11265
11266<dt><i>.example.com</i></dt>
11267<dd> Match subdomains of the <i>example.com</i> domain, i.e. match
11268a name in the server certificate that consists of a non-zero number of
11269labels followed by a <i>.example.com</i> suffix. Case distinctions are
11270ignored.</dd>
11271
11272</dl>
11273
11274<p> Strategies specify a transformation from the next-hop domain
11275to the expected name in the server certificate: </p>
11276
11277<dl>
11278
11279<dt>nexthop</dt>
11280<dd> Match against the next-hop domain, which is either the recipient
11281domain, or the transport next-hop configured for the domain stripped of
11282any optional socket type prefix, enclosing square brackets and trailing
11283port. When MX lookups are not suppressed, this is the original nexthop
11284domain prior to the MX lookup, not the result of the MX lookup. For
11285LMTP delivery via UNIX-domain sockets, the verified next-hop name is
11286$<a href="postconf.5.html#myhostname">myhostname</a>.  This strategy is suitable for use with the "secure"
11287policy. Case is ignored.</dd>
11288
11289<dt>dot-nexthop</dt>
11290<dd> As above, but match server certificate names that are subdomains
11291of the next-hop domain. Case is ignored.</dd>
11292
11293<dt>hostname</dt> <dd> Match against the hostname of the server, often
11294obtained via an unauthenticated DNS MX lookup. For LMTP delivery via
11295UNIX-domain sockets, the verified name is $<a href="postconf.5.html#myhostname">myhostname</a>. This matches
11296the verification strategy of the "MUST" keyword in the obsolete
11297<a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table, and is suitable for use with the "verify"
11298security level. When the next-hop name is enclosed in square brackets
11299to suppress MX lookups, the "hostname" strategy is the same as the
11300"nexthop" strategy. Case is ignored.</dd>
11301
11302</dl>
11303
11304<p>
11305Sample <a href="postconf.5.html">main.cf</a> setting:
11306</p>
11307
11308<pre>
11309<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
11310</pre>
11311
11312<p>
11313Sample policy table override:
11314</p>
11315
11316<pre>
11317example.com     verify  match=hostname:nexthop
11318.example.com    verify  match=example.com:.example.com:hostname
11319</pre>
11320
11321<p> This feature is available in Postfix 2.3 and later. </p>
11322
11323
11324</DD>
11325
11326<DT><b><a name="smtp_use_tls">smtp_use_tls</a>
11327(default: no)</b></DT><DD>
11328
11329<p> Opportunistic mode: use TLS when a remote SMTP server announces
11330STARTTLS support, otherwise send the mail in the clear. Beware:
11331some SMTP servers offer STARTTLS even if it is not configured.  With
11332Postfix &lt; 2.3, if the TLS handshake fails, and no other server is
11333available, delivery is deferred and mail stays in the queue. If this
11334is a concern for you, use the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> feature instead.  </p>
11335
11336<p> This feature is available in Postfix 2.2 and later. With
11337Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
11338
11339
11340</DD>
11341
11342<DT><b><a name="smtp_xforward_timeout">smtp_xforward_timeout</a>
11343(default: 300s)</b></DT><DD>
11344
11345<p>
11346The SMTP client time limit for sending the XFORWARD command, and
11347for receiving the server response.
11348</p>
11349
11350<p>
11351Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
11352The default time unit is s (seconds).
11353</p>
11354
11355<p>
11356This feature is available in Postfix 2.1 and later.
11357</p>
11358
11359
11360</DD>
11361
11362<DT><b><a name="smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
11363(default: $<a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a>)</b></DT><DD>
11364
11365<p> What SMTP clients are allowed to specify the XVERP command.
11366This command requests that mail be delivered one recipient at a
11367time with a per recipient return address.  </p>
11368
11369<p> By default, no clients are allowed to specify XVERP.  </p>
11370
11371<p> This parameter was renamed with Postfix version 2.1. The default value
11372is backwards compatible with Postfix version 2.0.  </p>
11373
11374<p> Specify a list of network/netmask patterns, separated by commas
11375and/or whitespace. The mask specifies the number of bits in the
11376network part of a host address. You can also specify hostnames or
11377.domain names (the initial dot causes the domain to match any name
11378below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
11379pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
11380is matched when a table entry matches a lookup string (the lookup
11381result is ignored).  Continue long lines by starting the next line
11382with whitespace. Specify "!pattern" to exclude an address or network
11383block from the list. The form "!/file/name" is supported only in
11384Postfix version 2.4 and later.  </p>
11385
11386<p> Note: IP version 6 address information must be specified inside
11387<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> value, and in
11388files specified with "/file/name".  IP version 6 addresses contain
11389the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
11390pattern.  </p>
11391
11392
11393</DD>
11394
11395<DT><b><a name="smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>
11396(default: empty)</b></DT><DD>
11397
11398<p>
11399What SMTP clients are allowed to use the XCLIENT feature.  This
11400command overrides SMTP client information that is used for access
11401control. Typical use is for SMTP-based content filters, fetchmail-like
11402programs, or SMTP server access rule testing. See the <a href="XCLIENT_README.html">XCLIENT_README</a>
11403document for details.
11404</p>
11405
11406<p>
11407This feature is available in Postfix 2.1 and later.
11408</p>
11409
11410<p>
11411By default, no clients are allowed to specify XCLIENT.
11412</p>
11413
11414<p>
11415Specify a list of network/netmask patterns, separated by commas
11416and/or whitespace. The mask specifies the number of bits in the
11417network part of a host address. You can also specify hostnames or
11418.domain names (the initial dot causes the domain to match any name
11419below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
11420pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
11421is matched when a table entry matches a lookup string (the lookup
11422result is ignored).  Continue long lines by starting the next line
11423with whitespace. Specify "!pattern" to exclude an address or network
11424block from the list. The form "!/file/name" is supported only in
11425Postfix version 2.4 and later.  </p>
11426
11427<p> Note: IP version 6 address information must be specified inside
11428<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> value, and in
11429files specified with "/file/name".  IP version 6 addresses contain
11430the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
11431pattern.  </p>
11432
11433
11434</DD>
11435
11436<DT><b><a name="smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a>
11437(default: empty)</b></DT><DD>
11438
11439<p>
11440What SMTP clients are allowed to use the XFORWARD feature.  This
11441command forwards information that is used to improve logging after
11442SMTP-based content filters. See the <a href="XFORWARD_README.html">XFORWARD_README</a> document for
11443details.
11444</p>
11445
11446<p>
11447This feature is available in Postfix 2.1 and later.
11448</p>
11449
11450<p>
11451By default, no clients are allowed to specify XFORWARD.
11452</p>
11453
11454<p>
11455Specify a list of network/netmask patterns, separated by commas
11456and/or whitespace. The mask specifies the number of bits in the
11457network part of a host address. You can also specify hostnames or
11458.domain names (the initial dot causes the domain to match any name
11459below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
11460pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
11461is matched when a table entry matches a lookup string (the lookup
11462result is ignored).  Continue long lines by starting the next line
11463with whitespace. Specify "!pattern" to exclude an address or network
11464block from the list. The form "!/file/name" is supported only in
11465Postfix version 2.4 and later.  </p>
11466
11467<p> Note: IP version 6 address information must be specified inside
11468<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> value, and in
11469files specified with "/file/name".  IP version 6 addresses contain
11470the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
11471pattern.  </p>
11472
11473
11474</DD>
11475
11476<DT><b><a name="smtpd_banner">smtpd_banner</a>
11477(default: $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a>)</b></DT><DD>
11478
11479<p>
11480The text that follows the 220 status code in the SMTP greeting
11481banner. Some people like to see the mail version advertised. By
11482default, Postfix shows no version.
11483</p>
11484
11485<p>
11486You MUST specify $<a href="postconf.5.html#myhostname">myhostname</a> at the start of the text. This is
11487required by the SMTP protocol.
11488</p>
11489
11490<p>
11491Example:
11492</p>
11493
11494<pre>
11495<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>)
11496</pre>
11497
11498
11499</DD>
11500
11501<DT><b><a name="smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>
11502(default: 50)</b></DT><DD>
11503
11504<p>
11505How many simultaneous connections any client is allowed to
11506make to this service.  By default, the limit is set to half
11507the default process limit value.
11508</p>
11509
11510<p>
11511To disable this feature, specify a limit of 0.
11512</p>
11513
11514<p>
11515WARNING: The purpose of this feature is to limit abuse. It must
11516not be used to regulate legitimate mail traffic.
11517</p>
11518
11519<p>
11520This feature is available in Postfix 2.2 and later.
11521</p>
11522
11523
11524</DD>
11525
11526<DT><b><a name="smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a>
11527(default: 0)</b></DT><DD>
11528
11529<p>
11530The maximal number of connection attempts any client is allowed to
11531make to this service per time unit.  The time unit is specified
11532with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
11533</p>
11534
11535<p>
11536By default, a client can make as many connections per time unit as
11537Postfix can accept.
11538</p>
11539
11540<p>
11541To disable this feature, specify a limit of 0.
11542</p>
11543
11544<p>
11545WARNING: The purpose of this feature is to limit abuse. It must
11546not be used to regulate legitimate mail traffic.
11547</p>
11548
11549<p>
11550This feature is available in Postfix 2.2 and later.
11551</p>
11552
11553<p>
11554Example:
11555</p>
11556
11557<pre>
11558<a href="postconf.5.html#smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> = 1000
11559</pre>
11560
11561
11562</DD>
11563
11564<DT><b><a name="smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
11565(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
11566
11567<p>
11568Clients that are excluded from smtpd_client_*_count/rate_limit
11569restrictions. See the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter
11570description for the parameter value syntax.
11571</p>
11572
11573<p>
11574By default, clients in trusted networks are excluded. Specify a
11575list of network blocks, hostnames or .domain names (the initial
11576dot causes the domain to match any name below it).
11577</p>
11578
11579<p> Note: IP version 6 address information must be specified inside
11580<tt>[]</tt> in the <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> value, and
11581in files specified with "/file/name".  IP version 6 addresses
11582contain the ":" character, and would otherwise be confused with a
11583"<a href="DATABASE_README.html">type:table</a>" pattern.  </p>
11584
11585<p>
11586This feature is available in Postfix 2.2 and later.
11587</p>
11588
11589
11590</DD>
11591
11592<DT><b><a name="smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a>
11593(default: 0)</b></DT><DD>
11594
11595<p>
11596The maximal number of message delivery requests that any client is
11597allowed to make to this service per time unit, regardless of whether
11598or not Postfix actually accepts those messages.  The time unit is
11599specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
11600</p>
11601
11602<p>
11603By default, a client can send as many message delivery requests
11604per time unit as Postfix can accept.
11605</p>
11606
11607<p>
11608To disable this feature, specify a limit of 0.
11609</p>
11610
11611<p>
11612WARNING: The purpose of this feature is to limit abuse. It must
11613not be used to regulate legitimate mail traffic.
11614</p>
11615
11616<p>
11617This feature is available in Postfix 2.2 and later.
11618</p>
11619
11620<p>
11621Example:
11622</p>
11623
11624<pre>
11625<a href="postconf.5.html#smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> = 1000
11626</pre>
11627
11628
11629</DD>
11630
11631<DT><b><a name="smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a>
11632(default: 0)</b></DT><DD>
11633
11634<p>
11635The maximal number of new (i.e., uncached) TLS sessions that a
11636remote SMTP client is allowed to negotiate with this service per
11637time unit.  The time unit is specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a>
11638configuration parameter.
11639</p>
11640
11641<p>
11642By default, a remote SMTP client can negotiate as many new TLS
11643sessions per time unit as Postfix can accept.
11644</p>
11645
11646<p>
11647To disable this feature, specify a limit of 0. Otherwise, specify
11648a limit that is at least the per-client concurrent session limit,
11649or else legitimate client sessions may be rejected.
11650</p>
11651
11652<p>
11653WARNING: The purpose of this feature is to limit abuse. It must
11654not be used to regulate legitimate mail traffic.
11655</p>
11656
11657<p>
11658This feature is available in Postfix 2.3 and later.
11659</p>
11660
11661<p>
11662Example:
11663</p>
11664
11665<pre>
11666<a href="postconf.5.html#smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a> = 100
11667</pre>
11668
11669
11670</DD>
11671
11672<DT><b><a name="smtpd_client_port_logging">smtpd_client_port_logging</a>
11673(default: no)</b></DT><DD>
11674
11675<p> Enable logging of the remote SMTP client port in addition to
11676the hostname and IP address. The logging format is "host[address]:port".
11677</p>
11678
11679<p> This feature is available in Postfix 2.5 and later. </p>
11680
11681
11682</DD>
11683
11684<DT><b><a name="smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a>
11685(default: 0)</b></DT><DD>
11686
11687<p>
11688The maximal number of recipient addresses that any client is allowed
11689to send to this service per time unit, regardless of whether or not
11690Postfix actually accepts those recipients.  The time unit is specified
11691with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
11692</p>
11693
11694<p>
11695By default, a client can send as many recipient addresses per time
11696unit as Postfix can accept.
11697</p>
11698
11699<p>
11700To disable this feature, specify a limit of 0.
11701</p>
11702
11703<p>
11704WARNING: The purpose of this feature is to limit abuse. It must
11705not be used to regulate legitimate mail traffic.
11706</p>
11707
11708<p>
11709This feature is available in Postfix 2.2 and later.
11710</p>
11711
11712<p>
11713Example:
11714</p>
11715
11716<pre>
11717<a href="postconf.5.html#smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> = 1000
11718</pre>
11719
11720
11721</DD>
11722
11723<DT><b><a name="smtpd_client_restrictions">smtpd_client_restrictions</a>
11724(default: empty)</b></DT><DD>
11725
11726<p>
11727Optional SMTP server access restrictions in the context of a client
11728SMTP connection request.
11729See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
11730restriction lists" for a discussion of evaluation context and time.
11731</p>
11732
11733<p>
11734The default is to allow all connection requests.
11735</p>
11736
11737<p>
11738Specify a list of restrictions, separated by commas and/or whitespace.
11739Continue long lines by starting the next line with whitespace.
11740Restrictions are applied in the order as specified; the first
11741restriction that matches wins.
11742</p>
11743
11744<p>
11745The following restrictions are specific to client hostname or
11746client network address information.
11747</p>
11748
11749<dl>
11750
11751<dt><b><a name="check_ccert_access">check_ccert_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
11752
11753<dd> Use the client certificate fingerprint as lookup key for the
11754specified <a href="access.5.html">access(5)</a> database; with Postfix version 2.2, also require that
11755the SMTP client certificate is verified successfully.
11756The fingerprint digest algorithm is configurable via the
11757<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
11758Postfix version 2.5).  This feature is available with Postfix version
117592.2 and later. </dd>
11760
11761<dt><b><a name="check_client_access">check_client_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
11762
11763<dd>Search the specified access database for the client hostname,
11764parent domains, client IP address, or networks obtained by stripping
11765least significant octets. See the <a href="access.5.html">access(5)</a> manual page for details. </dd>
11766
11767<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>
11768
11769<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
11770client hostname, and execute the corresponding action.  Note: a result
11771of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
11772to exclude specific hosts from blacklists.  This feature is available
11773in Postfix 2.7 and later.  </dd>
11774
11775<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>
11776
11777<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
11778the client hostname, and execute the corresponding action.  Note: a
11779result of "OK" is not allowed for safety reasons. Instead, use DUNNO
11780in order to exclude specific hosts from blacklists.  This feature is
11781available in Postfix 2.7 and later.  </dd>
11782
11783<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>
11784
11785<dd>Search the specified access database for the unverified reverse
11786client hostname, parent domains, client IP address, or networks
11787obtained by stripping least significant octets. See the <a href="access.5.html">access(5)</a>
11788manual page for details.  Note: a result of "OK" is not allowed for
11789safety reasons.  Instead, use DUNNO in order to exclude specific
11790hosts from blacklists.  This feature is available in Postfix 2.6
11791and later.</dd>
11792
11793<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>
11794
11795<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
11796unverified reverse client hostname, and execute the corresponding
11797action.  Note: a result of "OK" is not allowed for safety reasons.
11798Instead, use DUNNO in order to exclude specific hosts from blacklists.
11799This feature is available in Postfix 2.7 and later.  </dd>
11800
11801<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>
11802
11803<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
11804the unverified reverse client hostname, and execute the corresponding
11805action.  Note: a result of "OK" is not allowed for safety reasons.
11806Instead, use DUNNO in order to exclude specific hosts from blacklists.
11807This feature is available in Postfix 2.7 and later.  </dd>
11808
11809<dt><b><a name="permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
11810
11811<dd>Permit the request when the client IP address matches
11812$<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. </dd>
11813
11814<dt><b><a name="permit_mynetworks">permit_mynetworks</a></b></dt>
11815
11816<dd>Permit the request when the client IP address matches any
11817network or network address listed in  $<a href="postconf.5.html#mynetworks">mynetworks</a>. </dd>
11818
11819<dt><b><a name="permit_sasl_authenticated">permit_sasl_authenticated</a></b></dt>
11820
11821<dd> Permit the request when the client is successfully
11822authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH) protocol. </dd>
11823
11824<dt><b><a name="permit_tls_all_clientcerts">permit_tls_all_clientcerts</a></b></dt>
11825
11826<dd> Permit the request when the remote SMTP client certificate is
11827verified successfully.  This option must be used only if a special
11828CA issues the certificates and only this CA is listed as trusted
11829CA. Otherwise, clients with a third-party certificate would also
11830be allowed to relay.  Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" when the
11831trusted 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>,
11832to prevent Postfix from appending the system-supplied default CAs.
11833This feature is available with Postfix version 2.2.</dd>
11834
11835<dt><b><a name="permit_tls_clientcerts">permit_tls_clientcerts</a></b></dt>
11836
11837<dd>Permit the request when the remote SMTP client certificate
11838fingerprint is listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
11839The fingerprint digest algorithm is configurable via the
11840<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
11841Postfix version 2.5).  This feature is available with Postfix version
118422.2. </dd>
11843
11844<dt><b><a name="reject_rbl_client">reject_rbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
11845
11846<dd>Reject the request when the reversed client network address is
11847listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
11848(Postfix version 2.1 and later only).  Each "<i>d</i>" is a number,
11849or a pattern inside "[]" that contains one or more ";"-separated
11850numbers or number..number ranges (Postfix version 2.8 and later).
11851If no "<i>=d.d.d.d</i>" is specified, reject the request when the
11852reversed client network address is listed with any A record under
11853<i>rbl_domain</i>. <br>
11854The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
11855rejected requests (default:  554), the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a>  parameter
11856specifies the default server reply, and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a>  parameter
11857specifies tables with server replies indexed by <i>rbl_domain</i>.
11858This feature is available in Postfix 2.0 and later.  </dd>
11859
11860<dt><b><a name="permit_dnswl_client">permit_dnswl_client <i>dnswl_domain=d.d.d.d</i></a></b></dt>
11861
11862<dd>Accept the request when the reversed client network address is
11863listed with the A record "<i>d.d.d.d</i>" under <i>dnswl_domain</i>.
11864Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
11865one or more ";"-separated numbers or number..number ranges.
11866If no "<i>=d.d.d.d</i>" is specified, accept the request when the
11867reversed client network address is listed with any A record under
11868<i>dnswl_domain</i>. <br> For safety, <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a> is silently
11869ignored when it would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>.  The
11870result is DEFER_IF_REJECT when whitelist lookup fails.  This feature
11871is available in Postfix 2.8 and later.  </dd>
11872
11873<dt><b><a name="reject_rhsbl_client">reject_rhsbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
11874
11875<dd>Reject the request when the client hostname is listed with the
11876A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
118772.1 and later only).  Each "<i>d</i>" is a number, or a pattern
11878inside "[]" that contains one or more ";"-separated numbers or
11879number..number ranges (Postfix version 2.8 and later).  If no
11880"<i>=d.d.d.d</i>" is specified, reject the request when the client
11881hostname is listed with
11882any A record under <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a>
11883description above for additional RBL related configuration parameters.
11884This feature is available in Postfix 2.0 and later; with Postfix
11885version 2.8 and later, <a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a> will usually
11886produce better results.  </dd>
11887
11888<dt><b><a name="permit_rhswl_client">permit_rhswl_client <i>rhswl_domain=d.d.d.d</i></a></b></dt>
11889
11890<dd>Accept the request when the client hostname is listed with the
11891A record "<i>d.d.d.d</i>" under <i>rhswl_domain</i>.  Each "<i>d</i>"
11892is a number, or a pattern inside "[]" that contains one or more
11893";"-separated numbers or number..number ranges. If no
11894"<i>=d.d.d.d</i>" is specified, accept the request when the client
11895hostname is listed with any A record under <i>rhswl_domain</i>.
11896<br> Caution: client name whitelisting is fragile, since the client
11897name lookup can fail due to temporary outages.  Client name
11898whitelisting should be used only to reduce false positives in e.g.
11899DNS-based blocklists, and not for making access rule exceptions.
11900<br> For safety, <a href="postconf.5.html#permit_rhswl_client">permit_rhswl_client</a> is silently ignored when it
11901would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>.  The result is DEFER_IF_REJECT
11902when whitelist lookup fails.  This feature is available in Postfix
119032.8 and later.  </dd>
11904
11905<dt><b><a name="reject_rhsbl_reverse_client">reject_rhsbl_reverse_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
11906
11907<dd>Reject the request when the unverified reverse client hostname
11908is listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>.
11909Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
11910one or more ";"-separated numbers or number..number ranges.
11911If no "<i>=d.d.d.d</i>" is specified, reject the request when the
11912unverified reverse client hostname is listed with any A record under
11913<i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description above for
11914additional RBL related configuration parameters.  This feature is
11915available in Postfix 2.8 and later.  </dd>
11916
11917<dt><b><a name="reject_unknown_client_hostname">reject_unknown_client_hostname</a></b> (with Postfix &lt; 2.3: reject_unknown_client)</dt>
11918
11919<dd>Reject the request when 1) the client IP address-&gt;name mapping
11920fails, 2) the name-&gt;address mapping fails, or 3) the name-&gt;address
11921mapping does not match the client IP address.  <br> This is a
11922stronger restriction than the <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a>
11923feature, which triggers only under condition 1) above. <br> The
11924<a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response code
11925for rejected requests (default: 450). The reply is always 450 in
11926case the address-&gt;name or name-&gt;address lookup failed due to
11927a temporary problem. </dd>
11928
11929<dt><b><a name="reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a></b></dt>
11930
11931<dd>Reject the request when the client IP address has no address-&gt;name
11932mapping. <br> This is a weaker restriction than the
11933<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> feature, which requires not only
11934that the address-&gt;name and name-&gt;address mappings exist, but
11935also that the two mappings reproduce the client IP address.  <br>
11936The <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response
11937code for rejected requests (default: 450).  The reply is always 450
11938in case the address-&gt;name lookup failed due to a temporary
11939problem. <br> This feature is available in Postfix 2.3 and
11940later.  </dd>
11941
11942</dl>
11943
11944<p>
11945In addition, you can use any of the following <a name="generic">
11946generic</a> restrictions.  These restrictions are applicable in
11947any SMTP command context.
11948</p>
11949
11950<dl>
11951
11952<dt><b><a name="check_policy_service">check_policy_service <i>servername</i></a></b></dt>
11953
11954<dd>Query the specified policy server. See the <a href="SMTPD_POLICY_README.html">SMTPD_POLICY_README</a>
11955document for details. This feature is available in Postfix 2.1
11956and later. </dd>
11957
11958<dt><b><a name="defer">defer</a></b></dt>
11959
11960<dd>Defer the request. The client is told to try again later. This
11961restriction is useful at the end of a restriction list, to make
11962the default policy explicit. <br> The <a href="postconf.5.html#defer_code">defer_code</a> parameter specifies
11963the SMTP server reply code (default: 450).</dd>
11964
11965<dt><b><a name="defer_if_permit">defer_if_permit</a></b></dt>
11966
11967<dd>Defer the request if some later restriction would result in an
11968explicit or implicit PERMIT action.  This is useful when a blacklisting
11969feature fails due to a temporary problem.  This feature is available
11970in Postfix version 2.1 and later.  </dd>
11971
11972<dt><b><a name="defer_if_reject">defer_if_reject</a></b></dt>
11973
11974<dd>Defer the request if some later restriction would result in a
11975REJECT action.  This is useful when a whitelisting feature fails
11976due to a temporary problem.  This feature is available in Postfix
11977version 2.1 and later.  </dd>
11978
11979<dt><b><a name="permit">permit</a></b></dt>
11980
11981<dd>Permit the request. This restriction is useful at the end of
11982a restriction list, to make the default policy explicit.</dd>
11983
11984<dt><b><a name="reject_multi_recipient_bounce">reject_multi_recipient_bounce</a></b></dt>
11985
11986<dd>Reject the request when the envelope sender is the null address,
11987and the message has multiple envelope recipients. This usage has
11988rare but legitimate applications: under certain conditions,
11989multi-recipient mail that was posted with the DSN option NOTIFY=NEVER
11990may be forwarded with the null sender address.
11991<br> Note: this restriction can only work reliably
11992when used in <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> or
11993<a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>, because the total number of
11994recipients is not known at an earlier stage of the SMTP conversation.
11995Use at the RCPT stage will only reject the second etc.  recipient.
11996<br>
11997The <a href="postconf.5.html#multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> parameter specifies the
11998response code for rejected requests (default:  550).  This feature
11999is available in Postfix 2.1 and later. </dd>
12000
12001<dt><b><a name="reject_plaintext_session">reject_plaintext_session</a></b></dt>
12002
12003<dd>Reject the request when the connection is not encrypted. This
12004restriction should not be used before the client has had a chance
12005to negotiate encryption with the AUTH or STARTTLS commands.
12006<br>
12007The <a href="postconf.5.html#plaintext_reject_code">plaintext_reject_code</a> parameter specifies the response
12008code for rejected requests (default:  450).  This feature is available
12009in Postfix 2.3 and later. </dd>
12010
12011<dt><b><a name="reject_unauth_pipelining">reject_unauth_pipelining</a></b></dt>
12012
12013<dd>Reject the request when the client sends SMTP commands ahead
12014of time where it is not allowed, or when the client sends SMTP
12015commands ahead of time without knowing that Postfix actually supports
12016ESMTP command pipelining. This stops mail from bulk mail software
12017that improperly uses ESMTP command pipelining in order to speed up
12018deliveries.
12019<br> With Postfix 2.6 and later, the SMTP server sets a per-session
12020flag whenever it detects illegal pipelining, including pipelined
12021EHLO or HELO commands. The <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> feature simply
12022tests whether the flag was set at any point in time during the
12023session.
12024<br> With older Postfix versions, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> checks
12025the current status of the input read queue, and its usage is not
12026recommended in contexts other than <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a>.  </dd>
12027
12028<dt><b><a name="reject">reject</a></b></dt>
12029
12030<dd>Reject the request. This restriction is useful at the end of
12031a restriction list, to make the default policy explicit.  The
12032<a href="postconf.5.html#reject_code">reject_code</a> configuration parameter specifies the response code for
12033rejected requests (default: 554).</dd>
12034
12035<dt><b><a name="sleep">sleep <i>seconds</i></a></b></dt>
12036
12037<dd>Pause for the specified number of seconds and proceed with
12038the next restriction in the list, if any. This may stop zombie
12039mail when used as:
12040<pre>
12041/etc/postfix/<a href="postconf.5.html">main.cf</a>:
12042    <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
12043        sleep 1, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
12044    <a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = no
12045</pre>
12046This feature is available in Postfix 2.3. </dd>
12047
12048<dt><b><a name="warn_if_reject">warn_if_reject</a></b></dt>
12049
12050<dd>Change the meaning of the next restriction, so that it logs
12051a warning instead of rejecting a request (look for logfile records
12052that contain "reject_warning"). This is useful for testing new
12053restrictions in a "live" environment without risking unnecessary
12054loss of mail. </dd>
12055
12056</dl>
12057
12058<p>
12059Other restrictions that are valid in this context:
12060</p>
12061
12062<ul>
12063
12064<li> SMTP command specific restrictions that are described under
12065the <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
12066<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameters. When helo, sender or
12067recipient restrictions are listed under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>,
12068they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
12069$<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> is evaluated at the time of the RCPT TO
12070command.
12071
12072</ul>
12073
12074<p>
12075Example:
12076</p>
12077
12078<pre>
12079<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>
12080</pre>
12081
12082
12083</DD>
12084
12085<DT><b><a name="smtpd_command_filter">smtpd_command_filter</a>
12086(default: empty)</b></DT><DD>
12087
12088<p> A mechanism to transform commands from remote SMTP clients.
12089This is a last-resort tool to work around client commands that break
12090inter-operability with the Postfix SMTP server.  Other uses involve
12091fault injection to test Postfix's handling of invalid commands.
12092</p>
12093
12094<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
12095string is the SMTP command as received from the remote SMTP client,
12096except that initial whitespace and the trailing &lt;CR&gt;&lt;LF&gt;
12097are removed.  The result value is executed by the Postfix SMTP
12098server.  </p>
12099
12100<p> There is no need to use <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for the following
12101cases: </p>
12102
12103<ul>
12104
12105<li> <p> Use "<a href="postconf.5.html#resolve_numeric_domain">resolve_numeric_domain</a> = yes" to accept
12106"<i>user@ipaddress</i>". </p>
12107
12108<li> <p> Postfix already accepts the correct form
12109"<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>
12110to translate these into domain names if necessary.  </p>
12111
12112<li> <p> Use "<a href="postconf.5.html#strict_rfc821_envelopes">strict_rfc821_envelopes</a> = no" to accept "RCPT TO:&lt;<i>User
12113Name &lt;user@example.com&gt;&gt;</i>". Postfix will ignore the "<i>User
12114Name</i>" part and deliver to the <i>&lt;user@example.com&gt;</i> address.
12115</p>
12116
12117</ul>
12118
12119<p> Examples of problems that can be solved with the <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>
12120feature: </p>
12121
12122<pre>
12123/etc/postfix/<a href="postconf.5.html">main.cf</a>:
12124    <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/command_filter
12125</pre>
12126
12127<pre>
12128/etc/postfix/command_filter:
12129    # Work around clients that send malformed HELO commands.
12130    /^HELO\s*$/ HELO domain.invalid
12131</pre>
12132
12133<pre>
12134    # Work around clients that send empty lines.
12135    /^\s*$/     NOOP
12136</pre>
12137
12138<pre>
12139    # Work around clients that send RCPT TO:&lt;'user@domain'&gt;.
12140    # WARNING: do not lose the parameters that follow the address.
12141    /^RCPT\s+TO:\s*&lt;'([^[:space:]]+)'&gt;(.*)/     RCPT TO:&lt;$1&gt;$2
12142</pre>
12143
12144<pre>
12145    # Bounce-never mail sink. Use <a href="postconf.5.html#notify_classes">notify_classes</a>=bounce,resource,software
12146    # to send bounced mail to the postmaster (with message body removed).
12147    /^(RCPT\s+TO:.*?)\bNOTIFY=\S+\b(.*)/ $1 NOTIFY=NEVER $2
12148    /^(RCPT\s+TO:.*)/                    $1 NOTIFY=NEVER
12149</pre>
12150
12151<p> This feature is available in Postfix 2.7. </p>
12152
12153
12154</DD>
12155
12156<DT><b><a name="smtpd_data_restrictions">smtpd_data_restrictions</a>
12157(default: empty)</b></DT><DD>
12158
12159<p>
12160Optional access restrictions that the Postfix SMTP server applies
12161in the context of the SMTP DATA command.
12162See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
12163restriction lists" for a discussion of evaluation context and time.
12164</p>
12165
12166<p>
12167This feature is available in Postfix 2.0 and later.
12168</p>
12169
12170<p>
12171Specify a list of restrictions, separated by commas and/or whitespace.
12172Continue long lines by starting the next line with whitespace.
12173Restrictions are applied in the order as specified; the first
12174restriction that matches wins.
12175</p>
12176
12177<p>
12178The following restrictions are valid in this context:
12179</p>
12180
12181<ul>
12182
12183<li><a href="#generic">Generic</a> restrictions that can be used
12184in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
12185
12186<li>SMTP command specific restrictions described under
12187<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
12188<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>.
12189
12190<li>However, no recipient information is available in the case of
12191multi-recipient mail. Acting on only one recipient would be misleading,
12192because any decision will affect all recipients equally. Acting on
12193all recipients would require a possibly very large amount of memory,
12194and would also be misleading for the reasons mentioned before.
12195
12196</ul>
12197
12198<p>
12199Examples:
12200</p>
12201
12202<pre>
12203<a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
12204<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>
12205</pre>
12206
12207
12208</DD>
12209
12210<DT><b><a name="smtpd_delay_open_until_valid_rcpt">smtpd_delay_open_until_valid_rcpt</a>
12211(default: yes)</b></DT><DD>
12212
12213<p> Postpone the start of an SMTP mail transaction until a valid
12214RCPT TO command is received. Specify "no" to create a mail transaction
12215as soon as the SMTP server receives a valid MAIL FROM command. </p>
12216
12217<p> With sites that reject lots of mail, the default setting reduces
12218the use of
12219disk, CPU and memory resources. The downside is that rejected
12220recipients are logged with NOQUEUE instead of a mail transaction
12221ID. This complicates the logfile analysis of multi-recipient mail.
12222</p>
12223
12224<p> This feature is available in Postfix 2.3 and later. </p>
12225
12226
12227</DD>
12228
12229<DT><b><a name="smtpd_delay_reject">smtpd_delay_reject</a>
12230(default: yes)</b></DT><DD>
12231
12232<p>
12233Wait until the RCPT TO command before evaluating
12234$<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
12235$<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, or wait until the ETRN command before
12236evaluating $<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>.
12237</p>
12238
12239<p>
12240This feature is turned on by default because some clients apparently
12241mis-behave when the Postfix SMTP server rejects commands before
12242RCPT TO.
12243</p>
12244
12245<p>
12246The default setting has one major benefit: it allows Postfix to log
12247recipient address information when rejecting a client name/address
12248or sender address, so that it is possible to find out whose mail
12249is being rejected.
12250</p>
12251
12252
12253</DD>
12254
12255<DT><b><a name="smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>
12256(default: empty)</b></DT><DD>
12257
12258<p> Lookup tables, indexed by the remote SMTP client address, with
12259case insensitive lists of EHLO keywords (pipelining, starttls, auth,
12260etc.) that the SMTP server will not send in the EHLO response to a
12261remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
12262The table is not searched by hostname for robustness reasons.  </p>
12263
12264<p> This feature is available in Postfix 2.2 and later. </p>
12265
12266
12267</DD>
12268
12269<DT><b><a name="smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
12270(default: empty)</b></DT><DD>
12271
12272<p> A case insensitive list of EHLO keywords (pipelining, starttls,
12273auth, etc.) that the SMTP server will not send in the EHLO response
12274to a remote SMTP client. </p>
12275
12276<p> This feature is available in Postfix 2.2 and later. </p>
12277
12278<p> Notes: </p>
12279
12280<ul>
12281
12282<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
12283this action from being logged. </p>
12284
12285<li> <p> Use the <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> feature
12286to discard EHLO keywords selectively.  </p>
12287
12288</ul>
12289
12290
12291</DD>
12292
12293<DT><b><a name="smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>
12294(default: empty)</b></DT><DD>
12295
12296<p> Optional access restrictions that the Postfix SMTP server
12297applies in the context of the SMTP END-OF-DATA command.
12298See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
12299restriction lists" for a discussion of evaluation context and time.
12300</p>
12301
12302<p> This feature is available in Postfix 2.2 and later. </p>
12303
12304<p> See <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> for details and limitations. </p>
12305
12306
12307</DD>
12308
12309<DT><b><a name="smtpd_enforce_tls">smtpd_enforce_tls</a>
12310(default: no)</b></DT><DD>
12311
12312<p> Mandatory TLS: announce STARTTLS support to SMTP clients,
12313and require that clients use TLS encryption.  According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a>
12314this MUST NOT be applied in case of a publicly-referenced SMTP
12315server.  This option is off by default and should be used only on
12316dedicated servers. </p>
12317
12318<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>
12319
12320<p> Note 2: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
12321STARTTLS due to insufficient privileges to access the server private
12322key. This is intended behavior. </p>
12323
12324<p> This feature is available in Postfix 2.2 and later. With
12325Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
12326
12327
12328</DD>
12329
12330<DT><b><a name="smtpd_error_sleep_time">smtpd_error_sleep_time</a>
12331(default: 1s)</b></DT><DD>
12332
12333<p>With Postfix version 2.1 and later: the SMTP server response delay after
12334a client has made more than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors, and
12335fewer than $<a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a> errors, without delivering mail.
12336</p>
12337
12338<p>With Postfix version 2.0 and earlier: the SMTP server delay before
12339sending a reject (4xx or 5xx) response, when the client has made
12340fewer than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors without delivering
12341mail. </p>
12342
12343
12344</DD>
12345
12346<DT><b><a name="smtpd_etrn_restrictions">smtpd_etrn_restrictions</a>
12347(default: empty)</b></DT><DD>
12348
12349<p>
12350Optional SMTP server access restrictions in the context of a client
12351ETRN request.
12352See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
12353restriction lists" for a discussion of evaluation context and time.
12354</p>
12355
12356<p>
12357The Postfix ETRN implementation accepts only destinations that are
12358eligible for the Postfix "fast flush" service. See the <a href="ETRN_README.html">ETRN_README</a>
12359file for details.
12360</p>
12361
12362<p>
12363Specify a list of restrictions, separated by commas and/or whitespace.
12364Continue long lines by starting the next line with whitespace.
12365Restrictions are applied in the order as specified; the first
12366restriction that matches wins.
12367</p>
12368
12369<p>
12370The following restrictions are specific to the domain name information
12371received with the ETRN command.
12372</p>
12373
12374<dl>
12375
12376<dt><b><a name="check_etrn_access">check_etrn_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
12377
12378<dd>Search the specified access database for the ETRN domain name
12379or its parent domains. See the <a href="access.5.html">access(5)</a> manual page for details.
12380</dd>
12381
12382</dl>
12383
12384<p>
12385Other restrictions that are valid in this context:
12386</p>
12387
12388<ul>
12389
12390<li><a href="#generic">Generic</a> restrictions that can be used
12391in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
12392
12393<li>SMTP command specific restrictions described under
12394<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>.
12395
12396</ul>
12397
12398<p>
12399Example:
12400</p>
12401
12402<pre>
12403<a href="postconf.5.html#smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, reject
12404</pre>
12405
12406
12407</DD>
12408
12409<DT><b><a name="smtpd_expansion_filter">smtpd_expansion_filter</a>
12410(default: see "postconf -d" output)</b></DT><DD>
12411
12412<p>
12413What characters are allowed in $name expansions of RBL reply
12414templates. Characters not in the allowed set are replaced by "_".
12415Use C like escapes to specify special characters such as whitespace.
12416</p>
12417
12418<p>
12419This parameter is not subjected to $parameter expansion.
12420</p>
12421
12422<p>
12423This feature is available in Postfix 2.0 and later.
12424</p>
12425
12426
12427</DD>
12428
12429<DT><b><a name="smtpd_forbidden_commands">smtpd_forbidden_commands</a>
12430(default: CONNECT, GET, POST)</b></DT><DD>
12431
12432<p>
12433List of commands that cause the Postfix SMTP server to immediately
12434terminate the session with a 221 code. This can be used to disconnect
12435clients that obviously attempt to abuse the system. In addition to the
12436commands listed in this parameter, commands that follow the "Label:"
12437format of message headers will also cause a disconnect.
12438</p>
12439
12440<p>
12441This feature is available in Postfix 2.2 and later.
12442</p>
12443
12444
12445</DD>
12446
12447<DT><b><a name="smtpd_hard_error_limit">smtpd_hard_error_limit</a>
12448(default: normal: 20, overload: 1)</b></DT><DD>
12449
12450<p>
12451The maximal number of errors a remote SMTP client is allowed to
12452make without delivering mail. The Postfix SMTP server disconnects
12453when the limit is exceeded. Normally the default limit is 20, but
12454it changes under overload to just 1. With Postfix 2.5 and earlier,
12455the SMTP server always allows up to 20 errors by default.
12456
12457</p>
12458
12459
12460</DD>
12461
12462<DT><b><a name="smtpd_helo_required">smtpd_helo_required</a>
12463(default: no)</b></DT><DD>
12464
12465<p>
12466Require that a remote SMTP client introduces itself with the HELO
12467or EHLO command before sending the MAIL command or other commands
12468that require EHLO negotiation.
12469</p>
12470
12471<p>
12472Example:
12473</p>
12474
12475<pre>
12476<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes
12477</pre>
12478
12479
12480</DD>
12481
12482<DT><b><a name="smtpd_helo_restrictions">smtpd_helo_restrictions</a>
12483(default: empty)</b></DT><DD>
12484
12485<p>
12486Optional restrictions that the Postfix SMTP server applies in the
12487context of the SMTP HELO command.
12488See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
12489restriction lists" for a discussion of evaluation context and time.
12490</p>
12491
12492<p>
12493The default is to permit everything.
12494</p>
12495
12496<p> Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
12497restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
12498simply skip <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> by not sending HELO or EHLO).
12499</p>
12500
12501<p>
12502Specify a list of restrictions, separated by commas and/or whitespace.
12503Continue long lines by starting the next line with whitespace.
12504Restrictions are applied in the order as specified; the first
12505restriction that matches wins.
12506</p>
12507
12508<p>
12509The following restrictions are specific to the hostname information
12510received with the HELO or EHLO command.
12511</p>
12512
12513<dl>
12514
12515<dt><b><a name="check_helo_access">check_helo_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
12516
12517<dd>Search the specified <a href="access.5.html">access(5)</a> database for the HELO or EHLO
12518hostname or parent domains, and execute the corresponding action.
12519Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
12520restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
12521simply skip <a href="postconf.5.html#check_helo_access">check_helo_access</a> by not sending HELO or EHLO).  </dd>
12522
12523<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>
12524
12525<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
12526the HELO or EHLO hostname, and execute the corresponding action.
12527Note 1: a result of "OK" is not allowed for safety reasons. Instead,
12528use DUNNO in order to exclude specific hosts from blacklists.  Note
125292: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
12530restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
12531simply skip <a href="postconf.5.html#check_helo_mx_access">check_helo_mx_access</a> by not sending HELO or EHLO).  This
12532feature is available in Postfix 2.1 and later.
12533</dd>
12534
12535<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>
12536
12537<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
12538for the HELO or EHLO hostname, and execute the corresponding action.
12539Note 1: a result of "OK" is not allowed for safety reasons. Instead,
12540use DUNNO in order to exclude specific hosts from blacklists.  Note
125412: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
12542restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
12543simply skip <a href="postconf.5.html#check_helo_ns_access">check_helo_ns_access</a> by not sending HELO or EHLO). This
12544feature is available in Postfix 2.1 and later.
12545</dd>
12546
12547<dt><b><a name="reject_invalid_helo_hostname">reject_invalid_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_invalid_hostname)</dt>
12548
12549<dd>Reject the request when the HELO or EHLO hostname syntax is
12550invalid. Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce
12551this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply
12552skip <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> by not sending HELO or EHLO).
12553<br> The <a href="postconf.5.html#invalid_hostname_reject_code">invalid_hostname_reject_code</a> specifies the response code
12554for rejected requests (default: 501).</dd>
12555
12556<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>
12557
12558<dd>Reject the request when the HELO or EHLO hostname is not in
12559fully-qualified domain form, as required by the RFC. Note: specify
12560"<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this restriction
12561(without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply skip
12562<a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a> by not sending HELO or EHLO).  <br>
12563The <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
12564rejected requests (default: 504).</dd>
12565
12566<dt><b><a name="reject_rhsbl_helo">reject_rhsbl_helo <i>rbl_domain=d.d.d.d</i></a></b></dt>
12567
12568<dd>Reject the request when the HELO or EHLO hostname hostname is
12569listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
12570(Postfix version 2.1 and later only).  Each "<i>d</i>" is a number,
12571or a pattern inside "[]" that contains one or more ";"-separated
12572numbers or number..number ranges (Postfix version 2.8 and later).
12573If no "<i>=d.d.d.d</i>" is
12574specified, reject the request when the HELO or EHLO hostname is
12575listed with any A record under <i>rbl_domain</i>. See the
12576<a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description for additional RBL related configuration
12577parameters.  Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
12578enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
12579client can simply skip <a href="postconf.5.html#reject_rhsbl_helo">reject_rhsbl_helo</a> by not sending HELO or
12580EHLO). This feature is available in Postfix 2.0
12581and later.  </dd>
12582
12583<dt><b><a name="reject_unknown_helo_hostname">reject_unknown_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_unknown_hostname)</dt>
12584
12585<dd>Reject the request when the HELO or EHLO hostname has no DNS A
12586or MX record. <br> The <a href="postconf.5.html#unknown_hostname_reject_code">unknown_hostname_reject_code</a> parameter
12587specifies the numerical response code for rejected requests (default:
12588450). <br> The <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a> parameter
12589specifies the action after a temporary DNS error (default:
12590<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
12591enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
12592client can simply skip <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> by not sending
12593HELO or EHLO). </dd>
12594
12595</dl>
12596
12597<p>
12598Other restrictions that are valid in this context:
12599</p>
12600
12601<ul>
12602
12603<li> <a href="#generic">Generic</a> restrictions that can be used
12604in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
12605
12606<li> Client hostname or network address specific restrictions
12607described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
12608
12609<li> SMTP command specific restrictions described under
12610<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
12611sender or recipient restrictions are listed under <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
12612they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
12613$<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> is evaluated at the time of the RCPT TO
12614command.
12615
12616</ul>
12617
12618<p>
12619Examples:
12620</p>
12621
12622<pre>
12623<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>
12624<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>
12625</pre>
12626
12627
12628</DD>
12629
12630<DT><b><a name="smtpd_history_flush_threshold">smtpd_history_flush_threshold</a>
12631(default: 100)</b></DT><DD>
12632
12633<p>
12634The maximal number of lines in the Postfix SMTP server command history
12635before it is flushed upon receipt of EHLO, RSET, or end of DATA.
12636</p>
12637
12638
12639</DD>
12640
12641<DT><b><a name="smtpd_junk_command_limit">smtpd_junk_command_limit</a>
12642(default: normal: 100, overload: 1)</b></DT><DD>
12643
12644<p>
12645The number of junk commands (NOOP, VRFY, ETRN or RSET) that a remote
12646SMTP client can send before the Postfix SMTP server starts to
12647increment the error counter with each junk command.  The junk
12648command count is reset after mail is delivered.  See also the
12649<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
12650parameters.  Normally the default limit is 100, but it changes under
12651overload to just 1. With Postfix 2.5 and earlier, the SMTP server
12652always allows up to 100 junk commands by default.  </p>
12653
12654
12655</DD>
12656
12657<DT><b><a name="smtpd_milters">smtpd_milters</a>
12658(default: empty)</b></DT><DD>
12659
12660<p> A list of Milter (mail filter) applications for new mail that
12661arrives via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server.  See the <a href="MILTER_README.html">MILTER_README</a>
12662document for details.  </p>
12663
12664<p> This feature is available in Postfix 2.3 and later. </p>
12665
12666
12667</DD>
12668
12669<DT><b><a name="smtpd_noop_commands">smtpd_noop_commands</a>
12670(default: empty)</b></DT><DD>
12671
12672<p>
12673List of commands that the Postfix SMTP server replies to with "250
12674Ok", without doing any syntax checks and without changing state.
12675This list overrides any commands built into the Postfix SMTP server.
12676</p>
12677
12678
12679</DD>
12680
12681<DT><b><a name="smtpd_null_access_lookup_key">smtpd_null_access_lookup_key</a>
12682(default: &lt;&gt;)</b></DT><DD>
12683
12684<p>
12685The lookup key to be used in SMTP <a href="access.5.html">access(5)</a> tables instead of the
12686null sender address.
12687</p>
12688
12689
12690</DD>
12691
12692<DT><b><a name="smtpd_peername_lookup">smtpd_peername_lookup</a>
12693(default: yes)</b></DT><DD>
12694
12695<p> Attempt to look up the remote SMTP client hostname, and verify that
12696the name matches the client IP address. A client name is set to
12697"unknown" when it cannot be looked up or verified, or when name
12698lookup is disabled.  Turning off name lookup reduces delays due to
12699DNS lookup and increases the maximal inbound delivery rate. </p>
12700
12701<p> This feature is available in Postfix 2.3 and later.  </p>
12702
12703
12704</DD>
12705
12706<DT><b><a name="smtpd_policy_service_max_idle">smtpd_policy_service_max_idle</a>
12707(default: 300s)</b></DT><DD>
12708
12709<p>
12710The time after which an idle SMTPD policy service connection is
12711closed.
12712</p>
12713
12714<p>
12715This feature is available in Postfix 2.1 and later.
12716</p>
12717
12718
12719</DD>
12720
12721<DT><b><a name="smtpd_policy_service_max_ttl">smtpd_policy_service_max_ttl</a>
12722(default: 1000s)</b></DT><DD>
12723
12724<p>
12725The time after which an active SMTPD policy service connection is
12726closed.
12727</p>
12728
12729<p>
12730This feature is available in Postfix 2.1 and later.
12731</p>
12732
12733
12734</DD>
12735
12736<DT><b><a name="smtpd_policy_service_timeout">smtpd_policy_service_timeout</a>
12737(default: 100s)</b></DT><DD>
12738
12739<p>
12740The time limit for connecting to, writing to or receiving from a
12741delegated SMTPD policy server.
12742</p>
12743
12744<p>
12745This feature is available in Postfix 2.1 and later.
12746</p>
12747
12748
12749</DD>
12750
12751<DT><b><a name="smtpd_proxy_ehlo">smtpd_proxy_ehlo</a>
12752(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
12753
12754<p>
12755How the Postfix SMTP server announces itself to the proxy filter.
12756By default, the Postfix hostname is used.
12757</p>
12758
12759<p>
12760This feature is available in Postfix 2.1 and later.
12761</p>
12762
12763
12764</DD>
12765
12766<DT><b><a name="smtpd_proxy_filter">smtpd_proxy_filter</a>
12767(default: empty)</b></DT><DD>
12768
12769<p> The hostname and TCP port of the mail filtering proxy server.
12770The proxy receives all mail from the Postfix SMTP server, and is
12771supposed to give the result to another Postfix SMTP server process.
12772</p>
12773
12774<p> Specify "host:port" or "inet:host:port" for a TCP endpoint, or
12775"unix:pathname" for a UNIX-domain endpoint. The host can be specified
12776as an IP address or as a symbolic name; no MX lookups are done.
12777When no "host" or "host:"  are specified, the local machine is
12778assumed.  Pathname interpretation is relative to the Postfix queue
12779directory.  </p>
12780
12781<p> This feature is available in Postfix 2.1 and later.  </p>
12782
12783<p> The "inet:" and "unix:" prefixes are available in Postfix 2.3
12784and later.  </p>
12785
12786
12787</DD>
12788
12789<DT><b><a name="smtpd_proxy_options">smtpd_proxy_options</a>
12790(default: empty)</b></DT><DD>
12791
12792<p>
12793List of options that control how the Postfix SMTP server
12794communicates with a before-queue content filter. Specify zero or
12795more of the following, separated by comma or whitespace.  </p>
12796
12797<dl>
12798
12799<dt><b>speed_adjust</b></dt>
12800
12801<dd> <p> Do not connect to a before-queue content filter until an entire
12802message has been received. This reduces the number of simultaneous
12803before-queue content filter processes. </p>
12804
12805<p> NOTE 1: A filter must not <i>selectively</i> reject recipients
12806of a multi-recipient message.  Rejecting all recipients is OK, as
12807is accepting all recipients. </p>
12808
12809<p> NOTE 2: This feature increases the minimum amount of free queue
12810space by $<a href="postconf.5.html#message_size_limit">message_size_limit</a>. The extra space is needed to save the
12811message to a temporary file. </p> </dd>
12812
12813</dl>
12814
12815<p>
12816This feature is available in Postfix 2.7 and later.
12817</p>
12818
12819
12820</DD>
12821
12822<DT><b><a name="smtpd_proxy_timeout">smtpd_proxy_timeout</a>
12823(default: 100s)</b></DT><DD>
12824
12825<p>
12826The time limit for connecting to a proxy filter and for sending or
12827receiving information.  When a connection fails the client gets a
12828generic error message while more detailed information is logged to
12829the maillog file.
12830</p>
12831
12832<p>
12833Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
12834The default time unit is s (seconds).
12835</p>
12836
12837<p>
12838This feature is available in Postfix 2.1 and later.
12839</p>
12840
12841
12842</DD>
12843
12844<DT><b><a name="smtpd_recipient_limit">smtpd_recipient_limit</a>
12845(default: 1000)</b></DT><DD>
12846
12847<p>
12848The maximal number of recipients that the Postfix SMTP server
12849accepts per message delivery request.
12850</p>
12851
12852
12853</DD>
12854
12855<DT><b><a name="smtpd_recipient_overshoot_limit">smtpd_recipient_overshoot_limit</a>
12856(default: 1000)</b></DT><DD>
12857
12858<p> The number of recipients that a remote SMTP client can send in
12859excess of the limit specified with $<a href="postconf.5.html#smtpd_recipient_limit">smtpd_recipient_limit</a>, before
12860the Postfix SMTP server increments the per-session error count
12861for each excess recipient.  </p>
12862
12863
12864</DD>
12865
12866<DT><b><a name="smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>
12867(default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>)</b></DT><DD>
12868
12869<p>
12870The access restrictions that the Postfix SMTP server applies in
12871the context of the RCPT TO command.
12872See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
12873restriction lists" for a discussion of evaluation context and time.
12874</p>
12875
12876<p>
12877By default, the Postfix SMTP server accepts:
12878</p>
12879
12880<ul>
12881
12882<li> Mail from clients whose IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>, or:
12883
12884<li> Mail to remote destinations that match $<a href="postconf.5.html#relay_domains">relay_domains</a>, except
12885for addresses that contain sender-specified routing
12886(user@elsewhere@domain), or:
12887
12888<li> Mail to local destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
12889or $<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
12890$<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
12891
12892</ul>
12893
12894<p>
12895IMPORTANT: If you change this parameter setting, you must specify
12896at least one of the following restrictions. Otherwise Postfix will
12897refuse to receive mail:
12898</p>
12899
12900<blockquote>
12901<pre>
12902reject, defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
12903</pre>
12904</blockquote>
12905
12906<p>
12907Specify a list of restrictions, separated by commas and/or whitespace.
12908Continue long lines by starting the next line with whitespace.
12909Restrictions are applied in the order as specified; the first
12910restriction that matches wins.
12911</p>
12912
12913<p>
12914The following restrictions are specific to the recipient address
12915that is received with the RCPT TO command.
12916</p>
12917
12918<dl>
12919
12920<dt><b><a name="check_recipient_access">check_recipient_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
12921
12922<dd>Search the specified <a href="access.5.html">access(5)</a> database for the resolved RCPT
12923TO address, domain, parent domains, or localpart@, and execute the
12924corresponding action.  </dd>
12925
12926<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>
12927
12928<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
12929the RCPT TO domain, and execute the corresponding action.  Note:
12930a result of "OK" is not allowed for safety reasons. Instead, use
12931DUNNO in order to exclude specific hosts from blacklists.  This
12932feature is available in Postfix 2.1 and later. </dd>
12933
12934<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>
12935
12936<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
12937for the RCPT TO domain, and execute the corresponding action.
12938Note: a result of "OK" is not allowed for safety reasons. Instead,
12939use DUNNO in order to exclude specific hosts from blacklists.  This
12940feature is available in Postfix 2.1 and later.  </dd>
12941
12942<dt><b><a name="permit_auth_destination">permit_auth_destination</a></b></dt>
12943
12944<dd>Permit the request when one of the following is true:
12945
12946<ul>
12947
12948<li> Postfix is mail forwarder: the resolved RCPT TO domain matches
12949$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and the address contains no
12950sender-specified routing (user@elsewhere@domain),
12951
12952<li> Postfix is the final destination: the resolved RCPT TO domain
12953matches $<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>,
12954$<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
12955contains no sender-specified routing (user@elsewhere@domain).
12956
12957</ul></dd>
12958
12959<dt><b><a name="permit_mx_backup">permit_mx_backup</a></b></dt>
12960
12961<dd>Permit the request when the local mail system is backup MX for
12962the RCPT TO domain, or when the domain is an authorized destination
12963(see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> for definition).
12964
12965<ul>
12966
12967<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> does not accept addresses that have
12968sender-specified routing information (example: user@elsewhere@domain).
12969
12970<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> can be vulnerable to mis-use when
12971access is not restricted with <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>.
12972
12973<li> Safety: as of Postfix version 2.3, <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> no longer
12974accepts the address when the local mail system is primary MX for
12975the recipient domain.  Exception: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> accepts the address
12976when it specifies an authorized destination (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
12977for definition).
12978
12979<li> Limitation: mail may be rejected in case of a temporary DNS
12980lookup problem with Postfix prior to version 2.0.
12981
12982</ul></dd>
12983
12984<dt><b><a name="reject_non_fqdn_recipient">reject_non_fqdn_recipient</a></b></dt>
12985
12986<dd>Reject the request when the RCPT TO address is not in
12987fully-qualified domain form, as required by the RFC. <br> The
12988<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
12989rejected requests (default: 504). </dd>
12990
12991<dt><b><a name="reject_rhsbl_recipient">reject_rhsbl_recipient <i>rbl_domain=d.d.d.d</i></a></b></dt>
12992
12993<dd>Reject the request when the RCPT TO domain is listed with the
12994A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
129952.1 and later only).  Each "<i>d</i>" is a number, or a pattern
12996inside "[]" that contains one or more ";"-separated numbers or
12997number..number ranges (Postfix version 2.8 and later). If no
12998"<i>=d.d.d.d</i>" is specified, reject
12999the request when the RCPT TO domain is listed with
13000any A record under <i>rbl_domain</i>. <br> The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a>
13001parameter specifies the response code for rejected requests (default:
13002554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter specifies the default server
13003reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter specifies tables with server
13004replies indexed by <i>rbl_domain</i>.  This feature is available
13005in Postfix version 2.0 and later.</dd>
13006
13007<dt><b><a name="reject_unauth_destination">reject_unauth_destination</a></b></dt>
13008
13009<dd>Reject the request unless one of the following is true:
13010
13011<ul>
13012
13013<li> Postfix is mail forwarder: the resolved RCPT TO domain matches
13014$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and contains no sender-specified
13015routing (user@elsewhere@domain),
13016
13017<li> Postfix is the final destination: the resolved RCPT TO domain
13018matches $<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>,
13019$<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
13020no sender-specified routing (user@elsewhere@domain).
13021
13022</ul> The <a href="postconf.5.html#relay_domains_reject_code">relay_domains_reject_code</a> parameter specifies the response
13023code for rejected requests (default: 554). </dd>
13024
13025<dt><b><a name="reject_unknown_recipient_domain">reject_unknown_recipient_domain</a></b></dt>
13026
13027<dd>Reject the request when Postfix is not final destination for
13028the recipient domain, and the RCPT TO domain has no DNS A or MX
13029record, or when it has a malformed MX record such as a record with
13030a zero-length MX hostname (Postfix version 2.3 and later). <br> The
13031<a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter specifies the numerical
13032response code for rejected requests (default: 450).  The response
13033is always 450 in case of a temporary DNS error. <br> The
13034<a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> parameter specifies the action
13035after a temporary DNS error (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  </dd>
13036
13037<dt><b><a name="reject_unlisted_recipient">reject_unlisted_recipient</a></b> (with Postfix version 2.0: check_recipient_maps)</dt>
13038
13039<dd> Reject the request when the RCPT TO address is not listed in
13040the list of valid recipients for its domain class. See the
13041<a href="postconf.5.html#smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> parameter description for details.
13042This feature is available in Postfix 2.1 and later.</dd>
13043
13044<dt><b><a name="reject_unverified_recipient">reject_unverified_recipient</a></b></dt>
13045
13046<dd>Reject the request when mail to the RCPT TO address is known
13047to bounce, or when the recipient address destination is not reachable.
13048Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
13049see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details.  <br> The
13050<a href="postconf.5.html#unverified_recipient_reject_code">unverified_recipient_reject_code</a> parameter specifies the numerical
13051response code when an address is known to bounce (default: 450,
13052change into 550 when you are confident that it is safe to do so).
13053<br>The <a href="postconf.5.html#unverified_recipient_defer_code">unverified_recipient_defer_code</a> parameter specifies the
13054numerical response code when an address probe failed due to a
13055temporary problem (default: 450). <br> The
13056<a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> parameter specifies the action
13057after addres probe failure due to a temporary problem (default:
13058<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  <br>  This feature is available in Postfix 2.1
13059and later.  </dd>
13060
13061</dl>
13062
13063<p>
13064Other restrictions that are valid in this context:
13065</p>
13066
13067<ul>
13068
13069<li><a href="#generic">Generic</a> restrictions that can be used
13070in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
13071
13072<li>SMTP command specific restrictions described under
13073<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
13074<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>.
13075
13076</ul>
13077
13078<p>
13079Example:
13080</p>
13081
13082<pre>
13083<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>
13084</pre>
13085
13086
13087</DD>
13088
13089<DT><b><a name="smtpd_reject_footer">smtpd_reject_footer</a>
13090(default: empty)</b></DT><DD>
13091
13092<p> Optional information that is appended after each SMTP server
130934XX or 5XX response. </p>
13094
13095<p> Example: </p>
13096
13097<pre>
13098/etc/postfix/<a href="postconf.5.html">main.cf</a>:
13099    <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> = For assistance, call 800-555-0101.
13100     Please provide the following information in your problem report:
13101     time ($localtime), client ($client_address) and server
13102     ($server_name).
13103</pre>
13104
13105<p> Server response: </p>
13106
13107<pre>
13108    550-5.5.1 &lt;user@example&gt; Recipient address rejected: User unknown
13109    550 5.5.1 For assistance, call 800-555-0101. Please provide the
13110    following information in your problem report: time (Jan 4 15:42:00),
13111    client (192.168.1.248) and server (mail1.example.com).
13112</pre>
13113
13114<p> Note: the above text is meant to make it easier to find the
13115Postfix logfile records for a failed SMTP session. The text itself
13116is not logged to the Postfix SMTP server's maillog file. </p>
13117
13118<p> Be sure to keep the text as short as possible. Long text may
13119be truncated before it is logged to the remote SMTP client's maillog
13120file, or before it is returned to the sender in a delivery status
13121notification.  </p>
13122
13123<p> This feature supports a limited number of $name attributes in
13124the footer text. These are replaced by their current value for the
13125SMTP session: </p>
13126
13127<dl>
13128
13129<dt> <b>client_address</b> </dt> <dd> The Client IP address that
13130is logged in the maillog file. </dd>
13131
13132<dt> <b>client_port</b> </dt> <dd> The client TCP port that is
13133logged in the maillog file. </dd>
13134
13135<dt> <b>localtime</b> </dt> <dd> The server local time (Mmm dd
13136hh:mm:ss) that is logged in the maillog file. </dd>
13137
13138<dt> <b>server_name</b> </dt> <dd> The server's <a href="postconf.5.html#myhostname">myhostname</a> value.
13139This attribute is made available for sites with multiple MTAs
13140(perhaps behind a load-balancer), where the server name can help
13141the server support team to quickly find the right log files.  </dd>
13142
13143</dl>
13144
13145<p> Notes: </p>
13146
13147<ul>
13148
13149<li> <p> NOT SUPPORTED are other attributes such as sender, recipient,
13150or <a href="postconf.5.html">main.cf</a> parameters.  </p>
13151
13152<li> <p> For safety reasons, text that does not match
13153$<a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> is censored. </p>
13154
13155</ul>
13156
13157<p> This feature supports the two-character sequence \n as a request
13158for a line break in the footer text. Postfix automatically inserts
13159after each line break the three-digit SMTP reply code (and optional
13160enhanced status code) from the original Postfix reject message.
13161</p>
13162
13163<p> This feature is available in Postfix 2.8 and later. </p>
13164
13165
13166</DD>
13167
13168<DT><b><a name="smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a>
13169(default: yes)</b></DT><DD>
13170
13171<p>
13172Request that the Postfix SMTP server rejects mail for unknown
13173recipient addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_recipient">reject_unlisted_recipient</a>
13174access restriction is specified. This prevents the Postfix queue
13175from filling up with undeliverable MAILER-DAEMON messages.
13176</p>
13177
13178<p> An address is always considered "known" when it matches a
13179<a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping.
13180
13181<ul>
13182
13183<li> The recipient domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
13184or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the recipient is not listed in
13185$<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.
13186
13187<li> The recipient domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the
13188recipient is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
13189
13190<li> The recipient domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
13191recipient 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>
13192is not null.
13193
13194<li> The recipient domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the recipient
13195is 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>
13196is not null.
13197
13198</ul>
13199
13200<p>
13201This feature is available in Postfix 2.1 and later.
13202</p>
13203
13204
13205</DD>
13206
13207<DT><b><a name="smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a>
13208(default: no)</b></DT><DD>
13209
13210<p> Request that the Postfix SMTP server rejects mail from unknown
13211sender addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a>
13212access restriction is specified. This can slow down an explosion
13213of forged mail from worms or viruses.  </p>
13214
13215<p> An address is always considered "known" when it matches a
13216<a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping.
13217
13218<ul>
13219
13220<li> The sender domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or
13221$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the sender is not listed in
13222$<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.
13223
13224<li> The sender domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the sender
13225is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
13226
13227<li> The sender domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
13228sender 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>
13229is not null.
13230
13231<li> The sender domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the sender is
13232not 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
13233not null.
13234
13235</ul>
13236
13237<p>
13238This feature is available in Postfix 2.1 and later.
13239</p>
13240
13241
13242</DD>
13243
13244<DT><b><a name="smtpd_restriction_classes">smtpd_restriction_classes</a>
13245(default: empty)</b></DT><DD>
13246
13247<p>
13248User-defined aliases for groups of access restrictions. The aliases
13249can be specified in <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> etc., and on the
13250right-hand side of a Postfix <a href="access.5.html">access(5)</a> table.
13251</p>
13252
13253<p>
13254One major application is for implementing per-recipient UCE control.
13255See the <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a> document for other examples.
13256</p>
13257
13258
13259</DD>
13260
13261<DT><b><a name="smtpd_sasl_application_name">smtpd_sasl_application_name</a>
13262(default: smtpd)</b></DT><DD>
13263
13264<p>
13265The application name that the Postfix SMTP server uses for SASL
13266server initialization. This
13267controls the name of the SASL configuration file. The default value
13268is <b>smtpd</b>, corresponding to a SASL configuration file named
13269<b>smtpd.conf</b>.
13270</p>
13271
13272<p>
13273This feature is available in Postfix 2.1 and 2.2. With Postfix 2.3
13274it was renamed to <a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.
13275</p>
13276
13277
13278</DD>
13279
13280<DT><b><a name="smtpd_sasl_auth_enable">smtpd_sasl_auth_enable</a>
13281(default: no)</b></DT><DD>
13282
13283<p>
13284Enable SASL authentication in the Postfix SMTP server. By default,
13285the Postfix SMTP server does not use authentication.
13286</p>
13287
13288<p>
13289If a remote SMTP client is authenticated, the <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>
13290access restriction can be used to permit relay access, like this:
13291</p>
13292
13293<blockquote>
13294<pre>
13295<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> =
13296    <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
13297</pre>
13298</blockquote>
13299
13300<p> To reject all SMTP connections from unauthenticated clients,
13301specify "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes" (which is the default) and use:
13302</p>
13303
13304<blockquote>
13305<pre>
13306<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
13307</pre>
13308</blockquote>
13309
13310<p>
13311See the <a href="SASL_README.html">SASL_README</a> file for SASL configuration and operation details.
13312</p>
13313
13314
13315</DD>
13316
13317<DT><b><a name="smtpd_sasl_authenticated_header">smtpd_sasl_authenticated_header</a>
13318(default: no)</b></DT><DD>
13319
13320<p> Report the SASL authenticated user name in the <a href="smtpd.8.html">smtpd(8)</a> Received
13321message header.  </p>
13322
13323<p> This feature is available in Postfix 2.3 and later.  </p>
13324
13325
13326</DD>
13327
13328<DT><b><a name="smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a>
13329(default: empty)</b></DT><DD>
13330
13331<p>
13332What remote SMTP clients the Postfix SMTP server will not offer
13333AUTH support to.
13334</p>
13335
13336<p>
13337Some clients (Netscape 4 at least) have a bug that causes them to
13338require a login and password whenever AUTH is offered, whether it's
13339necessary or not. To work around this, specify, for example,
13340$<a href="postconf.5.html#mynetworks">mynetworks</a> to prevent Postfix from offering AUTH to local clients.
13341</p>
13342
13343<p>
13344Specify a list of network/netmask patterns, separated by commas
13345and/or whitespace. The mask specifies the number of bits in the
13346network part of a host address. You can also "/file/name" or
13347"<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name" pattern is replaced by its
13348contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry
13349matches a lookup string (the lookup result is ignored).  Continue
13350long lines by starting the next line with whitespace. Specify
13351"!pattern" to exclude an address or network block from the list.
13352The form "!/file/name" is supported only in Postfix version 2.4 and
13353later.  </p>
13354
13355<p> Note: IP version 6 address information must be specified inside
13356<tt>[]</tt> in the <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> value, and in
13357files specified with "/file/name".  IP version 6 addresses contain
13358the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
13359pattern.  </p>
13360
13361<p>
13362Example:
13363</p>
13364
13365<pre>
13366<a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a>
13367</pre>
13368
13369<p>
13370This feature is available in Postfix 2.1 and later.
13371</p>
13372
13373
13374</DD>
13375
13376<DT><b><a name="smtpd_sasl_local_domain">smtpd_sasl_local_domain</a>
13377(default: empty)</b></DT><DD>
13378
13379<p>
13380The name of the Postfix SMTP server's local SASL authentication
13381realm.
13382</p>
13383
13384<p>
13385By default, the local authentication realm name is the null string.
13386</p>
13387
13388<p>
13389Examples:
13390</p>
13391
13392<pre>
13393<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
13394<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#myhostname">myhostname</a>
13395</pre>
13396
13397
13398</DD>
13399
13400<DT><b><a name="smtpd_sasl_path">smtpd_sasl_path</a>
13401(default: smtpd)</b></DT><DD>
13402
13403<p> Implementation-specific information that the Postfix SMTP server
13404passes through to
13405the SASL plug-in implementation that is selected with
13406<b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  Typically this specifies the name of a
13407configuration file or rendezvous point. </p>
13408
13409<p> This feature is available in Postfix 2.3 and later. In earlier
13410releases it was called <b><a href="postconf.5.html#smtpd_sasl_application_name">smtpd_sasl_application_name</a></b>. </p>
13411
13412
13413</DD>
13414
13415<DT><b><a name="smtpd_sasl_security_options">smtpd_sasl_security_options</a>
13416(default: noanonymous)</b></DT><DD>
13417
13418<p> Postfix SMTP server SASL security options; as of Postfix 2.3
13419the list of available
13420features depends on the SASL server implementation that is selected
13421with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  </p>
13422
13423<p> The following security features are defined for the <b>cyrus</b>
13424server SASL implementation: </p>
13425
13426<p>
13427Restrict what authentication mechanisms the Postfix SMTP server
13428will offer to the client.  The list of available authentication
13429mechanisms is system dependent.
13430</p>
13431
13432<p>
13433Specify zero or more of the following:
13434</p>
13435
13436<dl>
13437
13438<dt><b>noplaintext</b></dt>
13439
13440<dd>Disallow methods that use plaintext passwords. </dd>
13441
13442<dt><b>noactive</b></dt>
13443
13444<dd>Disallow methods subject to active (non-dictionary) attack. </dd>
13445
13446<dt><b>nodictionary</b></dt>
13447
13448<dd>Disallow methods subject to passive (dictionary) attack. </dd>
13449
13450<dt><b>noanonymous</b></dt>
13451
13452<dd>Disallow methods that allow anonymous authentication. </dd>
13453
13454<dt><b>forward_secrecy</b></dt>
13455
13456<dd>Only allow methods that support forward secrecy (Dovecot only).
13457</dd>
13458
13459<dt><b>mutual_auth</b></dt>
13460
13461<dd>Only allow methods that provide mutual authentication (not available
13462with Cyrus SASL version 1). </dd>
13463
13464</dl>
13465
13466<p>
13467By default, the Postfix SMTP server accepts plaintext passwords but
13468not anonymous logins.
13469</p>
13470
13471<p>
13472Warning: it appears that clients try authentication methods in the
13473order as advertised by the server (e.g., PLAIN ANONYMOUS CRAM-MD5)
13474which means that if you disable plaintext passwords, clients will
13475log in anonymously, even when they should be able to use CRAM-MD5.
13476So, if you disable plaintext logins, disable anonymous logins too.
13477Postfix treats anonymous login as no authentication.
13478</p>
13479
13480<p>
13481Example:
13482</p>
13483
13484<pre>
13485<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a> = noanonymous, noplaintext
13486</pre>
13487
13488
13489</DD>
13490
13491<DT><b><a name="smtpd_sasl_tls_security_options">smtpd_sasl_tls_security_options</a>
13492(default: $<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a>)</b></DT><DD>
13493
13494<p> The SASL authentication security options that the Postfix SMTP
13495server uses for TLS encrypted SMTP sessions. </p>
13496
13497<p> This feature is available in Postfix 2.2 and later.  </p>
13498
13499
13500</DD>
13501
13502<DT><b><a name="smtpd_sasl_type">smtpd_sasl_type</a>
13503(default: cyrus)</b></DT><DD>
13504
13505<p> The SASL plug-in type that the Postfix SMTP server should use
13506for authentication. The available types are listed with the
13507"<b>postconf -a</b>" command. </p>
13508
13509<p> This feature is available in Postfix 2.3 and later. </p>
13510
13511
13512</DD>
13513
13514<DT><b><a name="smtpd_sender_login_maps">smtpd_sender_login_maps</a>
13515(default: empty)</b></DT><DD>
13516
13517<p>
13518Optional lookup table with the SASL login names that own sender
13519(MAIL FROM) addresses.
13520</p>
13521
13522<p>
13523Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables. With lookups from
13524indexed files such as DB or DBM, or from networked tables such as
13525NIS, LDAP or SQL, the following search operations are done with a
13526sender address of <i>user@domain</i>:  </p>
13527
13528<dl>
13529
13530<dt> 1) <i>user@domain</i> </dt>
13531
13532<dd>This table lookup is always done and has the highest precedence. </dd>
13533
13534<dt> 2) <i>user</i> </dt>
13535
13536<dd>This table lookup is done only when the <i>domain</i> part of the
13537sender 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>
13538or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. </dd>
13539
13540<dt> 3) <i>@domain</i> </dt>
13541
13542<dd>This table lookup is done last and has the lowest precedence. </dd>
13543
13544</dl>
13545
13546<p>
13547In all cases the result of table lookup must be either "not found"
13548or a list of SASL login names separated by comma and/or whitespace.
13549</p>
13550
13551
13552</DD>
13553
13554<DT><b><a name="smtpd_sender_restrictions">smtpd_sender_restrictions</a>
13555(default: empty)</b></DT><DD>
13556
13557<p>
13558Optional restrictions that the Postfix SMTP server applies in the
13559context of the MAIL FROM command.
13560See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
13561restriction lists" for a discussion of evaluation context and time.
13562</p>
13563
13564<p>
13565The default is to permit everything.
13566</p>
13567
13568<p>
13569Specify a list of restrictions, separated by commas and/or whitespace.
13570Continue long lines by starting the next line with whitespace.
13571Restrictions are applied in the order as specified; the first
13572restriction that matches wins.
13573</p>
13574
13575<p>
13576The following restrictions are specific to the sender address
13577received with the MAIL FROM command.
13578</p>
13579
13580<dl>
13581
13582<dt><b><a name="check_sender_access">check_sender_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
13583
13584<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MAIL FROM
13585address, domain, parent domains, or localpart@, and execute the
13586corresponding action. </dd>
13587
13588<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>
13589
13590<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
13591the MAIL FROM address, and execute the corresponding action.  Note:
13592a result of "OK" is not allowed for safety reasons. Instead, use
13593DUNNO in order to exclude specific hosts from blacklists.  This
13594feature is available in Postfix 2.1 and later. </dd>
13595
13596<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>
13597
13598<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
13599for the MAIL FROM address, and execute the corresponding action.
13600Note: a result of "OK" is not allowed for safety reasons. Instead,
13601use DUNNO in order to exclude specific hosts from blacklists.  This
13602feature is available in Postfix 2.1 and later.  </dd>
13603
13604<dt><b><a name="reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a></b></dt>
13605
13606<dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for
13607authenticated clients only. This feature is available in
13608Postfix version 2.1 and later. </dd>
13609
13610<dt><b><a name="reject_non_fqdn_sender">reject_non_fqdn_sender</a></b></dt>
13611
13612<dd>Reject the request when the MAIL FROM address is not in
13613fully-qualified domain form, as required by the RFC. <br> The
13614<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
13615rejected requests (default: 504). </dd>
13616
13617<dt><b><a name="reject_rhsbl_sender">reject_rhsbl_sender <i>rbl_domain=d.d.d.d</i></a></b></dt>
13618
13619<dd>Reject the request when the MAIL FROM domain is listed with
13620the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix
13621version 2.1 and later only).  Each "<i>d</i>" is a number, or a
13622pattern inside "[]" that contains one or more ";"-separated numbers
13623or number..number ranges (Postfix version 2.8 and later). If no
13624"<i>=d.d.d.d</i>" is specified,
13625reject the request when the MAIL FROM domain is
13626listed with any A record under <i>rbl_domain</i>. <br> The
13627<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
13628rejected requests (default:  554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter
13629specifies the default server reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter
13630specifies tables with server replies indexed by <i>rbl_domain</i>.
13631This feature is available in Postfix 2.0 and later.</dd>
13632
13633<dt><b><a name="reject_sender_login_mismatch">reject_sender_login_mismatch</a></b></dt>
13634
13635<dd>Reject the request when $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a> specifies an
13636owner for the MAIL FROM address, but the client is not (SASL) logged
13637in as that MAIL FROM address owner; or when the client is (SASL)
13638logged in, but the client login name doesn't own the MAIL FROM
13639address according to $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.</dd>
13640
13641<dt><b><a name="reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a></b></dt>
13642
13643<dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for
13644unauthenticated clients only. This feature is available in
13645Postfix version 2.1 and later. </dd>
13646
13647<dt><b><a name="reject_unknown_sender_domain">reject_unknown_sender_domain</a></b></dt>
13648
13649<dd>Reject the request when Postfix is not final destination for
13650the sender address, and the MAIL FROM address has no DNS A or MX
13651record, or when it has a malformed MX record such as a record with
13652a zero-length MX hostname (Postfix version 2.3 and later). <br> The
13653<a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter specifies the numerical
13654response code for rejected requests (default: 450).  The response
13655is always 450 in case of a temporary DNS error. <br> The
13656<a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> parameter specifies the action
13657after a temporary DNS error (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). </dd>
13658
13659<dt><b><a name="reject_unlisted_sender">reject_unlisted_sender</a></b></dt>
13660
13661<dd>Reject the request when the MAIL FROM address is not listed in
13662the list of valid recipients for its domain class. See the
13663<a href="postconf.5.html#smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> parameter description for details.
13664This feature is available in Postfix 2.1 and later.</dd>
13665
13666<dt><b><a name="reject_unverified_sender">reject_unverified_sender</a></b></dt>
13667
13668<dd>Reject the request when mail to the MAIL FROM address is known to
13669bounce, or when the sender address destination is not reachable.
13670Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
13671see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The
13672<a href="postconf.5.html#unverified_sender_reject_code">unverified_sender_reject_code</a> parameter specifies the numerical
13673response code when an address is known to bounce (default: 450,
13674change into 550 when you are confident that it is safe to do so).
13675<br>The <a href="postconf.5.html#unverified_sender_defer_code">unverified_sender_defer_code</a> specifies the numerical response
13676code when an address address probe failed due to a temporary problem
13677(default: 450).  <br> The <a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a> parameter
13678specifies the action after address probe failure due to a temporary
13679problem (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  <br> This feature is available
13680in Postfix 2.1 and later.  </dd>
13681
13682</dl>
13683
13684<p>
13685Other restrictions that are valid in this context:
13686</p>
13687
13688<ul>
13689
13690<li> <a href="#generic">Generic</a> restrictions that can be used
13691in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
13692
13693<li> SMTP command specific restrictions described under
13694<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>.
13695
13696<li> SMTP command specific restrictions described under
13697<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When recipient restrictions are listed
13698under <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, they have effect only with
13699"<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
13700evaluated at the time of the RCPT TO command.
13701
13702</ul>
13703
13704<p>
13705Examples:
13706</p>
13707
13708<pre>
13709<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>
13710<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>,
13711    <a href="postconf.5.html#check_sender_access">check_sender_access</a> hash:/etc/postfix/access
13712</pre>
13713
13714
13715</DD>
13716
13717<DT><b><a name="smtpd_service_name">smtpd_service_name</a>
13718(default: smtpd)</b></DT><DD>
13719
13720<p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> forwards allowed
13721connections to. In a future version there may be different
13722classes of SMTP service. </p>
13723
13724<p> This feature is available in Postfix 2.8. </p>
13725
13726
13727</DD>
13728
13729<DT><b><a name="smtpd_soft_error_limit">smtpd_soft_error_limit</a>
13730(default: 10)</b></DT><DD>
13731
13732<p>
13733The number of errors a remote SMTP client is allowed to make without
13734delivering mail before the Postfix SMTP server slows down all its
13735responses.
13736</p>
13737
13738<ul>
13739
13740<li><p>With Postfix version 2.1 and later, the Postfix SMTP server
13741delays all responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> seconds. </p>
13742
13743<li><p>With Postfix versions 2.0 and earlier, the Postfix SMTP
13744server delays all responses by (number of errors) seconds. </p>
13745
13746</ul>
13747
13748
13749</DD>
13750
13751<DT><b><a name="smtpd_starttls_timeout">smtpd_starttls_timeout</a>
13752(default: see "postconf -d" output)</b></DT><DD>
13753
13754<p> The time limit for Postfix SMTP server write and read operations
13755during TLS startup and shutdown handshake procedures. The current
13756default value is stress-dependent. Before Postfix version 2.8, it
13757was fixed at 300s. </p>
13758
13759<p> This feature is available in Postfix 2.2 and later.  </p>
13760
13761
13762</DD>
13763
13764<DT><b><a name="smtpd_timeout">smtpd_timeout</a>
13765(default: normal: 300s, overload: 10s)</b></DT><DD>
13766
13767<p>
13768The time limit for sending a Postfix SMTP server response and for
13769receiving a remote SMTP client request. Normally the default limit
13770is 300s, but it changes under overload to just 10s. With Postfix
137712.5 and earlier, the SMTP server always uses a time limit of 300s
13772by default.
13773</p>
13774
13775<p>
13776Note: if you set SMTP time limits to very large values you may have
13777to update the global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter.
13778</p>
13779
13780<p>
13781Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
13782The default time unit is s (seconds).
13783</p>
13784
13785
13786</DD>
13787
13788<DT><b><a name="smtpd_tls_CAfile">smtpd_tls_CAfile</a>
13789(default: empty)</b></DT><DD>
13790
13791<p> A file containing (PEM format) CA certificates of root CAs trusted
13792to sign either remote SMTP client certificates or intermediate CA
13793certificates.  These are loaded into memory before the <a href="smtpd.8.html">smtpd(8)</a> server
13794enters the chroot jail. If the number of trusted roots is large, consider
13795using <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> instead, but note that the latter directory must
13796be present in the chroot jail if the <a href="smtpd.8.html">smtpd(8)</a> server is chrooted. This
13797file may also be used to augment the server certificate trust chain,
13798but it is best to include all the required certificates directly in the
13799server certificate file. </p>
13800
13801<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
13802appending the system-supplied default CAs and trusting third-party
13803certificates. </p>
13804
13805<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are not
13806requested, and <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> should remain empty. If you do make use
13807of client certificates, the distinguished names (DNs) of the certificate
13808authorities listed in <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> are sent to the remote SMTP client
13809in the client certificate request message. MUAs with multiple client
13810certificates may use the list of preferred certificate authorities
13811to select the correct client certificate.  You may want to put your
13812"preferred" CA or CAs in this file, and install other trusted CAs in
13813$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
13814
13815<p> Example: </p>
13816
13817<pre>
13818<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /etc/postfix/CAcert.pem
13819</pre>
13820
13821<p> This feature is available in Postfix 2.2 and later.  </p>
13822
13823
13824</DD>
13825
13826<DT><b><a name="smtpd_tls_CApath">smtpd_tls_CApath</a>
13827(default: empty)</b></DT><DD>
13828
13829<p> A directory containing (PEM format) CA certificates of root CAs
13830trusted to sign either remote SMTP client certificates or intermediate CA
13831certificates. Do not forget to create the necessary "hash" links with,
13832for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs". To use
13833<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> in chroot mode, this directory (or a copy) must be
13834inside the chroot jail. </p>
13835
13836<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
13837appending the system-supplied default CAs and trusting third-party
13838certificates. </p>
13839
13840<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are
13841not requested, and <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> should remain empty. In contrast
13842to <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, DNs of certificate authorities installed
13843in $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> are not included in the client certificate
13844request message. MUAs with multiple client certificates may use the
13845list of preferred certificate authorities to select the correct
13846client certificate.  You may want to put your "preferred" CA or
13847CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, and install the remaining trusted CAs in
13848$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
13849
13850<p> Example: </p>
13851
13852<pre>
13853<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /etc/postfix/certs
13854</pre>
13855
13856<p> This feature is available in Postfix 2.2 and later.  </p>
13857
13858
13859</DD>
13860
13861<DT><b><a name="smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>
13862(default: yes)</b></DT><DD>
13863
13864<p> Force the Postfix SMTP server to issue a TLS session id, even
13865when TLS session caching is turned off (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
13866is empty). This behavior is compatible with Postfix &lt; 2.3. </p>
13867
13868<p> With Postfix 2.3 and later the Postfix SMTP server can disable
13869session id generation when TLS session caching is turned off. This
13870keeps clients from caching sessions that almost certainly cannot
13871be re-used.  </p>
13872
13873<p> By default, the Postfix SMTP server always generates TLS session
13874ids. This works around a known defect in mail client applications
13875such as MS Outlook, and may also prevent interoperability issues
13876with other MTAs. </p>
13877
13878<p> Example: </p>
13879
13880<pre>
13881<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> = no
13882</pre>
13883
13884<p> This feature is available in Postfix 2.3 and later. </p>
13885
13886
13887</DD>
13888
13889<DT><b><a name="smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
13890(default: no)</b></DT><DD>
13891
13892<p> Ask a remote SMTP client for a client certificate. This
13893information is needed for certificate based mail relaying with,
13894for example, the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> feature. </p>
13895
13896<p> Some clients such as Netscape will either complain if no
13897certificate is available (for the list of CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)
13898or will offer multiple client certificates to choose from. This
13899may be annoying, so this option is "off" by default. </p>
13900
13901<p> This feature is available in Postfix 2.2 and later.  </p>
13902
13903
13904</DD>
13905
13906<DT><b><a name="smtpd_tls_auth_only">smtpd_tls_auth_only</a>
13907(default: no)</b></DT><DD>
13908
13909<p> When TLS encryption is optional in the Postfix SMTP server, do
13910not announce or accept SASL authentication over unencrypted
13911connections. </p>
13912
13913<p> This feature is available in Postfix 2.2 and later.  </p>
13914
13915
13916</DD>
13917
13918<DT><b><a name="smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>
13919(default: 9)</b></DT><DD>
13920
13921<p> The verification depth for remote SMTP client certificates. A
13922depth of 1 is sufficient if the issuing CA is listed in a local CA
13923file. </p>
13924
13925<p> The default verification depth is 9 (the OpenSSL default) for
13926compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
13927the default value was 5, but the limit was not actually enforced. If
13928you have set this to a lower non-default value, certificates with longer
13929trust chains may now fail to verify. Certificate chains with 1 or 2
13930CAs are common, deeper chains are more rare and any number between 5
13931and 9 should suffice in practice. You can choose a lower number if,
13932for example, you trust certificates directly signed by an issuing CA
13933but not any CAs it delegates to. </p>
13934
13935<p> This feature is available in Postfix 2.2 and later.  </p>
13936
13937
13938</DD>
13939
13940<DT><b><a name="smtpd_tls_cert_file">smtpd_tls_cert_file</a>
13941(default: empty)</b></DT><DD>
13942
13943<p> File with the Postfix SMTP server RSA certificate in PEM format.
13944This file may also contain the Postfix SMTP server private RSA key. </p>
13945
13946<p> Public Internet MX hosts without certificates signed by a "reputable"
13947CA must generate, and be prepared to present to most clients, a
13948self-signed or private-CA signed certificate. The client will not be
13949able to authenticate the server, but unless it is running Postfix 2.3 or
13950similar software, it will still insist on a server certificate. </p>
13951
13952<p> For servers that are <b>not</b> public Internet MX hosts, Postfix
139532.3 supports configurations with no certificates. This entails the
13954use of just the anonymous TLS ciphers, which are not supported by
13955typical SMTP clients. Since such clients will not, as a rule, fall
13956back to plain text after a TLS handshake failure, the server will
13957be unable to receive email from TLS enabled clients. To avoid
13958accidental configurations with no certificates, Postfix 2.3 enables
13959certificate-less operation only when the administrator explicitly
13960sets "<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = none". This ensures that new Postfix
13961configurations will not accidentally run with no certificates. </p>
13962
13963<p> Both RSA and DSA certificates are supported.  When both types
13964are present, the cipher used determines which certificate will be
13965presented to the client.  For Netscape and OpenSSL clients without
13966special cipher choices the RSA certificate is preferred. </p>
13967
13968<p> To enable a remote SMTP client to verify the Postfix SMTP server
13969certificate, the issuing CA certificates must be made available to the
13970client. You should include the required certificates in the server
13971certificate file, the server certificate first, then the issuing
13972CA(s) (bottom-up order). </p>
13973
13974<p> Example: the certificate for "server.example.com" was issued by
13975"intermediate CA" which itself has a certificate of "root CA".
13976Create the server.pem file with "cat server_cert.pem intermediate_CA.pem
13977root_CA.pem &gt; server.pem". </p>
13978
13979<p> If you also want to verify client certificates issued by these
13980CAs, you can add the CA certificates to the <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, in which
13981case it is not necessary to have them in the <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> or
13982<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. </p>
13983
13984<p> A certificate supplied here must be usable as an SSL server certificate
13985and hence pass the "openssl verify -purpose sslserver ..." test. </p>
13986
13987<p> Example: </p>
13988
13989<pre>
13990<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = /etc/postfix/server.pem
13991</pre>
13992
13993<p> This feature is available in Postfix 2.2 and later.  </p>
13994
13995
13996</DD>
13997
13998<DT><b><a name="smtpd_tls_cipherlist">smtpd_tls_cipherlist</a>
13999(default: empty)</b></DT><DD>
14000
14001<p> Obsolete Postfix &lt; 2.3 control for the Postfix SMTP server TLS
14002cipher list. It is easy to create inter-operability problems by choosing
14003a non-default cipher list. Do not use a non-default TLS cipherlist for
14004MX hosts on the public Internet. Clients that begin the TLS handshake,
14005but are unable to agree on a common cipher, may not be able to send any
14006email to the SMTP server. Using a restricted cipher list may be more
14007appropriate for a dedicated MSA or an internal mailhub, where one can
14008exert some control over the TLS software and settings of the connecting
14009clients. </p>
14010
14011<p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
14012
14013<p>This feature is available with Postfix version 2.2. It is not used with
14014Postfix 2.3 and later; use <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> instead. </p>
14015
14016
14017</DD>
14018
14019<DT><b><a name="smtpd_tls_ciphers">smtpd_tls_ciphers</a>
14020(default: export)</b></DT><DD>
14021
14022<p> The minimum TLS cipher grade that the Postfix SMTP server
14023will use with opportunistic TLS encryption. Cipher types listed in
14024<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are excluded from the base definition of
14025the selected cipher grade. The default value "export" ensures maximum
14026inter-operability. Because encryption is optional, stronger controls
14027are not appropriate, and this setting SHOULD NOT be changed unless the
14028change is essential. </p>
14029
14030<p> When TLS is mandatory the cipher grade is chosen via the
14031<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
14032details. </p>
14033
14034<p> Example: </p>
14035<pre>
14036<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> = export
14037</pre>
14038
14039<p> This feature is available in Postfix 2.6 and later. With earlier Postfix
14040releases only the <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> parameter is implemented,
14041and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
14042
14043
14044</DD>
14045
14046<DT><b><a name="smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>
14047(default: empty)</b></DT><DD>
14048
14049<p> File with the Postfix SMTP server DSA certificate in PEM format.
14050This file may also contain the Postfix SMTP server private DSA key. </p>
14051
14052<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details.
14053</p>
14054
14055<p> Example: </p>
14056
14057<pre>
14058<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> = /etc/postfix/server-dsa.pem
14059</pre>
14060
14061<p> This feature is available in Postfix 2.2 and later.  </p>
14062
14063
14064</DD>
14065
14066<DT><b><a name="smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
14067(default: empty)</b></DT><DD>
14068
14069<p> File with DH parameters that the Postfix SMTP server should
14070use with EDH ciphers. </p>
14071
14072<p> Instead of using the exact same parameter sets as distributed
14073with other TLS packages, it is more secure to generate your own
14074set of parameters with something like the following command:  </p>
14075
14076<blockquote>
14077<pre>
14078openssl gendh -out /etc/postfix/dh_1024.pem -2 1024
14079</pre>
14080</blockquote>
14081
14082<p> Your actual source for entropy may differ. Some systems have
14083/dev/random; on other system you may consider using the "Entropy
14084Gathering Daemon EGD", available at <a href="http://egd.sourceforge.net/">http://egd.sourceforge.net/</a>
14085</p>
14086
14087<p> Example: </p>
14088
14089<pre>
14090<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> = /etc/postfix/dh_1024.pem
14091</pre>
14092
14093<p>This feature is available with Postfix version 2.2.</p>
14094
14095
14096</DD>
14097
14098<DT><b><a name="smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
14099(default: empty)</b></DT><DD>
14100
14101<p> File with DH parameters that the Postfix SMTP server should
14102use with EDH ciphers. </p>
14103
14104<p> See also the discussion under the <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
14105configuration parameter.  </p>
14106
14107<p> Example: </p>
14108
14109<pre>
14110<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> = /etc/postfix/dh_512.pem
14111</pre>
14112
14113<p>This feature is available with Postfix version 2.2.</p>
14114
14115
14116</DD>
14117
14118<DT><b><a name="smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>
14119(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
14120
14121<p> File with the Postfix SMTP server DSA private key in PEM format.
14122This file may be combined with the Postfix SMTP server DSA certificate
14123file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. </p>
14124
14125<p> The private key must be accessible without a pass-phrase, i.e. it
14126must not be encrypted. File permissions should grant read-only
14127access to the system superuser account ("root"), and no access
14128to anyone else. </p>
14129
14130<p> This feature is available in Postfix 2.2 and later.  </p>
14131
14132
14133</DD>
14134
14135<DT><b><a name="smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>
14136(default: empty)</b></DT><DD>
14137
14138<p> File with the Postfix SMTP server ECDSA certificate in PEM format.
14139This file may also contain the Postfix SMTP server private ECDSA key. </p>
14140
14141<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details. </p>
14142
14143<p> Example: </p>
14144
14145<pre>
14146<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> = /etc/postfix/ecdsa-scert.pem
14147</pre>
14148
14149<p> This feature is available in Postfix 2.6 and later, when Postfix is
14150compiled and linked with OpenSSL 1.0.0 or later. </p>
14151
14152
14153</DD>
14154
14155<DT><b><a name="smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>
14156(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
14157
14158<p> File with the Postfix SMTP server ECDSA private key in PEM format.
14159This file may be combined with the Postfix SMTP server ECDSA certificate
14160file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. </p>
14161
14162<p> The private key must be accessible without a pass-phrase, i.e. it
14163must not be encrypted. File permissions should grant read-only
14164access to the system superuser account ("root"), and no access
14165to anyone else. </p>
14166
14167<p> This feature is available in Postfix 2.6 and later, when Postfix is
14168compiled and linked with OpenSSL 1.0.0 or later. </p>
14169
14170
14171</DD>
14172
14173<DT><b><a name="smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>
14174(default: see "postconf -d" output)</b></DT><DD>
14175
14176<p> The Postfix SMTP server security grade for ephemeral elliptic-curve
14177Diffie-Hellman (EECDH) key exchange. </p>
14178
14179<p> The available choices are: </p>
14180
14181<dl>
14182
14183<dt><b>none</b></dt> <dd> Don't use EECDH. Ciphers based on EECDH key
14184exchange will be disabled. This is the default in Postfix versions
141852.6 and 2.7. </dd>
14186
14187<dt><b>strong</b></dt> <dd> Use EECDH with approximately 128
14188bits of security at a reasonable computational cost. This is the
14189current best-practice trade-off between security and computational
14190efficiency. This is the default in Postfix version 2.8 and later.
14191</dd>
14192
14193<dt><b>ultra</b></dt> <dd> Use EECDH with approximately 192 bits of
14194security at computational cost that is approximately twice as high
14195as 128 bit strength ECC. Barring significant progress in attacks on
14196elliptic curve crypto-systems, the "strong" curve is sufficient for most
14197users. </dd>
14198
14199</dl>
14200
14201<p> This feature is available in Postfix 2.6 and later, when it is
14202compiled and linked with OpenSSL 1.0.0 or later. </p>
14203
14204
14205</DD>
14206
14207<DT><b><a name="smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
14208(default: empty)</b></DT><DD>
14209
14210<p> List of ciphers or cipher types to exclude from the SMTP server
14211cipher list at all TLS security levels. Excluding valid ciphers
14212can create interoperability problems. DO NOT exclude ciphers unless it
14213is essential to do so. This is not an OpenSSL cipherlist; it is a simple
14214list separated by whitespace and/or commas. The elements are a single
14215cipher, or one or more "+" separated cipher properties, in which case
14216only ciphers matching <b>all</b> the properties are excluded. </p>
14217
14218<p> Examples (some of these will cause problems): </p>
14219
14220<blockquote>
14221<pre>
14222<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL
14223<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = MD5, DES
14224<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = DES+MD5
14225<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
14226<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = kEDH+aRSA
14227</pre>
14228</blockquote>
14229
14230<p> The first setting disables anonymous ciphers. The next setting
14231disables ciphers that use the MD5 digest algorithm or the (single) DES
14232encryption algorithm. The next setting disables ciphers that use MD5 and
14233DES together.  The next setting disables the two ciphers "AES256-SHA"
14234and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
14235key exchange with RSA authentication. </p>
14236
14237<p> This feature is available in Postfix 2.3 and later. </p>
14238
14239
14240</DD>
14241
14242<DT><b><a name="smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>
14243(default: md5)</b></DT><DD>
14244
14245<p> The message digest algorithm used to construct client-certificate
14246fingerprints for <b><a href="postconf.5.html#check_ccert_access">check_ccert_access</a></b> and
14247<b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a></b>. The default algorithm is <b>md5</b>,
14248for backwards compatibility with Postfix releases prior to 2.5.
14249</p>
14250
14251<p> The best practice algorithm is now <b>sha1</b>. Recent advances in hash
14252function cryptanalysis have led to md5 being deprecated in favor of sha1.
14253However, as long as there are no known "second pre-image" attacks
14254against md5, its use in this context can still be considered safe.
14255</p>
14256
14257<p> While additional digest algorithms are often available with OpenSSL's
14258libcrypto, only those used by libssl in SSL cipher suites are available to
14259Postfix. For now this means just md5 or sha1. </p>
14260
14261<p> To find the fingerprint of a specific certificate file, with a
14262specific digest algorithm, run: </p>
14263
14264<blockquote>
14265<pre>
14266$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
14267</pre>
14268</blockquote>
14269
14270<p> The text to the right of "=" sign is the desired fingerprint.
14271For example: </p>
14272
14273<blockquote>
14274<pre>
14275$ openssl x509 -noout -fingerprint -sha1 -in cert.pem
14276SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
14277</pre>
14278</blockquote>
14279
14280<p> Example: client-certificate access table, with sha1 fingerprints: </p>
14281
14282<blockquote>
14283<pre>
14284/etc/postfix/<a href="postconf.5.html">main.cf</a>:
14285    <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> = sha1
14286    <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
14287        <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> hash:/etc/postfix/access,
14288        reject
14289</pre>
14290<pre>
14291/etc/postfix/access:
14292    # Action folded to next line...
14293    AF:88:7C:AD:51:95:6F:36:96:F6:01:FB:2E:48:CD:AB:49:25:A2:3B
14294        OK
14295    85:16:78:FD:73:6E:CE:70:E0:31:5F:0D:3C:C8:6D:C4:2C:24:59:E1
14296        <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
14297</pre>
14298</blockquote>
14299
14300<p> This feature is available in Postfix 2.5 and later. </p>
14301
14302
14303</DD>
14304
14305<DT><b><a name="smtpd_tls_key_file">smtpd_tls_key_file</a>
14306(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
14307
14308<p> File with the Postfix SMTP server RSA private key in PEM format.
14309This file may be combined with the Postfix SMTP server RSA certificate
14310file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>. </p>
14311
14312<p> The private key must be accessible without a pass-phrase, i.e. it
14313must not be encrypted. File permissions should grant read-only
14314access to the system superuser account ("root"), and no access
14315to anyone else. </p>
14316
14317
14318</DD>
14319
14320<DT><b><a name="smtpd_tls_loglevel">smtpd_tls_loglevel</a>
14321(default: 0)</b></DT><DD>
14322
14323<p> Enable additional Postfix SMTP server logging of TLS activity.
14324Each logging level also includes the information that is logged at
14325a lower logging level.  </p>
14326
14327<dl compact>
14328
14329<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
14330
14331<dt> </dt> <dd> 1 Log TLS handshake and certificate information. </dd>
14332
14333<dt> </dt> <dd> 2 Log levels during TLS negotiation. </dd>
14334
14335<dt> </dt> <dd> 3 Log hexadecimal and ASCII dump of TLS negotiation
14336process.  </dd>
14337
14338<dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
14339transmission after STARTTLS. </dd>
14340
14341</dl>
14342
14343<p> Use "<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> = 3" only in case of problems. Use of
14344loglevel 4 is strongly discouraged. </p>
14345
14346<p> This feature is available in Postfix 2.2 and later.  </p>
14347
14348
14349</DD>
14350
14351<DT><b><a name="smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
14352(default: medium)</b></DT><DD>
14353
14354<p> The minimum TLS cipher grade that the Postfix SMTP server will
14355use with mandatory TLS encryption. The default grade ("medium") is
14356sufficiently strong that any benefit from globally restricting TLS
14357sessions to a more stringent grade is likely negligible, especially
14358given the fact that many implementations still do not offer any stronger
14359("high" grade) ciphers, while those that do, will always use "high"
14360grade ciphers. So insisting on "high" grade ciphers is generally
14361counter-productive. Allowing "export" or "low" ciphers is typically
14362not a good idea, as systems limited to just these are limited to
14363obsolete browsers. No known SMTP clients fail to support at least
14364one "medium" or "high" grade cipher. </p>
14365
14366<p> The following cipher grades are supported: </p>
14367
14368<dl>
14369<dt><b>export</b></dt>
14370<dd> Enable "EXPORT" grade or stronger OpenSSL ciphers.
14371This is the most appropriate setting for public MX hosts, and is always
14372used with opportunistic TLS encryption. The underlying cipherlist
14373is specified via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration parameter,
14374which you are strongly encouraged to not change. </dd>
14375
14376<dt><b>low</b></dt>
14377<dd> Enable "LOW" grade or stronger OpenSSL ciphers. The
14378underlying cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a>
14379configuration parameter, which you are strongly encouraged to
14380not change. </dd>
14381
14382<dt><b>medium</b></dt>
14383<dd> Enable "MEDIUM" grade or stronger OpenSSL ciphers. These use 128-bit
14384or longer symmetric bulk-encryption keys. This is the default minimum
14385strength for mandatory TLS encryption. The underlying cipherlist is
14386specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a> configuration parameter, which
14387you are strongly encouraged to not change. </dd>
14388
14389<dt><b>high</b></dt>
14390<dd> Enable only "HIGH" grade OpenSSL ciphers. The
14391underlying cipherlist is specified via the <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a>
14392configuration parameter, which you are strongly encouraged to
14393not change. </dd>
14394
14395<dt><b>null</b></dt>
14396<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
14397without encryption.  This setting is only appropriate in the rare
14398case that all clients are prepared to use NULL ciphers (not normally
14399enabled in TLS clients). The underlying cipherlist is specified via the
14400<a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> configuration parameter, which you are strongly
14401encouraged to not change. </dd>
14402
14403</dl>
14404
14405<p> Cipher types listed in
14406<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
14407excluded from the base definition of the selected cipher grade. See
14408<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> for cipher controls that apply to opportunistic
14409TLS. </p>
14410
14411<p> The underlying cipherlists for grades other than "null" include
14412anonymous ciphers, but these are automatically filtered out if the
14413server is configured to ask for client certificates.  You are very
14414unlikely to need to take any steps to exclude anonymous ciphers, they
14415are excluded automatically as required.  If you must exclude anonymous
14416ciphers even when Postfix does not need or use peer certificates, set
14417"<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only
14418when TLS is enforced, set "<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
14419
14420<p> This feature is available in Postfix 2.3 and later. </p>
14421
14422
14423</DD>
14424
14425<DT><b><a name="smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>
14426(default: empty)</b></DT><DD>
14427
14428<p> Additional list of ciphers or cipher types to exclude from the
14429SMTP server cipher list at mandatory TLS security levels. This list
14430works in addition to the exclusions listed with <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
14431(see there for syntax details).  </p>
14432
14433<p> This feature is available in Postfix 2.3 and later. </p>
14434
14435
14436</DD>
14437
14438<DT><b><a name="smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>
14439(default: SSLv3, TLSv1)</b></DT><DD>
14440
14441<p> The SSL/TLS protocols accepted by the Postfix SMTP server with
14442mandatory TLS encryption. If the list is empty, the server supports all
14443available SSL/TLS protocol versions.  A non-empty value is a list
14444of protocol
14445names separated by whitespace, commas or colons. The supported protocol
14446names are "SSLv2", "SSLv3" and "TLSv1", and are not case sensitive. </p>
14447
14448<p> With Postfix &ge; 2.5 the parameter syntax is expanded to support
14449protocol exclusions. One can now explicitly exclude SSLv2 by setting
14450"<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2". To exclude both SSLv2 and
14451SSLv3 set "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing
14452the protocols to include, rather than protocols to exclude, is still
14453supported, use the form you find more intuitive. </p>
14454
14455<p> Since SSL version 2 has known protocol weaknesses and is now
14456deprecated, the default setting excludes "SSLv2".  This means that
14457by default, SSL version 2 will not be used at the "encrypt" security
14458level. </p>
14459
14460<p> Example: </p>
14461
14462<pre>
14463<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = TLSv1
14464# Alternative form with Postfix &ge; 2.5:
14465<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
14466</pre>
14467
14468<p> This feature is available in Postfix 2.3 and later. </p>
14469
14470
14471</DD>
14472
14473<DT><b><a name="smtpd_tls_protocols">smtpd_tls_protocols</a>
14474(default: empty)</b></DT><DD>
14475
14476<p> List of TLS protocols that the Postfix SMTP server will exclude
14477or include with opportunistic TLS encryption. This parameter SHOULD be
14478left at its default empty value, allowing all protocols to be used with
14479opportunistic TLS. </p>
14480
14481<p> In <a href="postconf.5.html">main.cf</a> the values are separated by whitespace, commas or
14482colons. An empty value means allow all protocols. The valid protocol
14483names, (see <b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3" and
14484"TLSv1". In <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> table entries, "protocols" attribute
14485values are separated by a colon. </p>
14486
14487<p> To include a protocol list its name, to exclude it, prefix the name
14488with a "!" character. To exclude SSLv2 even for opportunistic TLS set
14489"<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set
14490"<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to
14491include, is supported, but not recommended. OpenSSL provides no mechanisms
14492for excluding protocols not known at compile-time. If Postfix is linked
14493against an OpenSSL library that supports additional protocol versions,
14494they cannot be excluded using either syntax. </p>
14495
14496<p> Example: </p>
14497<pre>
14498<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2
14499</pre>
14500
14501<p> This feature is available in Postfix 2.6 and later. </p>
14502
14503
14504</DD>
14505
14506<DT><b><a name="smtpd_tls_received_header">smtpd_tls_received_header</a>
14507(default: no)</b></DT><DD>
14508
14509<p> Request that the Postfix SMTP server produces Received:  message
14510headers that include information about the protocol and cipher used,
14511as well as the client CommonName and client certificate issuer
14512CommonName.  This is disabled by default, as the information may
14513be modified in transit through other mail servers.  Only information
14514that was recorded by the final destination can be trusted. </p>
14515
14516<p> This feature is available in Postfix 2.2 and later.  </p>
14517
14518
14519</DD>
14520
14521<DT><b><a name="smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>
14522(default: no)</b></DT><DD>
14523
14524<p> With mandatory TLS encryption, require a trusted remote SMTP client
14525certificate in order to allow TLS connections to proceed.  This
14526option implies "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes". </p>
14527
14528<p> When TLS encryption is optional, this setting is ignored with
14529a warning written to the mail log. </p>
14530
14531<p> This feature is available in Postfix 2.2 and later.  </p>
14532
14533
14534</DD>
14535
14536<DT><b><a name="smtpd_tls_security_level">smtpd_tls_security_level</a>
14537(default: empty)</b></DT><DD>
14538
14539<p> The SMTP TLS security level for the Postfix SMTP server; when
14540a non-empty value is specified, this overrides the obsolete parameters
14541<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
14542"<a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> = yes".  </p>
14543
14544<p> Specify one of the following security levels: </p>
14545
14546<dl>
14547
14548<dt><b>none</b></dt> <dd> TLS will not be used. </dd>
14549
14550<dt><b>may</b></dt> <dd> Opportunistic TLS: announce STARTTLS support
14551to SMTP clients, but do not require that clients use TLS encryption.
14552</dd>
14553
14554<dt><b>encrypt</b></dt> <dd>Mandatory TLS encryption: announce
14555STARTTLS support to SMTP clients, and require that clients use TLS
14556encryption. According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> this MUST NOT be applied in case
14557of a publicly-referenced SMTP server. Instead, this option should
14558be used only on dedicated servers. </dd>
14559
14560</dl>
14561
14562<p> Note 1: the "fingerprint", "verify" and "secure" levels are not
14563supported here.
14564The Postfix SMTP server logs a warning and uses "encrypt" instead.
14565To verify SMTP client certificates, see <a href="TLS_README.html">TLS_README</a> for a discussion
14566of 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>
14567features.  </p>
14568
14569<p> Note 2: The parameter setting "<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> =
14570encrypt" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes".</p>
14571
14572<p> Note 3: when invoked via "sendmail -bs", Postfix will never
14573offer STARTTLS due to insufficient privileges to access the server
14574private key. This is intended behavior.</p>
14575
14576<p> This feature is available in Postfix 2.3 and later. </p>
14577
14578
14579</DD>
14580
14581<DT><b><a name="smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
14582(default: empty)</b></DT><DD>
14583
14584<p> Name of the file containing the optional Postfix SMTP server
14585TLS session cache. Specify a database type that supports enumeration,
14586such as <b>btree</b> or <b>sdbm</b>; there is no need to support
14587concurrent access.  The file is created if it does not exist. The <a href="smtpd.8.html">smtpd(8)</a>
14588daemon does not use this parameter directly, rather the cache is
14589implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
14590per-smtpd-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not
14591effective. Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a>
14592daemon: $<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>
14593(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
14594stored separately. It is not at this time possible to store multiple
14595caches in a single database. </p>
14596
14597<p> Note: <b>dbm</b> databases are not suitable. TLS
14598session objects are too large. </p>
14599
14600<p> As of version 2.5, Postfix no longer uses root privileges when
14601opening this file. The file should now be stored under the Postfix-owned
14602<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
14603under a non-Postfix directory is redirected to the Postfix-owned
14604<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
14605
14606<p> Example: </p>
14607
14608<pre>
14609<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> = btree:/var/db/postfix/smtpd_scache
14610</pre>
14611
14612<p> This feature is available in Postfix 2.2 and later.  </p>
14613
14614
14615</DD>
14616
14617<DT><b><a name="smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>
14618(default: 3600s)</b></DT><DD>
14619
14620<p> The expiration time of Postfix SMTP server TLS session cache
14621information. A cache cleanup is performed periodically
14622every $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> seconds. As with
14623$<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, this parameter is implemented in the
14624<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtpd-instance <a href="master.5.html">master.cf</a> overrides
14625are not possible. </p>
14626
14627<p> This feature is available in Postfix 2.2 and later.  </p>
14628
14629
14630</DD>
14631
14632<DT><b><a name="smtpd_tls_wrappermode">smtpd_tls_wrappermode</a>
14633(default: no)</b></DT><DD>
14634
14635<p> Run the Postfix SMTP server in the non-standard "wrapper" mode,
14636instead of using the STARTTLS command. </p>
14637
14638<p> If you want to support this service, enable a special port in
14639<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
14640server's command line. Port 465 (smtps) was once chosen for this
14641purpose. </p>
14642
14643<p> This feature is available in Postfix 2.2 and later.  </p>
14644
14645
14646</DD>
14647
14648<DT><b><a name="smtpd_use_tls">smtpd_use_tls</a>
14649(default: no)</b></DT><DD>
14650
14651<p> Opportunistic TLS: announce STARTTLS support to SMTP clients,
14652but do not require that clients use TLS encryption. </p>
14653
14654<p> Note: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
14655STARTTLS due to insufficient privileges to access the server private
14656key. This is intended behavior. </p>
14657
14658<p> This feature is available in Postfix 2.2 and later. With
14659Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
14660
14661
14662</DD>
14663
14664<DT><b><a name="soft_bounce">soft_bounce</a>
14665(default: no)</b></DT><DD>
14666
14667<p>
14668Safety net to keep mail queued that would otherwise be returned to
14669the sender.  This parameter disables locally-generated bounces,
14670and prevents the Postfix SMTP server from rejecting mail permanently,
14671by changing 5xx reply codes into 4xx.  However, <a href="postconf.5.html#soft_bounce">soft_bounce</a> is no
14672cure for address rewriting mistakes or mail routing mistakes.
14673</p>
14674
14675<p>
14676Example:
14677</p>
14678
14679<pre>
14680<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes
14681</pre>
14682
14683
14684</DD>
14685
14686<DT><b><a name="stale_lock_time">stale_lock_time</a>
14687(default: 500s)</b></DT><DD>
14688
14689<p>
14690The time after which a stale exclusive mailbox lockfile is removed.
14691This is used for delivery to file or mailbox.
14692</p>
14693
14694<p>
14695Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
14696The default time unit is s (seconds).
14697</p>
14698
14699
14700</DD>
14701
14702<DT><b><a name="stress">stress</a>
14703(default: empty)</b></DT><DD>
14704
14705<p> This feature is documented in the <a href="STRESS_README.html">STRESS_README</a> document. </p>
14706
14707<p> This feature is available in Postfix 2.5 and later. </p>
14708
14709
14710</DD>
14711
14712<DT><b><a name="strict_7bit_headers">strict_7bit_headers</a>
14713(default: no)</b></DT><DD>
14714
14715<p>
14716Reject mail with 8-bit text in message headers. This blocks mail
14717from poorly written applications.
14718</p>
14719
14720<p>
14721This feature should not be enabled on a general purpose mail server,
14722because it is likely to reject legitimate email.
14723</p>
14724
14725<p>
14726This feature is available in Postfix 2.0 and later.
14727</p>
14728
14729
14730</DD>
14731
14732<DT><b><a name="strict_8bitmime">strict_8bitmime</a>
14733(default: no)</b></DT><DD>
14734
14735<p>
14736Enable 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>.
14737</p>
14738
14739<p>
14740This feature should not be enabled on a general purpose mail server,
14741because it is likely to reject legitimate email.
14742</p>
14743
14744<p>
14745This feature is available in Postfix 2.0 and later.
14746</p>
14747
14748
14749</DD>
14750
14751<DT><b><a name="strict_8bitmime_body">strict_8bitmime_body</a>
14752(default: no)</b></DT><DD>
14753
14754<p>
14755Reject 8-bit message body text without 8-bit MIME content encoding
14756information.  This blocks mail from poorly written applications.
14757</p>
14758
14759<p>
14760Unfortunately, this also rejects majordomo approval requests when
14761the included request contains valid 8-bit MIME mail, and it rejects
14762bounces from mailers that do not MIME encapsulate 8-bit content
14763(for example, bounces from qmail or from old versions of Postfix).
14764</p>
14765
14766<p>
14767This feature should not be enabled on a general purpose mail server,
14768because it is likely to reject legitimate email.
14769</p>
14770
14771<p>
14772This feature is available in Postfix 2.0 and later.
14773</p>
14774
14775
14776</DD>
14777
14778<DT><b><a name="strict_mailbox_ownership">strict_mailbox_ownership</a>
14779(default: yes)</b></DT><DD>
14780
14781<p> Defer delivery when a mailbox file is not owned by its recipient.
14782The default setting is not backwards compatible.  </p>
14783
14784<p> This feature is available in Postfix 2.5.3 and later. </p>
14785
14786
14787</DD>
14788
14789<DT><b><a name="strict_mime_encoding_domain">strict_mime_encoding_domain</a>
14790(default: no)</b></DT><DD>
14791
14792<p>
14793Reject mail with invalid Content-Transfer-Encoding: information
14794for the message/* or multipart/* MIME content types.  This blocks
14795mail from poorly written software.
14796</p>
14797
14798<p>
14799This feature should not be enabled on a general purpose mail server,
14800because it will reject mail after a single violation.
14801</p>
14802
14803<p>
14804This feature is available in Postfix 2.0 and later.
14805</p>
14806
14807
14808</DD>
14809
14810<DT><b><a name="strict_rfc821_envelopes">strict_rfc821_envelopes</a>
14811(default: no)</b></DT><DD>
14812
14813<p>
14814Require that addresses received in SMTP MAIL FROM and RCPT TO
14815commands are enclosed with &lt;&gt;, and that those addresses do
14816not contain <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> style comments or phrases.  This stops mail
14817from poorly written software.
14818</p>
14819
14820<p>
14821By default, the Postfix SMTP server accepts <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> syntax in MAIL
14822FROM and RCPT TO addresses.
14823</p>
14824
14825
14826</DD>
14827
14828<DT><b><a name="sun_mailtool_compatibility">sun_mailtool_compatibility</a>
14829(default: no)</b></DT><DD>
14830
14831<p>
14832Obsolete SUN mailtool compatibility feature. Instead, use
14833"<a href="postconf.5.html#mailbox_delivery_lock">mailbox_delivery_lock</a> = dotlock".
14834</p>
14835
14836
14837</DD>
14838
14839<DT><b><a name="swap_bangpath">swap_bangpath</a>
14840(default: yes)</b></DT><DD>
14841
14842<p>
14843Enable the rewriting of "site!user" into "user@site".  This is
14844necessary if your machine is connected to UUCP networks.  It is
14845enabled by default.
14846</p>
14847
14848<p> Note: with Postfix version 2.2, message header address rewriting
14849happens only when one of the following conditions is true: </p>
14850
14851<ul>
14852
14853<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
14854
14855<li> The message is received from a network client that matches
14856$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
14857
14858<li> The message is received from the network, and the
14859<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
14860
14861</ul>
14862
14863<p> To get the behavior before Postfix version 2.2, specify
14864"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = static:all". </p>
14865
14866<p>
14867Example:
14868</p>
14869
14870<pre>
14871<a href="postconf.5.html#swap_bangpath">swap_bangpath</a> = no
14872</pre>
14873
14874
14875</DD>
14876
14877<DT><b><a name="syslog_facility">syslog_facility</a>
14878(default: mail)</b></DT><DD>
14879
14880<p>
14881The syslog facility of Postfix logging. Specify a facility as
14882defined in syslog.conf(5). The default facility is "mail".
14883</p>
14884
14885<p>
14886Warning: a non-default <a href="postconf.5.html#syslog_facility">syslog_facility</a> setting takes effect only
14887after a Postfix process has completed initialization.  Errors during
14888process initialization will be logged with the default facility.
14889Examples are errors while parsing the command line arguments, and
14890errors while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
14891</p>
14892
14893
14894</DD>
14895
14896<DT><b><a name="syslog_name">syslog_name</a>
14897(default: see "postconf -d" output)</b></DT><DD>
14898
14899<p>
14900The mail system name that is prepended to the process name in syslog
14901records, so that "smtpd" becomes, for example, "postfix/smtpd".
14902</p>
14903
14904<p>
14905Warning: a non-default <a href="postconf.5.html#syslog_name">syslog_name</a> setting takes effect only after
14906a Postfix process has completed initialization. Errors during
14907process initialization will be logged with the default name. Examples
14908are errors while parsing the command line arguments, and errors
14909while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
14910</p>
14911
14912
14913</DD>
14914
14915<DT><b><a name="tcp_windowsize">tcp_windowsize</a>
14916(default: 0)</b></DT><DD>
14917
14918<p> An optional workaround for routers that break TCP window scaling.
14919Specify a value &gt; 0 and &lt; 65536 to enable this feature.  With
14920Postfix TCP servers (<a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a>), this feature is implemented
14921by the Postfix <a href="master.8.html">master(8)</a> daemon.  </p>
14922
14923<p> To change this parameter without stopping Postfix, you need to
14924first terminate all Postfix TCP servers: </p>
14925
14926<blockquote>
14927<pre>
14928# postconf -e <a href="postconf.5.html#master_service_disable">master_service_disable</a>=inet
14929# postfix reload
14930</pre>
14931</blockquote>
14932
14933<p> This immediately terminates all processes that accept network
14934connections.  Next, you enable Postfix TCP servers with the updated
14935<a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> setting: </p>
14936
14937<blockquote>
14938<pre>
14939# 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>=
14940# postfix reload
14941</pre>
14942</blockquote>
14943
14944<p> If you skip these steps with a running Postfix system, then the
14945<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>,
14946<a href="lmtp.8.html">lmtp(8)</a>).  </p>
14947
14948<p> This feature is available in Postfix 2.6 and later. </p>
14949
14950
14951</DD>
14952
14953<DT><b><a name="tls_append_default_CA">tls_append_default_CA</a>
14954(default: no)</b></DT><DD>
14955
14956<p> Append the system-supplied default certificate authority
14957certificates to the ones specified with *_tls_CApath or *_tls_CAfile.
14958The default is "no"; this prevents Postfix from trusting third-party
14959certificates and giving them relay permission with
14960<a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>.  </p>
14961
14962<p> This feature is available in Postfix 2.4.15, 2.5.11, 2.6.8,
149632.7.2 and later versions. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = yes" for
14964backwards compatibility, to avoid breaking certificate verification
14965with sites that don't use <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p>
14966
14967
14968</DD>
14969
14970<DT><b><a name="tls_daemon_random_bytes">tls_daemon_random_bytes</a>
14971(default: 32)</b></DT><DD>
14972
14973<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>
14974process requests from the <a href="tlsmgr.8.html">tlsmgr(8)</a> server in order to seed its
14975internal pseudo random number generator (PRNG).  The default of 32
14976bytes (equivalent to 256 bits) is sufficient to generate a 128bit
14977(or 168bit) session key. </p>
14978
14979<p> This feature is available in Postfix 2.2 and later.  </p>
14980
14981
14982</DD>
14983
14984<DT><b><a name="tls_disable_workarounds">tls_disable_workarounds</a>
14985(default: see "postconf -d" output)</b></DT><DD>
14986
14987<p> List or bit-mask of OpenSSL bug work-arounds to disable. </p>
14988
14989<p> The OpenSSL toolkit includes a set of work-arounds for buggy SSL/TLS
14990implementations. Applications, such as Postfix, that want to maximize
14991interoperability ask the OpenSSL library to enable the full set of
14992recommended work-arounds. </p>
14993
14994<p> From time to time, it is discovered that a work-around creates a
14995security issue, and should no longer be used. If upgrading OpenSSL
14996to a fixed version is not an option or an upgrade is not available
14997in a timely manner, or in closed environments where no buggy clients
14998or servers exist, it may be appropriate to disable some or all of the
14999OpenSSL interoperability work-arounds. This parameter specifies which
15000bug work-arounds to disable. </p>
15001
15002<p> If the value of the parameter is a hexadecimal long integer starting
15003with "0x", the bug work-arounds corresponding to the bits specified in
15004its value are removed from the <b>SSL_OP_ALL</b> work-around bit-mask
15005(see openssl/ssl.h and SSL_CTX_set_options(3)). You can specify more
15006bits than are present in SSL_OP_ALL, excess bits are ignored. Specifying
150070xFFFFFFFF disables all bug-workarounds on a 32-bit system. This should
15008also be sufficient on 64-bit systems, until OpenSSL abandons support
15009for 32-bit systems and starts using the high 32 bits of a 64-bit
15010bug-workaround mask. </p>
15011
15012<p> Otherwise, the parameter is a white-space or comma separated list
15013of specific named bug work-arounds chosen from the list below. It
15014is possible that your OpenSSL version includes new bug work-arounds
15015added after your Postfix source code was last updated, in that case
15016you can only disable one of these via the hexadecimal syntax above. </p>
15017
15018<dl>
15019
15020<dt><b>MICROSOFT_SESS_ID_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
15021
15022<dt><b>NETSCAPE_CHALLENGE_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
15023
15024<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
15025
15026<dt><b>NETSCAPE_REUSE_CIPHER_CHANGE_BUG</b></dt> <dd> also aliased
15027as <b>CVE-2010-4180</b>. Postfix 2.8 disables this work-around by
15028default with OpenSSL versions that may predate the fix. Fixed in
15029OpenSSL 0.9.8q and OpenSSL 1.0.0c.</dd>
15030
15031<dt><b>SSLREF2_REUSE_CERT_TYPE_BUG</b></dt> <dd>See
15032SSL_CTX_set_options(3)</dd>
15033
15034<dt><b>MICROSOFT_BIG_SSLV3_BUFFER</b></dt> <dd>See
15035SSL_CTX_set_options(3)</dd>
15036
15037<dt><b>MSIE_SSLV2_RSA_PADDING</b></dt> <dd> also aliased as
15038<b>CVE-2005-2969</b>. Postfix 2.8 disables this work-around by
15039default with OpenSSL versions that may predate the fix. Fixed in
15040OpenSSL 0.9.7h and OpenSSL 0.9.8a.</dd>
15041
15042<dt><b>SSLEAY_080_CLIENT_DH_BUG</b></dt> <dd>See
15043SSL_CTX_set_options(3)</dd>
15044
15045<dt><b>TLS_D5_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
15046
15047<dt><b>TLS_BLOCK_PADDING_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
15048
15049<dt><b>TLS_ROLLBACK_BUG</b></dt> <dd>See SSL_CTX_set_options(3).
15050This is disabled in OpenSSL 0.9.7 and later. Nobody should still
15051be using 0.9.6! </dd>
15052
15053<dt><b>DONT_INSERT_EMPTY_FRAGMENTS</b></dt> <dd>See
15054SSL_CTX_set_options(3)</dd>
15055
15056<dt><b>CRYPTOPRO_TLSEXT_BUG</b></dt> <dd>New with GOST support in
15057OpenSSL 1.0.0.</dd>
15058
15059</dl>
15060
15061<p> This feature is available in Postfix 2.8 and later.  </p>
15062
15063
15064</DD>
15065
15066<DT><b><a name="tls_eecdh_strong_curve">tls_eecdh_strong_curve</a>
15067(default: prime256v1)</b></DT><DD>
15068
15069<p> The elliptic curve used by the SMTP server for sensibly strong
15070ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
15071server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The phrase "sensibly
15072strong" means approximately 128-bit security based on best known
15073attacks. The selected curve must be implemented by OpenSSL (as
15074reported by ecparam(1) with the "-list_curves" option) and be one
15075of the curves listed in Section 5.1.1 of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not
15076generally change this setting. </p>
15077
15078<p> This default curve is specified in NSA "Suite B" Cryptography
15079(see <a href="http://www.nsa.gov/ia/industry/crypto_suite_b.cfm">http://www.nsa.gov/ia/industry/crypto_suite_b.cfm</a>) for
15080information classified as SECRET. </p>
15081
15082<p> Note: elliptic curve names are poorly standardized; different
15083standards groups are assigning different names to the same underlying
15084curves.  The curve with the X9.62 name "prime256v1" is also known
15085under the SECG name "secp256r1", but OpenSSL does not recognize the
15086latter name. </p>
15087
15088<p> This feature is available in Postfix 2.6 and later, when it is
15089compiled and linked with OpenSSL 1.0.0 or later. </p>
15090
15091
15092</DD>
15093
15094<DT><b><a name="tls_eecdh_ultra_curve">tls_eecdh_ultra_curve</a>
15095(default: secp384r1)</b></DT><DD>
15096
15097<p> The elliptic curve used by the SMTP server for maximally strong
15098ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
15099server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = ultra". The phrase "maximally
15100strong" means approximately 192-bit security based on best known attacks.
15101This additional strength comes at a significant computational cost, most
15102users should instead set "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong".  The selected
15103curve must be implemented by OpenSSL (as reported by ecparam(1) with the
15104"-list_curves" option) and be one of the curves listed in Section 5.1.1
15105of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not generally change this setting. </p>
15106
15107<p> This default "ultra" curve is specified in NSA "Suite B" Cryptography
15108(see <a href="http://www.nsa.gov/ia/industry/crypto_suite_b.cfm">http://www.nsa.gov/ia/industry/crypto_suite_b.cfm</a>) for information
15109classified as TOP SECRET. </p>
15110
15111<p> This feature is available in Postfix 2.6 and later, when it is
15112compiled and linked with OpenSSL 1.0.0 or later. </p>
15113
15114
15115</DD>
15116
15117<DT><b><a name="tls_export_cipherlist">tls_export_cipherlist</a>
15118(default: ALL:+RC4:@STRENGTH)</b></DT><DD>
15119
15120<p> The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. This
15121defines the meaning of the "export" setting in <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>,
15122<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. This is
15123the cipherlist for the opportunistic ("may") TLS client security
15124level and is the default cipherlist for the SMTP server. You are
15125strongly encouraged to not change this setting. With OpenSSL 1.0.0 and
15126later the cipherlist may start with an "aNULL:" prefix, which restores
15127the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
15128list when they are enabled. This prefix is not needed with previous
15129OpenSSL releases. </p>
15130
15131<p> This feature is available in Postfix 2.3 and later. </p>
15132
15133
15134</DD>
15135
15136<DT><b><a name="tls_high_cipherlist">tls_high_cipherlist</a>
15137(default: ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)</b></DT><DD>
15138
15139<p> The OpenSSL cipherlist for "HIGH" grade ciphers. This defines
15140the meaning of the "high" setting in <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>,
15141<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are
15142strongly encouraged to not change this setting. With OpenSSL 1.0.0 and
15143later the cipherlist may start with an "aNULL:" prefix, which restores
15144the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
15145list when they are enabled. This prefix is not needed with previous
15146OpenSSL releases. </p>
15147
15148<p> This feature is available in Postfix 2.3 and later. </p>
15149
15150
15151</DD>
15152
15153<DT><b><a name="tls_low_cipherlist">tls_low_cipherlist</a>
15154(default: ALL:!EXPORT:+RC4:@STRENGTH)</b></DT><DD>
15155
15156<p> The OpenSSL cipherlist for "LOW" or higher grade ciphers. This defines
15157the meaning of the "low" setting in <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>,
15158<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are
15159strongly encouraged to not change this setting.  With OpenSSL 1.0.0 and
15160later the cipherlist may start with an "aNULL:" prefix, which restores
15161the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
15162list when they are enabled. This prefix is not needed with previous
15163OpenSSL releases. </p>
15164
15165<p> This feature is available in Postfix 2.3 and later. </p>
15166
15167
15168</DD>
15169
15170<DT><b><a name="tls_medium_cipherlist">tls_medium_cipherlist</a>
15171(default: ALL:!EXPORT:!LOW:+RC4:@STRENGTH)</b></DT><DD>
15172
15173<p> The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. This
15174defines the meaning of the "medium" setting in <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>,
15175<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. This is
15176the default cipherlist for mandatory TLS encryption in the TLS
15177client (with anonymous ciphers disabled when verifying server
15178certificates). You are strongly encouraged to not change this
15179setting.  With OpenSSL 1.0.0 and later the cipherlist may start with an
15180"aNULL:" prefix, which restores the 0.9.8-compatible ordering of the
15181aNULL ciphers to the top of the list when they are enabled. This prefix
15182is not needed with previous OpenSSL releases. </p>
15183
15184<p> This feature is available in Postfix 2.3 and later. </p>
15185
15186
15187</DD>
15188
15189<DT><b><a name="tls_null_cipherlist">tls_null_cipherlist</a>
15190(default: eNULL:!aNULL)</b></DT><DD>
15191
15192<p> The OpenSSL cipherlist for "NULL" grade ciphers that provide
15193authentication without encryption. This defines the meaning of the "null"
15194setting in smtpd_mandatory_tls_ciphers, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
15195<a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>.  You are strongly encouraged to not
15196change this setting. </p>
15197
15198<p> This feature is available in Postfix 2.3 and later. </p>
15199
15200
15201</DD>
15202
15203<DT><b><a name="tls_preempt_cipherlist">tls_preempt_cipherlist</a>
15204(default: no)</b></DT><DD>
15205
15206<p> With SSLv3 and later, use the server's cipher preference order
15207instead of the client's cipher preference order. </p>
15208
15209<p> By default, the OpenSSL server selects the client's most preferred
15210cipher that the server supports. With SSLv3 and later, the server may
15211choose its own most preferred cipher that is supported (offered) by
15212the client. Setting "<a href="postconf.5.html#tls_preempt_cipherlist">tls_preempt_cipherlist</a> = yes" enables server cipher
15213preferences. </p>
15214
15215<p> While server cipher selection may in some cases lead to a more secure
15216or performant cipher choice, there is some risk of interoperability
15217issues. In the past, some SSL clients have listed lower priority ciphers
15218that they did not implement correctly. If the server chooses a cipher
15219that the client prefers less, it may select a cipher whose client
15220implementation is flawed. </p>
15221
15222<p> This feature is available in Postfix 2.8 and later, in combination
15223with OpenSSL 0.9.7 and later. </p>
15224
15225
15226</DD>
15227
15228<DT><b><a name="tls_random_bytes">tls_random_bytes</a>
15229(default: 32)</b></DT><DD>
15230
15231<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>
15232when (re)seeding the in-memory pseudo random number generator (PRNG)
15233pool. The default of 32 bytes (256 bits) is good enough for 128bit
15234symmetric keys.  If using EGD or a device file, a maximum of 255
15235bytes is read. </p>
15236
15237<p> This feature is available in Postfix 2.2 and later.  </p>
15238
15239
15240</DD>
15241
15242<DT><b><a name="tls_random_exchange_name">tls_random_exchange_name</a>
15243(default: see "postconf -d" output)</b></DT><DD>
15244
15245<p> Name of the pseudo random number generator (PRNG) state file
15246that is maintained by <a href="tlsmgr.8.html">tlsmgr(8)</a>. The file is created when it does
15247not exist, and its length is fixed at 1024 bytes.  </p>
15248
15249<p> As of version 2.5, Postfix no longer uses root privileges when
15250opening this file, and the default file location was changed from
15251${<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
15252a migration aid, an attempt to open the file under a non-Postfix
15253directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
15254warning is logged. </p>
15255
15256<p> This feature is available in Postfix 2.2 and later.  </p>
15257
15258
15259</DD>
15260
15261<DT><b><a name="tls_random_prng_update_period">tls_random_prng_update_period</a>
15262(default: 3600s)</b></DT><DD>
15263
15264<p> The time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to save the state of
15265the pseudo random number generator (PRNG) to the file specified
15266with $<a href="postconf.5.html#tls_random_exchange_name">tls_random_exchange_name</a>.  </p>
15267
15268<p> This feature is available in Postfix 2.2 and later.  </p>
15269
15270
15271</DD>
15272
15273<DT><b><a name="tls_random_reseed_period">tls_random_reseed_period</a>
15274(default: 3600s)</b></DT><DD>
15275
15276<p> The maximal time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to re-seed the
15277in-memory pseudo random number generator (PRNG) pool from external
15278sources.  The actual time between re-seeding attempts is calculated
15279using the PRNG, and is between 0 and the time specified.  </p>
15280
15281<p> This feature is available in Postfix 2.2 and later.  </p>
15282
15283
15284</DD>
15285
15286<DT><b><a name="tls_random_source">tls_random_source</a>
15287(default: see "postconf -d" output)</b></DT><DD>
15288
15289<p> The external entropy source for the in-memory <a href="tlsmgr.8.html">tlsmgr(8)</a> pseudo
15290random number generator (PRNG) pool. Be sure to specify a non-blocking
15291source.  If this source is not a regular file, the entropy source
15292type must be prepended:  egd:/path/to/egd_socket for a source with
15293EGD compatible socket interface, or dev:/path/to/device for a
15294device file.  </p>
15295
15296<p> Note: on OpenBSD systems specify /dev/arandom when /dev/urandom
15297gives timeout errors.  </p>
15298
15299<p> This feature is available in Postfix 2.2 and later.  </p>
15300
15301
15302</DD>
15303
15304<DT><b><a name="tlsproxy_enforce_tls">tlsproxy_enforce_tls</a>
15305(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
15306
15307<p> Mandatory TLS: announce STARTTLS support to SMTP clients, and
15308require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> for
15309further details. </p>
15310
15311<p> This feature is available in Postfix 2.8 and later. </p>
15312
15313
15314</DD>
15315
15316<DT><b><a name="tlsproxy_service_name">tlsproxy_service_name</a>
15317(default: tlsproxy)</b></DT><DD>
15318
15319<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
15320service performs plaintext &lt;=&gt; TLS ciphertext conversion. <p>
15321
15322<p> This feature is available in Postfix 2.8 and later. </p>
15323
15324
15325</DD>
15326
15327<DT><b><a name="tlsproxy_tls_CAfile">tlsproxy_tls_CAfile</a>
15328(default: $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)</b></DT><DD>
15329
15330<p> A file containing (PEM format) CA certificates of root CAs
15331trusted to sign either remote SMTP client certificates or intermediate
15332CA certificates.  See <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> for further details. </p>
15333
15334<p> This feature is available in Postfix 2.8 and later. </p>
15335
15336
15337</DD>
15338
15339<DT><b><a name="tlsproxy_tls_CApath">tlsproxy_tls_CApath</a>
15340(default: $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>)</b></DT><DD>
15341
15342<p> A directory containing (PEM format) CA certificates of root CAs
15343trusted to sign either remote SMTP client certificates or intermediate
15344CA certificates. See <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> for further details. </p>
15345
15346<p> This feature is available in Postfix 2.8 and later. </p>
15347
15348
15349</DD>
15350
15351<DT><b><a name="tlsproxy_tls_always_issue_session_ids">tlsproxy_tls_always_issue_session_ids</a>
15352(default: $<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>)</b></DT><DD>
15353
15354<p> Force the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server to issue a TLS session id,
15355even when TLS session caching is turned off. See
15356<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> for further details. </p>
15357
15358<p> This feature is available in Postfix 2.8 and later. </p>
15359
15360
15361</DD>
15362
15363<DT><b><a name="tlsproxy_tls_ask_ccert">tlsproxy_tls_ask_ccert</a>
15364(default: $<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>)</b></DT><DD>
15365
15366<p> Ask a remote SMTP client for a client certificate. See
15367<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> for further details. </p>
15368
15369<p> This feature is available in Postfix 2.8 and later. </p>
15370
15371
15372</DD>
15373
15374<DT><b><a name="tlsproxy_tls_ccert_verifydepth">tlsproxy_tls_ccert_verifydepth</a>
15375(default: $<a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>)</b></DT><DD>
15376
15377<p> The verification depth for remote SMTP client certificates. A
15378depth of 1 is sufficient if the issuing CA is listed in a local CA
15379file. See <a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> for further details. </p>
15380
15381<p> This feature is available in Postfix 2.8 and later. </p>
15382
15383
15384</DD>
15385
15386<DT><b><a name="tlsproxy_tls_cert_file">tlsproxy_tls_cert_file</a>
15387(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
15388
15389<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA certificate in PEM
15390format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
15391private RSA key.  See <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for further details.  </p>
15392
15393<p> This feature is available in Postfix 2.8 and later. </p>
15394
15395
15396</DD>
15397
15398<DT><b><a name="tlsproxy_tls_ciphers">tlsproxy_tls_ciphers</a>
15399(default: $<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>)</b></DT><DD>
15400
15401<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
15402will use with opportunistic TLS encryption. See <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>
15403for further details. </p>
15404
15405<p> This feature is available in Postfix 2.8 and later. </p>
15406
15407
15408</DD>
15409
15410<DT><b><a name="tlsproxy_tls_dcert_file">tlsproxy_tls_dcert_file</a>
15411(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
15412
15413<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA certificate in PEM
15414format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
15415private DSA key.  See <a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> for further details.
15416</p>
15417
15418<p> This feature is available in Postfix 2.8 and later. </p>
15419
15420
15421</DD>
15422
15423<DT><b><a name="tlsproxy_tls_dh1024_param_file">tlsproxy_tls_dh1024_param_file</a>
15424(default: $<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>)</b></DT><DD>
15425
15426<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
15427should use with EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> for
15428further details. </p>
15429
15430<p> This feature is available in Postfix 2.8 and later. </p>
15431
15432
15433</DD>
15434
15435<DT><b><a name="tlsproxy_tls_dh512_param_file">tlsproxy_tls_dh512_param_file</a>
15436(default: $<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>)</b></DT><DD>
15437
15438<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
15439should use with EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> for
15440further details.  </p>
15441
15442<p> This feature is available in Postfix 2.8 and later. </p>
15443
15444
15445</DD>
15446
15447<DT><b><a name="tlsproxy_tls_dkey_file">tlsproxy_tls_dkey_file</a>
15448(default: $<a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>)</b></DT><DD>
15449
15450<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA private key in PEM
15451format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
15452server DSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>.
15453See <a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> for further details. </p>
15454
15455<p> This feature is available in Postfix 2.8 and later. </p>
15456
15457
15458</DD>
15459
15460<DT><b><a name="tlsproxy_tls_eccert_file">tlsproxy_tls_eccert_file</a>
15461(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
15462
15463<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA certificate in
15464PEM format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
15465server private ECDSA key.  See <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> for further
15466details. </p>
15467
15468<p> This feature is available in Postfix 2.8 and later. </p>
15469
15470
15471</DD>
15472
15473<DT><b><a name="tlsproxy_tls_eckey_file">tlsproxy_tls_eckey_file</a>
15474(default: $<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>)</b></DT><DD>
15475
15476<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA private key in
15477PEM format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
15478server ECDSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>.
15479See <a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> for further details. </p>
15480
15481<p> This feature is available in Postfix 2.8 and later. </p>
15482
15483
15484</DD>
15485
15486<DT><b><a name="tlsproxy_tls_eecdh_grade">tlsproxy_tls_eecdh_grade</a>
15487(default: $<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>)</b></DT><DD>
15488
15489<p> The Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server security grade for ephemeral
15490elliptic-curve Diffie-Hellman (EECDH) key exchange. See
15491<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> for further details. </p>
15492
15493<p> This feature is available in Postfix 2.8 and later. </p>
15494
15495
15496</DD>
15497
15498<DT><b><a name="tlsproxy_tls_exclude_ciphers">tlsproxy_tls_exclude_ciphers</a>
15499(default: $<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>)</b></DT><DD>
15500
15501<p> List of ciphers or cipher types to exclude from the <a href="tlsproxy.8.html">tlsproxy(8)</a>
15502server cipher list at all TLS security levels. See
15503<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> for further details. </p>
15504
15505<p> This feature is available in Postfix 2.8 and later. </p>
15506
15507
15508</DD>
15509
15510<DT><b><a name="tlsproxy_tls_fingerprint_digest">tlsproxy_tls_fingerprint_digest</a>
15511(default: $<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>)</b></DT><DD>
15512
15513<p> The message digest algorithm used to construct client-certificate
15514fingerprints. See <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> for further details.
15515</p>
15516
15517<p> This feature is available in Postfix 2.8 and later. </p>
15518
15519
15520</DD>
15521
15522<DT><b><a name="tlsproxy_tls_key_file">tlsproxy_tls_key_file</a>
15523(default: $<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a>)</b></DT><DD>
15524
15525<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA private key in PEM
15526format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
15527server RSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>.
15528See <a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a> for further details. </p>
15529
15530<p> This feature is available in Postfix 2.8 and later. </p>
15531
15532
15533</DD>
15534
15535<DT><b><a name="tlsproxy_tls_loglevel">tlsproxy_tls_loglevel</a>
15536(default: $<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a>)</b></DT><DD>
15537
15538<p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server logging of TLS
15539activity.  Each logging level also includes the information that
15540is logged at a lower logging level. See <a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> for
15541further details.  </p>
15542
15543<p> This feature is available in Postfix 2.8 and later. </p>
15544
15545
15546</DD>
15547
15548<DT><b><a name="tlsproxy_tls_mandatory_ciphers">tlsproxy_tls_mandatory_ciphers</a>
15549(default: $<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>)</b></DT><DD>
15550
15551<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
15552will use with mandatory TLS encryption. See <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
15553for further details. </p>
15554
15555<p> This feature is available in Postfix 2.8 and later. </p>
15556
15557
15558</DD>
15559
15560<DT><b><a name="tlsproxy_tls_mandatory_exclude_ciphers">tlsproxy_tls_mandatory_exclude_ciphers</a>
15561(default: $<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>)</b></DT><DD>
15562
15563<p> Additional list of ciphers or cipher types to exclude from the
15564<a href="tlsproxy.8.html">tlsproxy(8)</a> server cipher list at mandatory TLS security levels.
15565See <a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> for further details. </p>
15566
15567<p> This feature is available in Postfix 2.8 and later. </p>
15568
15569
15570</DD>
15571
15572<DT><b><a name="tlsproxy_tls_mandatory_protocols">tlsproxy_tls_mandatory_protocols</a>
15573(default: $<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>)</b></DT><DD>
15574
15575<p> The SSL/TLS protocols accepted by the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
15576with mandatory TLS encryption. If the list is empty, the server
15577supports all available SSL/TLS protocol versions.  See
15578<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> for further details. </p>
15579
15580<p> This feature is available in Postfix 2.8 and later. </p>
15581
15582
15583</DD>
15584
15585<DT><b><a name="tlsproxy_tls_protocols">tlsproxy_tls_protocols</a>
15586(default: $<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>)</b></DT><DD>
15587
15588<p> List of TLS protocols that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server will
15589exclude or include with opportunistic TLS encryption. See
15590<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> for further details. </p>
15591
15592<p> This feature is available in Postfix 2.8 and later. </p>
15593
15594
15595</DD>
15596
15597<DT><b><a name="tlsproxy_tls_req_ccert">tlsproxy_tls_req_ccert</a>
15598(default: $<a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>)</b></DT><DD>
15599
15600<p> With mandatory TLS encryption, require a trusted remote SMTP
15601client certificate in order to allow TLS connections to proceed.
15602See <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> for further details. </p>
15603
15604<p> This feature is available in Postfix 2.8 and later. </p>
15605
15606
15607</DD>
15608
15609<DT><b><a name="tlsproxy_tls_security_level">tlsproxy_tls_security_level</a>
15610(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
15611
15612<p> The SMTP TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server;
15613when a non-empty value is specified, this overrides the obsolete
15614parameters <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
15615<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> for further details. </p>
15616
15617<p> This feature is available in Postfix 2.8 and later. </p>
15618
15619
15620</DD>
15621
15622<DT><b><a name="tlsproxy_tls_session_cache_timeout">tlsproxy_tls_session_cache_timeout</a>
15623(default: $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>)</b></DT><DD>
15624
15625<p> The expiration time of Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server TLS session
15626cache information. A cache cleanup is performed periodically every
15627$<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> seconds. See
15628<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> for further details. </p>
15629
15630<p> This feature is available in Postfix 2.8 and later. </p>
15631
15632
15633</DD>
15634
15635<DT><b><a name="tlsproxy_use_tls">tlsproxy_use_tls</a>
15636(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
15637
15638<p> Opportunistic TLS: announce STARTTLS support to SMTP clients,
15639but do not require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>
15640for further details. </p>
15641
15642<p> This feature is available in Postfix 2.8 and later. </p>
15643
15644
15645</DD>
15646
15647<DT><b><a name="tlsproxy_watchdog_timeout">tlsproxy_watchdog_timeout</a>
15648(default: 10s)</b></DT><DD>
15649
15650<p> How much time a <a href="tlsproxy.8.html">tlsproxy(8)</a> process may take to process local
15651or remote I/O before it is terminated by a built-in watchdog timer.
15652This is a safety mechanism that prevents <a href="tlsproxy.8.html">tlsproxy(8)</a> from becoming
15653non-responsive due to a bug in Postfix itself or in system software.
15654To avoid false alarms and unnecessary cache corruption this limit
15655cannot be set under 10s.  </p>
15656
15657<p> Specify a non-zero time value (an integral value plus an optional
15658one-letter suffix that specifies the time unit).  Time units: s
15659(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
15660
15661<p> This feature is available in Postfix 2.8.  </p>
15662
15663
15664</DD>
15665
15666<DT><b><a name="trace_service_name">trace_service_name</a>
15667(default: trace)</b></DT><DD>
15668
15669<p>
15670The name of the trace service. This service is implemented by the
15671<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
15672of mail deliveries and produces a mail delivery report when verbose
15673delivery is requested with "<b>sendmail -v</b>".
15674</p>
15675
15676<p>
15677This feature is available in Postfix 2.1 and later.
15678</p>
15679
15680
15681</DD>
15682
15683<DT><b><a name="transport_delivery_slot_cost">transport_delivery_slot_cost</a>
15684(default: $<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b></DT><DD>
15685
15686<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
15687parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
15688the message delivery transport. </p>
15689
15690
15691</DD>
15692
15693<DT><b><a name="transport_delivery_slot_discount">transport_delivery_slot_discount</a>
15694(default: $<a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>)</b></DT><DD>
15695
15696<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>
15697parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
15698the message delivery transport. </p>
15699
15700
15701</DD>
15702
15703<DT><b><a name="transport_delivery_slot_loan">transport_delivery_slot_loan</a>
15704(default: $<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b></DT><DD>
15705
15706<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>
15707parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
15708the message delivery transport. </p>
15709
15710
15711</DD>
15712
15713<DT><b><a name="transport_destination_concurrency_failed_cohort_limit">transport_destination_concurrency_failed_cohort_limit</a>
15714(default: $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>)</b></DT><DD>
15715
15716<p> A transport-specific override for the
15717<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> parameter value,
15718where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
15719transport. </p>
15720
15721<p> This feature is available in Postfix 2.5 and later. </p>
15722
15723
15724</DD>
15725
15726<DT><b><a name="transport_destination_concurrency_limit">transport_destination_concurrency_limit</a>
15727(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
15728
15729<p> A transport-specific override for the
15730<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> parameter value, where
15731<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
15732transport. </p>
15733
15734
15735</DD>
15736
15737<DT><b><a name="transport_destination_concurrency_negative_feedback">transport_destination_concurrency_negative_feedback</a>
15738(default: $<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>)</b></DT><DD>
15739
15740<p> A transport-specific override for the
15741<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> parameter value,
15742where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
15743transport. </p>
15744
15745<p> This feature is available in Postfix 2.5 and later. </p>
15746
15747
15748</DD>
15749
15750<DT><b><a name="transport_destination_concurrency_positive_feedback">transport_destination_concurrency_positive_feedback</a>
15751(default: $<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>)</b></DT><DD>
15752
15753<p> A transport-specific override for the
15754<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> parameter value,
15755where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
15756transport. </p>
15757
15758<p> This feature is available in Postfix 2.5 and later. </p>
15759
15760
15761</DD>
15762
15763<DT><b><a name="transport_destination_rate_delay">transport_destination_rate_delay</a>
15764(default: $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>)</b></DT><DD>
15765
15766<p> A transport-specific override for the <a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>
15767parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
15768the message delivery transport. </p>
15769
15770<p> This feature is available in Postfix 2.5 and later. </p>
15771
15772
15773</DD>
15774
15775<DT><b><a name="transport_destination_recipient_limit">transport_destination_recipient_limit</a>
15776(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
15777
15778<p> A transport-specific override for the
15779<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> parameter value, where
15780<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
15781transport. </p>
15782
15783
15784</DD>
15785
15786<DT><b><a name="transport_extra_recipient_limit">transport_extra_recipient_limit</a>
15787(default: $<a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>)</b></DT><DD>
15788
15789<p> A transport-specific override for the <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
15790parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
15791the message delivery transport. </p>
15792
15793
15794</DD>
15795
15796<DT><b><a name="transport_initial_destination_concurrency">transport_initial_destination_concurrency</a>
15797(default: $<a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>)</b></DT><DD>
15798
15799<p> A transport-specific override for the <a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>
15800parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
15801the message delivery transport. </p>
15802
15803<p> This feature is available in Postfix 2.5 and later. </p>
15804
15805
15806</DD>
15807
15808<DT><b><a name="transport_maps">transport_maps</a>
15809(default: empty)</b></DT><DD>
15810
15811<p>
15812Optional lookup tables with mappings from recipient address to
15813(message delivery transport, next-hop destination).  See <a href="transport.5.html">transport(5)</a>
15814for details.
15815</p>
15816
15817<p>
15818Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables.  If you use this
15819feature with local files, run "<b>postmap /etc/postfix/transport</b>"
15820after making a change.  </p>
15821
15822<p> For safety reasons, as of Postfix 2.3 this feature does not
15823allow $number substitutions in regular expression maps. </p>
15824
15825<p>
15826Examples:
15827</p>
15828
15829<pre>
15830<a href="postconf.5.html#transport_maps">transport_maps</a> = dbm:/etc/postfix/transport
15831<a href="postconf.5.html#transport_maps">transport_maps</a> = hash:/etc/postfix/transport
15832</pre>
15833
15834
15835</DD>
15836
15837<DT><b><a name="transport_minimum_delivery_slots">transport_minimum_delivery_slots</a>
15838(default: $<a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>)</b></DT><DD>
15839
15840<p> A transport-specific override for the <a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>
15841parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
15842the message delivery transport. </p>
15843
15844
15845</DD>
15846
15847<DT><b><a name="transport_recipient_limit">transport_recipient_limit</a>
15848(default: $<a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>)</b></DT><DD>
15849
15850<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>
15851parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
15852the message delivery transport. </p>
15853
15854
15855</DD>
15856
15857<DT><b><a name="transport_recipient_refill_delay">transport_recipient_refill_delay</a>
15858(default: $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>)</b></DT><DD>
15859
15860<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>
15861parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
15862the message delivery transport. </p>
15863
15864<p> This feature is available in Postfix 2.4 and later. </p>
15865
15866
15867</DD>
15868
15869<DT><b><a name="transport_recipient_refill_limit">transport_recipient_refill_limit</a>
15870(default: $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>)</b></DT><DD>
15871
15872<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>
15873parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
15874the message delivery transport. </p>
15875
15876<p> This feature is available in Postfix 2.4 and later. </p>
15877
15878
15879</DD>
15880
15881<DT><b><a name="transport_retry_time">transport_retry_time</a>
15882(default: 60s)</b></DT><DD>
15883
15884<p>
15885The time between attempts by the Postfix queue manager to contact
15886a malfunctioning message delivery transport.
15887</p>
15888
15889<p>
15890Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
15891The default time unit is s (seconds).
15892</p>
15893
15894
15895</DD>
15896
15897<DT><b><a name="transport_time_limit">transport_time_limit</a>
15898(default: $<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b></DT><DD>
15899
15900<p> A transport-specific override for the <a href="postconf.5.html#command_time_limit">command_time_limit</a> parameter
15901value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message
15902delivery transport. </p>
15903
15904
15905</DD>
15906
15907<DT><b><a name="trigger_timeout">trigger_timeout</a>
15908(default: 10s)</b></DT><DD>
15909
15910<p>
15911The time limit for sending a trigger to a Postfix daemon (for
15912example, the <a href="pickup.8.html">pickup(8)</a> or <a href="qmgr.8.html">qmgr(8)</a> daemon). This time limit prevents
15913programs from getting stuck when the mail system is under heavy
15914load.
15915</p>
15916
15917<p>
15918Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
15919The default time unit is s (seconds).
15920</p>
15921
15922
15923</DD>
15924
15925<DT><b><a name="undisclosed_recipients_header">undisclosed_recipients_header</a>
15926(default: see "postconf -d" output)</b></DT><DD>
15927
15928<p>
15929Message header that the Postfix <a href="cleanup.8.html">cleanup(8)</a> server inserts when a
15930message contains no To: or Cc: message header. With Postfix 2.8
15931and later, the default value is empty. With Postfix 2.4-2.7,
15932specify an empty value to disable this feature.  </p>
15933
15934<p> Example: </p>
15935
15936<pre>
15937# Default value before Postfix 2.8.
15938# Note: the ":" and ";" are both required.
15939<a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> = To: undisclosed-recipients:;
15940</pre>
15941
15942
15943</DD>
15944
15945<DT><b><a name="unknown_address_reject_code">unknown_address_reject_code</a>
15946(default: 450)</b></DT><DD>
15947
15948<p>
15949The numerical Postfix SMTP server response code when a sender or
15950recipient address is rejected by the <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
15951or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> restriction.  The response is
15952always 450 in case of a temporary DNS error.
15953</p>
15954
15955<p>
15956Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
15957</p>
15958
15959
15960</DD>
15961
15962<DT><b><a name="unknown_address_tempfail_action">unknown_address_tempfail_action</a>
15963(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
15964
15965<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
15966or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> fail due to a temporary error
15967condition. Specify "defer" to defer the remote SMTP client request
15968immediately. With the default "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix
15969SMTP server continues to look for opportunities to reject mail, and
15970defers the client request only if it would otherwise be accepted.
15971</p>
15972
15973<p> This feature is available in Postfix 2.6 and later. </p>
15974
15975
15976</DD>
15977
15978<DT><b><a name="unknown_client_reject_code">unknown_client_reject_code</a>
15979(default: 450)</b></DT><DD>
15980
15981<p>
15982The numerical Postfix SMTP server response code when a client
15983without valid address &lt;=&gt; name mapping is rejected by the
15984<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> restriction. The SMTP server always replies
15985with 450 when the mapping failed due to a temporary error condition.
15986</p>
15987
15988<p>
15989Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
15990</p>
15991
15992
15993</DD>
15994
15995<DT><b><a name="unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>
15996(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
15997
15998<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>
15999fails due to an temporary error condition. Specify "defer" to defer
16000the remote SMTP client request immediately. With the default
16001"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
16002for opportunities to reject mail, and defers the client request
16003only if it would otherwise be accepted. </p>
16004
16005<p> This feature is available in Postfix 2.6 and later. </p>
16006
16007
16008</DD>
16009
16010<DT><b><a name="unknown_hostname_reject_code">unknown_hostname_reject_code</a>
16011(default: 450)</b></DT><DD>
16012
16013<p>
16014The numerical Postfix SMTP server response code when the hostname
16015specified with the HELO or EHLO command is rejected by the
16016<a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> restriction.
16017</p>
16018
16019<p>
16020Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
16021</p>
16022
16023
16024</DD>
16025
16026<DT><b><a name="unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a>
16027(default: 550)</b></DT><DD>
16028
16029<p>
16030The numerical Postfix SMTP server response code when a recipient
16031address is local, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> specifies a list of
16032lookup tables that does not match the recipient.  A recipient
16033address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
16034$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> or $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>.
16035</p>
16036
16037<p>
16038The default setting is 550 (reject mail) but it is safer to initially
16039use 450 (try again later) so you have time to find out if your
16040<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> settings are OK.
16041</p>
16042
16043<p>
16044Example:
16045</p>
16046
16047<pre>
16048<a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 450
16049</pre>
16050
16051<p>
16052This feature is available in Postfix 2.0 and later.
16053</p>
16054
16055
16056</DD>
16057
16058<DT><b><a name="unknown_relay_recipient_reject_code">unknown_relay_recipient_reject_code</a>
16059(default: 550)</b></DT><DD>
16060
16061<p>
16062The numerical Postfix SMTP server reply code when a recipient
16063address 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
16064a list of lookup tables that does not match the recipient address.
16065</p>
16066
16067<p>
16068This feature is available in Postfix 2.0 and later.
16069</p>
16070
16071
16072</DD>
16073
16074<DT><b><a name="unknown_virtual_alias_reject_code">unknown_virtual_alias_reject_code</a>
16075(default: 550)</b></DT><DD>
16076
16077<p>
16078The SMTP server reply code when a recipient address matches
16079$<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
16080of lookup tables that does not match the recipient address.
16081</p>
16082
16083<p>
16084This feature is available in Postfix 2.0 and later.
16085</p>
16086
16087
16088</DD>
16089
16090<DT><b><a name="unknown_virtual_mailbox_reject_code">unknown_virtual_mailbox_reject_code</a>
16091(default: 550)</b></DT><DD>
16092
16093<p>
16094The SMTP server reply code when a recipient address matches
16095$<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
16096of lookup tables that does not match the recipient address.
16097</p>
16098
16099<p>
16100This feature is available in Postfix 2.0 and later.
16101</p>
16102
16103
16104</DD>
16105
16106<DT><b><a name="unverified_recipient_defer_code">unverified_recipient_defer_code</a>
16107(default: 450)</b></DT><DD>
16108
16109<p>
16110The numerical Postfix SMTP server response when a recipient address
16111probe fails due to a temporary error condition.
16112</p>
16113
16114<p>
16115Unlike elsewhere in Postfix, you can specify 250 in order to
16116accept the address anyway.
16117</p>
16118
16119<p>
16120Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
16121</p>
16122
16123<p>
16124This feature is available in Postfix 2.6 and later.
16125</p>
16126
16127
16128</DD>
16129
16130<DT><b><a name="unverified_recipient_reject_code">unverified_recipient_reject_code</a>
16131(default: 450)</b></DT><DD>
16132
16133<p>
16134The numerical Postfix SMTP server response when a recipient address
16135is rejected by the <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> restriction.
16136</p>
16137
16138<p>
16139Unlike elsewhere in Postfix, you can specify 250 in order to
16140accept the address anyway.
16141</p>
16142
16143<p>
16144Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
16145</p>
16146
16147<p>
16148This feature is available in Postfix 2.1 and later.
16149</p>
16150
16151
16152</DD>
16153
16154<DT><b><a name="unverified_recipient_reject_reason">unverified_recipient_reject_reason</a>
16155(default: empty)</b></DT><DD>
16156
16157<p> The Postfix SMTP server's reply when rejecting mail with
16158<a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. Do not include the numeric SMTP reply
16159code or the enhanced status code. By default, the response includes
16160actual address verification details.
16161
16162<p> Example: </p>
16163
16164<pre>
16165<a href="postconf.5.html#unverified_recipient_reject_reason">unverified_recipient_reject_reason</a> = Recipient address lookup failed
16166</pre>
16167
16168<p> This feature is available in Postfix 2.6 and later. </p>
16169
16170
16171</DD>
16172
16173<DT><b><a name="unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>
16174(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
16175
16176<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>
16177fails due to a temporary error condition. Specify "defer" to defer
16178the remote SMTP client request immediately. With the default
16179"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
16180for opportunities to reject mail, and defers the client request
16181only if it would otherwise be accepted. </p>
16182
16183<p> This feature is available in Postfix 2.6 and later. </p>
16184
16185
16186</DD>
16187
16188<DT><b><a name="unverified_sender_defer_code">unverified_sender_defer_code</a>
16189(default: 450)</b></DT><DD>
16190
16191<p>
16192The numerical Postfix SMTP server response code when a sender address
16193probe fails due to a temporary error condition.
16194</p>
16195
16196<p>
16197Unlike elsewhere in Postfix, you can specify 250 in order to
16198accept the address anyway.
16199</p>
16200
16201<p>
16202Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
16203</p>
16204
16205<p>
16206This feature is available in Postfix 2.6 and later.
16207</p>
16208
16209
16210</DD>
16211
16212<DT><b><a name="unverified_sender_reject_code">unverified_sender_reject_code</a>
16213(default: 450)</b></DT><DD>
16214
16215<p>
16216The numerical Postfix SMTP server response code when a recipient
16217address is rejected by the <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> restriction.
16218</p>
16219
16220<p>
16221Unlike elsewhere in Postfix, you can specify 250 in order to
16222accept the address anyway.
16223</p>
16224
16225<p>
16226Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>.
16227</p>
16228
16229<p>
16230This feature is available in Postfix 2.1 and later.
16231</p>
16232
16233
16234</DD>
16235
16236<DT><b><a name="unverified_sender_reject_reason">unverified_sender_reject_reason</a>
16237(default: empty)</b></DT><DD>
16238
16239<p> The Postfix SMTP server's reply when rejecting mail with
16240<a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>. Do not include the numeric SMTP reply
16241code or the enhanced status code. By default, the response includes
16242actual address verification details.
16243
16244<p> Example: </p>
16245
16246<pre>
16247<a href="postconf.5.html#unverified_sender_reject_reason">unverified_sender_reject_reason</a> = Sender address lookup failed
16248</pre>
16249
16250<p> This feature is available in Postfix 2.6 and later. </p>
16251
16252
16253</DD>
16254
16255<DT><b><a name="unverified_sender_tempfail_action">unverified_sender_tempfail_action</a>
16256(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
16257
16258<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>
16259fails due to a temporary error condition. Specify "defer" to defer
16260the remote SMTP client request immediately. With the default
16261"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
16262for opportunities to reject mail, and defers the client request
16263only if it would otherwise be accepted. </p>
16264
16265<p> This feature is available in Postfix 2.6 and later. </p>
16266
16267
16268</DD>
16269
16270<DT><b><a name="verp_delimiter_filter">verp_delimiter_filter</a>
16271(default: -=+)</b></DT><DD>
16272
16273<p>
16274The characters Postfix accepts as VERP delimiter characters on the
16275Postfix <a href="sendmail.1.html">sendmail(1)</a> command line and in SMTP commands.
16276</p>
16277
16278<p>
16279This feature is available in Postfix 1.1 and later.
16280</p>
16281
16282
16283</DD>
16284
16285<DT><b><a name="virtual_alias_domains">virtual_alias_domains</a>
16286(default: $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>)</b></DT><DD>
16287
16288<p> Postfix is final destination for the specified list of virtual
16289alias domains, that is, domains for which all addresses are aliased
16290to addresses in other local or remote domains. The SMTP server
16291validates recipient addresses with $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> and rejects
16292non-existent recipients. See also the <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> class
16293in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file </p>
16294
16295<p>
16296This feature is available in Postfix 2.0 and later. The default
16297value is backwards compatible with Postfix version 1.1.
16298</p>
16299
16300<p>
16301The default value is $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> so that you can keep all
16302information about <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a> in one place.  If you have
16303many users, it is better to separate information that changes more
16304frequently (virtual address -&gt; local or remote address mapping)
16305from information that changes less frequently (the list of virtual
16306domain names).
16307</p>
16308
16309<p> Specify a list of host or domain names, "/file/name" or
16310"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. A
16311"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
16312lookup table is matched when a table entry matches a lookup string
16313(the lookup result is ignored).  Continue long lines by starting
16314the next line with whitespace. Specify "!pattern" to exclude a host
16315or domain name from the list. The form "!/file/name" is supported
16316only in Postfix version 2.4 and later.  </p>
16317
16318<p>
16319See also the <a href="VIRTUAL_README.html">VIRTUAL_README</a> and <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> documents
16320for further information.
16321</p>
16322
16323<p>
16324Example:
16325</p>
16326
16327<pre>
16328<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = virtual1.tld virtual2.tld
16329</pre>
16330
16331
16332</DD>
16333
16334<DT><b><a name="virtual_alias_expansion_limit">virtual_alias_expansion_limit</a>
16335(default: 1000)</b></DT><DD>
16336
16337<p>
16338The maximal number of addresses that virtual alias expansion produces
16339from each original recipient.
16340</p>
16341
16342<p>
16343This feature is available in Postfix 2.1 and later.
16344</p>
16345
16346
16347</DD>
16348
16349<DT><b><a name="virtual_alias_maps">virtual_alias_maps</a>
16350(default: $<a href="postconf.5.html#virtual_maps">virtual_maps</a>)</b></DT><DD>
16351
16352<p>
16353Optional lookup tables that alias specific mail addresses or domains
16354to other local or remote address.  The table format and lookups
16355are documented in <a href="virtual.5.html">virtual(5)</a>. For an overview of Postfix address
16356manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
16357</p>
16358
16359<p>
16360This feature is available in Postfix 2.0 and later. The default
16361value is backwards compatible with Postfix version 1.1.
16362</p>
16363
16364<p>
16365If you use this feature with indexed files, run "<b>postmap
16366/etc/postfix/virtual</b>" after changing the file.
16367</p>
16368
16369<p>
16370Examples:
16371</p>
16372
16373<pre>
16374<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = dbm:/etc/postfix/virtual
16375<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = hash:/etc/postfix/virtual
16376</pre>
16377
16378
16379</DD>
16380
16381<DT><b><a name="virtual_alias_recursion_limit">virtual_alias_recursion_limit</a>
16382(default: 1000)</b></DT><DD>
16383
16384<p>
16385The maximal nesting depth of virtual alias expansion.  Currently
16386the recursion limit is applied only to the left branch of the
16387expansion graph, so the depth of the tree can in the worst case
16388reach the sum of the expansion and recursion limits.  This may
16389change in the future.
16390</p>
16391
16392<p>
16393This feature is available in Postfix 2.1 and later.
16394</p>
16395
16396
16397</DD>
16398
16399<DT><b><a name="virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a>
16400(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
16401
16402<p> The maximal number of parallel deliveries to the same destination
16403via the virtual message delivery transport. This limit is enforced
16404by the queue manager. The message delivery transport name is the
16405first field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
16406
16407
16408</DD>
16409
16410<DT><b><a name="virtual_destination_recipient_limit">virtual_destination_recipient_limit</a>
16411(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
16412
16413<p> The maximal number of recipients per message for the virtual
16414message delivery transport. This limit is enforced by the queue
16415manager. The message delivery transport name is the first field in
16416the entry in the <a href="master.5.html">master.cf</a> file.  </p>
16417
16418<p> Setting this parameter to a value of 1 changes the meaning of
16419<a href="postconf.5.html#virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> from concurrency per domain
16420into concurrency per recipient.  </p>
16421
16422
16423</DD>
16424
16425<DT><b><a name="virtual_gid_maps">virtual_gid_maps</a>
16426(default: empty)</b></DT><DD>
16427
16428<p>
16429Lookup tables with the per-recipient group ID for <a href="virtual.8.html">virtual(8)</a> mailbox
16430delivery.
16431</p>
16432
16433<p>
16434In a lookup table, specify a left-hand side of "@domain.tld" to
16435match any user in the specified domain that does not have a specific
16436"user@domain.tld" entry.
16437</p>
16438
16439<p>
16440When a recipient address has an optional address extension
16441(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
16442the full address first, and when the lookup fails, it looks up the
16443unextended address (user@domain.tld).
16444</p>
16445
16446<p>
16447Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
16448regular expression substitution of $1 etc. in regular expression
16449lookup tables, because that would open a security hole.
16450</p>
16451
16452<p>
16453Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
16454silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
16455it will open the table directly. Before Postfix version 2.2, the
16456<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
16457</p>
16458
16459
16460</DD>
16461
16462<DT><b><a name="virtual_mailbox_base">virtual_mailbox_base</a>
16463(default: empty)</b></DT><DD>
16464
16465<p>
16466A prefix that the <a href="virtual.8.html">virtual(8)</a> delivery agent prepends to all pathname
16467results from $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> table lookups.  This is a safety
16468measure to ensure that an out of control map doesn't litter the
16469file system with mailboxes.  While <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> could be
16470set to "/", this setting isn't recommended.
16471</p>
16472
16473<p>
16474Example:
16475</p>
16476
16477<pre>
16478<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /var/mail
16479</pre>
16480
16481
16482</DD>
16483
16484<DT><b><a name="virtual_mailbox_domains">virtual_mailbox_domains</a>
16485(default: $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>)</b></DT><DD>
16486
16487<p> Postfix is final destination for the specified list of domains;
16488mail is delivered via the $<a href="postconf.5.html#virtual_transport">virtual_transport</a> mail delivery transport.
16489By default this is the Postfix <a href="virtual.8.html">virtual(8)</a> delivery agent.  The SMTP
16490server validates recipient addresses with $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
16491and rejects mail for non-existent recipients.  See also the virtual
16492mailbox domain class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.  </p>
16493
16494<p> This parameter expects the same syntax as the <a href="postconf.5.html#mydestination">mydestination</a>
16495configuration parameter.  </p>
16496
16497<p>
16498This feature is available in Postfix 2.0 and later. The default
16499value is backwards compatible with Postfix version 1.1.
16500</p>
16501
16502
16503</DD>
16504
16505<DT><b><a name="virtual_mailbox_limit">virtual_mailbox_limit</a>
16506(default: 51200000)</b></DT><DD>
16507
16508<p>
16509The maximal size in bytes of an individual <a href="virtual.8.html">virtual(8)</a> mailbox or
16510maildir file, or zero (no limit).  </p>
16511
16512
16513</DD>
16514
16515<DT><b><a name="virtual_mailbox_lock">virtual_mailbox_lock</a>
16516(default: see "postconf -d" output)</b></DT><DD>
16517
16518<p>
16519How to lock a UNIX-style <a href="virtual.8.html">virtual(8)</a> mailbox before attempting
16520delivery.  For a list of available file locking methods, use the
16521"<b>postconf -l</b>" command.
16522</p>
16523
16524<p>
16525This setting is ignored with <b>maildir</b> style delivery, because
16526such deliveries are safe without application-level locks.
16527</p>
16528
16529<p>
16530Note 1: the <b>dotlock</b> method requires that the recipient UID
16531or GID has write access to the parent directory of the recipient's
16532mailbox file.
16533</p>
16534
16535<p>
16536Note 2: the default setting of this parameter is system dependent.
16537</p>
16538
16539
16540</DD>
16541
16542<DT><b><a name="virtual_mailbox_maps">virtual_mailbox_maps</a>
16543(default: empty)</b></DT><DD>
16544
16545<p>
16546Optional lookup tables with all valid addresses in the domains that
16547match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
16548</p>
16549
16550<p>
16551In a lookup table, specify a left-hand side of "@domain.tld" to
16552match any user in the specified domain that does not have a specific
16553"user@domain.tld" entry.
16554</p>
16555
16556<p>
16557The <a href="virtual.8.html">virtual(8)</a> delivery agent uses this table to look up the
16558per-recipient mailbox or maildir pathname.  If the lookup result
16559ends in a slash ("/"), maildir-style delivery is carried out,
16560otherwise the path is assumed to specify a UNIX-style mailbox file.
16561Note that $<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> is unconditionally prepended to
16562this path.
16563</p>
16564
16565<p>
16566When a recipient address has an optional address extension
16567(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
16568the full address first, and when the lookup fails, it looks up the
16569unextended address (user@domain.tld).
16570</p>
16571
16572<p>
16573Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
16574regular expression substitution of $1 etc. in regular expression
16575lookup tables, because that would open a security hole.
16576</p>
16577
16578<p>
16579Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
16580silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
16581it will open the table directly. Before Postfix version 2.2, the
16582<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
16583</p>
16584
16585
16586</DD>
16587
16588<DT><b><a name="virtual_maps">virtual_maps</a>
16589(default: empty)</b></DT><DD>
16590
16591<p> Optional lookup tables with a) names of domains for which all
16592addresses are aliased to addresses in other local or remote domains,
16593and b) addresses that are aliased to addresses in other local or
16594remote domains.  Available before Postfix version 2.0. With Postfix
16595version 2.0 and later, this is replaced by separate controls: <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>
16596and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
16597
16598
16599</DD>
16600
16601<DT><b><a name="virtual_minimum_uid">virtual_minimum_uid</a>
16602(default: 100)</b></DT><DD>
16603
16604<p>
16605The minimum user ID value that the <a href="virtual.8.html">virtual(8)</a> delivery agent accepts
16606as a result from $<a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> table lookup.  Returned
16607values less than this will be rejected, and the message will be
16608deferred.
16609</p>
16610
16611
16612</DD>
16613
16614<DT><b><a name="virtual_transport">virtual_transport</a>
16615(default: virtual)</b></DT><DD>
16616
16617<p>
16618The default mail delivery transport and next-hop destination for
16619final delivery to domains listed with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
16620This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
16621</p>
16622
16623<p>
16624Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
16625is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
16626The <i>:nexthop</i> destination is optional; its syntax is documented
16627in the manual page of the corresponding delivery agent.
16628</p>
16629
16630<p>
16631This feature is available in Postfix 2.0 and later.
16632</p>
16633
16634
16635</DD>
16636
16637<DT><b><a name="virtual_uid_maps">virtual_uid_maps</a>
16638(default: empty)</b></DT><DD>
16639
16640<p>
16641Lookup tables with the per-recipient user ID that the <a href="virtual.8.html">virtual(8)</a>
16642delivery agent uses while writing to the recipient's mailbox.
16643</p>
16644
16645<p>
16646In a lookup table, specify a left-hand side of "@domain.tld"
16647to match any user in the specified domain that does not have a
16648specific "user@domain.tld" entry.
16649</p>
16650
16651<p>
16652When a recipient address has an optional address extension
16653(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
16654the full address first, and when the lookup fails, it looks up the
16655unextended address (user@domain.tld).
16656</p>
16657
16658<p>
16659Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
16660regular expression substitution of $1 etc. in regular expression
16661lookup tables, because that would open a security hole.
16662</p>
16663
16664<p>
16665Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
16666silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
16667it will open the table directly. Before Postfix version 2.2, the
16668<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
16669</p>
16670
16671
16672</DD>
16673
16674</dl>
16675
16676</body>
16677
16678</html>
16679