xref: /netbsd-src/external/ibm-public/postfix/dist/html/postconf.5.html (revision e6c7e151de239c49d2e38720a061ed9d1fa99309)
1<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
2        "http://www.w3.org/TR/html4/loose.dtd">
3
4<html>
5
6<head>
7
8<title>Postfix Configuration Parameters </title>
9
10<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
11
12</head>
13
14<body>
15
16<h1><img src="postfix-logo.jpg" width="203" height="98" alt="">Postfix Configuration Parameters </h1>
17
18<hr>
19
20<h2> Postfix main.cf file format </h2>
21
22<p> The Postfix main.cf configuration file specifies a very small
23subset of all the parameters that control the operation of the
24Postfix mail system. Parameters not explicitly specified are left
25at their default values. </p>
26
27<p> The general format of the main.cf file is as follows: </p>
28
29<ul>
30
31<li> <p> Each logical line is in the form "parameter = value".
32Whitespace around the "=" is ignored, as is whitespace at the end
33of a logical line. </p>
34
35<li> <p> Empty lines and whitespace-only lines are ignored, as are
36lines whose first non-whitespace character is a `#'. </p>
37
38<li> <p> A logical line starts with non-whitespace text. A line
39that starts with whitespace continues a logical line. </p>
40
41<li> <p> A parameter value may refer to other parameters. </p>
42
43<ul>
44
45<li> <p> The expressions "$name" and "${name}" are recursively
46replaced with the value of the named parameter. The parameter name
47must contain only characters from the set [a-zA-Z0-9_].
48An undefined parameter value is replaced with the empty value.  </p>
49
50<li> <p> The expressions "${name?value}" and "${name?{value}}" are
51replaced with "value" when "$name" is non-empty. The parameter name
52must contain only characters from the set [a-zA-Z0-9_]. These forms are
53supported with Postfix versions &ge; 2.2 and &ge; 3.0, respectively.
54</p>
55
56<li> <p> The expressions "${name:value}" and "${name:{value}}" are
57replaced with "value" when "$name" is empty. The parameter name must
58contain only characters from the set [a-zA-Z0-9_]. These forms are
59supported with Postfix versions &ge; 2.2 and &ge; 3.0, respectively.
60</p>
61
62<li> <p> The expression "${name?{value1}:{value2}}" is replaced
63with "value1" when "$name" is non-empty, and with "value2" when
64"$name" is empty.  The "{}" is required for "value1", optional for
65"value2".  The parameter name must contain only characters from the
66set [a-zA-Z0-9_].  This form is supported with Postfix versions
67&ge; 3.0.  </p>
68
69<li> <p> The first item inside "${...}" may be a relational expression
70of the form: "{value3} == {value4}". Besides the "==" (equality)
71operator Postfix supports "!=" (inequality), "&lt;", "&le;", "&ge;",
72and "&gt;". The comparison is numerical when both operands are all
73digits, otherwise the comparison is lexicographical. These forms
74are supported with Postfix versions &ge; 3.0. </p>
75
76<li> <p> Each "value" is subject to recursive named parameter and
77relational expression evaluation, except where noted.  </p>
78
79<li> <p> Whitespace before or after each "{value}" is ignored. </p>
80
81<li> <p> Specify "$$" to produce a single "$" character. </p>
82
83<li> <p> The legacy form "$(...)" is equivalent to the preferred
84form "${...}". </p>
85
86</ul>
87
88<li> <p> When the same parameter is defined multiple times, only
89the last instance is remembered. </p>
90
91<li> <p> Otherwise, the order of main.cf parameter definitions does
92not matter. </p>
93
94</ul>
95
96<p> The remainder of this document is a description of all Postfix
97configuration parameters. Default values are shown after the
98parameter name in parentheses, and can be looked up with the
99"<b>postconf -d</b>" command. </p>
100
101<p> Note: this is not an invitation to make changes to Postfix
102configuration parameters. Unnecessary changes are likely to impair
103the operation of the mail system.  </p>
104
105<dl>
106<DT><b><a name="2bounce_notice_recipient">2bounce_notice_recipient</a>
107(default: postmaster)</b></DT><DD>
108
109<p> The recipient of undeliverable mail that cannot be returned to
110the sender.  This feature is enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
111parameter.  </p>
112
113
114</DD>
115
116<DT><b><a name="access_map_defer_code">access_map_defer_code</a>
117(default: 450)</b></DT><DD>
118
119<p>
120The numerical Postfix SMTP server response code for
121an <a href="access.5.html">access(5)</a> map "defer" action, including "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>"
122or "<a href="postconf.5.html#defer_if_reject">defer_if_reject</a>". Prior to Postfix 2.6, the response
123is hard-coded as "450".
124</p>
125
126<p>
127Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
128</p>
129
130<p>
131This feature is available in Postfix 2.6 and later.
132</p>
133
134
135</DD>
136
137<DT><b><a name="access_map_reject_code">access_map_reject_code</a>
138(default: 554)</b></DT><DD>
139
140<p>
141The numerical Postfix SMTP server response code for
142an <a href="access.5.html">access(5)</a> map "reject" action.
143</p>
144
145<p>
146Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
147</p>
148
149
150</DD>
151
152<DT><b><a name="address_verify_cache_cleanup_interval">address_verify_cache_cleanup_interval</a>
153(default: 12h)</b></DT><DD>
154
155<p> The amount of time between <a href="verify.8.html">verify(8)</a> address verification
156database cleanup runs. This feature requires that the database
157supports the "delete" and "sequence" operators.  Specify a zero
158interval to disable database cleanup. </p>
159
160<p> After each database cleanup run, the <a href="verify.8.html">verify(8)</a> daemon logs the
161number of entries that were retained and dropped. A cleanup run is
162logged as "partial" when the daemon terminates early after "<b>postfix
163reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
164seconds. </p>
165
166<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
167(weeks). </p>
168
169<p> This feature is available in Postfix 2.7. </p>
170
171
172</DD>
173
174<DT><b><a name="address_verify_default_transport">address_verify_default_transport</a>
175(default: $<a href="postconf.5.html#default_transport">default_transport</a>)</b></DT><DD>
176
177<p>
178Overrides the <a href="postconf.5.html#default_transport">default_transport</a> parameter setting for address
179verification probes.
180</p>
181
182<p>
183This feature is available in Postfix 2.1 and later.
184</p>
185
186
187</DD>
188
189<DT><b><a name="address_verify_local_transport">address_verify_local_transport</a>
190(default: $<a href="postconf.5.html#local_transport">local_transport</a>)</b></DT><DD>
191
192<p>
193Overrides the <a href="postconf.5.html#local_transport">local_transport</a> parameter setting for address
194verification probes.
195</p>
196
197<p>
198This feature is available in Postfix 2.1 and later.
199</p>
200
201
202</DD>
203
204<DT><b><a name="address_verify_map">address_verify_map</a>
205(default: see "postconf -d" output)</b></DT><DD>
206
207<p>
208Lookup table for persistent address verification status
209storage.  The table is maintained by the <a href="verify.8.html">verify(8)</a> service, and
210is opened before the process releases privileges.
211</p>
212
213<p>
214The lookup table is persistent by default (Postfix 2.7 and later).
215Specify an empty table name to keep the information in volatile
216memory which is lost after "<b>postfix reload</b>" or "<b>postfix
217stop</b>". This is the default with Postfix version 2.6 and earlier.
218</p>
219
220<p>
221Specify a location in a file system that will not fill up. If the
222database becomes corrupted, the world comes to an end. To recover
223delete (NOT: truncate) the file and do "<b>postfix reload</b>".
224</p>
225
226<p> Postfix daemon processes do not use root privileges when opening
227this file (Postfix 2.5 and later).  The file must therefore be
228stored under a Postfix-owned directory such as the <a href="postconf.5.html#data_directory">data_directory</a>.
229As a migration aid, an attempt to open the file under a non-Postfix
230directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
231warning is logged. </p>
232
233<p>
234Examples:
235</p>
236
237<pre>
238<a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">hash</a>:/var/db/postfix/verify
239<a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/verify
240</pre>
241
242<p>
243This feature is available in Postfix 2.1 and later.
244</p>
245
246
247</DD>
248
249<DT><b><a name="address_verify_negative_cache">address_verify_negative_cache</a>
250(default: yes)</b></DT><DD>
251
252<p>
253Enable caching of failed address verification probe results.  When
254this feature is enabled, the cache may pollute quickly with garbage.
255When this feature is disabled, Postfix will generate an address
256probe for every lookup.
257</p>
258
259<p>
260This feature is available in Postfix 2.1 and later.
261</p>
262
263
264</DD>
265
266<DT><b><a name="address_verify_negative_expire_time">address_verify_negative_expire_time</a>
267(default: 3d)</b></DT><DD>
268
269<p>
270The time after which a failed probe expires from the address
271verification cache.
272</p>
273
274<p>
275Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
276</p>
277
278<p>
279This feature is available in Postfix 2.1 and later.
280</p>
281
282
283</DD>
284
285<DT><b><a name="address_verify_negative_refresh_time">address_verify_negative_refresh_time</a>
286(default: 3h)</b></DT><DD>
287
288<p>
289The time after which a failed address verification probe needs to
290be refreshed.
291</p>
292
293<p>
294Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
295</p>
296
297<p>
298This feature is available in Postfix 2.1 and later.
299</p>
300
301
302</DD>
303
304<DT><b><a name="address_verify_pending_request_limit">address_verify_pending_request_limit</a>
305(default: see "postconf -d" output)</b></DT><DD>
306
307<p> A safety limit that prevents address verification requests from
308overwhelming the Postfix queue. By default, the number of pending
309requests is limited to 1/4 of the <a href="QSHAPE_README.html#active_queue">active queue</a> maximum size
310(<a href="postconf.5.html#qmgr_message_active_limit">qmgr_message_active_limit</a>). The queue manager enforces the limit
311by tempfailing requests that exceed the limit. This affects only
312unknown addresses and inactive addresses that have expired, because
313the <a href="verify.8.html">verify(8)</a> daemon automatically refreshes an active address
314before it expires. </p>
315
316<p> This feature is available in Postfix 3.1 and later.  </p>
317
318
319</DD>
320
321<DT><b><a name="address_verify_poll_count">address_verify_poll_count</a>
322(default: normal: 3, overload: 1)</b></DT><DD>
323
324<p>
325How many times to query the <a href="verify.8.html">verify(8)</a> service for the completion
326of an address verification request in progress.
327</p>
328
329<p> By default, the Postfix SMTP server polls the <a href="verify.8.html">verify(8)</a> service
330up to three times under non-overload conditions, and only once when
331under overload.  With Postfix version 2.5 and earlier, the SMTP
332server always polls the <a href="verify.8.html">verify(8)</a> service up to three times by
333default.  </p>
334
335<p>
336Specify 1 to implement a crude form of greylisting, that is, always
337defer the first delivery request for a new address.
338</p>
339
340<p>
341Examples:
342</p>
343
344<pre>
345# Postfix &le; 2.6 default
346<a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 3
347# Poor man's greylisting
348<a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 1
349</pre>
350
351<p>
352This feature is available in Postfix 2.1 and later.
353</p>
354
355
356</DD>
357
358<DT><b><a name="address_verify_poll_delay">address_verify_poll_delay</a>
359(default: 3s)</b></DT><DD>
360
361<p>
362The delay between queries for the completion of an address
363verification request in progress.
364</p>
365
366<p>
367The default polling delay is 3 seconds.
368</p>
369
370<p>
371Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
372</p>
373
374<p>
375This feature is available in Postfix 2.1 and later.
376</p>
377
378
379</DD>
380
381<DT><b><a name="address_verify_positive_expire_time">address_verify_positive_expire_time</a>
382(default: 31d)</b></DT><DD>
383
384<p>
385The time after which a successful probe expires from the address
386verification cache.
387</p>
388
389<p>
390Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
391</p>
392
393<p>
394This feature is available in Postfix 2.1 and later.
395</p>
396
397
398</DD>
399
400<DT><b><a name="address_verify_positive_refresh_time">address_verify_positive_refresh_time</a>
401(default: 7d)</b></DT><DD>
402
403<p>
404The time after which a successful address verification probe needs
405to be refreshed.  The address verification status is not updated
406when the probe fails (optimistic caching).
407</p>
408
409<p>
410Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
411</p>
412
413<p>
414This feature is available in Postfix 2.1 and later.
415</p>
416
417
418</DD>
419
420<DT><b><a name="address_verify_relay_transport">address_verify_relay_transport</a>
421(default: $<a href="postconf.5.html#relay_transport">relay_transport</a>)</b></DT><DD>
422
423<p>
424Overrides the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter setting for address
425verification probes.
426</p>
427
428<p>
429This feature is available in Postfix 2.1 and later.
430</p>
431
432
433</DD>
434
435<DT><b><a name="address_verify_relayhost">address_verify_relayhost</a>
436(default: $<a href="postconf.5.html#relayhost">relayhost</a>)</b></DT><DD>
437
438<p>
439Overrides the <a href="postconf.5.html#relayhost">relayhost</a> parameter setting for address verification
440probes. This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
441</p>
442
443<p>
444This feature is available in Postfix 2.1 and later.
445</p>
446
447
448</DD>
449
450<DT><b><a name="address_verify_sender">address_verify_sender</a>
451(default: $<a href="postconf.5.html#double_bounce_sender">double_bounce_sender</a>)</b></DT><DD>
452
453<p> The sender address to use in address verification probes; prior
454to Postfix 2.5 the default was "postmaster". To
455avoid problems with address probes that are sent in response to
456address probes, the Postfix SMTP server excludes the probe sender
457address from all SMTPD access blocks. </p>
458
459<p>
460Specify an empty value (<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> =) or &lt;&gt; if you want
461to use the null sender address. Beware, some sites reject mail from
462&lt;&gt;, even though RFCs require that such addresses be accepted.
463</p>
464
465<p>
466Examples:
467</p>
468
469<pre>
470<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = &lt;&gt;
471<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = postmaster@my.domain
472</pre>
473
474<p>
475This feature is available in Postfix 2.1 and later.
476</p>
477
478
479</DD>
480
481<DT><b><a name="address_verify_sender_dependent_default_transport_maps">address_verify_sender_dependent_default_transport_maps</a>
482(default: $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>)</b></DT><DD>
483
484<p> Overrides the <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter
485setting for address verification probes.  </p>
486
487<p> This feature is available in Postfix 2.7 and later.  </p>
488
489
490</DD>
491
492<DT><b><a name="address_verify_sender_dependent_relayhost_maps">address_verify_sender_dependent_relayhost_maps</a>
493(default: $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>)</b></DT><DD>
494
495<p>
496Overrides the <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> parameter setting for address
497verification probes.
498</p>
499
500<p>
501This feature is available in Postfix 2.3 and later.
502</p>
503
504
505</DD>
506
507<DT><b><a name="address_verify_sender_ttl">address_verify_sender_ttl</a>
508(default: 0s)</b></DT><DD>
509
510<p> The time between changes in the time-dependent portion of address
511verification probe sender addresses. The time-dependent portion is
512appended to the localpart of the address specified with the
513<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> parameter. This feature is ignored when the
514probe sender addresses is the null sender, i.e. the <a href="postconf.5.html#address_verify_sender">address_verify_sender</a>
515value is empty or &lt;&gt;. </p>
516
517<p> Historically, the probe sender address was fixed. This has
518caused such addresses to end up on spammer mailing lists, and has
519resulted in wasted network and processing resources.  </p>
520
521<p> To enable time-dependent probe sender addresses, specify a
522non-zero time value (an integral value plus an optional one-letter
523suffix that specifies the time unit).  Specify a value of at least
524several hours, to avoid problems with senders that use greylisting.
525Avoid nice TTL values, to make the result less predictable.  Time
526units are: s (seconds), m (minutes), h (hours), d (days), w (weeks).
527</p>
528
529<p> This feature is available in Postfix 2.9 and later.  </p>
530
531
532</DD>
533
534<DT><b><a name="address_verify_service_name">address_verify_service_name</a>
535(default: verify)</b></DT><DD>
536
537<p>
538The name of the <a href="verify.8.html">verify(8)</a> address verification service. This service
539maintains the status of sender and/or recipient address verification
540probes, and generates probes on request by other Postfix processes.
541</p>
542
543
544</DD>
545
546<DT><b><a name="address_verify_transport_maps">address_verify_transport_maps</a>
547(default: $<a href="postconf.5.html#transport_maps">transport_maps</a>)</b></DT><DD>
548
549<p>
550Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address verification
551probes.
552</p>
553
554<p>
555This feature is available in Postfix 2.1 and later.
556</p>
557
558
559</DD>
560
561<DT><b><a name="address_verify_virtual_transport">address_verify_virtual_transport</a>
562(default: $<a href="postconf.5.html#virtual_transport">virtual_transport</a>)</b></DT><DD>
563
564<p>
565Overrides the <a href="postconf.5.html#virtual_transport">virtual_transport</a> parameter setting for address
566verification probes.
567</p>
568
569<p>
570This feature is available in Postfix 2.1 and later.
571</p>
572
573
574</DD>
575
576<DT><b><a name="alias_database">alias_database</a>
577(default: see "postconf -d" output)</b></DT><DD>
578
579<p>
580The alias databases for <a href="local.8.html">local(8)</a> delivery that are updated with
581"<b>newaliases</b>" or with "<b>sendmail -bi</b>".
582</p>
583
584<p>
585This is a separate configuration parameter because not all the
586tables specified with $<a href="postconf.5.html#alias_maps">alias_maps</a> have to be local files.
587</p>
588
589<p>
590Examples:
591</p>
592
593<pre>
594<a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases
595<a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/mail/aliases
596</pre>
597
598
599</DD>
600
601<DT><b><a name="alias_maps">alias_maps</a>
602(default: see "postconf -d" output)</b></DT><DD>
603
604<p>
605The alias databases that are used for <a href="local.8.html">local(8)</a> delivery. See
606<a href="aliases.5.html">aliases(5)</a> for syntax details.
607Specify zero or more "type:name" lookup tables, separated by
608whitespace or comma. Tables will be searched in the specified order
609until a match is found.
610Note: these lookups are recursive.
611</p>
612
613<p>
614The default list is system dependent.  On systems with NIS, the
615default is to search the local alias database, then the NIS alias
616database.
617</p>
618
619<p>
620If you change the alias database, run "<b>postalias /etc/aliases</b>"
621(or wherever your system stores the mail alias file), or simply
622run "<b>newaliases</b>" to build the necessary DBM or DB file.
623</p>
624
625<p>
626The <a href="local.8.html">local(8)</a> delivery agent disallows regular expression substitution
627of $1 etc. in <a href="postconf.5.html#alias_maps">alias_maps</a>, because that would open a security hole.
628</p>
629
630<p>
631The <a href="local.8.html">local(8)</a> delivery agent will silently ignore requests to use
632the <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
633table directly. Before Postfix version 2.2, the <a href="local.8.html">local(8)</a> delivery
634agent will terminate with a fatal error.
635</p>
636
637<p>
638Examples:
639</p>
640
641<pre>
642<a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases, nis:mail.aliases
643<a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases
644</pre>
645
646
647</DD>
648
649<DT><b><a name="allow_mail_to_commands">allow_mail_to_commands</a>
650(default: alias, forward)</b></DT><DD>
651
652<p>
653Restrict <a href="local.8.html">local(8)</a> mail delivery to external commands.  The default
654is to disallow delivery to "|command" in :include:  files (see
655<a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
656</p>
657
658<p>
659Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
660in order to allow commands in <a href="aliases.5.html">aliases(5)</a>, .forward files or in
661:include:  files, respectively.
662</p>
663
664<p>
665Example:
666</p>
667
668<pre>
669<a href="postconf.5.html#allow_mail_to_commands">allow_mail_to_commands</a> = alias,forward,include
670</pre>
671
672
673</DD>
674
675<DT><b><a name="allow_mail_to_files">allow_mail_to_files</a>
676(default: alias, forward)</b></DT><DD>
677
678<p>
679Restrict <a href="local.8.html">local(8)</a> mail delivery to external files. The default is
680to disallow "/file/name" destinations in :include:  files (see
681<a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
682</p>
683
684<p>
685Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
686in order to allow "/file/name" destinations in <a href="aliases.5.html">aliases(5)</a>, .forward
687files and in :include:  files, respectively.
688</p>
689
690<p>
691Example:
692</p>
693
694<pre>
695<a href="postconf.5.html#allow_mail_to_files">allow_mail_to_files</a> = alias,forward,include
696</pre>
697
698
699</DD>
700
701<DT><b><a name="allow_min_user">allow_min_user</a>
702(default: no)</b></DT><DD>
703
704<p>
705Allow a sender or recipient address to have `-' as the first
706character.  By
707default, this is not allowed, to avoid accidents with software that
708passes email addresses via the command line. Such software
709would not be able to distinguish a malicious address from a
710bona fide command-line option. Although this can be prevented by
711inserting a "--" option terminator into the command line, this is
712difficult to enforce consistently and globally.  </p>
713
714<p> As of Postfix version 2.5, this feature is implemented by
715<a href="trivial-rewrite.8.html">trivial-rewrite(8)</a>.  With earlier versions this feature was implemented
716by <a href="qmgr.8.html">qmgr(8)</a> and was limited to recipient addresses only. </p>
717
718
719</DD>
720
721<DT><b><a name="allow_percent_hack">allow_percent_hack</a>
722(default: yes)</b></DT><DD>
723
724<p>
725Enable the rewriting of the form "user%domain" to "user@domain".
726This is enabled by default.
727</p>
728
729<p> Note: as of Postfix version 2.2, message header address rewriting
730happens only when one of the following conditions is true: </p>
731
732<ul>
733
734<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
735
736<li> The message is received from a network client that matches
737$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
738
739<li> The message is received from the network, and the
740<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
741
742</ul>
743
744<p> To get the behavior before Postfix version 2.2, specify
745"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
746
747<p>
748Example:
749</p>
750
751<pre>
752<a href="postconf.5.html#allow_percent_hack">allow_percent_hack</a> = no
753</pre>
754
755
756</DD>
757
758<DT><b><a name="allow_untrusted_routing">allow_untrusted_routing</a>
759(default: no)</b></DT><DD>
760
761<p>
762Forward mail with sender-specified routing (user[@%!]remote[@%!]site)
763from untrusted clients to destinations matching $<a href="postconf.5.html#relay_domains">relay_domains</a>.
764</p>
765
766<p>
767By default, this feature is turned off.  This closes a nasty open
768relay loophole where a backup MX host can be tricked into forwarding
769junk mail to a primary MX host which then spams it out to the world.
770</p>
771
772<p>
773This parameter also controls if non-local addresses with sender-specified
774routing can match Postfix access tables. By default, such addresses
775cannot match Postfix access tables, because the address is ambiguous.
776</p>
777
778
779</DD>
780
781<DT><b><a name="alternate_config_directories">alternate_config_directories</a>
782(default: empty)</b></DT><DD>
783
784<p>
785A list of non-default Postfix configuration directories that may
786be specified with "-c <a href="postconf.5.html#config_directory">config_directory</a>" on the command line (in the
787case of <a href="sendmail.1.html">sendmail(1)</a>, with the "-C" option), or via the MAIL_CONFIG
788environment parameter.
789</p>
790
791<p>
792This list must be specified in the default Postfix <a href="postconf.5.html">main.cf</a> file,
793and will be used by set-gid Postfix commands such as <a href="postqueue.1.html">postqueue(1)</a>
794and <a href="postdrop.1.html">postdrop(1)</a>.
795</p>
796
797<p>
798Specify absolute pathnames, separated by comma or space. Note: $name
799expansion is not supported.
800</p>
801
802
803</DD>
804
805<DT><b><a name="always_add_missing_headers">always_add_missing_headers</a>
806(default: no)</b></DT><DD>
807
808<p> Always add (Resent-) From:, To:, Date: or Message-ID: headers
809when not present.  Postfix 2.6 and later add these headers only
810when clients match the <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter
811setting.  Earlier Postfix versions always add these headers; this
812may break DKIM signatures that cover non-existent headers.
813The <a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> parameter setting determines
814whether a To: header will be added. </p>
815
816
817</DD>
818
819<DT><b><a name="always_bcc">always_bcc</a>
820(default: empty)</b></DT><DD>
821
822<p>
823Optional address that receives a "blind carbon copy" of each message
824that is received by the Postfix mail system.
825</p>
826
827<p>
828Note: with Postfix 2.3 and later the BCC address is added as if it
829was specified with NOTIFY=NONE. The sender will not be notified
830when the BCC address is undeliverable, as long as all down-stream
831software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
832</p>
833
834<p>
835Note: with Postfix 2.2 and earlier the sender will be notified
836when the BCC address is undeliverable.
837</p>
838
839<p> Note: automatic BCC recipients are produced only for new mail.
840To avoid mailer loops, automatic BCC recipients are not generated
841after Postfix forwards mail internally, or after Postfix generates
842mail itself. </p>
843
844
845</DD>
846
847<DT><b><a name="anvil_rate_time_unit">anvil_rate_time_unit</a>
848(default: 60s)</b></DT><DD>
849
850<p>
851The time unit over which client connection rates and other rates
852are calculated.
853</p>
854
855<p>
856This feature is implemented by the <a href="anvil.8.html">anvil(8)</a> service which is available
857in Postfix version 2.2 and later.
858</p>
859
860<p>
861The default interval is relatively short. Because of the high
862frequency of updates, the <a href="anvil.8.html">anvil(8)</a> server uses volatile memory
863only. Thus, information is lost whenever the process terminates.
864</p>
865
866<p>
867Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
868The default time unit is s (seconds).
869</p>
870
871
872</DD>
873
874<DT><b><a name="anvil_status_update_time">anvil_status_update_time</a>
875(default: 600s)</b></DT><DD>
876
877<p>
878How frequently the <a href="anvil.8.html">anvil(8)</a> connection and rate limiting server
879logs peak usage information.
880</p>
881
882<p>
883This feature is available in Postfix 2.2 and later.
884</p>
885
886<p>
887Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
888The default time unit is s (seconds).
889</p>
890
891
892</DD>
893
894<DT><b><a name="append_at_myorigin">append_at_myorigin</a>
895(default: yes)</b></DT><DD>
896
897<p>
898With locally submitted mail, append the string "@$<a href="postconf.5.html#myorigin">myorigin</a>" to mail
899addresses without domain information. With remotely submitted mail,
900append the string "@$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>" instead.
901</p>
902
903<p>
904Note 1: this feature is enabled by default and must not be turned off.
905Postfix does not support domain-less addresses.
906</p>
907
908<p> Note 2: with Postfix version 2.2, message header address rewriting
909happens only when one of the following conditions is true: </p>
910
911<ul>
912
913<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
914
915<li> The message is received from a network client that matches
916$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
917
918<li> The message is received from the network, and the
919<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
920
921</ul>
922
923<p> To get the behavior before Postfix version 2.2, specify
924"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
925
926
927</DD>
928
929<DT><b><a name="append_dot_mydomain">append_dot_mydomain</a>
930(default: Postfix &ge; 3.0: no, Postfix &lt; 3.0: yes)</b></DT><DD>
931
932<p>
933With locally submitted mail, append the string ".$<a href="postconf.5.html#mydomain">mydomain</a>" to
934addresses that have no ".domain" information. With remotely submitted
935mail, append the string ".$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>"
936instead.
937</p>
938
939<p>
940Note 1: this feature is enabled by default. If disabled, users will not be
941able to send mail to "user@partialdomainname" but will have to
942specify full domain names instead.
943</p>
944
945<p> Note 2: with Postfix version 2.2, message header address rewriting
946happens only when one of the following conditions is true: </p>
947
948<ul>
949
950<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
951
952<li> The message is received from a network client that matches
953$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
954
955<li> The message is received from the network, and the
956<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
957
958</ul>
959
960<p> To get the behavior before Postfix version 2.2, specify
961"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
962
963
964</DD>
965
966<DT><b><a name="application_event_drain_time">application_event_drain_time</a>
967(default: 100s)</b></DT><DD>
968
969<p>
970How long the <a href="postkick.1.html">postkick(1)</a> command waits for a request to enter the
971Postfix daemon process input buffer before giving up.
972</p>
973
974<p>
975Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
976The default time unit is s (seconds).
977</p>
978
979<p>
980This feature is available in Postfix 2.1 and later.
981</p>
982
983
984</DD>
985
986<DT><b><a name="authorized_flush_users">authorized_flush_users</a>
987(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
988
989<p>
990List of users who are authorized to flush the queue.
991</p>
992
993<p>
994By default, all users are allowed to flush the queue.  Access is
995always granted if the invoking user is the super-user or the
996$<a href="postconf.5.html#mail_owner">mail_owner</a> user.  Otherwise, the real UID of the process is looked
997up in the system password file, and access is granted only if the
998corresponding login name is on the access list.  The username
999"unknown" is used for processes whose real UID is not found in the
1000password file.  </p>
1001
1002<p>
1003Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
1004separated by commas and/or whitespace. The list is matched left to
1005right, and the search stops on the first match. A "/file/name"
1006pattern is replaced
1007by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
1008matches a lookup key (the lookup result is ignored).  Continue long
1009lines by starting the next line with whitespace. Specify "!pattern"
1010to exclude a name from the list. The form "!/file/name" is supported
1011only in Postfix version 2.4 and later.  </p>
1012
1013<p>
1014This feature is available in Postfix 2.2 and later.
1015</p>
1016
1017
1018</DD>
1019
1020<DT><b><a name="authorized_mailq_users">authorized_mailq_users</a>
1021(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
1022
1023<p>
1024List of users who are authorized to view the queue.
1025</p>
1026
1027<p>
1028By default, all users are allowed to view the queue.  Access is
1029always granted if the invoking user is the super-user or the
1030$<a href="postconf.5.html#mail_owner">mail_owner</a> user.  Otherwise, the real UID of the process is looked
1031up in the system password file, and access is granted only if the
1032corresponding login name is on the access list.  The username
1033"unknown" is used for processes whose real UID is not found in the
1034password file.  </p>
1035
1036<p>
1037Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
1038separated by commas and/or whitespace. The list is matched left to
1039right, and the search stops on the first match. A "/file/name"
1040pattern is replaced
1041by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
1042matches a lookup key (the lookup result is ignored).  Continue long
1043lines by starting the next line with whitespace. Specify "!pattern"
1044to exclude a user name from the list. The form "!/file/name" is
1045supported only in Postfix version 2.4 and later.  </p>
1046
1047<p>
1048This feature is available in Postfix 2.2 and later.
1049</p>
1050
1051
1052</DD>
1053
1054<DT><b><a name="authorized_submit_users">authorized_submit_users</a>
1055(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
1056
1057<p>
1058List of users who are authorized to submit mail with the <a href="sendmail.1.html">sendmail(1)</a>
1059command (and with the privileged <a href="postdrop.1.html">postdrop(1)</a> helper command).
1060</p>
1061
1062<p>
1063By default, all users are allowed to submit mail.  Otherwise, the
1064real UID of the process is looked up in the system password file,
1065and access is granted only if the corresponding login name is on
1066the access list.  The username "unknown" is used for processes
1067whose real UID is not found in the password file. To deny mail
1068submission access to all users specify an empty list.  </p>
1069
1070<p>
1071Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
1072separated by commas and/or whitespace. The list is matched left to right,
1073and the search stops on the first match. A "/file/name" pattern is
1074replaced by its contents;
1075a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup key
1076(the lookup result is ignored).  Continue long lines by starting the
1077next line with whitespace. Specify "!pattern" to exclude a user
1078name from the list. The form "!/file/name" is supported only in
1079Postfix version 2.4 and later.  </p>
1080
1081<p>
1082Example:
1083</p>
1084
1085<pre>
1086<a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> = !www, <a href="DATABASE_README.html#types">static</a>:all
1087</pre>
1088
1089<p>
1090This feature is available in Postfix 2.2 and later.
1091</p>
1092
1093
1094</DD>
1095
1096<DT><b><a name="authorized_verp_clients">authorized_verp_clients</a>
1097(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
1098
1099<p> What remote SMTP clients are allowed to specify the XVERP command.
1100This command requests that mail be delivered one recipient at a
1101time with a per recipient return address.  </p>
1102
1103<p> By default, only trusted clients are allowed to specify XVERP.
1104</p>
1105
1106<p> This parameter was introduced with Postfix version 1.1.  Postfix
1107version 2.1 renamed this parameter to <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
1108and changed the default to none. </p>
1109
1110<p> Specify a list of network/netmask patterns, separated by commas
1111and/or whitespace. The mask specifies the number of bits in the
1112network part of a host address. You can also specify hostnames or
1113.domain names (the initial dot causes the domain to match any name
1114below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
1115pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
1116is matched when a table entry matches a lookup string (the lookup
1117result is ignored).  Continue long lines by starting the next line
1118with whitespace. Specify "!pattern" to exclude an address or network
1119block from the list. The form "!/file/name" is supported only in
1120Postfix version 2.4 and later. </p>
1121
1122<p> Note: IP version 6 address information must be specified inside
1123<tt>[]</tt> in the <a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a> value, and in files
1124specified with "/file/name".  IP version 6 addresses contain the
1125":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
1126pattern.  </p>
1127
1128
1129</DD>
1130
1131<DT><b><a name="backwards_bounce_logfile_compatibility">backwards_bounce_logfile_compatibility</a>
1132(default: yes)</b></DT><DD>
1133
1134<p>
1135Produce additional <a href="bounce.8.html">bounce(8)</a> logfile records that can be read by
1136Postfix versions before 2.0. The current and more extensible "name =
1137value" format is needed in order to implement more sophisticated
1138functionality.
1139</p>
1140
1141<p>
1142This feature is available in Postfix 2.1 and later.
1143</p>
1144
1145
1146</DD>
1147
1148<DT><b><a name="berkeley_db_create_buffer_size">berkeley_db_create_buffer_size</a>
1149(default: 16777216)</b></DT><DD>
1150
1151<p>
1152The per-table I/O buffer size for programs that create Berkeley DB
1153hash or btree tables.  Specify a byte count.
1154</p>
1155
1156<p>
1157This feature is available in Postfix 2.0 and later.
1158</p>
1159
1160
1161</DD>
1162
1163<DT><b><a name="berkeley_db_read_buffer_size">berkeley_db_read_buffer_size</a>
1164(default: 131072)</b></DT><DD>
1165
1166<p>
1167The per-table I/O buffer size for programs that read Berkeley DB
1168hash or btree tables.  Specify a byte count.
1169</p>
1170
1171<p>
1172This feature is available in Postfix 2.0 and later.
1173</p>
1174
1175
1176</DD>
1177
1178<DT><b><a name="best_mx_transport">best_mx_transport</a>
1179(default: empty)</b></DT><DD>
1180
1181<p>
1182Where the Postfix SMTP client should deliver mail when it detects
1183a "mail loops back to myself" error condition. This happens when
1184the local MTA is the best SMTP mail exchanger for a destination
1185not 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>,
1186$<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,
1187the Postfix SMTP client returns such mail as undeliverable.
1188</p>
1189
1190<p>
1191Specify, for example, "<a href="postconf.5.html#best_mx_transport">best_mx_transport</a> = local" to pass the mail
1192from the Postfix SMTP client to the <a href="local.8.html">local(8)</a> delivery agent. You
1193can specify
1194any message delivery "transport" or "transport:nexthop" that is
1195defined in the <a href="master.5.html">master.cf</a> file. See the <a href="transport.5.html">transport(5)</a> manual page
1196for the syntax and meaning of "transport" or "transport:nexthop".
1197</p>
1198
1199<p>
1200However, this feature is expensive because it ties up a Postfix
1201SMTP client process while the <a href="local.8.html">local(8)</a> delivery agent is doing its
1202work. It is more efficient (for Postfix) to list all <a href="VIRTUAL_README.html#canonical">hosted domains</a>
1203in a table or database.
1204</p>
1205
1206
1207</DD>
1208
1209<DT><b><a name="biff">biff</a>
1210(default: yes)</b></DT><DD>
1211
1212<p>
1213Whether or not to use the local <a href="postconf.5.html#biff">biff</a> service.  This service sends
1214"new mail" notifications to users who have requested new mail
1215notification with the UNIX command "<a href="postconf.5.html#biff">biff</a> y".
1216</p>
1217
1218<p>
1219For compatibility reasons this feature is on by default.  On systems
1220with lots of interactive users, the <a href="postconf.5.html#biff">biff</a> service can be a performance
1221drain.  Specify "<a href="postconf.5.html#biff">biff</a> = no" in <a href="postconf.5.html">main.cf</a> to disable.
1222</p>
1223
1224
1225</DD>
1226
1227<DT><b><a name="body_checks">body_checks</a>
1228(default: empty)</b></DT><DD>
1229
1230<p> Optional lookup tables for content inspection as specified in
1231the <a href="header_checks.5.html">body_checks(5)</a> manual page.  </p>
1232
1233<p> Note: with Postfix versions before 2.0, these rules inspect
1234all content after the primary message headers. </p>
1235
1236
1237</DD>
1238
1239<DT><b><a name="body_checks_size_limit">body_checks_size_limit</a>
1240(default: 51200)</b></DT><DD>
1241
1242<p>
1243How much text in a message body segment (or attachment, if you
1244prefer to use that term) is subjected to <a href="postconf.5.html#body_checks">body_checks</a> inspection.
1245The amount of text is limited to avoid scanning huge attachments.
1246</p>
1247
1248<p>
1249This feature is available in Postfix 2.0 and later.
1250</p>
1251
1252
1253</DD>
1254
1255<DT><b><a name="bounce_notice_recipient">bounce_notice_recipient</a>
1256(default: postmaster)</b></DT><DD>
1257
1258<p>
1259The recipient of postmaster notifications with the message headers
1260of mail that Postfix did not deliver and of SMTP conversation
1261transcripts of mail that Postfix did not receive.  This feature is
1262enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter.  </p>
1263
1264
1265</DD>
1266
1267<DT><b><a name="bounce_queue_lifetime">bounce_queue_lifetime</a>
1268(default: 5d)</b></DT><DD>
1269
1270<p>
1271Consider a bounce message as undeliverable, when delivery fails
1272with a temporary error, and the time in the queue has reached the
1273<a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> limit.  By default, this limit is the same
1274as for regular mail.
1275</p>
1276
1277<p>
1278Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
1279The default time unit is d (days).
1280</p>
1281
1282<p>
1283Specify 0 when mail delivery should be tried only once.
1284</p>
1285
1286<p>
1287This feature is available in Postfix 2.1 and later.
1288</p>
1289
1290
1291</DD>
1292
1293<DT><b><a name="bounce_service_name">bounce_service_name</a>
1294(default: bounce)</b></DT><DD>
1295
1296<p>
1297The name of the <a href="bounce.8.html">bounce(8)</a> service. This service maintains a record
1298of failed delivery attempts and generates non-delivery notifications.
1299</p>
1300
1301<p>
1302This feature is available in Postfix 2.0 and later.
1303</p>
1304
1305
1306</DD>
1307
1308<DT><b><a name="bounce_size_limit">bounce_size_limit</a>
1309(default: 50000)</b></DT><DD>
1310
1311<p> The maximal amount of original message text that is sent in a
1312non-delivery notification. Specify a byte count.  A message is
1313returned as either message/rfc822 (the complete original) or as
1314text/rfc822-headers (the headers only).  With Postfix version 2.4
1315and earlier, a message is always returned as message/rfc822 and is
1316truncated when it exceeds the size limit.
1317</p>
1318
1319<p> Notes: </p>
1320
1321<ul>
1322
1323<li> <p> If you increase this limit, then you should increase the
1324<a href="postconf.5.html#mime_nesting_limit">mime_nesting_limit</a> value proportionally.  </p>
1325
1326<li> <p> Be careful when making changes.  Excessively large values
1327will result in the loss of non-delivery notifications, when a bounce
1328message size exceeds a local or remote MTA's message size limit.
1329</p>
1330
1331</ul>
1332
1333
1334</DD>
1335
1336<DT><b><a name="bounce_template_file">bounce_template_file</a>
1337(default: empty)</b></DT><DD>
1338
1339<p> Pathname of a configuration file with bounce message templates.
1340These override the built-in templates of delivery status notification
1341(DSN) messages for undeliverable mail, for delayed mail, successful
1342delivery, or delivery verification. The <a href="bounce.5.html">bounce(5)</a> manual page
1343describes how to edit and test template files.  </p>
1344
1345<p> Template message body text may contain $name references to
1346Postfix configuration parameters. The result of $name expansion can
1347be previewed with "<b>postconf -b <i>file_name</i></b>" before the file
1348is placed into the Postfix configuration directory.  </p>
1349
1350<p> This feature is available in Postfix 2.3 and later.  </p>
1351
1352
1353</DD>
1354
1355<DT><b><a name="broken_sasl_auth_clients">broken_sasl_auth_clients</a>
1356(default: no)</b></DT><DD>
1357
1358<p>
1359Enable interoperability with remote SMTP clients that implement an obsolete
1360version of the AUTH command (<a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a>). Examples of such clients
1361are MicroSoft Outlook Express version 4 and MicroSoft Exchange
1362version 5.0.
1363</p>
1364
1365<p>
1366Specify "<a href="postconf.5.html#broken_sasl_auth_clients">broken_sasl_auth_clients</a> = yes" to have Postfix advertise
1367AUTH support in a non-standard way.
1368</p>
1369
1370
1371</DD>
1372
1373<DT><b><a name="canonical_classes">canonical_classes</a>
1374(default: envelope_sender, envelope_recipient, header_sender, header_recipient)</b></DT><DD>
1375
1376<p> What addresses are subject to <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping.
1377By default, <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping is applied to envelope
1378sender and recipient addresses, and to header sender and header
1379recipient addresses.  </p>
1380
1381<p> Specify one or more of: envelope_sender, envelope_recipient,
1382header_sender, header_recipient </p>
1383
1384<p> This feature is available in Postfix 2.2 and later. </p>
1385
1386
1387</DD>
1388
1389<DT><b><a name="canonical_maps">canonical_maps</a>
1390(default: empty)</b></DT><DD>
1391
1392<p>
1393Optional address mapping lookup tables for message headers and
1394envelopes. The mapping is applied to both sender and recipient
1395addresses, in both envelopes and in headers, as controlled
1396with the <a href="postconf.5.html#canonical_classes">canonical_classes</a> parameter. This is typically used
1397to clean up dirty addresses from legacy mail systems, or to replace
1398login names by Firstname.Lastname.  The table format and lookups
1399are documented in <a href="canonical.5.html">canonical(5)</a>. For an overview of Postfix address
1400manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
1401</p>
1402
1403<p>
1404Specify zero or more "type:name" lookup tables, separated by
1405whitespace or comma. Tables will be searched in the specified order
1406until a match is found.
1407Note: these lookups are recursive.
1408</p>
1409
1410<p>
1411If you use this feature, run "<b>postmap /etc/postfix/canonical</b>" to
1412build the necessary DBM or DB file after every change. The changes
1413will become visible after a minute or so.  Use "<b>postfix reload</b>"
1414to eliminate the delay.
1415</p>
1416
1417<p> Note: with Postfix version 2.2, message header address mapping
1418happens only when message header address rewriting is enabled: </p>
1419
1420<ul>
1421
1422<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
1423
1424<li> The message is received from a network client that matches
1425$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
1426
1427<li> The message is received from the network, and the
1428<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
1429
1430</ul>
1431
1432<p> To get the behavior before Postfix version 2.2, specify
1433"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
1434
1435<p>
1436Examples:
1437</p>
1438
1439<pre>
1440<a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/canonical
1441<a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/canonical
1442</pre>
1443
1444
1445</DD>
1446
1447<DT><b><a name="cleanup_service_name">cleanup_service_name</a>
1448(default: cleanup)</b></DT><DD>
1449
1450<p>
1451The name of the <a href="cleanup.8.html">cleanup(8)</a> service. This service rewrites addresses
1452into the standard form, and performs <a href="canonical.5.html">canonical(5)</a> address mapping
1453and <a href="virtual.5.html">virtual(5)</a> aliasing.
1454</p>
1455
1456<p>
1457This feature is available in Postfix 2.0 and later.
1458</p>
1459
1460
1461</DD>
1462
1463<DT><b><a name="command_directory">command_directory</a>
1464(default: see "postconf -d" output)</b></DT><DD>
1465
1466<p>
1467The location of all postfix administrative commands.
1468</p>
1469
1470
1471</DD>
1472
1473<DT><b><a name="command_execution_directory">command_execution_directory</a>
1474(default: empty)</b></DT><DD>
1475
1476<p> The <a href="local.8.html">local(8)</a> delivery agent working directory for delivery to
1477external command.  Failure to change directory causes the delivery
1478to be deferred. </p>
1479
1480<p> The <a href="postconf.5.html#command_execution_directory">command_execution_directory</a> value is not subject to Postfix
1481configuration parameter $name expansion. Instead, the following
1482$name expansions are done on <a href="postconf.5.html#command_execution_directory">command_execution_directory</a> before the
1483directory is used. Expansion happens in the context
1484of the delivery request.  The result of $name expansion is filtered
1485with the character set that is specified with the
1486<a href="postconf.5.html#execution_directory_expansion_filter">execution_directory_expansion_filter</a> parameter.  </p>
1487
1488<dl>
1489
1490<dt><b>$user</b></dt>
1491
1492<dd>The recipient's username. </dd>
1493
1494<dt><b>$shell</b></dt>
1495
1496<dd>The recipient's login shell pathname. </dd>
1497
1498<dt><b>$home</b></dt>
1499
1500<dd>The recipient's home directory. </dd>
1501
1502<dt><b>$recipient</b></dt>
1503
1504<dd>The full recipient address. </dd>
1505
1506<dt><b>$extension</b></dt>
1507
1508<dd>The optional recipient address extension. </dd>
1509
1510<dt><b>$domain</b></dt>
1511
1512<dd>The recipient domain. </dd>
1513
1514<dt><b>$local</b></dt>
1515
1516<dd>The entire recipient localpart. </dd>
1517
1518<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
1519
1520<dd>The address extension delimiter that was found in the recipient
1521address (Postfix 2.11 and later), or the system-wide recipient
1522address extension delimiter (Postfix 2.10 and earlier). </dd>
1523
1524<dt><b>${name?value}</b></dt>
1525
1526<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
1527
1528<dt><b>${name:value}</b></dt>
1529
1530<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
1531
1532</dl>
1533
1534<p>
1535Instead of $name you can also specify ${name} or $(name).
1536</p>
1537
1538<p> This feature is available in Postfix 2.2 and later. </p>
1539
1540
1541</DD>
1542
1543<DT><b><a name="command_expansion_filter">command_expansion_filter</a>
1544(default: see "postconf -d" output)</b></DT><DD>
1545
1546<p>
1547Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
1548$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>.
1549Characters outside the
1550allowed set are replaced by underscores.
1551</p>
1552
1553
1554</DD>
1555
1556<DT><b><a name="command_time_limit">command_time_limit</a>
1557(default: 1000s)</b></DT><DD>
1558
1559<p>
1560Time limit for delivery to external commands. This limit is used
1561by the <a href="local.8.html">local(8)</a> delivery agent, and is the default time limit for
1562delivery by the <a href="pipe.8.html">pipe(8)</a> delivery agent.
1563</p>
1564
1565<p>
1566Note: if you set this time limit to a large value you must update the
1567global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter as well.
1568</p>
1569
1570
1571</DD>
1572
1573<DT><b><a name="compatibility_level">compatibility_level</a>
1574(default: 0)</b></DT><DD>
1575
1576<p> A safety net that causes Postfix to run with backwards-compatible
1577default settings after an upgrade to a newer Postfix version. </p>
1578
1579<p> With backwards compatibility turned on (the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#compatibility_level">compatibility_level</a>
1580value is less than the Postfix built-in value), Postfix looks for
1581settings that are left at their implicit default value, and logs a
1582message when a backwards-compatible default setting is required.
1583</p>
1584
1585<blockquote>
1586<pre>
1587using backwards-compatible default setting <i>name=value</i>
1588    to [accept a specific client request]
1589
1590using backwards-compatible default setting <i>name=value</i>
1591    to [enable specific Postfix behavior]
1592</pre>
1593</blockquote>
1594
1595<p> See <a href="COMPATIBILITY_README.html">COMPATIBILITY_README</a> for specific message details. If such
1596a message is logged in the context of a legitimate request, the
1597system administrator should make the backwards-compatible setting
1598permanent in <a href="postconf.5.html">main.cf</a> or <a href="master.5.html">master.cf</a>, for example: </p>
1599
1600<blockquote>
1601<pre>
1602# <b>postconf</b> <i>name=value</i>
1603# <b>postfix reload</b>
1604</pre>
1605</blockquote>
1606
1607<p> When no more backwards-compatible settings need to be made
1608permanent, the administrator should turn off backwards compatibility
1609by updating the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting in <a href="postconf.5.html">main.cf</a>:</p>
1610
1611<blockquote>
1612<pre>
1613# <b>postconf <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i></b>
1614# <b>postfix reload</b>
1615</pre>
1616</blockquote>
1617
1618<p> For <i>N</i> specify the number that is logged in your <a href="postfix.1.html">postfix(1)</a>
1619warning message: </p>
1620
1621<blockquote>
1622<pre>
1623warning: To disable backwards compatibility use "postconf
1624    <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i>" and "postfix reload"
1625</pre>
1626</blockquote>
1627
1628<p> This feature is available in Postfix 3.0 and later. </p>
1629
1630
1631</DD>
1632
1633<DT><b><a name="config_directory">config_directory</a>
1634(default: see "postconf -d" output)</b></DT><DD>
1635
1636<p> The default location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a>
1637configuration files. This can be overruled via the following
1638mechanisms: </p>
1639
1640<ul>
1641
1642<li> <p> The MAIL_CONFIG environment variable (daemon processes
1643and commands). </p>
1644
1645<li> <p> The "-c" command-line option (commands only). </p>
1646
1647</ul>
1648
1649<p> With Postfix command that run with set-gid privileges, a
1650<a href="postconf.5.html#config_directory">config_directory</a> override requires either root privileges, or it
1651requires that the directory is listed with the <a href="postconf.5.html#alternate_config_directories">alternate_config_directories</a>
1652parameter in the default <a href="postconf.5.html">main.cf</a> file.  </p>
1653
1654
1655</DD>
1656
1657<DT><b><a name="confirm_delay_cleared">confirm_delay_cleared</a>
1658(default: no)</b></DT><DD>
1659
1660<p> After sending a "your message is delayed" notification, inform
1661the sender when the delay clears up. This can result in a sudden
1662burst of notifications at the end of a prolonged network outage,
1663and is therefore disabled by default. </p>
1664
1665<p> See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>. </p>
1666
1667<p> This feature is available in Postfix 3.0 and later. </p>
1668
1669
1670</DD>
1671
1672<DT><b><a name="connection_cache_protocol_timeout">connection_cache_protocol_timeout</a>
1673(default: 5s)</b></DT><DD>
1674
1675<p> Time limit for connection cache connect, send or receive
1676operations.  The time limit is enforced in the client. </p>
1677
1678<p> This feature is available in Postfix 2.3 and later. </p>
1679
1680
1681</DD>
1682
1683<DT><b><a name="connection_cache_service_name">connection_cache_service_name</a>
1684(default: scache)</b></DT><DD>
1685
1686<p> The name of the <a href="scache.8.html">scache(8)</a> connection cache service.  This service
1687maintains a limited pool of cached sessions.  </p>
1688
1689<p> This feature is available in Postfix 2.2 and later. </p>
1690
1691
1692</DD>
1693
1694<DT><b><a name="connection_cache_status_update_time">connection_cache_status_update_time</a>
1695(default: 600s)</b></DT><DD>
1696
1697<p> How frequently the <a href="scache.8.html">scache(8)</a> server logs usage statistics with
1698connection cache hit and miss rates for logical destinations and for
1699physical endpoints. </p>
1700
1701
1702</DD>
1703
1704<DT><b><a name="connection_cache_ttl_limit">connection_cache_ttl_limit</a>
1705(default: 2s)</b></DT><DD>
1706
1707<p> The maximal time-to-live value that the <a href="scache.8.html">scache(8)</a> connection
1708cache server
1709allows. Requests that specify a larger TTL will be stored with the
1710maximum allowed TTL. The purpose of this additional control is to
1711protect the infrastructure against careless people. The cache TTL
1712is already bounded by $<a href="postconf.5.html#max_idle">max_idle</a>.  </p>
1713
1714
1715</DD>
1716
1717<DT><b><a name="content_filter">content_filter</a>
1718(default: empty)</b></DT><DD>
1719
1720<p> After the message is queued, send the entire message to the
1721specified <i>transport:destination</i>. The <i>transport</i> name
1722specifies the first field of a mail delivery agent definition in
1723<a href="master.5.html">master.cf</a>; the syntax of the next-hop <i>destination</i> is described
1724in the manual page of the corresponding delivery agent.  More
1725information about external content filters is in the Postfix
1726<a href="FILTER_README.html">FILTER_README</a> file.  </p>
1727
1728<p> Notes: </p>
1729
1730<ul>
1731
1732<li> <p> This setting has lower precedence than a FILTER action
1733that 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>
1734table. </p>
1735
1736<li> <p> The meaning of an empty next-hop filter <i>destination</i>
1737is version dependent.  Postfix 2.7 and later will use the recipient
1738domain; earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>.  Specify
1739"<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility with Postfix
17402.6 or earlier, or specify a <a href="postconf.5.html#content_filter">content_filter</a> value with an explicit
1741next-hop <i>destination</i>.  </p>
1742
1743</ul>
1744
1745
1746</DD>
1747
1748<DT><b><a name="cyrus_sasl_config_path">cyrus_sasl_config_path</a>
1749(default: empty)</b></DT><DD>
1750
1751<p> Search path for Cyrus SASL application configuration files,
1752currently used only to locate the $<a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.conf file.
1753Specify zero or more directories separated by a colon character,
1754or an empty value to use Cyrus SASL's built-in search path.  </p>
1755
1756<p> This feature is available in Postfix 2.5 and later when compiled
1757with Cyrus SASL 2.1.22 or later. </p>
1758
1759
1760</DD>
1761
1762<DT><b><a name="daemon_directory">daemon_directory</a>
1763(default: see "postconf -d" output)</b></DT><DD>
1764
1765<p>
1766The directory with Postfix support programs and daemon programs.
1767These should not be invoked directly by humans. The directory must
1768be owned by root.
1769</p>
1770
1771
1772</DD>
1773
1774<DT><b><a name="daemon_table_open_error_is_fatal">daemon_table_open_error_is_fatal</a>
1775(default: no)</b></DT><DD>
1776
1777<p> How a Postfix daemon process handles errors while opening lookup
1778tables: gradual degradation or immediate termination. </p>
1779
1780<dl>
1781
1782<dt> <b> no </b> (default) </dt> <dd> <p> Gradual degradation: a
1783daemon process logs a message of type "error" and continues execution
1784with reduced functionality. Features that do not depend on the
1785unavailable table will work normally, while features that depend
1786on the table will result in a type "warning" message.  <br> When
1787the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter value contains the "data" class, the
1788Postfix SMTP server and client will report transcripts of sessions
1789with an error because a table is unavailable.  </p> </dd>
1790
1791<dt> <b> yes </b> (historical behavior) </dt> <dd> <p> Immediate
1792termination: a daemon process logs a type "fatal" message and
1793terminates immediately.  This option reduces the number of possible
1794code paths through Postfix, and may therefore be slightly more
1795secure than the default.  </p> </dd>
1796
1797</dl>
1798
1799<p> For the sake of sanity, the number of type "error" messages is
1800limited to 13 over the lifetime of a daemon process. </p>
1801
1802<p> This feature is available in Postfix 2.9 and later.  </p>
1803
1804
1805</DD>
1806
1807<DT><b><a name="daemon_timeout">daemon_timeout</a>
1808(default: 18000s)</b></DT><DD>
1809
1810<p> How much time a Postfix daemon process may take to handle a
1811request before it is terminated by a built-in watchdog timer.  </p>
1812
1813<p>
1814Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
1815The default time unit is s (seconds).
1816</p>
1817
1818
1819</DD>
1820
1821<DT><b><a name="data_directory">data_directory</a>
1822(default: see "postconf -d" output)</b></DT><DD>
1823
1824<p> The directory with Postfix-writable data files (for example:
1825caches, pseudo-random numbers).  This directory must be owned by
1826the <a href="postconf.5.html#mail_owner">mail_owner</a> account, and must not be shared with non-Postfix
1827software.  </p>
1828
1829<p> This feature is available in Postfix 2.5 and later. </p>
1830
1831
1832</DD>
1833
1834<DT><b><a name="debug_peer_level">debug_peer_level</a>
1835(default: 2)</b></DT><DD>
1836
1837<p> The increment in verbose logging level when a remote client or
1838server matches a pattern in the <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter.  </p>
1839
1840
1841</DD>
1842
1843<DT><b><a name="debug_peer_list">debug_peer_list</a>
1844(default: empty)</b></DT><DD>
1845
1846<p> Optional list of remote client or server hostname or network
1847address patterns that cause the verbose logging level to increase
1848by the amount specified in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>.  </p>
1849
1850<p> Specify domain names, network/netmask patterns, "/file/name"
1851patterns or "<a href="DATABASE_README.html">type:table</a>" lookup tables. The right-hand side result
1852from "<a href="DATABASE_README.html">type:table</a>" lookups is ignored.  </p>
1853
1854<p> Pattern matching of domain names is controlled by the presence
1855or absence of "<a href="postconf.5.html#debug_peer_list">debug_peer_list</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
1856parameter value.  </p>
1857
1858<p>
1859Examples:
1860</p>
1861
1862<pre>
1863<a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = 127.0.0.1
1864<a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = example.com
1865</pre>
1866
1867
1868</DD>
1869
1870<DT><b><a name="debugger_command">debugger_command</a>
1871(default: empty)</b></DT><DD>
1872
1873<p>
1874The external command to execute when a Postfix daemon program is
1875invoked with the -D option.
1876</p>
1877
1878<p>
1879Use "command .. &amp; sleep 5" so that the debugger can attach before
1880the process marches on. If you use an X-based debugger, be sure to
1881set up your XAUTHORITY environment variable before starting Postfix.
1882</p>
1883
1884<p>
1885Note: the command is subject to $name expansion, before it is
1886passed to the default command interpreter. Specify "$$" to
1887produce a single "$" character.
1888</p>
1889
1890<p>
1891Example:
1892</p>
1893
1894<pre>
1895<a href="postconf.5.html#debugger_command">debugger_command</a> =
1896    PATH=/usr/bin:/usr/X11R6/bin
1897    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
1898</pre>
1899
1900
1901</DD>
1902
1903<DT><b><a name="default_database_type">default_database_type</a>
1904(default: see "postconf -d" output)</b></DT><DD>
1905
1906<p>
1907The default database type for use in <a href="newaliases.1.html">newaliases(1)</a>, <a href="postalias.1.html">postalias(1)</a>
1908and <a href="postmap.1.html">postmap(1)</a> commands. On many UNIX systems the default type is
1909either <b>dbm</b> or <b>hash</b>. The default setting is frozen
1910when the Postfix system is built.
1911</p>
1912
1913<p>
1914Examples:
1915</p>
1916
1917<pre>
1918<a href="postconf.5.html#default_database_type">default_database_type</a> = hash
1919<a href="postconf.5.html#default_database_type">default_database_type</a> = dbm
1920</pre>
1921
1922
1923</DD>
1924
1925<DT><b><a name="default_delivery_slot_cost">default_delivery_slot_cost</a>
1926(default: 5)</b></DT><DD>
1927
1928<p>
1929How often the Postfix queue manager's scheduler is allowed to
1930preempt delivery of one message with another.
1931</p>
1932
1933<p>
1934Each transport maintains a so-called "available delivery slot counter"
1935for each message. One message can be preempted by another one when
1936the other message can be delivered using no more delivery slots
1937(i.e., invocations of delivery agents) than the current message
1938counter has accumulated (or will eventually accumulate - see about
1939slot loans below). This parameter controls how often is the counter
1940incremented - it happens after each <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
1941recipients have been delivered.
1942</p>
1943
1944<p>
1945The cost of 0 is used to disable the preempting scheduling completely.
1946The minimum value the scheduling algorithm can use is 2 - use it
1947if you want to maximize the message throughput rate. Although there
1948is no maximum, it doesn't make much sense to use values above say
194950.
1950</p>
1951
1952<p>
1953The only reason why the value of 2 is not the default is the way
1954this parameter affects the delivery of mailing-list mail. In the
1955worst case, delivery can take somewhere between (cost+1/cost)
1956and (cost/cost-1) times more than if the preemptive scheduler was
1957disabled. The default value of 5 turns out to provide reasonable
1958message response times while making sure the mailing-list deliveries
1959are not extended by more than 20-25 percent even in the worst case.
1960</p>
1961
1962<p> Use <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> to specify a
1963transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1964name of the message delivery transport.
1965</p>
1966
1967<p>
1968Examples:
1969</p>
1970
1971<pre>
1972<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 0
1973<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 2
1974</pre>
1975
1976
1977</DD>
1978
1979<DT><b><a name="default_delivery_slot_discount">default_delivery_slot_discount</a>
1980(default: 50)</b></DT><DD>
1981
1982<p>
1983The default value for transport-specific _delivery_slot_discount
1984settings.
1985</p>
1986
1987<p>
1988This parameter speeds up the moment when a message preemption can
1989happen. Instead of waiting until the full amount of delivery slots
1990required is available, the preemption can happen when
1991transport_delivery_slot_discount percent of the required amount
1992plus transport_delivery_slot_loan still remains to be accumulated.
1993Note that the full amount will still have to be accumulated before
1994another preemption can take place later.
1995</p>
1996
1997<p> Use <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> to specify a
1998transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
1999name of the message delivery transport.
2000</p>
2001
2002
2003</DD>
2004
2005<DT><b><a name="default_delivery_slot_loan">default_delivery_slot_loan</a>
2006(default: 3)</b></DT><DD>
2007
2008<p>
2009The default value for transport-specific _delivery_slot_loan
2010settings.
2011</p>
2012
2013<p>
2014This parameter speeds up the moment when a message preemption can
2015happen. Instead of waiting until the full amount of delivery slots
2016required is available, the preemption can happen when
2017transport_delivery_slot_discount percent of the required amount
2018plus transport_delivery_slot_loan still remains to be accumulated.
2019Note that the full amount will still have to be accumulated before
2020another preemption can take place later.
2021</p>
2022
2023<p> Use <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> to specify a
2024transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2025name of the message delivery transport.
2026</p>
2027
2028
2029</DD>
2030
2031<DT><b><a name="default_delivery_status_filter">default_delivery_status_filter</a>
2032(default: empty)</b></DT><DD>
2033
2034<p> Optional filter to replace the delivery status code or explanatory
2035text of successful or unsuccessful deliveries.  This does not allow
2036the replacement of a successful status code (2.X.X) with an
2037unsuccessful status code (4.X.X or 5.X.X) or vice versa.  </p>
2038
2039<p> Note: the (smtp|lmtp)_delivery_status_filter is applied only
2040once per recipient: when delivery is successful, when delivery is
2041rejected with 5XX, or when there are no more alternate MX or A
2042destinations. Use <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> or <a href="postconf.5.html#lmtp_reply_filter">lmtp_reply_filter</a> to inspect
2043responses for all delivery attempts. </p>
2044
2045<p> The following parameters can be used to implement a filter for
2046specific delivery agents: <a href="postconf.5.html#lmtp_delivery_status_filter">lmtp_delivery_status_filter</a>,
2047<a href="postconf.5.html#local_delivery_status_filter">local_delivery_status_filter</a>, <a href="postconf.5.html#pipe_delivery_status_filter">pipe_delivery_status_filter</a>,
2048<a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a> or <a href="postconf.5.html#virtual_delivery_status_filter">virtual_delivery_status_filter</a>. These
2049parameters support the same filter syntax as described here. </p>
2050
2051<p> Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup table names, separated
2052by comma or whitespace. For each successful or unsuccessful delivery
2053to a recipient, the tables are queried in the specified order with
2054one line of text that is structured as follows: </p>
2055
2056<blockquote>
2057enhanced-status-code SPACE explanatory-text
2058</blockquote>
2059
2060<p> The first table match wins. The lookup result must have the
2061same structure as the query, a successful status code (2.X.X) must
2062be replaced with a successful status code, an unsuccessful status
2063code (4.X.X or 5.X.X) must be replaced with an unsuccessful status
2064code, and the explanatory text field must be non-empty. Other results
2065will result in a warning.  </p>
2066
2067<p> Example 1: convert specific soft TLS errors into hard errors,
2068by overriding the first number in the enhanced status code.  </p>
2069
2070<blockquote>
2071<pre>
2072/etc/postfix/<a href="postconf.5.html">main.cf</a>:
2073    <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/smtp_dsn_filter
2074</pre>
2075</blockquote>
2076
2077<blockquote>
2078<pre>
2079/etc/postfix/smtp_dsn_filter:
2080    /^4(\.\d+\.\d+ TLS is required, but host \S+ refused to start TLS: .+)/
2081        5$1
2082    /^4(\.\d+\.\d+ TLS is required, but was not offered by host .+)/
2083        5$1
2084    # Do not change the following into hard bounces. They may
2085    # result from a local configuration problem.
2086    # 4.\d+.\d+ TLS is required, but our TLS engine is unavailable
2087    # 4.\d+.\d+ TLS is required, but unavailable
2088    # 4.\d+.\d+ Cannot start TLS: handshake failure
2089</pre>
2090</blockquote>
2091
2092<p> Example 2: censor the per-recipient delivery status text so
2093that it does not reveal the destination command or filename
2094when a remote sender requests confirmation of successful delivery.
2095</p>
2096
2097<blockquote>
2098<pre>
2099/etc/postfix/<a href="postconf.5.html">main.cf</a>:
2100    <a href="postconf.5.html#local_delivery_status_filter">local_delivery_status_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/local_dsn_filter
2101</pre>
2102</blockquote>
2103
2104<blockquote>
2105<pre>
2106/etc/postfix/local_dsn_filter:
2107    /^(2\S+ delivered to file).+/    $1
2108    /^(2\S+ delivered to command).+/ $1
2109</pre>
2110</blockquote>
2111
2112<p> Notes: </p>
2113
2114<ul>
2115
2116<li> <p> This feature will NOT override the <a href="postconf.5.html#soft_bounce">soft_bounce</a> safety net. </p>
2117
2118<li> <p> This feature will change the enhanced status code and text
2119that is logged to the maillog file, and that is reported to the
2120sender in delivery confirmation or non-delivery notifications.
2121</p>
2122
2123</ul>
2124
2125<p> This feature is available in Postfix 3.0 and later. </p>
2126
2127
2128</DD>
2129
2130<DT><b><a name="default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
2131(default: 1)</b></DT><DD>
2132
2133<p> How many pseudo-cohorts must suffer connection or handshake
2134failure before a specific destination is considered unavailable
2135(and further delivery is suspended). Specify zero to disable this
2136feature. A destination's pseudo-cohort failure count is reset each
2137time a delivery completes without connection or handshake failure
2138for that specific destination. </p>
2139
2140<p> A pseudo-cohort is the number of deliveries equal to a destination's
2141delivery concurrency. </p>
2142
2143<p> Use <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> to specify
2144a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2145name of the message delivery transport. </p>
2146
2147<p> This feature is available in Postfix 2.5. The default setting
2148is compatible with earlier Postfix versions. </p>
2149
2150
2151</DD>
2152
2153<DT><b><a name="default_destination_concurrency_limit">default_destination_concurrency_limit</a>
2154(default: 20)</b></DT><DD>
2155
2156<p>
2157The default maximal number of parallel deliveries to the same
2158destination.  This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>,
2159<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.
2160With per-destination recipient limit &gt; 1, a destination is a domain,
2161otherwise it is a recipient.
2162</p>
2163
2164<p> Use <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> to specify a
2165transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2166name of the message delivery transport.
2167</p>
2168
2169
2170</DD>
2171
2172<DT><b><a name="default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>
2173(default: 1)</b></DT><DD>
2174
2175<p> The per-destination amount of delivery concurrency negative
2176feedback, after a delivery completes with a connection or handshake
2177failure. Feedback values are in the range 0..1 inclusive. With
2178negative feedback, concurrency is decremented at the beginning of
2179a sequence of length 1/feedback. This is unlike positive feedback,
2180where concurrency is incremented at the end of a sequence of length
21811/feedback. </p>
2182
2183<p> As of Postfix version 2.5, negative feedback cannot reduce
2184delivery concurrency to zero.  Instead, a destination is marked
2185dead (further delivery suspended) after the failed pseudo-cohort
2186count reaches $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
2187(or $<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>).
2188To make the scheduler completely immune to connection or handshake
2189failures, specify a zero feedback value and a zero failed pseudo-cohort
2190limit.  </p>
2191
2192<p> Specify one of the following forms: </p>
2193
2194<dl>
2195
2196<dt> <b><i>number</i> </b> </dt>
2197
2198<dt> <b><i>number</i> / <i>number</i> </b> </dt>
2199
2200<dd> Constant feedback. The value must be in the range 0..1 inclusive.
2201The default setting of "1" is compatible with Postfix versions
2202before 2.5, where a destination's delivery concurrency is throttled
2203down to zero (and further delivery suspended) after a single failed
2204pseudo-cohort. </dd>
2205
2206<dt> <b><i>number</i> / concurrency </b> </dt>
2207
2208<dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
2209The <i>number</i> must be in the range 0..1 inclusive. With
2210<i>number</i> equal to "1", a destination's delivery concurrency
2211is decremented by 1 after each failed pseudo-cohort.  </dd>
2212
2213</dl>
2214
2215<p> A pseudo-cohort is the number of deliveries equal to a destination's
2216delivery concurrency. </p>
2217
2218<p> Use <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
2219to specify a transport-specific override, where <i>transport</i>
2220is the <a href="master.5.html">master.cf</a>
2221name of the message delivery transport. </p>
2222
2223<p> This feature is available in Postfix 2.5. The default setting
2224is compatible with earlier Postfix versions. </p>
2225
2226
2227</DD>
2228
2229<DT><b><a name="default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>
2230(default: 1)</b></DT><DD>
2231
2232<p> The per-destination amount of delivery concurrency positive
2233feedback, after a delivery completes without connection or handshake
2234failure. Feedback values are in the range 0..1 inclusive.  The
2235concurrency increases until it reaches the per-destination maximal
2236concurrency limit. With positive feedback, concurrency is incremented
2237at the end of a sequence with length 1/feedback. This is unlike
2238negative feedback, where concurrency is decremented at the start
2239of a sequence of length 1/feedback. </p>
2240
2241<p> Specify one of the following forms:  </p>
2242
2243<dl>
2244
2245<dt> <b><i>number</i> </b> </dt>
2246
2247<dt> <b><i>number</i> / <i>number</i> </b> </dt>
2248
2249<dd> Constant feedback.  The value must be in the range 0..1
2250inclusive. The default setting of "1" is compatible with Postfix
2251versions before 2.5, where a destination's delivery concurrency
2252doubles after each successful pseudo-cohort.  </dd>
2253
2254<dt> <b><i>number</i> / concurrency </b> </dt>
2255
2256<dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
2257The <i>number</i> must be in the range 0..1 inclusive. With
2258<i>number</i> equal to "1", a destination's delivery concurrency
2259is incremented by 1 after each successful pseudo-cohort.  </dd>
2260
2261</dl>
2262
2263<p> A pseudo-cohort is the number of deliveries equal to a destination's
2264delivery concurrency. </p>
2265
2266<p> Use <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
2267to specify a transport-specific override, where <i>transport</i>
2268is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
2269
2270<p> This feature is available in Postfix 2.5 and later.  </p>
2271
2272
2273</DD>
2274
2275<DT><b><a name="default_destination_rate_delay">default_destination_rate_delay</a>
2276(default: 0s)</b></DT><DD>
2277
2278<p> The default amount of delay that is inserted between individual
2279message deliveries to the same destination and over the same message
2280delivery transport. Specify a non-zero value to rate-limit those
2281message deliveries to at most one per $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>.
2282</p>
2283
2284<p> The resulting behavior depends on the value of the corresponding
2285per-destination recipient limit.
2286
2287</p>
2288
2289<ul>
2290
2291<li> <p> With a corresponding per-destination recipient limit &gt;
22921, the rate delay specifies the time between deliveries to the
2293<i>same domain</i>.  Different domains are delivered in parallel,
2294subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p>
2295
2296<li> <p> With a corresponding per-destination recipient limit equal
2297to 1, the rate delay specifies the time between deliveries to the
2298<i>same recipient</i>. Different recipients are delivered in
2299parallel, subject to the process limits specified in <a href="master.5.html">master.cf</a>.
2300</p>
2301
2302</ul>
2303
2304<p> To enable the delay, specify a non-zero time value (an integral
2305value plus an optional one-letter suffix that specifies the time
2306unit). </p>
2307
2308<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
2309(weeks). The default time unit is s (seconds). </p>
2310
2311<p> NOTE: the delay is enforced by the queue manager. The delay
2312timer state does not survive "<b>postfix reload</b>" or "<b>postfix
2313stop</b>".
2314</p>
2315
2316<p> Use <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> to specify a
2317transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2318name of the message delivery transport.
2319</p>
2320
2321<p> NOTE: with a non-zero _destination_rate_delay, specify a
2322<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> of 10
2323or more to prevent Postfix from deferring all mail for the same
2324destination after only one connection or handshake error. </p>
2325
2326<p> This feature is available in Postfix 2.5 and later. </p>
2327
2328
2329</DD>
2330
2331<DT><b><a name="default_destination_recipient_limit">default_destination_recipient_limit</a>
2332(default: 50)</b></DT><DD>
2333
2334<p>
2335The default maximal number of recipients per message delivery.
2336This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>, <a href="pipe.8.html">pipe(8)</a>,
2337<a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents.
2338</p>
2339
2340<p> Setting this parameter to a value of 1 affects email deliveries
2341as follows:</p>
2342
2343<ul>
2344
2345<li> <p> It changes the meaning of the corresponding per-destination
2346concurrency limit, from concurrency of deliveries to the <i>same
2347domain</i> into concurrency of deliveries to the <i>same recipient</i>.
2348Different recipients are delivered in parallel, subject to the
2349process limits specified in <a href="master.5.html">master.cf</a>. </p>
2350
2351<li> <p> It changes the meaning of the corresponding per-destination
2352rate delay, from the delay between deliveries to the <i>same
2353domain</i> into the delay between deliveries to the <i>same
2354recipient</i>.  Again, different recipients are delivered in parallel,
2355subject to the process limits specified in <a href="master.5.html">master.cf</a>.  </p>
2356
2357<li> <p> It changes the meaning of other corresponding per-destination
2358settings in a similar manner, from settings for delivery to the
2359<i>same domain</i> into settings for delivery to the <i>same
2360recipient</i>.
2361
2362</ul>
2363
2364<p> Use <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> to specify a
2365transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2366name of the message delivery transport.
2367</p>
2368
2369
2370</DD>
2371
2372<DT><b><a name="default_extra_recipient_limit">default_extra_recipient_limit</a>
2373(default: 1000)</b></DT><DD>
2374
2375<p>
2376The default value for the extra per-transport limit imposed on the
2377number of in-memory recipients.  This extra recipient space is
2378reserved for the cases when the Postfix queue manager's scheduler
2379preempts one message with another and suddenly needs some extra
2380recipients slots for the chosen message in order to avoid performance
2381degradation.
2382</p>
2383
2384<p> Use <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> to specify a
2385transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2386name of the message delivery transport.
2387</p>
2388
2389
2390</DD>
2391
2392<DT><b><a name="default_filter_nexthop">default_filter_nexthop</a>
2393(default: empty)</b></DT><DD>
2394
2395<p> When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies no explicit
2396next-hop destination, use $<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> instead; when
2397that value is empty, use the domain in the recipient address.
2398Specify "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility
2399with Postfix version 2.6 and earlier, or specify an explicit next-hop
2400destination with each <a href="postconf.5.html#content_filter">content_filter</a> value or FILTER action. </p>
2401
2402<p> This feature is available in Postfix 2.7 and later.  </p>
2403
2404
2405</DD>
2406
2407<DT><b><a name="default_minimum_delivery_slots">default_minimum_delivery_slots</a>
2408(default: 3)</b></DT><DD>
2409
2410<p>
2411How many recipients a message must have in order to invoke the
2412Postfix queue manager's scheduling algorithm at all.  Messages
2413which would never accumulate at least this many delivery slots
2414(subject to slot cost parameter as well) are never preempted.
2415</p>
2416
2417<p> Use <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> to specify a
2418transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2419name of the message delivery transport.
2420</p>
2421
2422
2423</DD>
2424
2425<DT><b><a name="default_privs">default_privs</a>
2426(default: nobody)</b></DT><DD>
2427
2428<p>
2429The default rights used by the <a href="local.8.html">local(8)</a> delivery agent for delivery
2430to external file or command.  These rights are used when delivery
2431is requested from an <a href="aliases.5.html">aliases(5)</a> file that is owned by <b>root</b>, or
2432when delivery is done on behalf of <b>root</b>. <b>DO NOT SPECIFY A
2433PRIVILEGED USER OR THE POSTFIX OWNER</b>.
2434</p>
2435
2436
2437</DD>
2438
2439<DT><b><a name="default_process_limit">default_process_limit</a>
2440(default: 100)</b></DT><DD>
2441
2442<p>
2443The default maximal number of Postfix child processes that provide
2444a given service. This limit can be overruled for specific services
2445in the <a href="master.5.html">master.cf</a> file.
2446</p>
2447
2448
2449</DD>
2450
2451<DT><b><a name="default_rbl_reply">default_rbl_reply</a>
2452(default: see "postconf -d" output)</b></DT><DD>
2453
2454<p>
2455The default Postfix SMTP server response template for a request that is
2456rejected by an RBL-based restriction. This template can be overruled
2457by specific entries in the optional <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> lookup table.
2458</p>
2459
2460<p>
2461This feature is available in Postfix 2.0 and later.
2462</p>
2463
2464<p>
2465The template does not support Postfix configuration parameter $name
2466substitution. Instead, it supports exactly one level of $name
2467substitution for the following attributes:
2468</p>
2469
2470<dl>
2471
2472<dt><b>$client</b></dt>
2473
2474<dd>The client hostname and IP address, formatted as name[address]. </dd>
2475
2476<dt><b>$client_address</b></dt>
2477
2478<dd>The client IP address. </dd>
2479
2480<dt><b>$client_name</b></dt>
2481
2482<dd>The client hostname or "unknown". See <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a>
2483for more details. </dd>
2484
2485<dt><b>$reverse_client_name</b></dt>
2486
2487<dd>The client hostname from address-&gt;name lookup, or "unknown".
2488See <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a> for more details. </dd>
2489
2490<dt><b>$helo_name</b></dt>
2491
2492<dd>The hostname given in HELO or EHLO command or empty string. </dd>
2493
2494<dt><b>$rbl_class</b></dt>
2495
2496<dd>The blacklisted entity type: Client host, Helo command, Sender
2497address, or Recipient address. </dd>
2498
2499<dt><b>$rbl_code</b></dt>
2500
2501<dd>The numerical SMTP response code, as specified with the
2502<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> configuration parameter. Note: The numerical
2503SMTP response code is required, and must appear at the start of the
2504reply. With Postfix version 2.3 and later this information may be followed
2505by an <a href="http://tools.ietf.org/html/rfc3463">RFC 3463</a> enhanced status code. </dd>
2506
2507<dt><b>$rbl_domain</b></dt>
2508
2509<dd>The RBL domain where $rbl_what is blacklisted. </dd>
2510
2511<dt><b>$rbl_reason</b></dt>
2512
2513<dd>The reason why $rbl_what is blacklisted, or an empty string. </dd>
2514
2515<dt><b>$rbl_what</b></dt>
2516
2517<dd>The entity that is blacklisted (an IP address, a hostname, a domain
2518name, or an email address whose domain was blacklisted). </dd>
2519
2520<dt><b>$recipient</b></dt>
2521
2522<dd>The recipient address or &lt;&gt; in case of the null address. </dd>
2523
2524<dt><b>$recipient_domain</b></dt>
2525
2526<dd>The recipient domain or empty string. </dd>
2527
2528<dt><b>$recipient_name</b></dt>
2529
2530<dd>The recipient address localpart or &lt;&gt; in case of null address. </dd>
2531
2532<dt><b>$sender</b></dt>
2533
2534<dd>The sender address or &lt;&gt; in case of the null address. </dd>
2535
2536<dt><b>$sender_domain</b></dt>
2537
2538<dd>The sender domain or empty string. </dd>
2539
2540<dt><b>$sender_name</b></dt>
2541
2542<dd>The sender address localpart or &lt;&gt; in case of the null address. </dd>
2543
2544<dt><b>${name?text}</b></dt>
2545
2546<dd>Expands to `text' if $name is not empty. </dd>
2547
2548<dt><b>${name:text}</b></dt>
2549
2550<dd>Expands to `text' if $name is empty. </dd>
2551
2552</dl>
2553
2554<p>
2555Instead of $name you can also specify ${name} or $(name).
2556</p>
2557
2558<p> Note: when an enhanced status code is specified in an RBL reply
2559template, it is subject to modification.  The following transformations
2560are needed when the same RBL reply template is used for client,
2561helo, sender, or recipient access restrictions.  </p>
2562
2563<ul>
2564
2565<li> <p> When rejecting a sender address, the Postfix SMTP server
2566will transform a recipient DSN status (e.g., 4.1.1-4.1.6) into the
2567corresponding sender DSN status, and vice versa. </p>
2568
2569<li> <p> When rejecting non-address information (such as the HELO
2570command argument or the client hostname/address), the Postfix SMTP
2571server will transform a sender or recipient DSN status into a generic
2572non-address DSN status (e.g., 4.0.0).  </p>
2573
2574</ul>
2575
2576
2577</DD>
2578
2579<DT><b><a name="default_recipient_limit">default_recipient_limit</a>
2580(default: 20000)</b></DT><DD>
2581
2582<p>
2583The default per-transport upper limit on the number of in-memory
2584recipients.  These limits take priority over the global
2585<a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> after the message has been assigned
2586to the respective transports.  See also <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
2587and <a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>.
2588</p>
2589
2590<p> Use <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> to specify a
2591transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2592name of the message delivery transport.
2593</p>
2594
2595
2596</DD>
2597
2598<DT><b><a name="default_recipient_refill_delay">default_recipient_refill_delay</a>
2599(default: 5s)</b></DT><DD>
2600
2601<p>
2602The default per-transport maximum delay between recipients refills.
2603When not all message recipients fit into the memory at once, keep loading
2604more of them at least once every this many seconds.  This is used to
2605make sure the recipients are refilled in timely manner even when
2606$<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> is too high for too slow deliveries.
2607</p>
2608
2609<p> Use <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> to specify a
2610transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2611name of the message delivery transport.
2612</p>
2613
2614<p> This feature is available in Postfix 2.4 and later. </p>
2615
2616
2617</DD>
2618
2619<DT><b><a name="default_recipient_refill_limit">default_recipient_refill_limit</a>
2620(default: 100)</b></DT><DD>
2621
2622<p>
2623The default per-transport limit on the number of recipients refilled at
2624once.  When not all message recipients fit into the memory at once, keep
2625loading more of them in batches of at least this many at a time.  See also
2626$<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>, which may result in recipient batches
2627lower than this when this limit is too high for too slow deliveries.
2628</p>
2629
2630<p> Use <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> to specify a
2631transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
2632name of the message delivery transport.
2633</p>
2634
2635<p> This feature is available in Postfix 2.4 and later. </p>
2636
2637
2638</DD>
2639
2640<DT><b><a name="default_transport">default_transport</a>
2641(default: smtp)</b></DT><DD>
2642
2643<p>
2644The default mail delivery transport and next-hop destination for
2645destinations that do not match $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
2646$<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>,
2647or $<a href="postconf.5.html#relay_domains">relay_domains</a>.  This information can be overruled with the
2648<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter and with the
2649<a href="transport.5.html">transport(5)</a> table. </p>
2650
2651<p>
2652In order of decreasing precedence, the nexthop destination is taken
2653from $<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>,
2654$<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
2655domain.
2656</p>
2657
2658<p>
2659Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
2660is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
2661The <i>:nexthop</i> destination is optional; its syntax is documented
2662in the manual page of the corresponding delivery agent. In the case of
2663SMTP or LMTP, specify one or more destinations separated by comma or
2664whitespace (with Postfix 3.5 and later).
2665</p>
2666
2667<p>
2668Example:
2669</p>
2670
2671<pre>
2672<a href="postconf.5.html#default_transport">default_transport</a> = uucp:relayhostname
2673</pre>
2674
2675
2676</DD>
2677
2678<DT><b><a name="default_transport_rate_delay">default_transport_rate_delay</a>
2679(default: 0s)</b></DT><DD>
2680
2681<p> The default amount of delay that is inserted between individual
2682message deliveries over the same message delivery transport,
2683regardless of destination. Specify a non-zero value to rate-limit
2684those message deliveries to at most one per $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>.
2685</p>
2686
2687<p>Use <a href="postconf.5.html#transport_transport_rate_delay"><i>transport</i>_transport_rate_delay</a> to specify a
2688transport-specific override, where the initial <i>transport</i> is
2689the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
2690
2691<p> Example: throttle outbound SMTP mail to at most 3 deliveries
2692per minute. </p>
2693
2694<pre>
2695/etc/postfix/<a href="postconf.5.html">main.cf</a>:
2696    smtp_transport_rate_delay = 20s
2697</pre>
2698
2699<p> To enable the delay, specify a non-zero time value (an integral
2700value plus an optional one-letter suffix that specifies the time
2701unit). </p>
2702
2703<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
2704(weeks). The default time unit is s (seconds). </p>
2705
2706<p> NOTE: the delay is enforced by the queue manager. </p>
2707
2708<p> This feature is available in Postfix 3.1 and later. </p>
2709
2710
2711</DD>
2712
2713<DT><b><a name="default_verp_delimiters">default_verp_delimiters</a>
2714(default: +=)</b></DT><DD>
2715
2716<p> The two default VERP delimiter characters. These are used when
2717no explicit delimiters are specified with the SMTP XVERP command
2718or with the "<b>sendmail -V</b>" command-line option. Specify
2719characters that are allowed by the <a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> setting.
2720</p>
2721
2722<p>
2723This feature is available in Postfix 1.1 and later.
2724</p>
2725
2726
2727</DD>
2728
2729<DT><b><a name="defer_code">defer_code</a>
2730(default: 450)</b></DT><DD>
2731
2732<p>
2733The numerical Postfix SMTP server response code when a remote SMTP
2734client request is rejected by the "defer" restriction.
2735</p>
2736
2737<p>
2738Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
2739</p>
2740
2741
2742</DD>
2743
2744<DT><b><a name="defer_service_name">defer_service_name</a>
2745(default: defer)</b></DT><DD>
2746
2747<p>
2748The name of the defer service. This service is implemented by the
2749<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
2750of failed delivery attempts and generates non-delivery notifications.
2751</p>
2752
2753<p>
2754This feature is available in Postfix 2.0 and later.
2755</p>
2756
2757
2758</DD>
2759
2760<DT><b><a name="defer_transports">defer_transports</a>
2761(default: empty)</b></DT><DD>
2762
2763<p>
2764The names of message delivery transports that should not deliver mail
2765unless someone issues "<b>sendmail -q</b>" or equivalent. Specify zero
2766or more names of mail delivery transports names that appear in the
2767first field of <a href="master.5.html">master.cf</a>.
2768</p>
2769
2770<p>
2771Example:
2772</p>
2773
2774<pre>
2775<a href="postconf.5.html#defer_transports">defer_transports</a> = smtp
2776</pre>
2777
2778
2779</DD>
2780
2781<DT><b><a name="delay_logging_resolution_limit">delay_logging_resolution_limit</a>
2782(default: 2)</b></DT><DD>
2783
2784<p> The maximal number of digits after the decimal point when logging
2785sub-second delay values.  Specify a number in the range 0..6.  </p>
2786
2787<p> Large delay values are rounded off to an integral number seconds;
2788delay values below the <a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> are logged
2789as "0", and delay values under 100s are logged with at most two-digit
2790precision.  </p>
2791
2792<p> The format of the "delays=a/b/c/d" logging is as follows: </p>
2793
2794<ul>
2795
2796<li> a = time from message arrival to last <a href="QSHAPE_README.html#active_queue">active queue</a> entry
2797
2798<li> b = time from last <a href="QSHAPE_README.html#active_queue">active queue</a> entry to connection setup
2799
2800<li> c = time in connection setup, including DNS, EHLO and STARTTLS
2801
2802<li> d = time in message transmission
2803
2804</ul>
2805
2806<p> This feature is available in Postfix 2.3 and later.  </p>
2807
2808
2809</DD>
2810
2811<DT><b><a name="delay_notice_recipient">delay_notice_recipient</a>
2812(default: postmaster)</b></DT><DD>
2813
2814<p>
2815The recipient of postmaster notifications with the message headers
2816of mail that cannot be delivered within $<a href="postconf.5.html#delay_warning_time">delay_warning_time</a> time
2817units.  </p>
2818
2819<p>
2820See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>.
2821</p>
2822
2823
2824</DD>
2825
2826<DT><b><a name="delay_warning_time">delay_warning_time</a>
2827(default: 0h)</b></DT><DD>
2828
2829<p>
2830The time after which the sender receives a copy of the message
2831headers of mail that is still queued. The <a href="postconf.5.html#confirm_delay_cleared">confirm_delay_cleared</a>
2832parameter controls sender notification when the delay clears up.
2833</p>
2834
2835<p>
2836To enable this feature, specify a non-zero time value (an integral
2837value plus an optional one-letter suffix that specifies the time
2838unit).
2839</p>
2840
2841<p>
2842Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
2843The default time unit is h (hours).
2844</p>
2845
2846<p>
2847See also: <a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>, <a href="postconf.5.html#confirm_delay_cleared">confirm_delay_cleared</a>.
2848</p>
2849
2850
2851</DD>
2852
2853<DT><b><a name="deliver_lock_attempts">deliver_lock_attempts</a>
2854(default: 20)</b></DT><DD>
2855
2856<p>
2857The maximal number of attempts to acquire an exclusive lock on a
2858mailbox file or <a href="bounce.8.html">bounce(8)</a> logfile.
2859</p>
2860
2861
2862</DD>
2863
2864<DT><b><a name="deliver_lock_delay">deliver_lock_delay</a>
2865(default: 1s)</b></DT><DD>
2866
2867<p>
2868The time between attempts to acquire an exclusive lock on a mailbox
2869file or <a href="bounce.8.html">bounce(8)</a> logfile.
2870</p>
2871
2872<p>
2873Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
2874The default time unit is s (seconds).
2875</p>
2876
2877
2878</DD>
2879
2880<DT><b><a name="destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a>
2881(default: no)</b></DT><DD>
2882
2883<p> Make the queue manager's feedback algorithm verbose for performance
2884analysis purposes. </p>
2885
2886<p> This feature is available in Postfix 2.5 and later. </p>
2887
2888
2889</DD>
2890
2891<DT><b><a name="detect_8bit_encoding_header">detect_8bit_encoding_header</a>
2892(default: yes)</b></DT><DD>
2893
2894<p> Automatically detect 8BITMIME body content by looking at
2895Content-Transfer-Encoding: message headers; historically, this
2896behavior was hard-coded to be "always on".  </p>
2897
2898<p> This feature is available in Postfix 2.5 and later. </p>
2899
2900
2901</DD>
2902
2903<DT><b><a name="disable_dns_lookups">disable_dns_lookups</a>
2904(default: no)</b></DT><DD>
2905
2906<p>
2907Disable DNS lookups in the Postfix SMTP and LMTP clients. When
2908disabled, hosts are looked up with the getaddrinfo() system
2909library routine which normally also looks in /etc/hosts.  As of
2910Postfix 2.11, this parameter is deprecated; use <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>
2911instead.
2912</p>
2913
2914<p>
2915DNS lookups are enabled by default.
2916</p>
2917
2918
2919</DD>
2920
2921<DT><b><a name="disable_mime_input_processing">disable_mime_input_processing</a>
2922(default: no)</b></DT><DD>
2923
2924<p>
2925Turn off MIME processing while receiving mail. This means that no
2926special treatment is given to Content-Type: message headers, and
2927that all text after the initial message headers is considered to
2928be part of the message body.
2929</p>
2930
2931<p>
2932This feature is available in Postfix 2.0 and later.
2933</p>
2934
2935<p>
2936Mime input processing is enabled by default, and is needed in order
2937to recognize MIME headers in message content.
2938</p>
2939
2940
2941</DD>
2942
2943<DT><b><a name="disable_mime_output_conversion">disable_mime_output_conversion</a>
2944(default: no)</b></DT><DD>
2945
2946<p>
2947Disable the conversion of 8BITMIME format to 7BIT format.  Mime
2948output conversion is needed when the destination does not advertise
29498BITMIME support.
2950</p>
2951
2952<p>
2953This feature is available in Postfix 2.0 and later.
2954</p>
2955
2956
2957</DD>
2958
2959<DT><b><a name="disable_verp_bounces">disable_verp_bounces</a>
2960(default: no)</b></DT><DD>
2961
2962<p>
2963Disable sending one bounce report per recipient.
2964</p>
2965
2966<p>
2967The default, one per recipient, is what ezmlm needs.
2968</p>
2969
2970<p>
2971This feature is available in Postfix 1.1 and later.
2972</p>
2973
2974
2975</DD>
2976
2977<DT><b><a name="disable_vrfy_command">disable_vrfy_command</a>
2978(default: no)</b></DT><DD>
2979
2980<p>
2981Disable the SMTP VRFY command. This stops some techniques used to
2982harvest email addresses.
2983</p>
2984
2985<p>
2986Example:
2987</p>
2988
2989<pre>
2990<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> = no
2991</pre>
2992
2993
2994</DD>
2995
2996<DT><b><a name="dns_ncache_ttl_fix_enable">dns_ncache_ttl_fix_enable</a>
2997(default: no)</b></DT><DD>
2998
2999<p> Enable a workaround for future libc incompatibility. The Postfix
3000implementation of <a href="http://tools.ietf.org/html/rfc2308">RFC 2308</a> negative reply caching relies on the
3001promise that res_query() and res_search() invoke res_send(), which
3002returns the server response in an application buffer even if the
3003requested record does not exist. If this promise is broken, specify
3004"yes" to enable a  workaround for DNS reputation lookups. </p>
3005
3006<p>
3007This feature is available in Postfix 3.1 and later.
3008</p>
3009
3010
3011</DD>
3012
3013<DT><b><a name="dnsblog_reply_delay">dnsblog_reply_delay</a>
3014(default: 0s)</b></DT><DD>
3015
3016<p> A debugging aid to artificially delay DNS responses. </p>
3017
3018<p> This feature is available in Postfix 2.8.  </p>
3019
3020
3021</DD>
3022
3023<DT><b><a name="dnsblog_service_name">dnsblog_service_name</a>
3024(default: dnsblog)</b></DT><DD>
3025
3026<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
3027service performs DNS white/blacklist lookups. </p>
3028
3029<p> This feature is available in Postfix 2.8 and later. </p>
3030
3031
3032</DD>
3033
3034<DT><b><a name="dont_remove">dont_remove</a>
3035(default: 0)</b></DT><DD>
3036
3037<p>
3038Don't remove queue files and save them to the "saved" mail queue.
3039This is a debugging aid.  To inspect the envelope information and
3040content of a Postfix queue file, use the <a href="postcat.1.html">postcat(1)</a> command.
3041</p>
3042
3043
3044</DD>
3045
3046<DT><b><a name="double_bounce_sender">double_bounce_sender</a>
3047(default: double-bounce)</b></DT><DD>
3048
3049<p> The sender address of postmaster notifications that are generated
3050by the mail system. All mail to this address is silently discarded,
3051in order to terminate mail bounce loops.  </p>
3052
3053
3054</DD>
3055
3056<DT><b><a name="duplicate_filter_limit">duplicate_filter_limit</a>
3057(default: 1000)</b></DT><DD>
3058
3059<p> The maximal number of addresses remembered by the address
3060duplicate filter for <a href="aliases.5.html">aliases(5)</a> or <a href="virtual.5.html">virtual(5)</a> alias expansion, or
3061for <a href="showq.8.html">showq(8)</a> queue displays.  </p>
3062
3063
3064</DD>
3065
3066<DT><b><a name="empty_address_default_transport_maps_lookup_key">empty_address_default_transport_maps_lookup_key</a>
3067(default: &lt;&gt;)</b></DT><DD>
3068
3069<p> The <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> search string that
3070will be used instead of the null sender address. </p>
3071
3072<p> This feature is available in Postfix 2.7 and later.  </p>
3073
3074
3075</DD>
3076
3077<DT><b><a name="empty_address_recipient">empty_address_recipient</a>
3078(default: MAILER-DAEMON)</b></DT><DD>
3079
3080<p>
3081The recipient of mail addressed to the null address.  Postfix does
3082not accept such addresses in SMTP commands, but they may still be
3083created locally as the result of configuration or software error.
3084</p>
3085
3086
3087</DD>
3088
3089<DT><b><a name="empty_address_relayhost_maps_lookup_key">empty_address_relayhost_maps_lookup_key</a>
3090(default: &lt;&gt;)</b></DT><DD>
3091
3092<p> The <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> search string that will be
3093used instead of the null sender address. </p>
3094
3095<p> This feature is available in Postfix 2.5 and later. With
3096earlier versions, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> lookups were
3097skipped for the null sender address.  </p>
3098
3099
3100</DD>
3101
3102<DT><b><a name="enable_errors_to">enable_errors_to</a>
3103(default: no)</b></DT><DD>
3104
3105<p> Report mail delivery errors to the address specified with the
3106non-standard Errors-To: message header, instead of the envelope
3107sender address (this feature is removed with Postfix version 2.2, is
3108turned off by default with Postfix version 2.1, and is always turned on
3109with older Postfix versions).  </p>
3110
3111
3112</DD>
3113
3114<DT><b><a name="enable_idna2003_compatibility">enable_idna2003_compatibility</a>
3115(default: no)</b></DT><DD>
3116
3117<p> Enable 'transitional' compatibility between IDNA2003 and IDNA2008,
3118when converting UTF-8 domain names to/from the ASCII form that is
3119used for DNS lookups. Specify "yes" for compatibility with Postfix
3120&le; 3.1 (not recommended). This affects the conversion of domain
3121names that contain for example the German sz and the Greek zeta.
3122See <a href="http://unicode.org/cldr/utility/idna.jsp">http://unicode.org/cldr/utility/idna.jsp</a> for more examples.
3123</p>
3124
3125<p> This feature is available in Postfix 3.2 and later.  </p>
3126
3127
3128</DD>
3129
3130<DT><b><a name="enable_long_queue_ids">enable_long_queue_ids</a>
3131(default: no)</b></DT><DD>
3132
3133<p> Enable long, non-repeating, queue IDs (queue file names).  The
3134benefit of non-repeating names is simpler logfile analysis and
3135easier queue migration (there is no need to run "postsuper" to
3136change queue file names that don't match their message file inode
3137number).  </p>
3138
3139<p> Note: see below for how to convert long queue file names to
3140Postfix &le; 2.8. </p>
3141
3142<p> Changing the parameter value to "yes" has the following effects:
3143</p>
3144
3145<ul>
3146
3147<li> <p> Existing queue file names are not affected. </p>
3148
3149<li> <p> New queue files are created with names such as 3Pt2mN2VXxznjll.
3150These are encoded in a 52-character alphabet that contains digits
3151(0-9), upper-case letters (B-Z) and lower-case letters (b-z). For
3152safety reasons the vowels (AEIOUaeiou) are excluded from the alphabet.
3153The name format is: 6 or more characters for the time in seconds,
31544 characters for the time in microseconds, the 'z'; the remainder
3155is the file inode number encoded in the first 51 characters of the
315652-character alphabet.  </p>
3157
3158<li> <p> New messages have a Message-ID header with
3159<i>queueID</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>.  </p>
3160
3161<li> <p> The mailq (postqueue -p) output has a wider Queue ID column.
3162The number of whitespace-separated fields is not changed. <p>
3163
3164<li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters
3165of the queue file creation time in microseconds, after conversion
3166into hexadecimal representation. This produces the same queue hashing
3167behavior as if the queue file name was created with "<a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>
3168= no". </p>
3169
3170</ul>
3171
3172<p> Changing the parameter value to "no" has the following effects:
3173</p>
3174
3175<ul>
3176
3177<li> <p> Existing long queue file names are renamed to the short
3178form (while running "postfix reload" or "postsuper").  </p>
3179
3180<li> <p> New queue files are created with names such as C3CD21F3E90
3181from a hexadecimal alphabet that contains digits (0-9) and upper-case
3182letters (A-F). The name format is: 5 characters for the time in
3183microseconds; the remainder is the file inode number. </p>
3184
3185<li> <p> New messages have a Message-ID header with
3186<i>YYYYMMDDHHMMSS.queueid</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>, where
3187<i>YYYYMMDDHHMMSS</i> are the year, month, day, hour, minute and
3188second.
3189
3190<li> <p> The mailq (postqueue -p) output has the same format as
3191with Postfix &le; 2.8. <p>
3192
3193<li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters
3194of the queue file name, with the hexadecimal representation of the
3195file creation time in microseconds.  </p>
3196
3197</ul>
3198
3199<p> Before migration to Postfix &le; 2.8, the following commands
3200are required to convert long queue file names into short names: </p>
3201
3202<pre>
3203# postfix stop
3204# postconf <a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>=no
3205# postsuper
3206</pre>
3207
3208<p> Repeat the postsuper command until it reports no more queue file
3209name changes. </p>
3210
3211<p> This feature is available in Postfix 2.9 and later.  </p>
3212
3213
3214</DD>
3215
3216<DT><b><a name="enable_original_recipient">enable_original_recipient</a>
3217(default: yes)</b></DT><DD>
3218
3219<p> Enable support for the original recipient address after an
3220address is rewritten to a different address (for example with
3221aliasing or with canonical mapping). </p>
3222
3223<p> The original recipient address is used as follows: </p>
3224
3225<dl>
3226
3227<dt> Final delivery </dt> <dd> With "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> =
3228yes", the original recipient address is stored in the <b>X-Original-To</b>
3229message header. This header may be used to distinguish between
3230different recipients that share the same mailbox.  </dd>
3231
3232<dt> Recipient deduplication </dt> <dd> With "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a>
3233= yes", the <a href="cleanup.8.html">cleanup(8)</a> daemon performs duplicate recipient elimination
3234based on the content of (original recipient, maybe-rewritten
3235recipient) pairs.  Otherwise, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs duplicate
3236recipient elimination based only on the maybe-rewritten recipient
3237address.  </dd>
3238
3239</dl>
3240
3241<p> Note: with Postfix &le; 3.2 the "setting <a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a>
3242= <b>no</b>" breaks address verification for addresses that are
3243aliased or otherwise rewritten (Postfix is unable to store the
3244address verification result under the original probe destination
3245address; instead, it can store the result only under the rewritten
3246address).  </p>
3247
3248<p> This feature is available in Postfix 2.1 and later. Postfix
3249version 2.0 behaves as if this parameter is always set to <b>yes</b>.
3250Postfix versions before 2.0 have no support for the original recipient
3251address. </p>
3252
3253
3254</DD>
3255
3256<DT><b><a name="error_notice_recipient">error_notice_recipient</a>
3257(default: postmaster)</b></DT><DD>
3258
3259<p> The recipient of postmaster notifications about mail delivery
3260problems that are caused by policy, resource, software or protocol
3261errors.  These notifications are enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
3262parameter.  </p>
3263
3264
3265</DD>
3266
3267<DT><b><a name="error_service_name">error_service_name</a>
3268(default: error)</b></DT><DD>
3269
3270<p>
3271The name of the <a href="error.8.html">error(8)</a> pseudo delivery agent. This service always
3272returns mail as undeliverable.
3273</p>
3274
3275<p>
3276This feature is available in Postfix 2.0 and later.
3277</p>
3278
3279
3280</DD>
3281
3282<DT><b><a name="execution_directory_expansion_filter">execution_directory_expansion_filter</a>
3283(default: see "postconf -d" output)</b></DT><DD>
3284
3285<p> Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows
3286in $name expansions of $<a href="postconf.5.html#command_execution_directory">command_execution_directory</a>.  Characters
3287outside the allowed set are replaced by underscores.  </p>
3288
3289<p> This feature is available in Postfix 2.2 and later. </p>
3290
3291
3292</DD>
3293
3294<DT><b><a name="expand_owner_alias">expand_owner_alias</a>
3295(default: no)</b></DT><DD>
3296
3297<p>
3298When delivering to an alias "<i>aliasname</i>" that has an
3299"owner-<i>aliasname</i>" companion alias, set the envelope sender
3300address to the expansion of the "owner-<i>aliasname</i>" alias.
3301Normally, Postfix sets the envelope sender address to the name of
3302the "owner-<i>aliasname</i>" alias.
3303</p>
3304
3305
3306</DD>
3307
3308<DT><b><a name="export_environment">export_environment</a>
3309(default: see "postconf -d" output)</b></DT><DD>
3310
3311<p>
3312The list of environment variables that a Postfix process will export
3313to non-Postfix processes. The TZ variable is needed for sane
3314time keeping on System-V-ish systems.
3315</p>
3316
3317<p>
3318Specify a list of names and/or name=value pairs, separated by
3319whitespace or comma. Specify "{ name=value }" to protect whitespace
3320or comma in parameter values (whitespace after the opening "{" and
3321before the closing "}"
3322is ignored). The form name=value is supported with Postfix version
33232.1 and later; the use of {} is supported with Postfix 3.0 and
3324later.  </p>
3325
3326<p>
3327Example:
3328</p>
3329
3330<pre>
3331<a href="postconf.5.html#export_environment">export_environment</a> = TZ PATH=/bin:/usr/bin
3332</pre>
3333
3334
3335</DD>
3336
3337<DT><b><a name="extract_recipient_limit">extract_recipient_limit</a>
3338(default: 10240)</b></DT><DD>
3339
3340<p>
3341The maximal number of recipient addresses that Postfix will extract
3342from message headers when mail is submitted with "<b>sendmail -t</b>".
3343</p>
3344
3345<p>
3346This feature was removed in Postfix version 2.1.
3347</p>
3348
3349
3350</DD>
3351
3352<DT><b><a name="fallback_relay">fallback_relay</a>
3353(default: empty)</b></DT><DD>
3354
3355<p>
3356Optional list of relay hosts for SMTP destinations that can't be
3357found or that are unreachable. With Postfix 2.3 this parameter
3358is renamed to <a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a>. </p>
3359
3360<p>
3361By default, mail is returned to the sender when a destination is
3362not found, and delivery is deferred when a destination is unreachable.
3363</p>
3364
3365<p> The fallback relays must be SMTP destinations. Specify a domain,
3366host, host:port, [host]:port, [address] or [address]:port; the form
3367[host] turns off MX lookups.  If you specify multiple SMTP
3368destinations, Postfix will try them in the specified order.  </p>
3369
3370<p> Note: before Postfix 2.2, do not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
3371when relaying mail
3372for a backup or primary MX domain. Mail would loop between the
3373Postfix MX host and the <a href="postconf.5.html#fallback_relay">fallback_relay</a> host when the final destination
3374is unavailable. </p>
3375
3376<ul>
3377
3378<li> In <a href="postconf.5.html">main.cf</a> specify "<a href="postconf.5.html#relay_transport">relay_transport</a> = relay",
3379
3380<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
3381the end of the <tt>relay</tt> entry.
3382
3383<li> In transport maps, specify "relay:<i>nexthop...</i>"
3384as the right-hand side for backup or primary MX domain entries.
3385
3386</ul>
3387
3388<p> Postfix version 2.2 and later will not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
3389for destinations that it is MX host for.
3390</p>
3391
3392
3393</DD>
3394
3395<DT><b><a name="fallback_transport">fallback_transport</a>
3396(default: empty)</b></DT><DD>
3397
3398<p>
3399Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
3400agent should use for names that are not found in the <a href="aliases.5.html">aliases(5)</a>
3401or UNIX password database.
3402</p>
3403
3404<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
3405is: 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>,
3406<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>,
3407<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>
3408
3409
3410</DD>
3411
3412<DT><b><a name="fallback_transport_maps">fallback_transport_maps</a>
3413(default: empty)</b></DT><DD>
3414
3415<p> Optional lookup tables with per-recipient message delivery
3416transports for recipients that the <a href="local.8.html">local(8)</a> delivery agent could
3417not find in the <a href="aliases.5.html">aliases(5)</a> or UNIX password database. </p>
3418
3419<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
3420is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
3421<a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
3422<a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>.  </p>
3423
3424<p> For safety reasons, this feature does not allow $number
3425substitutions in regular expression maps. </p>
3426
3427<p> This feature is available in Postfix 2.3 and later. </p>
3428
3429
3430</DD>
3431
3432<DT><b><a name="fast_flush_domains">fast_flush_domains</a>
3433(default: $<a href="postconf.5.html#relay_domains">relay_domains</a>)</b></DT><DD>
3434
3435<p>
3436Optional list of destinations that are eligible for per-destination
3437logfiles with mail that is queued to those destinations.
3438</p>
3439
3440<p>
3441By default, Postfix maintains "fast flush" logfiles only for
3442destinations that the Postfix SMTP server is willing to relay to
3443(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
3444the <a href="postconf.5.html#relay_domains">relay_domains</a> parameter in the <a href="postconf.5.html">postconf(5)</a> manual).
3445</p>
3446
3447<p> Specify a list of hosts or domains, "/file/name" patterns or
3448"<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
3449Continue long lines by starting the next line with whitespace. A
3450"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
3451lookup table is matched when the domain or its parent domain appears
3452as lookup key.  </p>
3453
3454<p> Pattern matching of domain names is controlled by the presence
3455or absence of "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
3456parameter value.  </p>
3457
3458<p>
3459Specify "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> =" (i.e., empty) to disable the feature
3460altogether.
3461</p>
3462
3463
3464</DD>
3465
3466<DT><b><a name="fast_flush_purge_time">fast_flush_purge_time</a>
3467(default: 7d)</b></DT><DD>
3468
3469<p>
3470The time after which an empty per-destination "fast flush" logfile
3471is deleted.
3472</p>
3473
3474<p>
3475You can specify the time as a number, or as a number followed by
3476a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
3477d=days, w=weeks.  The default time unit is days.
3478</p>
3479
3480
3481</DD>
3482
3483<DT><b><a name="fast_flush_refresh_time">fast_flush_refresh_time</a>
3484(default: 12h)</b></DT><DD>
3485
3486<p>
3487The time after which a non-empty but unread per-destination "fast
3488flush" logfile needs to be refreshed.  The contents of a logfile
3489are refreshed by requesting delivery of all messages listed in the
3490logfile.
3491</p>
3492
3493<p>
3494You can specify the time as a number, or as a number followed by
3495a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
3496d=days, w=weeks.  The default time unit is hours.
3497</p>
3498
3499
3500</DD>
3501
3502<DT><b><a name="fault_injection_code">fault_injection_code</a>
3503(default: 0)</b></DT><DD>
3504
3505<p>
3506Force specific internal tests to fail, to test the handling of
3507errors that are difficult to reproduce otherwise.
3508</p>
3509
3510
3511</DD>
3512
3513<DT><b><a name="flush_service_name">flush_service_name</a>
3514(default: flush)</b></DT><DD>
3515
3516<p>
3517The name of the <a href="flush.8.html">flush(8)</a> service. This service maintains per-destination
3518logfiles with the queue file names of mail that is queued for those
3519destinations.
3520</p>
3521
3522<p>
3523This feature is available in Postfix 2.0 and later.
3524</p>
3525
3526
3527</DD>
3528
3529<DT><b><a name="fork_attempts">fork_attempts</a>
3530(default: 5)</b></DT><DD>
3531
3532<p> The maximal number of attempts to fork() a child process.  </p>
3533
3534
3535</DD>
3536
3537<DT><b><a name="fork_delay">fork_delay</a>
3538(default: 1s)</b></DT><DD>
3539
3540<p> The delay between attempts to fork() a child process.  </p>
3541
3542<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
3543(weeks).  The default time unit is s (seconds).  </p>
3544
3545
3546</DD>
3547
3548<DT><b><a name="forward_expansion_filter">forward_expansion_filter</a>
3549(default: see "postconf -d" output)</b></DT><DD>
3550
3551<p>
3552Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
3553$name expansions of $<a href="postconf.5.html#forward_path">forward_path</a>.  Characters outside the
3554allowed set are replaced by underscores.
3555</p>
3556
3557
3558</DD>
3559
3560<DT><b><a name="forward_path">forward_path</a>
3561(default: see "postconf -d" output)</b></DT><DD>
3562
3563<p> The <a href="local.8.html">local(8)</a> delivery agent search list for finding a .forward
3564file with user-specified delivery methods. The first file that is
3565found is used.  </p>
3566
3567<p> The <a href="postconf.5.html#forward_path">forward_path</a> value is not subject to Postfix configuration
3568parameter $name expansion. Instead, the following $name expansions
3569are done on <a href="postconf.5.html#forward_path">forward_path</a> before the search actually happens.
3570The result of $name expansion is
3571filtered with the character set that is specified with the
3572<a href="postconf.5.html#forward_expansion_filter">forward_expansion_filter</a> parameter.  </p>
3573
3574<dl>
3575
3576<dt><b>$user</b></dt>
3577
3578<dd>The recipient's username. </dd>
3579
3580<dt><b>$shell</b></dt>
3581
3582<dd>The recipient's login shell pathname. </dd>
3583
3584<dt><b>$home</b></dt>
3585
3586<dd>The recipient's home directory. </dd>
3587
3588<dt><b>$recipient</b></dt>
3589
3590<dd>The full recipient address. </dd>
3591
3592<dt><b>$extension</b></dt>
3593
3594<dd>The optional recipient address extension. </dd>
3595
3596<dt><b>$domain</b></dt>
3597
3598<dd>The recipient domain. </dd>
3599
3600<dt><b>$local</b></dt>
3601
3602<dd>The entire recipient localpart. </dd>
3603
3604<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
3605
3606<dd>The address extension delimiter that was found in the recipient
3607address (Postfix 2.11 and later), or the system-wide recipient
3608address extension delimiter (Postfix 2.10 and earlier). </dd>
3609
3610<dt><b>${name?value}</b></dt>
3611
3612<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
3613
3614<dt><b>${name:value}</b></dt>
3615
3616<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
3617
3618</dl>
3619
3620<p>
3621Instead of $name you can also specify ${name} or $(name).
3622</p>
3623
3624<p>
3625Examples:
3626</p>
3627
3628<pre>
3629<a href="postconf.5.html#forward_path">forward_path</a> = /var/forward/$user
3630<a href="postconf.5.html#forward_path">forward_path</a> =
3631    /var/forward/$user/.forward$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>$extension,
3632    /var/forward/$user/.forward
3633</pre>
3634
3635
3636</DD>
3637
3638<DT><b><a name="frozen_delivered_to">frozen_delivered_to</a>
3639(default: yes)</b></DT><DD>
3640
3641<p> Update the <a href="local.8.html">local(8)</a> delivery agent's idea of the Delivered-To:
3642address (see <a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a>) only once, at the start of
3643a delivery attempt; do not update the Delivered-To: address while
3644expanding aliases or .forward files. </p>
3645
3646<p> This feature is available in Postfix 2.3 and later. With older
3647Postfix releases, the behavior is as if this parameter is set to
3648"no". The old setting can be expensive with deeply nested aliases
3649or .forward files. When an alias or .forward file changes the
3650Delivered-To: address, it ties up one queue file and one cleanup
3651process instance while mail is being forwarded.  </p>
3652
3653
3654</DD>
3655
3656<DT><b><a name="hash_queue_depth">hash_queue_depth</a>
3657(default: 1)</b></DT><DD>
3658
3659<p>
3660The number of subdirectory levels for queue directories listed with
3661the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> parameter. Queue hashing is implemented by
3662creating one or more levels of directories with one-character names.
3663Originally, these directory names were equal to the first characters
3664of the queue file name, with the hexadecimal representation of the
3665file creation time in microseconds. </p>
3666
3667<p> With long queue file names, queue hashing produces the same
3668results as with short names. The file creation time in microseconds
3669is converted into hexadecimal form before the result is used for
3670queue hashing.  The base 16 encoding gives finer control over the
3671number of subdirectories than is possible with the base 52 encoding
3672of long queue file names.  </p>
3673
3674<p>
3675After 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,
3676execute the command "<b>postfix reload</b>".
3677</p>
3678
3679
3680</DD>
3681
3682<DT><b><a name="hash_queue_names">hash_queue_names</a>
3683(default: deferred, defer)</b></DT><DD>
3684
3685<p>
3686The names of queue directories that are split across multiple
3687subdirectory levels.
3688</p>
3689
3690<p> Before Postfix version 2.2, the default list of hashed queues
3691was significantly larger. Claims about improvements in file system
3692technology 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>
3693is no longer needed. Fewer hashed directories speed up the time
3694needed to restart Postfix. </p>
3695
3696<p>
3697After 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,
3698execute the command "<b>postfix reload</b>".
3699</p>
3700
3701
3702</DD>
3703
3704<DT><b><a name="header_address_token_limit">header_address_token_limit</a>
3705(default: 10240)</b></DT><DD>
3706
3707<p>
3708The maximal number of address tokens are allowed in an address
3709message header. Information that exceeds the limit is discarded.
3710The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
3711</p>
3712
3713
3714</DD>
3715
3716<DT><b><a name="header_checks">header_checks</a>
3717(default: empty)</b></DT><DD>
3718
3719<p>
3720Optional lookup tables for content inspection of primary non-MIME
3721message headers, as specified in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
3722</p>
3723
3724
3725</DD>
3726
3727<DT><b><a name="header_from_format">header_from_format</a>
3728(default: standard)</b></DT><DD>
3729
3730<p> The format of the Postfix-generated <b>From:</b> header. This
3731setting affects the appearance of 'full name' information when a
3732local program such as /bin/mail submits a message without From:
3733header through the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. </p>
3734
3735<p> Specify one of the following: </p>
3736
3737<dl>
3738
3739<dt><b>standard</b> (default)</dt> <dd> Produce a header formatted
3740as "<b>From:</b> <i>name</i><b> &lt;</b><i>address</i><b>&gt;</b>".
3741This is the default as of Postfix 3.3.</dd>
3742
3743<dt><b>obsolete</b></dt> <dd>Produce a header formatted as "<b>From:</b>
3744<i>address</i> <b>(</b><i>name</i><b>)</b>". This is the behavior
3745prior to Postfix 3.3. </dd>
3746
3747</dl>
3748
3749<p> Notes: </p>
3750
3751<ul>
3752
3753<li> <p> Postfix generates the format "<b>From:</b> <i>address</i>"
3754when <i>name</i> information is unavailable or the envelope sender
3755address is empty. This is the same behavior as prior to Postfix
37563.3. </p>
3757
3758<li> <p> In the <b>standard</b> form, the <i>name</i> will be quoted
3759if it contains <b>specials</b> as defined in <a href="http://tools.ietf.org/html/rfc5322">RFC 5322</a>, or the "!%"
3760address operators. </p>
3761
3762<li> <p> The Postfix <a href="sendmail.1.html">sendmail(1)</a> command gets <i>name</i> information
3763from the <b>-F</b> command-line option, from the <b>NAME</b>
3764environment variable, or from the UNIX password file. </p>
3765
3766</ul>
3767
3768<p> This feature is available in Postfix 3.3 and later. </p>
3769
3770
3771</DD>
3772
3773<DT><b><a name="header_size_limit">header_size_limit</a>
3774(default: 102400)</b></DT><DD>
3775
3776<p>
3777The maximal amount of memory in bytes for storing a message header.
3778If a header is larger, the excess is discarded.  The limit is
3779enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
3780</p>
3781
3782
3783</DD>
3784
3785<DT><b><a name="helpful_warnings">helpful_warnings</a>
3786(default: yes)</b></DT><DD>
3787
3788<p>
3789Log warnings about problematic configuration settings, and provide
3790helpful suggestions.
3791</p>
3792
3793<p>
3794This feature is available in Postfix 2.0 and later.
3795</p>
3796
3797
3798</DD>
3799
3800<DT><b><a name="home_mailbox">home_mailbox</a>
3801(default: empty)</b></DT><DD>
3802
3803<p>
3804Optional pathname of a mailbox file relative to a <a href="local.8.html">local(8)</a> user's
3805home directory.
3806</p>
3807
3808<p>
3809Specify a pathname ending in "/" for qmail-style delivery.
3810</p>
3811
3812<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
3813is: 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>,
3814<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>,
3815<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>
3816
3817<p>
3818Examples:
3819</p>
3820
3821<pre>
3822<a href="postconf.5.html#home_mailbox">home_mailbox</a> = Mailbox
3823<a href="postconf.5.html#home_mailbox">home_mailbox</a> = Maildir/
3824</pre>
3825
3826
3827</DD>
3828
3829<DT><b><a name="hopcount_limit">hopcount_limit</a>
3830(default: 50)</b></DT><DD>
3831
3832<p>
3833The maximal number of Received:  message headers that is allowed
3834in the primary message headers. A message that exceeds the limit
3835is bounced, in order to stop a mailer loop.
3836</p>
3837
3838
3839</DD>
3840
3841<DT><b><a name="html_directory">html_directory</a>
3842(default: see "postconf -d" output)</b></DT><DD>
3843
3844<p>
3845The location of Postfix HTML files that describe how to build,
3846configure or operate a specific Postfix subsystem or feature.
3847</p>
3848
3849
3850</DD>
3851
3852<DT><b><a name="ignore_mx_lookup_error">ignore_mx_lookup_error</a>
3853(default: no)</b></DT><DD>
3854
3855<p> Ignore DNS MX lookups that produce no response.  By default,
3856the Postfix SMTP client defers delivery and tries again after some
3857delay.  This behavior is required by the SMTP standard.  </p>
3858
3859<p>
3860Specify "<a href="postconf.5.html#ignore_mx_lookup_error">ignore_mx_lookup_error</a> = yes" to force a DNS A record
3861lookup instead. This violates the SMTP standard and can result in
3862mis-delivery of mail.
3863</p>
3864
3865
3866</DD>
3867
3868<DT><b><a name="import_environment">import_environment</a>
3869(default: see "postconf -d" output)</b></DT><DD>
3870
3871<p> The list of environment parameters that a privileged Postfix
3872process will import from a non-Postfix parent process, or name=value
3873environment overrides.  Unprivileged utilities will enforce the
3874name=value overrides, but otherwise will not change their process
3875environment.  Examples of relevant parameters: </p>
3876
3877<dl>
3878
3879<dt><b>TZ</b></dt>
3880
3881<dd>May be needed for sane time keeping on most System-V-ish systems.
3882</dd>
3883
3884<dt><b>DISPLAY</b></dt>
3885
3886<dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
3887
3888<dt><b>XAUTHORITY</b></dt>
3889
3890<dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
3891
3892<dt><b>MAIL_CONFIG</b></dt>
3893
3894<dd>Needed to make "<b>postfix -c</b>" work. </dd>
3895
3896</dl>
3897
3898<p> Specify a list of names and/or name=value pairs, separated by
3899whitespace or comma. Specify "{ name=value }" to protect whitespace
3900or comma in parameter values (whitespace after the opening "{" and
3901before the closing "}"
3902is ignored). The form name=value is supported with Postfix version
39032.1 and later; the use of {} is supported with Postfix 3.0 and
3904later.  </p>
3905
3906
3907</DD>
3908
3909<DT><b><a name="in_flow_delay">in_flow_delay</a>
3910(default: 1s)</b></DT><DD>
3911
3912<p> Time to pause before accepting a new message, when the message
3913arrival rate exceeds the message delivery rate. This feature is
3914turned on by default (it's disabled on SCO UNIX due to an SCO bug).
3915</p>
3916
3917<p>
3918With the default 100 Postfix SMTP server process limit, "<a href="postconf.5.html#in_flow_delay">in_flow_delay</a>
3919= 1s" limits the mail inflow to 100 messages per second above the
3920number of messages delivered per second.
3921</p>
3922
3923<p>
3924Specify 0 to disable the feature. Valid delays are 0..10.
3925</p>
3926
3927
3928</DD>
3929
3930<DT><b><a name="inet_interfaces">inet_interfaces</a>
3931(default: all)</b></DT><DD>
3932
3933<p> The network interface addresses that this mail system receives
3934mail on. Specify "all" to receive mail on all network
3935interfaces (default), and "loopback-only" to receive mail
3936on loopback network interfaces only (Postfix version 2.2 and later).  The
3937parameter also controls delivery of mail to <tt>user@[ip.address]</tt>.
3938</p>
3939
3940<p>
3941Note 1: you need to stop and start Postfix when this parameter changes.
3942</p>
3943
3944<p> Note 2: address information may be enclosed inside <tt>[]</tt>,
3945but this form is not required here. </p>
3946
3947<p> When <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies just one IPv4 and/or IPv6 address
3948that is not a loopback address, the Postfix SMTP client will use
3949this address as the IP source address for outbound mail. Support
3950for IPv6 is available in Postfix version 2.2 and later. </p>
3951
3952<p>
3953On a multi-homed firewall with separate Postfix instances listening on the
3954"inside" and "outside" interfaces, this can prevent each instance from
3955being able to reach remote SMTP servers on the "other side" of the
3956firewall. Setting
3957<a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> to 0.0.0.0 avoids the potential problem for
3958IPv4, and setting <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> to :: solves the problem
3959for IPv6. </p>
3960
3961<p>
3962A better solution for multi-homed firewalls is to leave <a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
3963at the default value and instead use explicit IP addresses in
3964the <a href="master.5.html">master.cf</a> SMTP server definitions.  This preserves the Postfix
3965SMTP client's
3966loop detection, by ensuring that each side of the firewall knows that the
3967other IP address is still the same host. Setting $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> to a
3968single IPv4 and/or IPV6 address is primarily useful with virtual
3969hosting of domains on
3970secondary IP addresses, when each IP address serves a different domain
3971(and has a different $<a href="postconf.5.html#myhostname">myhostname</a> setting). </p>
3972
3973<p>
3974See also the <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> parameter, for network addresses that
3975are forwarded to Postfix by way of a proxy or address translator.
3976</p>
3977
3978<p>
3979Examples:
3980</p>
3981
3982<pre>
3983<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = all (DEFAULT)
3984<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback-only (Postfix version 2.2 and later)
3985<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1
3986<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1, [::1] (Postfix version 2.2 and later)
3987<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 192.168.1.2, 127.0.0.1
3988</pre>
3989
3990
3991</DD>
3992
3993<DT><b><a name="inet_protocols">inet_protocols</a>
3994(default: all)</b></DT><DD>
3995
3996<p> The Internet protocols Postfix will attempt to use when making
3997or accepting connections. Specify one or more of "ipv4"
3998or "ipv6", separated by whitespace or commas. The form
3999"all" is equivalent to "ipv4, ipv6" or "ipv4", depending
4000on whether the operating system implements IPv6. </p>
4001
4002<p> With Postfix 2.8 and earlier the default is "ipv4". For backwards
4003compatibility with these releases, the Postfix 2.9 and later upgrade
4004procedure appends an explicit "<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4" setting to
4005<a href="postconf.5.html">main.cf</a> when no explicit setting is present. This compatibility
4006workaround will be phased out as IPv6 deployment becomes more common.
4007</p>
4008
4009<p> This feature is available in Postfix 2.2 and later. </p>
4010
4011<p> Note: you MUST stop and start Postfix after changing this
4012parameter. </p>
4013
4014<p> On systems that pre-date IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>), an
4015IPv6 server will also accept IPv4 connections, even when IPv4 is
4016turned off with the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter.  On systems with
4017IPV6_V6ONLY support, Postfix will use separate server sockets for
4018IPv6 and IPv4, and each will accept only connections for the
4019corresponding protocol.  </p>
4020
4021<p> When IPv4 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
4022Postfix will look up DNS type A records, and will convert
4023IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original
4024IPv4 form (1.2.3.4).  The latter is needed on hosts that pre-date
4025IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>). </p>
4026
4027<p> When IPv6 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
4028Postfix will do DNS type AAAA record lookups. </p>
4029
4030<p> When both IPv4 and IPv6 support are enabled, the Postfix SMTP
4031client will choose the protocol as specified with the
4032<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> parameter. Postfix versions before 2.8
4033attempt to connect via IPv6 before attempting to use IPv4.  </p>
4034
4035<p>
4036Examples:
4037</p>
4038
4039<pre>
4040<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4
4041<a href="postconf.5.html#inet_protocols">inet_protocols</a> = all (DEFAULT)
4042<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv6
4043<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4, ipv6
4044</pre>
4045
4046
4047</DD>
4048
4049<DT><b><a name="info_log_address_format">info_log_address_format</a>
4050(default: external)</b></DT><DD>
4051
4052<p> The email address form that will be used in non-debug logging
4053(info, warning, etc.). As of Postfix 3.5 when an address localpart
4054contains spaces or other special characters, the localpart will be
4055quoted, for example: </p>
4056
4057<blockquote>
4058<pre>
4059    from=&lt;"name with spaces"@example.com&gt;
4060</pre>
4061</blockquote>
4062
4063<p> Older Postfix versions would log the internal (unquoted) form: </p>
4064
4065<blockquote>
4066<pre>
4067    from=&lt;name with spaces@example.com&gt;
4068</pre>
4069</blockquote>
4070
4071<p> The external and internal forms are identical for the vast
4072majority of email addresses that contain no spaces or other special
4073characters in the localpart. </p>
4074
4075<p> The logging in external form is consistent with the address
4076form that Postfix 3.2 and later prefer for most table lookups. This
4077is therefore the more useful form for non-debug logging. </p>
4078
4079<p> Specify "<b>info_log_address_format = internal</b>" for backwards
4080compatibility. </p>
4081
4082<p> Postfix uses the unquoted form internally, because an attacker
4083can specify an email address in different forms by playing games
4084with quotes and backslashes. An attacker should not be able to use
4085such games to circumvent Postfix access policies. </p>
4086
4087<p> This feature is available in Postfix 3.5 and later. </p>
4088
4089
4090</DD>
4091
4092<DT><b><a name="initial_destination_concurrency">initial_destination_concurrency</a>
4093(default: 5)</b></DT><DD>
4094
4095<p>
4096The initial per-destination concurrency level for parallel delivery
4097to the same destination.
4098With per-destination recipient limit &gt; 1, a destination is a domain,
4099otherwise it is a recipient.
4100</p>
4101
4102<p> Use <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> to specify
4103a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
4104name of the message delivery transport (Postfix 2.5 and later). </p>
4105
4106<p>
4107Warning: with concurrency of 1, one bad message can be enough to
4108block all mail to a site.
4109</p>
4110
4111
4112</DD>
4113
4114<DT><b><a name="internal_mail_filter_classes">internal_mail_filter_classes</a>
4115(default: empty)</b></DT><DD>
4116
4117<p> What categories of Postfix-generated mail are subject to
4118before-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>
4119and <a href="postconf.5.html#body_checks">body_checks</a>.  Specify zero or more of the following, separated
4120by whitespace or comma.  </p>
4121
4122<dl>
4123
4124<dt><b>bounce</b></dt> <dd> Inspect the content of delivery
4125status notifications. </dd>
4126
4127<dt><b>notify</b></dt> <dd> Inspect the content of postmaster
4128notifications by the <a href="smtp.8.html">smtp(8)</a> and <a href="smtpd.8.html">smtpd(8)</a> processes. </dd>
4129
4130</dl>
4131
4132<p> NOTE: It's generally not safe to enable content inspection of
4133Postfix-generated email messages. The user is warned. </p>
4134
4135<p> This feature is available in Postfix 2.3 and later. </p>
4136
4137
4138</DD>
4139
4140<DT><b><a name="invalid_hostname_reject_code">invalid_hostname_reject_code</a>
4141(default: 501)</b></DT><DD>
4142
4143<p>
4144The numerical Postfix SMTP server response code when the client
4145HELO or EHLO command parameter is rejected by the <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a>
4146restriction.
4147</p>
4148
4149<p>
4150Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
4151</p>
4152
4153
4154</DD>
4155
4156<DT><b><a name="ipc_idle">ipc_idle</a>
4157(default: version dependent)</b></DT><DD>
4158
4159<p>
4160The time after which a client closes an idle internal communication
4161channel.  The purpose is to allow Postfix daemon processes to
4162terminate voluntarily after they become idle. This is used, for
4163example, by the Postfix address resolving and rewriting clients.
4164</p>
4165
4166<p> With Postfix 2.4 the default value was reduced from 100s to 5s. </p>
4167
4168<p>
4169Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4170The default time unit is s (seconds).
4171</p>
4172
4173
4174</DD>
4175
4176<DT><b><a name="ipc_timeout">ipc_timeout</a>
4177(default: 3600s)</b></DT><DD>
4178
4179<p>
4180The time limit for sending or receiving information over an internal
4181communication channel.  The purpose is to break out of deadlock
4182situations. If the time limit is exceeded the software aborts with a
4183fatal error.
4184</p>
4185
4186<p>
4187Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4188The default time unit is s (seconds).
4189</p>
4190
4191
4192</DD>
4193
4194<DT><b><a name="ipc_ttl">ipc_ttl</a>
4195(default: 1000s)</b></DT><DD>
4196
4197<p>
4198The time after which a client closes an active internal communication
4199channel.  The purpose is to allow Postfix daemon processes to
4200terminate voluntarily
4201after reaching their client limit.  This is used, for example, by
4202the Postfix address resolving and rewriting clients.
4203</p>
4204
4205<p>
4206Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4207The default time unit is s (seconds).
4208</p>
4209
4210<p>
4211This feature is available in Postfix 2.1 and later.
4212</p>
4213
4214
4215</DD>
4216
4217<DT><b><a name="line_length_limit">line_length_limit</a>
4218(default: 2048)</b></DT><DD>
4219
4220<p> Upon input, long lines are chopped up into pieces of at most
4221this length; upon delivery, long lines are reconstructed.  </p>
4222
4223
4224</DD>
4225
4226<DT><b><a name="lmdb_map_size">lmdb_map_size</a>
4227(default: 16777216)</b></DT><DD>
4228
4229<p>
4230The initial OpenLDAP LMDB database size limit in bytes.  Each time
4231a database becomes full, its size limit is doubled.
4232</p>
4233
4234<p>
4235This feature is available in Postfix 2.11 and later.
4236</p>
4237
4238
4239</DD>
4240
4241<DT><b><a name="lmtp_address_preference">lmtp_address_preference</a>
4242(default: ipv6)</b></DT><DD>
4243
4244<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a>
4245configuration parameter.  See there for details. </p>
4246
4247<p> This feature is available in Postfix 2.8 and later.  </p>
4248
4249
4250</DD>
4251
4252<DT><b><a name="lmtp_address_verify_target">lmtp_address_verify_target</a>
4253(default: rcpt)</b></DT><DD>
4254
4255<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a>
4256configuration parameter.  See there for details. </p>
4257
4258<p> This feature is available in Postfix 3.0 and later.  </p>
4259
4260
4261</DD>
4262
4263<DT><b><a name="lmtp_assume_final">lmtp_assume_final</a>
4264(default: no)</b></DT><DD>
4265
4266<p> When a remote LMTP server announces no DSN support, assume that
4267the
4268server performs final delivery, and send "delivered" delivery status
4269notifications instead of "relayed". The default setting is backwards
4270compatible to avoid the infinitesimal possibility of breaking
4271existing LMTP-based content filters. </p>
4272
4273
4274</DD>
4275
4276<DT><b><a name="lmtp_balance_inet_protocols">lmtp_balance_inet_protocols</a>
4277(default: yes)</b></DT><DD>
4278
4279<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_balance_inet_protocols">smtp_balance_inet_protocols</a>
4280configuration parameter. See there for details. </p>
4281
4282<p> This feature is available in Postfix 3.3 and later.  </p>
4283
4284
4285</DD>
4286
4287<DT><b><a name="lmtp_bind_address">lmtp_bind_address</a>
4288(default: empty)</b></DT><DD>
4289
4290<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> configuration
4291parameter.  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_bind_address6">lmtp_bind_address6</a>
4299(default: empty)</b></DT><DD>
4300
4301<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> configuration
4302parameter.  See there for details. </p>
4303
4304<p> This feature is available in Postfix 2.3 and later. </p>
4305
4306
4307</DD>
4308
4309<DT><b><a name="lmtp_body_checks">lmtp_body_checks</a>
4310(default: empty)</b></DT><DD>
4311
4312<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_body_checks">smtp_body_checks</a> configuration
4313parameter. See there for details. </p>
4314
4315<p> This feature is available in Postfix 2.5 and later. </p>
4316
4317
4318</DD>
4319
4320<DT><b><a name="lmtp_cache_connection">lmtp_cache_connection</a>
4321(default: yes)</b></DT><DD>
4322
4323<p>
4324Keep Postfix LMTP client connections open for up to $<a href="postconf.5.html#max_idle">max_idle</a>
4325seconds. When the LMTP client receives a request for the same
4326connection the connection is reused.
4327</p>
4328
4329<p> This parameter is available in Postfix version 2.2 and earlier.
4330With Postfix version 2.3 and later, see <a href="postconf.5.html#lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>,
4331<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>.
4332</p>
4333
4334<p>
4335The effectiveness of cached connections will be determined by the
4336number of remote LMTP servers in use, and the concurrency limit specified
4337for the Postfix LMTP client. Cached connections are closed under any of
4338the following conditions:
4339</p>
4340
4341<ul>
4342
4343<li> The Postfix LMTP client idle time limit is reached.  This limit is
4344specified with the Postfix <a href="postconf.5.html#max_idle">max_idle</a> configuration parameter.
4345
4346<li> A delivery request specifies a different destination than the
4347one currently cached.
4348
4349<li> The per-process limit on the number of delivery requests is
4350reached.  This limit is specified with the Postfix <a href="postconf.5.html#max_use">max_use</a>
4351configuration parameter.
4352
4353<li> Upon the onset of another delivery request, the remote LMTP server
4354associated with the current session does not respond to the RSET
4355command.
4356
4357</ul>
4358
4359<p>
4360Most of these limitations have been with the Postfix
4361a connection cache that is shared among multiple LMTP client
4362programs.
4363</p>
4364
4365
4366</DD>
4367
4368<DT><b><a name="lmtp_cname_overrides_servername">lmtp_cname_overrides_servername</a>
4369(default: yes)</b></DT><DD>
4370
4371<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
4372configuration parameter.  See there for details. </p>
4373
4374<p> This feature is available in Postfix 2.3 and later. </p>
4375
4376
4377</DD>
4378
4379<DT><b><a name="lmtp_connect_timeout">lmtp_connect_timeout</a>
4380(default: 0s)</b></DT><DD>
4381
4382<p> The Postfix LMTP client time limit for completing a TCP connection, or
4383zero (use the operating system built-in time limit).  When no
4384connection can be made within the deadline, the LMTP client tries
4385the next address on the mail exchanger list.  </p>
4386
4387<p>
4388Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4389The default time unit is s (seconds).
4390</p>
4391
4392<p>
4393Example:
4394</p>
4395
4396<pre>
4397<a href="postconf.5.html#lmtp_connect_timeout">lmtp_connect_timeout</a> = 30s
4398</pre>
4399
4400
4401</DD>
4402
4403<DT><b><a name="lmtp_connection_cache_destinations">lmtp_connection_cache_destinations</a>
4404(default: empty)</b></DT><DD>
4405
4406<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
4407configuration parameter.  See there for details. </p>
4408
4409<p> This feature is available in Postfix 2.3 and later. </p>
4410
4411
4412</DD>
4413
4414<DT><b><a name="lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>
4415(default: yes)</b></DT><DD>
4416
4417<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
4418configuration parameter.  See there for details. </p>
4419
4420<p> This feature is available in Postfix 2.3 and later. </p>
4421
4422
4423</DD>
4424
4425<DT><b><a name="lmtp_connection_cache_time_limit">lmtp_connection_cache_time_limit</a>
4426(default: 2s)</b></DT><DD>
4427
4428<p> The LMTP-specific version of the
4429<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> configuration parameter.
4430See there for details. </p>
4431
4432<p> This feature is available in Postfix 2.3 and later. </p>
4433
4434
4435</DD>
4436
4437<DT><b><a name="lmtp_connection_reuse_count_limit">lmtp_connection_reuse_count_limit</a>
4438(default: 0)</b></DT><DD>
4439
4440<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a>
4441configuration parameter.  See there for details. </p>
4442
4443<p> This feature is available in Postfix 2.11 and later. </p>
4444
4445
4446</DD>
4447
4448<DT><b><a name="lmtp_connection_reuse_time_limit">lmtp_connection_reuse_time_limit</a>
4449(default: 300s)</b></DT><DD>
4450
4451<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
4452configuration parameter.  See there for details. </p>
4453
4454<p> This feature is available in Postfix 2.3 and later. </p>
4455
4456
4457</DD>
4458
4459<DT><b><a name="lmtp_data_done_timeout">lmtp_data_done_timeout</a>
4460(default: 600s)</b></DT><DD>
4461
4462<p> The Postfix LMTP client time limit for sending the LMTP ".",
4463and for receiving the remote LMTP server response.  When no response
4464is received within the deadline, a warning is logged that the mail
4465may be delivered multiple times.  </p>
4466
4467<p>
4468Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4469The default time unit is s (seconds).
4470</p>
4471
4472
4473</DD>
4474
4475<DT><b><a name="lmtp_data_init_timeout">lmtp_data_init_timeout</a>
4476(default: 120s)</b></DT><DD>
4477
4478<p>
4479The Postfix LMTP client time limit for sending the LMTP DATA command,
4480and
4481for receiving the remote LMTP server response.
4482</p>
4483
4484<p>
4485Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4486The default time unit is s (seconds).
4487</p>
4488
4489
4490</DD>
4491
4492<DT><b><a name="lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
4493(default: 180s)</b></DT><DD>
4494
4495<p>
4496The Postfix LMTP client time limit for sending the LMTP message
4497content.
4498When the connection stalls for more than $<a href="postconf.5.html#lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
4499the LMTP client terminates the transfer.
4500</p>
4501
4502<p>
4503Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4504The default time unit is s (seconds).
4505</p>
4506
4507
4508</DD>
4509
4510<DT><b><a name="lmtp_defer_if_no_mx_address_found">lmtp_defer_if_no_mx_address_found</a>
4511(default: no)</b></DT><DD>
4512
4513<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>
4514configuration parameter.  See there for details. </p>
4515
4516<p> This feature is available in Postfix 2.3 and later. </p>
4517
4518
4519</DD>
4520
4521<DT><b><a name="lmtp_delivery_status_filter">lmtp_delivery_status_filter</a>
4522(default: empty)</b></DT><DD>
4523
4524<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a>
4525configuration parameter.  See there for details. </p>
4526
4527<p> This feature is available in Postfix 3.0 and later. </p>
4528
4529
4530</DD>
4531
4532<DT><b><a name="lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a>
4533(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
4534
4535<p> The maximal number of parallel deliveries to the same destination
4536via the lmtp message delivery transport. This limit is enforced by
4537the queue manager. The message delivery transport name is the first
4538field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
4539
4540
4541</DD>
4542
4543<DT><b><a name="lmtp_destination_recipient_limit">lmtp_destination_recipient_limit</a>
4544(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
4545
4546<p> The maximal number of recipients per message for the lmtp
4547message delivery transport. This limit is enforced by the queue
4548manager. The message delivery transport name is the first field in
4549the entry in the <a href="master.5.html">master.cf</a> file.  </p>
4550
4551<p> Setting this parameter to a value of 1 changes the meaning of
4552<a href="postconf.5.html#lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a> from concurrency per domain into
4553concurrency per recipient.  </p>
4554
4555
4556</DD>
4557
4558<DT><b><a name="lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a>
4559(default: empty)</b></DT><DD>
4560
4561<p> Lookup tables, indexed by the remote LMTP server address, with
4562case insensitive lists of LHLO keywords (pipelining, starttls,
4563auth, etc.) that the Postfix LMTP client will ignore in the LHLO
4564response
4565from a remote LMTP server. See <a href="postconf.5.html#lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a> for
4566details. The table is not indexed by hostname for consistency with
4567<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
4568
4569<p> This feature is available in Postfix 2.3 and later. </p>
4570
4571
4572</DD>
4573
4574<DT><b><a name="lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a>
4575(default: empty)</b></DT><DD>
4576
4577<p> A case insensitive list of LHLO keywords (pipelining, starttls,
4578auth, etc.) that the Postfix LMTP client will ignore in the LHLO
4579response
4580from a remote LMTP server. </p>
4581
4582<p> This feature is available in Postfix 2.3 and later. </p>
4583
4584<p> Notes: </p>
4585
4586<ul>
4587
4588<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
4589this action from being logged. </p>
4590
4591<li> <p> Use the <a href="postconf.5.html#lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a> feature to
4592discard LHLO keywords selectively. </p>
4593
4594</ul>
4595
4596
4597</DD>
4598
4599<DT><b><a name="lmtp_dns_reply_filter">lmtp_dns_reply_filter</a>
4600(default: empty)</b></DT><DD>
4601
4602<p> Optional filter for Postfix LMTP client DNS lookup results.
4603See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example.  </p>
4604
4605<p> This feature is available in Postfix 3.0 and later. </p>
4606
4607
4608</DD>
4609
4610<DT><b><a name="lmtp_dns_resolver_options">lmtp_dns_resolver_options</a>
4611(default: empty)</b></DT><DD>
4612
4613<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_resolver_options">smtp_dns_resolver_options</a>
4614configuration parameter.  See there for details. </p>
4615
4616<p> This feature is available in Postfix 2.8 and later.  </p>
4617
4618
4619</DD>
4620
4621<DT><b><a name="lmtp_dns_support_level">lmtp_dns_support_level</a>
4622(default: empty)</b></DT><DD>
4623
4624<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>
4625configuration parameter.  See there for details.  </p>
4626
4627<p> This feature is available in Postfix 2.11 and later.  </p>
4628
4629
4630</DD>
4631
4632<DT><b><a name="lmtp_enforce_tls">lmtp_enforce_tls</a>
4633(default: no)</b></DT><DD>
4634
4635<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> configuration
4636parameter.  See there for details. </p>
4637
4638<p> This feature is available in Postfix 2.3 and later. </p>
4639
4640
4641</DD>
4642
4643<DT><b><a name="lmtp_fallback_relay">lmtp_fallback_relay</a>
4644(default: empty)</b></DT><DD>
4645
4646<p> Optional list of relay hosts for LMTP destinations that can't be
4647found or that are unreachable.  In <a href="postconf.5.html">main.cf</a> elements are separated by
4648whitespace or commas.  </p>
4649
4650<p> By default, mail is returned to the sender when a destination is not
4651found, and delivery is deferred when a destination is unreachable.  </p>
4652
4653<p> The fallback relays must be TCP destinations, specified without
4654a leading "inet:" prefix.  Specify a host or host:port.  Since MX
4655lookups do not apply with LMTP, there is no need to use the "[host]" or
4656"[host]:port" forms.  If you specify multiple LMTP destinations, Postfix
4657will try them in the specified order.  </p>
4658
4659<p>
4660This feature is available in Postfix 3.1 and later.
4661</p>
4662
4663
4664</DD>
4665
4666<DT><b><a name="lmtp_generic_maps">lmtp_generic_maps</a>
4667(default: empty)</b></DT><DD>
4668
4669<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_generic_maps">smtp_generic_maps</a> configuration
4670parameter.  See there for details. </p>
4671
4672<p> This feature is available in Postfix 2.3 and later. </p>
4673
4674
4675</DD>
4676
4677<DT><b><a name="lmtp_header_checks">lmtp_header_checks</a>
4678(default: empty)</b></DT><DD>
4679
4680<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_header_checks">smtp_header_checks</a> configuration
4681parameter. See there for details. </p>
4682
4683<p> This feature is available in Postfix 2.5 and later. </p>
4684
4685
4686</DD>
4687
4688<DT><b><a name="lmtp_host_lookup">lmtp_host_lookup</a>
4689(default: dns)</b></DT><DD>
4690
4691<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a> configuration
4692parameter.  See there for details. </p>
4693
4694<p> This feature is available in Postfix 2.3 and later. </p>
4695
4696
4697</DD>
4698
4699<DT><b><a name="lmtp_lhlo_name">lmtp_lhlo_name</a>
4700(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
4701
4702<p>
4703The hostname to send in the LMTP LHLO command.
4704</p>
4705
4706<p>
4707The default value is the machine hostname.  Specify a hostname or
4708[ip.add.re.ss].
4709</p>
4710
4711<p>
4712This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all LMTP
4713clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
4714client, for example:
4715</p>
4716
4717<blockquote>
4718<pre>
4719/etc/postfix/<a href="master.5.html">master.cf</a>:
4720    mylmtp ... lmtp -o <a href="postconf.5.html#lmtp_lhlo_name">lmtp_lhlo_name</a>=foo.bar.com
4721</pre>
4722</blockquote>
4723
4724<p>
4725This feature is available in Postfix 2.3 and later.
4726</p>
4727
4728
4729</DD>
4730
4731<DT><b><a name="lmtp_lhlo_timeout">lmtp_lhlo_timeout</a>
4732(default: 300s)</b></DT><DD>
4733
4734<p> The Postfix LMTP client time limit for sending the LHLO command,
4735and for receiving the initial remote LMTP server response. </p>
4736
4737<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
4738(weeks).  The default time unit is s (seconds).  </p>
4739
4740
4741</DD>
4742
4743<DT><b><a name="lmtp_line_length_limit">lmtp_line_length_limit</a>
4744(default: 990)</b></DT><DD>
4745
4746<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_line_length_limit">smtp_line_length_limit</a>
4747configuration parameter.  See there for details. </p>
4748
4749<p> This feature is available in Postfix 2.3 and later. </p>
4750
4751
4752</DD>
4753
4754<DT><b><a name="lmtp_mail_timeout">lmtp_mail_timeout</a>
4755(default: 300s)</b></DT><DD>
4756
4757<p>
4758The Postfix LMTP client time limit for sending the MAIL FROM command,
4759and for receiving the remote LMTP server response.
4760</p>
4761
4762<p>
4763Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4764The default time unit is s (seconds).
4765</p>
4766
4767
4768</DD>
4769
4770<DT><b><a name="lmtp_mime_header_checks">lmtp_mime_header_checks</a>
4771(default: empty)</b></DT><DD>
4772
4773<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mime_header_checks">smtp_mime_header_checks</a>
4774configuration parameter. See there for details. </p>
4775
4776<p> This feature is available in Postfix 2.5 and later. </p>
4777
4778
4779</DD>
4780
4781<DT><b><a name="lmtp_mx_address_limit">lmtp_mx_address_limit</a>
4782(default: 5)</b></DT><DD>
4783
4784<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a> configuration
4785parameter.  See there for details. </p>
4786
4787<p> This feature is available in Postfix 2.3 and later. </p>
4788
4789
4790</DD>
4791
4792<DT><b><a name="lmtp_mx_session_limit">lmtp_mx_session_limit</a>
4793(default: 2)</b></DT><DD>
4794
4795<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_session_limit">smtp_mx_session_limit</a> configuration
4796parameter.  See there for details. </p>
4797
4798<p> This feature is available in Postfix 2.3 and later. </p>
4799
4800
4801</DD>
4802
4803<DT><b><a name="lmtp_nested_header_checks">lmtp_nested_header_checks</a>
4804(default: empty)</b></DT><DD>
4805
4806<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_nested_header_checks">smtp_nested_header_checks</a>
4807configuration parameter. See there for details. </p>
4808
4809<p> This feature is available in Postfix 2.5 and later. </p>
4810
4811
4812</DD>
4813
4814<DT><b><a name="lmtp_per_record_deadline">lmtp_per_record_deadline</a>
4815(default: no)</b></DT><DD>
4816
4817<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a>
4818configuration parameter.  See there for details. </p>
4819
4820<p> This feature is available in Postfix 2.9 and later.  </p>
4821
4822
4823</DD>
4824
4825<DT><b><a name="lmtp_pix_workaround_delay_time">lmtp_pix_workaround_delay_time</a>
4826(default: 10s)</b></DT><DD>
4827
4828<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
4829configuration parameter.  See there for details. </p>
4830
4831<p> This feature is available in Postfix 2.3 and later. </p>
4832
4833
4834</DD>
4835
4836<DT><b><a name="lmtp_pix_workaround_maps">lmtp_pix_workaround_maps</a>
4837(default: empty)</b></DT><DD>
4838
4839<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
4840configuration parameter.  See there for details. </p>
4841
4842<p> This feature is available in Postfix 2.4 and later. </p>
4843
4844
4845</DD>
4846
4847<DT><b><a name="lmtp_pix_workaround_threshold_time">lmtp_pix_workaround_threshold_time</a>
4848(default: 500s)</b></DT><DD>
4849
4850<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
4851configuration parameter.  See there for details. </p>
4852
4853<p> This feature is available in Postfix 2.3 and later. </p>
4854
4855
4856</DD>
4857
4858<DT><b><a name="lmtp_pix_workarounds">lmtp_pix_workarounds</a>
4859(default: empty)</b></DT><DD>
4860
4861<p> The LMTP-specific version of the smtp_pix_workaround
4862configuration parameter.  See there for details. </p>
4863
4864<p> This feature is available in Postfix 2.4 and later. </p>
4865
4866
4867</DD>
4868
4869<DT><b><a name="lmtp_quit_timeout">lmtp_quit_timeout</a>
4870(default: 300s)</b></DT><DD>
4871
4872<p>
4873The Postfix LMTP client time limit for sending the QUIT command,
4874and for receiving the remote LMTP server response.
4875</p>
4876
4877<p>
4878Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4879The default time unit is s (seconds).
4880</p>
4881
4882
4883</DD>
4884
4885<DT><b><a name="lmtp_quote_rfc821_envelope">lmtp_quote_rfc821_envelope</a>
4886(default: yes)</b></DT><DD>
4887
4888<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
4889configuration parameter.  See there for details. </p>
4890
4891<p> This feature is available in Postfix 2.3 and later. </p>
4892
4893
4894</DD>
4895
4896<DT><b><a name="lmtp_randomize_addresses">lmtp_randomize_addresses</a>
4897(default: yes)</b></DT><DD>
4898
4899<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_randomize_addresses">smtp_randomize_addresses</a>
4900configuration parameter.  See there for details. </p>
4901
4902<p> This feature is available in Postfix 2.3 and later. </p>
4903
4904
4905</DD>
4906
4907<DT><b><a name="lmtp_rcpt_timeout">lmtp_rcpt_timeout</a>
4908(default: 300s)</b></DT><DD>
4909
4910<p>
4911The Postfix LMTP client time limit for sending the RCPT TO command,
4912and for receiving the remote LMTP server response.
4913</p>
4914
4915<p>
4916Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4917The default time unit is s (seconds).
4918</p>
4919
4920
4921</DD>
4922
4923<DT><b><a name="lmtp_reply_filter">lmtp_reply_filter</a>
4924(default: empty)</b></DT><DD>
4925
4926<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a>
4927configuration parameter.  See there for details. </p>
4928
4929<p> This feature is available in Postfix 2.7 and later. </p>
4930
4931
4932</DD>
4933
4934<DT><b><a name="lmtp_rset_timeout">lmtp_rset_timeout</a>
4935(default: 20s)</b></DT><DD>
4936
4937<p> The Postfix LMTP client time limit for sending the RSET command,
4938and for receiving the remote LMTP server response. The LMTP client
4939sends RSET in
4940order to finish a recipient address probe, or to verify that a
4941cached connection is still alive.  </p>
4942
4943<p>
4944Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
4945The default time unit is s (seconds).
4946</p>
4947
4948
4949</DD>
4950
4951<DT><b><a name="lmtp_sasl_auth_cache_name">lmtp_sasl_auth_cache_name</a>
4952(default: empty)</b></DT><DD>
4953
4954<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
4955configuration parameter.  See there for details. </p>
4956
4957<p> This feature is available in Postfix 2.5 and later. </p>
4958
4959
4960</DD>
4961
4962<DT><b><a name="lmtp_sasl_auth_cache_time">lmtp_sasl_auth_cache_time</a>
4963(default: 90d)</b></DT><DD>
4964
4965<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
4966configuration parameter.  See there for details. </p>
4967
4968<p> This feature is available in Postfix 2.5 and later. </p>
4969
4970
4971</DD>
4972
4973<DT><b><a name="lmtp_sasl_auth_enable">lmtp_sasl_auth_enable</a>
4974(default: no)</b></DT><DD>
4975
4976<p>
4977Enable SASL authentication in the Postfix LMTP client.
4978</p>
4979
4980
4981</DD>
4982
4983<DT><b><a name="lmtp_sasl_auth_soft_bounce">lmtp_sasl_auth_soft_bounce</a>
4984(default: yes)</b></DT><DD>
4985
4986<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
4987configuration parameter.  See there for details. </p>
4988
4989<p> This feature is available in Postfix 2.5 and later. </p>
4990
4991
4992</DD>
4993
4994<DT><b><a name="lmtp_sasl_mechanism_filter">lmtp_sasl_mechanism_filter</a>
4995(default: empty)</b></DT><DD>
4996
4997<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
4998configuration parameter.  See there for details. </p>
4999
5000<p> This feature is available in Postfix 2.3 and later. </p>
5001
5002
5003</DD>
5004
5005<DT><b><a name="lmtp_sasl_password_maps">lmtp_sasl_password_maps</a>
5006(default: empty)</b></DT><DD>
5007
5008<p>
5009Optional Postfix LMTP client lookup tables with one username:password entry
5010per host or domain.  If a remote host or domain has no username:password
5011entry, then the Postfix LMTP client will not attempt to authenticate
5012to the remote host.
5013</p>
5014
5015
5016</DD>
5017
5018<DT><b><a name="lmtp_sasl_path">lmtp_sasl_path</a>
5019(default: empty)</b></DT><DD>
5020
5021<p> Implementation-specific information that is passed through to
5022the SASL plug-in implementation that is selected with
5023<b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>.  Typically this specifies the name of a
5024configuration file or rendezvous point. </p>
5025
5026<p> This feature is available in Postfix 2.3 and later. </p>
5027
5028
5029</DD>
5030
5031<DT><b><a name="lmtp_sasl_security_options">lmtp_sasl_security_options</a>
5032(default: noplaintext, noanonymous)</b></DT><DD>
5033
5034<p> SASL security options; as of Postfix 2.3 the list of available
5035features depends on the SASL client implementation that is selected
5036with <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>.  </p>
5037
5038<p> The following security features are defined for the <b>cyrus</b>
5039client SASL implementation: </p>
5040
5041<dl>
5042
5043<dt><b>noplaintext</b></dt>
5044
5045<dd>Disallow authentication methods that use plaintext passwords. </dd>
5046
5047<dt><b>noactive</b></dt>
5048
5049<dd>Disallow authentication methods that are vulnerable to non-dictionary
5050active attacks. </dd>
5051
5052<dt><b>nodictionary</b></dt>
5053
5054<dd>Disallow authentication methods that are vulnerable to passive
5055dictionary attack. </dd>
5056
5057<dt><b>noanonymous</b></dt>
5058
5059<dd>Disallow anonymous logins. </dd>
5060
5061</dl>
5062
5063<p>
5064Example:
5065</p>
5066
5067<pre>
5068<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a> = noplaintext
5069</pre>
5070
5071
5072</DD>
5073
5074<DT><b><a name="lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>
5075(default: $<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a>)</b></DT><DD>
5076
5077<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
5078configuration parameter.  See there for details. </p>
5079
5080<p> This feature is available in Postfix 2.3 and later. </p>
5081
5082
5083</DD>
5084
5085<DT><b><a name="lmtp_sasl_tls_verified_security_options">lmtp_sasl_tls_verified_security_options</a>
5086(default: $<a href="postconf.5.html#lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>)</b></DT><DD>
5087
5088<p> The LMTP-specific version of the
5089<a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> configuration parameter.
5090See there for details. </p>
5091
5092<p> This feature is available in Postfix 2.3 and later. </p>
5093
5094
5095</DD>
5096
5097<DT><b><a name="lmtp_sasl_type">lmtp_sasl_type</a>
5098(default: cyrus)</b></DT><DD>
5099
5100<p> The SASL plug-in type that the Postfix LMTP client should use
5101for authentication.  The available types are listed with the
5102"<b>postconf -A</b>" command. </p>
5103
5104<p> This feature is available in Postfix 2.3 and later. </p>
5105
5106
5107</DD>
5108
5109<DT><b><a name="lmtp_send_dummy_mail_auth">lmtp_send_dummy_mail_auth</a>
5110(default: no)</b></DT><DD>
5111
5112<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
5113configuration parameter.  See there for details. </p>
5114
5115<p> This feature is available in Postfix 2.9 and later.  </p>
5116
5117
5118</DD>
5119
5120<DT><b><a name="lmtp_send_xforward_command">lmtp_send_xforward_command</a>
5121(default: no)</b></DT><DD>
5122
5123<p>
5124Send an XFORWARD command to the remote LMTP server when the LMTP LHLO
5125server response announces XFORWARD support.  This allows an <a href="lmtp.8.html">lmtp(8)</a>
5126delivery agent, used for content filter message injection, to
5127forward the name, address, protocol and HELO name of the original
5128client to the content filter and downstream queuing LMTP server.
5129Before you change the value to yes, it is best to make sure that
5130your content filter supports this command.
5131</p>
5132
5133<p>
5134This feature is available in Postfix 2.1 and later.
5135</p>
5136
5137
5138</DD>
5139
5140<DT><b><a name="lmtp_sender_dependent_authentication">lmtp_sender_dependent_authentication</a>
5141(default: no)</b></DT><DD>
5142
5143<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
5144configuration parameter.  See there for details. </p>
5145
5146<p> This feature is available in Postfix 2.3 and later. </p>
5147
5148
5149</DD>
5150
5151<DT><b><a name="lmtp_skip_5xx_greeting">lmtp_skip_5xx_greeting</a>
5152(default: yes)</b></DT><DD>
5153
5154<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
5155configuration parameter.  See there for details. </p>
5156
5157<p> This feature is available in Postfix 2.3 and later. </p>
5158
5159
5160</DD>
5161
5162<DT><b><a name="lmtp_skip_quit_response">lmtp_skip_quit_response</a>
5163(default: no)</b></DT><DD>
5164
5165<p>
5166Wait for the response to the LMTP QUIT command.
5167</p>
5168
5169
5170</DD>
5171
5172<DT><b><a name="lmtp_starttls_timeout">lmtp_starttls_timeout</a>
5173(default: 300s)</b></DT><DD>
5174
5175<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_starttls_timeout">smtp_starttls_timeout</a> configuration
5176parameter.  See there for details. </p>
5177
5178<p> This feature is available in Postfix 2.3 and later. </p>
5179
5180
5181</DD>
5182
5183<DT><b><a name="lmtp_tcp_port">lmtp_tcp_port</a>
5184(default: 24)</b></DT><DD>
5185
5186<p>
5187The default TCP port that the Postfix LMTP client connects to.
5188Specify a symbolic name (see services(5)) or a numeric port.
5189</p>
5190
5191
5192</DD>
5193
5194<DT><b><a name="lmtp_tls_CAfile">lmtp_tls_CAfile</a>
5195(default: empty)</b></DT><DD>
5196
5197<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>
5198configuration parameter.  See there for details. </p>
5199
5200<p> This feature is available in Postfix 2.3 and later. </p>
5201
5202
5203</DD>
5204
5205<DT><b><a name="lmtp_tls_CApath">lmtp_tls_CApath</a>
5206(default: empty)</b></DT><DD>
5207
5208<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a>
5209configuration parameter.  See there for details. </p>
5210
5211<p> This feature is available in Postfix 2.3 and later. </p>
5212
5213
5214</DD>
5215
5216<DT><b><a name="lmtp_tls_block_early_mail_reply">lmtp_tls_block_early_mail_reply</a>
5217(default: empty)</b></DT><DD>
5218
5219<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>
5220configuration parameter.  See there for details. </p>
5221
5222<p> This feature is available in Postfix 2.7 and later. </p>
5223
5224
5225</DD>
5226
5227<DT><b><a name="lmtp_tls_cert_file">lmtp_tls_cert_file</a>
5228(default: empty)</b></DT><DD>
5229
5230<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>
5231configuration parameter.  See there for details. </p>
5232
5233<p> This feature is available in Postfix 2.3 and later. </p>
5234
5235
5236</DD>
5237
5238<DT><b><a name="lmtp_tls_chain_files">lmtp_tls_chain_files</a>
5239(default: empty)</b></DT><DD>
5240
5241<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> configuration
5242parameter. See there for details. </p>
5243
5244<p> This feature is available in Postfix 3.4 and later.  </p>
5245
5246
5247</DD>
5248
5249<DT><b><a name="lmtp_tls_ciphers">lmtp_tls_ciphers</a>
5250(default: medium)</b></DT><DD>
5251
5252<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> configuration
5253parameter. See there for details. </p>
5254
5255<p> This feature is available in Postfix 2.6 and later. </p>
5256
5257
5258</DD>
5259
5260<DT><b><a name="lmtp_tls_connection_reuse">lmtp_tls_connection_reuse</a>
5261(default: no)</b></DT><DD>
5262
5263<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> configuration
5264parameter. See there for details. </p>
5265
5266<p> This feature is available in Postfix 3.4 and later. </p>
5267
5268
5269</DD>
5270
5271<DT><b><a name="lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>
5272(default: empty)</b></DT><DD>
5273
5274<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>
5275configuration parameter.  See there for details. </p>
5276
5277<p> This feature is available in Postfix 2.3 and later. </p>
5278
5279
5280</DD>
5281
5282<DT><b><a name="lmtp_tls_dkey_file">lmtp_tls_dkey_file</a>
5283(default: $<a href="postconf.5.html#lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>)</b></DT><DD>
5284
5285<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a>
5286configuration parameter.  See there for details. </p>
5287
5288<p> This feature is available in Postfix 2.3 and later. </p>
5289
5290
5291</DD>
5292
5293<DT><b><a name="lmtp_tls_eccert_file">lmtp_tls_eccert_file</a>
5294(default: empty)</b></DT><DD>
5295
5296<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> configuration
5297parameter.  See there for details. </p>
5298
5299<p> This feature is available in Postfix 2.6 and later, when Postfix is
5300compiled and linked with OpenSSL 1.0.0 or later. </p>
5301
5302
5303</DD>
5304
5305<DT><b><a name="lmtp_tls_eckey_file">lmtp_tls_eckey_file</a>
5306(default: empty)</b></DT><DD>
5307
5308<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> configuration
5309parameter.  See there for details. </p>
5310
5311<p> This feature is available in Postfix 2.6 and later, when Postfix is
5312compiled and linked with OpenSSL 1.0.0 or later. </p>
5313
5314
5315</DD>
5316
5317<DT><b><a name="lmtp_tls_enforce_peername">lmtp_tls_enforce_peername</a>
5318(default: yes)</b></DT><DD>
5319
5320<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
5321configuration parameter.  See there for details. </p>
5322
5323<p> This feature is available in Postfix 2.3 and later. </p>
5324
5325
5326</DD>
5327
5328<DT><b><a name="lmtp_tls_exclude_ciphers">lmtp_tls_exclude_ciphers</a>
5329(default: empty)</b></DT><DD>
5330
5331<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
5332configuration parameter.  See there for details. </p>
5333
5334<p> This feature is available in Postfix 2.3 and later. </p>
5335
5336
5337</DD>
5338
5339<DT><b><a name="lmtp_tls_fingerprint_cert_match">lmtp_tls_fingerprint_cert_match</a>
5340(default: empty)</b></DT><DD>
5341
5342<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
5343configuration parameter.  See there for details. </p>
5344
5345<p> This feature is available in Postfix 2.5 and later. </p>
5346
5347
5348</DD>
5349
5350<DT><b><a name="lmtp_tls_fingerprint_digest">lmtp_tls_fingerprint_digest</a>
5351(default: md5)</b></DT><DD>
5352
5353<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
5354configuration parameter.  See there for details. </p>
5355
5356<p> This feature is available in Postfix 2.5 and later. </p>
5357
5358
5359</DD>
5360
5361<DT><b><a name="lmtp_tls_force_insecure_host_tlsa_lookup">lmtp_tls_force_insecure_host_tlsa_lookup</a>
5362(default: no)</b></DT><DD>
5363
5364<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a>
5365configuration parameter.  See there for details. </p>
5366
5367<p> This feature is available in Postfix 2.11 and later. </p>
5368
5369
5370</DD>
5371
5372<DT><b><a name="lmtp_tls_key_file">lmtp_tls_key_file</a>
5373(default: $<a href="postconf.5.html#lmtp_tls_cert_file">lmtp_tls_cert_file</a>)</b></DT><DD>
5374
5375<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a>
5376configuration parameter.  See there for details. </p>
5377
5378<p> This feature is available in Postfix 2.3 and later. </p>
5379
5380
5381</DD>
5382
5383<DT><b><a name="lmtp_tls_loglevel">lmtp_tls_loglevel</a>
5384(default: 0)</b></DT><DD>
5385
5386<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>
5387configuration parameter.  See there for details. </p>
5388
5389<p> This feature is available in Postfix 2.3 and later. </p>
5390
5391
5392</DD>
5393
5394<DT><b><a name="lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>
5395(default: medium)</b></DT><DD>
5396
5397<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
5398configuration parameter.  See there for details. </p>
5399
5400<p> This feature is available in Postfix 2.3 and later. </p>
5401
5402
5403</DD>
5404
5405<DT><b><a name="lmtp_tls_mandatory_exclude_ciphers">lmtp_tls_mandatory_exclude_ciphers</a>
5406(default: empty)</b></DT><DD>
5407
5408<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
5409configuration parameter.  See there for details. </p>
5410
5411<p> This feature is available in Postfix 2.3 and later. </p>
5412
5413
5414</DD>
5415
5416<DT><b><a name="lmtp_tls_mandatory_protocols">lmtp_tls_mandatory_protocols</a>
5417(default: !SSLv2, !SSLv3)</b></DT><DD>
5418
5419<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
5420configuration parameter. See there for details. </p>
5421
5422<p> This feature is available in Postfix 2.3 and later. </p>
5423
5424
5425</DD>
5426
5427<DT><b><a name="lmtp_tls_note_starttls_offer">lmtp_tls_note_starttls_offer</a>
5428(default: no)</b></DT><DD>
5429
5430<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
5431configuration parameter.  See there for details. </p>
5432
5433<p> This feature is available in Postfix 2.3 and later. </p>
5434
5435
5436</DD>
5437
5438<DT><b><a name="lmtp_tls_per_site">lmtp_tls_per_site</a>
5439(default: empty)</b></DT><DD>
5440
5441<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> configuration
5442parameter.  See there for details. </p>
5443
5444<p> This feature is available in Postfix 2.3 and later. </p>
5445
5446
5447</DD>
5448
5449<DT><b><a name="lmtp_tls_policy_maps">lmtp_tls_policy_maps</a>
5450(default: empty)</b></DT><DD>
5451
5452<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>
5453configuration parameter. See there for details. </p>
5454
5455<p> This feature is available in Postfix 2.3 and later. </p>
5456
5457
5458</DD>
5459
5460<DT><b><a name="lmtp_tls_protocols">lmtp_tls_protocols</a>
5461(default: !SSLv2, !SSLv3)</b></DT><DD>
5462
5463<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> configuration
5464parameter. See there for details. </p>
5465
5466<p> This feature is available in Postfix 2.6 and later. </p>
5467
5468
5469</DD>
5470
5471<DT><b><a name="lmtp_tls_scert_verifydepth">lmtp_tls_scert_verifydepth</a>
5472(default: 9)</b></DT><DD>
5473
5474<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
5475configuration parameter.  See there for details. </p>
5476
5477<p> This feature is available in Postfix 2.3 and later. </p>
5478
5479
5480</DD>
5481
5482<DT><b><a name="lmtp_tls_secure_cert_match">lmtp_tls_secure_cert_match</a>
5483(default: nexthop)</b></DT><DD>
5484
5485<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
5486configuration parameter. See there for details. </p>
5487
5488<p> This feature is available in Postfix 2.3 and later. </p>
5489
5490
5491</DD>
5492
5493<DT><b><a name="lmtp_tls_security_level">lmtp_tls_security_level</a>
5494(default: empty)</b></DT><DD>
5495
5496<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> configuration
5497parameter.  See there for details. </p>
5498
5499<p> This feature is available in Postfix 2.3 and later. </p>
5500
5501
5502</DD>
5503
5504<DT><b><a name="lmtp_tls_servername">lmtp_tls_servername</a>
5505(default: empty)</b></DT><DD>
5506
5507<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_servername">smtp_tls_servername</a> configuration
5508parameter. See there for details. </p>
5509
5510<p> This feature is available in Postfix 3.4 and later.  </p>
5511
5512
5513</DD>
5514
5515<DT><b><a name="lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>
5516(default: empty)</b></DT><DD>
5517
5518<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
5519configuration parameter. See there for details. </p>
5520
5521<p> This feature is available in Postfix 2.3 and later. </p>
5522
5523
5524</DD>
5525
5526<DT><b><a name="lmtp_tls_session_cache_timeout">lmtp_tls_session_cache_timeout</a>
5527(default: 3600s)</b></DT><DD>
5528
5529<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
5530configuration parameter.  See there for details. </p>
5531
5532<p> This feature is available in Postfix 2.3 and later. </p>
5533
5534
5535</DD>
5536
5537<DT><b><a name="lmtp_tls_trust_anchor_file">lmtp_tls_trust_anchor_file</a>
5538(default: empty)</b></DT><DD>
5539
5540<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
5541configuration parameter.  See there for details.  </p>
5542
5543<p> This feature is available in Postfix 2.11 and later.  </p>
5544
5545
5546</DD>
5547
5548<DT><b><a name="lmtp_tls_verify_cert_match">lmtp_tls_verify_cert_match</a>
5549(default: hostname)</b></DT><DD>
5550
5551<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
5552configuration parameter. See there for details. </p>
5553
5554<p> This feature is available in Postfix 2.3 and later. </p>
5555
5556
5557</DD>
5558
5559<DT><b><a name="lmtp_use_tls">lmtp_use_tls</a>
5560(default: no)</b></DT><DD>
5561
5562<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> configuration
5563parameter.  See there for details. </p>
5564
5565<p> This feature is available in Postfix 2.3 and later. </p>
5566
5567
5568</DD>
5569
5570<DT><b><a name="lmtp_xforward_timeout">lmtp_xforward_timeout</a>
5571(default: 300s)</b></DT><DD>
5572
5573<p>
5574The Postfix LMTP client time limit for sending the XFORWARD command,
5575and for receiving the remote LMTP server response.
5576</p>
5577
5578<p>
5579In case of problems the client does NOT try the next address on
5580the mail exchanger list.
5581</p>
5582
5583<p>
5584Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
5585The default time unit is s (seconds).
5586</p>
5587
5588<p>
5589This feature is available in Postfix 2.1 and later.
5590</p>
5591
5592
5593</DD>
5594
5595<DT><b><a name="local_command_shell">local_command_shell</a>
5596(default: empty)</b></DT><DD>
5597
5598<p>
5599Optional shell program for <a href="local.8.html">local(8)</a> delivery to non-Postfix command.
5600By default, non-Postfix commands are executed directly; commands
5601are given to given to the default shell (typically, /bin/sh) only
5602when they contain shell meta characters or shell built-in commands.
5603</p>
5604
5605<p> "sendmail's restricted shell" (smrsh) is what most people will
5606use in order to restrict what programs can be run from e.g. .forward
5607files (smrsh is part of the Sendmail distribution).  </p>
5608
5609<p> Note: when a shell program is specified, it is invoked even
5610when the command contains no shell built-in commands or meta
5611characters.  </p>
5612
5613<p>
5614Example:
5615</p>
5616
5617<pre>
5618<a href="postconf.5.html#local_command_shell">local_command_shell</a> = /some/where/smrsh -c
5619<a href="postconf.5.html#local_command_shell">local_command_shell</a> = /bin/bash -c
5620</pre>
5621
5622
5623</DD>
5624
5625<DT><b><a name="local_delivery_status_filter">local_delivery_status_filter</a>
5626(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
5627
5628<p> Optional filter for the <a href="local.8.html">local(8)</a> delivery agent to change the
5629status code or explanatory text of successful or unsuccessful
5630deliveries.  See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details.  </p>
5631
5632<p> This feature is available in Postfix 3.0 and later. </p>
5633
5634
5635</DD>
5636
5637<DT><b><a name="local_destination_concurrency_limit">local_destination_concurrency_limit</a>
5638(default: 2)</b></DT><DD>
5639
5640<p> The maximal number of parallel deliveries via the local mail
5641delivery transport to the same recipient (when
5642"<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> = 1") or the maximal number of
5643parallel deliveries to the same <a href="ADDRESS_CLASS_README.html#local_domain_class">local domain</a> (when
5644"<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> &gt; 1"). This limit is enforced by
5645the queue manager. The message delivery transport name is the first
5646field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
5647
5648<p> A low limit of 2 is recommended, just in case someone has an
5649expensive shell command in a .forward file or in an alias (e.g.,
5650a mailing list manager).  You don't want to run lots of those at
5651the same time.  </p>
5652
5653
5654</DD>
5655
5656<DT><b><a name="local_destination_recipient_limit">local_destination_recipient_limit</a>
5657(default: 1)</b></DT><DD>
5658
5659<p> The maximal number of recipients per message delivery via the
5660local mail delivery transport. This limit is enforced by the queue
5661manager. The message delivery transport name is the first field in
5662the entry in the <a href="master.5.html">master.cf</a> file. </p>
5663
5664<p> Setting this parameter to a value &gt; 1 changes the meaning of
5665<a href="postconf.5.html#local_destination_concurrency_limit">local_destination_concurrency_limit</a> from concurrency per recipient
5666into concurrency per domain.  </p>
5667
5668
5669</DD>
5670
5671<DT><b><a name="local_header_rewrite_clients">local_header_rewrite_clients</a>
5672(default: <a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a>)</b></DT><DD>
5673
5674<p> Rewrite message header addresses in mail from these clients and
5675update incomplete addresses with the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or
5676$<a href="postconf.5.html#mydomain">mydomain</a>; either don't rewrite message headers from other clients
5677at all, or rewrite message headers and update incomplete addresses
5678with the domain specified in the <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>
5679parameter.  </p>
5680
5681<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
5682for details of how domain names are appended to incomplete addresses.
5683</p>
5684
5685<p> Specify a list of zero or more of the following:  </p>
5686
5687<dl>
5688
5689<dt><b><a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
5690
5691<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
5692client IP address matches $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. This is enabled by
5693default. </dd>
5694
5695<dt><b><a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a></b></dt>
5696
5697<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
5698client IP address matches any network or network address listed in
5699$<a href="postconf.5.html#mynetworks">mynetworks</a>. This setting will not prevent remote mail header
5700address rewriting when mail from a remote client is forwarded by
5701a neighboring system.  </dd>
5702
5703<dt><b><a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> </b></dt>
5704
5705<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
5706client is successfully authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH)
5707protocol. </dd>
5708
5709<dt><b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> </b></dt>
5710
5711<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
5712remote SMTP client TLS certificate fingerprint or public key fingerprint
5713(Postfix 2.9 and later) is listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
5714The fingerprint digest algorithm is configurable via the
5715<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
5716Postfix version 2.5).  </dd>
5717
5718<dt><b><a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a> </b></dt>
5719
5720<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
5721remote SMTP client TLS certificate is successfully verified, regardless of
5722whether it is listed on the server, and regardless of the certifying
5723authority. </dd>
5724
5725<dt><b><a name="check_address_map">check_address_map</a> <i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
5726
5727<dt><b><i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
5728
5729<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
5730client IP address matches the specified lookup table.
5731The lookup result is ignored, and no subnet lookup is done. This
5732is suitable for, e.g., pop-before-smtp lookup tables. </dd>
5733
5734</dl>
5735
5736<p> Examples:  </p>
5737
5738<p> The Postfix &lt; 2.2 backwards compatible setting: always rewrite
5739message headers, and always append my own domain to incomplete
5740header addresses.  </p>
5741
5742<blockquote>
5743<pre>
5744<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all
5745</pre>
5746</blockquote>
5747
5748<p> The purist (and default) setting: rewrite headers only in mail
5749from Postfix sendmail and in SMTP mail from this machine. </p>
5750
5751<blockquote>
5752<pre>
5753<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>
5754</pre>
5755</blockquote>
5756
5757<p> The intermediate setting: rewrite header addresses and append
5758$<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> information only with mail from Postfix
5759sendmail, from local clients, or from authorized SMTP clients. </p>
5760
5761<p> Note: this setting will not prevent remote mail header address
5762rewriting when mail from a remote client is forwarded by a neighboring
5763system.  </p>
5764
5765<blockquote>
5766<pre>
5767<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
5768    <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
5769    <a href="postconf.5.html#check_address_map">check_address_map</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/pop-before-smtp
5770</pre>
5771</blockquote>
5772
5773
5774</DD>
5775
5776<DT><b><a name="local_recipient_maps">local_recipient_maps</a>
5777(default: <a href="proxymap.8.html">proxy</a>:unix:passwd.byname $<a href="postconf.5.html#alias_maps">alias_maps</a>)</b></DT><DD>
5778
5779<p> Lookup tables with all names or addresses of local recipients:
5780a recipient address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
5781$<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
5782wild-card for domains that do not have a valid recipient list.
5783Technically, tables listed with $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> are used as
5784lists: Postfix needs to know only if a lookup string is found or
5785not, but it does not use the result from table lookup.  </p>
5786
5787<p>
5788Specify zero or more "type:name" lookup tables, separated by
5789whitespace or comma. Tables will be searched in the specified order
5790until a match is found.
5791</p>
5792
5793<p>
5794If this parameter is non-empty (the default), then the Postfix SMTP
5795server will reject mail for unknown local users.
5796</p>
5797
5798<p>
5799To turn off local recipient checking in the Postfix SMTP server,
5800specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty).
5801</p>
5802
5803<p>
5804The default setting assumes that you use the default Postfix local
5805delivery agent for local delivery. You need to update the
5806<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> setting if:
5807</p>
5808
5809<ul>
5810
5811<li>You redefine the local delivery agent in <a href="master.5.html">master.cf</a>.
5812
5813<li>You redefine the "<a href="postconf.5.html#local_transport">local_transport</a>" setting in <a href="postconf.5.html">main.cf</a>.
5814
5815<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>"
5816feature of the Postfix <a href="local.8.html">local(8)</a> delivery agent.
5817
5818</ul>
5819
5820<p>
5821Details are described in the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> file.
5822</p>
5823
5824<p>
5825Beware: if the Postfix SMTP server runs chrooted, you need to access
5826the passwd file via the <a href="proxymap.8.html">proxymap(8)</a> service, in order to overcome
5827chroot access restrictions. The alternative, maintaining a copy of
5828the system password file in the chroot jail is not practical.
5829</p>
5830
5831<p>
5832Examples:
5833</p>
5834
5835<pre>
5836<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =
5837</pre>
5838
5839
5840</DD>
5841
5842<DT><b><a name="local_transport">local_transport</a>
5843(default: <a href="local.8.html">local</a>:$<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
5844
5845<p> The default mail delivery transport and next-hop destination
5846for final delivery to domains listed with <a href="postconf.5.html#mydestination">mydestination</a>, and for
5847[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>.
5848This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
5849
5850<p>
5851By default, local mail is delivered to the transport called "local",
5852which is just the name of a service that is defined the <a href="master.5.html">master.cf</a> file.
5853</p>
5854
5855<p>
5856Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
5857is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
5858The <i>:nexthop</i> destination is optional; its syntax is documented
5859in the manual page of the corresponding delivery agent.
5860</p>
5861
5862<p>
5863Beware: if you override the default local delivery agent then you
5864need to review the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> document, otherwise the
5865SMTP server may reject mail for local recipients.
5866</p>
5867
5868
5869</DD>
5870
5871<DT><b><a name="luser_relay">luser_relay</a>
5872(default: empty)</b></DT><DD>
5873
5874<p>
5875Optional catch-all destination for unknown <a href="local.8.html">local(8)</a> recipients.
5876By default, mail for unknown recipients in domains that match
5877$<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
5878as undeliverable.
5879</p>
5880
5881<p>
5882The <a href="postconf.5.html#luser_relay">luser_relay</a> value is not subject to Postfix configuration
5883parameter $name expansion. Instead, the following $name expansions
5884are done:
5885</p>
5886
5887<dl>
5888
5889<dt><b>$domain</b></dt>
5890
5891<dd>The recipient domain. </dd>
5892
5893<dt><b>$extension</b></dt>
5894
5895<dd>The recipient address extension. </dd>
5896
5897<dt><b>$home</b></dt>
5898
5899<dd>The recipient's home directory. </dd>
5900
5901<dt><b>$local</b></dt>
5902
5903<dd>The entire recipient address localpart. </dd>
5904
5905<dt><b>$recipient</b></dt>
5906
5907<dd>The full recipient address. </dd>
5908
5909<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
5910
5911<dd>The address extension delimiter that was found in the recipient
5912address (Postfix 2.11 and later), or the system-wide recipient
5913address extension delimiter (Postfix 2.10 and earlier). </dd>
5914
5915<dt><b>$shell</b></dt>
5916
5917<dd>The recipient's login shell. </dd>
5918
5919<dt><b>$user</b></dt>
5920
5921<dd>The recipient username. </dd>
5922
5923<dt><b>${name?value}</b></dt>
5924
5925<dd>Expands to <i>value</i> when <i>$name</i> has a non-empty value. </dd>
5926
5927<dt><b>${name:value}</b></dt>
5928
5929<dd>Expands to <i>value</i> when <i>$name</i> has an empty value. </dd>
5930
5931</dl>
5932
5933<p>
5934Instead of $name you can also specify ${name} or $(name).
5935</p>
5936
5937<p>
5938Note: <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.
5939</p>
5940
5941<p>
5942Note: if you use this feature for accounts not in the UNIX password
5943file, then you must specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty)
5944in the <a href="postconf.5.html">main.cf</a> file, otherwise the Postfix SMTP server will reject mail
5945for non-UNIX accounts with "User unknown in local recipient table".
5946</p>
5947
5948<p>
5949Examples:
5950</p>
5951
5952<pre>
5953<a href="postconf.5.html#luser_relay">luser_relay</a> = $user@other.host
5954<a href="postconf.5.html#luser_relay">luser_relay</a> = $local@other.host
5955<a href="postconf.5.html#luser_relay">luser_relay</a> = admin+$local
5956</pre>
5957
5958
5959</DD>
5960
5961<DT><b><a name="mail_name">mail_name</a>
5962(default: Postfix)</b></DT><DD>
5963
5964<p>
5965The mail system name that is displayed in Received: headers, in
5966the SMTP greeting banner, and in bounced mail.
5967</p>
5968
5969
5970</DD>
5971
5972<DT><b><a name="mail_owner">mail_owner</a>
5973(default: postfix)</b></DT><DD>
5974
5975<p>
5976The UNIX system account that owns the Postfix queue and most Postfix
5977daemon processes.  Specify the name of an unprivileged user account
5978that does not share a user or group ID with other accounts, and that
5979owns no other files
5980or processes on the system.  In particular, don't specify nobody
5981or daemon.  PLEASE USE A DEDICATED USER ID AND GROUP ID.
5982</p>
5983
5984<p>
5985When this parameter value is changed you need to re-run "<b>postfix
5986set-permissions</b>" (with Postfix version 2.0 and earlier:
5987"<b>/etc/postfix/post-install set-permissions</b>".
5988</p>
5989
5990
5991</DD>
5992
5993<DT><b><a name="mail_release_date">mail_release_date</a>
5994(default: see "postconf -d" output)</b></DT><DD>
5995
5996<p>
5997The Postfix release date, in "YYYYMMDD" format.
5998</p>
5999
6000
6001</DD>
6002
6003<DT><b><a name="mail_spool_directory">mail_spool_directory</a>
6004(default: see "postconf -d" output)</b></DT><DD>
6005
6006<p>
6007The directory where <a href="local.8.html">local(8)</a> UNIX-style mailboxes are kept. The
6008default setting depends on the system type. Specify a name ending
6009in / for maildir-style delivery.
6010</p>
6011
6012<p>
6013Note: maildir delivery is done with the privileges of the recipient.
6014If you use the <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> setting for maildir style
6015delivery, then you must create the top-level maildir directory in
6016advance. Postfix will not create it.
6017</p>
6018
6019<p>
6020Examples:
6021</p>
6022
6023<pre>
6024<a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/mail
6025<a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/spool/mail
6026</pre>
6027
6028
6029</DD>
6030
6031<DT><b><a name="mail_version">mail_version</a>
6032(default: see "postconf -d" output)</b></DT><DD>
6033
6034<p>
6035The version of the mail system. Stable releases are named
6036<i>major</i>.<i>minor</i>.<i>patchlevel</i>. Experimental releases
6037also include the release date. The version string can be used in,
6038for example, the SMTP greeting banner.
6039</p>
6040
6041
6042</DD>
6043
6044<DT><b><a name="mailbox_command">mailbox_command</a>
6045(default: empty)</b></DT><DD>
6046
6047<p>
6048Optional external command that the <a href="local.8.html">local(8)</a> delivery agent should
6049use for mailbox delivery.  The command is run with the user ID and
6050the primary group ID privileges of the recipient.  Exception:
6051command delivery for root executes with $<a href="postconf.5.html#default_privs">default_privs</a> privileges.
6052This is not a problem, because 1) mail for root should always be
6053aliased to a real user and 2) don't log in as root, use "su" instead.
6054</p>
6055
6056<p>
6057The following environment variables are exported to the command:
6058</p>
6059
6060<dl>
6061
6062<dt><b>CLIENT_ADDRESS</b></dt>
6063
6064<dd>Remote client network address. Available in Postfix version 2.2 and
6065later. </dd>
6066
6067<dt><b>CLIENT_HELO</b></dt>
6068
6069<dd>Remote client EHLO command parameter. Available in Postfix version 2.2
6070and later.</dd>
6071
6072<dt><b>CLIENT_HOSTNAME</b></dt>
6073
6074<dd>Remote client hostname. Available in Postfix version 2.2 and later.
6075</dd>
6076
6077<dt><b>CLIENT_PROTOCOL</b></dt>
6078
6079<dd>Remote client protocol. Available in Postfix version 2.2 and later.
6080</dd>
6081
6082<dt><b>DOMAIN</b></dt>
6083
6084<dd>The domain part of the recipient address. </dd>
6085
6086<dt><b>EXTENSION</b></dt>
6087
6088<dd>The optional address extension. </dd>
6089
6090<dt><b>HOME</b></dt>
6091
6092<dd>The recipient home directory. </dd>
6093
6094<dt><b>LOCAL</b></dt>
6095
6096<dd>The recipient address localpart. </dd>
6097
6098<dt><b>LOGNAME</b></dt>
6099
6100<dd>The recipient's username. </dd>
6101
6102<dt><b>ORIGINAL_RECIPIENT</b></dt>
6103
6104<dd>The entire recipient address, before any address rewriting or
6105aliasing.  </dd>
6106
6107<dt><b>RECIPIENT</b></dt>
6108
6109<dd>The full recipient address. </dd>
6110
6111<dt><b>SASL_METHOD</b></dt>
6112
6113<dd>SASL authentication method specified in the remote client AUTH
6114command. Available in Postfix version 2.2 and later. </dd>
6115
6116<dt><b>SASL_SENDER</b></dt>
6117
6118<dd>SASL sender address specified in the remote client MAIL FROM
6119command. Available in Postfix version 2.2 and later. </dd>
6120
6121<dt><b>SASL_USER</b></dt>
6122
6123<dd>SASL username specified in the remote client AUTH command.
6124Available in Postfix version 2.2 and later.  </dd>
6125
6126<dt><b>SENDER</b></dt>
6127
6128<dd>The full sender address. </dd>
6129
6130<dt><b>SHELL</b></dt>
6131
6132<dd>The recipient's login shell. </dd>
6133
6134<dt><b>USER</b></dt>
6135
6136<dd>The recipient username. </dd>
6137
6138</dl>
6139
6140<p>
6141Unlike other Postfix configuration parameters, the <a href="postconf.5.html#mailbox_command">mailbox_command</a>
6142parameter is not subjected to $name substitutions. This is to make
6143it easier to specify shell syntax (see example below).
6144</p>
6145
6146<p>
6147If you can, avoid shell meta characters because they will force
6148Postfix to run an expensive shell process. If you're delivering
6149via "procmail" then running a shell won't make a noticeable difference
6150in the total cost.
6151</p>
6152
6153<p>
6154Note: if you use the <a href="postconf.5.html#mailbox_command">mailbox_command</a> feature to deliver mail
6155system-wide, you must set up an alias that forwards mail for root
6156to a real user.
6157</p>
6158
6159<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
6160is: 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>,
6161<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>,
6162<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>
6163
6164<p>
6165Examples:
6166</p>
6167
6168<pre>
6169<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail
6170<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail -a "$EXTENSION"
6171<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/maildrop -d "$USER"
6172        -f "$SENDER" "$EXTENSION"
6173</pre>
6174
6175
6176</DD>
6177
6178<DT><b><a name="mailbox_command_maps">mailbox_command_maps</a>
6179(default: empty)</b></DT><DD>
6180
6181<p>
6182Optional lookup tables with per-recipient external commands to use
6183for <a href="local.8.html">local(8)</a> mailbox delivery.  Behavior is as with <a href="postconf.5.html#mailbox_command">mailbox_command</a>.
6184</p>
6185
6186<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
6187is: 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>,
6188<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>,
6189<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>
6190
6191<p>
6192Specify zero or more "type:name" lookup tables, separated by
6193whitespace or comma. Tables will be searched in the specified order
6194until a match is found.
6195</p>
6196
6197
6198</DD>
6199
6200<DT><b><a name="mailbox_delivery_lock">mailbox_delivery_lock</a>
6201(default: see "postconf -d" output)</b></DT><DD>
6202
6203<p>
6204How to lock a UNIX-style <a href="local.8.html">local(8)</a> mailbox before attempting delivery.
6205For a list of available file locking methods, use the "<b>postconf
6206-l</b>" command.
6207</p>
6208
6209<p>
6210This setting is ignored with <b>maildir</b> style delivery,
6211because such deliveries are safe without explicit locks.
6212</p>
6213
6214<p>
6215Note: The <b>dotlock</b> method requires that the recipient UID or
6216GID has write access to the parent directory of the mailbox file.
6217</p>
6218
6219<p>
6220Note: the default setting of this parameter is system dependent.
6221</p>
6222
6223
6224</DD>
6225
6226<DT><b><a name="mailbox_size_limit">mailbox_size_limit</a>
6227(default: 51200000)</b></DT><DD>
6228
6229<p> The maximal size of any <a href="local.8.html">local(8)</a> individual mailbox or maildir
6230file, or zero (no limit).  In fact, this limits the size of any
6231file that is written to upon local delivery, including files written
6232by external commands that are executed by the <a href="local.8.html">local(8)</a> delivery
6233agent.  </p>
6234
6235<p>
6236This limit must not be smaller than the message size limit.
6237</p>
6238
6239
6240</DD>
6241
6242<DT><b><a name="mailbox_transport">mailbox_transport</a>
6243(default: empty)</b></DT><DD>
6244
6245<p>
6246Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
6247agent should use for mailbox delivery to all local recipients,
6248whether or not they are found in the UNIX passwd database.
6249</p>
6250
6251<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
6252is: 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>,
6253<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>,
6254<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>
6255
6256
6257</DD>
6258
6259<DT><b><a name="mailbox_transport_maps">mailbox_transport_maps</a>
6260(default: empty)</b></DT><DD>
6261
6262<p> Optional lookup tables with per-recipient message delivery
6263transports to use for <a href="local.8.html">local(8)</a> mailbox delivery, whether or not the
6264recipients are found in the UNIX passwd database. </p>
6265
6266<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
6267is: 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>,
6268<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>,
6269<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>
6270
6271<p>
6272Specify zero or more "type:name" lookup tables, separated by
6273whitespace or comma. Tables will be searched in the specified order
6274until a match is found.
6275</p>
6276
6277<p> For safety reasons, this feature does not allow $number
6278substitutions in regular expression maps. </p>
6279
6280<p> This feature is available in Postfix 2.3 and later. </p>
6281
6282
6283</DD>
6284
6285<DT><b><a name="maillog_file">maillog_file</a>
6286(default: empty)</b></DT><DD>
6287
6288<p> The name of an optional logfile that is written by the Postfix
6289<a href="postlogd.8.html">postlogd(8)</a> service. An empty value selects logging to syslogd(8).
6290Specify "/dev/stdout" to select logging to standard output. Stdout
6291logging requires that Postfix is started with "postfix start-fg".
6292</p>
6293
6294<p> Note 1: The <a href="postconf.5.html#maillog_file">maillog_file</a> parameter value must contain a prefix
6295that is specified with the <a href="postconf.5.html#maillog_file_prefixes">maillog_file_prefixes</a> parameter. </p>
6296
6297<p> Note 2: Some Postfix non-daemon programs may still log information
6298to syslogd(8), before they have processed their configuration
6299parameters and command-line options. </p>
6300
6301<p> This feature is available in Postfix 3.4 and later. </p>
6302
6303
6304</DD>
6305
6306<DT><b><a name="maillog_file_compressor">maillog_file_compressor</a>
6307(default: gzip)</b></DT><DD>
6308
6309<p> The program to run after rotating $<a href="postconf.5.html#maillog_file">maillog_file</a> with "postfix
6310logrotate". The command is run with the rotated logfile name as its
6311first argument. </p>
6312
6313<p> This feature is available in Postfix 3.4 and later. </p>
6314
6315
6316</DD>
6317
6318<DT><b><a name="maillog_file_prefixes">maillog_file_prefixes</a>
6319(default: /var, /dev/stdout)</b></DT><DD>
6320
6321<p> A list of allowed prefixes for a <a href="postconf.5.html#maillog_file">maillog_file</a> value. This is a
6322safety feature to contain the damage from a single configuration
6323mistake. Specify one or more prefix strings, separated by comma or
6324whitespace. </p>
6325
6326<p> This feature is available in Postfix 3.4 and later. </p>
6327
6328
6329</DD>
6330
6331<DT><b><a name="maillog_file_rotate_suffix">maillog_file_rotate_suffix</a>
6332(default: %Y%M%d-%H%M%S)</b></DT><DD>
6333
6334<p> The format of the suffix to append to $<a href="postconf.5.html#maillog_file">maillog_file</a> while rotating
6335the file with "postfix logrotate". See strftime(3) for syntax. The
6336default suffix, YYYYMMDD-HHMMSS, allows logs to be rotated frequently.
6337</p>
6338
6339<p> This feature is available in Postfix 3.4 and later. </p>
6340
6341
6342</DD>
6343
6344<DT><b><a name="mailq_path">mailq_path</a>
6345(default: see "postconf -d" output)</b></DT><DD>
6346
6347<p>
6348Sendmail compatibility feature that specifies where the Postfix
6349<a href="mailq.1.html">mailq(1)</a> command is installed. This command can be used to
6350list the Postfix mail queue.
6351</p>
6352
6353
6354</DD>
6355
6356<DT><b><a name="manpage_directory">manpage_directory</a>
6357(default: see "postconf -d" output)</b></DT><DD>
6358
6359<p>
6360Where the Postfix manual pages are installed.
6361</p>
6362
6363
6364</DD>
6365
6366<DT><b><a name="maps_rbl_domains">maps_rbl_domains</a>
6367(default: empty)</b></DT><DD>
6368
6369<p>
6370Obsolete feature: use the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> feature instead.
6371</p>
6372
6373
6374</DD>
6375
6376<DT><b><a name="maps_rbl_reject_code">maps_rbl_reject_code</a>
6377(default: 554)</b></DT><DD>
6378
6379<p>
6380The numerical Postfix SMTP server response code when a remote SMTP
6381client 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>,
6382<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
6383<a href="postconf.5.html#reject_rhsbl_recipient">reject_rhsbl_recipient</a> restriction.
6384</p>
6385
6386<p>
6387Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
6388</p>
6389
6390
6391</DD>
6392
6393<DT><b><a name="masquerade_classes">masquerade_classes</a>
6394(default: envelope_sender, header_sender, header_recipient)</b></DT><DD>
6395
6396<p>
6397What addresses are subject to address masquerading.
6398</p>
6399
6400<p>
6401By default, address masquerading is limited to envelope sender
6402addresses, and to header sender and header recipient addresses.
6403This allows you to use address masquerading on a mail gateway while
6404still being able to forward mail to users on individual machines.
6405</p>
6406
6407<p>
6408Specify zero or more of: envelope_sender, envelope_recipient,
6409header_sender, header_recipient
6410</p>
6411
6412
6413</DD>
6414
6415<DT><b><a name="masquerade_domains">masquerade_domains</a>
6416(default: empty)</b></DT><DD>
6417
6418<p>
6419Optional list of domains whose subdomain structure will be stripped
6420off in email addresses.
6421</p>
6422
6423<p>
6424The list is processed left to right, and processing stops at the
6425first match.  Thus,
6426</p>
6427
6428<blockquote>
6429<pre>
6430<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = foo.example.com example.com
6431</pre>
6432</blockquote>
6433
6434<p>
6435strips "user@any.thing.foo.example.com" to "user@foo.example.com",
6436but strips "user@any.thing.else.example.com" to "user@example.com".
6437</p>
6438
6439<p>
6440A domain name prefixed with ! means do not masquerade this domain
6441or its subdomains. Thus,
6442</p>
6443
6444<blockquote>
6445<pre>
6446<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = !foo.example.com example.com
6447</pre>
6448</blockquote>
6449
6450<p>
6451does not change "user@any.thing.foo.example.com" or "user@foo.example.com",
6452but strips "user@any.thing.else.example.com" to "user@example.com".
6453</p>
6454
6455<p> Note: with Postfix version 2.2, message header address masquerading
6456happens only when message header address rewriting is enabled: </p>
6457
6458<ul>
6459
6460<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
6461
6462<li> The message is received from a network client that matches
6463$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
6464
6465<li> The message is received from the network, and the
6466<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
6467
6468</ul>
6469
6470<p> To get the behavior before Postfix version 2.2, specify
6471"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
6472
6473<p>
6474Example:
6475</p>
6476
6477<pre>
6478<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
6479</pre>
6480
6481
6482</DD>
6483
6484<DT><b><a name="masquerade_exceptions">masquerade_exceptions</a>
6485(default: empty)</b></DT><DD>
6486
6487<p>
6488Optional list of user names that are not subjected to address
6489masquerading, even when their addresses match $<a href="postconf.5.html#masquerade_domains">masquerade_domains</a>.
6490</p>
6491
6492<p>
6493By default, address masquerading makes no exceptions.
6494</p>
6495
6496<p>
6497Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
6498separated by commas and/or whitespace. The list is matched left to
6499right, and the search stops on the first match. A "/file/name"
6500pattern is replaced
6501by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
6502matches a lookup key (the lookup result is ignored).  Continue long
6503lines by starting the next line with whitespace. Specify "!pattern"
6504to exclude a name from the list. The form "!/file/name" is supported
6505only in Postfix version 2.4 and later.  </p>
6506
6507<p>
6508Examples:
6509</p>
6510
6511<pre>
6512<a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root, mailer-daemon
6513<a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root
6514</pre>
6515
6516
6517</DD>
6518
6519<DT><b><a name="master_service_disable">master_service_disable</a>
6520(default: empty)</b></DT><DD>
6521
6522<p> Selectively disable <a href="master.8.html">master(8)</a> listener ports by service type
6523or by service name and type.  Specify a list of service types
6524("inet", "unix", "fifo", or "pass") or "name/type" tuples, where
6525"name" is the first field of a <a href="master.5.html">master.cf</a> entry and "type" is a
6526service type. As with other Postfix matchlists, a search stops at
6527the first match.  Specify "!pattern" to exclude a service from the
6528list. By default, all <a href="master.8.html">master(8)</a> listener ports are enabled.  </p>
6529
6530<p> Note: this feature does not support "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
6531patterns, nor does it support wildcards such as "*" or "all". This
6532is intentional. </p>
6533
6534<p> Examples: </p>
6535
6536<pre>
6537# With Postfix 2.6..2.10 use '.' instead of '/'.
6538# Turn on all <a href="master.8.html">master(8)</a> listener ports (the default).
6539<a href="postconf.5.html#master_service_disable">master_service_disable</a> =
6540# Turn off only the main SMTP listener port.
6541<a href="postconf.5.html#master_service_disable">master_service_disable</a> = smtp/inet
6542# Turn off all TCP/IP listener ports.
6543<a href="postconf.5.html#master_service_disable">master_service_disable</a> = inet
6544# Turn off all TCP/IP listener ports except "foo".
6545<a href="postconf.5.html#master_service_disable">master_service_disable</a> = !foo/inet, inet
6546</pre>
6547
6548<p> This feature is available in Postfix 2.6 and later. </p>
6549
6550
6551</DD>
6552
6553<DT><b><a name="max_idle">max_idle</a>
6554(default: 100s)</b></DT><DD>
6555
6556<p>
6557The maximum amount of time that an idle Postfix daemon process waits
6558for an incoming connection before terminating voluntarily.  This
6559parameter
6560is ignored by the Postfix queue manager and by other long-lived
6561Postfix daemon processes.
6562</p>
6563
6564<p>
6565Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
6566The default time unit is s (seconds).
6567</p>
6568
6569
6570</DD>
6571
6572<DT><b><a name="max_use">max_use</a>
6573(default: 100)</b></DT><DD>
6574
6575<p>
6576The maximal number of incoming connections that a Postfix daemon
6577process will service before terminating voluntarily.  This parameter
6578is ignored by the Postfix queue
6579manager and by other long-lived Postfix daemon processes.
6580</p>
6581
6582
6583</DD>
6584
6585<DT><b><a name="maximal_backoff_time">maximal_backoff_time</a>
6586(default: 4000s)</b></DT><DD>
6587
6588<p>
6589The maximal time between attempts to deliver a deferred message.
6590</p>
6591
6592<p> This parameter should be set to a value greater than or equal
6593to $<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>
6594
6595<p>
6596Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
6597The default time unit is s (seconds).
6598</p>
6599
6600
6601</DD>
6602
6603<DT><b><a name="maximal_queue_lifetime">maximal_queue_lifetime</a>
6604(default: 5d)</b></DT><DD>
6605
6606<p>
6607Consider a message as undeliverable, when delivery fails with a
6608temporary error, and the time in the queue has reached the
6609<a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> limit.
6610</p>
6611
6612<p>
6613Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
6614The default time unit is d (days).
6615</p>
6616
6617<p>
6618Specify 0 when mail delivery should be tried only once.
6619</p>
6620
6621
6622</DD>
6623
6624<DT><b><a name="message_drop_headers">message_drop_headers</a>
6625(default: bcc, content-length, resent-bcc, return-path)</b></DT><DD>
6626
6627<p> Names of message headers that the <a href="cleanup.8.html">cleanup(8)</a> daemon will remove
6628after applying <a href="header_checks.5.html">header_checks(5)</a> and before invoking Milter applications.
6629The default setting is compatible with Postfix &lt; 3.0. </p>
6630
6631<p> Specify a list of header names, separated by comma or space.
6632Names are matched in a case-insensitive manner.  The list of supported
6633header names is limited only by available memory.  </p>
6634
6635<p> This feature is available in Postfix 3.0 and later. </p>
6636
6637
6638</DD>
6639
6640<DT><b><a name="message_reject_characters">message_reject_characters</a>
6641(default: empty)</b></DT><DD>
6642
6643<p> The set of characters that Postfix will reject in message
6644content.  The usual C-like escape sequences are recognized: <tt>\a
6645\b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
6646<tt>\\</tt>. </p>
6647
6648<p> Note 1: this feature does not recognize text that requires MIME
6649decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a>
6650and <a href="postconf.5.html#body_checks">body_checks</a>.  </p>
6651
6652<p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a>
6653= <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>".  </p>
6654
6655<p> Example: </p>
6656
6657<pre>
6658<a href="postconf.5.html#message_reject_characters">message_reject_characters</a> = \0
6659</pre>
6660
6661<p> This feature is available in Postfix 2.3 and later.  </p>
6662
6663
6664</DD>
6665
6666<DT><b><a name="message_size_limit">message_size_limit</a>
6667(default: 10240000)</b></DT><DD>
6668
6669<p>
6670The maximal size in bytes of a message, including envelope information.
6671</p>
6672
6673<p> Note: be careful when making changes.  Excessively small values
6674will result in the loss of non-delivery notifications, when a bounce
6675message size exceeds the local or remote MTA's message size limit.
6676</p>
6677
6678
6679</DD>
6680
6681<DT><b><a name="message_strip_characters">message_strip_characters</a>
6682(default: empty)</b></DT><DD>
6683
6684<p> The set of characters that Postfix will remove from message
6685content.  The usual C-like escape sequences are recognized: <tt>\a
6686\b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
6687<tt>\\</tt>. </p>
6688
6689<p> Note 1: this feature does not recognize text that requires MIME
6690decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a>
6691and <a href="postconf.5.html#body_checks">body_checks</a>.  </p>
6692
6693<p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a>
6694= <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>".  </p>
6695
6696<p> Example: </p>
6697
6698<pre>
6699<a href="postconf.5.html#message_strip_characters">message_strip_characters</a> = \0
6700</pre>
6701
6702<p> This feature is available in Postfix 2.3 and later.  </p>
6703
6704
6705</DD>
6706
6707<DT><b><a name="meta_directory">meta_directory</a>
6708(default: see 'postconf -d' output)</b></DT><DD>
6709
6710<p> The location of non-executable files that are shared among
6711multiple Postfix instances, such as postfix-files, dynamicmaps.cf,
6712and the multi-instance template files <a href="postconf.5.html">main.cf</a>.proto and <a href="master.5.html">master.cf</a>.proto.
6713This directory should contain only Postfix-related files.  Typically,
6714the <a href="postconf.5.html#meta_directory">meta_directory</a> parameter has the same default as the <a href="postconf.5.html#config_directory">config_directory</a>
6715parameter (/etc/postfix or /usr/local/etc/postfix).  </p>
6716
6717<p> For backwards compatibility with Postfix versions 2.6..2.11,
6718specify "<a href="postconf.5.html#meta_directory">meta_directory</a> = $<a href="postconf.5.html#daemon_directory">daemon_directory</a>" in <a href="postconf.5.html">main.cf</a> before
6719installing or upgrading Postfix, or specify "<a href="postconf.5.html#meta_directory">meta_directory</a> =
6720/path/name" on the "make makefiles", "make install" or "make upgrade"
6721command line.  </p>
6722
6723<p> This feature is available in Postfix 3.0 and later. </p>
6724
6725
6726</DD>
6727
6728<DT><b><a name="milter_command_timeout">milter_command_timeout</a>
6729(default: 30s)</b></DT><DD>
6730
6731<p> The time limit for sending an SMTP command to a Milter (mail
6732filter) application, and for receiving the response.  </p>
6733
6734<p> Specify a non-zero time value (an integral value plus an optional
6735one-letter suffix that specifies the time unit). </p>
6736
6737<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
6738(weeks). The default time unit is s (seconds). </p>
6739
6740<p> This feature is available in Postfix 2.3 and later. </p>
6741
6742
6743</DD>
6744
6745<DT><b><a name="milter_connect_macros">milter_connect_macros</a>
6746(default: see "postconf -d" output)</b></DT><DD>
6747
6748<p> The macros that are sent to Milter (mail filter) applications
6749after completion of an SMTP connection. See <a href="MILTER_README.html">MILTER_README</a>
6750for a list of available macro names and their meanings. </p>
6751
6752<p> This feature is available in Postfix 2.3 and later. </p>
6753
6754
6755</DD>
6756
6757<DT><b><a name="milter_connect_timeout">milter_connect_timeout</a>
6758(default: 30s)</b></DT><DD>
6759
6760<p> The time limit for connecting to a Milter (mail filter)
6761application, and for negotiating protocol options. </p>
6762
6763<p> Specify a non-zero time value (an integral value plus an optional
6764one-letter suffix that specifies the time unit). </p>
6765
6766<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
6767(weeks). The default time unit is s (seconds). </p>
6768
6769<p> This feature is available in Postfix 2.3 and later. </p>
6770
6771
6772</DD>
6773
6774<DT><b><a name="milter_content_timeout">milter_content_timeout</a>
6775(default: 300s)</b></DT><DD>
6776
6777<p> The time limit for sending message content to a Milter (mail
6778filter) application, and for receiving the response.  </p>
6779
6780<p> Specify a non-zero time value (an integral value plus an optional
6781one-letter suffix that specifies the time unit). </p>
6782
6783<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
6784(weeks). The default time unit is s (seconds). </p>
6785
6786<p> This feature is available in Postfix 2.3 and later. </p>
6787
6788
6789</DD>
6790
6791<DT><b><a name="milter_data_macros">milter_data_macros</a>
6792(default: see "postconf -d" output)</b></DT><DD>
6793
6794<p> The macros that are sent to version 4 or higher Milter (mail
6795filter) applications after the SMTP DATA command. See <a href="MILTER_README.html">MILTER_README</a>
6796for a list of available macro names and their meanings.  </p>
6797
6798<p> This feature is available in Postfix 2.3 and later. </p>
6799
6800
6801</DD>
6802
6803<DT><b><a name="milter_default_action">milter_default_action</a>
6804(default: tempfail)</b></DT><DD>
6805
6806<p> The default action when a Milter (mail filter) response is
6807unavailable (for example, bad Postfix configuration or Milter
6808failure). Specify one of the following: </p>
6809
6810<dl compact>
6811
6812<dt>accept</dt> <dd>Proceed as if the mail filter was not present.
6813</dd>
6814
6815<dt>reject</dt> <dd>Reject all further commands in this session
6816with a permanent status code.</dd>
6817
6818<dt>tempfail</dt> <dd>Reject all further commands in this session
6819with a temporary status code. </dd>
6820
6821<dt>quarantine</dt> <dd>Like "accept", but freeze the message in
6822the "<a href="QSHAPE_README.html#hold_queue">hold" queue</a>. Available with Postfix 2.6 and later. </dd>
6823
6824</dl>
6825
6826<p> This feature is available in Postfix 2.3 and later. </p>
6827
6828
6829</DD>
6830
6831<DT><b><a name="milter_end_of_data_macros">milter_end_of_data_macros</a>
6832(default: see "postconf -d" output)</b></DT><DD>
6833
6834<p> The macros that are sent to Milter (mail filter) applications
6835after the message end-of-data. See <a href="MILTER_README.html">MILTER_README</a> for a list of
6836available macro names and their meanings.  </p>
6837
6838<p> This feature is available in Postfix 2.3 and later. </p>
6839
6840
6841</DD>
6842
6843<DT><b><a name="milter_end_of_header_macros">milter_end_of_header_macros</a>
6844(default: see "postconf -d" output)</b></DT><DD>
6845
6846<p> The macros that are sent to Milter (mail filter) applications
6847after the end of the message header. See <a href="MILTER_README.html">MILTER_README</a> for a list
6848of available macro names and their meanings.  </p>
6849
6850<p> This feature is available in Postfix 2.5 and later. </p>
6851
6852
6853</DD>
6854
6855<DT><b><a name="milter_header_checks">milter_header_checks</a>
6856(default: empty)</b></DT><DD>
6857
6858<p> Optional lookup tables for content inspection of message headers
6859that are produced by Milter applications.  See the <a href="header_checks.5.html">header_checks(5)</a>
6860manual page available actions. Currently, PREPEND is not implemented.
6861</p>
6862
6863<p> The following example sends all mail that is marked as SPAM to
6864a spam handling machine. Note that matches are case-insensitive
6865by default. </p>
6866
6867<pre>
6868/etc/postfix/<a href="postconf.5.html">main.cf</a>:
6869    <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>
6870</pre>
6871
6872<pre>
6873/etc/postfix/<a href="postconf.5.html#milter_header_checks">milter_header_checks</a>:
6874    /^X-SPAM-FLAG:\s+YES/ FILTER mysmtp:sanitizer.example.com:25
6875</pre>
6876
6877<p> The <a href="postconf.5.html#milter_header_checks">milter_header_checks</a> mechanism could also be used for
6878whitelisting. For example it could be used to skip heavy content
6879inspection for DKIM-signed mail from known friendly domains. </p>
6880
6881<p> This feature is available in Postfix 2.7, and as an optional
6882patch for Postfix 2.6. </p>
6883
6884
6885</DD>
6886
6887<DT><b><a name="milter_helo_macros">milter_helo_macros</a>
6888(default: see "postconf -d" output)</b></DT><DD>
6889
6890<p> The macros that are sent to Milter (mail filter) applications
6891after the SMTP HELO or EHLO command. See
6892<a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their meanings.
6893</p>
6894
6895<p> This feature is available in Postfix 2.3 and later. </p>
6896
6897
6898</DD>
6899
6900<DT><b><a name="milter_macro_daemon_name">milter_macro_daemon_name</a>
6901(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
6902
6903<p> The {daemon_name} macro value for Milter (mail filter) applications.
6904See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
6905meanings.  </p>
6906
6907<p> This feature is available in Postfix 2.3 and later. </p>
6908
6909
6910</DD>
6911
6912<DT><b><a name="milter_macro_defaults">milter_macro_defaults</a>
6913(default: empty)</b></DT><DD>
6914
6915<p> Optional list of <i>name=value</i> pairs that specify default
6916values for arbitrary macros that Postfix may send to Milter
6917applications.  These defaults are used when there is no corresponding
6918information from the message delivery context. </p>
6919
6920<p> Specify <i>name=value</i> or <i>{name}=value</i> pairs separated
6921by comma or whitespace.  Enclose a pair in "{}" when a value contains
6922comma or whitespace (this form ignores whitespace after the enclosing
6923"{", around the "=", and before the enclosing "}"). </p>
6924
6925<p> This feature is available in Postfix 3.1 and later.  </p>
6926
6927
6928</DD>
6929
6930<DT><b><a name="milter_macro_v">milter_macro_v</a>
6931(default: $<a href="postconf.5.html#mail_name">mail_name</a> $<a href="postconf.5.html#mail_version">mail_version</a>)</b></DT><DD>
6932
6933<p> The {v} macro value for Milter (mail filter) applications.
6934See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
6935meanings.  </p>
6936
6937<p> This feature is available in Postfix 2.3 and later. </p>
6938
6939
6940</DD>
6941
6942<DT><b><a name="milter_mail_macros">milter_mail_macros</a>
6943(default: see "postconf -d" output)</b></DT><DD>
6944
6945<p> The macros that are sent to Milter (mail filter) applications
6946after the SMTP MAIL FROM command. See <a href="MILTER_README.html">MILTER_README</a>
6947for a list of available macro names and their meanings. </p>
6948
6949<p> This feature is available in Postfix 2.3 and later. </p>
6950
6951
6952</DD>
6953
6954<DT><b><a name="milter_protocol">milter_protocol</a>
6955(default: 6)</b></DT><DD>
6956
6957<p> The mail filter protocol version and optional protocol extensions
6958for communication with a Milter application; prior to Postfix 2.6
6959the default protocol is 2. Postfix
6960sends this version number during the initial protocol handshake.
6961It should match the version number that is expected by the mail
6962filter application (or by its Milter library).  </p>
6963
6964<p>Protocol versions: </p>
6965
6966<dl compact>
6967
6968<dt>2</dt> <dd>Use Sendmail 8 mail filter protocol version 2 (default
6969with Sendmail version 8.11 .. 8.13 and Postfix version 2.3 ..
69702.5).</dd>
6971
6972<dt>3</dt> <dd>Use Sendmail 8 mail filter protocol version 3.</dd>
6973
6974<dt>4</dt> <dd>Use Sendmail 8 mail filter protocol version 4.</dd>
6975
6976<dt>6</dt> <dd>Use Sendmail 8 mail filter protocol version 6 (default
6977with Sendmail version 8.14 and Postfix version 2.6).</dd>
6978
6979</dl>
6980
6981<p>Protocol extensions: </p>
6982
6983<dl compact>
6984
6985<dt>no_header_reply</dt> <dd> Specify this when the Milter application
6986will not reply for each individual message header.</dd>
6987
6988</dl>
6989
6990<p> This feature is available in Postfix 2.3 and later. </p>
6991
6992
6993</DD>
6994
6995<DT><b><a name="milter_rcpt_macros">milter_rcpt_macros</a>
6996(default: see "postconf -d" output)</b></DT><DD>
6997
6998<p> The macros that are sent to Milter (mail filter) applications
6999after the SMTP RCPT TO command. See <a href="MILTER_README.html">MILTER_README</a>
7000for a list of available macro names and their meanings. </p>
7001
7002<p> This feature is available in Postfix 2.3 and later. </p>
7003
7004
7005</DD>
7006
7007<DT><b><a name="milter_unknown_command_macros">milter_unknown_command_macros</a>
7008(default: see "postconf -d" output)</b></DT><DD>
7009
7010<p> The macros that are sent to version 3 or higher Milter (mail
7011filter) applications after an unknown SMTP command.  See <a href="MILTER_README.html">MILTER_README</a>
7012for a list of available macro names and their meanings.  </p>
7013
7014<p> This feature is available in Postfix 2.3 and later. </p>
7015
7016
7017</DD>
7018
7019<DT><b><a name="mime_boundary_length_limit">mime_boundary_length_limit</a>
7020(default: 2048)</b></DT><DD>
7021
7022<p>
7023The maximal length of MIME multipart boundary strings. The MIME
7024processor is unable to distinguish between boundary strings that
7025do not differ in the first $<a href="postconf.5.html#mime_boundary_length_limit">mime_boundary_length_limit</a> characters.
7026</p>
7027
7028<p>
7029This feature is available in Postfix 2.0 and later.
7030</p>
7031
7032
7033</DD>
7034
7035<DT><b><a name="mime_header_checks">mime_header_checks</a>
7036(default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
7037
7038<p>
7039Optional lookup tables for content inspection of MIME related
7040message headers, as described in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
7041</p>
7042
7043<p>
7044This feature is available in Postfix 2.0 and later.
7045</p>
7046
7047
7048</DD>
7049
7050<DT><b><a name="mime_nesting_limit">mime_nesting_limit</a>
7051(default: 100)</b></DT><DD>
7052
7053<p>
7054The maximal recursion level that the MIME processor will handle.
7055Postfix refuses mail that is nested deeper than the specified limit.
7056</p>
7057
7058<p>
7059This feature is available in Postfix 2.0 and later.
7060</p>
7061
7062
7063</DD>
7064
7065<DT><b><a name="minimal_backoff_time">minimal_backoff_time</a>
7066(default: 300s)</b></DT><DD>
7067
7068<p>
7069The minimal time between attempts to deliver a deferred message;
7070prior to Postfix 2.4 the default value was 1000s.
7071</p>
7072
7073<p>
7074This parameter also limits the time an unreachable destination is
7075kept in the short-term, in-memory, destination status cache.
7076</p>
7077
7078<p> This parameter should be set greater than or equal to
7079$<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>
7080
7081<p>
7082Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
7083The default time unit is s (seconds).
7084</p>
7085
7086
7087</DD>
7088
7089<DT><b><a name="multi_instance_directories">multi_instance_directories</a>
7090(default: empty)</b></DT><DD>
7091
7092<p> An optional list of non-default Postfix configuration directories;
7093these directories belong to additional Postfix instances that share
7094the Postfix executable files and documentation with the default
7095Postfix instance, and that are started, stopped, etc., together
7096with the default Postfix instance.  Specify a list of pathnames
7097separated by comma or whitespace.  </p>
7098
7099<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
7100runs in single-instance mode and operates on a single Postfix
7101instance only. Otherwise, the <a href="postfix.1.html">postfix(1)</a> command runs in multi-instance
7102mode and invokes the multi-instance manager specified with the
7103<a href="postconf.5.html#multi_instance_wrapper">multi_instance_wrapper</a> parameter. The multi-instance manager in
7104turn executes <a href="postfix.1.html">postfix(1)</a> commands for the default instance and for
7105all Postfix instances in $<a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>.  </p>
7106
7107<p> Currently, this parameter setting is ignored except for the
7108default <a href="postconf.5.html">main.cf</a> file. </p>
7109
7110<p> This feature is available in Postfix 2.6 and later. </p>
7111
7112
7113</DD>
7114
7115<DT><b><a name="multi_instance_enable">multi_instance_enable</a>
7116(default: no)</b></DT><DD>
7117
7118<p> Allow this Postfix instance to be started, stopped, etc., by a
7119multi-instance manager.  By default, new instances are created in
7120a safe state that prevents them from being started inadvertently.
7121This parameter is reserved for the multi-instance manager.  </p>
7122
7123<p> This feature is available in Postfix 2.6 and later. </p>
7124
7125
7126</DD>
7127
7128<DT><b><a name="multi_instance_group">multi_instance_group</a>
7129(default: empty)</b></DT><DD>
7130
7131<p> The optional instance group name of this Postfix instance. A
7132group identifies closely-related Postfix instances that the
7133multi-instance manager can start, stop, etc., as a unit.  This
7134parameter is reserved for the multi-instance manager. </p>
7135
7136<p> This feature is available in Postfix 2.6 and later. </p>
7137
7138
7139</DD>
7140
7141<DT><b><a name="multi_instance_name">multi_instance_name</a>
7142(default: empty)</b></DT><DD>
7143
7144<p> The optional instance name of this Postfix instance. This name
7145becomes also the default value for the <a href="postconf.5.html#syslog_name">syslog_name</a> parameter. </p>
7146
7147<p> This feature is available in Postfix 2.6 and later. </p>
7148
7149
7150</DD>
7151
7152<DT><b><a name="multi_instance_wrapper">multi_instance_wrapper</a>
7153(default: empty)</b></DT><DD>
7154
7155<p> The pathname of a multi-instance manager command that the
7156<a href="postfix.1.html">postfix(1)</a> command invokes when the <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>
7157parameter value is non-empty. The pathname may be followed by
7158initial command arguments separated by whitespace; shell
7159metacharacters such as quotes are not supported in this context.
7160</p>
7161
7162<p> The <a href="postfix.1.html">postfix(1)</a> command invokes the manager command with the
7163<a href="postfix.1.html">postfix(1)</a> non-option command arguments on the manager command line,
7164and with all installation configuration parameters exported into
7165the manager command process environment. The manager command in
7166turn invokes the <a href="postfix.1.html">postfix(1)</a> command for individual Postfix instances
7167as "postfix -c <i><a href="postconf.5.html#config_directory">config_directory</a></i> <i>command</i>".  </p>
7168
7169<p> This feature is available in Postfix 2.6 and later. </p>
7170
7171
7172</DD>
7173
7174<DT><b><a name="multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a>
7175(default: 550)</b></DT><DD>
7176
7177<p>
7178The numerical Postfix SMTP server response code when a remote SMTP
7179client request is blocked by the <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a>
7180restriction.
7181</p>
7182
7183<p>
7184Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
7185</p>
7186
7187<p>
7188This feature is available in Postfix 2.1 and later.
7189</p>
7190
7191
7192</DD>
7193
7194<DT><b><a name="mydestination">mydestination</a>
7195(default: $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a>, localhost)</b></DT><DD>
7196
7197<p> The list of domains that are delivered via the $<a href="postconf.5.html#local_transport">local_transport</a>
7198mail delivery transport. By default this is the Postfix <a href="local.8.html">local(8)</a>
7199delivery agent which looks up all recipients in /etc/passwd and
7200/etc/aliases. The SMTP server validates recipient addresses with
7201$<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> and rejects non-existent recipients. See also
7202the <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.
7203</p>
7204
7205<p>
7206The default <a href="postconf.5.html#mydestination">mydestination</a> value specifies names for the local
7207machine only.  On a mail domain gateway, you should also include
7208$<a href="postconf.5.html#mydomain">mydomain</a>.
7209</p>
7210
7211<p>
7212The $<a href="postconf.5.html#local_transport">local_transport</a> delivery method is also selected for mail
7213addressed to user@[the.net.work.address] of the mail system (the
7214IP 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>
7215parameters).
7216</p>
7217
7218<p>
7219Warnings:
7220</p>
7221
7222<ul>
7223
7224<li><p>Do not specify the names of virtual domains - those domains
7225are specified elsewhere. See <a href="VIRTUAL_README.html">VIRTUAL_README</a> for more information. </p>
7226
7227<li><p>Do not specify the names of domains that this machine is
7228backup MX host for. See <a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> for how to
7229set up backup MX hosts. </p>
7230
7231<li><p>By default, the Postfix SMTP server rejects mail for recipients
7232not listed with the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> parameter.  See the
7233<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>
7234and <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> parameters. </p>
7235
7236</ul>
7237
7238<p>
7239Specify a list of host or domain names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
7240patterns, separated by commas and/or whitespace. A "/file/name"
7241pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
7242is matched when a name matches a lookup key (the lookup result is
7243ignored).  Continue long lines by starting the next line with
7244whitespace.  </p>
7245
7246<p>
7247Examples:
7248</p>
7249
7250<pre>
7251<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>
7252<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>
7253</pre>
7254
7255
7256</DD>
7257
7258<DT><b><a name="mydomain">mydomain</a>
7259(default: see "postconf -d" output)</b></DT><DD>
7260
7261<p>
7262The internet domain name of this mail system.  The default is to
7263use $<a href="postconf.5.html#myhostname">myhostname</a> minus the first component, or "localdomain" (Postfix
72642.3 and later).  $<a href="postconf.5.html#mydomain">mydomain</a> is used as
7265a default value for many other configuration parameters.
7266</p>
7267
7268<p>
7269Example:
7270</p>
7271
7272<pre>
7273<a href="postconf.5.html#mydomain">mydomain</a> = domain.tld
7274</pre>
7275
7276
7277</DD>
7278
7279<DT><b><a name="myhostname">myhostname</a>
7280(default: see "postconf -d" output)</b></DT><DD>
7281
7282<p>
7283The internet hostname of this mail system. The default is to use
7284the fully-qualified domain name (FQDN) from gethostname(), or to
7285use the non-FQDN result from gethostname() and append ".$<a href="postconf.5.html#mydomain">mydomain</a>".
7286$<a href="postconf.5.html#myhostname">myhostname</a> is used as a default value for many other configuration
7287parameters.  </p>
7288
7289<p>
7290Example:
7291</p>
7292
7293<pre>
7294<a href="postconf.5.html#myhostname">myhostname</a> = host.example.com
7295</pre>
7296
7297
7298</DD>
7299
7300<DT><b><a name="mynetworks">mynetworks</a>
7301(default: see "postconf -d" output)</b></DT><DD>
7302
7303<p>
7304The list of "trusted" remote SMTP clients that have more privileges than
7305"strangers".
7306</p>
7307
7308<p>
7309In particular, "trusted" SMTP clients are allowed to relay mail
7310through Postfix.  See the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> parameter
7311description in the <a href="postconf.5.html">postconf(5)</a> manual.
7312</p>
7313
7314<p>
7315You can specify the list of "trusted" network addresses by hand
7316or you can let Postfix do it for you (which is the default).
7317See the description of the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> parameter for more
7318information.
7319</p>
7320
7321<p>
7322If you specify the <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand,
7323Postfix ignores the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> setting.
7324</p>
7325
7326<p> Specify a list of network addresses or network/netmask patterns,
7327separated by commas and/or whitespace. Continue long lines by
7328starting the next line with whitespace. </p>
7329
7330<p> The netmask specifies the number of bits in the network part
7331of a host address.  You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
7332patterns.  A "/file/name" pattern is replaced by its contents; a
7333"<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry matches a
7334lookup string (the lookup result is ignored). </p>
7335
7336<p> The list is matched left to right, and the search stops on the
7337first match.  Specify "!pattern" to exclude an address or network
7338block from the list. The form "!/file/name" is supported only
7339in Postfix version 2.4 and later. </p>
7340
7341<p> Note 1: Pattern matching of domain names is controlled by the
7342or absence of "<a href="postconf.5.html#mynetworks">mynetworks</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
7343parameter value.  </p>
7344
7345<p> Note 2: IP version 6 address information must be specified inside
7346<tt>[]</tt> in the <a href="postconf.5.html#mynetworks">mynetworks</a> value, and in files specified with
7347"/file/name".  IP version 6 addresses contain the ":" character,
7348and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" pattern.  </p>
7349
7350<p> Examples:  </p>
7351
7352<pre>
7353<a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28
7354<a href="postconf.5.html#mynetworks">mynetworks</a> = !192.168.0.1, 192.168.0.0/28
7355<a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64
7356<a href="postconf.5.html#mynetworks">mynetworks</a> = $<a href="postconf.5.html#config_directory">config_directory</a>/mynetworks
7357<a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/network_table
7358</pre>
7359
7360
7361</DD>
7362
7363<DT><b><a name="mynetworks_style">mynetworks_style</a>
7364(default: Postfix &ge; 3.0: host, Postfix &lt; 3.0: subnet)</b></DT><DD>
7365
7366<p>
7367The method to generate the default value for the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter.
7368This is the list of trusted networks for relay access control etc.
7369</p>
7370
7371<ul>
7372
7373<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = host" when Postfix should
7374"trust" only the local machine. </p>
7375
7376<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = subnet" when Postfix
7377should "trust" remote SMTP clients in the same IP subnetworks as the local
7378machine.  On Linux, this works correctly only with interfaces
7379specified with the "ifconfig" command. </p>
7380
7381<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = class" when Postfix should
7382"trust" remote SMTP clients in the same IP class A/B/C networks as the
7383local machine.  Caution: this may cause
7384Postfix to "trust" your entire provider's network.  Instead, specify
7385an explicit <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand, as described with the <a href="postconf.5.html#mynetworks">mynetworks</a>
7386configuration parameter. </p>
7387
7388</ul>
7389
7390
7391</DD>
7392
7393<DT><b><a name="myorigin">myorigin</a>
7394(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
7395
7396<p>
7397The domain name that locally-posted mail appears to come
7398from, and that locally posted mail is delivered to. The default,
7399$<a href="postconf.5.html#myhostname">myhostname</a>, is adequate for small sites.  If you run a domain with
7400multiple machines, you should (1) change this to $<a href="postconf.5.html#mydomain">mydomain</a> and (2)
7401set up a domain-wide alias database that aliases each user to
7402user@that.users.mailhost.
7403</p>
7404
7405<p>
7406Example:
7407</p>
7408
7409<pre>
7410<a href="postconf.5.html#myorigin">myorigin</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
7411</pre>
7412
7413
7414</DD>
7415
7416<DT><b><a name="nested_header_checks">nested_header_checks</a>
7417(default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
7418
7419<p>
7420Optional lookup tables for content inspection of non-MIME message
7421headers in attached messages, as described in the <a href="header_checks.5.html">header_checks(5)</a>
7422manual page.
7423</p>
7424
7425<p>
7426This feature is available in Postfix 2.0 and later.
7427</p>
7428
7429
7430</DD>
7431
7432<DT><b><a name="newaliases_path">newaliases_path</a>
7433(default: see "postconf -d" output)</b></DT><DD>
7434
7435<p>
7436Sendmail compatibility feature that specifies the location of the
7437<a href="newaliases.1.html">newaliases(1)</a> command. This command can be used to rebuild the
7438<a href="local.8.html">local(8)</a> <a href="aliases.5.html">aliases(5)</a> database.
7439</p>
7440
7441
7442</DD>
7443
7444<DT><b><a name="non_fqdn_reject_code">non_fqdn_reject_code</a>
7445(default: 504)</b></DT><DD>
7446
7447<p>
7448The numerical Postfix SMTP server reply code when a client request
7449is 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>
7450or <a href="postconf.5.html#reject_non_fqdn_recipient">reject_non_fqdn_recipient</a> restriction.
7451</p>
7452
7453
7454</DD>
7455
7456<DT><b><a name="non_smtpd_milters">non_smtpd_milters</a>
7457(default: empty)</b></DT><DD>
7458
7459<p> A list of Milter (mail filter) applications for new mail that
7460does not arrive via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. This includes local
7461submission via the <a href="sendmail.1.html">sendmail(1)</a> command line, new mail that arrives
7462via the Postfix <a href="qmqpd.8.html">qmqpd(8)</a> server, and old mail that is re-injected
7463into the queue with "postsuper -r".  Specify space or comma as
7464separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details.  </p>
7465
7466<p> This feature is available in Postfix 2.3 and later. </p>
7467
7468
7469</DD>
7470
7471<DT><b><a name="notify_classes">notify_classes</a>
7472(default: resource, software)</b></DT><DD>
7473
7474<p>
7475The list of error classes that are reported to the postmaster. The
7476default is to report only the most serious problems. The paranoid
7477may wish to turn on the policy (UCE and mail relaying) and protocol
7478error (broken mail software) reports.
7479</p>
7480
7481<p> NOTE: postmaster notifications may contain confidential information
7482such as SASL passwords or message content.  It is the system
7483administrator's responsibility to treat such information with care.
7484</p>
7485
7486<p>
7487The error classes are:
7488</p>
7489
7490<dl>
7491
7492<dt><b>bounce</b> (also implies <b>2bounce</b>)</dt>
7493
7494<dd>Send the postmaster copies of the headers of bounced mail, and
7495send transcripts of SMTP sessions when Postfix rejects mail. The
7496notification is sent to the address specified with the
7497<a href="postconf.5.html#bounce_notice_recipient">bounce_notice_recipient</a> configuration parameter (default: postmaster).
7498</dd>
7499
7500<dt><b>2bounce</b></dt>
7501
7502<dd>Send undeliverable bounced mail to the postmaster. The notification
7503is sent to the address specified with the <a href="postconf.5.html#2bounce_notice_recipient">2bounce_notice_recipient</a>
7504configuration parameter (default: postmaster). </dd>
7505
7506<dt><b>data</b></dt>
7507
7508<dd>Send the postmaster a transcript of the SMTP session with an
7509error because a critical data file was unavailable. The notification
7510is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
7511configuration parameter (default: postmaster). <br> This feature
7512is available in Postfix 2.9 and later.  </dd>
7513
7514<dt><b>delay</b></dt>
7515
7516<dd>Send the postmaster copies of the headers of delayed mail (see
7517<a href="postconf.5.html#delay_warning_time">delay_warning_time</a>). The
7518notification is sent to the address specified with the
7519<a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a> configuration parameter (default: postmaster).
7520</dd>
7521
7522<dt><b>policy</b></dt>
7523
7524<dd>Send the postmaster a transcript of the SMTP session when a
7525client request was rejected because of (UCE) policy. The notification
7526is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
7527configuration parameter (default: postmaster).  </dd>
7528
7529<dt><b>protocol</b></dt>
7530
7531<dd>Send the postmaster a transcript of the SMTP session in case
7532of client or server protocol errors. The notification is sent to
7533the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration
7534parameter (default: postmaster). </dd>
7535
7536<dt><b>resource</b></dt>
7537
7538<dd>Inform the postmaster of mail not delivered due to resource
7539problems.  The notification is sent to the address specified with
7540the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
7541postmaster). </dd>
7542
7543<dt><b>software</b></dt>
7544
7545<dd>Inform the postmaster of mail not delivered due to software
7546problems.  The notification is sent to the address specified with
7547the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
7548postmaster). </dd>
7549
7550</dl>
7551
7552<p>
7553Examples:
7554</p>
7555
7556<pre>
7557<a href="postconf.5.html#notify_classes">notify_classes</a> = bounce, delay, policy, protocol, resource, software
7558<a href="postconf.5.html#notify_classes">notify_classes</a> = 2bounce, resource, software
7559</pre>
7560
7561
7562</DD>
7563
7564<DT><b><a name="nullmx_reject_code">nullmx_reject_code</a>
7565(default: 556)</b></DT><DD>
7566
7567<p> The numerical reply code when the Postfix SMTP server rejects
7568a sender or recipient address because its domain has a nullmx DNS
7569record (an MX record with an empty hostname). This is one of the
7570possible replies from the restrictions <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
7571and <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>. </p>
7572
7573<p> This feature is available in Postfix 3.0 and later. </p>
7574
7575
7576</DD>
7577
7578<DT><b><a name="openssl_path">openssl_path</a>
7579(default: openssl)</b></DT><DD>
7580
7581<p>
7582The location of the OpenSSL command line program openssl(1).  This
7583is used by the "<b><a href="postfix-tls.1.html">postfix tls</a></b>" command to create private keys,
7584certificate signing requests, self-signed certificates, and to
7585compute public key digests for DANE TLSA records.  In multi-instance
7586environments, this parameter is always determined from the configuration
7587of the default Postfix instance.
7588</p>
7589
7590<p> Example: </p>
7591
7592<blockquote>
7593<pre>
7594/etc/postfix/<a href="postconf.5.html">main.cf</a>:
7595    # NetBSD pkgsrc:
7596    <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/pkg/bin/openssl
7597    # Local build:
7598    <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/local/bin/openssl
7599</pre>
7600</blockquote>
7601
7602<p>
7603This feature is available in Postfix 3.1 and later.
7604</p>
7605
7606
7607</DD>
7608
7609<DT><b><a name="owner_request_special">owner_request_special</a>
7610(default: yes)</b></DT><DD>
7611
7612<p>
7613Enable special treatment for owner-<i>listname</i> entries in the
7614<a href="aliases.5.html">aliases(5)</a> file, and don't split owner-<i>listname</i> and
7615<i>listname</i>-request address localparts when the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>
7616is set to "-".  This feature is useful for mailing lists.
7617</p>
7618
7619
7620</DD>
7621
7622<DT><b><a name="parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
7623(default: see "postconf -d" output)</b></DT><DD>
7624
7625<p>
7626A list of Postfix features where the pattern "example.com" also
7627matches subdomains of example.com,
7628instead of requiring an explicit ".example.com" pattern.  This is
7629planned backwards compatibility:  eventually, all Postfix features
7630are expected to require explicit ".example.com" style patterns when
7631you really want to match subdomains.
7632</p>
7633
7634<p> The following Postfix feature names are supported. </p>
7635
7636<dl>
7637
7638<dt> Postfix version 1.0 and later</dt>
7639
7640<dd>
7641<a href="postconf.5.html#debug_peer_list">debug_peer_list</a>,
7642<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a>,
7643<a href="postconf.5.html#mynetworks">mynetworks</a>,
7644<a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>,
7645<a href="postconf.5.html#relay_domains">relay_domains</a>,
7646<a href="postconf.5.html#transport_maps">transport_maps</a>
7647</dd>
7648
7649<dt> Postfix version 1.1 and later</dt>
7650
7651<dd>
7652<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>,
7653smtpd_access_maps,
7654</dd>
7655
7656<dt> Postfix version 2.8 and later </dt>
7657
7658<dd>
7659<a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a>
7660</dd>
7661
7662<dt> Postfix version 3.0 and later </dt>
7663
7664<dd>
7665<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
7666</dd>
7667
7668</dl>
7669
7670
7671</DD>
7672
7673<DT><b><a name="permit_mx_backup_networks">permit_mx_backup_networks</a>
7674(default: empty)</b></DT><DD>
7675
7676<p>
7677Restrict the use of the <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> SMTP access feature to
7678only domains whose primary MX hosts match the listed networks.
7679The parameter value syntax is the same as with the <a href="postconf.5.html#mynetworks">mynetworks</a>
7680parameter; note, however, that the default value is empty.  </p>
7681
7682<p> Pattern matching of domain names is controlled by the presence
7683or absence of "<a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>" in the
7684<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value.  </p>
7685
7686
7687</DD>
7688
7689<DT><b><a name="pickup_service_name">pickup_service_name</a>
7690(default: pickup)</b></DT><DD>
7691
7692<p>
7693The name of the <a href="pickup.8.html">pickup(8)</a> service. This service picks up local mail
7694submissions from the Postfix <a href="QSHAPE_README.html#maildrop_queue">maildrop queue</a>.
7695</p>
7696
7697<p>
7698This feature is available in Postfix 2.0 and later.
7699</p>
7700
7701
7702</DD>
7703
7704<DT><b><a name="pipe_delivery_status_filter">pipe_delivery_status_filter</a>
7705(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
7706
7707<p> Optional filter for the <a href="pipe.8.html">pipe(8)</a> delivery agent to change the
7708delivery status code or explanatory text of successful or unsuccessful
7709deliveries.  See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details.  </p>
7710
7711<p> This feature is available in Postfix 3.0 and later. </p>
7712
7713
7714</DD>
7715
7716<DT><b><a name="plaintext_reject_code">plaintext_reject_code</a>
7717(default: 450)</b></DT><DD>
7718
7719<p>
7720The numerical Postfix SMTP server response code when a request
7721is rejected by the <b><a href="postconf.5.html#reject_plaintext_session">reject_plaintext_session</a></b> restriction.
7722</p>
7723
7724<p> This feature is available in Postfix 2.3 and later. </p>
7725
7726
7727</DD>
7728
7729<DT><b><a name="postlog_service_name">postlog_service_name</a>
7730(default: postlog)</b></DT><DD>
7731
7732<p> The name of the <a href="postlogd.8.html">postlogd(8)</a> service entry in <a href="master.5.html">master.cf</a>.
7733This service appends logfile records to the file specified
7734with the <a href="postconf.5.html#maillog_file">maillog_file</a> parameter. </p>
7735
7736<p> This feature is available in Postfix 3.4 and later. </p>
7737
7738
7739</DD>
7740
7741<DT><b><a name="postlogd_watchdog_timeout">postlogd_watchdog_timeout</a>
7742(default: 10s)</b></DT><DD>
7743
7744<p> How much time a <a href="postlogd.8.html">postlogd(8)</a> process may take to process a request
7745before it is terminated by a built-in watchdog timer. This is a
7746safety mechanism that prevents <a href="postlogd.8.html">postlogd(8)</a> from becoming non-responsive
7747due to a bug in Postfix itself or in system software. This limit
7748cannot be set under 10s. </p>
7749
7750<p> Specify a non-zero time value (an integral value plus an optional
7751one-letter suffix that specifies the time unit).  Time units: s
7752(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7753
7754<p> This feature is available in Postfix 3.4 and later.  </p>
7755
7756
7757</DD>
7758
7759<DT><b><a name="postmulti_control_commands">postmulti_control_commands</a>
7760(default: reload flush)</b></DT><DD>
7761
7762<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager
7763treats as "control" commands, that operate on running instances. For
7764these commands, disabled instances are skipped. </p>
7765
7766<p> This feature is available in Postfix 2.6 and later. </p>
7767
7768
7769</DD>
7770
7771<DT><b><a name="postmulti_start_commands">postmulti_start_commands</a>
7772(default: start)</b></DT><DD>
7773
7774<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
7775as "start" commands. For these commands, disabled instances are "checked"
7776rather than "started", and failure to "start" a member instance of an
7777instance group will abort the start-up of later instances. </p>
7778
7779<p> This feature is available in Postfix 2.6 and later. </p>
7780
7781
7782</DD>
7783
7784<DT><b><a name="postmulti_stop_commands">postmulti_stop_commands</a>
7785(default: see "postconf -d" output)</b></DT><DD>
7786
7787<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
7788as "stop" commands. For these commands, disabled instances are skipped,
7789and enabled instances are processed in reverse order. </p>
7790
7791<p> This feature is available in Postfix 2.6 and later. </p>
7792
7793
7794</DD>
7795
7796<DT><b><a name="postscreen_access_list">postscreen_access_list</a>
7797(default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>)</b></DT><DD>
7798
7799<p> Permanent white/blacklist for remote SMTP client IP addresses.
7800<a href="postscreen.8.html">postscreen(8)</a> searches this list immediately after a remote SMTP
7801client connects.  Specify a comma- or whitespace-separated list of
7802commands (in upper or lower case) or lookup tables. The search stops
7803upon the first command that fires for the client IP address. </p>
7804
7805<dl>
7806
7807<dt> <b> <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a> </b> </dt> <dd> Whitelist the client and
7808terminate the search if the client IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>.
7809Do not subject the client to any before/after 220 greeting tests.
7810Pass the connection immediately to a Postfix SMTP server process.
7811<br> Pattern matching of domain names is controlled by the presence
7812or absence of "<a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a>" in the
7813<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </dd>
7814
7815<dt> <b> <a href="DATABASE_README.html">type:table</a> </b> </dt> <dd> Query the specified lookup
7816table. Each table lookup result is an access list, except that
7817access lists inside a table cannot specify <a href="DATABASE_README.html">type:table</a> entries.  <br>
7818To discourage the use of hash, btree, etc. tables, there is no
7819support for substring matching like <a href="smtpd.8.html">smtpd(8)</a>. Use CIDR tables
7820instead.  </dd>
7821
7822<dt> <b> permit </b> </dt> <dd> Whitelist the client and terminate
7823the search. Do not subject the client to any before/after 220
7824greeting tests. Pass the connection immediately to a Postfix SMTP
7825server process. </dd>
7826
7827<dt> <b> reject </b> </dt> <dd> Blacklist the client and terminate
7828the search. Subject the client to the action configured with the
7829<a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> configuration parameter. </dd>
7830
7831<dt> <b> dunno </b> </dt> <dd> All <a href="postscreen.8.html">postscreen(8)</a> access lists
7832implicitly have this command at the end. <br> When <b> dunno </b>
7833is executed inside a lookup table, return from the lookup table and
7834evaluate the next command.  <br> When <b> dunno </b> is executed
7835outside a lookup table, terminate the search, and subject the client
7836to the configured before/after 220 greeting tests. </dd>
7837
7838</dl>
7839
7840<p> Example: </p>
7841
7842<pre>
7843/etc/postfix/<a href="postconf.5.html">main.cf</a>:
7844    <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
7845        <a href="cidr_table.5.html">cidr</a>:/etc/postfix/postscreen_access.cidr
7846    <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> = enforce
7847</pre>
7848
7849<pre>
7850/etc/postfix/postscreen_access.<a href="cidr_table.5.html">cidr</a>:
7851    # Rules are evaluated in the order as specified.
7852    # Blacklist 192.168.* except 192.168.0.1.
7853    192.168.0.1         dunno
7854    192.168.0.0/16      reject
7855</pre>
7856
7857<p> This feature is available in Postfix 2.8. </p>
7858
7859
7860</DD>
7861
7862<DT><b><a name="postscreen_bare_newline_action">postscreen_bare_newline_action</a>
7863(default: ignore)</b></DT><DD>
7864
7865<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends
7866a bare newline character, that is, a newline not preceded by carriage
7867return.  Specify one of the following: </p>
7868
7869<dl>
7870
7871<dt> <b>ignore</b> </dt>
7872
7873<dd> Ignore the failure of this test. Allow other tests to complete.
7874Do <i>not</i> repeat this test before some the result from some
7875other test expires.
7876This option is useful for testing and collecting statistics
7877without blocking mail permanently. </dd>
7878
7879<dt> <b>enforce</b> </dt>
7880
7881<dd> Allow other tests to complete. Reject attempts to deliver mail
7882with a 550 SMTP reply, and log the helo/sender/recipient information.
7883Repeat this test the next time the client connects. </dd>
7884
7885<dt> <b>drop</b> </dt>
7886
7887<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7888this test the next time the client connects.  </dd>
7889
7890</dl>
7891
7892<p> This feature is available in Postfix 2.8. </p>
7893
7894
7895</DD>
7896
7897<DT><b><a name="postscreen_bare_newline_enable">postscreen_bare_newline_enable</a>
7898(default: no)</b></DT><DD>
7899
7900<p> Enable "bare newline" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
7901server. These tests are expensive: a remote SMTP client must
7902disconnect after
7903it passes the test, before it can talk to a real Postfix SMTP server.
7904</p>
7905
7906<p> This feature is available in Postfix 2.8.  </p>
7907
7908
7909</DD>
7910
7911<DT><b><a name="postscreen_bare_newline_ttl">postscreen_bare_newline_ttl</a>
7912(default: 30d)</b></DT><DD>
7913
7914<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
7915a successful "bare newline" SMTP protocol test. During this
7916time, the client IP address is excluded from this test. The default
7917is long because a remote SMTP client must disconnect after it passes
7918the test,
7919before it can talk to a real Postfix SMTP server. </p>
7920
7921<p> Specify a non-zero time value (an integral value plus an optional
7922one-letter suffix that specifies the time unit).  Time units: s
7923(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
7924
7925<p> This feature is available in Postfix 2.8.  </p>
7926
7927
7928</DD>
7929
7930<DT><b><a name="postscreen_blacklist_action">postscreen_blacklist_action</a>
7931(default: ignore)</b></DT><DD>
7932
7933<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client is
7934permanently blacklisted with the <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> parameter.
7935Specify one of the following: </p>
7936
7937<dl>
7938
7939<dt> <b>ignore</b> (default) </dt>
7940
7941<dd> Ignore  this result. Allow other tests to complete.  Repeat
7942this test the next time the client connects.
7943This option is useful for testing and collecting statistics
7944without blocking mail. </dd>
7945
7946<dt> <b>enforce</b> </dt>
7947
7948<dd> Allow other tests to complete. Reject attempts to deliver mail
7949with a 550 SMTP reply, and log the helo/sender/recipient information.
7950Repeat this test the next time the client connects. </dd>
7951
7952<dt> <b>drop</b> </dt>
7953
7954<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
7955this test the next time the client connects. </dd>
7956
7957</dl>
7958
7959<p> This feature is available in Postfix 2.8. </p>
7960
7961
7962</DD>
7963
7964<DT><b><a name="postscreen_cache_cleanup_interval">postscreen_cache_cleanup_interval</a>
7965(default: 12h)</b></DT><DD>
7966
7967<p> The amount of time between <a href="postscreen.8.html">postscreen(8)</a> cache cleanup runs.
7968Cache cleanup increases the load on the cache database and should
7969therefore not be run frequently. This feature requires that the
7970cache database supports the "delete" and "sequence" operators.
7971Specify a zero interval to disable cache cleanup. </p>
7972
7973<p> After each cache cleanup run, the <a href="postscreen.8.html">postscreen(8)</a> daemon logs the
7974number of entries that were retained and dropped. A cleanup run is
7975logged as "partial" when the daemon terminates early after "<b>postfix
7976reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
7977seconds. </p>
7978
7979<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
7980(weeks).  </p>
7981
7982<p> This feature is available in Postfix 2.8. </p>
7983
7984
7985</DD>
7986
7987<DT><b><a name="postscreen_cache_map">postscreen_cache_map</a>
7988(default: <a href="DATABASE_README.html#types">btree</a>:$<a href="postconf.5.html#data_directory">data_directory</a>/postscreen_cache)</b></DT><DD>
7989
7990<p> Persistent storage for the <a href="postscreen.8.html">postscreen(8)</a> server decisions. </p>
7991
7992<p> To share a <a href="postscreen.8.html">postscreen(8)</a> cache between multiple <a href="postscreen.8.html">postscreen(8)</a>
7993instances, use "<a href="postconf.5.html#postscreen_cache_map">postscreen_cache_map</a> = <a href="proxymap.8.html">proxy</a>:<a href="DATABASE_README.html#types">btree</a>:/path/to/file".
7994This requires Postfix version 2.9 or later; earlier <a href="proxymap.8.html">proxymap(8)</a>
7995implementations don't support cache cleanup. For an alternative
7996approach see the <a href="memcache_table.5.html">memcache_table(5)</a> manpage. </p>
7997
7998<p> This feature is available in Postfix 2.8. </p>
7999
8000
8001</DD>
8002
8003<DT><b><a name="postscreen_cache_retention_time">postscreen_cache_retention_time</a>
8004(default: 7d)</b></DT><DD>
8005
8006<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will cache an expired
8007temporary whitelist entry before it is removed. This prevents clients
8008from being logged as "NEW" just because their cache entry expired
8009an hour ago. It also prevents the cache from filling up with clients
8010that passed some deep protocol test once and never came back. </p>
8011
8012<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
8013(weeks).  </p>
8014
8015<p> This feature is available in Postfix 2.8. </p>
8016
8017
8018</DD>
8019
8020<DT><b><a name="postscreen_client_connection_count_limit">postscreen_client_connection_count_limit</a>
8021(default: $<a href="postconf.5.html#smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>)</b></DT><DD>
8022
8023<p> How many simultaneous connections any remote SMTP client is
8024allowed to have
8025with the <a href="postscreen.8.html">postscreen(8)</a> daemon. By default, this limit is the same
8026as with the Postfix SMTP server. Note that the triage process can
8027take several seconds, with the time spent in <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
8028delay, and with the time spent talking to the <a href="postscreen.8.html">postscreen(8)</a> built-in
8029dummy SMTP protocol engine. </p>
8030
8031<p> This feature is available in Postfix 2.8.  </p>
8032
8033
8034</DD>
8035
8036<DT><b><a name="postscreen_command_count_limit">postscreen_command_count_limit</a>
8037(default: 20)</b></DT><DD>
8038
8039<p> The limit on the total number of commands per SMTP session for
8040<a href="postscreen.8.html">postscreen(8)</a>'s built-in SMTP protocol engine.  This SMTP engine
8041defers or rejects all attempts to deliver mail, therefore there is
8042no need to enforce separate limits on the number of junk commands
8043and error commands.  </p>
8044
8045<p> This feature is available in Postfix 2.8.  </p>
8046
8047
8048</DD>
8049
8050<DT><b><a name="postscreen_command_filter">postscreen_command_filter</a>
8051(default: $<a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>)</b></DT><DD>
8052
8053<p> A mechanism to transform commands from remote SMTP clients.
8054See <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for further details. </p>
8055
8056<p> This feature is available in Postfix 2.8 and later. </p>
8057
8058
8059</DD>
8060
8061<DT><b><a name="postscreen_command_time_limit">postscreen_command_time_limit</a>
8062(default: normal: 300s, overload: 10s)</b></DT><DD>
8063
8064<p> The time limit to read an entire command line with <a href="postscreen.8.html">postscreen(8)</a>'s
8065built-in SMTP protocol engine. </p>
8066
8067<p> This feature is available in Postfix 2.8.  </p>
8068
8069
8070</DD>
8071
8072<DT><b><a name="postscreen_disable_vrfy_command">postscreen_disable_vrfy_command</a>
8073(default: $<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a>)</b></DT><DD>
8074
8075<p> Disable the SMTP VRFY command in the <a href="postscreen.8.html">postscreen(8)</a> daemon.  See
8076<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> for details.  </p>
8077
8078<p> This feature is available in Postfix 2.8.  </p>
8079
8080
8081</DD>
8082
8083<DT><b><a name="postscreen_discard_ehlo_keyword_address_maps">postscreen_discard_ehlo_keyword_address_maps</a>
8084(default: $<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>)</b></DT><DD>
8085
8086<p> Lookup tables, indexed by the remote SMTP client address, with
8087case insensitive lists of EHLO keywords (pipelining, starttls, auth,
8088etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO response
8089to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
8090The table is not searched by hostname for robustness reasons.  </p>
8091
8092<p> This feature is available in Postfix 2.8 and later. </p>
8093
8094
8095</DD>
8096
8097<DT><b><a name="postscreen_discard_ehlo_keywords">postscreen_discard_ehlo_keywords</a>
8098(default: $<a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>)</b></DT><DD>
8099
8100<p> A case insensitive list of EHLO keywords (pipelining, starttls,
8101auth, etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO
8102response to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
8103for details. </p>
8104
8105<p> This feature is available in Postfix 2.8 and later. </p>
8106
8107
8108</DD>
8109
8110<DT><b><a name="postscreen_dnsbl_action">postscreen_dnsbl_action</a>
8111(default: ignore)</b></DT><DD>
8112
8113<p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client's combined
8114DNSBL score is equal to or greater than a threshold (as defined
8115with 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>
8116parameters).  Specify one of the following: </p>
8117
8118<dl>
8119
8120<dt> <b>ignore</b> (default) </dt>
8121
8122<dd> Ignore the failure of this test. Allow other tests to complete.
8123Repeat this test the next time the client connects.
8124This option is useful for testing and collecting statistics
8125without blocking mail. </dd>
8126
8127<dt> <b>enforce</b> </dt>
8128
8129<dd> Allow other tests to complete. Reject attempts to deliver mail
8130with a 550 SMTP reply, and log the helo/sender/recipient information.
8131Repeat this test the next time the client connects. </dd>
8132
8133<dt> <b>drop</b> </dt>
8134
8135<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
8136this test the next time the client connects. </dd>
8137
8138</dl>
8139
8140<p> This feature is available in Postfix 2.8. </p>
8141
8142
8143</DD>
8144
8145<DT><b><a name="postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>
8146(default: ${<a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>?{$<a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>}:{1}}h)</b></DT><DD>
8147
8148<p> The maximum amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the
8149result from a successful DNS-based reputation test before a
8150client IP address is required to pass that test again. If the DNS
8151reply specifies a shorter TTL value, that value will be used unless
8152it would be smaller than <a href="postconf.5.html#postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>.  </p>
8153
8154<p> Specify a non-zero time value (an integral value plus an optional
8155one-letter suffix that specifies the time unit).  Time units: s
8156(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
8157
8158<p> This feature is available in Postfix 3.1. The default setting
8159is backwards-compatible with older Postfix versions. </p>
8160
8161
8162</DD>
8163
8164<DT><b><a name="postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>
8165(default: 60s)</b></DT><DD>
8166
8167<p> The minimum amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the
8168result from a successful DNS-based reputation test before a
8169client IP address is required to pass that test again. If the DNS
8170reply specifies a larger TTL value, that value will be used unless
8171it would be larger than <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>.  </p>
8172
8173<p> Specify a non-zero time value (an integral value plus an optional
8174one-letter suffix that specifies the time unit).  Time units: s
8175(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
8176
8177<p> This feature is available in Postfix 3.1. </p>
8178
8179
8180</DD>
8181
8182<DT><b><a name="postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a>
8183(default: empty)</b></DT><DD>
8184
8185<p> A mapping from actual DNSBL domain name which includes a secret
8186password, to the DNSBL domain name that postscreen will reply with
8187when it rejects mail.  When no mapping is found, the actual DNSBL
8188domain will be used. </p>
8189
8190<p> For maximal stability it is best to use a file that is read
8191into memory such as <a href="pcre_table.5.html">pcre</a>:, <a href="regexp_table.5.html">regexp</a>: or <a href="DATABASE_README.html#types">texthash</a>: (<a href="DATABASE_README.html#types">texthash</a>: is similar
8192to <a href="DATABASE_README.html#types">hash</a>:, except a) there is no need to run <a href="postmap.1.html">postmap(1)</a> before the
8193file can be used, and b) <a href="DATABASE_README.html#types">texthash</a>: does not detect changes after
8194the file is read). </p>
8195
8196<p> Example: </p>
8197
8198<pre>
8199/etc/postfix/<a href="postconf.5.html">main.cf</a>:
8200    <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> = <a href="DATABASE_README.html#types">texthash</a>:/etc/postfix/dnsbl_reply
8201</pre>
8202
8203<pre>
8204/etc/postfix/dnsbl_reply:
8205   secret.zen.spamhaus.org      zen.spamhaus.org
8206</pre>
8207
8208<p> This feature is available in Postfix 2.8.  </p>
8209
8210
8211</DD>
8212
8213<DT><b><a name="postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
8214(default: empty)</b></DT><DD>
8215
8216<p>Optional list of DNS white/blacklist domains, filters and weight
8217factors. When the list is non-empty, the <a href="dnsblog.8.html">dnsblog(8)</a> daemon will
8218query these domains with the IP addresses of remote SMTP clients,
8219and <a href="postscreen.8.html">postscreen(8)</a> will update an SMTP client's DNSBL score with
8220each non-error reply. </p>
8221
8222<p> Caution: when postscreen rejects mail, it replies with the DNSBL
8223domain name. Use the <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> feature to hide
8224"password" information in DNSBL domain names. </p>
8225
8226<p> When a client's score is equal to or greater than the threshold
8227specified with <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>, <a href="postscreen.8.html">postscreen(8)</a> can drop
8228the connection with the remote SMTP client. </p>
8229
8230<p> Specify a list of domain=filter*weight entries, separated by
8231comma or whitespace.  </p>
8232
8233<ul>
8234
8235<li> <p> When no "=filter" is specified, <a href="postscreen.8.html">postscreen(8)</a> will use any
8236non-error DNSBL reply.  Otherwise, <a href="postscreen.8.html">postscreen(8)</a> uses only DNSBL
8237replies that match the filter. The filter has the form d.d.d.d,
8238where each d is a number, or a pattern inside [] that contains one
8239or more ";"-separated numbers or number..number ranges.  </p>
8240
8241<li> <p> When no "*weight" is specified, <a href="postscreen.8.html">postscreen(8)</a> increments
8242the remote SMTP client's DNSBL score by 1.  Otherwise, the weight must be
8243an integral number, and <a href="postscreen.8.html">postscreen(8)</a> adds the specified weight to
8244the remote SMTP client's DNSBL score.  Specify a negative number for
8245whitelisting.  </p>
8246
8247<li> <p> When one <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> entry produces multiple
8248DNSBL responses, <a href="postscreen.8.html">postscreen(8)</a> applies the weight at most once.
8249</p>
8250
8251</ul>
8252
8253<p> Examples: </p>
8254
8255<p> To use example.com as a high-confidence blocklist, and to
8256block mail with example.net and example.org only when both agree:
8257</p>
8258
8259<pre>
8260<a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a> = 2
8261<a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com*2, example.net, example.org
8262</pre>
8263
8264<p> To filter only DNSBL replies containing 127.0.0.4: </p>
8265
8266<pre>
8267<a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com=127.0.0.4
8268</pre>
8269
8270<p> This feature is available in Postfix 2.8. </p>
8271
8272
8273</DD>
8274
8275<DT><b><a name="postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>
8276(default: 1)</b></DT><DD>
8277
8278<p> The inclusive lower bound for blocking a remote SMTP client, based on
8279its combined DNSBL score as defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
8280parameter. </p>
8281
8282<p> This feature is available in Postfix 2.8.  </p>
8283
8284
8285</DD>
8286
8287<DT><b><a name="postscreen_dnsbl_timeout">postscreen_dnsbl_timeout</a>
8288(default: 10s)</b></DT><DD>
8289
8290<p> The time limit for DNSBL or DNSWL lookups. This is separate from
8291the timeouts in the <a href="dnsblog.8.html">dnsblog(8)</a> daemon which are defined by system
8292resolver(3) routines. </p>
8293
8294<p> This feature is available in Postfix 3.0.  </p>
8295
8296
8297</DD>
8298
8299<DT><b><a name="postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>
8300(default: 1h)</b></DT><DD>
8301
8302<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
8303a successful DNS-based reputation test before a client
8304IP address is required to pass that test again.  </p>
8305
8306<p> Specify a non-zero time value (an integral value plus an optional
8307one-letter suffix that specifies the time unit).  Time units: s
8308(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
8309
8310<p> This feature is available in Postfix 2.8-3.0. It was
8311replaced by <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a> in Postfix 3.1.  </p>
8312
8313
8314</DD>
8315
8316<DT><b><a name="postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a>
8317(default: 0)</b></DT><DD>
8318
8319<p> Allow a remote SMTP client to skip "before" and "after 220
8320greeting" protocol tests, based on its combined DNSBL score as
8321defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> parameter.  </p>
8322
8323<p> Specify a negative value to enable this feature. When a client
8324passes the <a href="postconf.5.html#postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a> without having
8325failed other tests, all pending or disabled tests are flagged as
8326completed with a time-to-live value equal to <a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>.
8327When a test was already completed, its time-to-live value is updated
8328if it was less than <a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>. </p>
8329
8330<p> This feature is available in Postfix 2.11.  </p>
8331
8332
8333</DD>
8334
8335<DT><b><a name="postscreen_enforce_tls">postscreen_enforce_tls</a>
8336(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
8337
8338<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
8339require that clients use TLS encryption.  See smtpd_postscreen_enforce_tls
8340for details.  </p>
8341
8342<p> This feature is available in Postfix 2.8 and later.
8343Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
8344
8345
8346</DD>
8347
8348<DT><b><a name="postscreen_expansion_filter">postscreen_expansion_filter</a>
8349(default: see "postconf -d" output)</b></DT><DD>
8350
8351<p> List of characters that are permitted in <a href="postconf.5.html#postscreen_reject_footer">postscreen_reject_footer</a>
8352attribute expansions.  See <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> for further
8353details. </p>
8354
8355<p> This feature is available in Postfix 2.8 and later. </p>
8356
8357
8358</DD>
8359
8360<DT><b><a name="postscreen_forbidden_commands">postscreen_forbidden_commands</a>
8361(default: $<a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>)</b></DT><DD>
8362
8363<p> List of commands that the <a href="postscreen.8.html">postscreen(8)</a> server considers in
8364violation of the SMTP protocol. See <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a> for
8365syntax, and <a href="postconf.5.html#postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a> for possible actions.
8366</p>
8367
8368<p> This feature is available in Postfix 2.8.  </p>
8369
8370
8371</DD>
8372
8373<DT><b><a name="postscreen_greet_action">postscreen_greet_action</a>
8374(default: ignore)</b></DT><DD>
8375
8376<p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client speaks
8377before its turn within the time specified with the <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
8378parameter.  Specify one of the following: </p>
8379
8380<dl>
8381
8382<dt> <b>ignore</b> (default) </dt>
8383
8384<dd> Ignore the failure of this test. Allow other tests to complete.
8385Repeat this test the next time the client connects.
8386This option is useful for testing and collecting statistics
8387without blocking mail. </dd>
8388
8389<dt> <b>enforce</b> </dt>
8390
8391<dd> Allow other tests to complete. Reject attempts to deliver mail
8392with a 550 SMTP reply, and log the helo/sender/recipient information.
8393Repeat this test the next time the client connects. </dd>
8394
8395<dt> <b>drop</b> </dt>
8396
8397<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
8398this test the next time the client connects. </dd>
8399
8400</dl>
8401
8402<p> In either case, <a href="postscreen.8.html">postscreen(8)</a> will not whitelist the remote SMTP client
8403IP address. </p>
8404
8405<p> This feature is available in Postfix 2.8. </p>
8406
8407
8408</DD>
8409
8410<DT><b><a name="postscreen_greet_banner">postscreen_greet_banner</a>
8411(default: $<a href="postconf.5.html#smtpd_banner">smtpd_banner</a>)</b></DT><DD>
8412
8413<p> The <i>text</i> in the optional "220-<i>text</i>..." server
8414response that
8415<a href="postscreen.8.html">postscreen(8)</a> sends ahead of the real Postfix SMTP server's "220
8416text..." response, in an attempt to confuse bad SMTP clients so
8417that they speak before their turn (pre-greet).  Specify an empty
8418value to disable this feature.  </p>
8419
8420<p> This feature is available in Postfix 2.8. </p>
8421
8422
8423</DD>
8424
8425<DT><b><a name="postscreen_greet_ttl">postscreen_greet_ttl</a>
8426(default: 1d)</b></DT><DD>
8427
8428<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
8429a successful PREGREET test. During this time, the client IP address
8430is excluded from this test. The default is relatively short, because
8431a good client can immediately talk to a real Postfix SMTP server. </p>
8432
8433<p> Specify a non-zero time value (an integral value plus an optional
8434one-letter suffix that specifies the time unit).  Time units: s
8435(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
8436
8437<p> This feature is available in Postfix 2.8. </p>
8438
8439
8440</DD>
8441
8442<DT><b><a name="postscreen_greet_wait">postscreen_greet_wait</a>
8443(default: normal: 6s, overload: 2s)</b></DT><DD>
8444
8445<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will wait for an SMTP
8446client to send a command before its turn, and for DNS blocklist
8447lookup results to arrive (default: up to 2 seconds under stress,
8448up to 6 seconds otherwise).  <p>
8449
8450<p> Specify a non-zero time value (an integral value plus an optional
8451one-letter suffix that specifies the time unit).  </p>
8452
8453<p> Time units: s (seconds), m (minutes), h (hours), d (days), w
8454(weeks).  </p>
8455
8456<p> This feature is available in Postfix 2.8. </p>
8457
8458
8459</DD>
8460
8461<DT><b><a name="postscreen_helo_required">postscreen_helo_required</a>
8462(default: $<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a>)</b></DT><DD>
8463
8464<p> Require that a remote SMTP client sends HELO or EHLO before
8465commencing a MAIL transaction. </p>
8466
8467<p> This feature is available in Postfix 2.8.  </p>
8468
8469
8470</DD>
8471
8472<DT><b><a name="postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a>
8473(default: drop)</b></DT><DD>
8474
8475<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends
8476non-SMTP commands as specified with the <a href="postconf.5.html#postscreen_forbidden_commands">postscreen_forbidden_commands</a>
8477parameter.  Specify one of the following: </p>
8478
8479<dl>
8480
8481<dt> <b>ignore</b> </dt>
8482
8483<dd> Ignore the failure of this test. Allow other tests to complete.
8484Do <i>not</i> repeat this test before some the result from some
8485other test expires.
8486This option is useful for testing and collecting statistics
8487without blocking mail permanently. </dd>
8488
8489<dt> <b>enforce</b> </dt>
8490
8491<dd> Allow other tests to complete. Reject attempts to deliver mail
8492with a 550 SMTP reply, and log the helo/sender/recipient information.
8493Repeat this test the next time the client connects. </dd>
8494
8495<dt> <b>drop</b> </dt>
8496
8497<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
8498this test the next time the client connects. This action is the
8499same as with the Postfix SMTP server's <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>
8500feature.  </dd>
8501
8502</dl>
8503
8504<p> This feature is available in Postfix 2.8. </p>
8505
8506
8507</DD>
8508
8509<DT><b><a name="postscreen_non_smtp_command_enable">postscreen_non_smtp_command_enable</a>
8510(default: no)</b></DT><DD>
8511
8512<p> Enable "non-SMTP command" tests in the <a href="postscreen.8.html">postscreen(8)</a> server. These
8513tests are expensive: a client must disconnect after it passes the
8514test, before it can talk to a real Postfix SMTP server. </p>
8515
8516<p> This feature is available in Postfix 2.8.  </p>
8517
8518
8519</DD>
8520
8521<DT><b><a name="postscreen_non_smtp_command_ttl">postscreen_non_smtp_command_ttl</a>
8522(default: 30d)</b></DT><DD>
8523
8524<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
8525a successful "non_smtp_command" SMTP protocol test. During this
8526time, the client IP address is excluded from this test. The default
8527is long because a client must disconnect after it passes the test,
8528before it can talk to a real Postfix SMTP server. </p>
8529
8530<p> Specify a non-zero time value (an integral value plus an optional
8531one-letter suffix that specifies the time unit).  Time units: s
8532(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
8533
8534<p> This feature is available in Postfix 2.8.  </p>
8535
8536
8537</DD>
8538
8539<DT><b><a name="postscreen_pipelining_action">postscreen_pipelining_action</a>
8540(default: enforce)</b></DT><DD>
8541
8542<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client
8543sends
8544multiple commands instead of sending one command and waiting for
8545the server to respond.  Specify one of the following: </p>
8546
8547<dl>
8548
8549<dt> <b>ignore</b> </dt>
8550
8551<dd> Ignore the failure of this test. Allow other tests to complete.
8552Do <i>not</i> repeat this test before some the result from some
8553other test expires.
8554This option is useful for testing and collecting statistics
8555without blocking mail permanently. </dd>
8556
8557<dt> <b>enforce</b> </dt>
8558
8559<dd> Allow other tests to complete. Reject attempts to deliver mail
8560with a 550 SMTP reply, and log the helo/sender/recipient information.
8561Repeat this test the next time the client connects. </dd>
8562
8563<dt> <b>drop</b> </dt>
8564
8565<dd> Drop the connection immediately with a 521 SMTP reply. Repeat
8566this test the next time the client connects. </dd>
8567
8568</dl>
8569
8570<p> This feature is available in Postfix 2.8. </p>
8571
8572
8573</DD>
8574
8575<DT><b><a name="postscreen_pipelining_enable">postscreen_pipelining_enable</a>
8576(default: no)</b></DT><DD>
8577
8578<p> Enable "pipelining" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
8579server. These tests are expensive: a good client must disconnect
8580after it passes the test, before it can talk to a real Postfix SMTP
8581server. </p>
8582
8583<p> This feature is available in Postfix 2.8.  </p>
8584
8585
8586</DD>
8587
8588<DT><b><a name="postscreen_pipelining_ttl">postscreen_pipelining_ttl</a>
8589(default: 30d)</b></DT><DD>
8590
8591<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
8592a successful "pipelining" SMTP protocol test. During this time, the
8593client IP address is excluded from this test. The default is
8594long because a good client must disconnect after it passes the test,
8595before it can talk to a real Postfix SMTP server. </p>
8596
8597<p> Specify a non-zero time value (an integral value plus an optional
8598one-letter suffix that specifies the time unit).  Time units: s
8599(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
8600
8601<p> This feature is available in Postfix 2.8.  </p>
8602
8603
8604</DD>
8605
8606<DT><b><a name="postscreen_post_queue_limit">postscreen_post_queue_limit</a>
8607(default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
8608
8609<p> The number of clients that can be waiting for service from a
8610real Postfix SMTP server process. When this queue is full, all
8611clients will
8612receive a 421 response. </p>
8613
8614<p> This feature is available in Postfix 2.8. </p>
8615
8616
8617</DD>
8618
8619<DT><b><a name="postscreen_pre_queue_limit">postscreen_pre_queue_limit</a>
8620(default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
8621
8622<p> The number of non-whitelisted clients that can be waiting for
8623a decision whether they will receive service from a real Postfix
8624SMTP server
8625process. When this queue is full, all non-whitelisted clients will
8626receive a 421 response. </p>
8627
8628<p> This feature is available in Postfix 2.8. </p>
8629
8630
8631</DD>
8632
8633<DT><b><a name="postscreen_reject_footer">postscreen_reject_footer</a>
8634(default: $<a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>)</b></DT><DD>
8635
8636<p> Optional information that is appended after a 4XX or 5XX
8637<a href="postscreen.8.html">postscreen(8)</a> server
8638response. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> for further details.  </p>
8639
8640<p> This feature is available in Postfix 2.8 and later. </p>
8641
8642
8643</DD>
8644
8645<DT><b><a name="postscreen_reject_footer_maps">postscreen_reject_footer_maps</a>
8646(default: $<a href="postconf.5.html#smtpd_reject_footer_maps">smtpd_reject_footer_maps</a>)</b></DT><DD>
8647
8648<p> Optional lookup table for information that is appended after a 4XX
8649or 5XX <a href="postscreen.8.html">postscreen(8)</a> server response. See <a href="postconf.5.html#smtpd_reject_footer_maps">smtpd_reject_footer_maps</a> for
8650further details. </p>
8651
8652<p> This feature is available in Postfix 3.4 and later. </p>
8653
8654
8655</DD>
8656
8657<DT><b><a name="postscreen_tls_security_level">postscreen_tls_security_level</a>
8658(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
8659
8660<p> The SMTP TLS security level for the <a href="postscreen.8.html">postscreen(8)</a> server; when
8661a non-empty value is specified, this overrides the obsolete parameters
8662<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>
8663for details. </p>
8664
8665<p> This feature is available in Postfix 2.8 and later. </p>
8666
8667
8668</DD>
8669
8670<DT><b><a name="postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a>
8671(default: empty)</b></DT><DD>
8672
8673<p> The name of the proxy protocol used by an optional before-postscreen
8674proxy agent. When a proxy agent is used, this protocol conveys local
8675and remote address and port information. Specify
8676"<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
8677protocol; version 2 is supported with Postfix 3.5 and later. <p>
8678
8679<p> This feature is available in Postfix 2.10 and later.  </p>
8680
8681
8682</DD>
8683
8684<DT><b><a name="postscreen_upstream_proxy_timeout">postscreen_upstream_proxy_timeout</a>
8685(default: 5s)</b></DT><DD>
8686
8687<p> The time limit for the proxy protocol specified with the
8688<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> parameter. </p>
8689
8690<p> This feature is available in Postfix 2.10 and later.  </p>
8691
8692
8693</DD>
8694
8695<DT><b><a name="postscreen_use_tls">postscreen_use_tls</a>
8696(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
8697
8698<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
8699but do not require that clients use TLS encryption. </p>
8700
8701<p> This feature is available in Postfix 2.8 and later.
8702Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
8703
8704
8705</DD>
8706
8707<DT><b><a name="postscreen_watchdog_timeout">postscreen_watchdog_timeout</a>
8708(default: 10s)</b></DT><DD>
8709
8710<p> How much time a <a href="postscreen.8.html">postscreen(8)</a> process may take to respond to
8711a remote SMTP client command or to perform a cache operation before it
8712is terminated by a built-in watchdog timer.  This is a safety
8713mechanism that prevents <a href="postscreen.8.html">postscreen(8)</a> from becoming non-responsive
8714due to a bug in Postfix itself or in system software.  To avoid
8715false alarms and unnecessary cache corruption this limit cannot be
8716set under 10s.  </p>
8717
8718<p> Specify a non-zero time value (an integral value plus an optional
8719one-letter suffix that specifies the time unit).  Time units: s
8720(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
8721
8722<p> This feature is available in Postfix 2.8.  </p>
8723
8724
8725</DD>
8726
8727<DT><b><a name="postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a>
8728(default: <a href="DATABASE_README.html#types">static</a>:all)</b></DT><DD>
8729
8730<p> A list of local <a href="postscreen.8.html">postscreen(8)</a> server IP addresses where a
8731non-whitelisted remote SMTP client can obtain <a href="postscreen.8.html">postscreen(8)</a>'s temporary
8732whitelist status. This status is required before the client can
8733talk to a Postfix SMTP server process.  By default, a client can
8734obtain <a href="postscreen.8.html">postscreen(8)</a>'s whitelist status on any local <a href="postscreen.8.html">postscreen(8)</a>
8735server IP address. </p>
8736
8737<p> When <a href="postscreen.8.html">postscreen(8)</a> listens on both primary and backup MX
8738addresses, the <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> parameter can be
8739configured to give the temporary whitelist status only when a client
8740connects to a primary MX address. Once a client is whitelisted it
8741can talk to a Postfix SMTP server on any address. Thus, clients
8742that connect only to backup MX addresses will never become whitelisted,
8743and will never be allowed to talk to a Postfix SMTP server process.
8744</p>
8745
8746<p> Specify a list of network addresses or network/netmask patterns,
8747separated by commas and/or whitespace. The netmask specifies the
8748number of bits in the network part of a host address. Continue long
8749lines by starting the next line with whitespace. </p>
8750
8751<p> You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A
8752"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
8753lookup table is matched when a table entry matches a lookup string
8754(the lookup result is ignored). </p>
8755
8756<p> The list is matched left to right, and the search stops on the
8757first match. Specify "!pattern" to exclude an address or network
8758block from the list.  </p>
8759
8760<p> Note: IP version 6 address information must be specified inside
8761[] in the <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> value, and in files
8762specified with "/file/name".  IP version 6 addresses contain the
8763":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
8764pattern. </p>
8765
8766<p> Example: </p>
8767
8768<pre>
8769/etc/postfix/<a href="postconf.5.html">main.cf</a>:
8770    # Don't whitelist connections to the backup IP address.
8771    <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> = !168.100.189.8, <a href="DATABASE_README.html#types">static</a>:all
8772</pre>
8773
8774<p> This feature is available in Postfix 2.9 and later.  </p>
8775
8776
8777</DD>
8778
8779<DT><b><a name="prepend_delivered_header">prepend_delivered_header</a>
8780(default: command, file, forward)</b></DT><DD>
8781
8782<p> The message delivery contexts where the Postfix <a href="local.8.html">local(8)</a> delivery
8783agent prepends a Delivered-To:  message header with the address
8784that the mail was delivered to. This information is used for mail
8785delivery loop detection.  </p>
8786
8787<p>
8788By default, the Postfix local delivery agent prepends a Delivered-To:
8789header when forwarding mail and when delivering to file (mailbox)
8790and command. Turning off the Delivered-To: header when forwarding
8791mail is not recommended.
8792</p>
8793
8794<p>
8795Specify zero or more of <b>forward</b>, <b>file</b>, or <b>command</b>.
8796</p>
8797
8798<p>
8799Example:
8800</p>
8801
8802<pre>
8803<a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a> = forward
8804</pre>
8805
8806
8807</DD>
8808
8809<DT><b><a name="process_id">process_id</a>
8810(read-only)</b></DT><DD>
8811
8812<p>
8813The process ID of a Postfix command or daemon process.
8814</p>
8815
8816
8817</DD>
8818
8819<DT><b><a name="process_id_directory">process_id_directory</a>
8820(default: pid)</b></DT><DD>
8821
8822<p>
8823The location of Postfix PID files relative to $<a href="postconf.5.html#queue_directory">queue_directory</a>.
8824This is a read-only parameter.
8825</p>
8826
8827
8828</DD>
8829
8830<DT><b><a name="process_name">process_name</a>
8831(read-only)</b></DT><DD>
8832
8833<p>
8834The process name of a Postfix command or daemon process.
8835</p>
8836
8837
8838</DD>
8839
8840<DT><b><a name="propagate_unmatched_extensions">propagate_unmatched_extensions</a>
8841(default: canonical, virtual)</b></DT><DD>
8842
8843<p>
8844What address lookup tables copy an address extension from the lookup
8845key to the lookup result.
8846</p>
8847
8848<p>
8849For example, with a <a href="virtual.5.html">virtual(5)</a> mapping of "<i>joe@example.com =&gt;
8850joe.user@example.net</i>", the address "<i>joe+foo@example.com</i>"
8851would rewrite to "<i>joe.user+foo@example.net</i>".
8852</p>
8853
8854<p>
8855Specify zero or more of <b>canonical</b>, <b>virtual</b>, <b>alias</b>,
8856<b>forward</b>, <b>include</b> or <b>generic</b>. These cause
8857address extension
8858propagation 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,
8859with <a href="local.8.html">local(8)</a> .forward and :include: file lookups, and with <a href="smtp.8.html">smtp(8)</a>
8860generic maps, respectively.  </p>
8861
8862<p>
8863Note: enabling this feature for types other than <b>canonical</b>
8864and <b>virtual</b> is likely to cause problems when mail is forwarded
8865to other sites, especially with mail that is sent to a mailing list
8866exploder address.
8867</p>
8868
8869<p>
8870Examples:
8871</p>
8872
8873<pre>
8874<a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual, alias,
8875        forward, include
8876<a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual
8877</pre>
8878
8879
8880</DD>
8881
8882<DT><b><a name="proxy_interfaces">proxy_interfaces</a>
8883(default: empty)</b></DT><DD>
8884
8885<p>
8886The network interface addresses that this mail system receives mail
8887on by way of a proxy or network address translation unit.
8888</p>
8889
8890<p>
8891This feature is available in Postfix 2.0 and later.
8892</p>
8893
8894<p> You must specify your "outside" proxy/NAT addresses when your
8895system is a backup MX host for other domains, otherwise mail delivery
8896loops will happen when the primary MX host is down.  </p>
8897
8898<p>
8899Example:
8900</p>
8901
8902<pre>
8903<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> = 1.2.3.4
8904</pre>
8905
8906
8907</DD>
8908
8909<DT><b><a name="proxy_read_maps">proxy_read_maps</a>
8910(default: see "postconf -d" output)</b></DT><DD>
8911
8912<p>
8913The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
8914access for the read-only service.
8915</p>
8916
8917<p>
8918Specify zero or more "type:name" lookup tables, separated by
8919whitespace or comma.
8920Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.
8921</p>
8922
8923<p>
8924This feature is available in Postfix 2.0 and later.
8925</p>
8926
8927
8928</DD>
8929
8930<DT><b><a name="proxy_write_maps">proxy_write_maps</a>
8931(default: see "postconf -d" output)</b></DT><DD>
8932
8933<p> The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
8934access for the read-write service. Postfix-owned local database
8935files should be stored under the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>.
8936Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.  </p>
8937
8938<p>
8939This feature is available in Postfix 2.5 and later.
8940</p>
8941
8942
8943</DD>
8944
8945<DT><b><a name="proxymap_service_name">proxymap_service_name</a>
8946(default: proxymap)</b></DT><DD>
8947
8948<p> The name of the proxymap read-only table lookup service.  This
8949service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon. </p>
8950
8951<p> This feature is available in Postfix 2.6 and later. </p>
8952
8953
8954</DD>
8955
8956<DT><b><a name="proxywrite_service_name">proxywrite_service_name</a>
8957(default: proxywrite)</b></DT><DD>
8958
8959<p> The name of the proxywrite read-write table lookup service.
8960This service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon.
8961</p>
8962
8963<p> This feature is available in Postfix 2.6 and later. </p>
8964
8965
8966</DD>
8967
8968<DT><b><a name="qmgr_clog_warn_time">qmgr_clog_warn_time</a>
8969(default: 300s)</b></DT><DD>
8970
8971<p>
8972The minimal delay between warnings that a specific destination is
8973clogging up the Postfix <a href="QSHAPE_README.html#active_queue">active queue</a>. Specify 0 to disable.
8974</p>
8975
8976<p>
8977This feature is enabled with the <a href="postconf.5.html#helpful_warnings">helpful_warnings</a> parameter.
8978</p>
8979
8980<p>
8981This feature is available in Postfix 2.0 and later.
8982</p>
8983
8984
8985</DD>
8986
8987<DT><b><a name="qmgr_daemon_timeout">qmgr_daemon_timeout</a>
8988(default: 1000s)</b></DT><DD>
8989
8990<p> How much time a Postfix queue manager process may take to handle
8991a request before it is terminated by a built-in watchdog timer.
8992</p>
8993
8994<p>
8995Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
8996The default time unit is s (seconds).
8997</p>
8998
8999<p> This feature is available in Postfix 2.8 and later.  </p>
9000
9001
9002</DD>
9003
9004<DT><b><a name="qmgr_fudge_factor">qmgr_fudge_factor</a>
9005(default: 100)</b></DT><DD>
9006
9007<p>
9008Obsolete feature: the percentage of delivery resources that a busy
9009mail system will use up for delivery of a large mailing  list
9010message.
9011</p>
9012
9013<p>
9014This feature exists only in the <a href="qmgr.8.html">oqmgr(8)</a> old queue manager. The
9015current queue manager solves the problem in a better way.
9016</p>
9017
9018
9019</DD>
9020
9021<DT><b><a name="qmgr_ipc_timeout">qmgr_ipc_timeout</a>
9022(default: 60s)</b></DT><DD>
9023
9024<p> The time limit for the queue manager to send or receive information
9025over an internal communication channel.  The purpose is to break
9026out of deadlock situations. If the time limit is exceeded the
9027software either retries or aborts the operation. </p>
9028
9029<p>
9030Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9031The default time unit is s (seconds).
9032</p>
9033
9034<p> This feature is available in Postfix 2.8 and later.  </p>
9035
9036
9037</DD>
9038
9039<DT><b><a name="qmgr_message_active_limit">qmgr_message_active_limit</a>
9040(default: 20000)</b></DT><DD>
9041
9042<p>
9043The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>.
9044</p>
9045
9046
9047</DD>
9048
9049<DT><b><a name="qmgr_message_recipient_limit">qmgr_message_recipient_limit</a>
9050(default: 20000)</b></DT><DD>
9051
9052<p> The maximal number of recipients held in memory by the Postfix
9053queue manager, and the maximal size of the short-term,
9054in-memory "dead" destination status cache.  </p>
9055
9056
9057</DD>
9058
9059<DT><b><a name="qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>
9060(default: 10)</b></DT><DD>
9061
9062<p>
9063The minimal number of in-memory recipients for any message. This
9064takes priority over any other in-memory recipient limits (i.e.,
9065the global <a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> and the per transport
9066_recipient_limit) if necessary. The minimum value allowed for this
9067parameter is 1.
9068</p>
9069
9070
9071</DD>
9072
9073<DT><b><a name="qmqpd_authorized_clients">qmqpd_authorized_clients</a>
9074(default: empty)</b></DT><DD>
9075
9076<p>
9077What remote QMQP clients are allowed to connect to the Postfix QMQP
9078server port.
9079</p>
9080
9081<p>
9082By default, no client is allowed to use the service. This is
9083because the QMQP server will relay mail to any destination.
9084</p>
9085
9086<p>
9087Specify a list of client patterns. A list pattern specifies a host
9088name, a domain name, an internet address, or a network/mask pattern,
9089where the mask specifies the number of bits in the network part.
9090When a pattern specifies a file name, its contents are substituted
9091for the file name; when a pattern is a "<a href="DATABASE_README.html">type:table</a>" table specification,
9092table lookup is used instead.  </p>
9093
9094<p>
9095Patterns are separated by whitespace and/or commas. In order to
9096reverse the result, precede a pattern with an
9097exclamation point (!). The form "!/file/name" is supported only
9098in Postfix version 2.4 and later.
9099</p>
9100
9101<p> Pattern matching of domain names is controlled by the presence
9102or absence of "<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>" in the
9103<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value.  </p>
9104
9105<p>
9106Example:
9107</p>
9108
9109<pre>
9110<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a> = !192.168.0.1, 192.168.0.0/24
9111</pre>
9112
9113
9114</DD>
9115
9116<DT><b><a name="qmqpd_client_port_logging">qmqpd_client_port_logging</a>
9117(default: no)</b></DT><DD>
9118
9119<p> Enable logging of the remote QMQP client port in addition to
9120the hostname and IP address. The logging format is "host[address]:port".
9121</p>
9122
9123<p> This feature is available in Postfix 2.5 and later. </p>
9124
9125
9126</DD>
9127
9128<DT><b><a name="qmqpd_error_delay">qmqpd_error_delay</a>
9129(default: 1s)</b></DT><DD>
9130
9131<p>
9132How long the Postfix QMQP server will pause before sending a negative
9133reply to the remote QMQP client. The purpose is to slow down confused
9134or malicious clients.
9135</p>
9136
9137<p>
9138Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9139The default time unit is s (seconds).
9140</p>
9141
9142
9143</DD>
9144
9145<DT><b><a name="qmqpd_timeout">qmqpd_timeout</a>
9146(default: 300s)</b></DT><DD>
9147
9148<p>
9149The time limit for sending or receiving information over the network.
9150If a read or write operation blocks for more than $<a href="postconf.5.html#qmqpd_timeout">qmqpd_timeout</a>
9151seconds the Postfix QMQP server gives up and disconnects.
9152</p>
9153
9154<p>
9155Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9156The default time unit is s (seconds).
9157</p>
9158
9159
9160</DD>
9161
9162<DT><b><a name="queue_directory">queue_directory</a>
9163(default: see "postconf -d" output)</b></DT><DD>
9164
9165<p>
9166The location of the Postfix top-level queue directory. This is the
9167root directory of Postfix daemon processes that run chrooted.
9168</p>
9169
9170
9171</DD>
9172
9173<DT><b><a name="queue_file_attribute_count_limit">queue_file_attribute_count_limit</a>
9174(default: 100)</b></DT><DD>
9175
9176<p>
9177The maximal number of (name=value) attributes that may be stored
9178in a Postfix queue file. The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a>
9179server.
9180</p>
9181
9182<p>
9183This feature is available in Postfix 2.0 and later.
9184</p>
9185
9186
9187</DD>
9188
9189<DT><b><a name="queue_minfree">queue_minfree</a>
9190(default: 0)</b></DT><DD>
9191
9192<p>
9193The minimal amount of free space in bytes in the queue file system
9194that is needed to receive mail.  This is currently used by the
9195Postfix SMTP server to decide if it will accept any mail at all.
9196</p>
9197
9198<p>
9199By default, the Postfix SMTP server rejects MAIL FROM commands when
9200the amount of free space is less than 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>
9201(Postfix version 2.1 and later).
9202To specify a higher minimum free space limit, specify a <a href="postconf.5.html#queue_minfree">queue_minfree</a>
9203value that is at least 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>.
9204</p>
9205
9206<p>
9207With Postfix versions 2.0 and earlier, a <a href="postconf.5.html#queue_minfree">queue_minfree</a> value of
9208zero means there is no minimum required amount of free space.
9209</p>
9210
9211
9212</DD>
9213
9214<DT><b><a name="queue_run_delay">queue_run_delay</a>
9215(default: 300s)</b></DT><DD>
9216
9217<p>
9218The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue manager;
9219prior to Postfix 2.4 the default value was 1000s.
9220</p>
9221
9222<p> This parameter should be set less than or equal to
9223$<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>
9224
9225<p>
9226Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
9227The default time unit is s (seconds).
9228</p>
9229
9230
9231</DD>
9232
9233<DT><b><a name="queue_service_name">queue_service_name</a>
9234(default: qmgr)</b></DT><DD>
9235
9236<p>
9237The name of the <a href="qmgr.8.html">qmgr(8)</a> service. This service manages the Postfix
9238queue and schedules delivery requests.
9239</p>
9240
9241<p>
9242This feature is available in Postfix 2.0 and later.
9243</p>
9244
9245
9246</DD>
9247
9248<DT><b><a name="rbl_reply_maps">rbl_reply_maps</a>
9249(default: empty)</b></DT><DD>
9250
9251<p>
9252Optional lookup tables with RBL response templates. The tables are
9253indexed by the RBL domain name. By default, Postfix uses the default
9254template as specified with the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> configuration
9255parameter. See there for a discussion of the syntax of RBL reply
9256templates.
9257</p>
9258
9259<p>
9260This feature is available in Postfix 2.0 and later.
9261</p>
9262
9263
9264</DD>
9265
9266<DT><b><a name="readme_directory">readme_directory</a>
9267(default: see "postconf -d" output)</b></DT><DD>
9268
9269<p>
9270The location of Postfix README files that describe how to build,
9271configure or operate a specific Postfix subsystem or feature.
9272</p>
9273
9274
9275</DD>
9276
9277<DT><b><a name="receive_override_options">receive_override_options</a>
9278(default: empty)</b></DT><DD>
9279
9280<p> Enable or disable recipient validation, built-in content
9281filtering, or address mapping. Typically, these are specified in
9282<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
9283<a href="pickup.8.html">pickup(8)</a> daemons. </p>
9284
9285<p> Specify zero or more of the following options.  The options
9286override <a href="postconf.5.html">main.cf</a> settings and are either implemented by <a href="smtpd.8.html">smtpd(8)</a>,
9287<a href="qmqpd.8.html">qmqpd(8)</a>, or <a href="pickup.8.html">pickup(8)</a> themselves, or they are forwarded to the
9288cleanup server.  </p>
9289
9290<dl>
9291
9292<dt><b><a name="no_unknown_recipient_checks">no_unknown_recipient_checks</a></b></dt>
9293
9294<dd>Do not try to reject unknown recipients (SMTP server only).
9295This is typically specified AFTER an external content filter.
9296</dd>
9297
9298<dt><b><a name="no_address_mappings">no_address_mappings</a></b></dt>
9299
9300<dd>Disable canonical address mapping, virtual alias map expansion,
9301address masquerading, and automatic BCC (blind carbon-copy)
9302recipients. This is typically specified BEFORE an external content
9303filter. </dd>
9304
9305<dt><b><a name="no_header_body_checks">no_header_body_checks</a></b></dt>
9306
9307<dd>Disable header/body_checks. This is typically specified AFTER
9308an external content filter. </dd>
9309
9310<dt><b><a name="no_milters">no_milters</a></b></dt>
9311
9312<dd>Disable Milter (mail filter) applications. This is typically
9313specified AFTER an external content filter. </dd>
9314
9315</dl>
9316
9317<p>
9318Note: when the "BEFORE content filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a>
9319setting is specified in the <a href="postconf.5.html">main.cf</a> file, specify the "AFTER content
9320filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a> setting in <a href="master.5.html">master.cf</a> (and vice
9321versa).
9322</p>
9323
9324<p>
9325Examples:
9326</p>
9327
9328<pre>
9329<a href="postconf.5.html#receive_override_options">receive_override_options</a> =
9330    <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>
9331<a href="postconf.5.html#receive_override_options">receive_override_options</a> = <a href="postconf.5.html#no_address_mappings">no_address_mappings</a>
9332</pre>
9333
9334<p>
9335This feature is available in Postfix 2.1 and later.
9336</p>
9337
9338
9339</DD>
9340
9341<DT><b><a name="recipient_bcc_maps">recipient_bcc_maps</a>
9342(default: empty)</b></DT><DD>
9343
9344<p>
9345Optional BCC (blind carbon-copy) address lookup tables, indexed by
9346recipient address.  The BCC address (multiple results are not
9347supported) is added when mail enters from outside of Postfix.
9348</p>
9349
9350<p>
9351Specify zero or more "type:name" lookup tables, separated by
9352whitespace or comma. Tables will be searched in the specified order
9353until a match is found.
9354</p>
9355
9356<p>
9357The table search order is as follows:
9358</p>
9359
9360<ul>
9361
9362<li> Look up the "user+extension@domain.tld" address including the
9363optional address extension.
9364
9365<li> Look up the "user@domain.tld" address without the optional
9366address extension.
9367
9368<li> Look up the "user+extension" address local part when the
9369recipient 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>
9370or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
9371
9372<li> Look up the "user" address local part when the recipient domain
9373equals $<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>.
9374
9375<li> Look up the "@domain.tld" part.
9376
9377</ul>
9378
9379<p>
9380Note: with Postfix 2.3 and later the BCC address is added as if it
9381was specified with NOTIFY=NONE. The sender will not be notified
9382when the BCC address is undeliverable, as long as all down-stream
9383software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
9384</p>
9385
9386<p>
9387Note: with Postfix 2.2 and earlier the sender will unconditionally
9388be notified when the BCC address is undeliverable.
9389</p>
9390
9391<p> Note: automatic BCC recipients are produced only for new mail.
9392To avoid mailer loops, automatic BCC recipients are not generated
9393after Postfix forwards mail internally, or after Postfix generates
9394mail itself. </p>
9395
9396<p>
9397Example:
9398</p>
9399
9400<pre>
9401<a href="postconf.5.html#recipient_bcc_maps">recipient_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_bcc
9402</pre>
9403
9404<p>
9405After a change, run "<b>postmap /etc/postfix/recipient_bcc</b>".
9406</p>
9407
9408<p>
9409This feature is available in Postfix 2.1 and later.
9410</p>
9411
9412
9413</DD>
9414
9415<DT><b><a name="recipient_canonical_classes">recipient_canonical_classes</a>
9416(default: envelope_recipient, header_recipient)</b></DT><DD>
9417
9418<p> What addresses are subject to <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address
9419mapping.  By default, <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address mapping is
9420applied to envelope recipient addresses, and to header recipient
9421addresses.  </p>
9422
9423<p> Specify one or more of: envelope_recipient, header_recipient
9424</p>
9425
9426<p> This feature is available in Postfix 2.2 and later. </p>
9427
9428
9429</DD>
9430
9431<DT><b><a name="recipient_canonical_maps">recipient_canonical_maps</a>
9432(default: empty)</b></DT><DD>
9433
9434<p>
9435Optional address mapping lookup tables for envelope and header
9436recipient addresses.
9437The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
9438</p>
9439
9440<p>
9441Note: $<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>.
9442</p>
9443
9444<p>
9445Example:
9446</p>
9447
9448<pre>
9449<a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_canonical
9450</pre>
9451
9452
9453</DD>
9454
9455<DT><b><a name="recipient_delimiter">recipient_delimiter</a>
9456(default: empty)</b></DT><DD>
9457
9458<p> The set of characters that can separate a user name from its
9459extension (example: user+foo), or a .forward file name from its
9460extension (example: .forward+foo).  Basically, the software tries
9461user+foo and .forward+foo before trying user and .forward.  This
9462implementation recognizes one delimiter character and one extension
9463per email address or .forward file name. </p>
9464
9465<p> When the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set contains multiple characters
9466(Postfix 2.11 and later), a user name or .forward file name is
9467separated from its extension by the first character that matches
9468the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set. </p>
9469
9470<p> See <a href="canonical.5.html">canonical(5)</a>, <a href="local.8.html">local(8)</a>, <a href="relocated.5.html">relocated(5)</a> and <a href="virtual.5.html">virtual(5)</a> for the
9471effects of <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> on lookups in aliases, canonical,
9472virtual, and relocated maps, and see the <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a>
9473parameter for propagating an extension from one email address to
9474another.  </p>
9475
9476<p> When used in <a href="postconf.5.html#command_execution_directory">command_execution_directory</a>, <a href="postconf.5.html#forward_path">forward_path</a>, or
9477<a href="postconf.5.html#luser_relay">luser_relay</a>, ${<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>} is replaced with the actual
9478recipient delimiter that was found in the recipient email address
9479(Postfix 2.11 and later), or it is replaced with the <a href="postconf.5.html">main.cf</a>
9480<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> parameter value (Postfix 2.10 and earlier).
9481</p>
9482
9483<p> The <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is not applied to the mailer-daemon
9484address, the postmaster address, or the double-bounce address. With
9485the default "<a href="postconf.5.html#owner_request_special">owner_request_special</a> = yes" setting, the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>
9486is also not applied to addresses with the special "owner-" prefix
9487or the special "-request" suffix. </p>
9488
9489<p>
9490Examples:
9491</p>
9492
9493<pre>
9494# Handle Postfix-style extensions.
9495<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +
9496</pre>
9497
9498<pre>
9499# Handle both Postfix and qmail extensions (Postfix 2.11 and later).
9500<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +-
9501</pre>
9502
9503<pre>
9504# Use .forward for mail without address extension, and for mail with
9505# an unrecognized address extension.
9506<a href="postconf.5.html#forward_path">forward_path</a> = $home/.forward${<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>}${extension},
9507    $home/.forward
9508</pre>
9509
9510
9511</DD>
9512
9513<DT><b><a name="reject_code">reject_code</a>
9514(default: 554)</b></DT><DD>
9515
9516<p>
9517The numerical Postfix SMTP server response code when a remote SMTP
9518client request is rejected by the "reject" restriction.
9519</p>
9520
9521<p>
9522Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
9523</p>
9524
9525
9526</DD>
9527
9528<DT><b><a name="reject_tempfail_action">reject_tempfail_action</a>
9529(default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>)</b></DT><DD>
9530
9531<p> The Postfix SMTP server's action when a reject-type restriction
9532fails due to a temporary error condition. Specify "defer" to defer
9533the remote SMTP client request immediately. With the default
9534"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
9535for opportunities to reject mail, and defers the client request
9536only if it would otherwise be accepted. </p>
9537
9538<p> For finer control, see: <a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>,
9539<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>,
9540and <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>.  </p>
9541
9542<p> This feature is available in Postfix 2.6 and later. </p>
9543
9544
9545</DD>
9546
9547<DT><b><a name="relay_clientcerts">relay_clientcerts</a>
9548(default: empty)</b></DT><DD>
9549
9550<p> List of tables with remote SMTP client-certificate fingerprints or
9551public key fingerprints (Postfix 2.9 and later) for which the Postfix
9552SMTP server will allow access with the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
9553feature.  The fingerprint digest algorithm is configurable via the
9554<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
9555Postfix version 2.5).  </p>
9556
9557<p> Postfix lookup tables are in the form of (key, value) pairs.
9558Since we only need the key, the value can be chosen freely, e.g.
9559the name of the user or host:
9560D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home </p>
9561
9562<p> Example: </p>
9563
9564<pre>
9565<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_clientcerts
9566</pre>
9567
9568<p>For more fine-grained control, use <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> to select
9569an appropriate <a href="access.5.html">access(5)</a> policy for each client.
9570See <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a>.</p>
9571
9572<p> <b>Note:</b> Postfix 2.9.0&ndash;2.9.5 computed the public key
9573fingerprint incorrectly. To use public-key fingerprints, upgrade
9574to Postfix 2.9.6 or later. </p>
9575
9576<p>This feature is available with Postfix version 2.2.</p>
9577
9578
9579</DD>
9580
9581<DT><b><a name="relay_destination_concurrency_limit">relay_destination_concurrency_limit</a>
9582(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
9583
9584<p> The maximal number of parallel deliveries to the same destination
9585via the relay message delivery transport. This limit is enforced
9586by the queue manager. The message delivery transport name is the
9587first field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
9588
9589<p> This feature is available in Postfix 2.0 and later. </p>
9590
9591
9592</DD>
9593
9594<DT><b><a name="relay_destination_recipient_limit">relay_destination_recipient_limit</a>
9595(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
9596
9597<p> The maximal number of recipients per message for the relay
9598message delivery transport. This limit is enforced by the queue
9599manager. The message delivery transport name is the first field in
9600the entry in the <a href="master.5.html">master.cf</a> file.  </p>
9601
9602<p> Setting this parameter to a value of 1 changes the meaning of
9603<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> from concurrency per domain
9604into concurrency per recipient.  </p>
9605
9606<p> This feature is available in Postfix 2.0 and later. </p>
9607
9608
9609</DD>
9610
9611<DT><b><a name="relay_domains">relay_domains</a>
9612(default: Postfix &ge; 3.0: empty, Postfix &lt; 3.0: $<a href="postconf.5.html#mydestination">mydestination</a>)</b></DT><DD>
9613
9614<p> What destination domains (and subdomains thereof) this system
9615will relay mail to. For details about how
9616the <a href="postconf.5.html#relay_domains">relay_domains</a> value is used, see the description of the
9617<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
9618restrictions.  </p>
9619
9620<p> Domains that match $<a href="postconf.5.html#relay_domains">relay_domains</a> are delivered with the
9621$<a href="postconf.5.html#relay_transport">relay_transport</a> mail delivery transport. The SMTP server validates
9622recipient addresses with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> and rejects non-existent
9623recipients. See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the
9624<a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.  </p>
9625
9626<p> Note: Postfix will not automatically forward mail for domains
9627that list this system as their primary or backup MX host. See the
9628<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>
9629
9630<p> Specify a list of host or domain names, "/file/name" patterns
9631or "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
9632Continue long lines by starting the next line with whitespace. A
9633"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
9634lookup table is matched when a (parent) domain appears as lookup
9635key. Specify "!pattern" to exclude a domain from the list. The form
9636"!/file/name" is supported only in Postfix version 2.4 and later.
9637</p>
9638
9639<p> Pattern matching of domain names is controlled by the presence
9640or absence of "<a href="postconf.5.html#relay_domains">relay_domains</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
9641parameter value. </p>
9642
9643
9644</DD>
9645
9646<DT><b><a name="relay_domains_reject_code">relay_domains_reject_code</a>
9647(default: 554)</b></DT><DD>
9648
9649<p>
9650The numerical Postfix SMTP server response code when a client
9651request is rejected by the <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> recipient
9652restriction.
9653</p>
9654
9655<p>
9656Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
9657</p>
9658
9659
9660</DD>
9661
9662<DT><b><a name="relay_recipient_maps">relay_recipient_maps</a>
9663(default: empty)</b></DT><DD>
9664
9665<p> Optional lookup tables with all valid addresses in the domains
9666that match $<a href="postconf.5.html#relay_domains">relay_domains</a>. Specify @domain as a wild-card for
9667domains that have no valid recipient list, and become a source of
9668backscatter mail: Postfix accepts spam for non-existent recipients
9669and then floods innocent people with undeliverable mail.  Technically,
9670tables
9671listed with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> are used as lists: Postfix needs
9672to know only if a lookup string is found or not, but it does not
9673use the result from table lookup.  </p>
9674
9675<p>
9676Specify zero or more "type:name" lookup tables, separated by
9677whitespace or comma. Tables will be searched in the specified order
9678until a match is found.
9679</p>
9680
9681<p>
9682If this parameter is non-empty, then the Postfix SMTP server will reject
9683mail to unknown relay users. This feature is off by default.
9684</p>
9685
9686<p>
9687See 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>
9688file.
9689</p>
9690
9691<p>
9692Example:
9693</p>
9694
9695<pre>
9696<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_recipients
9697</pre>
9698
9699<p>
9700This feature is available in Postfix 2.0 and later.
9701</p>
9702
9703
9704</DD>
9705
9706<DT><b><a name="relay_transport">relay_transport</a>
9707(default: relay)</b></DT><DD>
9708
9709<p>
9710The default mail delivery transport and next-hop destination for
9711remote delivery to domains listed with $<a href="postconf.5.html#relay_domains">relay_domains</a>. In order of
9712decreasing precedence, the nexthop destination is taken from
9713$<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
9714from the recipient domain. This information can be overruled with
9715the <a href="transport.5.html">transport(5)</a> table.
9716</p>
9717
9718<p>
9719Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
9720is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
9721The <i>:nexthop</i> destination is optional; its syntax is documented
9722in the manual page of the corresponding delivery agent.
9723</p>
9724
9725<p>
9726See 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>
9727file.
9728</p>
9729
9730<p>
9731This feature is available in Postfix 2.0 and later.
9732</p>
9733
9734
9735</DD>
9736
9737<DT><b><a name="relayhost">relayhost</a>
9738(default: empty)</b></DT><DD>
9739
9740<p>
9741The next-hop destination(s) for non-local mail; overrides non-local
9742domains in recipient addresses. This information is overruled with
9743<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>,
9744<a href="postconf.5.html#default_transport">default_transport</a>, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
9745and with the <a href="transport.5.html">transport(5)</a> table.
9746</p>
9747
9748<p>
9749On an intranet, specify the organizational domain name. If your
9750internal DNS uses no MX records, specify the name of the intranet
9751gateway host instead.
9752</p>
9753
9754<p>
9755In the case of SMTP or LMTP delivery, specify one or more destinations
9756in the form of a domain name, hostname, hostname:port, [hostname]:port,
9757[hostaddress] or [hostaddress]:port, separated by comma or whitespace.
9758The form [hostname] turns off MX lookups. Multiple destinations are
9759supported in Postfix 3.5 and later.
9760</p>
9761
9762<p>
9763If you're connected via UUCP, see the <a href="UUCP_README.html">UUCP_README</a> file for useful
9764information.
9765</p>
9766
9767<p>
9768Examples:
9769</p>
9770
9771<pre>
9772<a href="postconf.5.html#relayhost">relayhost</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
9773<a href="postconf.5.html#relayhost">relayhost</a> = [gateway.example.com]
9774<a href="postconf.5.html#relayhost">relayhost</a> = mail1.example:587, mail2.example:587
9775<a href="postconf.5.html#relayhost">relayhost</a> = [an.ip.add.ress]
9776</pre>
9777
9778
9779</DD>
9780
9781<DT><b><a name="relocated_maps">relocated_maps</a>
9782(default: empty)</b></DT><DD>
9783
9784<p>
9785Optional lookup tables with new contact information for users or
9786domains that no longer exist.  The table format and lookups are
9787documented in <a href="relocated.5.html">relocated(5)</a>.
9788</p>
9789
9790<p>
9791Specify zero or more "type:name" lookup tables, separated by
9792whitespace or comma. Tables will be searched in the specified order
9793until a match is found.
9794</p>
9795
9796<p>
9797If you use this feature, run "<b>postmap /etc/postfix/relocated</b>" to
9798build the necessary DBM or DB file after change, then "<b>postfix
9799reload</b>" to make the changes visible.
9800</p>
9801
9802<p>
9803Examples:
9804</p>
9805
9806<pre>
9807<a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/relocated
9808<a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relocated
9809</pre>
9810
9811
9812</DD>
9813
9814<DT><b><a name="remote_header_rewrite_domain">remote_header_rewrite_domain</a>
9815(default: empty)</b></DT><DD>
9816
9817<p> Don't rewrite message headers from remote clients at all when
9818this parameter is empty; otherwise, rewrite message headers and
9819append the specified domain name to incomplete addresses.  The
9820<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter controls what clients Postfix
9821considers local. </p>
9822
9823<p> Examples:  </p>
9824
9825<p> The safe setting: append "domain.invalid" to incomplete header
9826addresses from remote SMTP clients, so that those addresses cannot
9827be confused with local addresses. </p>
9828
9829<blockquote>
9830<pre>
9831<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> = domain.invalid
9832</pre>
9833</blockquote>
9834
9835<p> The default, purist, setting: don't rewrite headers from remote
9836clients at all. </p>
9837
9838<blockquote>
9839<pre>
9840<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> =
9841</pre>
9842</blockquote>
9843
9844
9845</DD>
9846
9847<DT><b><a name="require_home_directory">require_home_directory</a>
9848(default: no)</b></DT><DD>
9849
9850<p>
9851Require that a <a href="local.8.html">local(8)</a> recipient's home directory exists
9852before mail delivery is attempted. By default this test is disabled.
9853It can be useful for environments that import home directories to
9854the mail server (IMPORTING HOME DIRECTORIES IS NOT RECOMMENDED).
9855</p>
9856
9857
9858</DD>
9859
9860<DT><b><a name="reset_owner_alias">reset_owner_alias</a>
9861(default: no)</b></DT><DD>
9862
9863<p> Reset the <a href="local.8.html">local(8)</a> delivery agent's idea of the owner-alias
9864attribute, when delivering mail to a child alias that does not have
9865its own owner alias. </p>
9866
9867<p> This feature is available in Postfix 2.8 and later. With older
9868Postfix releases, the behavior is as if this parameter is set to
9869"yes". </p>
9870
9871<p> As documented in <a href="aliases.5.html">aliases(5)</a>, when an alias <i>name</i> has a
9872companion alias named owner-<i>name</i>, this will replace the
9873envelope sender address, so that delivery errors will be
9874reported to the owner alias instead of the sender. This configuration
9875is recommended for mailing lists. <p>
9876
9877<p> A less known property of the owner alias is that it also forces
9878the <a href="local.8.html">local(8)</a> delivery agent to write local and remote addresses
9879from alias expansion to a new queue file, instead of attempting to
9880deliver mail to local addresses as soon as they come out of alias
9881expansion.  </p>
9882
9883<p> Writing local addresses from alias expansion to a new queue
9884file allows for robust handling of temporary delivery errors: errors
9885with one local member have no effect on deliveries to other members
9886of the list.  On the other hand, delivery to local addresses as
9887soon as they come out of alias expansion is fragile: a temporary
9888error with one local address from alias expansion will cause the
9889entire alias to be expanded repeatedly until the error goes away,
9890or until the message expires in the queue.  In that case, a problem
9891with one list member results in multiple message deliveries to other
9892list members. </p>
9893
9894<p> The default behavior of Postfix 2.8 and later is to keep the
9895owner-alias attribute of the parent alias, when delivering mail to
9896a child alias that does not have its own owner alias. Then, local
9897addresses from that child alias will be written to a new queue file,
9898and a temporary error with one local address will not affect delivery
9899to other mailing list members. </p>
9900
9901<p> Unfortunately, older Postfix releases reset the owner-alias
9902attribute when delivering mail to a child alias that does not have
9903its own owner alias. To be precise, this resets only the decision
9904to create a new queue file, not the decision to override the envelope
9905sender address. The <a href="local.8.html">local(8)</a> delivery agent then attempts to
9906deliver local addresses as soon as they come out of child alias
9907expansion.  If delivery to any address from child alias expansion
9908fails with a temporary error condition, the entire mailing list may
9909be expanded repeatedly until the mail expires in the queue, resulting
9910in multiple deliveries of the same message to mailing list members.
9911</p>
9912
9913
9914</DD>
9915
9916<DT><b><a name="resolve_dequoted_address">resolve_dequoted_address</a>
9917(default: yes)</b></DT><DD>
9918
9919<p> Resolve a recipient address safely instead of correctly, by
9920looking inside quotes.  </p>
9921
9922<p> By default, the Postfix address resolver does not quote the
9923address localpart as per <a href="http://tools.ietf.org/html/rfc822">RFC 822</a>, so that additional @ or % or !
9924operators remain visible. This behavior is safe but it is also
9925technically incorrect.  </p>
9926
9927<p> If you specify "<a href="postconf.5.html#resolve_dequoted_address">resolve_dequoted_address</a> = no", then
9928the Postfix
9929resolver will not know about additional @ etc. operators in the
9930address localpart. This opens opportunities for obscure mail relay
9931attacks with user@domain@domain addresses when Postfix provides
9932backup MX service for Sendmail systems.  </p>
9933
9934
9935</DD>
9936
9937<DT><b><a name="resolve_null_domain">resolve_null_domain</a>
9938(default: no)</b></DT><DD>
9939
9940<p> Resolve an address that ends in the "@" null domain as if the
9941local hostname were specified, instead of rejecting the address as
9942invalid.  </p>
9943
9944<p> This feature is available in Postfix 2.1 and later.
9945Earlier versions always resolve the null domain as the local
9946hostname.  </p>
9947
9948<p> The Postfix SMTP server uses this feature to reject mail from
9949or to addresses that end in the "@" null domain, and from addresses
9950that rewrite into a form that ends in the "@" null domain.  </p>
9951
9952
9953</DD>
9954
9955<DT><b><a name="resolve_numeric_domain">resolve_numeric_domain</a>
9956(default: no)</b></DT><DD>
9957
9958<p> Resolve "user@ipaddress" as "user@[ipaddress]", instead of
9959rejecting the address as invalid.  </p>
9960
9961<p> This feature is available in Postfix 2.3 and later.
9962
9963
9964</DD>
9965
9966<DT><b><a name="rewrite_service_name">rewrite_service_name</a>
9967(default: rewrite)</b></DT><DD>
9968
9969<p>
9970The name of the address rewriting service. This service rewrites
9971addresses to standard form and resolves them to a (delivery method,
9972next-hop host, recipient) triple.
9973</p>
9974
9975<p>
9976This feature is available in Postfix 2.0 and later.
9977</p>
9978
9979
9980</DD>
9981
9982<DT><b><a name="sample_directory">sample_directory</a>
9983(default: /etc/postfix)</b></DT><DD>
9984
9985<p>
9986The name of the directory with example Postfix configuration files.
9987Starting with Postfix 2.1, these files have been replaced with the
9988<a href="postconf.5.html">postconf(5)</a> manual page.
9989</p>
9990
9991
9992</DD>
9993
9994<DT><b><a name="send_cyrus_sasl_authzid">send_cyrus_sasl_authzid</a>
9995(default: no)</b></DT><DD>
9996
9997<p> When authenticating to a remote SMTP or LMTP server with the
9998default setting "no", send no SASL authoriZation ID (authzid); send
9999only the SASL authentiCation ID (authcid) plus the authcid's password.
10000</p>
10001
10002<p> The non-default setting "yes" enables the behavior of older
10003Postfix versions.  These always send a SASL authzid that is equal
10004to the SASL authcid, but this causes interoperability problems
10005with some SMTP servers. </p>
10006
10007<p> This feature is available in Postfix 2.4.4 and later. </p>
10008
10009
10010</DD>
10011
10012<DT><b><a name="sender_based_routing">sender_based_routing</a>
10013(default: no)</b></DT><DD>
10014
10015<p>
10016This parameter should not be used. It was replaced by <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
10017in Postfix version 2.3.
10018</p>
10019
10020
10021</DD>
10022
10023<DT><b><a name="sender_bcc_maps">sender_bcc_maps</a>
10024(default: empty)</b></DT><DD>
10025
10026<p> Optional BCC (blind carbon-copy) address lookup tables, indexed
10027by sender address.  The BCC address (multiple results are not
10028supported) is added when mail enters from outside of Postfix.  </p>
10029
10030<p>
10031Specify zero or more "type:name" lookup tables, separated by
10032whitespace or comma. Tables will be searched in the specified order
10033until a match is found.
10034</p>
10035
10036<p>
10037The table search order is as follows:
10038</p>
10039
10040<ul>
10041
10042<li> Look up the "user+extension@domain.tld" address including the
10043optional address extension.
10044
10045<li> Look up the "user@domain.tld" address without the optional
10046address extension.
10047
10048<li> Look up the "user+extension" address local part when the
10049sender 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>
10050or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
10051
10052<li> Look up the "user" address local part when the sender domain
10053equals $<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>.
10054
10055<li> Look up the "@domain.tld" part.
10056
10057</ul>
10058
10059<p>
10060Note: with Postfix 2.3 and later the BCC address is added as if it
10061was specified with NOTIFY=NONE. The sender will not be notified
10062when the BCC address is undeliverable, as long as all down-stream
10063software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
10064</p>
10065
10066<p>
10067Note: with Postfix 2.2 and earlier the sender will be notified
10068when the BCC address is undeliverable.
10069</p>
10070
10071<p> Note: automatic BCC recipients are produced only for new mail.
10072To avoid mailer loops, automatic BCC recipients are not generated
10073after Postfix forwards mail internally, or after Postfix generates
10074mail itself. </p>
10075
10076<p>
10077Example:
10078</p>
10079
10080<pre>
10081<a href="postconf.5.html#sender_bcc_maps">sender_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_bcc
10082</pre>
10083
10084<p>
10085After a change, run "<b>postmap /etc/postfix/sender_bcc</b>".
10086</p>
10087
10088<p>
10089This feature is available in Postfix 2.1 and later.
10090</p>
10091
10092
10093</DD>
10094
10095<DT><b><a name="sender_canonical_classes">sender_canonical_classes</a>
10096(default: envelope_sender, header_sender)</b></DT><DD>
10097
10098<p> What addresses are subject to <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address
10099mapping.  By default, <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address mapping is
10100applied to envelope sender addresses, and to header sender addresses.
10101</p>
10102
10103<p> Specify one or more of: envelope_sender, header_sender </p>
10104
10105<p> This feature is available in Postfix 2.2 and later. </p>
10106
10107
10108</DD>
10109
10110<DT><b><a name="sender_canonical_maps">sender_canonical_maps</a>
10111(default: empty)</b></DT><DD>
10112
10113<p>
10114Optional address mapping lookup tables for envelope and header
10115sender addresses.
10116The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
10117</p>
10118
10119<p>
10120Example: you want to rewrite the SENDER address "user@ugly.domain"
10121to "user@pretty.domain", while still being able to send mail to
10122the RECIPIENT address "user@ugly.domain".
10123</p>
10124
10125<p>
10126Note: $<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>.
10127</p>
10128
10129<p>
10130Example:
10131</p>
10132
10133<pre>
10134<a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_canonical
10135</pre>
10136
10137
10138</DD>
10139
10140<DT><b><a name="sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>
10141(default: empty)</b></DT><DD>
10142
10143<p> A sender-dependent override for the global <a href="postconf.5.html#default_transport">default_transport</a>
10144parameter setting. The tables are searched by the envelope sender
10145address and @domain. A lookup result of DUNNO terminates the search
10146without overriding the global <a href="postconf.5.html#default_transport">default_transport</a> parameter setting.
10147This information is overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
10148
10149<p>
10150Specify zero or more "type:name" lookup tables, separated by
10151whitespace or comma. Tables will be searched in the specified order
10152until a match is found.
10153</p>
10154
10155<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
10156therefore the expected syntax is that of <a href="postconf.5.html#default_transport">default_transport</a>, not the
10157syntax of <a href="postconf.5.html#transport_maps">transport_maps</a>.  Specifically, this does not support the
10158<a href="postconf.5.html#transport_maps">transport_maps</a> syntax for null transport, null nexthop, or null
10159email addresses. </p>
10160
10161<p> For safety reasons, this feature does not allow $number
10162substitutions in regular expression maps. </p>
10163
10164<p> This feature is available in Postfix 2.7 and later.  </p>
10165
10166
10167</DD>
10168
10169<DT><b><a name="sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
10170(default: empty)</b></DT><DD>
10171
10172<p> A sender-dependent override for the global <a href="postconf.5.html#relayhost">relayhost</a> parameter
10173setting. The tables are searched by the envelope sender address and
10174@domain. A lookup result of DUNNO terminates the search without
10175overriding the global <a href="postconf.5.html#relayhost">relayhost</a> parameter setting (Postfix 2.6 and
10176later). This information is overruled with <a href="postconf.5.html#relay_transport">relay_transport</a>,
10177<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
10178the <a href="transport.5.html">transport(5)</a> table. </p>
10179
10180<p>
10181Specify zero or more "type:name" lookup tables, separated by
10182whitespace or comma. Tables will be searched in the specified order
10183until a match is found.
10184</p>
10185
10186<p> For safety reasons, this feature does not allow $number
10187substitutions in regular expression maps. </p>
10188
10189<p>
10190This feature is available in Postfix 2.3 and later.
10191</p>
10192
10193
10194</DD>
10195
10196<DT><b><a name="sendmail_fix_line_endings">sendmail_fix_line_endings</a>
10197(default: always)</b></DT><DD>
10198
10199<p> Controls how the Postfix sendmail command converts email message
10200line endings from &lt;CR&gt;&lt;LF&gt; into UNIX format (&lt;LF&gt;).
10201</p>
10202
10203<dl>
10204
10205<dt> <b>always</b> </dt> <dd> Always convert message lines ending
10206in &lt;CR&gt;&lt;LF&gt;. This setting is the default with Postfix
102072.9 and later. </dd>
10208
10209<dt> <b>strict</b> </dt> <dd> Convert message lines ending in
10210&lt;CR&gt;&lt;LF&gt; only if the first input line ends in
10211&lt;CR&gt;&lt;LF&gt;. This setting is backwards-compatible with
10212Postfix 2.8 and earlier. </dd>
10213
10214<dt> <b>never</b> </dt> <dd> Never convert message lines ending in
10215&lt;CR&gt;&lt;LF&gt;. This setting exists for completeness only.
10216</dd>
10217
10218</dl>
10219
10220<p> This feature is available in Postfix 2.9 and later. </p>
10221
10222
10223</DD>
10224
10225<DT><b><a name="sendmail_path">sendmail_path</a>
10226(default: see "postconf -d" output)</b></DT><DD>
10227
10228<p>
10229A Sendmail compatibility feature that specifies the location of
10230the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. This command can be used to
10231submit mail into the Postfix queue.
10232</p>
10233
10234
10235</DD>
10236
10237<DT><b><a name="service_name">service_name</a>
10238(read-only)</b></DT><DD>
10239
10240<p> The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process. This
10241can be used to distinguish the logging from different services that
10242use the same program name. </p>
10243
10244<p> Example <a href="master.5.html">master.cf</a> entries: </p>
10245
10246<pre>
10247# Distinguish inbound MTA logging from submission and smtps logging.
10248smtp      inet  n       -       n       -       -       smtpd
10249submission inet n       -       n       -       -       smtpd
10250    -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a>
10251smtps     inet  n       -       n       -       -       smtpd
10252    -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a>
10253</pre>
10254
10255<pre>
10256# Distinguish outbound MTA logging from inbound relay logging.
10257smtp      unix  -       -       n       -       -       smtp
10258relay     unix  -       -       n       -       -       smtp
10259    -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a>
10260</pre>
10261
10262
10263</DD>
10264
10265<DT><b><a name="service_throttle_time">service_throttle_time</a>
10266(default: 60s)</b></DT><DD>
10267
10268<p>
10269How long the Postfix <a href="master.8.html">master(8)</a> waits before forking a server that
10270appears to be malfunctioning.
10271</p>
10272
10273<p>
10274Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10275The default time unit is s (seconds).
10276</p>
10277
10278
10279</DD>
10280
10281<DT><b><a name="setgid_group">setgid_group</a>
10282(default: postdrop)</b></DT><DD>
10283
10284<p>
10285The group ownership of set-gid Postfix commands and of group-writable
10286Postfix directories. When this parameter value is changed you need
10287to re-run "<b>postfix set-permissions</b>" (with Postfix version 2.0 and
10288earlier: "<b>/etc/postfix/post-install set-permissions</b>".
10289</p>
10290
10291
10292</DD>
10293
10294<DT><b><a name="shlib_directory">shlib_directory</a>
10295(default: see 'postconf -d' output)</b></DT><DD>
10296
10297<p> The location of Postfix dynamically-linked libraries
10298(libpostfix-*.so), and the default location of Postfix database
10299plugins (postfix-*.so) that have a relative pathname in the
10300dynamicmaps.cf file.  The <a href="postconf.5.html#shlib_directory">shlib_directory</a> parameter defaults to
10301"no" when Postfix dynamically-linked libraries and database plugins
10302are disabled at compile time, otherwise it typically defaults to
10303/usr/lib/postfix or /usr/local/lib/postfix.  </p>
10304
10305<p> Notes: </p>
10306
10307<ul>
10308
10309<li> <p> The directory specified with <a href="postconf.5.html#shlib_directory">shlib_directory</a> should contain
10310only Postfix-related files. Postfix dynamically-linked libraries
10311and database plugins should not be installed in a "public" system
10312directory such as /usr/lib or /usr/local/lib. Linking Postfix
10313dynamically-linked library files or database plugins into non-Postfix
10314programs is not supported.  Postfix dynamically-linked libraries
10315and database plugins implement a Postfix-internal API that changes
10316without maintaining compatibility.  </p>
10317
10318<li> <p> You can change the <a href="postconf.5.html#shlib_directory">shlib_directory</a> value after Postfix is
10319built. However, you may have to run ldconfig or equivalent to prevent
10320Postfix programs from failing because the libpostfix-*.so files are
10321not found.  No ldconfig command is needed if you keep the libpostfix-*.so
10322files in the compiled-in default $<a href="postconf.5.html#shlib_directory">shlib_directory</a> location. </p>
10323
10324</ul>
10325
10326<p> This feature is available in Postfix 3.0 and later. </p>
10327
10328
10329</DD>
10330
10331<DT><b><a name="show_user_unknown_table_name">show_user_unknown_table_name</a>
10332(default: yes)</b></DT><DD>
10333
10334<p>
10335Display the name of the recipient table in the "User unknown"
10336responses.  The extra detail makes troubleshooting easier but also
10337reveals information that is nobody else's business.
10338</p>
10339
10340<p>
10341This feature is available in Postfix 2.0 and later.
10342</p>
10343
10344
10345</DD>
10346
10347<DT><b><a name="showq_service_name">showq_service_name</a>
10348(default: showq)</b></DT><DD>
10349
10350<p>
10351The name of the <a href="showq.8.html">showq(8)</a> service. This service produces mail queue
10352status reports.
10353</p>
10354
10355<p>
10356This feature is available in Postfix 2.0 and later.
10357</p>
10358
10359
10360</DD>
10361
10362<DT><b><a name="smtp_address_preference">smtp_address_preference</a>
10363(default: any)</b></DT><DD>
10364
10365<p> The address type ("ipv6", "ipv4" or "any") that the Postfix
10366SMTP client will try first, when a destination has IPv6 and IPv4
10367addresses with equal MX preference. This feature has no effect
10368unless the <a href="postconf.5.html#inet_protocols">inet_protocols</a> setting enables both IPv4 and IPv6. </p>
10369
10370<p> Postfix SMTP client address preference has evolved. With Postfix
103712.8 the default is "ipv6"; earlier implementations are hard-coded
10372to prefer IPv6 over IPv4. </p>
10373
10374<p> Notes for mail delivery between sites that have both IPv4 and
10375IPv6 connectivity: </p>
10376
10377<ul>
10378
10379<li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = ipv6" is unsafe.
10380It can fail to deliver mail when there is an outage that affects
10381IPv6, while the destination is still reachable over IPv4. </p>
10382
10383<li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = any" is safe. With
10384this, mail will eventually be delivered even if there is an outage
10385that affects IPv6 or IPv4, as long as it does not affect both. </p>
10386
10387</ul>
10388
10389<p> This feature is available in Postfix 2.8 and later.  </p>
10390
10391
10392</DD>
10393
10394<DT><b><a name="smtp_address_verify_target">smtp_address_verify_target</a>
10395(default: rcpt)</b></DT><DD>
10396
10397<p> In the context of email address verification, the SMTP protocol
10398stage that determines whether an email address is deliverable.
10399Specify one of "rcpt" or "data".  The latter is needed with remote
10400SMTP servers that reject recipients after the DATA command. Use
10401<a href="postconf.5.html#transport_maps">transport_maps</a> to apply this feature selectively:  </p>
10402
10403<blockquote>
10404<pre>
10405/etc/postfix/<a href="postconf.5.html">main.cf</a>:
10406    <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport
10407</pre>
10408</blockquote>
10409
10410<blockquote>
10411<pre>
10412/etc/postfix/transport:
10413    smtp-domain-that-verifies-after-data    smtp-data-target:
10414    lmtp-domain-that-verifies-after-data    lmtp-data-target:
10415</pre>
10416</blockquote>
10417
10418<blockquote>
10419<pre>
10420/etc/postfix/<a href="master.5.html">master.cf</a>:
10421    smtp-data-target    unix    -    -    n    -    -    smtp
10422        -o <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a>=data
10423    lmtp-data-target    unix    -    -    n    -    -    lmtp
10424        -o <a href="postconf.5.html#lmtp_address_verify_target">lmtp_address_verify_target</a>=data
10425</pre>
10426</blockquote>
10427
10428<p> Unselective use of the "data" target does no harm, but will
10429result in unnecessary "lost connection after DATA" events at remote
10430SMTP/LMTP servers. </p>
10431
10432<p> This feature is available in Postfix 3.0 and later.  </p>
10433
10434
10435</DD>
10436
10437<DT><b><a name="smtp_always_send_ehlo">smtp_always_send_ehlo</a>
10438(default: yes)</b></DT><DD>
10439
10440<p>
10441Always send EHLO at the start of an SMTP session.
10442</p>
10443
10444<p>
10445With "<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> = no", the Postfix SMTP client sends
10446EHLO only when
10447the word "ESMTP" appears in the server greeting banner (example:
10448220 spike.porcupine.org ESMTP Postfix).
10449</p>
10450
10451
10452</DD>
10453
10454<DT><b><a name="smtp_balance_inet_protocols">smtp_balance_inet_protocols</a>
10455(default: yes)</b></DT><DD>
10456
10457<p> When a remote destination resolves to a combination of IPv4 and
10458IPv6 addresses, ensure that the Postfix SMTP client can try both
10459address types before it runs into the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a>. </p>
10460
10461<p> This avoids an interoperability problem when a destination resolves
10462to primarily IPv6 addresses, the smtp_address_limit feature eliminates
10463most or all IPv4 addresses, and the destination is not reachable over
10464IPv6. </p>
10465
10466<p> This feature is available in Postfix 3.3 and later. </p>
10467
10468
10469</DD>
10470
10471<DT><b><a name="smtp_bind_address">smtp_bind_address</a>
10472(default: empty)</b></DT><DD>
10473
10474<p>
10475An optional numerical network address that the Postfix SMTP client
10476should bind to when making an IPv4 connection.
10477</p>
10478
10479<p>
10480This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
10481it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
10482for example:
10483</p>
10484
10485<blockquote>
10486<pre>
10487/etc/postfix/<a href="master.5.html">master.cf</a>:
10488    smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>=11.22.33.44
10489</pre>
10490</blockquote>
10491
10492<p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv4
10493address, and that address is a non-loopback address, it is
10494automatically used as the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>.  This supports virtual
10495IP hosting, but can be a problem on multi-homed firewalls. See the
10496<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
10497
10498<p> Note 2: address information may be enclosed inside <tt>[]</tt>,
10499but this form is not required here. </p>
10500
10501
10502</DD>
10503
10504<DT><b><a name="smtp_bind_address6">smtp_bind_address6</a>
10505(default: empty)</b></DT><DD>
10506
10507<p>
10508An optional numerical network address that the Postfix SMTP client
10509should bind to when making an IPv6 connection.
10510</p>
10511
10512<p> This feature is available in Postfix 2.2 and later. </p>
10513
10514<p>
10515This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
10516it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
10517for example:
10518</p>
10519
10520<blockquote>
10521<pre>
10522/etc/postfix/<a href="master.5.html">master.cf</a>:
10523    smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>=1:2:3:4:5:6:7:8
10524</pre>
10525</blockquote>
10526
10527<p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv6
10528address, and that address is a non-loopback address, it is
10529automatically used as the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>.  This supports virtual
10530IP hosting, but can be a problem on multi-homed firewalls. See the
10531<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
10532
10533<p> Note 2: address information may be enclosed inside <tt>[]</tt>,
10534but this form is not recommended here. </p>
10535
10536
10537</DD>
10538
10539<DT><b><a name="smtp_body_checks">smtp_body_checks</a>
10540(default: empty)</b></DT><DD>
10541
10542<p> Restricted <a href="header_checks.5.html">body_checks(5)</a> tables for the Postfix SMTP client.
10543These tables are searched while mail is being delivered.  Actions
10544that change the delivery time or destination are not available.
10545</p>
10546
10547<p> This feature is available in Postfix 2.5 and later. </p>
10548
10549
10550</DD>
10551
10552<DT><b><a name="smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
10553(default: version dependent)</b></DT><DD>
10554
10555<p> When the remote SMTP servername is a DNS CNAME, replace the
10556servername with the result from CNAME expansion for the purpose of
10557logging, SASL password lookup, TLS
10558policy decisions, or TLS certificate verification. The value "no"
10559hardens Postfix <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> hostname-based policies against
10560false hostname information in DNS CNAME records, and makes SASL
10561password file lookups more predictable. This is the default setting
10562as of Postfix 2.3. </p>
10563
10564<p> When DNS CNAME records are validated with secure DNS lookups
10565(<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> = dnssec), they are always allowed to
10566override the above servername (Postfix 2.11 and later). </p>
10567
10568<p> This feature is available in Postfix 2.2.9 and later. </p>
10569
10570
10571</DD>
10572
10573<DT><b><a name="smtp_connect_timeout">smtp_connect_timeout</a>
10574(default: 30s)</b></DT><DD>
10575
10576<p>
10577The Postfix SMTP client time limit for completing a TCP connection, or
10578zero (use the operating system built-in time limit).
10579</p>
10580
10581<p>
10582When no connection can be made within the deadline, the Postfix
10583SMTP client
10584tries the next address on the mail exchanger list. Specify 0 to
10585disable the time limit (i.e. use whatever timeout is implemented by
10586the operating system).
10587</p>
10588
10589<p>
10590Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10591The default time unit is s (seconds).
10592</p>
10593
10594
10595</DD>
10596
10597<DT><b><a name="smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
10598(default: empty)</b></DT><DD>
10599
10600<p> Permanently enable SMTP connection caching for the specified
10601destinations.  With SMTP connection caching, a connection is not
10602closed immediately after completion of a mail transaction.  Instead,
10603the connection is kept open for up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
10604seconds.  This allows connections to be reused for other deliveries,
10605and can improve mail delivery performance. </p>
10606
10607<p> Specify a comma or white space separated list of destinations
10608or pseudo-destinations: </p>
10609
10610<ul>
10611
10612<li> if mail is sent without a <a href="postconf.5.html#relayhost">relay host</a>: a domain name (the
10613right-hand side of an email address, without the [] around a numeric
10614IP address),
10615
10616<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
10617[] or non-default TCP port), as specified in <a href="postconf.5.html">main.cf</a> or in the
10618transport map,
10619
10620<li> if mail is sent via a UNIX-domain socket: a pathname (without
10621the unix: prefix),
10622
10623<li> a /file/name with domain names and/or <a href="postconf.5.html#relayhost">relay host</a> names as
10624defined above,
10625
10626<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
10627the left-hand side.  The right-hand side result from "<a href="DATABASE_README.html">type:table</a>"
10628lookups is ignored.
10629
10630</ul>
10631
10632<p> This feature is available in Postfix 2.2 and later. </p>
10633
10634
10635</DD>
10636
10637<DT><b><a name="smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
10638(default: yes)</b></DT><DD>
10639
10640<p> Temporarily enable SMTP connection caching while a destination
10641has a high volume of mail in the <a href="QSHAPE_README.html#active_queue">active queue</a>.  With SMTP connection
10642caching, a connection is not closed immediately after completion
10643of a mail transaction.  Instead, the connection is kept open for
10644up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> seconds.  This allows
10645connections to be reused for other deliveries, and can improve mail
10646delivery performance. </p>
10647
10648<p> This feature is available in Postfix 2.2 and later. </p>
10649
10650
10651</DD>
10652
10653<DT><b><a name="smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
10654(default: 2s)</b></DT><DD>
10655
10656<p> When SMTP connection caching is enabled, the amount of time that
10657an unused SMTP client socket is kept open before it is closed.  Do
10658not specify larger values without permission from the remote sites.
10659</p>
10660
10661<p> This feature is available in Postfix 2.2 and later. </p>
10662
10663
10664</DD>
10665
10666<DT><b><a name="smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a>
10667(default: 0)</b></DT><DD>
10668
10669<p> When SMTP connection caching is enabled, the number of times
10670that an SMTP session may be reused before it is closed, or zero (no
10671limit).  With a reuse count limit of N, a connection is used up to
10672N+1 times.  </p>
10673
10674<p> NOTE: This feature is unsafe. When a high-volume destination
10675has multiple inbound MTAs, then the slowest inbound MTA will attract
10676the most connections to that destination.  This limitation does not
10677exist with the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> feature. </p>
10678
10679<p> This feature is available in Postfix 2.11. </p>
10680
10681
10682</DD>
10683
10684<DT><b><a name="smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
10685(default: 300s)</b></DT><DD>
10686
10687<p> The amount of time during which Postfix will use an SMTP
10688connection repeatedly.  The timer starts when the connection is
10689initiated (i.e. it includes the connect, greeting and helo latency,
10690in addition to the latencies of subsequent mail delivery transactions).
10691</p>
10692
10693<p> This feature addresses a performance stability problem with
10694remote SMTP servers. This problem is not specific to Postfix: it
10695can happen when any MTA sends large amounts of SMTP email to a site
10696that has multiple MX hosts. </p>
10697
10698<p> The problem starts when one of a set of MX hosts becomes slower
10699than the rest.  Even though SMTP clients connect to fast and slow
10700MX hosts with equal probability, the slow MX host ends up with more
10701simultaneous inbound connections than the faster MX hosts, because
10702the slow MX host needs more time to serve each client request. </p>
10703
10704<p> The slow MX host becomes a connection attractor.  If one MX
10705host becomes N times slower than the rest, it dominates mail delivery
10706latency unless there are more than N fast MX hosts to counter the
10707effect. And if the number of MX hosts is smaller than N, the mail
10708delivery latency becomes effectively that of the slowest MX host
10709divided by the total number of MX hosts. </p>
10710
10711<p> The solution uses connection caching in a way that differs from
10712Postfix version 2.2.  By limiting the amount of time during which a connection
10713can be used repeatedly (instead of limiting the number of deliveries
10714over that connection), Postfix not only restores fairness in the
10715distribution of simultaneous connections across a set of MX hosts,
10716it also favors deliveries over connections that perform well, which
10717is exactly what we want.  </p>
10718
10719<p> The default reuse time limit, 300s, is comparable to the various
10720smtp transaction timeouts which are fair estimates of maximum excess
10721latency for a slow delivery.  Note that hosts may accept thousands
10722of messages over a single connection within the default connection
10723reuse time limit. This number is much larger than the default Postfix
10724version 2.2 limit of 10 messages per cached connection. It may prove necessary
10725to lower the limit to avoid interoperability issues with MTAs that
10726exhibit bugs when many messages are delivered via a single connection.
10727A lower reuse time limit risks losing the benefit of connection
10728reuse when the average connection and mail delivery latency exceeds
10729the reuse time limit.  </p>
10730
10731<p> This feature is available in Postfix 2.3 and later. </p>
10732
10733
10734</DD>
10735
10736<DT><b><a name="smtp_data_done_timeout">smtp_data_done_timeout</a>
10737(default: 600s)</b></DT><DD>
10738
10739<p>
10740The Postfix SMTP client time limit for sending the SMTP ".", and
10741for receiving the remote SMTP server response.
10742</p>
10743
10744<p>
10745When no response is received within the deadline, a warning is
10746logged that the mail may be delivered multiple times.
10747</p>
10748
10749<p>
10750Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10751The default time unit is s (seconds).
10752</p>
10753
10754
10755</DD>
10756
10757<DT><b><a name="smtp_data_init_timeout">smtp_data_init_timeout</a>
10758(default: 120s)</b></DT><DD>
10759
10760<p>
10761The Postfix SMTP client time limit for sending the SMTP DATA command,
10762and for receiving the remote SMTP server response.
10763</p>
10764
10765<p>
10766Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10767The default time unit is s (seconds).
10768</p>
10769
10770
10771</DD>
10772
10773<DT><b><a name="smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
10774(default: 180s)</b></DT><DD>
10775
10776<p>
10777The Postfix SMTP client time limit for sending the SMTP message content.
10778When the connection makes no progress for more than $<a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
10779seconds the Postfix SMTP client terminates the transfer.
10780</p>
10781
10782<p>
10783Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
10784The default time unit is s (seconds).
10785</p>
10786
10787
10788</DD>
10789
10790<DT><b><a name="smtp_defer_if_no_mx_address_found">smtp_defer_if_no_mx_address_found</a>
10791(default: no)</b></DT><DD>
10792
10793<p>
10794Defer mail delivery when no MX record resolves to an IP address.
10795</p>
10796
10797<p>
10798The default (no) is to return the mail as undeliverable. With older
10799Postfix versions the default was to keep trying to deliver the mail
10800until someone fixed the MX record or until the mail was too old.
10801</p>
10802
10803<p>
10804Note: the Postfix SMTP client always ignores MX records with equal
10805or worse preference
10806than the local MTA itself.
10807</p>
10808
10809<p>
10810This feature is available in Postfix 2.1 and later.
10811</p>
10812
10813
10814</DD>
10815
10816<DT><b><a name="smtp_delivery_status_filter">smtp_delivery_status_filter</a>
10817(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
10818
10819<p> Optional filter for the <a href="smtp.8.html">smtp(8)</a> delivery agent to change the
10820delivery status code or explanatory text of successful or unsuccessful
10821deliveries.  See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details.  </p>
10822
10823<p> NOTE: This feature modifies Postfix SMTP client error or non-error
10824messages that may or may not be derived from remote SMTP server
10825responses.  In contrast, the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> feature modifies
10826remote SMTP server responses only.  </p>
10827
10828
10829</DD>
10830
10831<DT><b><a name="smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>
10832(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
10833
10834<p> The maximal number of parallel deliveries to the same destination
10835via the smtp message delivery transport. This limit is enforced by
10836the queue manager. The message delivery transport name is the first
10837field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
10838
10839
10840</DD>
10841
10842<DT><b><a name="smtp_destination_recipient_limit">smtp_destination_recipient_limit</a>
10843(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
10844
10845<p> The maximal number of recipients per message for the smtp
10846message delivery transport. This limit is enforced by the queue
10847manager. The message delivery transport name is the first field in
10848the entry in the <a href="master.5.html">master.cf</a> file.  </p>
10849
10850<p> Setting this parameter to a value of 1 changes the meaning of
10851<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> from concurrency per domain
10852into concurrency per recipient.  </p>
10853
10854
10855</DD>
10856
10857<DT><b><a name="smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>
10858(default: empty)</b></DT><DD>
10859
10860<p> Lookup tables, indexed by the remote SMTP server address, with
10861case insensitive lists of EHLO keywords (pipelining, starttls, auth,
10862etc.) that the Postfix SMTP client will ignore in the EHLO response from a
10863remote SMTP server. See <a href="postconf.5.html#smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a> for details. The
10864table is not indexed by hostname for consistency with
10865<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
10866
10867<p>
10868Specify zero or more "type:name" lookup tables, separated by
10869whitespace or comma. Tables will be searched in the specified order
10870until a match is found.
10871</p>
10872
10873<p> This feature is available in Postfix 2.2 and later. </p>
10874
10875
10876</DD>
10877
10878<DT><b><a name="smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a>
10879(default: empty)</b></DT><DD>
10880
10881<p> A case insensitive list of EHLO keywords (pipelining, starttls,
10882auth, etc.) that the Postfix SMTP client will ignore in the EHLO
10883response from a remote SMTP server. </p>
10884
10885<p> This feature is available in Postfix 2.2 and later. </p>
10886
10887<p> Notes: </p>
10888
10889<ul>
10890
10891<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
10892this action from being logged. </p>
10893
10894<li> <p> Use the <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a> feature to
10895discard EHLO keywords selectively. </p>
10896
10897</ul>
10898
10899
10900</DD>
10901
10902<DT><b><a name="smtp_dns_reply_filter">smtp_dns_reply_filter</a>
10903(default: empty)</b></DT><DD>
10904
10905<p> Optional filter for Postfix SMTP client DNS lookup results.
10906Specify zero or more lookup tables.  The lookup tables are searched
10907in the given order for a match with the DNS lookup result, converted
10908to the following form: </p>
10909
10910<pre>
10911    <i>name ttl class type preference value</i>
10912</pre>
10913
10914<p> The <i>class</i> field is always "IN", the <i>preference</i>
10915field exists only for MX records, the names of hosts, domains, etc.
10916end in ".", and those names are in ASCII form (xn--mumble form in
10917the case of UTF8 names).  </p>
10918
10919<p> When a match is found, the table lookup result specifies an
10920action.  By default, the table query and the action name are
10921case-insensitive.  Currently, only the <b>IGNORE</b> action is
10922implemented.  </p>
10923
10924<p> Notes: </p>
10925
10926<ul>
10927
10928<li> <p> Postfix DNS reply filters have no effect on implicit DNS
10929lookups through nsswitch.conf or equivalent mechanisms.  </p>
10930
10931<li> <p> The Postfix SMTP/LMTP client uses <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a>
10932and <a href="postconf.5.html#lmtp_dns_reply_filter">lmtp_dns_reply_filter</a> only to discover a remote SMTP or LMTP
10933service (record types MX, A, AAAAA, and TLSA).  These lookups are
10934also made to implement the features <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> and
10935<a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>.  </p>
10936
10937<li> <p> The Postfix SMTP/LMTP client defers mail delivery when
10938a filter removes all lookup results from a successful query.  </p>
10939
10940<li> <p> Postfix SMTP server uses <a href="postconf.5.html#smtpd_dns_reply_filter">smtpd_dns_reply_filter</a> only to
10941look up MX, A, AAAAA, and TXT records to implement the features
10942<a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>, <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>,
10943<a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>, reject_rbl_*, and reject_rhsbl_*.
10944</p>
10945
10946<li> <p> The Postfix SMTP server logs a warning or defers mail
10947delivery when a filter removes all lookup results from a successful
10948query.  </p>
10949
10950</ul>
10951
10952<p> Example: ignore Google AAAA records in Postfix SMTP client DNS
10953lookups, because Google sometimes hard-rejects mail from IPv6 clients
10954with valid PTR etc. records. </p>
10955
10956<pre>
10957/etc/postfix/<a href="postconf.5.html">main.cf</a>:
10958    <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/smtp_dns_reply_filter
10959</pre>
10960
10961<pre>
10962/etc/postfix/smtp_dns_reply_filter:
10963    # /domain ttl IN AAAA address/ action, all case-insensitive.
10964    # Note: the domain name ends in ".".
10965    /^\S+\.google\.com\.\s+\S+\s+\S+\s+AAAA\s+/ IGNORE
10966</pre>
10967
10968<p> This feature is available in Postfix 3.0 and later. </p>
10969
10970
10971</DD>
10972
10973<DT><b><a name="smtp_dns_resolver_options">smtp_dns_resolver_options</a>
10974(default: empty)</b></DT><DD>
10975
10976<p> DNS Resolver options for the Postfix SMTP client.  Specify zero
10977or more of the following options, separated by comma or whitespace.
10978Option names are case-sensitive. Some options refer to domain names
10979that are specified in the file /etc/resolv.conf or equivalent. </p>
10980
10981<dl>
10982
10983<dt><b>res_defnames</b></dt>
10984
10985<dd> Append the current domain name to single-component names (those
10986that do not contain a "." character). This can produce incorrect
10987results, and is the hard-coded behavior prior to Postfix 2.8. </dd>
10988
10989<dt><b>res_dnsrch</b></dt>
10990
10991<dd> Search for host names in the current domain and in parent
10992domains. This can produce incorrect results and is therefore not
10993recommended. </dd>
10994
10995</dl>
10996
10997<p> This feature is available in Postfix 2.8 and later.  </p>
10998
10999
11000</DD>
11001
11002<DT><b><a name="smtp_dns_support_level">smtp_dns_support_level</a>
11003(default: empty)</b></DT><DD>
11004
11005<p> Level of DNS support in the Postfix SMTP client.  With
11006"<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>" left at its empty default value, the legacy
11007"<a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a>" parameter controls whether DNS is enabled in
11008the Postfix SMTP client, otherwise the legacy parameter is ignored.
11009</p>
11010
11011<p> Specify one of the following: </p>
11012
11013<dl>
11014
11015<dt><b>disabled</b></dt>
11016
11017<dd>Disable DNS lookups.  No MX lookups are performed and hostname
11018to address lookups are unconditionally "native".  This setting is
11019not appropriate for hosts that deliver mail to the public Internet.
11020Some obsolete how-to documents recommend disabling DNS lookups in
11021some configurations with content_filters.  This is no longer required
11022and strongly discouraged.  </dd>
11023
11024<dt><b>enabled</b></dt>
11025
11026<dd>Enable DNS lookups.  Nexthop destination domains not enclosed
11027in "[]" will be subject to MX lookups.  If "dns" and "native" are
11028included in the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter value, DNS will be
11029queried first to resolve MX-host A records, followed by "native"
11030lookups if no answer is found in DNS.  </dd>
11031
11032<dt><b>dnssec</b></dt>
11033
11034<dd>Enable <a href="https://tools.ietf.org/html/rfc4033">DNSSEC</a>
11035lookups.  The "dnssec" setting differs from the "enabled" setting
11036above in the following ways: <ul> <li>Any MX lookups will set
11037RES_USE_DNSSEC and RES_USE_EDNS0 to request DNSSEC-validated
11038responses. If the MX response is DNSSEC-validated the corresponding
11039hostnames are considered validated.  <li> The address lookups of
11040validated hostnames are also validated, (provided of course
11041"<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" includes "dns", see below).  <li>Temporary
11042failures in DNSSEC-enabled hostname-to-address resolution block any
11043"native" lookups.  Additional "native" lookups only happen when
11044DNSSEC lookups hard-fail (NODATA or NXDOMAIN).  </ul> </dd>
11045
11046</dl>
11047
11048<p> The Postfix SMTP client considers non-MX "[nexthop]" and
11049"[nexthop]:port" destinations equivalent to statically-validated
11050MX records of the form "nexthop.  IN MX 0 nexthop."  Therefore,
11051with "dnssec" support turned on, validated hostname-to-address
11052lookups apply to the nexthop domain of any "[nexthop]" or
11053"[nexthop]:port" destination.  This is also true for LMTP "inet:host"
11054and "inet:host:port" destinations, as LMTP hostnames are never
11055subject to MX lookups.  </p>
11056
11057<p>The "dnssec" setting is recommended only if you plan to use the
11058<a href="TLS_README.html#client_tls_dane">dane</a> or <a
11059href="TLS_README.html#client_tls_dane">dane-only</a> TLS security
11060level, otherwise enabling DNSSEC support in Postfix offers no
11061additional security.  Postfix DNSSEC support relies on an upstream
11062recursive nameserver that validates DNSSEC signatures.  Such a DNS
11063server will always filter out forged DNS responses, even when Postfix
11064itself is not configured to use DNSSEC. </p>
11065
11066<p> When using Postfix DANE support the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter
11067should include "dns", as <a
11068href="https://tools.ietf.org/html/rfc7672">DANE</a> is not applicable
11069to hosts resolved via "native" lookups.  </p>
11070
11071<p> As mentioned above, Postfix is not a validating <a
11072href="https://tools.ietf.org/html/rfc4035#section-4.9">stub
11073resolver</a>; it relies on the system's configured DNSSEC-validating
11074<a href="https://tools.ietf.org/html/rfc4035#section-3.2">recursive
11075nameserver</a> to perform all DNSSEC validation.  Since this
11076nameserver's DNSSEC-validated responses will be fully trusted, it
11077is strongly recommended that the MTA host have a local DNSSEC-validating
11078recursive caching nameserver listening on a loopback address, and
11079be configured to use only this nameserver for all lookups.  Otherwise,
11080Postfix may remain subject to man-in-the-middle attacks that forge
11081responses from the recursive nameserver</p>
11082
11083<p>DNSSEC support requires a version of Postfix compiled against a
11084reasonably-modern DNS resolver(3) library that implements the
11085RES_USE_DNSSEC and RES_USE_EDNS0 resolver options. </p>
11086
11087<p> This feature is available in Postfix 2.11 and later.  </p>
11088
11089
11090</DD>
11091
11092<DT><b><a name="smtp_enforce_tls">smtp_enforce_tls</a>
11093(default: no)</b></DT><DD>
11094
11095<p> Enforcement mode: require that remote SMTP servers use TLS
11096encryption, and never send mail in the clear.  This also requires
11097that the remote SMTP server hostname matches the information in
11098the remote server certificate, and that the remote SMTP server
11099certificate was issued by a CA that is trusted by the Postfix SMTP
11100client. If the certificate doesn't verify or the hostname doesn't
11101match, delivery is deferred and mail stays in the queue.  </p>
11102
11103<p> The server hostname is matched against all names provided as
11104dNSNames in the SubjectAlternativeName.  If no dNSNames are specified,
11105the CommonName is checked.  The behavior may be changed with the
11106<a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> option.  </p>
11107
11108<p> This option is useful only if you are definitely sure that you
11109will only connect to servers that support <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> _and_ that
11110provide valid server certificates.  Typical use is for clients that
11111send all their email to a dedicated mailhub.  </p>
11112
11113<p> This feature is available in Postfix 2.2 and later. With
11114Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
11115
11116
11117</DD>
11118
11119<DT><b><a name="smtp_fallback_relay">smtp_fallback_relay</a>
11120(default: $<a href="postconf.5.html#fallback_relay">fallback_relay</a>)</b></DT><DD>
11121
11122<p>
11123Optional list of relay hosts for SMTP destinations that can't be
11124found or that are unreachable. With Postfix 2.2 and earlier this
11125parameter is called <a href="postconf.5.html#fallback_relay">fallback_relay</a>.  </p>
11126
11127<p>
11128By default, mail is returned to the sender when a destination is
11129not found, and delivery is deferred when a destination is unreachable.
11130</p>
11131
11132<p> With bulk email deliveries, it can be beneficial to run the
11133fallback relay MTA on the same host, so that it can reuse the sender
11134IP address.  This speeds up deliveries that are delayed by IP-based
11135reputation systems (greylist, etc.). </p>
11136
11137<p> The fallback relays must be SMTP destinations. Specify a domain,
11138host, host:port, [host]:port, [address] or [address]:port; the form
11139[host] turns off MX lookups.  If you specify multiple SMTP
11140destinations, Postfix will try them in the specified order.  </p>
11141
11142<p> To prevent mailer loops between MX hosts and fall-back hosts,
11143Postfix version 2.2 and later will not use the fallback relays for
11144destinations that it is MX host for (assuming DNS lookup is turned on).
11145</p>
11146
11147
11148</DD>
11149
11150<DT><b><a name="smtp_generic_maps">smtp_generic_maps</a>
11151(default: empty)</b></DT><DD>
11152
11153<p> Optional lookup tables that perform address rewriting in the
11154Postfix SMTP client, typically to transform a locally valid address into
11155a globally valid address when sending mail across the Internet.
11156This is needed when the local machine does not have its own Internet
11157domain name, but uses something like <i>localdomain.local</i>
11158instead.  </p>
11159
11160<p>
11161Specify zero or more "type:name" lookup tables, separated by
11162whitespace or comma. Tables will be searched in the specified order
11163until a match is found.
11164</p>
11165
11166<p> The table format and lookups are documented in <a href="generic.5.html">generic(5)</a>;
11167examples are shown in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> and
11168<a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> documents. </p>
11169
11170<p> This feature is available in Postfix 2.2 and later.  </p>
11171
11172
11173</DD>
11174
11175<DT><b><a name="smtp_header_checks">smtp_header_checks</a>
11176(default: empty)</b></DT><DD>
11177
11178<p> Restricted <a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP client.
11179These tables are searched while mail is being delivered.  Actions
11180that change the delivery time or destination are not available.
11181</p>
11182
11183<p> This feature is available in Postfix 2.5 and later. </p>
11184
11185
11186</DD>
11187
11188<DT><b><a name="smtp_helo_name">smtp_helo_name</a>
11189(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
11190
11191<p>
11192The hostname to send in the SMTP HELO or EHLO command.
11193</p>
11194
11195<p>
11196The default value is the machine hostname.  Specify a hostname or
11197[ip.add.re.ss].
11198</p>
11199
11200<p>
11201This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP
11202clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
11203client, for example:
11204</p>
11205
11206<blockquote>
11207<pre>
11208/etc/postfix/<a href="master.5.html">master.cf</a>:
11209    mysmtp ... smtp -o <a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a>=foo.bar.com
11210</pre>
11211</blockquote>
11212
11213<p>
11214This feature is available in Postfix 2.0 and later.
11215</p>
11216
11217
11218</DD>
11219
11220<DT><b><a name="smtp_helo_timeout">smtp_helo_timeout</a>
11221(default: 300s)</b></DT><DD>
11222
11223<p>
11224The Postfix SMTP client time limit for sending the HELO or EHLO command,
11225and for receiving the initial remote SMTP server response.
11226</p>
11227
11228<p>
11229Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
11230The default time unit is s (seconds).
11231</p>
11232
11233
11234</DD>
11235
11236<DT><b><a name="smtp_host_lookup">smtp_host_lookup</a>
11237(default: dns)</b></DT><DD>
11238
11239<p>
11240What mechanisms the Postfix SMTP client uses to look up a host's
11241IP address.  This parameter is ignored when DNS lookups are disabled
11242(see: <a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a> and <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>).  The "dns"
11243mechanism is always tried before "native" if both are listed.
11244</p>
11245
11246<p>
11247Specify one of the following:
11248</p>
11249
11250<dl>
11251
11252<dt><b>dns</b></dt>
11253
11254<dd>Hosts can be found in the DNS (preferred).  </dd>
11255
11256<dt><b>native</b></dt>
11257
11258<dd>Use the native naming service only (nsswitch.conf, or equivalent
11259mechanism).  </dd>
11260
11261<dt><b>dns, native</b></dt>
11262
11263<dd>Use the native service for hosts not found in the DNS.  </dd>
11264
11265</dl>
11266
11267<p>
11268This feature is available in Postfix 2.1 and later.
11269</p>
11270
11271
11272</DD>
11273
11274<DT><b><a name="smtp_line_length_limit">smtp_line_length_limit</a>
11275(default: 998)</b></DT><DD>
11276
11277<p>
11278The maximal length of message header and body lines that Postfix
11279will send via SMTP. This limit does not include the &lt;CR&gt;&lt;LF&gt;
11280at the end of each line.  Longer lines are broken by inserting
11281"&lt;CR&gt;&lt;LF&gt;&lt;SPACE&gt;", to minimize the damage to MIME
11282formatted mail.
11283</p>
11284
11285<p>
11286The Postfix limit of 998 characters not including &lt;CR&gt;&lt;LF&gt;
11287is consistent with the SMTP limit of 1000 characters including
11288&lt;CR&gt;&lt;LF&gt;.  The Postfix limit was 990 with Postfix 2.8
11289and earlier.
11290</p>
11291
11292
11293</DD>
11294
11295<DT><b><a name="smtp_mail_timeout">smtp_mail_timeout</a>
11296(default: 300s)</b></DT><DD>
11297
11298<p>
11299The Postfix SMTP client time limit for sending the MAIL FROM command,
11300and for receiving the remote SMTP server response.
11301</p>
11302
11303<p>
11304Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
11305The default time unit is s (seconds).
11306</p>
11307
11308
11309</DD>
11310
11311<DT><b><a name="smtp_mime_header_checks">smtp_mime_header_checks</a>
11312(default: empty)</b></DT><DD>
11313
11314<p> Restricted mime_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
11315client. These tables are searched while mail is being delivered.
11316Actions that change the delivery time or destination are not
11317available.  </p>
11318
11319<p> This feature is available in Postfix 2.5 and later. </p>
11320
11321
11322</DD>
11323
11324<DT><b><a name="smtp_mx_address_limit">smtp_mx_address_limit</a>
11325(default: 5)</b></DT><DD>
11326
11327<p>
11328The maximal number of MX (mail exchanger) IP addresses that can
11329result from Postfix SMTP client mail exchanger lookups, or zero (no
11330limit). Prior to
11331Postfix version 2.3, this limit was disabled by default.
11332</p>
11333
11334<p>
11335This feature is available in Postfix 2.1 and later.
11336</p>
11337
11338
11339</DD>
11340
11341<DT><b><a name="smtp_mx_session_limit">smtp_mx_session_limit</a>
11342(default: 2)</b></DT><DD>
11343
11344<p> The maximal number of SMTP sessions per delivery request before
11345the Postfix SMTP client
11346gives up or delivers to a fall-back <a href="postconf.5.html#relayhost">relay host</a>, or zero (no
11347limit). This restriction ignores sessions that fail to complete the
11348SMTP initial handshake (Postfix version 2.2 and earlier) or that fail to
11349complete the EHLO and TLS handshake (Postfix version 2.3 and later).  </p>
11350
11351<p> This feature is available in Postfix 2.1 and later.  </p>
11352
11353
11354</DD>
11355
11356<DT><b><a name="smtp_nested_header_checks">smtp_nested_header_checks</a>
11357(default: empty)</b></DT><DD>
11358
11359<p> Restricted nested_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
11360client. These tables are searched while mail is being delivered.
11361Actions that change the delivery time or destination are not
11362available.  </p>
11363
11364<p> This feature is available in Postfix 2.5 and later. </p>
11365
11366
11367</DD>
11368
11369<DT><b><a name="smtp_never_send_ehlo">smtp_never_send_ehlo</a>
11370(default: no)</b></DT><DD>
11371
11372<p> Never send EHLO at the start of an SMTP session. See also the
11373<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> parameter.  </p>
11374
11375
11376</DD>
11377
11378<DT><b><a name="smtp_per_record_deadline">smtp_per_record_deadline</a>
11379(default: no)</b></DT><DD>
11380
11381<p> Change the behavior of the smtp_*_timeout time limits, from a
11382time limit per read or write system call, to a time limit to send
11383or receive a complete record (an SMTP command line, SMTP response
11384line, SMTP message content line, or TLS protocol message).  This
11385limits the impact from hostile peers that trickle data one byte at
11386a time.  </p>
11387
11388<p> Note: when per-record deadlines are enabled, a short timeout
11389may cause problems with TLS over very slow network connections.
11390The reasons are that a TLS protocol message can be up to 16 kbytes
11391long (with TLSv1), and that an entire TLS protocol message must be
11392sent or received within the per-record deadline.  </p>
11393
11394<p> This feature is available in Postfix 2.9 and later. With older
11395Postfix releases, the behavior is as if this parameter is set to
11396"no". </p>
11397
11398
11399</DD>
11400
11401<DT><b><a name="smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
11402(default: 10s)</b></DT><DD>
11403
11404<p>
11405How long the Postfix SMTP client pauses before sending
11406".&lt;CR&gt;&lt;LF&gt;" in order to work around the PIX firewall
11407"&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;" bug.
11408</p>
11409
11410<p>
11411Choosing a too short time makes this workaround ineffective when
11412sending large messages over slow network connections.
11413</p>
11414
11415
11416</DD>
11417
11418<DT><b><a name="smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
11419(default: empty)</b></DT><DD>
11420
11421<p> Lookup tables, indexed by the remote SMTP server address, with
11422per-destination workarounds for CISCO PIX firewall bugs.  The table
11423is not indexed by hostname for consistency with
11424<a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>. </p>
11425
11426<p>
11427Specify zero or more "type:name" lookup tables, separated by
11428whitespace or comma. Tables will be searched in the specified order
11429until a match is found.
11430</p>
11431
11432<p> This feature is available in Postfix 2.4 and later. </p>
11433
11434
11435</DD>
11436
11437<DT><b><a name="smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
11438(default: 500s)</b></DT><DD>
11439
11440<p> How long a message must be queued before the Postfix SMTP client
11441turns on the PIX firewall "&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;"
11442bug workaround for delivery through firewalls with "smtp fixup"
11443mode turned on.  </p>
11444
11445<p>
11446By default, the workaround is turned off for mail that is queued
11447for less than 500 seconds. In other words, the workaround is normally
11448turned off for the first delivery attempt.
11449</p>
11450
11451<p>
11452Specify 0 to enable the PIX firewall
11453"&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;" bug workaround upon the
11454first delivery attempt.
11455</p>
11456
11457
11458</DD>
11459
11460<DT><b><a name="smtp_pix_workarounds">smtp_pix_workarounds</a>
11461(default: disable_esmtp, delay_dotcrlf)</b></DT><DD>
11462
11463<p> A list that specifies zero or more workarounds for CISCO PIX
11464firewall bugs. These workarounds are implemented by the Postfix
11465SMTP client. Workaround names are separated by comma or space, and
11466are case insensitive.  This parameter setting can be overruled with
11467per-destination <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> settings. </p>
11468
11469<dl>
11470
11471<dt><b>delay_dotcrlf</b><dd> Insert a delay before sending
11472".&lt;CR&gt;&lt;LF&gt;" after the end of the message content.  The
11473delay is subject to the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> and
11474<a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> parameter settings. </dd>
11475
11476<dt><b>disable_esmtp</b><dd> Disable all extended SMTP commands:
11477send HELO instead of EHLO. </dd>
11478
11479</dl>
11480
11481<p> This feature is available in Postfix 2.4 and later. The default
11482settings are backwards compatible with earlier Postfix versions.
11483</p>
11484
11485
11486</DD>
11487
11488<DT><b><a name="smtp_quit_timeout">smtp_quit_timeout</a>
11489(default: 300s)</b></DT><DD>
11490
11491<p>
11492The Postfix SMTP client time limit for sending the QUIT command,
11493and for receiving the remote SMTP server response.
11494</p>
11495
11496<p>
11497Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
11498The default time unit is s (seconds).
11499</p>
11500
11501
11502</DD>
11503
11504<DT><b><a name="smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
11505(default: yes)</b></DT><DD>
11506
11507<p>
11508Quote addresses in Postfix SMTP client MAIL FROM and RCPT TO commands
11509as required
11510by <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. This includes putting quotes around an address localpart
11511that ends in ".".
11512</p>
11513
11514<p>
11515The default is to comply with <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. If you have to send mail to
11516a broken SMTP server, configure a special SMTP client in <a href="master.5.html">master.cf</a>:
11517</p>
11518
11519<blockquote>
11520<pre>
11521/etc/postfix/<a href="master.5.html">master.cf</a>:
11522    broken-smtp . . . smtp -o <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>=no
11523</pre>
11524</blockquote>
11525
11526<p>
11527and route mail for the destination in question to the "broken-smtp"
11528message delivery with a <a href="transport.5.html">transport(5)</a> table.
11529</p>
11530
11531<p>
11532This feature is available in Postfix 2.1 and later.
11533</p>
11534
11535
11536</DD>
11537
11538<DT><b><a name="smtp_randomize_addresses">smtp_randomize_addresses</a>
11539(default: yes)</b></DT><DD>
11540
11541<p>
11542Randomize the order of equal-preference MX host addresses.  This
11543is a performance feature of the Postfix SMTP client.
11544</p>
11545
11546
11547</DD>
11548
11549<DT><b><a name="smtp_rcpt_timeout">smtp_rcpt_timeout</a>
11550(default: 300s)</b></DT><DD>
11551
11552<p>
11553The Postfix SMTP client time limit for sending the SMTP RCPT TO
11554command, and for receiving the remote SMTP server response.
11555</p>
11556
11557<p>
11558Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
11559The default time unit is s (seconds).
11560</p>
11561
11562
11563</DD>
11564
11565<DT><b><a name="smtp_reply_filter">smtp_reply_filter</a>
11566(default: empty)</b></DT><DD>
11567
11568<p> A mechanism to transform replies from remote SMTP servers one
11569line at a time.  This is a last-resort tool to work around server
11570replies that break interoperability with the Postfix SMTP client.
11571Other uses involve fault injection to test Postfix's handling of
11572invalid responses. </p>
11573
11574<p> Notes: </p>
11575
11576<ul>
11577
11578<li> <p> In the case of a multi-line reply, the Postfix SMTP client
11579uses the final reply line's numerical SMTP reply code and enhanced
11580status code.  </p>
11581
11582<li> <p> The numerical SMTP reply code (XYZ) takes precedence over
11583the enhanced status code (X.Y.Z).  When the enhanced status code
11584initial digit differs from the SMTP reply code initial digit, or
11585when no enhanced status code is present, the Postfix SMTP client
11586uses a generic enhanced status code (X.0.0) instead. </p>
11587
11588</ul>
11589
11590<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
11591string is a single SMTP reply line as received from the remote SMTP
11592server, except that the trailing &lt;CR&gt;&lt;LF&gt; are removed.
11593When the lookup succeeds, the result replaces the single SMTP reply
11594line. </p>
11595
11596<p> Examples: </p>
11597
11598<pre>
11599/etc/postfix/<a href="postconf.5.html">main.cf</a>:
11600    <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/reply_filter
11601</pre>
11602
11603<pre>
11604/etc/postfix/reply_filter:
11605    # Transform garbage into "250-filler..." so that it looks like
11606    # one line from a multi-line reply. It does not matter what we
11607    # substitute here as long it has the right syntax.  The Postfix
11608    # SMTP client will use the final line's numerical SMTP reply
11609    # code and enhanced status code.
11610    !/^([2-5][0-9][0-9]($|[- ]))/ 250-filler for garbage
11611</pre>
11612
11613<p> This feature is available in Postfix 2.7. </p>
11614
11615
11616</DD>
11617
11618<DT><b><a name="smtp_rset_timeout">smtp_rset_timeout</a>
11619(default: 20s)</b></DT><DD>
11620
11621<p> The Postfix SMTP client time limit for sending the RSET command,
11622and for receiving the remote SMTP server response. The SMTP client
11623sends RSET in
11624order to finish a recipient address probe, or to verify that a
11625cached session is still usable.  </p>
11626
11627<p> This feature is available in Postfix 2.1 and later.  </p>
11628
11629
11630</DD>
11631
11632<DT><b><a name="smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
11633(default: empty)</b></DT><DD>
11634
11635<p> An optional table to prevent repeated SASL authentication
11636failures with the same remote SMTP server hostname, username and
11637password. Each table (key, value) pair contains a server name, a
11638username and password, and the full server response. This information
11639is stored when a remote SMTP server rejects an authentication attempt
11640with a 535 reply code.  As long as the <a href="postconf.5.html#smtp_sasl_password_maps">smtp_sasl_password_maps</a>
11641information does no change, and as long as the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
11642information does not expire (see <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>) the
11643Postfix SMTP client avoids SASL authentication attempts with the
11644same server, username and password, and instead bounces or defers
11645mail as controlled with the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> configuration
11646parameter.  </p>
11647
11648<p> Use a per-destination delivery concurrency of 1 (for example,
11649"<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> = 1",
11650"<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> = 1", etc.), otherwise multiple
11651delivery agents may experience a login failure at the same time.
11652</p>
11653
11654<p> The table must be accessed via the proxywrite service, i.e. the
11655map name must start with "<a href="proxymap.8.html">proxy</a>:". The table should be stored under
11656the directory specified with the <a href="postconf.5.html#data_directory">data_directory</a> parameter. </p>
11657
11658<p> This feature uses cryptographic hashing to protect plain-text
11659passwords, and requires that Postfix is compiled with TLS support.
11660</p>
11661
11662<p> Example: </p>
11663
11664<pre>
11665<a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> = <a href="proxymap.8.html">proxy</a>:<a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/sasl_auth_cache
11666</pre>
11667
11668<p> This feature is available in Postfix 2.5 and later. </p>
11669
11670
11671</DD>
11672
11673<DT><b><a name="smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
11674(default: 90d)</b></DT><DD>
11675
11676<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
11677is removed. </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="smtp_sasl_auth_enable">smtp_sasl_auth_enable</a>
11685(default: no)</b></DT><DD>
11686
11687<p>
11688Enable SASL authentication in the Postfix SMTP client.  By default,
11689the Postfix SMTP client uses no authentication.
11690</p>
11691
11692<p>
11693Example:
11694</p>
11695
11696<pre>
11697<a href="postconf.5.html#smtp_sasl_auth_enable">smtp_sasl_auth_enable</a> = yes
11698</pre>
11699
11700
11701</DD>
11702
11703<DT><b><a name="smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
11704(default: yes)</b></DT><DD>
11705
11706<p> When a remote SMTP server rejects a SASL authentication request
11707with a 535 reply code, defer mail delivery instead of returning
11708mail as undeliverable. The latter behavior was hard-coded prior to
11709Postfix version 2.5. </p>
11710
11711<p> Note: the setting "yes" overrides the global <a href="postconf.5.html#soft_bounce">soft_bounce</a>
11712parameter, but the setting "no" does not. </p>
11713
11714<p> Example: </p>
11715
11716<pre>
11717# Default as of Postfix 2.5
11718<a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = yes
11719# The old hard-coded default
11720<a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = no
11721</pre>
11722
11723<p> This feature is available in Postfix 2.5 and later. </p>
11724
11725
11726</DD>
11727
11728<DT><b><a name="smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
11729(default: empty)</b></DT><DD>
11730
11731<p>
11732If non-empty, a Postfix SMTP client filter for the remote SMTP
11733server's list of offered SASL mechanisms.  Different client and
11734server implementations may support different mechanism lists; by
11735default, the Postfix SMTP client will use the intersection of the
11736two. <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> specifies an optional third mechanism
11737list to intersect with. </p>
11738
11739<p> Specify mechanism names, "/file/name" patterns or "<a href="DATABASE_README.html">type:table</a>"
11740lookup tables. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>" lookups
11741is ignored. Specify "!pattern" to exclude a mechanism name from the
11742list. The form "!/file/name" is supported only in Postfix version
117432.4 and later. </p>
11744
11745<p> This feature is available in Postfix 2.2 and later. </p>
11746
11747<p>
11748Examples:
11749</p>
11750
11751<pre>
11752<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = plain, login
11753<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = /etc/postfix/smtp_mechs
11754<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = !gssapi, !login, <a href="DATABASE_README.html#types">static</a>:rest
11755</pre>
11756
11757
11758</DD>
11759
11760<DT><b><a name="smtp_sasl_password_maps">smtp_sasl_password_maps</a>
11761(default: empty)</b></DT><DD>
11762
11763<p>
11764Optional Postfix SMTP client lookup tables with one username:password
11765entry per sender, remote hostname or next-hop domain. Per-sender
11766lookup is done only when sender-dependent authentication is enabled.
11767If no username:password entry is found, then the Postfix SMTP client
11768will not attempt to authenticate to the remote host.
11769</p>
11770
11771<p>
11772The Postfix SMTP client opens the lookup table before going to
11773chroot jail, so you can leave the password file in /etc/postfix.
11774</p>
11775
11776<p>
11777Specify zero or more "type:name" lookup tables, separated by
11778whitespace or comma. Tables will be searched in the specified order
11779until a match is found.
11780</p>
11781
11782
11783</DD>
11784
11785<DT><b><a name="smtp_sasl_path">smtp_sasl_path</a>
11786(default: empty)</b></DT><DD>
11787
11788<p> Implementation-specific information that the Postfix SMTP client
11789passes through to
11790the SASL plug-in implementation that is selected with
11791<b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.  Typically this specifies the name of a
11792configuration file or rendezvous point. </p>
11793
11794<p> This feature is available in Postfix 2.3 and later. </p>
11795
11796
11797</DD>
11798
11799<DT><b><a name="smtp_sasl_security_options">smtp_sasl_security_options</a>
11800(default: noplaintext, noanonymous)</b></DT><DD>
11801
11802<p> Postfix SMTP client SASL security options; as of Postfix 2.3
11803the list of available
11804features depends on the SASL client implementation that is selected
11805with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.  </p>
11806
11807<p> The following security features are defined for the <b>cyrus</b>
11808client SASL implementation: </p>
11809
11810<p>
11811Specify zero or more of the following:
11812</p>
11813
11814<dl>
11815
11816<dt><b>noplaintext</b></dt>
11817
11818<dd>Disallow methods that use plaintext passwords. </dd>
11819
11820<dt><b>noactive</b></dt>
11821
11822<dd>Disallow methods subject to active (non-dictionary) attack.
11823</dd>
11824
11825<dt><b>nodictionary</b></dt>
11826
11827<dd>Disallow methods subject to passive (dictionary) attack. </dd>
11828
11829<dt><b>noanonymous</b></dt>
11830
11831<dd>Disallow methods that allow anonymous authentication. </dd>
11832
11833<dt><b>mutual_auth</b></dt>
11834
11835<dd>Only allow methods that provide mutual authentication (not
11836available with SASL version 1). </dd>
11837
11838</dl>
11839
11840<p>
11841Example:
11842</p>
11843
11844<pre>
11845<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> = noplaintext
11846</pre>
11847
11848
11849</DD>
11850
11851<DT><b><a name="smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
11852(default: $<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a>)</b></DT><DD>
11853
11854<p> The SASL authentication security options that the Postfix SMTP
11855client uses for TLS encrypted SMTP sessions. </p>
11856
11857<p> This feature is available in Postfix 2.2 and later.  </p>
11858
11859
11860</DD>
11861
11862<DT><b><a name="smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a>
11863(default: $<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>)</b></DT><DD>
11864
11865<p> The SASL authentication security options that the Postfix SMTP
11866client uses for TLS encrypted SMTP sessions with a verified server
11867certificate. </p>
11868
11869<p> When mail is sent to the public MX host for the recipient's
11870domain, server certificates are by default optional, and delivery
11871proceeds even if certificate verification fails. For delivery via
11872a submission service that requires SASL authentication, it may be
11873appropriate to send plaintext passwords only when the connection
11874to the server is strongly encrypted <b>and</b> the server identity
11875is verified. </p>
11876
11877<p> The <a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> parameter makes it
11878possible to only enable plaintext mechanisms when a secure connection
11879to the server is available. Submission servers subject to this
11880policy must either have verifiable certificates or offer suitable
11881non-plaintext SASL mechanisms. </p>
11882
11883<p> This feature is available in Postfix 2.6 and later. </p>
11884
11885
11886</DD>
11887
11888<DT><b><a name="smtp_sasl_type">smtp_sasl_type</a>
11889(default: cyrus)</b></DT><DD>
11890
11891<p> The SASL plug-in type that the Postfix SMTP client should use
11892for authentication.  The available types are listed with the
11893"<b>postconf -A</b>" command. </p>
11894
11895<p> This feature is available in Postfix 2.3 and later. </p>
11896
11897
11898</DD>
11899
11900<DT><b><a name="smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
11901(default: no)</b></DT><DD>
11902
11903<p> Whether or not to append the "AUTH=&lt;&gt;" option to the MAIL
11904FROM command in SASL-authenticated SMTP sessions. The default is
11905not to send this, to avoid problems with broken remote SMTP servers.
11906Before Postfix 2.9 the behavior is as if "<a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
11907= yes".
11908
11909<p> This feature is available in Postfix 2.9 and later. </p>
11910
11911
11912</DD>
11913
11914<DT><b><a name="smtp_send_xforward_command">smtp_send_xforward_command</a>
11915(default: no)</b></DT><DD>
11916
11917<p>
11918Send the non-standard XFORWARD command when the Postfix SMTP server
11919EHLO response announces XFORWARD support.
11920</p>
11921
11922<p>
11923This allows a Postfix SMTP delivery agent, used for injecting mail
11924into
11925a content filter, to forward the name, address, protocol and HELO
11926name of the original client to the content filter and downstream
11927queuing SMTP server. This can produce more useful logging than
11928localhost[127.0.0.1] etc.
11929</p>
11930
11931<p>
11932This feature is available in Postfix 2.1 and later.
11933</p>
11934
11935
11936</DD>
11937
11938<DT><b><a name="smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
11939(default: no)</b></DT><DD>
11940
11941<p>
11942Enable sender-dependent authentication in the Postfix SMTP client; this is
11943available only with SASL authentication, and disables SMTP connection
11944caching to ensure that mail from different senders will use the
11945appropriate credentials.  </p>
11946
11947<p>
11948This feature is available in Postfix 2.3 and later.
11949</p>
11950
11951
11952</DD>
11953
11954<DT><b><a name="smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a>
11955(default: yes)</b></DT><DD>
11956
11957<p>
11958Skip SMTP servers that greet with a 4XX status code (go away, try
11959again later).
11960</p>
11961
11962<p>
11963By default, the Postfix SMTP client moves on the next mail exchanger.
11964Specify
11965"<a href="postconf.5.html#smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a> = no" if Postfix should defer delivery
11966immediately.
11967</p>
11968
11969<p> This feature is available in Postfix 2.0 and earlier.
11970Later Postfix versions always skip remote SMTP servers that greet
11971with a
119724XX status code. </p>
11973
11974
11975</DD>
11976
11977<DT><b><a name="smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
11978(default: yes)</b></DT><DD>
11979
11980<p>
11981Skip remote SMTP servers that greet with a 5XX status code.
11982</p>
11983
11984<p> By default, the Postfix SMTP client moves on the next mail
11985exchanger. Specify "<a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> = no" if Postfix should
11986bounce the mail immediately. Caution: the latter behavior appears
11987to contradict <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>. </p>
11988
11989
11990</DD>
11991
11992<DT><b><a name="smtp_skip_quit_response">smtp_skip_quit_response</a>
11993(default: yes)</b></DT><DD>
11994
11995<p>
11996Do not wait for the response to the SMTP QUIT command.
11997</p>
11998
11999
12000</DD>
12001
12002<DT><b><a name="smtp_starttls_timeout">smtp_starttls_timeout</a>
12003(default: 300s)</b></DT><DD>
12004
12005<p> Time limit for Postfix SMTP client write and read operations
12006during TLS startup and shutdown handshake procedures. </p>
12007
12008<p> This feature is available in Postfix 2.2 and later.  </p>
12009
12010
12011</DD>
12012
12013<DT><b><a name="smtp_tcp_port">smtp_tcp_port</a>
12014(default: smtp)</b></DT><DD>
12015
12016<p>
12017The default TCP port that the Postfix SMTP client connects to.
12018Specify a symbolic name (see services(5)) or a numeric port.
12019</p>
12020
12021
12022</DD>
12023
12024<DT><b><a name="smtp_tls_CAfile">smtp_tls_CAfile</a>
12025(default: empty)</b></DT><DD>
12026
12027<p> A file containing CA certificates of root CAs trusted to sign
12028either remote SMTP server certificates or intermediate CA certificates.
12029These are loaded into memory before the <a href="smtp.8.html">smtp(8)</a> client enters the
12030chroot jail. If the number of trusted roots is large, consider using
12031<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> instead, but note that the latter directory must be
12032present in the chroot jail if the <a href="smtp.8.html">smtp(8)</a> client is chrooted. This
12033file may also be used to augment the client certificate trust chain,
12034but it is best to include all the required certificates directly in
12035$<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> (or, Postfix &ge; 3.4 $<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>). </p>
12036
12037<p> Specify "<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /path/to/system_CA_file" to use
12038ONLY the system-supplied default Certification Authority certificates.
12039</p>
12040
12041<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
12042appending the system-supplied default CAs and trusting third-party
12043certificates. </p>
12044
12045<p> Example: </p>
12046
12047<pre>
12048<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /etc/postfix/CAcert.pem
12049</pre>
12050
12051<p> This feature is available in Postfix 2.2 and later.  </p>
12052
12053
12054</DD>
12055
12056<DT><b><a name="smtp_tls_CApath">smtp_tls_CApath</a>
12057(default: empty)</b></DT><DD>
12058
12059<p> Directory with PEM format Certification Authority certificates
12060that the Postfix SMTP client uses to verify a remote SMTP server
12061certificate.  Don't forget to create the necessary "hash" links
12062with, for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs".
12063</p>
12064
12065<p> To use this option in chroot mode, this directory (or a copy)
12066must be inside the chroot jail. </p>
12067
12068<p> Specify "<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /path/to/system_CA_directory" to
12069use ONLY the system-supplied default Certification Authority certificates.
12070</p>
12071
12072<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
12073appending the system-supplied default CAs and trusting third-party
12074certificates. </p>
12075
12076<p> Example: </p>
12077
12078<pre>
12079<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /etc/postfix/certs
12080</pre>
12081
12082<p> This feature is available in Postfix 2.2 and later.  </p>
12083
12084
12085</DD>
12086
12087<DT><b><a name="smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a>
12088(default: no)</b></DT><DD>
12089
12090<p> Try to detect a mail hijacking attack based on a TLS protocol
12091vulnerability (CVE-2009-3555), where an attacker prepends malicious
12092HELO, MAIL, RCPT, DATA commands to a Postfix SMTP client TLS session.
12093The attack would succeed with non-Postfix SMTP servers that reply
12094to the malicious HELO, MAIL, RCPT, DATA commands after negotiating
12095the Postfix SMTP client TLS session.  </p>
12096
12097<p> This feature is available in Postfix 2.7. </p>
12098
12099
12100</DD>
12101
12102<DT><b><a name="smtp_tls_cert_file">smtp_tls_cert_file</a>
12103(default: empty)</b></DT><DD>
12104
12105<p> File with the Postfix SMTP client RSA certificate in PEM format.
12106This file may also contain the Postfix SMTP client private RSA key, and
12107these may be the same as the Postfix SMTP server RSA certificate and key
12108file.  With Postfix &ge; 3.4 the preferred way to configure client keys
12109and certificates is via the "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p>
12110
12111<p> Do not configure client certificates unless you <b>must</b> present
12112client TLS certificates to one or more servers. Client certificates are
12113not usually needed, and can cause problems in configurations that work
12114well without them. The recommended setting is to let the defaults stand: </p>
12115
12116<blockquote>
12117<pre>
12118<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> =
12119<a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> =
12120<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> =
12121<a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> =
12122# Obsolete DSA parameters
12123<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> =
12124<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> =
12125# Postfix &ge; 3.4 interface
12126<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> =
12127</pre>
12128</blockquote>
12129
12130<p> The best way to use the default settings is to comment out the above
12131parameters in <a href="postconf.5.html">main.cf</a> if present. </p>
12132
12133<p> To enable remote SMTP servers to verify the Postfix SMTP client
12134certificate, the issuing CA certificates must be made available to the
12135server. You should include the required certificates in the client
12136certificate file, the client certificate first, then the issuing
12137CA(s) (bottom-up order). </p>
12138
12139<p> Example: the certificate for "client.example.com" was issued by
12140"intermediate CA" which itself has a certificate issued by "root CA".
12141As the "root" super-user create the client.pem file with: </p>
12142
12143<blockquote>
12144<pre>
12145# <b>umask 077</b>
12146# <b>cat client_key.pem client_cert.pem intermediate_CA.pem &gt; chain.pem </b>
12147</pre>
12148</blockquote>
12149
12150<p> If you also want to verify remote SMTP server certificates issued by
12151these CAs, you can add the CA certificates to the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>, in
12152which case it is not necessary to have them in the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>,
12153<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> (obsolete) or <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. </p>
12154
12155<p> A certificate supplied here must be usable as an SSL client certificate
12156and hence pass the "openssl verify -purpose sslclient ..." test. </p>
12157
12158<p> Example: </p>
12159
12160<pre>
12161<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> = /etc/postfix/chain.pem
12162</pre>
12163
12164<p> This feature is available in Postfix 2.2 and later.  </p>
12165
12166
12167</DD>
12168
12169<DT><b><a name="smtp_tls_chain_files">smtp_tls_chain_files</a>
12170(default: empty)</b></DT><DD>
12171
12172<p> List of one or more PEM files, each holding one or more private keys
12173directly followed by a corresponding certificate chain.  The file names
12174are separated by commas and/or whitespace.  This parameter obsoletes the
12175legacy algorithm-specific key and certificate file settings.  When this
12176parameter is non-empty, the legacy parameters are ignored, and a warning
12177is logged if any are also non-empty.  </p>
12178
12179<p> With the proliferation of multiple private key algorithms&mdash;which,
12180as of OpenSSL 1.1.1, include DSA (obsolete), RSA, ECDSA, Ed25519
12181and Ed448&mdash;it is increasingly impractical to use separate
12182parameters to configure the key and certificate chain for each
12183algorithm.  Therefore, Postfix now supports storing multiple keys and
12184corresponding certificate chains in a single file or in a set of files.
12185
12186<p> Each key must appear <b>immediately before</b> the corresponding
12187certificate, optionally followed by additional issuer certificates that
12188complete the certificate chain for that key.  When multiple files are
12189specified, they are equivalent to a single file that is concatenated
12190from those files in the given order.  Thus, while a key must always
12191precede its certificate and issuer chain, it can be in a separate file,
12192so long as that file is listed immediately before the file that holds
12193the corresponding certificate chain.  Once all the files are
12194concatenated, the sequence of PEM objects must be: <i>key1, cert1,
12195[chain1], key2, cert2, [chain2], ..., keyN, certN, [chainN].</i> </p>
12196
12197<p> Storing the private key in the same file as the corresponding
12198certificate is more reliable.  With the key and certificate in separate
12199files, there is a chance that during key rollover a Postfix process
12200might load a private key and certificate from separate files that don't
12201match.  Various operational errors may even result in a persistent
12202broken configuration in which the certificate does not match the private
12203key. </p>
12204
12205<p> The file or files must contain at most one key of each type.  If,
12206for example, two or more RSA keys and corresponding chains are listed,
12207depending on the version of OpenSSL either only the last one will be
12208used or an configuration error may be detected.  Note that while
12209"Ed25519" and "Ed448" are considered separate algorithms, the various
12210ECDSA curves (typically one of prime256v1, secp384r1 or secp521r1) are
12211considered as different parameters of a single "ECDSA" algorithm, so it
12212is not presently possible to configure keys for more than one ECDSA
12213curve.  </p>
12214
12215<p>
12216Example (separate files for each key and corresponding certificate chain):
12217</p>
12218<blockquote>
12219<pre>
12220/etc/postfix/<a href="postconf.5.html">main.cf</a>:
12221    <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> =
12222        ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed25519.pem,
12223        ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed448.pem,
12224        ${<a href="postconf.5.html#config_directory">config_directory</a>}/rsa.pem
12225</pre>
12226</blockquote>
12227
12228<blockquote>
12229<pre>
12230/etc/postfix/ed25519.pem:
12231    -----BEGIN PRIVATE KEY-----
12232    MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3
12233    -----END PRIVATE KEY-----
12234    -----BEGIN CERTIFICATE-----
12235    MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG
12236    ...
12237    nC0egv51YPDWxEHom4QA
12238    -----END CERTIFICATE-----
12239</pre>
12240</blockquote>
12241
12242<blockquote>
12243<pre>
12244/etc/postfix/ed448.pem:
12245    -----BEGIN PRIVATE KEY-----
12246    MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe
12247    LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A==
12248    -----END PRIVATE KEY-----
12249    -----BEGIN CERTIFICATE-----
12250    MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG
12251    ...
12252    pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA
12253    -----END CERTIFICATE-----
12254</pre>
12255</blockquote>
12256
12257<blockquote>
12258<pre>
12259/etc/postfix/rsa.pem:
12260    -----BEGIN PRIVATE KEY-----
12261    MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL
12262    ...
12263    ahQkZ3+krcaJvDSMgvu0tDc=
12264    -----END PRIVATE KEY-----
12265    -----BEGIN CERTIFICATE-----
12266    MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL
12267    ...
12268    Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE=
12269    -----END CERTIFICATE-----
12270</pre>
12271</blockquote>
12272
12273<p>
12274Example (all keys and certificates in a single file):
12275</p>
12276<blockquote>
12277<pre>
12278/etc/postfix/<a href="postconf.5.html">main.cf</a>:
12279    <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> = ${<a href="postconf.5.html#config_directory">config_directory</a>}/chains.pem
12280</pre>
12281</blockquote>
12282
12283<blockquote>
12284<pre>
12285/etc/postfix/chains.pem:
12286    -----BEGIN PRIVATE KEY-----
12287    MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3
12288    -----END PRIVATE KEY-----
12289    -----BEGIN CERTIFICATE-----
12290    MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG
12291    ...
12292    nC0egv51YPDWxEHom4QA
12293    -----END CERTIFICATE-----
12294    -----BEGIN PRIVATE KEY-----
12295    MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe
12296    LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A==
12297    -----END PRIVATE KEY-----
12298    -----BEGIN CERTIFICATE-----
12299    MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG
12300    ...
12301    pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA
12302    -----END CERTIFICATE-----
12303    -----BEGIN PRIVATE KEY-----
12304    MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL
12305    ...
12306    ahQkZ3+krcaJvDSMgvu0tDc=
12307    -----END PRIVATE KEY-----
12308    -----BEGIN CERTIFICATE-----
12309    MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL
12310    ...
12311    Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE=
12312    -----END CERTIFICATE-----
12313</pre>
12314</blockquote>
12315
12316<p> This feature is available in Postfix 3.4 and later.  </p>
12317
12318
12319</DD>
12320
12321<DT><b><a name="smtp_tls_cipherlist">smtp_tls_cipherlist</a>
12322(default: empty)</b></DT><DD>
12323
12324<p> Obsolete Postfix &lt; 2.3 control for the Postfix SMTP client TLS
12325cipher list. As this feature applies to all TLS security levels, it is easy
12326to create interoperability problems by choosing a non-default cipher
12327list. Do not use a non-default TLS cipher list on hosts that deliver email
12328to the public Internet: you will be unable to send email to servers that
12329only support the ciphers you exclude. Using a restricted cipher list
12330may be more appropriate for an internal MTA, where one can exert some
12331control over the TLS software and settings of the peer servers. </p>
12332
12333<p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
12334
12335<p> This feature is available in Postfix version 2.2. It is not used with
12336Postfix 2.3 and later; use <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> instead. </p>
12337
12338
12339</DD>
12340
12341<DT><b><a name="smtp_tls_ciphers">smtp_tls_ciphers</a>
12342(default: medium)</b></DT><DD>
12343
12344<p> The minimum TLS cipher grade that the Postfix SMTP client
12345will use with opportunistic TLS encryption. Cipher types listed in
12346<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> are excluded from the base definition of
12347the selected cipher grade.   The default value is "medium" for
12348Postfix releases after the middle of 2015, "export" for older
12349releases.  </p>
12350
12351<p> When TLS is mandatory the cipher grade is chosen via the
12352<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
12353details. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure
12354ciphers on a per-destination basis. </p>
12355
12356<p> This feature is available in Postfix 2.6 and later. With earlier Postfix
12357releases only the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter is implemented,
12358and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
12359
12360
12361</DD>
12362
12363<DT><b><a name="smtp_tls_connection_reuse">smtp_tls_connection_reuse</a>
12364(default: no)</b></DT><DD>
12365
12366<p> Try to make multiple deliveries per TLS-encrypted connection.
12367This uses the <a href="tlsproxy.8.html">tlsproxy(8)</a> service to encrypt an SMTP connection,
12368uses the <a href="scache.8.html">scache(8)</a> service to save that connection, and relies on
12369hints from the <a href="qmgr.8.html">qmgr(8)</a> daemon. </p>
12370
12371<p> See "<a href="TLS_README.html#client_tls_reuse">Client-side
12372TLS connection reuse</a>" for background details. </p>
12373
12374<p> This feature is available in Postfix 3.4 and later.  </p>
12375
12376
12377</DD>
12378
12379<DT><b><a name="smtp_tls_dane_insecure_mx_policy">smtp_tls_dane_insecure_mx_policy</a>
12380(default: dane)</b></DT><DD>
12381
12382<p> The TLS policy for MX hosts with "secure" TLSA records when the
12383nexthop destination security level is <b>dane</b>, but the MX
12384record was found via an "insecure" MX lookup.  The choices are:
12385</p>
12386
12387<dl>
12388<dt><b>may</b></dt>
12389<dd> The TLSA records will be ignored and TLS will be optional.  If
12390the MX host does not appear to support STARTTLS, or the STARTTLS
12391handshake fails, mail may be sent in the clear. </dd>
12392<dt><b>encrypt</b></dt>
12393<dd> The TLSA records will signal a requirement to use TLS.  While
12394TLS encryption will be required, authentication will not be performed.
12395</dd>
12396<dt><b>dane</b> (default)</dt>
12397<dd>The TLSA records will be used just as with "secure" MX records.
12398TLS encryption will be required, and, if at least one of the TLSA
12399records is "usable", authentication will be required.  When
12400authentication succeeds, it will be logged only as "Trusted", not
12401"Verified", because the MX host name could have been forged.  </dd>
12402</dl>
12403
12404<p> Though with "insecure" MX records an active attacker can
12405compromise SMTP transport security by returning forged MX records,
12406such attacks are "tamper-evident" since any forged MX hostnames
12407will be recorded in the mail logs.  Attackers who place a high value
12408staying hidden may be deterred from forging MX records. </p>
12409
12410<p>
12411This feature is available in Postfix 3.1 and later. The <b>may</b>
12412policy is backwards-compatible with earlier Postfix versions.
12413</p>
12414
12415
12416</DD>
12417
12418<DT><b><a name="smtp_tls_dcert_file">smtp_tls_dcert_file</a>
12419(default: empty)</b></DT><DD>
12420
12421<p> File with the Postfix SMTP client DSA certificate in PEM format.
12422This file may also contain the Postfix SMTP client private DSA key.
12423The DSA algorithm is obsolete and should not be used. </p>
12424
12425<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
12426</p>
12427
12428<p> Example: </p>
12429
12430<pre>
12431<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem
12432</pre>
12433
12434<p> This feature is available in Postfix 2.2 and later.  </p>
12435
12436
12437</DD>
12438
12439<DT><b><a name="smtp_tls_dkey_file">smtp_tls_dkey_file</a>
12440(default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD>
12441
12442<p> File with the Postfix SMTP client DSA private key in PEM format.
12443This file may be combined with the Postfix SMTP client DSA certificate
12444file specified with $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>. The DSA algorithm is obsolete
12445and should not be used. </p>
12446
12447<p> The private key must be accessible without a pass-phrase, i.e. it
12448must not be encrypted. File permissions should grant read-only
12449access to the system superuser account ("root"), and no access
12450to anyone else. </p>
12451
12452<p> This feature is available in Postfix 2.2 and later.  </p>
12453
12454
12455</DD>
12456
12457<DT><b><a name="smtp_tls_eccert_file">smtp_tls_eccert_file</a>
12458(default: empty)</b></DT><DD>
12459
12460<p> File with the Postfix SMTP client ECDSA certificate in PEM format.
12461This file may also contain the Postfix SMTP client ECDSA private key.
12462With Postfix &ge; 3.4 the preferred way to configure client keys and
12463certificates is via the "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p>
12464
12465<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
12466</p>
12467
12468<p> Example: </p>
12469
12470<pre>
12471<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> = /etc/postfix/ecdsa-ccert.pem
12472</pre>
12473
12474<p> This feature is available in Postfix 2.6 and later, when Postfix is
12475compiled and linked with OpenSSL 1.0.0 or later. </p>
12476
12477
12478</DD>
12479
12480<DT><b><a name="smtp_tls_eckey_file">smtp_tls_eckey_file</a>
12481(default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD>
12482
12483<p> File with the Postfix SMTP client ECDSA private key in PEM format.
12484This file may be combined with the Postfix SMTP client ECDSA certificate
12485file specified with $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>.  With Postfix &ge; 3.4 the
12486preferred way to configure client keys and certificates is via the
12487"<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p>
12488
12489<p> The private key must be accessible without a pass-phrase, i.e. it
12490must not be encrypted. File permissions should grant read-only
12491access to the system superuser account ("root"), and no access
12492to anyone else. </p>
12493
12494<p> This feature is available in Postfix 2.6 and later, when Postfix is
12495compiled and linked with OpenSSL 1.0.0 or later. </p>
12496
12497
12498</DD>
12499
12500<DT><b><a name="smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
12501(default: yes)</b></DT><DD>
12502
12503<p> With mandatory TLS encryption, require that the remote SMTP
12504server hostname matches the information in the remote SMTP server
12505certificate.  As of <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> the requirements for hostname checking
12506for MTA clients are not specified. </p>
12507
12508<p> This option can be set to "no" to disable strict peer name
12509checking. This setting has no effect on sessions that are controlled
12510via the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table.  </p>
12511
12512<p> Disabling the hostname verification can make sense in closed
12513environment where special CAs are created.  If not used carefully,
12514this option opens the danger of a "man-in-the-middle" attack (the
12515CommonName of this attacker will be logged). </p>
12516
12517<p> This feature is available in Postfix 2.2 and later. With
12518Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
12519
12520
12521</DD>
12522
12523<DT><b><a name="smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
12524(default: empty)</b></DT><DD>
12525
12526<p> List of ciphers or cipher types to exclude from the Postfix
12527SMTP client cipher
12528list at all TLS security levels. This is not an OpenSSL cipherlist, it is
12529a simple list separated by whitespace and/or commas. The elements are a
12530single cipher, or one or more "+" separated cipher properties, in which
12531case only ciphers matching <b>all</b> the properties are excluded. </p>
12532
12533<p> Examples (some of these will cause problems): </p>
12534
12535<blockquote>
12536<pre>
12537<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL
12538<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = MD5, DES
12539<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = DES+MD5
12540<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
12541<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = kEDH+aRSA
12542</pre>
12543</blockquote>
12544
12545<p> The first setting, disables anonymous ciphers. The next setting
12546disables ciphers that use the MD5 digest algorithm or the (single) DES
12547encryption algorithm. The next setting disables ciphers that use MD5 and
12548DES together.  The next setting disables the two ciphers "AES256-SHA"
12549and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
12550key exchange with RSA authentication. </p>
12551
12552<p> This feature is available in Postfix 2.3 and later. </p>
12553
12554
12555</DD>
12556
12557<DT><b><a name="smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
12558(default: empty)</b></DT><DD>
12559
12560<p> List of acceptable remote SMTP server certificate fingerprints for
12561the "fingerprint" TLS security level (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> =
12562fingerprint). At this security level, Certification Authorities are not
12563used, and certificate expiration times are ignored. Instead, server
12564certificates are verified directly via their certificate fingerprint
12565or public key fingerprint (Postfix 2.9 and later). The fingerprint
12566is a message digest of the server certificate (or public key). The
12567digest algorithm is selected via the <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b>
12568parameter. </p>
12569
12570<p> When an <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a></b> table entry specifies the
12571"fingerprint" security level, any "match" attributes in that entry specify
12572the list of valid fingerprints for the corresponding destination. Multiple
12573fingerprints can be combined with a "|" delimiter in a single match
12574attribute, or multiple match attributes can be employed. </p>
12575
12576<p> Example: Certificate fingerprint verification with internal mailhub.
12577Two matching fingerprints are listed. The <a href="postconf.5.html#relayhost">relayhost</a> may be multiple
12578physical hosts behind a load-balancer, each with its own private/public
12579key and self-signed certificate. Alternatively, a single <a href="postconf.5.html#relayhost">relayhost</a> may
12580be in the process of switching from one set of private/public keys to
12581another, and both keys are trusted just prior to the transition. </p>
12582
12583<blockquote>
12584<pre>
12585<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
12586<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
12587<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
12588<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
12589    3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
12590    EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
12591</pre>
12592</blockquote>
12593
12594<p> Example: Certificate fingerprint verification with selected destinations.
12595As in the example above, we show two matching fingerprints: </p>
12596
12597<blockquote>
12598<pre>
12599/etc/postfix/<a href="postconf.5.html">main.cf</a>:
12600    <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/tls_policy
12601    <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
12602</pre>
12603</blockquote>
12604
12605<blockquote>
12606<pre>
12607/etc/postfix/tls_policy:
12608    example.com fingerprint
12609        match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
12610        match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
12611</pre>
12612</blockquote>
12613
12614<p> This feature is available in Postfix 2.5 and later. </p>
12615
12616
12617</DD>
12618
12619<DT><b><a name="smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
12620(default: md5)</b></DT><DD>
12621
12622<p> The message digest algorithm used to construct remote SMTP server
12623certificate fingerprints. At the "fingerprint" TLS security level
12624(<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> = fingerprint), the server certificate is
12625verified by directly matching its certificate fingerprint or its public
12626key fingerprint (Postfix 2.9 and later). The fingerprint is the
12627message digest of the server certificate (or its public key)
12628using the selected
12629algorithm. With a digest algorithm resistant to "second pre-image"
12630attacks, it is not feasible to create a new public key and a matching
12631certificate (or public/private key-pair) that has the same fingerprint. </p>
12632
12633<p> The default algorithm is <b>md5</b>; this is consistent with
12634the backwards compatible setting of the digest used to verify client
12635certificates in the SMTP server. </p>
12636
12637<p> The best practice algorithm is now <b>sha1</b>. Recent advances in hash
12638function cryptanalysis have led to md5 being deprecated in favor of sha1.
12639However, as long as there are no known "second pre-image" attacks
12640against md5, its use in this context can still be considered safe.
12641</p>
12642
12643<p> While additional digest algorithms are often available with OpenSSL's
12644libcrypto, only those used by libssl in SSL cipher suites are available to
12645Postfix. For now this means just md5 or sha1. </p>
12646
12647<p> To find the fingerprint of a specific certificate file, with a
12648specific digest algorithm, run:
12649</p>
12650
12651<blockquote>
12652<pre>
12653$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
12654</pre>
12655</blockquote>
12656
12657<p> The text to the right of "=" sign is the desired fingerprint.
12658For example: </p>
12659
12660<blockquote>
12661<pre>
12662$ openssl x509 -noout -fingerprint -sha1 -in cert.pem
12663SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
12664</pre>
12665</blockquote>
12666
12667<p> To extract the public key fingerprint from an X.509 certificate,
12668you need to extract the public key from the certificate and compute
12669the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
12670the "-pubkey" option of the "x509" command extracts the public
12671key always in "PEM" format. We pipe the result to another OpenSSL
12672command that converts the key to DER and then to the "dgst" command
12673to compute the fingerprint. </p>
12674
12675<p> The actual command to transform the key to DER format depends
12676on the version of OpenSSL used. With OpenSSL 1.0.0 and later, the
12677"pkey" command supports all key types. With OpenSSL 0.9.8 and
12678earlier, the key type is always RSA (nobody uses DSA, and EC
12679keys are not fully supported by 0.9.8), so the "rsa" command is
12680used. </p>
12681<blockquote>
12682<pre>
12683# OpenSSL 1.0 with all certificates and SHA-1 fingerprints.
12684$ openssl x509 -in cert.pem -noout -pubkey |
12685    openssl pkey -pubin -outform DER |
12686    openssl dgst -sha1 -c
12687(stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58
12688</pre>
12689</blockquote>
12690
12691<blockquote>
12692<pre>
12693# OpenSSL 0.9.8 with RSA certificates and MD5 fingerprints.
12694$ openssl x509 -in cert.pem -noout -pubkey |
12695    openssl rsa -pubin -outform DER |
12696    openssl dgst -md5 -c
12697(stdin)= f4:62:60:f6:12:8f:d5:8d:28:4d:13:a7:db:b2:ff:50
12698</pre>
12699</blockquote>
12700
12701<p> The Postfix SMTP server and client log the peer (leaf) certificate
12702fingerprint and public key fingerprint when the TLS loglevel is 2 or
12703higher. </p>
12704
12705<p> <b>Note:</b> Postfix 2.9.0&ndash;2.9.5 computed the public key
12706fingerprint incorrectly. To use public-key fingerprints, upgrade
12707to Postfix 2.9.6 or later. </p>
12708
12709<p> This feature is available in Postfix 2.5 and later. </p>
12710
12711
12712</DD>
12713
12714<DT><b><a name="smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a>
12715(default: no)</b></DT><DD>
12716
12717<p> Lookup the associated DANE TLSA RRset even when a hostname is
12718not an alias and its address records lie in an unsigned zone.  This
12719is unlikely to ever yield DNSSEC validated results, since child
12720zones of unsigned zones are also unsigned in the absence of DLV or
12721locally configured non-root trust-anchors.  We anticipate that such
12722mechanisms will not be used for just the "_tcp" subdomain of a host.
12723Suppressing the TLSA RRset lookup reduces latency and avoids potential
12724interoperability problems with nameservers for unsigned zones that
12725are not prepared to handle the new TLSA RRset.  </p>
12726
12727<p> This feature is available in Postfix 2.11. </p>
12728
12729
12730</DD>
12731
12732<DT><b><a name="smtp_tls_key_file">smtp_tls_key_file</a>
12733(default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD>
12734
12735<p> File with the Postfix SMTP client RSA private key in PEM format.
12736This file may be combined with the Postfix SMTP client RSA certificate
12737file specified with $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>.  With Postfix &ge; 3.4 the
12738preferred way to configure client keys and certificates is via the
12739"<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p>
12740
12741<p> The private key must be accessible without a pass-phrase, i.e. it
12742must not be encrypted. File permissions should grant read-only
12743access to the system superuser account ("root"), and no access
12744to anyone else. </p>
12745
12746<p> Example: </p>
12747
12748<pre>
12749<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>
12750</pre>
12751
12752<p> This feature is available in Postfix 2.2 and later.  </p>
12753
12754
12755</DD>
12756
12757<DT><b><a name="smtp_tls_loglevel">smtp_tls_loglevel</a>
12758(default: 0)</b></DT><DD>
12759
12760<p> Enable additional Postfix SMTP client logging of TLS activity.
12761Each logging level also includes the information that is logged at
12762a lower logging level.  </p>
12763
12764<dl compact>
12765
12766<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
12767
12768<dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
12769&mdash; no logging of remote SMTP server certificate trust-chain
12770verification errors if server certificate verification is not required.
12771With Postfix 2.8 and earlier, log the summary message and unconditionally
12772log trust-chain verification errors.  </dd>
12773
12774<dt> </dt> <dd> 2 Also log levels during TLS negotiation.  </dd>
12775
12776<dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation
12777process.  </dd>
12778
12779<dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
12780transmission after STARTTLS. </dd>
12781
12782</dl>
12783
12784<p> Do not use "<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> = 2" or higher except in case of
12785problems. Use of loglevel 4 is strongly discouraged. </p>
12786
12787<p> This feature is available in Postfix 2.2 and later.  </p>
12788
12789
12790</DD>
12791
12792<DT><b><a name="smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
12793(default: medium)</b></DT><DD>
12794
12795<p> The minimum TLS cipher grade that the Postfix SMTP client will
12796use with
12797mandatory TLS encryption.  The default value "medium" is suitable
12798for most destinations with which you may want to enforce TLS, and
12799is beyond the reach of today's cryptanalytic methods. See
12800<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure ciphers
12801on a per-destination basis. </p>
12802
12803<p> The following cipher grades are supported: </p>
12804
12805<dl>
12806<dt><b>export</b></dt>
12807<dd> Enable "EXPORT" grade or better OpenSSL ciphers.  The underlying
12808cipherlist is specified via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration
12809parameter, which you are strongly encouraged to not change.  This
12810choice is insecure and SHOULD NOT be used.  </dd>
12811
12812<dt><b>low</b></dt>
12813<dd> Enable "LOW" grade or better OpenSSL ciphers.  The underlying
12814cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration
12815parameter, which you are strongly encouraged to not change.  This
12816choice is insecure and SHOULD NOT be used.  </dd>
12817
12818<dt><b>medium</b></dt>
12819<dd> Enable "MEDIUM" grade or better OpenSSL ciphers.
12820The underlying cipherlist is specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a>
12821configuration parameter, which you are strongly encouraged to not change.
12822</dd>
12823
12824<dt><b>high</b></dt>
12825<dd> Enable only "HIGH" grade OpenSSL ciphers.  This setting may
12826be appropriate when all mandatory TLS destinations (e.g. when all
12827mail is routed to a suitably capable <a href="postconf.5.html#relayhost">relayhost</a>) support at least one
12828"HIGH" grade cipher. The underlying cipherlist is specified via the
12829<a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a> configuration parameter, which you are strongly
12830encouraged to not change. </dd>
12831
12832<dt><b>null</b></dt>
12833<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
12834without encryption.  This setting is only appropriate in the rare case
12835that all servers are prepared to use NULL ciphers (not normally enabled
12836in TLS servers). A plausible use-case is an LMTP server listening on a
12837UNIX-domain socket that is configured to support "NULL" ciphers. The
12838underlying cipherlist is specified via the <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a>
12839configuration parameter, which you are strongly encouraged to not
12840change. </dd>
12841
12842</dl>
12843
12844<p> The underlying cipherlists for grades other than "null" include
12845anonymous ciphers, but these are automatically filtered out if the
12846Postfix SMTP client is configured to verify server certificates.
12847You are very unlikely to need to take any steps to exclude anonymous
12848ciphers, they are excluded automatically as necessary.  If you must
12849exclude anonymous ciphers at the "may" or "encrypt" security levels,
12850when the Postfix SMTP client does not need or use peer certificates, set
12851"<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only when
12852TLS is enforced, set "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
12853
12854<p> This feature is available in Postfix 2.3 and later. </p>
12855
12856
12857</DD>
12858
12859<DT><b><a name="smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
12860(default: empty)</b></DT><DD>
12861
12862<p> Additional list of ciphers or cipher types to exclude from the
12863Postfix SMTP client cipher list at mandatory TLS security levels. This list
12864works in addition to the exclusions listed with <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
12865(see there for syntax details).  </p>
12866
12867<p> Starting with Postfix 2.6, the mandatory cipher exclusions can be
12868specified on a per-destination basis via the TLS policy "exclude"
12869attribute. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for notes and examples. </p>
12870
12871<p> This feature is available in Postfix 2.3 and later. </p>
12872
12873
12874</DD>
12875
12876<DT><b><a name="smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
12877(default: !SSLv2, !SSLv3)</b></DT><DD>
12878
12879<p> List of SSL/TLS protocols that the Postfix SMTP client will use with
12880mandatory TLS encryption.  In <a href="postconf.5.html">main.cf</a> the values are separated by
12881whitespace, commas or colons. In the policy table "protocols" attribute
12882(see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon. An
12883empty value means allow all protocols. The valid protocol names, (see
12884<b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3" and "TLSv1". The
12885default value is "!SSLv2, !SSLv3" for Postfix releases after the
12886middle of 2015, "!SSLv2" for older releases. </p>
12887
12888<p> With Postfix &ge; 2.5 the parameter syntax was expanded to support
12889protocol exclusions. One can explicitly exclude "SSLv2" by setting
12890"<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2". To exclude both "SSLv2" and
12891"SSLv3" set "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing
12892the protocols to include, rather than protocols to exclude, is
12893supported, but not recommended. The exclusion form more closely
12894matches the underlying OpenSSL interface semantics.
12895</p>
12896
12897<p> The range of protocols advertised by an SSL/TLS client must be
12898contiguous.  When a protocol version is enabled, disabling any
12899higher version implicitly disables all versions above that higher version.
12900Thus, for example (assuming the OpenSSL library supports both SSLv2
12901and SSLv3):
12902</p>
12903<blockquote>
12904<pre>
12905<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !TLSv1
12906</pre>
12907</blockquote>
12908<p> also disables any protocols version higher than TLSv1 leaving
12909only "SSLv3" enabled.  </p>
12910
12911<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
12912and "TLSv1.2". When Postfix &le; 2.5 is linked against OpenSSL 1.0.1
12913or later, these, or any other new protocol versions, cannot be
12914disabled except by also disabling "TLSv1" (typically leaving just
12915"SSLv3").  The latest patch levels of Postfix &ge; 2.6, and all
12916versions of Postfix &ge; 2.10 can explicitly disable support for
12917"TLSv1.1" or "TLSv1.2". </p>
12918
12919<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
12920&ge; 3.4 (or patch releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
12921this can be disabled, if need be, via "!TLSv1.3". </p>
12922
12923<p> At the <a href="TLS_README.html#client_tls_dane">dane</a> and
12924<a href="TLS_README.html#client_tls_dane">dane-only</a> security
12925levels, when usable TLSA records are obtained for the remote SMTP
12926server, the Postfix SMTP client is obligated to include the SNI TLS
12927extension in its SSL client hello message.  This may help the remote
12928SMTP server live up to its promise to provide a certificate that
12929matches its TLSA records.  Since TLS extensions require TLS 1.0 or
12930later, the Postfix SMTP client must disable "SSLv2" and "SSLv3" when
12931SNI is required.  If you use "dane" or "dane-only" do not disable
12932TLSv1, except perhaps via the policy table for destinations which
12933you are sure will support "TLSv1.1" or "TLSv1.2".  </p>
12934
12935<p> See the documentation of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> parameter and
12936<a href="TLS_README.html">TLS_README</a> for more information about security levels. </p>
12937
12938<p> Example: </p>
12939
12940<pre>
12941# Preferred syntax with Postfix &ge; 2.5:
12942<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
12943# Legacy syntax:
12944<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1
12945</pre>
12946
12947<p> This feature is available in Postfix 2.3 and later. </p>
12948
12949
12950</DD>
12951
12952<DT><b><a name="smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
12953(default: no)</b></DT><DD>
12954
12955<p> Log the hostname of a remote SMTP server that offers STARTTLS,
12956when TLS is not already enabled for that server. </p>
12957
12958<p> The logfile record looks like:  </p>
12959
12960<pre>
12961postfix/smtp[pid]:  Host offered STARTTLS: [name.of.host]
12962</pre>
12963
12964<p> This feature is available in Postfix 2.2 and later.  </p>
12965
12966
12967</DD>
12968
12969<DT><b><a name="smtp_tls_per_site">smtp_tls_per_site</a>
12970(default: empty)</b></DT><DD>
12971
12972<p> Optional lookup tables with the Postfix SMTP client TLS usage
12973policy by next-hop destination and by remote SMTP server hostname.
12974When both lookups succeed, the more specific per-site policy (NONE,
12975MUST, etc) overrides the less specific one (MAY), and the more secure
12976per-site policy (MUST, etc) overrides the less secure one (NONE).
12977With Postfix 2.3 and later <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> is strongly discouraged:
12978use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
12979
12980<p> Use of the bare hostname as the per-site table lookup key is
12981discouraged. Always use the full destination nexthop (enclosed in
12982[] with a possible ":port" suffix). A recipient domain or MX-enabled
12983transport next-hop with no port suffix may look like a bare hostname,
12984but is still a suitable <i>destination</i>. </p>
12985
12986<p> Specify a next-hop destination or server hostname on the left-hand
12987side; no wildcards are allowed. The next-hop destination is either
12988the recipient domain, or the destination specified with a <a href="transport.5.html">transport(5)</a>
12989table, the <a href="postconf.5.html#relayhost">relayhost</a> parameter, or the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter.
12990On the right hand side specify one of the following keywords:  </p>
12991
12992<dl>
12993
12994<dt> NONE </dt> <dd> Don't use TLS at all. This overrides a less
12995specific <b>MAY</b> lookup result from the alternate host or next-hop
12996lookup 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>,
12997and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd>
12998
12999<dt> MAY </dt> <dd> Try to use TLS if the server announces support,
13000otherwise use the unencrypted connection. This has less precedence
13001than a more specific result (including <b>NONE</b>) from the alternate
13002host or next-hop lookup key, and has less precedence than the more
13003specific 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>
13004= yes".  </dd>
13005
13006<dt> MUST_NOPEERMATCH </dt> <dd> Require TLS encryption, but do not
13007require that the remote SMTP server hostname matches the information
13008in the remote SMTP server certificate, or that the server certificate
13009was issued by a trusted CA. This overrides a less secure <b>NONE</b>
13010or a less specific <b>MAY</b> lookup result from the alternate host
13011or next-hop lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>,
13012<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>
13013
13014<dt> MUST </dt> <dd> Require TLS encryption, require that the remote
13015SMTP server hostname matches the information in the remote SMTP
13016server certificate, and require that the remote SMTP server certificate
13017was issued by a trusted CA. This overrides a less secure <b>NONE</b>
13018and <b>MUST_NOPEERMATCH</b> or a less specific <b>MAY</b> lookup
13019result from the alternate host or next-hop lookup key, and overrides
13020the 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>
13021settings.  </dd>
13022
13023</dl>
13024
13025<p> The above keywords correspond to the "none", "may", "encrypt" and
13026"verify" security levels for the new <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> parameter
13027introduced in Postfix 2.3. Starting with Postfix 2.3, and independently
13028of how the policy is specified, the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
13029<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameters apply when TLS encryption
13030is mandatory. Connections for which encryption is optional typically
13031enable all "export" grade and better ciphers (see <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>
13032and <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>). </p>
13033
13034<p> As long as no secure DNS lookup mechanism is available, false
13035hostnames in MX or CNAME responses can change the server hostname
13036that Postfix uses for TLS policy lookup and server certificate
13037verification. Even with a perfect match between the server hostname and
13038the server certificate, there is no guarantee that Postfix is connected
13039to the right server.  See <a href="TLS_README.html">TLS_README</a> (Closing a DNS loophole with obsolete
13040per-site TLS policies) for a possible work-around. </p>
13041
13042<p> This feature is available in Postfix 2.2 and later. With
13043Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
13044
13045
13046</DD>
13047
13048<DT><b><a name="smtp_tls_policy_maps">smtp_tls_policy_maps</a>
13049(default: empty)</b></DT><DD>
13050
13051<p> Optional lookup tables with the Postfix SMTP client TLS security
13052policy by next-hop destination; when a non-empty value is specified,
13053this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter.  See
13054<a href="TLS_README.html">TLS_README</a> for a more detailed discussion of TLS security levels.
13055</p>
13056
13057<p>
13058Specify zero or more "type:name" lookup tables, separated by
13059whitespace or comma. Tables will be searched in the specified order
13060until a match is found.
13061</p>
13062
13063<p> The TLS policy table is indexed by the full next-hop destination,
13064which is either the recipient domain, or the verbatim next-hop
13065specified in the transport table, $<a href="postconf.5.html#local_transport">local_transport</a>, $<a href="postconf.5.html#virtual_transport">virtual_transport</a>,
13066$<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
13067square brackets and any non-default destination server port suffix. The
13068LMTP socket type prefix (inet: or unix:) is not included in the lookup
13069key. </p>
13070
13071<p> Only the next-hop domain, or $<a href="postconf.5.html#myhostname">myhostname</a> with LMTP over UNIX-domain
13072sockets, is used as the nexthop name for certificate verification. The
13073port and any enclosing square brackets are used in the table lookup key,
13074but are not used for server name verification. </p>
13075
13076<p> When the lookup key is a domain name without enclosing square brackets
13077or any <i>:port</i> suffix (typically the recipient domain), and the full
13078domain is not found in the table, just as with the <a href="transport.5.html">transport(5)</a> table,
13079the parent domain starting with a leading "." is matched recursively. This
13080allows one to specify a security policy for a recipient domain and all
13081its sub-domains. </p>
13082
13083<p> The lookup result is a security level, followed by an optional list
13084of whitespace and/or comma separated name=value attributes that override
13085related <a href="postconf.5.html">main.cf</a> settings. The TLS security levels in order of increasing
13086security are: </p>
13087
13088<dl>
13089
13090<dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
13091<dd>No TLS. No additional attributes are supported at this level. </dd>
13092
13093<dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
13094<dd>Opportunistic TLS. Since sending in the clear is acceptable,
13095demanding stronger than default TLS security merely reduces
13096interoperability. The optional "ciphers", "exclude", and "protocols"
13097attributes (available for opportunistic TLS with Postfix &ge; 2.6)
13098and "connection_reuse" attribute (Postfix &ge; 3.4) override the
13099"<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>", "<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>", "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>",
13100and
13101"<a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a>" configuration parameters. When opportunistic
13102TLS handshakes fail, Postfix retries the connection with TLS disabled.
13103This allows mail delivery to sites with non-interoperable TLS
13104implementations.</dd>
13105
13106<dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
13107<dd>Mandatory TLS encryption. At this level
13108and higher, the optional "protocols" attribute overrides the <a href="postconf.5.html">main.cf</a>
13109<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameter, the optional "ciphers" attribute
13110overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter, the
13111optional "exclude" attribute (Postfix &ge; 2.6) overrides the <a href="postconf.5.html">main.cf</a>
13112<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> parameter, and the optional
13113"connection_reuse" attribute (Postfix &ge; 3.4) overrides the
13114<a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. In the policy table,
13115multiple protocols or excluded ciphers must be separated by colons,
13116as attribute values may not contain whitespace or commas. </dd>
13117
13118<dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
13119<dd>Opportunistic DANE TLS.  The TLS policy for the destination is
13120obtained via TLSA records in DNSSEC.  If no TLSA records are found,
13121the effective security level used is <a
13122href="TLS_README.html#client_tls_may">may</a>.  If TLSA records are
13123found, but none are usable, the effective security level is <a
13124href="TLS_README.html#client_tls_encrypt">encrypt</a>.  When usable
13125TLSA records are obtained for the remote SMTP server, the
13126server certificate must match the TLSA records.  <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE)
13127TLS authentication and DNSSEC support is available with Postfix
131282.11 and later. The optional "connection_reuse" attribute (Postfix
13129&ge; 3.4) overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter.
13130</dd>
13131
13132<dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
13133<dd>Mandatory DANE TLS.  The TLS policy for the destination is
13134obtained via TLSA records in DNSSEC.  If no TLSA records are found,
13135or none are usable, no connection is made to the server.  When
13136usable TLSA records are obtained for the remote SMTP server, the
13137server certificate must match the TLSA records.  <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE) TLS
13138authentication and DNSSEC support is available with Postfix 2.11
13139and later. The optional "connection_reuse" attribute (Postfix &ge;
131403.4) overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter.
13141</dd>
13142
13143<dt><b><a href="TLS_README.html#client_tls_fprint">fingerprint</a></b></dt>
13144<dd>Certificate fingerprint
13145verification. Available with Postfix 2.5 and later. At this security
13146level, there are no trusted Certification Authorities. The certificate
13147trust chain, expiration date, ... are not checked. Instead,
13148the optional <b>match</b> attribute, or else the <a href="postconf.5.html">main.cf</a>
13149<b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> parameter, lists the certificate
13150fingerprints or the public key fingerprint (Postfix 2.9 and later)
13151of the valid server certificate. The digest
13152algorithm used to calculate the fingerprint is selected by the
13153<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Multiple fingerprints can
13154be combined with a "|" delimiter in a single match attribute, or multiple
13155match attributes can be employed. The ":" character is not used as a
13156delimiter as it occurs between each pair of fingerprint (hexadecimal)
13157digits. The optional "connection_reuse" attribute (Postfix &ge; 3.4)
13158overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. </dd>
13159
13160<dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
13161<dd>Mandatory TLS verification.  At this security
13162level, DNS MX lookups are trusted to be secure enough, and the name
13163verified in the server certificate is usually obtained indirectly via
13164unauthenticated DNS MX lookups.  The optional "match" attribute overrides
13165the <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,
13166multiple match patterns and strategies must be separated by colons.
13167In practice explicit control over matching is more common with the
13168"secure" policy, described below. The optional "connection_reuse"
13169attribute (Postfix &ge; 3.4) overrides the <a href="postconf.5.html">main.cf</a>
13170<a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. </dd>
13171
13172<dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
13173<dd>Secure-channel TLS. At this security level, DNS
13174MX lookups, though potentially used to determine the candidate next-hop
13175gateway IP addresses, are <b>not</b> trusted to be secure enough for TLS
13176peername verification. Instead, the default name verified in the server
13177certificate is obtained directly from the next-hop, or is explicitly
13178specified via the optional <b>match</b> attribute which overrides the
13179<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,
13180multiple match patterns and strategies must be separated by colons.
13181The match attribute is most useful when multiple domains are supported by
13182common server, the policy entries for additional domains specify matching
13183rules for the primary domain certificate. While transport table overrides
13184routing the secondary domains to the primary nexthop also allow secure
13185verification, they risk delivery to the wrong destination when domains
13186change hands or are re-assigned to new gateways. With the "match"
13187attribute approach, routing is not perturbed, and mail is deferred if
13188verification of a new MX host fails. The optional "connection_reuse"
13189attribute (Postfix &ge; 3.4) overrides the <a href="postconf.5.html">main.cf</a>
13190<a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. </dd>
13191
13192</dl>
13193
13194<p>
13195Example:
13196</p>
13197
13198<pre>
13199/etc/postfix/<a href="postconf.5.html">main.cf</a>:
13200    <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/tls_policy
13201    # Postfix 2.5 and later
13202    <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
13203</pre>
13204
13205<pre>
13206/etc/postfix/tls_policy:
13207    example.edu                 none
13208    example.mil                 may
13209    example.gov                 encrypt protocols=TLSv1
13210    example.com                 verify ciphers=high
13211    example.net                 secure
13212    .example.net                secure match=.example.net:example.net
13213    [mail.example.org]:587      secure match=nexthop
13214    # Postfix 2.5 and later
13215    [thumb.example.org]          fingerprint
13216        match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
13217        match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
13218</pre>
13219
13220<p> <b>Note:</b> The <b>hostname</b> strategy if listed in a non-default
13221setting of <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> or in the <b>match</b> attribute
13222in the policy table can render the <b>secure</b> level vulnerable to
13223DNS forgery. Do not use the <b>hostname</b> strategy for secure-channel
13224configurations in environments where DNS security is not assured. </p>
13225
13226<p> This feature is available in Postfix 2.3 and later. </p>
13227
13228
13229</DD>
13230
13231<DT><b><a name="smtp_tls_protocols">smtp_tls_protocols</a>
13232(default: !SSLv2, !SSLv3)</b></DT><DD>
13233
13234<p> List of TLS protocols that the Postfix SMTP client will exclude or
13235include with opportunistic TLS encryption. The default value is
13236"!SSLv2, !SSLv3" for Postfix releases after the middle of 2015,
13237"!SSLv2" for older releases. Before Postfix 2.6, the Postfix SMTP
13238client would use all protocols with opportunistic TLS. </p>
13239
13240<p> In <a href="postconf.5.html">main.cf</a> the values are separated by whitespace, commas or
13241colons. In the policy table (see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid
13242separator is colon. An empty value means allow all protocols. The valid
13243protocol names, (see <b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3"
13244and "TLSv1". </p>
13245
13246<p> The range of protocols advertised by an SSL/TLS client must be
13247contiguous.  When a protocol version is enabled, disabling any
13248higher version implicitly disables all versions above that higher version.
13249Thus, for example (assuming the OpenSSL library supports both SSLv2
13250and SSLv3):
13251</p>
13252<blockquote>
13253<pre>
13254<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !TLSv1
13255</pre>
13256</blockquote>
13257<p> also disables any protocols version higher than TLSv1 leaving
13258only "SSLv3" enabled.  </p>
13259
13260<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
13261and "TLSv1.2". The latest patch levels of Postfix &ge; 2.6, and all
13262versions of Postfix &ge; 2.10 can explicitly disable support for
13263"TLSv1.1" or "TLSv1.2"</p>
13264
13265<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
13266&ge; 3.4 (or patch releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
13267this can be disabled, if need be, via "!TLSv1.3". </p>
13268
13269<p> To include a protocol list its name, to exclude it, prefix the name
13270with a "!" character. To exclude SSLv2 for opportunistic TLS set
13271"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set
13272"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to
13273include, rather than protocols to exclude, is supported, but not
13274recommended.  The exclusion form more closely matches the underlying
13275OpenSSL interface semantics. </p>
13276
13277<p> Example: </p>
13278<pre>
13279# TLSv1 or better:
13280<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
13281</pre>
13282
13283<p> This feature is available in Postfix 2.6 and later. </p>
13284
13285
13286</DD>
13287
13288<DT><b><a name="smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
13289(default: 9)</b></DT><DD>
13290
13291<p> The verification depth for remote SMTP server certificates. A depth
13292of 1 is sufficient if the issuing CA is listed in a local CA file. </p>
13293
13294<p> The default verification depth is 9 (the OpenSSL default) for
13295compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
13296the default value was 5, but the limit was not actually enforced. If
13297you have set this to a lower non-default value, certificates with longer
13298trust chains may now fail to verify. Certificate chains with 1 or 2
13299CAs are common, deeper chains are more rare and any number between 5
13300and 9 should suffice in practice. You can choose a lower number if,
13301for example, you trust certificates directly signed by an issuing CA
13302but not any CAs it delegates to. </p>
13303
13304<p> This feature is available in Postfix 2.2 and later.  </p>
13305
13306
13307</DD>
13308
13309<DT><b><a name="smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
13310(default: nexthop, dot-nexthop)</b></DT><DD>
13311
13312<p> How the Postfix SMTP client verifies the server certificate
13313peername for the "secure" TLS security level. In a "secure" TLS policy table
13314($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
13315overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
13316
13317<p> This parameter specifies one or more patterns or strategies separated
13318by commas, whitespace or colons.  In the policy table the only valid
13319separator is the colon character. </p>
13320
13321<p> For a description of the pattern and strategy syntax see the
13322<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. The "hostname" strategy should
13323be avoided in this context, as in the absence of a secure global DNS, using
13324the results of MX lookups in certificate verification is not immune to active
13325(man-in-the-middle) attacks on DNS. </p>
13326
13327<p>
13328Sample <a href="postconf.5.html">main.cf</a> setting:
13329</p>
13330
13331<blockquote>
13332<pre>
13333<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
13334</pre>
13335</blockquote>
13336
13337<p>
13338Sample policy table override:
13339</p>
13340
13341<blockquote>
13342<pre>
13343example.net     secure match=example.com:.example.com
13344.example.net    secure match=example.com:.example.com
13345</pre>
13346</blockquote>
13347
13348<p> This feature is available in Postfix 2.3 and later. </p>
13349
13350
13351</DD>
13352
13353<DT><b><a name="smtp_tls_security_level">smtp_tls_security_level</a>
13354(default: empty)</b></DT><DD>
13355
13356<p> The default SMTP TLS security level for the Postfix SMTP client;
13357when a non-empty value is specified, this overrides the obsolete
13358parameters <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>.
13359</p>
13360
13361<p> Specify one of the following security levels: </p>
13362
13363<dl>
13364
13365<dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
13366<dd> No TLS. TLS will not be used unless enabled for specific
13367destinations via <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </dd>
13368
13369<dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
13370<dd> Opportunistic TLS. Use TLS if this is supported by the remote
13371SMTP server, otherwise use plaintext. Since
13372sending in the clear is acceptable, demanding stronger than default TLS
13373security merely reduces interoperability.
13374The "<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)
13375configuration parameters provide control over the protocols and
13376cipher grade used with opportunistic TLS.  With earlier releases the
13377opportunistic TLS cipher grade is always "export" and no protocols
13378are disabled.
13379When TLS handshakes fail, the connection is retried with TLS disabled.
13380This allows mail delivery to sites with non-interoperable TLS
13381implementations. </dd>
13382
13383<dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
13384<dd>Mandatory TLS encryption. Since a minimum
13385level of security is intended, it is reasonable to be specific about
13386sufficiently secure protocol versions and ciphers. At this security level
13387and 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
13388<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> specify the TLS protocols and minimum
13389cipher grade which the administrator considers secure enough for
13390mandatory encrypted sessions. This security level is not an appropriate
13391default for systems delivering mail to the Internet. </dd>
13392
13393<dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
13394<dd>Opportunistic DANE TLS.  At this security level, the TLS policy
13395for the destination is obtained via DNSSEC.  For TLSA policy to be
13396in effect, the destination domain's containing DNS zone must be
13397signed and the Postfix SMTP client's operating system must be
13398configured to send its DNS queries to a recursive DNS nameserver
13399that is able to validate the signed records.  Each MX host's DNS
13400zone should also be signed, and should publish DANE TLSA (<a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a>)
13401records that specify how that MX host's TLS certificate is to be
13402verified.  TLSA records do not preempt the normal SMTP MX host
13403selection algorithm, if some MX hosts support TLSA and others do
13404not, TLS security will vary from delivery to delivery.  It is up
13405to the domain owner to configure their MX hosts and their DNS
13406sensibly.  To configure the Postfix SMTP client for DNSSEC lookups
13407see the documentation for the <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> <a href="postconf.5.html">main.cf</a>
13408parameter.  When DNSSEC-validated TLSA records are not found the
13409effective tls security level is "may".  When TLSA records are found,
13410but are all unusable the effective security level is "encrypt".  For
13411purposes of protocol and cipher selection, the "dane" security level
13412is treated like a "mandatory" TLS security level, and weak ciphers
13413and protocols are disabled.  Since DANE authenticates server
13414certificates the "aNULL" cipher-suites are transparently excluded
13415at this level, no need to configure this manually.  <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE)
13416TLS authentication is available with Postfix 2.11 and later.  </dd>
13417
13418<dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
13419<dd>Mandatory DANE TLS.  This is just like "dane" above, but DANE
13420TLSA authentication is required.  There is no fallback to "may" or
13421"encrypt" when TLSA records are missing or unusable.  <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a>
13422(DANE) TLS authentication is available with Postfix 2.11 and later.
13423</dd>
13424
13425<dt><b><a href="TLS_README.html#client_tls_fprint">fingerprint</a></b></dt>
13426<dd>Certificate fingerprint verification.
13427At this security level, there are no trusted Certification Authorities.
13428The certificate trust chain, expiration date, etc., are
13429not checked. Instead, the <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b>
13430parameter lists the certificate fingerprint or public key fingerprint
13431(Postfix 2.9 and later) of the valid server certificate. The digest
13432algorithm used to calculate the fingerprint is selected by the
13433<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Available with Postfix
134342.5 and later.  </dd>
13435
13436<dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
13437<dd>Mandatory TLS verification. At this security
13438level, DNS MX lookups are trusted to be secure enough, and the name
13439verified in the server certificate is usually obtained indirectly
13440via unauthenticated DNS MX lookups. The <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
13441parameter controls how the server name is verified. In practice explicit
13442control over matching is more common at the "secure" level, described
13443below. This security level is not an appropriate default for systems
13444delivering mail to the Internet. </dd>
13445
13446<dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
13447<dd>Secure-channel TLS.  At this security level,
13448DNS MX lookups, though potentially used to determine the candidate
13449next-hop gateway IP addresses, are <b>not</b> trusted to be secure enough
13450for TLS peername verification. Instead, the default name verified in
13451the server certificate is obtained from the next-hop domain as specified
13452in the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> configuration parameter. The default
13453matching rule is that a server certificate matches when its name is equal
13454to or is a sub-domain of the nexthop domain. This security level is not
13455an appropriate default for systems delivering mail to the Internet. </dd>
13456
13457</dl>
13458
13459<p>
13460Examples:
13461</p>
13462
13463<pre>
13464# 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.
13465<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = none
13466</pre>
13467
13468<pre>
13469# Opportunistic TLS.
13470<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
13471# Postfix &ge; 2.6:
13472# Do not tweak opportunistic ciphers or protocol unless it is essential
13473# to do so (if a security vulnerability is found in the SSL library that
13474# can be mitigated by disabling a particular protocol or raising the
13475# cipher grade from "export" to "low" or "medium").
13476<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> = export
13477<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
13478</pre>
13479
13480<pre>
13481# Mandatory (high-grade) TLS encryption.
13482<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
13483<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
13484</pre>
13485
13486<pre>
13487# Mandatory TLS verification of hostname or nexthop domain.
13488<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = verify
13489<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
13490<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
13491</pre>
13492
13493<pre>
13494# Secure channel TLS with exact nexthop name match.
13495<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = secure
13496<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1
13497<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
13498<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
13499</pre>
13500
13501<pre>
13502# Certificate fingerprint verification (Postfix &ge; 2.5).
13503# The CA-less "fingerprint" security level only scales to a limited
13504# number of destinations. As a global default rather than a per-site
13505# setting, this is practical when mail for all recipients is sent
13506# to a central mail hub.
13507<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
13508<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
13509<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
13510<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
13511<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
13512    3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
13513    EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
13514</pre>
13515
13516<p> This feature is available in Postfix 2.3 and later. </p>
13517
13518
13519</DD>
13520
13521<DT><b><a name="smtp_tls_servername">smtp_tls_servername</a>
13522(default: empty)</b></DT><DD>
13523
13524<p> Optional name to send to the remote SMTP server in the TLS Server
13525Name Indication (SNI) extension.  The SNI extension is always on when
13526DANE is used to authenticate the server, and in that case the SNI name
13527sent is the one required by <a href="http://tools.ietf.org/html/rfc7672">RFC7672</a> and this parameter is ignored. </p>
13528
13529<p> Some SMTP servers use the received SNI name to select an appropriate
13530certificate chain to present to the client.  While this may improve
13531interoperability with such servers, it may reduce interoperability with
13532other servers that choose to abort the connection when they don't have a
13533certificate chain configured for the requested name.  Such servers
13534should select a default certificate chain and continue the handshake,
13535but some may not.  Therefore, absent DANE, no SNI name is sent by
13536default. </p>
13537
13538<p> The SNI name must be either a valid DNS hostname, or else one of the
13539special values <b>hostname</b> or <b>nexthop</b>, which select either the
13540remote hostname or the nexthop domain respectively.  DNS names for SNI must be
13541in A-label (punycode) form.  Invalid DNS names log a configuration error
13542warning and mail delivery is deferred.  </p>
13543
13544<p> Except when using a <a href="postconf.5.html#relayhost">relayhost</a> to forward all email, the only
13545sensible non-empty <a href="postconf.5.html">main.cf</a> setting for this parameter is
13546<b>hostname</b>.  Other non-empty values are only practical on a
13547per-destination basis via the <b>servername</b> attribute of the Postfix
13548TLS <a href="TLS_README.html#client_tls_policy">policy table</a>.  When
13549in doubt, leave this parameter empty, and configure per-destination SNI
13550as needed. </p>
13551
13552<p> This feature is available in Postfix 3.4 and later.  </p>
13553
13554
13555</DD>
13556
13557<DT><b><a name="smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
13558(default: empty)</b></DT><DD>
13559
13560<p> Name of the file containing the optional Postfix SMTP client
13561TLS session cache. Specify a database type that supports enumeration,
13562such as <b>btree</b> or <b>sdbm</b>; there is no need to support
13563concurrent access.  The file is created if it does not exist. The <a href="smtp.8.html">smtp(8)</a>
13564daemon does not use this parameter directly, rather the cache is
13565implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
13566per-smtp-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not effective.
13567Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon:
13568$<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>
13569(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
13570be stored separately. It is not at this time possible to store multiple
13571caches in a single database. </p>
13572
13573<p> Note: <b>dbm</b> databases are not suitable. TLS
13574session objects are too large. </p>
13575
13576<p> As of version 2.5, Postfix no longer uses root privileges when
13577opening this file. The file should now be stored under the Postfix-owned
13578<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
13579under a non-Postfix directory is redirected to the Postfix-owned
13580<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
13581
13582<p> Example: </p>
13583
13584<pre>
13585<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/smtp_scache
13586</pre>
13587
13588<p> This feature is available in Postfix 2.2 and later.  </p>
13589
13590
13591</DD>
13592
13593<DT><b><a name="smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
13594(default: 3600s)</b></DT><DD>
13595
13596<p> The expiration time of Postfix SMTP client TLS session cache
13597information.  A cache cleanup is performed periodically
13598every $<a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> seconds. As with
13599$<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>, this parameter is implemented in the
13600<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtp-instance <a href="master.5.html">master.cf</a> overrides
13601are not possible. </p>
13602
13603<p> As of Postfix 2.11 this setting cannot exceed 100 days.  If set
13604&le; 0, session caching is disabled.  If set to a positive value
13605less than 2 minutes, the minimum value of 2 minutes is used instead.  </p>
13606
13607<p> This feature is available in Postfix 2.2 and later.  </p>
13608
13609
13610</DD>
13611
13612<DT><b><a name="smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
13613(default: empty)</b></DT><DD>
13614
13615<p> Zero or more PEM-format files with trust-anchor certificates
13616and/or public keys.  If the parameter is not empty the root CAs in
13617CAfile and CApath are no longer trusted.  Rather, the Postfix SMTP
13618client will only trust certificate-chains signed by one of the
13619trust-anchors contained in the chosen files.  The specified
13620trust-anchor certificates and public keys are not subject to
13621expiration, and need not be (self-signed) root CAs.  They may, if
13622desired, be intermediate certificates. Therefore, these certificates
13623also may be found "in the middle" of the trust chain presented by
13624the remote SMTP server, and any untrusted issuing parent certificates
13625will be ignored.  Specify a list of pathnames separated by comma
13626or whitespace.  </p>
13627
13628<p>  Whether specified in <a href="postconf.5.html">main.cf</a>, or on a per-destination basis,
13629the trust-anchor PEM file must be accessible to the Postfix SMTP
13630client in the chroot jail if applicable.  The trust-anchor file
13631should contain only certificates and public keys, no private key
13632material, and must be readable by the non-privileged $<a href="postconf.5.html#mail_owner">mail_owner</a>
13633user.  This allows destinations to be bound to a set of specific
13634CAs or public keys without trusting the same CAs for all destinations.
13635</p>
13636
13637<p> The <a href="postconf.5.html">main.cf</a> parameter supports single-purpose Postfix installations
13638that send mail to a fixed set of SMTP peers.  At most sites, if
13639trust-anchor files are used at all, they will be specified on a
13640per-destination basis via the "tafile" attribute of the "verify"
13641and "secure" levels in <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>.  </p>
13642
13643<p> The underlying mechanism is in support of <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE TLSA),
13644which defines mechanisms for an SMTP client MTA to securely determine
13645server TLS certificates via DNS.  </p>
13646
13647<p> If you want your trust anchors to be public keys, with OpenSSL
13648you can extract a single PEM public key from a PEM X.509 file
13649containing a single certificate, as follows: </p>
13650
13651<blockquote>
13652<pre>
13653$ openssl x509 -in cert.pem -out ta-key.pem -noout -pubkey
13654</pre>
13655</blockquote>
13656
13657<p> This feature is available in Postfix 2.11 and later.  </p>
13658
13659
13660</DD>
13661
13662<DT><b><a name="smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
13663(default: hostname)</b></DT><DD>
13664
13665<p> How the Postfix SMTP client verifies the server certificate
13666peername for the
13667"verify" TLS security level. In a "verify" TLS policy table
13668($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
13669overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
13670
13671<p> This parameter specifies one or more patterns or strategies separated
13672by commas, whitespace or colons.  In the policy table the only valid
13673separator is the colon character. </p>
13674
13675<p> Patterns specify domain names, or domain name suffixes: </p>
13676
13677<dl>
13678
13679<dt><i>example.com</i></dt> <dd> Match the <i>example.com</i> domain,
13680i.e. one of the names the server certificate must be <i>example.com</i>,
13681upper and lower case distinctions are ignored. </dd>
13682
13683<dt><i>.example.com</i></dt>
13684<dd> Match subdomains of the <i>example.com</i> domain, i.e. match
13685a name in the server certificate that consists of a non-zero number of
13686labels followed by a <i>.example.com</i> suffix. Case distinctions are
13687ignored.</dd>
13688
13689</dl>
13690
13691<p> Strategies specify a transformation from the next-hop domain
13692to the expected name in the server certificate: </p>
13693
13694<dl>
13695
13696<dt>nexthop</dt>
13697<dd> Match against the next-hop domain, which is either the recipient
13698domain, or the transport next-hop configured for the domain stripped of
13699any optional socket type prefix, enclosing square brackets and trailing
13700port. When MX lookups are not suppressed, this is the original nexthop
13701domain prior to the MX lookup, not the result of the MX lookup. For
13702LMTP delivery via UNIX-domain sockets, the verified next-hop name is
13703$<a href="postconf.5.html#myhostname">myhostname</a>.  This strategy is suitable for use with the "secure"
13704policy. Case is ignored.</dd>
13705
13706<dt>dot-nexthop</dt>
13707<dd> As above, but match server certificate names that are subdomains
13708of the next-hop domain. Case is ignored.</dd>
13709
13710<dt>hostname</dt> <dd> Match against the hostname of the server, often
13711obtained via an unauthenticated DNS MX lookup. For LMTP delivery via
13712UNIX-domain sockets, the verified name is $<a href="postconf.5.html#myhostname">myhostname</a>. This matches
13713the verification strategy of the "MUST" keyword in the obsolete
13714<a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table, and is suitable for use with the "verify"
13715security level. When the next-hop name is enclosed in square brackets
13716to suppress MX lookups, the "hostname" strategy is the same as the
13717"nexthop" strategy. Case is ignored.</dd>
13718
13719</dl>
13720
13721<p>
13722Sample <a href="postconf.5.html">main.cf</a> setting:
13723</p>
13724
13725<pre>
13726<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
13727</pre>
13728
13729<p>
13730Sample policy table override:
13731</p>
13732
13733<pre>
13734example.com     verify  match=hostname:nexthop
13735.example.com    verify  match=example.com:.example.com:hostname
13736</pre>
13737
13738<p> This feature is available in Postfix 2.3 and later. </p>
13739
13740
13741</DD>
13742
13743<DT><b><a name="smtp_tls_wrappermode">smtp_tls_wrappermode</a>
13744(default: no)</b></DT><DD>
13745
13746<p> Request that the Postfix SMTP client connects using the
13747legacy SMTPS protocol instead of using the STARTTLS command. </p>
13748
13749<p> This mode requires "<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt" or
13750stronger. </p>
13751
13752<p> Example: deliver all remote mail via a provider's server
13753"mail.example.com".  </p>
13754
13755<pre>
13756/etc/postfix/<a href="postconf.5.html">main.cf</a>:
13757    # Client-side SMTPS requires "encrypt" or stronger.
13758    <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
13759    <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> = yes
13760    # The [] suppress MX lookups.
13761    <a href="postconf.5.html#relayhost">relayhost</a> = [mail.example.com]:465
13762</pre>
13763
13764<p> More examples are in <a href="TLS_README.html">TLS_README</a>, including examples for older
13765Postfix versions. </p>
13766
13767<p> This feature is available in Postfix 3.0 and later.  </p>
13768
13769
13770</DD>
13771
13772<DT><b><a name="smtp_use_tls">smtp_use_tls</a>
13773(default: no)</b></DT><DD>
13774
13775<p> Opportunistic mode: use TLS when a remote SMTP server announces
13776STARTTLS support, otherwise send the mail in the clear. Beware:
13777some SMTP servers offer STARTTLS even if it is not configured.  With
13778Postfix &lt; 2.3, if the TLS handshake fails, and no other server is
13779available, delivery is deferred and mail stays in the queue. If this
13780is a concern for you, use the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> feature instead.  </p>
13781
13782<p> This feature is available in Postfix 2.2 and later. With
13783Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
13784
13785
13786</DD>
13787
13788<DT><b><a name="smtp_xforward_timeout">smtp_xforward_timeout</a>
13789(default: 300s)</b></DT><DD>
13790
13791<p>
13792The Postfix SMTP client time limit for sending the XFORWARD command,
13793and for receiving the remote SMTP server response.
13794</p>
13795
13796<p>
13797Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
13798The default time unit is s (seconds).
13799</p>
13800
13801<p>
13802This feature is available in Postfix 2.1 and later.
13803</p>
13804
13805
13806</DD>
13807
13808<DT><b><a name="smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
13809(default: $<a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a>)</b></DT><DD>
13810
13811<p> What remote SMTP clients are allowed to specify the XVERP command.
13812This command requests that mail be delivered one recipient at a
13813time with a per recipient return address.  </p>
13814
13815<p> By default, no clients are allowed to specify XVERP.  </p>
13816
13817<p> This parameter was renamed with Postfix version 2.1. The default value
13818is backwards compatible with Postfix version 2.0.  </p>
13819
13820<p> Specify a list of network/netmask patterns, separated by commas
13821and/or whitespace. The mask specifies the number of bits in the
13822network part of a host address. You can also specify hostnames or
13823.domain names (the initial dot causes the domain to match any name
13824below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
13825pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
13826is matched when a table entry matches a lookup string (the lookup
13827result is ignored).  Continue long lines by starting the next line
13828with whitespace. Specify "!pattern" to exclude an address or network
13829block from the list. The form "!/file/name" is supported only in
13830Postfix version 2.4 and later.  </p>
13831
13832<p> Note: IP version 6 address information must be specified inside
13833<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> value, and in
13834files specified with "/file/name".  IP version 6 addresses contain
13835the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
13836pattern.  </p>
13837
13838
13839</DD>
13840
13841<DT><b><a name="smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>
13842(default: empty)</b></DT><DD>
13843
13844<p>
13845What remote SMTP clients are allowed to use the XCLIENT feature.  This
13846command overrides remote SMTP client information that is used for access
13847control. Typical use is for SMTP-based content filters, fetchmail-like
13848programs, or SMTP server access rule testing. See the <a href="XCLIENT_README.html">XCLIENT_README</a>
13849document for details.
13850</p>
13851
13852<p>
13853This feature is available in Postfix 2.1 and later.
13854</p>
13855
13856<p>
13857By default, no clients are allowed to specify XCLIENT.
13858</p>
13859
13860<p>
13861Specify a list of network/netmask patterns, separated by commas
13862and/or whitespace. The mask specifies the number of bits in the
13863network part of a host address. You can also specify hostnames or
13864.domain names (the initial dot causes the domain to match any name
13865below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
13866pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
13867is matched when a table entry matches a lookup string (the lookup
13868result is ignored).  Continue long lines by starting the next line
13869with whitespace. Specify "!pattern" to exclude an address or network
13870block from the list. The form "!/file/name" is supported only in
13871Postfix version 2.4 and later.  </p>
13872
13873<p> Note: IP version 6 address information must be specified inside
13874<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> value, and in
13875files specified with "/file/name".  IP version 6 addresses contain
13876the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
13877pattern.  </p>
13878
13879
13880</DD>
13881
13882<DT><b><a name="smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a>
13883(default: empty)</b></DT><DD>
13884
13885<p>
13886What remote SMTP clients are allowed to use the XFORWARD feature.  This
13887command forwards information that is used to improve logging after
13888SMTP-based content filters. See the <a href="XFORWARD_README.html">XFORWARD_README</a> document for
13889details.
13890</p>
13891
13892<p>
13893This feature is available in Postfix 2.1 and later.
13894</p>
13895
13896<p>
13897By default, no clients are allowed to specify XFORWARD.
13898</p>
13899
13900<p>
13901Specify a list of network/netmask patterns, separated by commas
13902and/or whitespace. The mask specifies the number of bits in the
13903network part of a host address. You can also specify hostnames or
13904.domain names (the initial dot causes the domain to match any name
13905below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
13906pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
13907is matched when a table entry matches a lookup string (the lookup
13908result is ignored).  Continue long lines by starting the next line
13909with whitespace. Specify "!pattern" to exclude an address or network
13910block from the list. The form "!/file/name" is supported only in
13911Postfix version 2.4 and later.  </p>
13912
13913<p> Note: IP version 6 address information must be specified inside
13914<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> value, and in
13915files specified with "/file/name".  IP version 6 addresses contain
13916the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
13917pattern.  </p>
13918
13919
13920</DD>
13921
13922<DT><b><a name="smtpd_banner">smtpd_banner</a>
13923(default: $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a>)</b></DT><DD>
13924
13925<p>
13926The text that follows the 220 status code in the SMTP greeting
13927banner. Some people like to see the mail version advertised. By
13928default, Postfix shows no version.
13929</p>
13930
13931<p>
13932You MUST specify $<a href="postconf.5.html#myhostname">myhostname</a> at the start of the text. This is
13933required by the SMTP protocol.
13934</p>
13935
13936<p>
13937Example:
13938</p>
13939
13940<pre>
13941<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>)
13942</pre>
13943
13944
13945</DD>
13946
13947<DT><b><a name="smtpd_client_auth_rate_limit">smtpd_client_auth_rate_limit</a>
13948(default: 0)</b></DT><DD>
13949
13950<p>
13951The maximal number of AUTH commands that any client is allowed to
13952send to this service per time unit, regardless of whether or not
13953Postfix actually accepts those commands.  The time unit is specified
13954with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
13955</p>
13956
13957<p>
13958By default, there is no limit on the number AUTH commands that a
13959client may send.
13960</p>
13961
13962<p>
13963To disable this feature, specify a limit of 0.
13964</p>
13965
13966<p>
13967WARNING: The purpose of this feature is to limit abuse. It must
13968not be used to regulate legitimate mail traffic.
13969</p>
13970
13971<p>
13972This feature is available in Postfix 3.1 and later.
13973</p>
13974
13975
13976</DD>
13977
13978<DT><b><a name="smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>
13979(default: 50)</b></DT><DD>
13980
13981<p>
13982How many simultaneous connections any client is allowed to
13983make to this service.  By default, the limit is set to half
13984the default process limit value.
13985</p>
13986
13987<p>
13988To disable this feature, specify a limit of 0.
13989</p>
13990
13991<p>
13992WARNING: The purpose of this feature is to limit abuse. It must
13993not be used to regulate legitimate mail traffic.
13994</p>
13995
13996<p>
13997This feature is available in Postfix 2.2 and later.
13998</p>
13999
14000
14001</DD>
14002
14003<DT><b><a name="smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a>
14004(default: 0)</b></DT><DD>
14005
14006<p>
14007The maximal number of connection attempts any client is allowed to
14008make to this service per time unit.  The time unit is specified
14009with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
14010</p>
14011
14012<p>
14013By default, a client can make as many connections per time unit as
14014Postfix can accept.
14015</p>
14016
14017<p>
14018To disable this feature, specify a limit of 0.
14019</p>
14020
14021<p>
14022WARNING: The purpose of this feature is to limit abuse. It must
14023not be used to regulate legitimate mail traffic.
14024</p>
14025
14026<p>
14027This feature is available in Postfix 2.2 and later.
14028</p>
14029
14030<p>
14031Example:
14032</p>
14033
14034<pre>
14035<a href="postconf.5.html#smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> = 1000
14036</pre>
14037
14038
14039</DD>
14040
14041<DT><b><a name="smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
14042(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
14043
14044<p>
14045Clients that are excluded from smtpd_client_*_count/rate_limit
14046restrictions. See the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter
14047description for the parameter value syntax.
14048</p>
14049
14050<p>
14051By default, clients in trusted networks are excluded. Specify a
14052list of network blocks, hostnames or .domain names (the initial
14053dot causes the domain to match any name below it).
14054</p>
14055
14056<p> Note: IP version 6 address information must be specified inside
14057<tt>[]</tt> in the <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> value, and
14058in files specified with "/file/name".  IP version 6 addresses
14059contain the ":" character, and would otherwise be confused with a
14060"<a href="DATABASE_README.html">type:table</a>" pattern.  </p>
14061
14062<p> Pattern matching of domain names is controlled by the presence
14063or absence of "<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>" in the
14064<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value (postfix 3.0 and
14065later).  </p>
14066
14067<p>
14068This feature is available in Postfix 2.2 and later.
14069</p>
14070
14071
14072</DD>
14073
14074<DT><b><a name="smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a>
14075(default: 0)</b></DT><DD>
14076
14077<p>
14078The maximal number of message delivery requests that any client is
14079allowed to make to this service per time unit, regardless of whether
14080or not Postfix actually accepts those messages.  The time unit is
14081specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
14082</p>
14083
14084<p>
14085By default, a client can send as many message delivery requests
14086per time unit as Postfix can accept.
14087</p>
14088
14089<p>
14090To disable this feature, specify a limit of 0.
14091</p>
14092
14093<p>
14094WARNING: The purpose of this feature is to limit abuse. It must
14095not be used to regulate legitimate mail traffic.
14096</p>
14097
14098<p>
14099This feature is available in Postfix 2.2 and later.
14100</p>
14101
14102<p>
14103Example:
14104</p>
14105
14106<pre>
14107<a href="postconf.5.html#smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> = 1000
14108</pre>
14109
14110
14111</DD>
14112
14113<DT><b><a name="smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a>
14114(default: 0)</b></DT><DD>
14115
14116<p>
14117The maximal number of new (i.e., uncached) TLS sessions that a
14118remote SMTP client is allowed to negotiate with this service per
14119time unit.  The time unit is specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a>
14120configuration parameter.
14121</p>
14122
14123<p>
14124By default, a remote SMTP client can negotiate as many new TLS
14125sessions per time unit as Postfix can accept.
14126</p>
14127
14128<p>
14129To disable this feature, specify a limit of 0. Otherwise, specify
14130a limit that is at least the per-client concurrent session limit,
14131or else legitimate client sessions may be rejected.
14132</p>
14133
14134<p>
14135WARNING: The purpose of this feature is to limit abuse. It must
14136not be used to regulate legitimate mail traffic.
14137</p>
14138
14139<p>
14140This feature is available in Postfix 2.3 and later.
14141</p>
14142
14143<p>
14144Example:
14145</p>
14146
14147<pre>
14148<a href="postconf.5.html#smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a> = 100
14149</pre>
14150
14151
14152</DD>
14153
14154<DT><b><a name="smtpd_client_port_logging">smtpd_client_port_logging</a>
14155(default: no)</b></DT><DD>
14156
14157<p> Enable logging of the remote SMTP client port in addition to
14158the hostname and IP address. The logging format is "host[address]:port".
14159</p>
14160
14161<p> This feature is available in Postfix 2.5 and later. </p>
14162
14163
14164</DD>
14165
14166<DT><b><a name="smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a>
14167(default: 0)</b></DT><DD>
14168
14169<p>
14170The maximal number of recipient addresses that any client is allowed
14171to send to this service per time unit, regardless of whether or not
14172Postfix actually accepts those recipients.  The time unit is specified
14173with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
14174</p>
14175
14176<p>
14177By default, a client can send as many recipient addresses per time
14178unit as Postfix can accept.
14179</p>
14180
14181<p>
14182To disable this feature, specify a limit of 0.
14183</p>
14184
14185<p>
14186WARNING: The purpose of this feature is to limit abuse. It must
14187not be used to regulate legitimate mail traffic.
14188</p>
14189
14190<p>
14191This feature is available in Postfix 2.2 and later.
14192</p>
14193
14194<p>
14195Example:
14196</p>
14197
14198<pre>
14199<a href="postconf.5.html#smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> = 1000
14200</pre>
14201
14202
14203</DD>
14204
14205<DT><b><a name="smtpd_client_restrictions">smtpd_client_restrictions</a>
14206(default: empty)</b></DT><DD>
14207
14208<p>
14209Optional restrictions that the Postfix SMTP server applies in the
14210context of a client connection request.
14211See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14212restriction lists" for a discussion of evaluation context and time.
14213</p>
14214
14215<p>
14216The default is to allow all connection requests.
14217</p>
14218
14219<p>
14220Specify a list of restrictions, separated by commas and/or whitespace.
14221Continue long lines by starting the next line with whitespace.
14222Restrictions are applied in the order as specified; the first
14223restriction that matches wins.
14224</p>
14225
14226<p>
14227The following restrictions are specific to client hostname or
14228client network address information.
14229</p>
14230
14231<dl>
14232
14233<dt><b><a name="check_ccert_access">check_ccert_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
14234
14235<dd> By default use the remote SMTP client certificate fingerprint
14236or the public key
14237fingerprint (Postfix 2.9 and later) as lookup key for the specified
14238<a href="access.5.html">access(5)</a> database; with Postfix version 2.2, also require that the
14239remote SMTP client certificate is verified successfully.
14240The fingerprint digest algorithm is configurable via the
14241<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
14242Postfix version 2.5).  This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
14243= yes" and is available with Postfix version
142442.2 and later. </dd>
14245
14246<br>
14247
14248<dd> Alternatively, <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> accepts an explicit search
14249order (Postfix 3.5 and later). The default search order as described
14250above corresponds with: </dd>
14251
14252<dd> <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> { <a href="DATABASE_README.html">type:table</a>, { search_order = cert_fingerprint,
14253pubkey_fingerprint } } </dd>
14254
14255<dd> The commas are optional. </dd>
14256
14257<dt><b><a name="check_client_access">check_client_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
14258
14259<dd>Search the specified access database for the client hostname,
14260parent domains, client IP address, or networks obtained by stripping
14261least significant octets. See the <a href="access.5.html">access(5)</a> manual page for details. </dd>
14262
14263<dt><b><a name="check_client_a_access">check_client_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
14264
14265<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the
14266client hostname, and execute the corresponding action.  Note: a result
14267of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
14268to exclude specific hosts from blacklists.  This feature is available
14269in Postfix 3.0 and later.  </dd>
14270
14271<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>
14272
14273<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
14274client hostname, and execute the corresponding action.  Note: a result
14275of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
14276to exclude specific hosts from blacklists.  This feature is available
14277in Postfix 2.7 and later.  </dd>
14278
14279<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>
14280
14281<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
14282the client hostname, and execute the corresponding action.  Note: a
14283result of "OK" is not allowed for safety reasons. Instead, use DUNNO
14284in order to exclude specific hosts from blacklists.  This feature is
14285available in Postfix 2.7 and later.  </dd>
14286
14287<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>
14288
14289<dd>Search the specified access database for the unverified reverse
14290client hostname, parent domains, client IP address, or networks
14291obtained by stripping least significant octets. See the <a href="access.5.html">access(5)</a>
14292manual page for details.  Note: a result of "OK" is not allowed for
14293safety reasons.  Instead, use DUNNO in order to exclude specific
14294hosts from blacklists.  This feature is available in Postfix 2.6
14295and later.</dd>
14296
14297<dt><b><a name="check_reverse_client_hostname_a_access">check_reverse_client_hostname_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
14298
14299<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the
14300unverified reverse client hostname, and execute the corresponding
14301action.  Note: a result of "OK" is not allowed for safety reasons.
14302Instead, use DUNNO in order to exclude specific hosts from blacklists.
14303This feature is available in Postfix 3.0 and later.  </dd>
14304
14305<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>
14306
14307<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
14308unverified reverse client hostname, and execute the corresponding
14309action.  Note: a result of "OK" is not allowed for safety reasons.
14310Instead, use DUNNO in order to exclude specific hosts from blacklists.
14311This feature is available in Postfix 2.7 and later.  </dd>
14312
14313<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>
14314
14315<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
14316the unverified reverse client hostname, and execute the corresponding
14317action.  Note: a result of "OK" is not allowed for safety reasons.
14318Instead, use DUNNO in order to exclude specific hosts from blacklists.
14319This feature is available in Postfix 2.7 and later.  </dd>
14320
14321<dt><b><a name="check_sasl_access">check_sasl_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
14322
14323<dd> Use the remote SMTP client SASL user name as lookup key for
14324the specified <a href="access.5.html">access(5)</a> database. The lookup key has the form
14325"username@domainname" when the <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> parameter
14326value is non-empty.  Unlike the <a href="postconf.5.html#check_client_access">check_client_access</a> feature,
14327<a href="postconf.5.html#check_sasl_access">check_sasl_access</a> does not perform matches of parent domains or IP
14328subnet ranges.  This feature is available with Postfix version 2.11
14329and later. </dd>
14330
14331<dt><b><a name="permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
14332
14333<dd>Permit the request when the client IP address matches
14334$<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. </dd>
14335
14336<dt><b><a name="permit_mynetworks">permit_mynetworks</a></b></dt>
14337
14338<dd>Permit the request when the client IP address matches any
14339network or network address listed in  $<a href="postconf.5.html#mynetworks">mynetworks</a>. </dd>
14340
14341<dt><b><a name="permit_sasl_authenticated">permit_sasl_authenticated</a></b></dt>
14342
14343<dd> Permit the request when the client is successfully
14344authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH) protocol. </dd>
14345
14346<dt><b><a name="permit_tls_all_clientcerts">permit_tls_all_clientcerts</a></b></dt>
14347
14348<dd> Permit the request when the remote SMTP client certificate is
14349verified successfully.  This option must be used only if a special
14350CA issues the certificates and only this CA is listed as trusted
14351CA. Otherwise, clients with a third-party certificate would also
14352be allowed to relay.  Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" when the
14353trusted 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>,
14354to prevent Postfix from appending the system-supplied default CAs.
14355This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes" and is available
14356with Postfix version 2.2 and later.</dd>
14357
14358<dt><b><a name="permit_tls_clientcerts">permit_tls_clientcerts</a></b></dt>
14359
14360<dd>Permit the request when the remote SMTP client certificate
14361fingerprint or public key fingerprint (Postfix 2.9 and later) is
14362listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
14363The fingerprint digest algorithm is configurable via the
14364<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
14365Postfix version 2.5).  This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
14366= yes" and is available with Postfix version 2.2 and later.</dd>
14367
14368<dt><b><a name="reject_rbl_client">reject_rbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
14369
14370<dd>Reject the request when the reversed client network address is
14371listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
14372(Postfix version 2.1 and later only).  Each "<i>d</i>" is a number,
14373or a pattern inside "[]" that contains one or more ";"-separated
14374numbers or number..number ranges (Postfix version 2.8 and later).
14375If no "<i>=d.d.d.d</i>" is specified, reject the request when the
14376reversed client network address is listed with any A record under
14377<i>rbl_domain</i>. <br>
14378The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
14379rejected requests (default:  554), the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a>  parameter
14380specifies the default server reply, and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a>  parameter
14381specifies tables with server replies indexed by <i>rbl_domain</i>.
14382This feature is available in Postfix 2.0 and later.  </dd>
14383
14384<dt><b><a name="permit_dnswl_client">permit_dnswl_client <i>dnswl_domain=d.d.d.d</i></a></b></dt>
14385
14386<dd>Accept the request when the reversed client network address is
14387listed with the A record "<i>d.d.d.d</i>" under <i>dnswl_domain</i>.
14388Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
14389one or more ";"-separated numbers or number..number ranges.
14390If no "<i>=d.d.d.d</i>" is specified, accept the request when the
14391reversed client network address is listed with any A record under
14392<i>dnswl_domain</i>. <br> For safety, <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a> is silently
14393ignored when it would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>.  The
14394result is DEFER_IF_REJECT when whitelist lookup fails.  This feature
14395is available in Postfix 2.8 and later.  </dd>
14396
14397<dt><b><a name="reject_rhsbl_client">reject_rhsbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
14398
14399<dd>Reject the request when the client hostname is listed with the
14400A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
144012.1 and later only).  Each "<i>d</i>" is a number, or a pattern
14402inside "[]" that contains one or more ";"-separated numbers or
14403number..number ranges (Postfix version 2.8 and later).  If no
14404"<i>=d.d.d.d</i>" is specified, reject the request when the client
14405hostname is listed with
14406any A record under <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a>
14407description above for additional RBL related configuration parameters.
14408This feature is available in Postfix 2.0 and later; with Postfix
14409version 2.8 and later, <a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a> will usually
14410produce better results.  </dd>
14411
14412<dt><b><a name="permit_rhswl_client">permit_rhswl_client <i>rhswl_domain=d.d.d.d</i></a></b></dt>
14413
14414<dd>Accept the request when the client hostname is listed with the
14415A record "<i>d.d.d.d</i>" under <i>rhswl_domain</i>.  Each "<i>d</i>"
14416is a number, or a pattern inside "[]" that contains one or more
14417";"-separated numbers or number..number ranges. If no
14418"<i>=d.d.d.d</i>" is specified, accept the request when the client
14419hostname is listed with any A record under <i>rhswl_domain</i>.
14420<br> Caution: client name whitelisting is fragile, since the client
14421name lookup can fail due to temporary outages.  Client name
14422whitelisting should be used only to reduce false positives in e.g.
14423DNS-based blocklists, and not for making access rule exceptions.
14424<br> For safety, <a href="postconf.5.html#permit_rhswl_client">permit_rhswl_client</a> is silently ignored when it
14425would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>.  The result is DEFER_IF_REJECT
14426when whitelist lookup fails.  This feature is available in Postfix
144272.8 and later.  </dd>
14428
14429<dt><b><a name="reject_rhsbl_reverse_client">reject_rhsbl_reverse_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
14430
14431<dd>Reject the request when the unverified reverse client hostname
14432is listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>.
14433Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
14434one or more ";"-separated numbers or number..number ranges.
14435If no "<i>=d.d.d.d</i>" is specified, reject the request when the
14436unverified reverse client hostname is listed with any A record under
14437<i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description above for
14438additional RBL related configuration parameters.  This feature is
14439available in Postfix 2.8 and later.  </dd>
14440
14441<dt><b><a name="reject_unknown_client_hostname">reject_unknown_client_hostname</a></b> (with Postfix &lt; 2.3: reject_unknown_client)</dt>
14442
14443<dd>Reject the request when 1) the client IP address-&gt;name mapping
14444fails, or 2) the name-&gt;address mapping fails, or 3) the name-&gt;address
14445mapping does not match the client IP address.  <br> This is a
14446stronger restriction than the <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a>
14447feature, which triggers only under condition 1) above. <br> The
14448<a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response code
14449for rejected requests (default: 450). The reply is always 450 in
14450case the address-&gt;name or name-&gt;address lookup failed due to
14451a temporary problem. </dd>
14452
14453<dt><b><a name="reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a></b></dt>
14454
14455<dd>Reject the request when the client IP address has no address-&gt;name
14456mapping. <br> This is a weaker restriction than the
14457<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> feature, which requires not only
14458that the address-&gt;name and name-&gt;address mappings exist, but
14459also that the two mappings reproduce the client IP address.  <br>
14460The <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response
14461code for rejected requests (default: 450).  The reply is always 450
14462in case the address-&gt;name lookup failed due to a temporary
14463problem. <br> This feature is available in Postfix 2.3 and
14464later.  </dd>
14465
14466</dl>
14467
14468<p>
14469In addition, you can use any of the following <a name="generic">
14470generic</a> restrictions.  These restrictions are applicable in
14471any SMTP command context.
14472</p>
14473
14474<dl>
14475
14476<dt><b><a name="check_policy_service">check_policy_service <i>servername</i></a></b></dt>
14477
14478<dd>Query the specified policy server. See the <a href="SMTPD_POLICY_README.html">SMTPD_POLICY_README</a>
14479document for details. This feature is available in Postfix 2.1
14480and later. </dd>
14481
14482<dt><b><a name="defer">defer</a></b></dt>
14483
14484<dd>Defer the request. The client is told to try again later. This
14485restriction is useful at the end of a restriction list, to make
14486the default policy explicit. <br> The <a href="postconf.5.html#defer_code">defer_code</a> parameter specifies
14487the SMTP server reply code (default: 450).</dd>
14488
14489<dt><b><a name="defer_if_permit">defer_if_permit</a></b></dt>
14490
14491<dd>Defer the request if some later restriction would result in an
14492explicit or implicit PERMIT action.  This is useful when a blacklisting
14493feature fails due to a temporary problem.  This feature is available
14494in Postfix version 2.1 and later.  </dd>
14495
14496<dt><b><a name="defer_if_reject">defer_if_reject</a></b></dt>
14497
14498<dd>Defer the request if some later restriction would result in a
14499REJECT action.  This is useful when a whitelisting feature fails
14500due to a temporary problem.  This feature is available in Postfix
14501version 2.1 and later.  </dd>
14502
14503<dt><b><a name="permit">permit</a></b></dt>
14504
14505<dd>Permit the request. This restriction is useful at the end of
14506a restriction list, to make the default policy explicit.</dd>
14507
14508<dt><b><a name="reject_multi_recipient_bounce">reject_multi_recipient_bounce</a></b></dt>
14509
14510<dd>Reject the request when the envelope sender is the null address,
14511and the message has multiple envelope recipients. This usage has
14512rare but legitimate applications: under certain conditions,
14513multi-recipient mail that was posted with the DSN option NOTIFY=NEVER
14514may be forwarded with the null sender address.
14515<br> Note: this restriction can only work reliably
14516when used in <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> or
14517<a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>, because the total number of
14518recipients is not known at an earlier stage of the SMTP conversation.
14519Use at the RCPT stage will only reject the second etc.  recipient.
14520<br>
14521The <a href="postconf.5.html#multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> parameter specifies the
14522response code for rejected requests (default:  550).  This feature
14523is available in Postfix 2.1 and later. </dd>
14524
14525<dt><b><a name="reject_plaintext_session">reject_plaintext_session</a></b></dt>
14526
14527<dd>Reject the request when the connection is not encrypted. This
14528restriction should not be used before the client has had a chance
14529to negotiate encryption with the AUTH or STARTTLS commands.
14530<br>
14531The <a href="postconf.5.html#plaintext_reject_code">plaintext_reject_code</a> parameter specifies the response
14532code for rejected requests (default:  450).  This feature is available
14533in Postfix 2.3 and later. </dd>
14534
14535<dt><b><a name="reject_unauth_pipelining">reject_unauth_pipelining</a></b></dt>
14536
14537<dd>Reject the request when the client sends SMTP commands ahead
14538of time where it is not allowed, or when the client sends SMTP
14539commands ahead of time without knowing that Postfix actually supports
14540ESMTP command pipelining. This stops mail from bulk mail software
14541that improperly uses ESMTP command pipelining in order to speed up
14542deliveries.
14543<br> With Postfix 2.6 and later, the SMTP server sets a per-session
14544flag whenever it detects illegal pipelining, including pipelined
14545HELO or EHLO commands. The <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> feature simply
14546tests whether the flag was set at any point in time during the
14547session.
14548<br> With older Postfix versions, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> checks
14549the current status of the input read queue, and its usage is not
14550recommended in contexts other than <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a>.  </dd>
14551
14552<dt><b><a name="reject">reject</a></b></dt>
14553
14554<dd>Reject the request. This restriction is useful at the end of
14555a restriction list, to make the default policy explicit.  The
14556<a href="postconf.5.html#reject_code">reject_code</a> configuration parameter specifies the response code for
14557rejected requests (default: 554).</dd>
14558
14559<dt><b><a name="sleep">sleep <i>seconds</i></a></b></dt>
14560
14561<dd>Pause for the specified number of seconds and proceed with
14562the next restriction in the list, if any. This may stop zombie
14563mail when used as:
14564<pre>
14565/etc/postfix/<a href="postconf.5.html">main.cf</a>:
14566    <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
14567        sleep 1, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
14568    <a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = no
14569</pre>
14570This feature is available in Postfix 2.3. </dd>
14571
14572<dt><b><a name="warn_if_reject">warn_if_reject</a></b></dt>
14573
14574<dd> A safety net for testing. When "<a href="postconf.5.html#warn_if_reject">warn_if_reject</a>" is placed
14575before a reject-type restriction, access table query, or
14576<a href="postconf.5.html#check_policy_service">check_policy_service</a> query, this logs a "reject_warning" message
14577instead of rejecting a request (when a reject-type restriction fails
14578due to a temporary error, this logs a "reject_warning" message for
14579any implicit "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" actions that would normally prevent
14580mail from being accepted by some later access restriction). This
14581feature has no effect on <a href="postconf.5.html#defer_if_reject">defer_if_reject</a> restrictions.  </dd>
14582
14583</dl>
14584
14585<p>
14586Other restrictions that are valid in this context:
14587</p>
14588
14589<ul>
14590
14591<li> SMTP command specific restrictions that are described under
14592the <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
14593<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameters. When helo, sender or
14594recipient restrictions are listed under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>,
14595they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
14596$<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> is evaluated at the time of the RCPT TO
14597command.
14598
14599</ul>
14600
14601<p>
14602Example:
14603</p>
14604
14605<pre>
14606<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>
14607</pre>
14608
14609
14610</DD>
14611
14612<DT><b><a name="smtpd_command_filter">smtpd_command_filter</a>
14613(default: empty)</b></DT><DD>
14614
14615<p> A mechanism to transform commands from remote SMTP clients.
14616This is a last-resort tool to work around client commands that break
14617interoperability with the Postfix SMTP server.  Other uses involve
14618fault injection to test Postfix's handling of invalid commands.
14619</p>
14620
14621<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
14622string is the SMTP command as received from the remote SMTP client,
14623except that initial whitespace and the trailing &lt;CR&gt;&lt;LF&gt;
14624are removed.  The result value is executed by the Postfix SMTP
14625server.  </p>
14626
14627<p> There is no need to use <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for the following
14628cases: </p>
14629
14630<ul>
14631
14632<li> <p> Use "<a href="postconf.5.html#resolve_numeric_domain">resolve_numeric_domain</a> = yes" to accept
14633"<i>user@ipaddress</i>". </p>
14634
14635<li> <p> Postfix already accepts the correct form
14636"<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>
14637to translate these into domain names if necessary.  </p>
14638
14639<li> <p> Use "<a href="postconf.5.html#strict_rfc821_envelopes">strict_rfc821_envelopes</a> = no" to accept "RCPT TO:&lt;<i>User
14640Name &lt;user@example.com&gt;&gt;</i>". Postfix will ignore the "<i>User
14641Name</i>" part and deliver to the <i>&lt;user@example.com&gt;</i> address.
14642</p>
14643
14644</ul>
14645
14646<p> Examples of problems that can be solved with the <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>
14647feature: </p>
14648
14649<pre>
14650/etc/postfix/<a href="postconf.5.html">main.cf</a>:
14651    <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/command_filter
14652</pre>
14653
14654<pre>
14655/etc/postfix/command_filter:
14656    # Work around clients that send malformed HELO commands.
14657    /^HELO\s*$/ HELO domain.invalid
14658</pre>
14659
14660<pre>
14661    # Work around clients that send empty lines.
14662    /^\s*$/     NOOP
14663</pre>
14664
14665<pre>
14666    # Work around clients that send RCPT TO:&lt;'user@domain'&gt;.
14667    # WARNING: do not lose the parameters that follow the address.
14668    /^(RCPT\s+TO:\s*&lt;)'([^[:space:]]+)'(&gt;.*)/     $1$2$3
14669</pre>
14670
14671<pre>
14672    # Append XVERP to MAIL FROM commands to request VERP-style delivery.
14673    # See <a href="VERP_README.html">VERP_README</a> for more information on how to use Postfix VERP.
14674    /^(MAIL FROM:\s*&lt;listname@example\.com&gt;.*)/   $1 XVERP
14675</pre>
14676
14677<pre>
14678    # Bounce-never mail sink. Use <a href="postconf.5.html#notify_classes">notify_classes</a>=bounce,resource,software
14679    # to send bounced mail to the postmaster (with message body removed).
14680    /^(RCPT\s+TO:\s*&lt;.*&gt;.*)\s+NOTIFY=\S+(.*)/     $1 NOTIFY=NEVER$2
14681    /^(RCPT\s+TO:.*)/                             $1 NOTIFY=NEVER
14682</pre>
14683
14684<p> This feature is available in Postfix 2.7. </p>
14685
14686
14687</DD>
14688
14689<DT><b><a name="smtpd_data_restrictions">smtpd_data_restrictions</a>
14690(default: empty)</b></DT><DD>
14691
14692<p>
14693Optional access restrictions that the Postfix SMTP server applies
14694in the context of the SMTP DATA command.
14695See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14696restriction lists" for a discussion of evaluation context and time.
14697</p>
14698
14699<p>
14700This feature is available in Postfix 2.0 and later.
14701</p>
14702
14703<p>
14704Specify a list of restrictions, separated by commas and/or whitespace.
14705Continue long lines by starting the next line with whitespace.
14706Restrictions are applied in the order as specified; the first
14707restriction that matches wins.
14708</p>
14709
14710<p>
14711The following restrictions are valid in this context:
14712</p>
14713
14714<ul>
14715
14716<li><a href="#generic">Generic</a> restrictions that can be used
14717in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
14718
14719<li>SMTP command specific restrictions described under
14720<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
14721<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>.
14722
14723<li>However, no recipient information is available in the case of
14724multi-recipient mail. Acting on only one recipient would be misleading,
14725because any decision will affect all recipients equally. Acting on
14726all recipients would require a possibly very large amount of memory,
14727and would also be misleading for the reasons mentioned before.
14728
14729</ul>
14730
14731<p>
14732Examples:
14733</p>
14734
14735<pre>
14736<a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
14737<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>
14738</pre>
14739
14740
14741</DD>
14742
14743<DT><b><a name="smtpd_delay_open_until_valid_rcpt">smtpd_delay_open_until_valid_rcpt</a>
14744(default: yes)</b></DT><DD>
14745
14746<p> Postpone the start of an SMTP mail transaction until a valid
14747RCPT TO command is received. Specify "no" to create a mail transaction
14748as soon as the Postfix SMTP server receives a valid MAIL FROM
14749command. </p>
14750
14751<p> With sites that reject lots of mail, the default setting reduces
14752the use of
14753disk, CPU and memory resources. The downside is that rejected
14754recipients are logged with NOQUEUE instead of a mail transaction
14755ID. This complicates the logfile analysis of multi-recipient mail.
14756</p>
14757
14758<p> This feature is available in Postfix 2.3 and later. </p>
14759
14760
14761</DD>
14762
14763<DT><b><a name="smtpd_delay_reject">smtpd_delay_reject</a>
14764(default: yes)</b></DT><DD>
14765
14766<p>
14767Wait until the RCPT TO command before evaluating
14768$<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
14769$<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, or wait until the ETRN command before
14770evaluating $<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>.
14771</p>
14772
14773<p>
14774This feature is turned on by default because some clients apparently
14775mis-behave when the Postfix SMTP server rejects commands before
14776RCPT TO.
14777</p>
14778
14779<p>
14780The default setting has one major benefit: it allows Postfix to log
14781recipient address information when rejecting a client name/address
14782or sender address, so that it is possible to find out whose mail
14783is being rejected.
14784</p>
14785
14786
14787</DD>
14788
14789<DT><b><a name="smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>
14790(default: empty)</b></DT><DD>
14791
14792<p> Lookup tables, indexed by the remote SMTP client address, with
14793case insensitive lists of EHLO keywords (pipelining, starttls, auth,
14794etc.) that the Postfix SMTP server will not send in the EHLO response
14795to a
14796remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
14797The tables are not searched by hostname for robustness reasons.  </p>
14798
14799<p>
14800Specify zero or more "type:name" lookup tables, separated by
14801whitespace or comma. Tables will be searched in the specified order
14802until a match is found.
14803</p>
14804
14805<p> This feature is available in Postfix 2.2 and later. </p>
14806
14807
14808</DD>
14809
14810<DT><b><a name="smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
14811(default: empty)</b></DT><DD>
14812
14813<p> A case insensitive list of EHLO keywords (pipelining, starttls,
14814auth, etc.) that the Postfix SMTP server will not send in the EHLO
14815response
14816to a remote SMTP client. </p>
14817
14818<p> This feature is available in Postfix 2.2 and later. </p>
14819
14820<p> Notes: </p>
14821
14822<ul>
14823
14824<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
14825this action from being logged. </p>
14826
14827<li> <p> Use the <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> feature
14828to discard EHLO keywords selectively.  </p>
14829
14830</ul>
14831
14832
14833</DD>
14834
14835<DT><b><a name="smtpd_dns_reply_filter">smtpd_dns_reply_filter</a>
14836(default: empty)</b></DT><DD>
14837
14838<p> Optional filter for Postfix SMTP server DNS lookup results.
14839See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example.
14840</p>
14841
14842<p> This feature is available in Postfix 3.0 and later. </p>
14843
14844
14845</DD>
14846
14847<DT><b><a name="smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>
14848(default: empty)</b></DT><DD>
14849
14850<p> Optional access restrictions that the Postfix SMTP server
14851applies in the context of the SMTP END-OF-DATA command.
14852See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14853restriction lists" for a discussion of evaluation context and time.
14854</p>
14855
14856<p> This feature is available in Postfix 2.2 and later. </p>
14857
14858<p> See <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> for details and limitations. </p>
14859
14860
14861</DD>
14862
14863<DT><b><a name="smtpd_enforce_tls">smtpd_enforce_tls</a>
14864(default: no)</b></DT><DD>
14865
14866<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients,
14867and require that clients use TLS encryption.  According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a>
14868this MUST NOT be applied in case of a publicly-referenced SMTP
14869server.  This option is therefore off by default. </p>
14870
14871<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>
14872
14873<p> Note 2: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
14874STARTTLS due to insufficient privileges to access the server private
14875key. This is intended behavior. </p>
14876
14877<p> This feature is available in Postfix 2.2 and later. With
14878Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
14879
14880
14881</DD>
14882
14883<DT><b><a name="smtpd_error_sleep_time">smtpd_error_sleep_time</a>
14884(default: 1s)</b></DT><DD>
14885
14886<p>With Postfix version 2.1 and later: the SMTP server response delay after
14887a client has made more than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors, and
14888fewer than $<a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a> errors, without delivering mail.
14889</p>
14890
14891<p>With Postfix version 2.0 and earlier: the SMTP server delay before
14892sending a reject (4xx or 5xx) response, when the client has made
14893fewer than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors without delivering
14894mail. </p>
14895
14896
14897</DD>
14898
14899<DT><b><a name="smtpd_etrn_restrictions">smtpd_etrn_restrictions</a>
14900(default: empty)</b></DT><DD>
14901
14902<p>
14903Optional restrictions that the Postfix SMTP server applies in the
14904context of a client ETRN command.
14905See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
14906restriction lists" for a discussion of evaluation context and time.
14907</p>
14908
14909<p>
14910The Postfix ETRN implementation accepts only destinations that are
14911eligible for the Postfix "fast flush" service. See the <a href="ETRN_README.html">ETRN_README</a>
14912file for details.
14913</p>
14914
14915<p>
14916Specify a list of restrictions, separated by commas and/or whitespace.
14917Continue long lines by starting the next line with whitespace.
14918Restrictions are applied in the order as specified; the first
14919restriction that matches wins.
14920</p>
14921
14922<p>
14923The following restrictions are specific to the domain name information
14924received with the ETRN command.
14925</p>
14926
14927<dl>
14928
14929<dt><b><a name="check_etrn_access">check_etrn_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
14930
14931<dd>Search the specified access database for the ETRN domain name
14932or its parent domains. See the <a href="access.5.html">access(5)</a> manual page for details.
14933</dd>
14934
14935</dl>
14936
14937<p>
14938Other restrictions that are valid in this context:
14939</p>
14940
14941<ul>
14942
14943<li><a href="#generic">Generic</a> restrictions that can be used
14944in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
14945
14946<li>SMTP command specific restrictions described under
14947<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>.
14948
14949</ul>
14950
14951<p>
14952Example:
14953</p>
14954
14955<pre>
14956<a href="postconf.5.html#smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, reject
14957</pre>
14958
14959
14960</DD>
14961
14962<DT><b><a name="smtpd_expansion_filter">smtpd_expansion_filter</a>
14963(default: see "postconf -d" output)</b></DT><DD>
14964
14965<p>
14966What characters are allowed in $name expansions of RBL reply
14967templates. Characters not in the allowed set are replaced by "_".
14968Use C like escapes to specify special characters such as whitespace.
14969</p>
14970
14971<p>
14972The <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> value is not subject to Postfix configuration
14973parameter $name expansion.
14974</p>
14975
14976<p>
14977This feature is available in Postfix 2.0 and later.
14978</p>
14979
14980
14981</DD>
14982
14983<DT><b><a name="smtpd_forbidden_commands">smtpd_forbidden_commands</a>
14984(default: CONNECT, GET, POST)</b></DT><DD>
14985
14986<p>
14987List of commands that cause the Postfix SMTP server to immediately
14988terminate the session with a 221 code. This can be used to disconnect
14989clients that obviously attempt to abuse the system. In addition to the
14990commands listed in this parameter, commands that follow the "Label:"
14991format of message headers will also cause a disconnect.
14992</p>
14993
14994<p>
14995This feature is available in Postfix 2.2 and later.
14996</p>
14997
14998
14999</DD>
15000
15001<DT><b><a name="smtpd_hard_error_limit">smtpd_hard_error_limit</a>
15002(default: normal: 20, overload: 1)</b></DT><DD>
15003
15004<p>
15005The maximal number of errors a remote SMTP client is allowed to
15006make without delivering mail. The Postfix SMTP server disconnects
15007when the limit is exceeded. Normally the default limit is 20, but
15008it changes under overload to just 1. With Postfix 2.5 and earlier,
15009the SMTP server always allows up to 20 errors by default.
15010
15011</p>
15012
15013
15014</DD>
15015
15016<DT><b><a name="smtpd_helo_required">smtpd_helo_required</a>
15017(default: no)</b></DT><DD>
15018
15019<p>
15020Require that a remote SMTP client introduces itself with the HELO
15021or EHLO command before sending the MAIL command or other commands
15022that require EHLO negotiation.
15023</p>
15024
15025<p>
15026Example:
15027</p>
15028
15029<pre>
15030<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes
15031</pre>
15032
15033
15034</DD>
15035
15036<DT><b><a name="smtpd_helo_restrictions">smtpd_helo_restrictions</a>
15037(default: empty)</b></DT><DD>
15038
15039<p>
15040Optional restrictions that the Postfix SMTP server applies in the
15041context of a client HELO command.
15042See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
15043restriction lists" for a discussion of evaluation context and time.
15044</p>
15045
15046<p>
15047The default is to permit everything.
15048</p>
15049
15050<p> Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
15051restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
15052simply skip <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> by not sending HELO or EHLO).
15053</p>
15054
15055<p>
15056Specify a list of restrictions, separated by commas and/or whitespace.
15057Continue long lines by starting the next line with whitespace.
15058Restrictions are applied in the order as specified; the first
15059restriction that matches wins.
15060</p>
15061
15062<p>
15063The following restrictions are specific to the hostname information
15064received with the HELO or EHLO command.
15065</p>
15066
15067<dl>
15068
15069<dt><b><a name="check_helo_access">check_helo_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15070
15071<dd>Search the specified <a href="access.5.html">access(5)</a> database for the HELO or EHLO
15072hostname or parent domains, and execute the corresponding action.
15073Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
15074restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
15075simply skip <a href="postconf.5.html#check_helo_access">check_helo_access</a> by not sending HELO or EHLO).  </dd>
15076
15077<dt><b><a name="check_helo_a_access">check_helo_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15078
15079<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
15080the HELO or EHLO hostname, and execute the corresponding action.
15081Note 1: a result of "OK" is not allowed for safety reasons. Instead,
15082use DUNNO in order to exclude specific hosts from blacklists.  Note
150832: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
15084restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
15085simply skip check_helo_a_access by not sending HELO or EHLO).  This
15086feature is available in Postfix 3.0 and later.
15087</dd>
15088
15089<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>
15090
15091<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
15092the HELO or EHLO hostname, and execute the corresponding action.
15093Note 1: a result of "OK" is not allowed for safety reasons. Instead,
15094use DUNNO in order to exclude specific hosts from blacklists.  Note
150952: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
15096restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
15097simply skip <a href="postconf.5.html#check_helo_mx_access">check_helo_mx_access</a> by not sending HELO or EHLO).  This
15098feature is available in Postfix 2.1 and later.
15099</dd>
15100
15101<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>
15102
15103<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
15104for the HELO or EHLO hostname, and execute the corresponding action.
15105Note 1: a result of "OK" is not allowed for safety reasons. Instead,
15106use DUNNO in order to exclude specific hosts from blacklists.  Note
151072: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
15108restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
15109simply skip <a href="postconf.5.html#check_helo_ns_access">check_helo_ns_access</a> by not sending HELO or EHLO). This
15110feature is available in Postfix 2.1 and later.
15111</dd>
15112
15113<dt><b><a name="reject_invalid_helo_hostname">reject_invalid_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_invalid_hostname)</dt>
15114
15115<dd>Reject the request when the HELO or EHLO hostname is malformed.
15116Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce
15117this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply
15118skip <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> by not sending HELO or EHLO).
15119<br> The <a href="postconf.5.html#invalid_hostname_reject_code">invalid_hostname_reject_code</a> specifies the response code
15120for rejected requests (default: 501).</dd>
15121
15122<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>
15123
15124<dd>Reject the request when the HELO or EHLO hostname is not in
15125fully-qualified domain or address literal form, as required by the
15126RFC. Note: specify
15127"<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this restriction
15128(without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply skip
15129<a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a> by not sending HELO or EHLO).  <br>
15130The <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
15131rejected requests (default: 504).</dd>
15132
15133<dt><b><a name="reject_rhsbl_helo">reject_rhsbl_helo <i>rbl_domain=d.d.d.d</i></a></b></dt>
15134
15135<dd>Reject the request when the HELO or EHLO hostname is
15136listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
15137(Postfix version 2.1 and later only).  Each "<i>d</i>" is a number,
15138or a pattern inside "[]" that contains one or more ";"-separated
15139numbers or number..number ranges (Postfix version 2.8 and later).
15140If no "<i>=d.d.d.d</i>" is
15141specified, reject the request when the HELO or EHLO hostname is
15142listed with any A record under <i>rbl_domain</i>. See the
15143<a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description for additional RBL related configuration
15144parameters.  Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
15145enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
15146client can simply skip <a href="postconf.5.html#reject_rhsbl_helo">reject_rhsbl_helo</a> by not sending HELO or
15147EHLO). This feature is available in Postfix 2.0
15148and later.  </dd>
15149
15150<dt><b><a name="reject_unknown_helo_hostname">reject_unknown_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_unknown_hostname)</dt>
15151
15152<dd>Reject the request when the HELO or EHLO hostname has no DNS A
15153or MX record. <br> The reply is specified with the
15154<a href="postconf.5.html#unknown_hostname_reject_code">unknown_hostname_reject_code</a> parameter (default: 450) or
15155<a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a> (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).
15156See the respective parameter descriptions for details. <br>
15157Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
15158enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
15159client can simply skip <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> by not sending
15160HELO or EHLO). </dd>
15161
15162</dl>
15163
15164<p>
15165Other restrictions that are valid in this context:
15166</p>
15167
15168<ul>
15169
15170<li> <a href="#generic">Generic</a> restrictions that can be used
15171in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
15172
15173<li> Client hostname or network address specific restrictions
15174described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
15175
15176<li> SMTP command specific restrictions described under
15177<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
15178sender or recipient restrictions are listed under <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
15179they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
15180$<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> is evaluated at the time of the RCPT TO
15181command.
15182
15183</ul>
15184
15185<p>
15186Examples:
15187</p>
15188
15189<pre>
15190<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>
15191<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>
15192</pre>
15193
15194
15195</DD>
15196
15197<DT><b><a name="smtpd_history_flush_threshold">smtpd_history_flush_threshold</a>
15198(default: 100)</b></DT><DD>
15199
15200<p>
15201The maximal number of lines in the Postfix SMTP server command history
15202before it is flushed upon receipt of EHLO, RSET, or end of DATA.
15203</p>
15204
15205
15206</DD>
15207
15208<DT><b><a name="smtpd_junk_command_limit">smtpd_junk_command_limit</a>
15209(default: normal: 100, overload: 1)</b></DT><DD>
15210
15211<p>
15212The number of junk commands (NOOP, VRFY, ETRN or RSET) that a remote
15213SMTP client can send before the Postfix SMTP server starts to
15214increment the error counter with each junk command.  The junk
15215command count is reset after mail is delivered.  See also the
15216<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
15217parameters.  Normally the default limit is 100, but it changes under
15218overload to just 1. With Postfix 2.5 and earlier, the SMTP server
15219always allows up to 100 junk commands by default.  </p>
15220
15221
15222</DD>
15223
15224<DT><b><a name="smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a>
15225(default: empty)</b></DT><DD>
15226
15227<p> Enable logging of the named "permit" actions in SMTP server
15228access lists (by default, the SMTP server logs "reject" actions but
15229not "permit" actions).  This feature does not affect conditional
15230actions such as "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>". </p>
15231
15232<p> Specify a list of "permit" action names, "/file/name" or
15233"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. The
15234list is matched left to right, and the search stops on the first
15235match. A "/file/name" pattern is replaced by its contents; a
15236"<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup
15237key (the lookup result is ignored).  Continue long lines by starting
15238the next line with whitespace. Specify "!pattern" to exclude a name
15239from the list. </p>
15240
15241<p> Examples: </p>
15242
15243<pre>
15244/etc/postfix/<a href="postconf.5.html">main.cf</a>:
15245    # Log all "permit" actions.
15246    <a href="postconf.5.html#smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a> = <a href="DATABASE_README.html#types">static</a>:all
15247</pre>
15248
15249<pre>
15250/etc/postfix/<a href="postconf.5.html">main.cf</a>:
15251    # Log "<a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a>" only.
15252    <a href="postconf.5.html#smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a> = <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a>
15253</pre>
15254
15255<p> This feature is available in Postfix 2.10 and later.  </p>
15256
15257
15258</DD>
15259
15260<DT><b><a name="smtpd_milter_maps">smtpd_milter_maps</a>
15261(default: empty)</b></DT><DD>
15262
15263<p> Lookup tables with Milter settings per remote SMTP client IP
15264address.  The lookup result overrides the <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> setting,
15265and has the same syntax. </p>
15266
15267<p> Note: lookup tables cannot return empty responses. Specify a
15268lookup result of DISABLE (case does not matter) to indicate that
15269Milter support should be disabled. </p>
15270
15271<p> Example to disable Milters for local clients: </p>
15272
15273<pre>
15274/etc/postfix/<a href="postconf.5.html">main.cf</a>:
15275    <a href="postconf.5.html#smtpd_milter_maps">smtpd_milter_maps</a> = <a href="cidr_table.5.html">cidr</a>:/etc/postfix/smtpd_milter_map
15276    <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> = inet:host:port, { inet:host:port, ... }, ...
15277</pre>
15278
15279<pre>
15280/etc/postfix/smtpd_milter_map:
15281    # Disable Milters for local clients.
15282    127.0.0.0/8    DISABLE
15283    192.168.0.0/16 DISABLE
15284    ::/64          DISABLE
15285    2001:db8::/32  DISABLE
15286</pre>
15287
15288<p> This feature is available in Postfix 3.2 and later.  </p>
15289
15290
15291</DD>
15292
15293<DT><b><a name="smtpd_milters">smtpd_milters</a>
15294(default: empty)</b></DT><DD>
15295
15296<p> A list of Milter (mail filter) applications for new mail that
15297arrives via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. Specify space or comma as
15298separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details.  </p>
15299
15300<p> This feature is available in Postfix 2.3 and later. </p>
15301
15302
15303</DD>
15304
15305<DT><b><a name="smtpd_noop_commands">smtpd_noop_commands</a>
15306(default: empty)</b></DT><DD>
15307
15308<p>
15309List of commands that the Postfix SMTP server replies to with "250
15310Ok", without doing any syntax checks and without changing state.
15311This list overrides any commands built into the Postfix SMTP server.
15312</p>
15313
15314
15315</DD>
15316
15317<DT><b><a name="smtpd_null_access_lookup_key">smtpd_null_access_lookup_key</a>
15318(default: &lt;&gt;)</b></DT><DD>
15319
15320<p>
15321The lookup key to be used in SMTP <a href="access.5.html">access(5)</a> tables instead of the
15322null sender address.
15323</p>
15324
15325
15326</DD>
15327
15328<DT><b><a name="smtpd_peername_lookup">smtpd_peername_lookup</a>
15329(default: yes)</b></DT><DD>
15330
15331<p> Attempt to look up the remote SMTP client hostname, and verify that
15332the name matches the client IP address. A client name is set to
15333"unknown" when it cannot be looked up or verified, or when name
15334lookup is disabled.  Turning off name lookup reduces delays due to
15335DNS lookup and increases the maximal inbound delivery rate. </p>
15336
15337<p> This feature is available in Postfix 2.3 and later.  </p>
15338
15339
15340</DD>
15341
15342<DT><b><a name="smtpd_per_record_deadline">smtpd_per_record_deadline</a>
15343(default: normal: no, overload: yes)</b></DT><DD>
15344
15345<p> Change the behavior of the <a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a> and <a href="postconf.5.html#smtpd_starttls_timeout">smtpd_starttls_timeout</a>
15346time limits, from a
15347time limit per read or write system call, to a time limit to send
15348or receive a complete record (an SMTP command line, SMTP response
15349line, SMTP message content line, or TLS protocol message).  This
15350limits the impact from hostile peers that trickle data one byte at
15351a time.  </p>
15352
15353<p> Note: when per-record deadlines are enabled, a short timeout
15354may cause problems with TLS over very slow network connections.
15355The reasons are that a TLS protocol message can be up to 16 kbytes
15356long (with TLSv1), and that an entire TLS protocol message must be
15357sent or received within the per-record deadline.  </p>
15358
15359<p> This feature is available in Postfix 2.9 and later. With older
15360Postfix releases, the behavior is as if this parameter is set to
15361"no". </p>
15362
15363
15364</DD>
15365
15366<DT><b><a name="smtpd_policy_service_default_action">smtpd_policy_service_default_action</a>
15367(default: 451 4.3.5 Server configuration problem)</b></DT><DD>
15368
15369<p> The default action when an SMTPD policy service request fails.
15370Specify "DUNNO" to behave as if the failed  SMTPD policy service
15371request was not sent, and to continue processing other access
15372restrictions, if any. </p>
15373
15374<p> Limitations: </p>
15375
15376<ul>
15377
15378<li> <p>  This parameter may specify any value that would be a valid
15379SMTPD policy server response (or <a href="access.5.html">access(5)</a> map lookup result).  An
15380<a href="access.5.html">access(5)</a> map or policy server in this parameter value may need to
15381be declared in advance with a restriction_class setting.  </p>
15382
15383<li> <p> If the specified action invokes another <a href="postconf.5.html#check_policy_service">check_policy_service</a>
15384request, that request will have the built-in default action. </p>
15385
15386</ul>
15387
15388<p> This feature is available in Postfix 3.0 and later. </p>
15389
15390
15391</DD>
15392
15393<DT><b><a name="smtpd_policy_service_max_idle">smtpd_policy_service_max_idle</a>
15394(default: 300s)</b></DT><DD>
15395
15396<p>
15397The time after which an idle SMTPD policy service connection is
15398closed.
15399</p>
15400
15401<p>
15402This feature is available in Postfix 2.1 and later.
15403</p>
15404
15405
15406</DD>
15407
15408<DT><b><a name="smtpd_policy_service_max_ttl">smtpd_policy_service_max_ttl</a>
15409(default: 1000s)</b></DT><DD>
15410
15411<p>
15412The time after which an active SMTPD policy service connection is
15413closed.
15414</p>
15415
15416<p>
15417This feature is available in Postfix 2.1 and later.
15418</p>
15419
15420
15421</DD>
15422
15423<DT><b><a name="smtpd_policy_service_policy_context">smtpd_policy_service_policy_context</a>
15424(default: empty)</b></DT><DD>
15425
15426<p> Optional information that the Postfix SMTP server specifies in
15427the "policy_context" attribute of a policy service request (originally,
15428to share the same service endpoint among multiple <a href="postconf.5.html#check_policy_service">check_policy_service</a>
15429clients).  </p>
15430
15431<p>
15432This feature is available in Postfix 3.1 and later.
15433</p>
15434
15435
15436</DD>
15437
15438<DT><b><a name="smtpd_policy_service_request_limit">smtpd_policy_service_request_limit</a>
15439(default: 0)</b></DT><DD>
15440
15441<p>
15442The maximal number of requests per SMTPD policy service connection,
15443or zero (no limit). Once a connection reaches this limit, the
15444connection is closed and the next request will be sent over a new
15445connection. This is a workaround to avoid error-recovery delays
15446with policy servers that cannot maintain a persistent connection.
15447</p>
15448
15449<p>
15450This feature is available in Postfix 3.0 and later.
15451</p>
15452
15453
15454</DD>
15455
15456<DT><b><a name="smtpd_policy_service_retry_delay">smtpd_policy_service_retry_delay</a>
15457(default: 1s)</b></DT><DD>
15458
15459<p> The delay between attempts to resend a failed SMTPD policy
15460service request. Specify a value greater than zero. </p>
15461
15462<p> This feature is available in Postfix 3.0 and later. </p>
15463
15464
15465</DD>
15466
15467<DT><b><a name="smtpd_policy_service_timeout">smtpd_policy_service_timeout</a>
15468(default: 100s)</b></DT><DD>
15469
15470<p>
15471The time limit for connecting to, writing to, or receiving from a
15472delegated SMTPD policy server.
15473</p>
15474
15475<p>
15476This feature is available in Postfix 2.1 and later.
15477</p>
15478
15479
15480</DD>
15481
15482<DT><b><a name="smtpd_policy_service_try_limit">smtpd_policy_service_try_limit</a>
15483(default: 2)</b></DT><DD>
15484
15485<p> The maximal number of attempts to send an SMTPD policy service
15486request before giving up. Specify a value greater than zero. </p>
15487
15488<p> This feature is available in Postfix 3.0 and later. </p>
15489
15490
15491</DD>
15492
15493<DT><b><a name="smtpd_proxy_ehlo">smtpd_proxy_ehlo</a>
15494(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
15495
15496<p>
15497How the Postfix SMTP server announces itself to the proxy filter.
15498By default, the Postfix hostname is used.
15499</p>
15500
15501<p>
15502This feature is available in Postfix 2.1 and later.
15503</p>
15504
15505
15506</DD>
15507
15508<DT><b><a name="smtpd_proxy_filter">smtpd_proxy_filter</a>
15509(default: empty)</b></DT><DD>
15510
15511<p> The hostname and TCP port of the mail filtering proxy server.
15512The proxy receives all mail from the Postfix SMTP server, and is
15513supposed to give the result to another Postfix SMTP server process.
15514</p>
15515
15516<p> Specify "host:port" or "inet:host:port" for a TCP endpoint, or
15517"unix:pathname" for a UNIX-domain endpoint. The host can be specified
15518as an IP address or as a symbolic name; no MX lookups are done.
15519When no "host" or "host:"  are specified, the local machine is
15520assumed.  Pathname interpretation is relative to the Postfix queue
15521directory.  </p>
15522
15523<p> This feature is available in Postfix 2.1 and later.  </p>
15524
15525<p> The "inet:" and "unix:" prefixes are available in Postfix 2.3
15526and later.  </p>
15527
15528
15529</DD>
15530
15531<DT><b><a name="smtpd_proxy_options">smtpd_proxy_options</a>
15532(default: empty)</b></DT><DD>
15533
15534<p>
15535List of options that control how the Postfix SMTP server
15536communicates with a before-queue content filter. Specify zero or
15537more of the following, separated by comma or whitespace.  </p>
15538
15539<dl>
15540
15541<dt><b>speed_adjust</b></dt>
15542
15543<dd> <p> Do not connect to a before-queue content filter until an entire
15544message has been received. This reduces the number of simultaneous
15545before-queue content filter processes. </p>
15546
15547<p> NOTE 1: A filter must not <i>selectively</i> reject recipients
15548of a multi-recipient message.  Rejecting all recipients is OK, as
15549is accepting all recipients. </p>
15550
15551<p> NOTE 2: This feature increases the minimum amount of free queue
15552space by $<a href="postconf.5.html#message_size_limit">message_size_limit</a>. The extra space is needed to save the
15553message to a temporary file. </p> </dd>
15554
15555</dl>
15556
15557<p>
15558This feature is available in Postfix 2.7 and later.
15559</p>
15560
15561
15562</DD>
15563
15564<DT><b><a name="smtpd_proxy_timeout">smtpd_proxy_timeout</a>
15565(default: 100s)</b></DT><DD>
15566
15567<p>
15568The time limit for connecting to a proxy filter and for sending or
15569receiving information.  When a connection fails the client gets a
15570generic error message while more detailed information is logged to
15571the maillog file.
15572</p>
15573
15574<p>
15575Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
15576The default time unit is s (seconds).
15577</p>
15578
15579<p>
15580This feature is available in Postfix 2.1 and later.
15581</p>
15582
15583
15584</DD>
15585
15586<DT><b><a name="smtpd_recipient_limit">smtpd_recipient_limit</a>
15587(default: 1000)</b></DT><DD>
15588
15589<p>
15590The maximal number of recipients that the Postfix SMTP server
15591accepts per message delivery request.
15592</p>
15593
15594
15595</DD>
15596
15597<DT><b><a name="smtpd_recipient_overshoot_limit">smtpd_recipient_overshoot_limit</a>
15598(default: 1000)</b></DT><DD>
15599
15600<p> The number of recipients that a remote SMTP client can send in
15601excess of the limit specified with $<a href="postconf.5.html#smtpd_recipient_limit">smtpd_recipient_limit</a>, before
15602the Postfix SMTP server increments the per-session error count
15603for each excess recipient.  </p>
15604
15605
15606</DD>
15607
15608<DT><b><a name="smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>
15609(default: see "postconf -d" output)</b></DT><DD>
15610
15611<p>
15612Optional restrictions that the Postfix SMTP server applies in the
15613context of a client RCPT TO command, after <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
15614See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
15615restriction lists" for a discussion of evaluation context and time.
15616</p>
15617
15618<p> With Postfix versions before 2.10, the rules for relay permission
15619and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
15620resulting in error-prone configuration.  As of Postfix 2.10, relay
15621permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
15622so that a permissive spam blocking policy under
15623<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
15624mail relay policy.  </p>
15625
15626<p> For backwards compatibility, sites that migrate from Postfix
15627versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
15628value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
15629
15630<p>
15631IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
15632<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
15633at least one of the following restrictions. Otherwise Postfix will
15634refuse to receive mail:
15635</p>
15636
15637<blockquote>
15638<pre>
15639reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
15640</pre>
15641</blockquote>
15642
15643<blockquote>
15644<pre>
15645defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
15646</pre>
15647</blockquote>
15648
15649<p>
15650Specify a list of restrictions, separated by commas and/or whitespace.
15651Continue long lines by starting the next line with whitespace.
15652Restrictions are applied in the order as specified; the first
15653restriction that matches wins.
15654</p>
15655
15656<p>
15657The following restrictions are specific to the recipient address
15658that is received with the RCPT TO command.
15659</p>
15660
15661<dl>
15662
15663<dt><b><a name="check_recipient_access">check_recipient_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15664
15665<dd>Search the specified <a href="access.5.html">access(5)</a> database for the resolved RCPT
15666TO address, domain, parent domains, or localpart@, and execute the
15667corresponding action.  </dd>
15668
15669<dt><b><a name="check_recipient_a_access">check_recipient_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
15670
15671<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
15672the RCPT TO domain, and execute the corresponding action.  Note:
15673a result of "OK" is not allowed for safety reasons. Instead, use
15674DUNNO in order to exclude specific hosts from blacklists.  This
15675feature is available in Postfix 3.0 and later. </dd>
15676
15677<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>
15678
15679<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
15680the RCPT TO domain, and execute the corresponding action.  Note:
15681a result of "OK" is not allowed for safety reasons. Instead, use
15682DUNNO in order to exclude specific hosts from blacklists.  This
15683feature is available in Postfix 2.1 and later. </dd>
15684
15685<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>
15686
15687<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
15688for the RCPT TO domain, and execute the corresponding action.
15689Note: a result of "OK" is not allowed for safety reasons. Instead,
15690use DUNNO in order to exclude specific hosts from blacklists.  This
15691feature is available in Postfix 2.1 and later.  </dd>
15692
15693<dt><b><a name="permit_auth_destination">permit_auth_destination</a></b></dt>
15694
15695<dd>Permit the request when one of the following is true:
15696
15697<ul>
15698
15699<li> Postfix is mail forwarder: the resolved RCPT TO domain matches
15700$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and the address contains no
15701sender-specified routing (user@elsewhere@domain),
15702
15703<li> Postfix is the final destination: the resolved RCPT TO domain
15704matches $<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>,
15705$<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
15706contains no sender-specified routing (user@elsewhere@domain).
15707
15708</ul></dd>
15709
15710<dt><b><a name="permit_mx_backup">permit_mx_backup</a></b></dt>
15711
15712<dd>Permit the request when the local mail system is backup MX for
15713the RCPT TO domain, or when the domain is an authorized destination
15714(see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> for definition).
15715
15716<ul>
15717
15718<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> does not accept addresses that have
15719sender-specified routing information (example: user@elsewhere@domain).
15720
15721<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> can be vulnerable to mis-use when
15722access is not restricted with <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>.
15723
15724<li> Safety: as of Postfix version 2.3, <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> no longer
15725accepts the address when the local mail system is primary MX for
15726the recipient domain.  Exception: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> accepts the address
15727when it specifies an authorized destination (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
15728for definition).
15729
15730<li> Limitation: mail may be rejected in case of a temporary DNS
15731lookup problem with Postfix prior to version 2.0.
15732
15733</ul></dd>
15734
15735<dt><b><a name="reject_non_fqdn_recipient">reject_non_fqdn_recipient</a></b></dt>
15736
15737<dd>Reject the request when the RCPT TO address specifies a
15738domain that is not in
15739fully-qualified domain form, as required by the RFC. <br> The
15740<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
15741rejected requests (default: 504). </dd>
15742
15743<dt><b><a name="reject_rhsbl_recipient">reject_rhsbl_recipient <i>rbl_domain=d.d.d.d</i></a></b></dt>
15744
15745<dd>Reject the request when the RCPT TO domain is listed with the
15746A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
157472.1 and later only).  Each "<i>d</i>" is a number, or a pattern
15748inside "[]" that contains one or more ";"-separated numbers or
15749number..number ranges (Postfix version 2.8 and later). If no
15750"<i>=d.d.d.d</i>" is specified, reject
15751the request when the RCPT TO domain is listed with
15752any A record under <i>rbl_domain</i>. <br> The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a>
15753parameter specifies the response code for rejected requests (default:
15754554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter specifies the default server
15755reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter specifies tables with server
15756replies indexed by <i>rbl_domain</i>.  This feature is available
15757in Postfix version 2.0 and later.</dd>
15758
15759<dt><b><a name="reject_unauth_destination">reject_unauth_destination</a></b></dt>
15760
15761<dd>Reject the request unless one of the following is true:
15762
15763<ul>
15764
15765<li> Postfix is mail forwarder: the resolved RCPT TO domain matches
15766$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and contains no sender-specified
15767routing (user@elsewhere@domain),
15768
15769<li> Postfix is the final destination: the resolved RCPT TO domain
15770matches $<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>,
15771$<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
15772no sender-specified routing (user@elsewhere@domain).
15773
15774</ul>The <a href="postconf.5.html#relay_domains_reject_code">relay_domains_reject_code</a> parameter specifies the response
15775code for rejected requests (default: 554). </dd>
15776
15777<dt><b><a name="defer_unauth_destination">defer_unauth_destination</a></b></dt>
15778
15779<dd> Reject the same requests as <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>, with a
15780non-permanent error code.  This feature is available in Postfix
157812.10 and later.</dd>
15782
15783<dt><b><a name="reject_unknown_recipient_domain">reject_unknown_recipient_domain</a></b></dt>
15784
15785<dd>Reject the request when Postfix is not final destination for
15786the recipient domain, and the RCPT TO domain has 1) no DNS MX and
15787no DNS A
15788record or 2) a malformed MX record such as a record with
15789a zero-length MX hostname (Postfix version 2.3 and later). <br> The
15790reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter
15791(default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default:
15792<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 556 (nullmx, Postfix 3.0 and
15793later). See the respective parameter descriptions for details.
15794</dd>
15795
15796<dt><b><a name="reject_unlisted_recipient">reject_unlisted_recipient</a></b> (with Postfix version 2.0: check_recipient_maps)</dt>
15797
15798<dd> Reject the request when the RCPT TO address is not listed in
15799the list of valid recipients for its domain class. See the
15800<a href="postconf.5.html#smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> parameter description for details.
15801This feature is available in Postfix 2.1 and later.</dd>
15802
15803<dt><b><a name="reject_unverified_recipient">reject_unverified_recipient</a></b></dt>
15804
15805<dd>Reject the request when mail to the RCPT TO address is known
15806to bounce, or when the recipient address destination is not reachable.
15807Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
15808see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details.  <br> The
15809<a href="postconf.5.html#unverified_recipient_reject_code">unverified_recipient_reject_code</a> parameter specifies the numerical
15810response code when an address is known to bounce (default: 450,
15811change into 550 when you are confident that it is safe to do so).
15812<br>The <a href="postconf.5.html#unverified_recipient_defer_code">unverified_recipient_defer_code</a> parameter specifies the
15813numerical response code when an address probe failed due to a
15814temporary problem (default: 450). <br> The
15815<a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> parameter specifies the action
15816after address probe failure due to a temporary problem (default:
15817<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). <br> This feature breaks for aliased addresses
15818with "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> = no" (Postfix &le; 3.2). <br>
15819This feature is available in Postfix 2.1 and later. </dd>
15820
15821</dl>
15822
15823<p>
15824Other restrictions that are valid in this context:
15825</p>
15826
15827<ul>
15828
15829<li><a href="#generic">Generic</a> restrictions that can be used
15830in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
15831
15832<li>SMTP command specific restrictions described under
15833<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
15834<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>.
15835
15836</ul>
15837
15838<p>
15839Example:
15840</p>
15841
15842<pre>
15843# The Postfix before 2.10 default mail relay policy. Later Postfix
15844# versions implement this preferably with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
15845<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>
15846</pre>
15847
15848
15849</DD>
15850
15851<DT><b><a name="smtpd_reject_footer">smtpd_reject_footer</a>
15852(default: empty)</b></DT><DD>
15853
15854<p> Optional information that is appended after each Postfix SMTP
15855server
158564XX or 5XX response. </p>
15857
15858<p> The following example uses "\c" at the start of the template
15859(supported in Postfix 2.10 and later) to suppress the line break
15860between the reply text and the footer text. With earlier Postfix
15861versions, the footer text always begins on a new line, and the "\c"
15862is output literally. </p>
15863
15864<pre>
15865/etc/postfix/<a href="postconf.5.html">main.cf</a>:
15866    <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> = \c. For assistance, call 800-555-0101.
15867     Please provide the following information in your problem report:
15868     time ($localtime), client ($client_address) and server
15869     ($server_name).
15870</pre>
15871
15872<p> Server response: </p>
15873
15874<pre>
15875    550-5.5.1 &lt;user@example&gt; Recipient address rejected: User
15876    unknown. For assistance, call 800-555-0101. Please provide the
15877    following information in your problem report: time (Jan 4 15:42:00),
15878    client (192.168.1.248) and server (mail1.example.com).
15879</pre>
15880
15881<p> Note: the above text is meant to make it easier to find the
15882Postfix logfile records for a failed SMTP session. The text itself
15883is not logged to the Postfix SMTP server's maillog file. </p>
15884
15885<p> Be sure to keep the text as short as possible. Long text may
15886be truncated before it is logged to the remote SMTP client's maillog
15887file, or before it is returned to the sender in a delivery status
15888notification.  </p>
15889
15890<p> The template text is not subject to Postfix configuration
15891parameter $name expansion. Instead, this feature supports a limited
15892number of $name attributes in the footer text. These attributes are
15893replaced with their current value for the SMTP session. </p>
15894
15895<p> Note: specify $$name in footer text that is looked up from
15896<a href="regexp_table.5.html">regexp</a>: or <a href="pcre_table.5.html">pcre</a>:-based <a href="postconf.5.html#smtpd_reject_footer_maps">smtpd_reject_footer_maps</a>, otherwise the
15897Postfix server will not use the footer text and will log a warning
15898instead. </p>
15899
15900<dl>
15901
15902<dt> <b>client_address</b> </dt> <dd> The Client IP address that
15903is logged in the maillog file. </dd>
15904
15905<dt> <b>client_port</b> </dt> <dd> The client TCP port that is
15906logged in the maillog file. </dd>
15907
15908<dt> <b>localtime</b> </dt> <dd> The server local time (Mmm dd
15909hh:mm:ss) that is logged in the maillog file. </dd>
15910
15911<dt> <b>server_name</b> </dt> <dd> The server's <a href="postconf.5.html#myhostname">myhostname</a> value.
15912This attribute is made available for sites with multiple MTAs
15913(perhaps behind a load-balancer), where the server name can help
15914the server support team to quickly find the right log files.  </dd>
15915
15916</dl>
15917
15918<p> Notes: </p>
15919
15920<ul>
15921
15922<li> <p> NOT SUPPORTED are other attributes such as sender, recipient,
15923or <a href="postconf.5.html">main.cf</a> parameters.  </p>
15924
15925<li> <p> For safety reasons, text that does not match
15926$<a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> is censored. </p>
15927
15928</ul>
15929
15930<p> This feature supports the two-character sequence \n as a request
15931for a line break in the footer text. Postfix automatically inserts
15932after each line break the three-digit SMTP reply code (and optional
15933enhanced status code) from the original Postfix reject message.
15934</p>
15935
15936<p> To work around mail software that mis-handles multi-line replies,
15937specify the two-character sequence \c at the start of the template.
15938This suppresses the line break between the reply text and the footer
15939text (Postfix 2.10 and later).  </p>
15940
15941<p> This feature is available in Postfix 2.8 and later. </p>
15942
15943
15944</DD>
15945
15946<DT><b><a name="smtpd_reject_footer_maps">smtpd_reject_footer_maps</a>
15947(default: empty)</b></DT><DD>
15948
15949<p> Lookup tables, indexed by the complete Postfix SMTP server 4xx or
159505xx response, with reject footer templates. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>
15951for details. </p>
15952
15953<p>
15954Specify zero or more "type:name" lookup tables, separated by
15955whitespace or comma. Tables will be searched in the specified order
15956until a match is found.
15957</p>
15958
15959<p> This feature is available in Postfix 3.4 and later. </p>
15960
15961
15962</DD>
15963
15964<DT><b><a name="smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a>
15965(default: yes)</b></DT><DD>
15966
15967<p>
15968Request that the Postfix SMTP server rejects mail for unknown
15969recipient addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_recipient">reject_unlisted_recipient</a>
15970access restriction is specified. This prevents the Postfix queue
15971from filling up with undeliverable MAILER-DAEMON messages.
15972</p>
15973
15974<p> An address is always considered "known" when it matches a
15975<a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping.
15976
15977<ul>
15978
15979<li> The recipient domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
15980or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the recipient is not listed in
15981$<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.
15982
15983<li> The recipient domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the
15984recipient is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
15985
15986<li> The recipient domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
15987recipient 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>
15988is not null.
15989
15990<li> The recipient domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the recipient
15991is 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>
15992is not null.
15993
15994</ul>
15995
15996<p>
15997This feature is available in Postfix 2.1 and later.
15998</p>
15999
16000
16001</DD>
16002
16003<DT><b><a name="smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a>
16004(default: no)</b></DT><DD>
16005
16006<p> Request that the Postfix SMTP server rejects mail from unknown
16007sender addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a>
16008access restriction is specified. This can slow down an explosion
16009of forged mail from worms or viruses.  </p>
16010
16011<p> An address is always considered "known" when it matches a
16012<a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping.
16013
16014<ul>
16015
16016<li> The sender domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or
16017$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the sender is not listed in
16018$<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.
16019
16020<li> The sender domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the sender
16021is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
16022
16023<li> The sender domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
16024sender 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>
16025is not null.
16026
16027<li> The sender domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the sender is
16028not 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
16029not null.
16030
16031</ul>
16032
16033<p>
16034This feature is available in Postfix 2.1 and later.
16035</p>
16036
16037
16038</DD>
16039
16040<DT><b><a name="smtpd_relay_restrictions">smtpd_relay_restrictions</a>
16041(default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>)</b></DT><DD>
16042
16043<p> Access restrictions for mail relay control that the Postfix
16044SMTP server applies in the context of the RCPT TO command, before
16045<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
16046See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
16047restriction lists" for a discussion of evaluation context and time.
16048</p>
16049
16050<p> With Postfix versions before 2.10, the rules for relay permission
16051and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
16052resulting in error-prone configuration.  As of Postfix 2.10, relay
16053permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
16054so that a permissive spam blocking policy under
16055<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
16056mail relay policy.  </p>
16057
16058<p> For backwards compatibility, sites that migrate from Postfix
16059versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
16060value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
16061
16062<p>
16063By default, the Postfix SMTP server accepts:
16064</p>
16065
16066<ul>
16067
16068<li> Mail from clients whose IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>, or:
16069
16070<li> Mail to remote destinations that match $<a href="postconf.5.html#relay_domains">relay_domains</a>, except
16071for addresses that contain sender-specified routing
16072(user@elsewhere@domain), or:
16073
16074<li> Mail to local destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
16075or $<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
16076$<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
16077
16078</ul>
16079
16080<p>
16081IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
16082<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
16083at least one of the following restrictions. Otherwise Postfix will
16084refuse to receive mail:
16085</p>
16086
16087<blockquote>
16088<pre>
16089reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
16090</pre>
16091</blockquote>
16092
16093<blockquote>
16094<pre>
16095defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
16096</pre>
16097</blockquote>
16098
16099<p>
16100Specify a list of restrictions, separated by commas and/or whitespace.
16101Continue long lines by starting the next line with whitespace.
16102The same restrictions are available as documented under
16103<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
16104</p>
16105
16106<p> This feature is available in Postix 2.10 and later. </p>
16107
16108
16109</DD>
16110
16111<DT><b><a name="smtpd_restriction_classes">smtpd_restriction_classes</a>
16112(default: empty)</b></DT><DD>
16113
16114<p>
16115User-defined aliases for groups of access restrictions. The aliases
16116can be specified in <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> etc., and on the
16117right-hand side of a Postfix <a href="access.5.html">access(5)</a> table.
16118</p>
16119
16120<p>
16121One major application is for implementing per-recipient UCE control.
16122See the <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a> document for other examples.
16123</p>
16124
16125
16126</DD>
16127
16128<DT><b><a name="smtpd_sasl_application_name">smtpd_sasl_application_name</a>
16129(default: smtpd)</b></DT><DD>
16130
16131<p>
16132The application name that the Postfix SMTP server uses for SASL
16133server initialization. This
16134controls the name of the SASL configuration file. The default value
16135is <b>smtpd</b>, corresponding to a SASL configuration file named
16136<b>smtpd.conf</b>.
16137</p>
16138
16139<p>
16140This feature is available in Postfix 2.1 and 2.2. With Postfix 2.3
16141it was renamed to <a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.
16142</p>
16143
16144
16145</DD>
16146
16147<DT><b><a name="smtpd_sasl_auth_enable">smtpd_sasl_auth_enable</a>
16148(default: no)</b></DT><DD>
16149
16150<p>
16151Enable SASL authentication in the Postfix SMTP server. By default,
16152the Postfix SMTP server does not use authentication.
16153</p>
16154
16155<p>
16156If a remote SMTP client is authenticated, the <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>
16157access restriction can be used to permit relay access, like this:
16158</p>
16159
16160<blockquote>
16161<pre>
16162# With Postfix 2.10 and later, the mail relay policy is
16163# preferably specified under <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
16164<a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> =
16165    <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
16166</pre>
16167
16168<pre>
16169# With Postfix before 2.10, the relay policy can be
16170# specified only under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
16171<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> =
16172    <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
16173</pre>
16174</blockquote>
16175
16176<p> To reject all SMTP connections from unauthenticated clients,
16177specify "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes" (which is the default) and use:
16178</p>
16179
16180<blockquote>
16181<pre>
16182<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
16183</pre>
16184</blockquote>
16185
16186<p>
16187See the <a href="SASL_README.html">SASL_README</a> file for SASL configuration and operation details.
16188</p>
16189
16190
16191</DD>
16192
16193<DT><b><a name="smtpd_sasl_authenticated_header">smtpd_sasl_authenticated_header</a>
16194(default: no)</b></DT><DD>
16195
16196<p> Report the SASL authenticated user name in the <a href="smtpd.8.html">smtpd(8)</a> Received
16197message header.  </p>
16198
16199<p> This feature is available in Postfix 2.3 and later.  </p>
16200
16201
16202</DD>
16203
16204<DT><b><a name="smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a>
16205(default: empty)</b></DT><DD>
16206
16207<p>
16208What remote SMTP clients the Postfix SMTP server will not offer
16209AUTH support to.
16210</p>
16211
16212<p>
16213Some clients (Netscape 4 at least) have a bug that causes them to
16214require a login and password whenever AUTH is offered, whether it's
16215necessary or not. To work around this, specify, for example,
16216$<a href="postconf.5.html#mynetworks">mynetworks</a> to prevent Postfix from offering AUTH to local clients.
16217</p>
16218
16219<p>
16220Specify a list of network/netmask patterns, separated by commas
16221and/or whitespace. The mask specifies the number of bits in the
16222network part of a host address. You can also "/file/name" or
16223"<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name" pattern is replaced by its
16224contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry
16225matches a lookup string (the lookup result is ignored).  Continue
16226long lines by starting the next line with whitespace. Specify
16227"!pattern" to exclude an address or network block from the list.
16228The form "!/file/name" is supported only in Postfix version 2.4 and
16229later.  </p>
16230
16231<p> Note: IP version 6 address information must be specified inside
16232<tt>[]</tt> in the <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> value, and in
16233files specified with "/file/name".  IP version 6 addresses contain
16234the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
16235pattern.  </p>
16236
16237<p>
16238Example:
16239</p>
16240
16241<pre>
16242<a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a>
16243</pre>
16244
16245<p>
16246This feature is available in Postfix 2.1 and later.
16247</p>
16248
16249
16250</DD>
16251
16252<DT><b><a name="smtpd_sasl_local_domain">smtpd_sasl_local_domain</a>
16253(default: empty)</b></DT><DD>
16254
16255<p>
16256The name of the Postfix SMTP server's local SASL authentication
16257realm.
16258</p>
16259
16260<p>
16261By default, the local authentication realm name is the null string.
16262</p>
16263
16264<p>
16265Examples:
16266</p>
16267
16268<pre>
16269<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
16270<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#myhostname">myhostname</a>
16271</pre>
16272
16273
16274</DD>
16275
16276<DT><b><a name="smtpd_sasl_path">smtpd_sasl_path</a>
16277(default: smtpd)</b></DT><DD>
16278
16279<p> Implementation-specific information that the Postfix SMTP server
16280passes through to
16281the SASL plug-in implementation that is selected with
16282<b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  Typically this specifies the name of a
16283configuration file or rendezvous point. </p>
16284
16285<p> This feature is available in Postfix 2.3 and later. In earlier
16286releases it was called <b><a href="postconf.5.html#smtpd_sasl_application_name">smtpd_sasl_application_name</a></b>. </p>
16287
16288
16289</DD>
16290
16291<DT><b><a name="smtpd_sasl_response_limit">smtpd_sasl_response_limit</a>
16292(default: 12288)</b></DT><DD>
16293
16294<p> The maximum length of a SASL client's response to a server challenge.
16295When the client's "initial response" is longer than the normal limit for
16296SMTP commands, the client must omit its initial response, and wait for an
16297empty server challenge; it can then send what would have been its "initial
16298response" as a response to the empty server challenge.  <a href="http://tools.ietf.org/html/rfc4954">RFC4954</a> requires the
16299server to accept client responses up to at least 12288 octets of
16300base64-encoded text.  The default value is therefore also the minimum value
16301accepted for this parameter.</p>
16302
16303<p> This feature is available in Postfix 3.4 and later. Prior versions use
16304"<a href="postconf.5.html#line_length_limit">line_length_limit</a>", which may need to be raised to accommodate larger client
16305responses, as may be needed with GSSAPI authentication of Windows AD users
16306who are members of many groups. </p>
16307
16308
16309</DD>
16310
16311<DT><b><a name="smtpd_sasl_security_options">smtpd_sasl_security_options</a>
16312(default: noanonymous)</b></DT><DD>
16313
16314<p> Postfix SMTP server SASL security options; as of Postfix 2.3
16315the list of available
16316features depends on the SASL server implementation that is selected
16317with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  </p>
16318
16319<p> The following security features are defined for the <b>cyrus</b>
16320server SASL implementation: </p>
16321
16322<p>
16323Restrict what authentication mechanisms the Postfix SMTP server
16324will offer to the client.  The list of available authentication
16325mechanisms is system dependent.
16326</p>
16327
16328<p>
16329Specify zero or more of the following:
16330</p>
16331
16332<dl>
16333
16334<dt><b>noplaintext</b></dt>
16335
16336<dd>Disallow methods that use plaintext passwords. </dd>
16337
16338<dt><b>noactive</b></dt>
16339
16340<dd>Disallow methods subject to active (non-dictionary) attack. </dd>
16341
16342<dt><b>nodictionary</b></dt>
16343
16344<dd>Disallow methods subject to passive (dictionary) attack. </dd>
16345
16346<dt><b>noanonymous</b></dt>
16347
16348<dd>Disallow methods that allow anonymous authentication. </dd>
16349
16350<dt><b>forward_secrecy</b></dt>
16351
16352<dd>Only allow methods that support forward secrecy (Dovecot only).
16353</dd>
16354
16355<dt><b>mutual_auth</b></dt>
16356
16357<dd>Only allow methods that provide mutual authentication (not available
16358with Cyrus SASL version 1). </dd>
16359
16360</dl>
16361
16362<p>
16363By default, the Postfix SMTP server accepts plaintext passwords but
16364not anonymous logins.
16365</p>
16366
16367<p>
16368Warning: it appears that clients try authentication methods in the
16369order as advertised by the server (e.g., PLAIN ANONYMOUS CRAM-MD5)
16370which means that if you disable plaintext passwords, clients will
16371log in anonymously, even when they should be able to use CRAM-MD5.
16372So, if you disable plaintext logins, disable anonymous logins too.
16373Postfix treats anonymous login as no authentication.
16374</p>
16375
16376<p>
16377Example:
16378</p>
16379
16380<pre>
16381<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a> = noanonymous, noplaintext
16382</pre>
16383
16384
16385</DD>
16386
16387<DT><b><a name="smtpd_sasl_service">smtpd_sasl_service</a>
16388(default: smtp)</b></DT><DD>
16389
16390<p> The service name that is passed to the SASL plug-in that is
16391selected with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b> and <b><a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a></b>.
16392</p>
16393
16394<p> This feature is available in Postfix 2.11 and later. Prior
16395versions behave as if "<b>smtp</b>" is specified. </p>
16396
16397
16398</DD>
16399
16400<DT><b><a name="smtpd_sasl_tls_security_options">smtpd_sasl_tls_security_options</a>
16401(default: $<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a>)</b></DT><DD>
16402
16403<p> The SASL authentication security options that the Postfix SMTP
16404server uses for TLS encrypted SMTP sessions. </p>
16405
16406<p> This feature is available in Postfix 2.2 and later.  </p>
16407
16408
16409</DD>
16410
16411<DT><b><a name="smtpd_sasl_type">smtpd_sasl_type</a>
16412(default: cyrus)</b></DT><DD>
16413
16414<p> The SASL plug-in type that the Postfix SMTP server should use
16415for authentication. The available types are listed with the
16416"<b>postconf -a</b>" command. </p>
16417
16418<p> This feature is available in Postfix 2.3 and later. </p>
16419
16420
16421</DD>
16422
16423<DT><b><a name="smtpd_sender_login_maps">smtpd_sender_login_maps</a>
16424(default: empty)</b></DT><DD>
16425
16426<p>
16427Optional lookup table with the SASL login names that own the sender
16428(MAIL FROM) addresses.
16429</p>
16430
16431<p>
16432Specify zero or more "type:name" lookup tables, separated by
16433whitespace or comma. Tables will be searched in the specified order
16434until a match is found.  With lookups from
16435indexed files such as DB or DBM, or from networked tables such as
16436NIS, LDAP or SQL, the following search operations are done with a
16437sender address of <i>user@domain</i>:  </p>
16438
16439<dl>
16440
16441<dt> 1) <i>user@domain</i> </dt>
16442
16443<dd>This table lookup is always done and has the highest precedence. </dd>
16444
16445<dt> 2) <i>user</i> </dt>
16446
16447<dd>This table lookup is done only when the <i>domain</i> part of the
16448sender 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>
16449or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. </dd>
16450
16451<dt> 3) <i>@domain</i> </dt>
16452
16453<dd>This table lookup is done last and has the lowest precedence. </dd>
16454
16455</dl>
16456
16457<p>
16458In all cases the result of table lookup must be either "not found"
16459or a list of SASL login names separated by comma and/or whitespace.
16460</p>
16461
16462
16463</DD>
16464
16465<DT><b><a name="smtpd_sender_restrictions">smtpd_sender_restrictions</a>
16466(default: empty)</b></DT><DD>
16467
16468<p>
16469Optional restrictions that the Postfix SMTP server applies in the
16470context of a client MAIL FROM command.
16471See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
16472restriction lists" for a discussion of evaluation context and time.
16473</p>
16474
16475<p>
16476The default is to permit everything.
16477</p>
16478
16479<p>
16480Specify a list of restrictions, separated by commas and/or whitespace.
16481Continue long lines by starting the next line with whitespace.
16482Restrictions are applied in the order as specified; the first
16483restriction that matches wins.
16484</p>
16485
16486<p>
16487The following restrictions are specific to the sender address
16488received with the MAIL FROM command.
16489</p>
16490
16491<dl>
16492
16493<dt><b><a name="check_sender_access">check_sender_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
16494
16495<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MAIL FROM
16496address, domain, parent domains, or localpart@, and execute the
16497corresponding action. </dd>
16498
16499<dt><b><a name="check_sender_a_access">check_sender_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
16500
16501<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
16502the MAIL FROM domain, and execute the corresponding action.  Note:
16503a result of "OK" is not allowed for safety reasons. Instead, use
16504DUNNO in order to exclude specific hosts from blacklists.  This
16505feature is available in Postfix 3.0 and later. </dd>
16506
16507<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>
16508
16509<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
16510the MAIL FROM domain, and execute the corresponding action.  Note:
16511a result of "OK" is not allowed for safety reasons. Instead, use
16512DUNNO in order to exclude specific hosts from blacklists.  This
16513feature is available in Postfix 2.1 and later. </dd>
16514
16515<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>
16516
16517<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
16518for the MAIL FROM domain, and execute the corresponding action.
16519Note: a result of "OK" is not allowed for safety reasons. Instead,
16520use DUNNO in order to exclude specific hosts from blacklists.  This
16521feature is available in Postfix 2.1 and later.  </dd>
16522
16523<dt><b><a name="reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a></b></dt>
16524
16525<dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for
16526authenticated clients only. This feature is available in
16527Postfix version 2.1 and later. </dd>
16528
16529<dt><b><a name="reject_known_sender_login_mismatch">reject_known_sender_login_mismatch</a></b></dt>
16530
16531<dd>Apply the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction only to MAIL
16532FROM addresses that are known in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.  This
16533feature is available in Postfix version 2.11 and later. </dd>
16534
16535<dt><b><a name="reject_non_fqdn_sender">reject_non_fqdn_sender</a></b></dt>
16536
16537<dd>Reject the request when the MAIL FROM address specifies a
16538domain that is not in
16539fully-qualified domain form as required by the RFC. <br> The
16540<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
16541rejected requests (default: 504). </dd>
16542
16543<dt><b><a name="reject_rhsbl_sender">reject_rhsbl_sender <i>rbl_domain=d.d.d.d</i></a></b></dt>
16544
16545<dd>Reject the request when the MAIL FROM domain is listed with
16546the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix
16547version 2.1 and later only).  Each "<i>d</i>" is a number, or a
16548pattern inside "[]" that contains one or more ";"-separated numbers
16549or number..number ranges (Postfix version 2.8 and later). If no
16550"<i>=d.d.d.d</i>" is specified,
16551reject the request when the MAIL FROM domain is
16552listed with any A record under <i>rbl_domain</i>. <br> The
16553<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
16554rejected requests (default:  554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter
16555specifies the default server reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter
16556specifies tables with server replies indexed by <i>rbl_domain</i>.
16557This feature is available in Postfix 2.0 and later.</dd>
16558
16559<dt><b><a name="reject_sender_login_mismatch">reject_sender_login_mismatch</a></b></dt>
16560
16561<dd>Reject the request when $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a> specifies an
16562owner for the MAIL FROM address, but the client is not (SASL) logged
16563in as that MAIL FROM address owner; or when the client is (SASL)
16564logged in, but the client login name doesn't own the MAIL FROM
16565address according to $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.</dd>
16566
16567<dt><b><a name="reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a></b></dt>
16568
16569<dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for
16570unauthenticated clients only. This feature is available in
16571Postfix version 2.1 and later. </dd>
16572
16573<dt><b><a name="reject_unknown_sender_domain">reject_unknown_sender_domain</a></b></dt>
16574
16575<dd>Reject the request when Postfix is not final destination for
16576the sender address, and the MAIL FROM domain has 1) no DNS MX and
16577no DNS A
16578record, or 2) a malformed MX record such as a record with
16579a zero-length MX hostname (Postfix version 2.3 and later). <br> The
16580reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter
16581(default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default:
16582<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 550 (nullmx, Postfix 3.0 and
16583later). See the respective parameter descriptions for details.
16584</dd>
16585
16586<dt><b><a name="reject_unlisted_sender">reject_unlisted_sender</a></b></dt>
16587
16588<dd>Reject the request when the MAIL FROM address is not listed in
16589the list of valid recipients for its domain class. See the
16590<a href="postconf.5.html#smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> parameter description for details.
16591This feature is available in Postfix 2.1 and later.</dd>
16592
16593<dt><b><a name="reject_unverified_sender">reject_unverified_sender</a></b></dt>
16594
16595<dd>Reject the request when mail to the MAIL FROM address is known to
16596bounce, or when the sender address destination is not reachable.
16597Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
16598see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The
16599<a href="postconf.5.html#unverified_sender_reject_code">unverified_sender_reject_code</a> parameter specifies the numerical
16600response code when an address is known to bounce (default: 450,
16601change into 550 when you are confident that it is safe to do so).
16602<br>The <a href="postconf.5.html#unverified_sender_defer_code">unverified_sender_defer_code</a> specifies the numerical response
16603code when an address probe failed due to a temporary problem
16604(default: 450).  <br> The <a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a> parameter
16605specifies the action after address probe failure due to a temporary
16606problem (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  <br> This feature breaks for
16607aliased addresses with "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> = no" (Postfix
16608&le; 3.2).  <br> This feature is available in Postfix 2.1 and later.
16609</dd>
16610
16611</dl>
16612
16613<p>
16614Other restrictions that are valid in this context:
16615</p>
16616
16617<ul>
16618
16619<li> <a href="#generic">Generic</a> restrictions that can be used
16620in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
16621
16622<li> SMTP command specific restrictions described under
16623<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>.
16624
16625<li> SMTP command specific restrictions described under
16626<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When recipient restrictions are listed
16627under <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, they have effect only with
16628"<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
16629evaluated at the time of the RCPT TO command.
16630
16631</ul>
16632
16633<p>
16634Examples:
16635</p>
16636
16637<pre>
16638<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>
16639<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>,
16640    <a href="postconf.5.html#check_sender_access">check_sender_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access
16641</pre>
16642
16643
16644</DD>
16645
16646<DT><b><a name="smtpd_service_name">smtpd_service_name</a>
16647(default: smtpd)</b></DT><DD>
16648
16649<p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> hands off allowed
16650connections to. In a future version there may be different
16651classes of SMTP service. </p>
16652
16653<p> This feature is available in Postfix 2.8. </p>
16654
16655
16656</DD>
16657
16658<DT><b><a name="smtpd_soft_error_limit">smtpd_soft_error_limit</a>
16659(default: 10)</b></DT><DD>
16660
16661<p>
16662The number of errors a remote SMTP client is allowed to make without
16663delivering mail before the Postfix SMTP server slows down all its
16664responses.
16665</p>
16666
16667<ul>
16668
16669<li><p>With Postfix version 2.1 and later, the Postfix SMTP server
16670delays all responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> seconds. </p>
16671
16672<li><p>With Postfix versions 2.0 and earlier, the Postfix SMTP
16673server delays all responses by (number of errors) seconds. </p>
16674
16675</ul>
16676
16677
16678</DD>
16679
16680<DT><b><a name="smtpd_starttls_timeout">smtpd_starttls_timeout</a>
16681(default: see "postconf -d" output)</b></DT><DD>
16682
16683<p> The time limit for Postfix SMTP server write and read operations
16684during TLS startup and shutdown handshake procedures. The current
16685default value is stress-dependent. Before Postfix version 2.8, it
16686was fixed at 300s. </p>
16687
16688<p> This feature is available in Postfix 2.2 and later.  </p>
16689
16690
16691</DD>
16692
16693<DT><b><a name="smtpd_timeout">smtpd_timeout</a>
16694(default: normal: 300s, overload: 10s)</b></DT><DD>
16695
16696<p>
16697The time limit for sending a Postfix SMTP server response and for
16698receiving a remote SMTP client request. Normally the default limit
16699is 300s, but it changes under overload to just 10s. With Postfix
167002.5 and earlier, the SMTP server always uses a time limit of 300s
16701by default.
16702</p>
16703
16704<p>
16705Note: if you set SMTP time limits to very large values you may have
16706to update the global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter.
16707</p>
16708
16709<p>
16710Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
16711The default time unit is s (seconds).
16712</p>
16713
16714
16715</DD>
16716
16717<DT><b><a name="smtpd_tls_CAfile">smtpd_tls_CAfile</a>
16718(default: empty)</b></DT><DD>
16719
16720<p> A file containing (PEM format) CA certificates of root CAs trusted
16721to sign either remote SMTP client certificates or intermediate CA
16722certificates.  These are loaded into memory before the <a href="smtpd.8.html">smtpd(8)</a> server
16723enters the chroot jail. If the number of trusted roots is large, consider
16724using <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> instead, but note that the latter directory must
16725be present in the chroot jail if the <a href="smtpd.8.html">smtpd(8)</a> server is chrooted. This
16726file may also be used to augment the server certificate trust chain,
16727but it is best to include all the required certificates directly in the
16728server certificate file. </p>
16729
16730<p> Specify "<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /path/to/system_CA_file" to use ONLY
16731the system-supplied default Certification Authority certificates.
16732</p>
16733
16734<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
16735appending the system-supplied default CAs and trusting third-party
16736certificates. </p>
16737
16738<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are not
16739requested, and <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> should remain empty. If you do make use
16740of client certificates, the distinguished names (DNs) of the Certification
16741Authorities listed in <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> are sent to the remote SMTP client
16742in the client certificate request message. MUAs with multiple client
16743certificates may use the list of preferred Certification Authorities
16744to select the correct client certificate.  You may want to put your
16745"preferred" CA or CAs in this file, and install other trusted CAs in
16746$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
16747
16748<p> Example: </p>
16749
16750<pre>
16751<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /etc/postfix/CAcert.pem
16752</pre>
16753
16754<p> This feature is available in Postfix 2.2 and later.  </p>
16755
16756
16757</DD>
16758
16759<DT><b><a name="smtpd_tls_CApath">smtpd_tls_CApath</a>
16760(default: empty)</b></DT><DD>
16761
16762<p> A directory containing (PEM format) CA certificates of root CAs
16763trusted to sign either remote SMTP client certificates or intermediate CA
16764certificates. Do not forget to create the necessary "hash" links with,
16765for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs". To use
16766<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> in chroot mode, this directory (or a copy) must be
16767inside the chroot jail. </p>
16768
16769<p> Specify "<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /path/to/system_CA_directory" to
16770use ONLY the system-supplied default Certification Authority certificates.
16771</p>
16772
16773<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
16774appending the system-supplied default CAs and trusting third-party
16775certificates. </p>
16776
16777<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are
16778not requested, and <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> should remain empty. In contrast
16779to <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, DNs of Certification Authorities installed
16780in $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> are not included in the client certificate
16781request message. MUAs with multiple client certificates may use the
16782list of preferred Certification Authorities to select the correct
16783client certificate.  You may want to put your "preferred" CA or
16784CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, and install the remaining trusted CAs in
16785$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
16786
16787<p> Example: </p>
16788
16789<pre>
16790<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /etc/postfix/certs
16791</pre>
16792
16793<p> This feature is available in Postfix 2.2 and later.  </p>
16794
16795
16796</DD>
16797
16798<DT><b><a name="smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>
16799(default: yes)</b></DT><DD>
16800
16801<p> Force the Postfix SMTP server to issue a TLS session id, even
16802when TLS session caching is turned off (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
16803is empty). This behavior is compatible with Postfix &lt; 2.3. </p>
16804
16805<p> With Postfix 2.3 and later the Postfix SMTP server can disable
16806session id generation when TLS session caching is turned off. This
16807keeps remote SMTP clients from caching sessions that almost certainly cannot
16808be re-used.  </p>
16809
16810<p> By default, the Postfix SMTP server always generates TLS session
16811ids. This works around a known defect in mail client applications
16812such as MS Outlook, and may also prevent interoperability issues
16813with other MTAs. </p>
16814
16815<p> Example: </p>
16816
16817<pre>
16818<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> = no
16819</pre>
16820
16821<p> This feature is available in Postfix 2.3 and later. </p>
16822
16823
16824</DD>
16825
16826<DT><b><a name="smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
16827(default: no)</b></DT><DD>
16828
16829<p> Ask a remote SMTP client for a client certificate. This
16830information is needed for certificate based mail relaying with,
16831for example, the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> feature. </p>
16832
16833<p> Some clients such as Netscape will either complain if no
16834certificate is available (for the list of CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)
16835or will offer multiple client certificates to choose from. This
16836may be annoying, so this option is "off" by default. </p>
16837
16838<p> This feature is available in Postfix 2.2 and later.  </p>
16839
16840
16841</DD>
16842
16843<DT><b><a name="smtpd_tls_auth_only">smtpd_tls_auth_only</a>
16844(default: no)</b></DT><DD>
16845
16846<p> When TLS encryption is optional in the Postfix SMTP server, do
16847not announce or accept SASL authentication over unencrypted
16848connections. </p>
16849
16850<p> This feature is available in Postfix 2.2 and later.  </p>
16851
16852
16853</DD>
16854
16855<DT><b><a name="smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>
16856(default: 9)</b></DT><DD>
16857
16858<p> The verification depth for remote SMTP client certificates. A
16859depth of 1 is sufficient if the issuing CA is listed in a local CA
16860file. </p>
16861
16862<p> The default verification depth is 9 (the OpenSSL default) for
16863compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
16864the default value was 5, but the limit was not actually enforced. If
16865you have set this to a lower non-default value, certificates with longer
16866trust chains may now fail to verify. Certificate chains with 1 or 2
16867CAs are common, deeper chains are more rare and any number between 5
16868and 9 should suffice in practice. You can choose a lower number if,
16869for example, you trust certificates directly signed by an issuing CA
16870but not any CAs it delegates to. </p>
16871
16872<p> This feature is available in Postfix 2.2 and later.  </p>
16873
16874
16875</DD>
16876
16877<DT><b><a name="smtpd_tls_cert_file">smtpd_tls_cert_file</a>
16878(default: empty)</b></DT><DD>
16879
16880<p> File with the Postfix SMTP server RSA certificate in PEM format.
16881This file may also contain the Postfix SMTP server private RSA key.
16882With Postfix &ge; 3.4 the preferred way to configure server keys and
16883certificates is via the "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p>
16884
16885<p> Public Internet MX hosts without certificates signed by a "reputable"
16886CA must generate, and be prepared to present to most clients, a
16887self-signed or private-CA signed certificate. The client will not be
16888able to authenticate the server, but unless it is running Postfix 2.3 or
16889similar software, it will still insist on a server certificate. </p>
16890
16891<p> For servers that are <b>not</b> public Internet MX hosts, Postfix
16892supports configurations with no certificates. This entails the use of
16893just the anonymous TLS ciphers, which are not supported by typical SMTP
16894clients. Since some clients may not fall back to plain text after a TLS
16895handshake failure, a certificate-less Postfix SMTP server will be unable
16896to receive email from some TLS-enabled clients. To avoid accidental
16897configurations with no certificates, Postfix enables certificate-less
16898operation only when the administrator explicitly sets
16899"<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = none". This ensures that new Postfix SMTP server
16900configurations will not accidentally enable TLS without certificates.  </p>
16901
16902<p> Note that server certificates are not optional in TLS 1.3. To run
16903without certificates you'd have to disable the TLS 1.3 protocol by
16904including '!TLSv1.3' in "<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>" and perhaps also
16905"<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>".  It is simpler instead to just
16906configure a certificate chain.  Certificate-less operation is not
16907recommended. <p>
16908
16909<p> Both RSA and DSA certificates are supported.  When both types
16910are present, the cipher used determines which certificate will be
16911presented to the client.  For Netscape and OpenSSL clients without
16912special cipher choices the RSA certificate is preferred. </p>
16913
16914<p> To enable a remote SMTP client to verify the Postfix SMTP server
16915certificate, the issuing CA certificates must be made available to the
16916client. You should include the required certificates in the server
16917certificate file, the server certificate first, then the issuing
16918CA(s) (bottom-up order). </p>
16919
16920<p> Example: the certificate for "server.example.com" was issued by
16921"intermediate CA" which itself has a certificate of "root CA".
16922Create the server.pem file with "cat server_cert.pem intermediate_CA.pem
16923root_CA.pem &gt; server.pem". </p>
16924
16925<p> If you also want to verify client certificates issued by these
16926CAs, you can add the CA certificates to the <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, in which
16927case it is not necessary to have them in the <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>,
16928<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> (obsolete) or <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. </p>
16929
16930<p> A certificate supplied here must be usable as an SSL server certificate
16931and hence pass the "openssl verify -purpose sslserver ..." test. </p>
16932
16933<p> Example: </p>
16934
16935<pre>
16936<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = /etc/postfix/server.pem
16937</pre>
16938
16939<p> This feature is available in Postfix 2.2 and later.  </p>
16940
16941
16942</DD>
16943
16944<DT><b><a name="smtpd_tls_chain_files">smtpd_tls_chain_files</a>
16945(default: empty)</b></DT><DD>
16946
16947<p> List of one or more PEM files, each holding one or more private keys
16948directly followed by a corresponding certificate chain.  The file names
16949are separated by commas and/or whitespace.  This parameter obsoletes the
16950legacy algorithm-specific key and certificate file settings.  When this
16951parameter is non-empty, the legacy parameters are ignored, and a warning
16952is logged if any are also non-empty.  </p>
16953
16954<p> With the proliferation of multiple private key algorithms&mdash;which,
16955as of OpenSSL 1.1.1, include DSA (obsolete), RSA, ECDSA, Ed25519
16956and Ed448&mdash;it is increasingly impractical to use separate
16957parameters to configure the key and certificate chain for each
16958algorithm.  Therefore, Postfix now supports storing multiple keys and
16959corresponding certificate chains in a single file or in a set of files.
16960
16961<p> Each key must appear <b>immediately before</b> the corresponding
16962certificate, optionally followed by additional issuer certificates that
16963complete the certificate chain for that key.  When multiple files are
16964specified, they are equivalent to a single file that is concatenated
16965from those files in the given order.  Thus, while a key must always
16966precede its certificate and issuer chain, it can be in a separate file,
16967so long as that file is listed immediately before the file that holds
16968the corresponding certificate chain.  Once all the files are
16969concatenated, the sequence of PEM objects must be: <i>key1, cert1,
16970[chain1], key2, cert2, [chain2], ..., keyN, certN, [chainN].</i> </p>
16971
16972<p> Storing the private key in the same file as the corresponding
16973certificate is more reliable.  With the key and certificate in separate
16974files, there is a chance that during key rollover a Postfix process
16975might load a private key and certificate from separate files that don't
16976match.  Various operational errors may even result in a persistent
16977broken configuration in which the certificate does not match the private
16978key. </p>
16979
16980<p> The file or files must contain at most one key of each type.  If,
16981for example, two or more RSA keys and corresponding chains are listed,
16982depending on the version of OpenSSL either only the last one will be
16983used or an configuration error may be detected.  Note that while
16984"Ed25519" and "Ed448" are considered separate algorithms, the various
16985ECDSA curves (typically one of prime256v1, secp384r1 or secp521r1) are
16986considered as different parameters of a single "ECDSA" algorithm, so it
16987is not presently possible to configure keys for more than one ECDSA
16988curve.  </p>
16989
16990<p> RSA is still the most widely supported algorithm.  Presently (late
169912018), ECDSA support is common, but not yet universal, and Ed25519 and
16992Ed448 support is mostly absent.  Therefore, an RSA key should generally
16993be configured, along with any additional keys for the other algorithms
16994when desired.  </p>
16995
16996<p>
16997Example (separate files for each key and corresponding certificate chain):
16998</p>
16999<blockquote>
17000<pre>
17001/etc/postfix/<a href="postconf.5.html">main.cf</a>:
17002    <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> =
17003        ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed25519.pem,
17004        ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed448.pem,
17005        ${<a href="postconf.5.html#config_directory">config_directory</a>}/rsa.pem
17006</pre>
17007</blockquote>
17008
17009<blockquote>
17010<pre>
17011/etc/postfix/ed25519.pem:
17012    -----BEGIN PRIVATE KEY-----
17013    MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3
17014    -----END PRIVATE KEY-----
17015    -----BEGIN CERTIFICATE-----
17016    MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG
17017    ...
17018    nC0egv51YPDWxEHom4QA
17019    -----END CERTIFICATE-----
17020</pre>
17021</blockquote>
17022
17023<blockquote>
17024<pre>
17025/etc/postfix/ed448.pem:
17026    -----BEGIN PRIVATE KEY-----
17027    MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe
17028    LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A==
17029    -----END PRIVATE KEY-----
17030    -----BEGIN CERTIFICATE-----
17031    MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG
17032    ...
17033    pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA
17034    -----END CERTIFICATE-----
17035</pre>
17036</blockquote>
17037
17038<blockquote>
17039<pre>
17040/etc/postfix/rsa.pem:
17041    -----BEGIN PRIVATE KEY-----
17042    MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL
17043    ...
17044    ahQkZ3+krcaJvDSMgvu0tDc=
17045    -----END PRIVATE KEY-----
17046    -----BEGIN CERTIFICATE-----
17047    MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL
17048    ...
17049    Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE=
17050    -----END CERTIFICATE-----
17051</pre>
17052</blockquote>
17053
17054<p>
17055Example (all keys and certificates in a single file):
17056</p>
17057<blockquote>
17058<pre>
17059/etc/postfix/<a href="postconf.5.html">main.cf</a>:
17060    <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> = ${<a href="postconf.5.html#config_directory">config_directory</a>}/chains.pem
17061</pre>
17062</blockquote>
17063
17064<blockquote>
17065<pre>
17066/etc/postfix/chains.pem:
17067    -----BEGIN PRIVATE KEY-----
17068    MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3
17069    -----END PRIVATE KEY-----
17070    -----BEGIN CERTIFICATE-----
17071    MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG
17072    ...
17073    nC0egv51YPDWxEHom4QA
17074    -----END CERTIFICATE-----
17075    -----BEGIN PRIVATE KEY-----
17076    MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe
17077    LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A==
17078    -----END PRIVATE KEY-----
17079    -----BEGIN CERTIFICATE-----
17080    MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG
17081    ...
17082    pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA
17083    -----END CERTIFICATE-----
17084    -----BEGIN PRIVATE KEY-----
17085    MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL
17086    ...
17087    ahQkZ3+krcaJvDSMgvu0tDc=
17088    -----END PRIVATE KEY-----
17089    -----BEGIN CERTIFICATE-----
17090    MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL
17091    ...
17092    Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE=
17093    -----END CERTIFICATE-----
17094</pre>
17095</blockquote>
17096
17097<p> This feature is available in Postfix 3.4 and later.  </p>
17098
17099
17100</DD>
17101
17102<DT><b><a name="smtpd_tls_cipherlist">smtpd_tls_cipherlist</a>
17103(default: empty)</b></DT><DD>
17104
17105<p> Obsolete Postfix &lt; 2.3 control for the Postfix SMTP server TLS
17106cipher list. It is easy to create interoperability problems by choosing
17107a non-default cipher list. Do not use a non-default TLS cipherlist for
17108MX hosts on the public Internet. Clients that begin the TLS handshake,
17109but are unable to agree on a common cipher, may not be able to send any
17110email to the SMTP server. Using a restricted cipher list may be more
17111appropriate for a dedicated MSA or an internal mailhub, where one can
17112exert some control over the TLS software and settings of the connecting
17113clients. </p>
17114
17115<p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
17116
17117<p>This feature is available with Postfix version 2.2. It is not used with
17118Postfix 2.3 and later; use <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> instead. </p>
17119
17120
17121</DD>
17122
17123<DT><b><a name="smtpd_tls_ciphers">smtpd_tls_ciphers</a>
17124(default: medium)</b></DT><DD>
17125
17126<p> The minimum TLS cipher grade that the Postfix SMTP server
17127will use with opportunistic TLS encryption. Cipher types listed in
17128<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are excluded from the base definition of
17129the selected cipher grade.  The default value is "medium" for Postfix
17130releases after the middle of 2015, "export" for older releases.
17131</p>
17132
17133<p> When TLS is mandatory the cipher grade is chosen via the
17134<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
17135details. </p>
17136
17137<p> This feature is available in Postfix 2.6 and later. With earlier Postfix
17138releases only the <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> parameter is implemented,
17139and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
17140
17141
17142</DD>
17143
17144<DT><b><a name="smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>
17145(default: empty)</b></DT><DD>
17146
17147<p> File with the Postfix SMTP server DSA certificate in PEM format.
17148This file may also contain the Postfix SMTP server private DSA key.
17149The DSA algorithm is obsolete and should not be used. </p>
17150
17151<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details.
17152</p>
17153
17154<p> Example: </p>
17155
17156<pre>
17157<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> = /etc/postfix/server-dsa.pem
17158</pre>
17159
17160<p> This feature is available in Postfix 2.2 and later.  </p>
17161
17162
17163</DD>
17164
17165<DT><b><a name="smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
17166(default: empty)</b></DT><DD>
17167
17168<p> File with DH parameters that the Postfix SMTP server should
17169use with non-export EDH ciphers. </p>
17170
17171<p> Instead of using the exact same parameter sets as distributed
17172with other TLS packages, it is more secure to generate your own
17173set of parameters with something like the following commands:  </p>
17174
17175<blockquote>
17176<pre>
17177openssl dhparam -out /etc/postfix/dh512.pem 512
17178openssl dhparam -out /etc/postfix/dh1024.pem 1024
17179openssl dhparam -out /etc/postfix/dh2048.pem 2048
17180</pre>
17181</blockquote>
17182
17183<p> It is safe to share the same DH parameters between multiple
17184Postfix instances.  If you prefer, you can generate separate
17185parameters for each instance.  </p>
17186
17187<p> If you want to take maximal advantage of ciphers that offer <a
17188href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
17189the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
17190started</a> section of <a
17191href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
17192full document conveniently presents all information about Postfix
17193"perfect" forward secrecy support in one place: what forward secrecy
17194is, how to tweak settings, and what you can expect to see when
17195Postfix uses ciphers with forward secrecy.  </p>
17196
17197<p> Example: </p>
17198
17199<pre>
17200<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> = /etc/postfix/dh2048.pem
17201</pre>
17202
17203<p>This feature is available with Postfix version 2.2.</p>
17204
17205
17206</DD>
17207
17208<DT><b><a name="smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
17209(default: empty)</b></DT><DD>
17210
17211<p> File with DH parameters that the Postfix SMTP server should
17212use with export-grade EDH ciphers.  The default SMTP server cipher
17213grade is "medium" with Postfix releases after the middle of 2015,
17214and as a result export-grade cipher suites are by default not used.
17215</p>
17216
17217<p> See also the discussion under the <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
17218configuration parameter.  </p>
17219
17220<p> Example: </p>
17221
17222<pre>
17223<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> = /etc/postfix/dh_512.pem
17224</pre>
17225
17226<p>This feature is available with Postfix version 2.2.</p>
17227
17228
17229</DD>
17230
17231<DT><b><a name="smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>
17232(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
17233
17234<p> File with the Postfix SMTP server DSA private key in PEM format.
17235This file may be combined with the Postfix SMTP server DSA certificate
17236file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. The DSA algorithm is obsolete
17237and should not be used. </p>
17238
17239<p> The private key must be accessible without a pass-phrase, i.e. it
17240must not be encrypted. File permissions should grant read-only
17241access to the system superuser account ("root"), and no access
17242to anyone else. </p>
17243
17244<p> This feature is available in Postfix 2.2 and later.  </p>
17245
17246
17247</DD>
17248
17249<DT><b><a name="smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>
17250(default: empty)</b></DT><DD>
17251
17252<p> File with the Postfix SMTP server ECDSA certificate in PEM format.
17253This file may also contain the Postfix SMTP server private ECDSA key.
17254With Postfix &ge; 3.4 the preferred way to configure server keys and
17255certificates is via the "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p>
17256
17257<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details. </p>
17258
17259<p> Example: </p>
17260
17261<pre>
17262<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> = /etc/postfix/ecdsa-scert.pem
17263</pre>
17264
17265<p> This feature is available in Postfix 2.6 and later, when Postfix is
17266compiled and linked with OpenSSL 1.0.0 or later. </p>
17267
17268
17269</DD>
17270
17271<DT><b><a name="smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>
17272(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
17273
17274<p> File with the Postfix SMTP server ECDSA private key in PEM format.
17275This file may be combined with the Postfix SMTP server ECDSA certificate
17276file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>.  With Postfix &ge; 3.4 the
17277preferred way to configure server keys and certificates is via the
17278"<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p>
17279
17280<p> The private key must be accessible without a pass-phrase, i.e. it
17281must not be encrypted. File permissions should grant read-only
17282access to the system superuser account ("root"), and no access
17283to anyone else. </p>
17284
17285<p> This feature is available in Postfix 2.6 and later, when Postfix is
17286compiled and linked with OpenSSL 1.0.0 or later. </p>
17287
17288
17289</DD>
17290
17291<DT><b><a name="smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>
17292(default: see "postconf -d" output)</b></DT><DD>
17293
17294<p> The Postfix SMTP server security grade for ephemeral elliptic-curve
17295Diffie-Hellman (EECDH) key exchange. </p>
17296
17297<p> The available choices are: </p>
17298
17299<dl>
17300
17301<dt><b>none</b></dt> <dd> Don't use EECDH. Ciphers based on EECDH key
17302exchange will be disabled. This is the default in Postfix versions
173032.6 and 2.7. </dd>
17304
17305<dt><b>strong</b></dt> <dd> Use EECDH with approximately 128
17306bits of security at a reasonable computational cost. This is the
17307current best-practice trade-off between security and computational
17308efficiency. This is the default in Postfix version 2.8 and later.
17309</dd>
17310
17311<dt><b>ultra</b></dt> <dd> Use EECDH with approximately 192 bits of
17312security at computational cost that is approximately twice as high
17313as 128 bit strength ECC. Barring significant progress in attacks on
17314elliptic curve crypto-systems, the "strong" curve is sufficient for most
17315users. </dd>
17316
17317<dt><b>auto</b></dt> <dd> Use the most preferred curve that is
17318supported by both the client and the server.  This setting requires
17319Postfix &ge; 3.2 compiled and linked with OpenSSL &ge; 1.0.2.  This
17320is the default setting under the above conditions.  </dd>
17321
17322</dl>
17323
17324<p> If you want to take maximal advantage of ciphers that offer <a
17325href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
17326the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
17327started</a> section of <a
17328href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
17329full document conveniently presents all information about Postfix
17330"perfect" forward secrecy support in one place: what forward secrecy
17331is, how to tweak settings, and what you can expect to see when
17332Postfix uses ciphers with forward secrecy.  </p>
17333
17334<p> This feature is available in Postfix 2.6 and later, when it is
17335compiled and linked with OpenSSL 1.0.0 or later on platforms
17336where EC algorithms have not been disabled by the vendor. </p>
17337
17338
17339</DD>
17340
17341<DT><b><a name="smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
17342(default: empty)</b></DT><DD>
17343
17344<p> List of ciphers or cipher types to exclude from the SMTP server
17345cipher list at all TLS security levels. Excluding valid ciphers
17346can create interoperability problems. DO NOT exclude ciphers unless it
17347is essential to do so. This is not an OpenSSL cipherlist; it is a simple
17348list separated by whitespace and/or commas. The elements are a single
17349cipher, or one or more "+" separated cipher properties, in which case
17350only ciphers matching <b>all</b> the properties are excluded. </p>
17351
17352<p> Examples (some of these will cause problems): </p>
17353
17354<blockquote>
17355<pre>
17356<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL
17357<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = MD5, DES
17358<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = DES+MD5
17359<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
17360<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = kEDH+aRSA
17361</pre>
17362</blockquote>
17363
17364<p> The first setting disables anonymous ciphers. The next setting
17365disables ciphers that use the MD5 digest algorithm or the (single) DES
17366encryption algorithm. The next setting disables ciphers that use MD5 and
17367DES together.  The next setting disables the two ciphers "AES256-SHA"
17368and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
17369key exchange with RSA authentication. </p>
17370
17371<p> This feature is available in Postfix 2.3 and later. </p>
17372
17373
17374</DD>
17375
17376<DT><b><a name="smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>
17377(default: md5)</b></DT><DD>
17378
17379<p> The message digest algorithm to construct remote SMTP
17380client-certificate
17381fingerprints or public key fingerprints (Postfix 2.9 and later)
17382for <b><a href="postconf.5.html#check_ccert_access">check_ccert_access</a></b> and <b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a></b>. The
17383default algorithm is <b>md5</b>, for backwards compatibility with Postfix
17384releases prior to 2.5.  </p>
17385
17386<p> Advances in hash
17387function cryptanalysis have led to md5 being deprecated in favor of sha1.
17388However, as long as there are no known "second pre-image" attacks
17389against md5, its use in this context can still be considered safe.
17390</p>
17391
17392<p> While additional digest algorithms are often available with OpenSSL's
17393libcrypto, only those used by libssl in SSL cipher suites are available to
17394Postfix. </p>
17395
17396<p> To find the fingerprint of a specific certificate file, with a
17397specific digest algorithm, run: </p>
17398
17399<blockquote>
17400<pre>
17401$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
17402</pre>
17403</blockquote>
17404
17405<p> The text to the right of "=" sign is the desired fingerprint.
17406For example: </p>
17407
17408<blockquote>
17409<pre>
17410$ openssl x509 -noout -fingerprint -sha1 -in cert.pem
17411SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
17412</pre>
17413</blockquote>
17414
17415<p> To extract the public key fingerprint from an X.509 certificate,
17416you need to extract the public key from the certificate and compute
17417the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
17418the "-pubkey" option of the "x509" command extracts the public
17419key always in "PEM" format. We pipe the result to another OpenSSL
17420command that converts the key to DER and then to the "dgst" command
17421to compute the fingerprint. </p>
17422
17423<p> The actual command to transform the key to DER format depends
17424on the version of OpenSSL used. With OpenSSL 1.0.0 and later, the
17425"pkey" command supports all key types. With OpenSSL 0.9.8 and
17426earlier, the key type is always RSA (nobody uses DSA, and EC
17427keys are not fully supported by 0.9.8), so the "rsa" command is
17428used. </p>
17429<blockquote>
17430<pre>
17431# OpenSSL 1.0 with all certificates and SHA-1 fingerprints.
17432$ openssl x509 -in cert.pem -noout -pubkey |
17433    openssl pkey -pubin -outform DER |
17434    openssl dgst -sha1 -c
17435(stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58
17436</pre>
17437</blockquote>
17438
17439<blockquote>
17440<pre>
17441# OpenSSL 0.9.8 with RSA certificates and MD5 fingerprints.
17442$ openssl x509 -in cert.pem -noout -pubkey |
17443    openssl rsa -pubin -outform DER |
17444    openssl dgst -md5 -c
17445(stdin)= f4:62:60:f6:12:8f:d5:8d:28:4d:13:a7:db:b2:ff:50
17446</pre>
17447</blockquote>
17448
17449<p> The Postfix SMTP server and client log the peer (leaf) certificate
17450fingerprint and public key fingerprint when the TLS loglevel is 2 or
17451higher. </p>
17452
17453<p> <b>Note:</b> Postfix 2.9.0&ndash;2.9.5 computed the public key
17454fingerprint incorrectly. To use public-key fingerprints, upgrade
17455to Postfix 2.9.6 or later. </p>
17456
17457<p> Example: client-certificate access table, with sha1 fingerprints: </p>
17458
17459<blockquote>
17460<pre>
17461/etc/postfix/<a href="postconf.5.html">main.cf</a>:
17462    <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> = sha1
17463    <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
17464        <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access,
17465        reject
17466</pre>
17467<pre>
17468/etc/postfix/access:
17469    # Action folded to next line...
17470    AF:88:7C:AD:51:95:6F:36:96:F6:01:FB:2E:48:CD:AB:49:25:A2:3B
17471        OK
17472    85:16:78:FD:73:6E:CE:70:E0:31:5F:0D:3C:C8:6D:C4:2C:24:59:E1
17473        <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
17474</pre>
17475</blockquote>
17476
17477<p> This feature is available in Postfix 2.5 and later. </p>
17478
17479
17480</DD>
17481
17482<DT><b><a name="smtpd_tls_key_file">smtpd_tls_key_file</a>
17483(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
17484
17485<p> File with the Postfix SMTP server RSA private key in PEM format.
17486This file may be combined with the Postfix SMTP server RSA certificate
17487file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>.  With Postfix &ge; 3.4 the
17488preferred way to configure server keys and certificates is via the
17489"<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p>
17490
17491<p> The private key must be accessible without a pass-phrase, i.e. it
17492must not be encrypted. File permissions should grant read-only
17493access to the system superuser account ("root"), and no access
17494to anyone else. </p>
17495
17496
17497</DD>
17498
17499<DT><b><a name="smtpd_tls_loglevel">smtpd_tls_loglevel</a>
17500(default: 0)</b></DT><DD>
17501
17502<p> Enable additional Postfix SMTP server logging of TLS activity.
17503Each logging level also includes the information that is logged at
17504a lower logging level.  </p>
17505
17506<dl compact>
17507
17508<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
17509
17510<dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
17511&mdash; no logging of client certificate trust-chain verification errors
17512if client certificate verification is not required.  With Postfix 2.8 and
17513earlier, log the summary message, peer certificate summary information
17514and unconditionally log trust-chain verification errors.  </dd>
17515
17516<dt> </dt> <dd> 2 Also log levels during TLS negotiation. </dd>
17517
17518<dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation
17519process. </dd>
17520
17521<dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
17522transmission after STARTTLS. </dd>
17523
17524</dl>
17525
17526<p> Do not use "<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> = 2" or higher except in case
17527of problems. Use of loglevel 4 is strongly discouraged. </p>
17528
17529<p> This feature is available in Postfix 2.2 and later.  </p>
17530
17531
17532</DD>
17533
17534<DT><b><a name="smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
17535(default: medium)</b></DT><DD>
17536
17537<p> The minimum TLS cipher grade that the Postfix SMTP server will
17538use with mandatory TLS encryption. The default grade ("medium") is
17539sufficiently strong that any benefit from globally restricting TLS
17540sessions to a more stringent grade is likely negligible, especially
17541given the fact that many implementations still do not offer any stronger
17542("high" grade) ciphers, while those that do, will always use "high"
17543grade ciphers. So insisting on "high" grade ciphers is generally
17544counter-productive. Allowing "export" or "low" ciphers is typically
17545not a good idea, as systems limited to just these are limited to
17546obsolete browsers. No known SMTP clients fail to support at least
17547one "medium" or "high" grade cipher. </p>
17548
17549<p> The following cipher grades are supported: </p>
17550
17551<dl>
17552<dt><b>export</b></dt>
17553<dd> Enable "EXPORT" grade or stronger OpenSSL ciphers.  The
17554underlying cipherlist is specified via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a>
17555configuration parameter, which you are strongly encouraged to not
17556change.  This choice is insecure and SHOULD NOT be used.  </dd>
17557
17558<dt><b>low</b></dt>
17559<dd> Enable "LOW" grade or stronger OpenSSL ciphers. The underlying
17560cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration
17561parameter, which you are strongly encouraged to not change.  This
17562choice is insecure and SHOULD NOT be used.  </dd>
17563
17564<dt><b>medium</b></dt>
17565<dd> Enable "MEDIUM" grade or stronger OpenSSL ciphers. These use 128-bit
17566or longer symmetric bulk-encryption keys. This is the default minimum
17567strength for mandatory TLS encryption. The underlying cipherlist is
17568specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a> configuration parameter, which
17569you are strongly encouraged to not change. </dd>
17570
17571<dt><b>high</b></dt>
17572<dd> Enable only "HIGH" grade OpenSSL ciphers. The
17573underlying cipherlist is specified via the <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a>
17574configuration parameter, which you are strongly encouraged to
17575not change. </dd>
17576
17577<dt><b>null</b></dt>
17578<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
17579without encryption.  This setting is only appropriate in the rare
17580case that all clients are prepared to use NULL ciphers (not normally
17581enabled in TLS clients). The underlying cipherlist is specified via the
17582<a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> configuration parameter, which you are strongly
17583encouraged to not change. </dd>
17584
17585</dl>
17586
17587<p> Cipher types listed in
17588<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
17589excluded from the base definition of the selected cipher grade. See
17590<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> for cipher controls that apply to opportunistic
17591TLS. </p>
17592
17593<p> The underlying cipherlists for grades other than "null" include
17594anonymous ciphers, but these are automatically filtered out if the
17595server is configured to ask for remote SMTP client certificates.  You are very
17596unlikely to need to take any steps to exclude anonymous ciphers, they
17597are excluded automatically as required.  If you must exclude anonymous
17598ciphers even when Postfix does not need or use peer certificates, set
17599"<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only
17600when TLS is enforced, set "<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
17601
17602<p> This feature is available in Postfix 2.3 and later. </p>
17603
17604
17605</DD>
17606
17607<DT><b><a name="smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>
17608(default: empty)</b></DT><DD>
17609
17610<p> Additional list of ciphers or cipher types to exclude from the
17611Postfix SMTP server cipher list at mandatory TLS security levels.
17612This list
17613works in addition to the exclusions listed with <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
17614(see there for syntax details).  </p>
17615
17616<p> This feature is available in Postfix 2.3 and later. </p>
17617
17618
17619</DD>
17620
17621<DT><b><a name="smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>
17622(default: !SSLv2, !SSLv3)</b></DT><DD>
17623
17624<p> The SSL/TLS protocols accepted by the Postfix SMTP server with
17625mandatory TLS encryption. If the list is empty, the server supports
17626all available SSL/TLS protocol versions.  A non-empty value is a
17627list of protocol names separated by whitespace, commas or colons.
17628The supported protocol names are "SSLv2", "SSLv3" and "TLSv1", and
17629are not case sensitive. The default value is "!SSLv2, !SSLv3" for
17630Postfix releases after the middle of 2015, "!SSLv2" for older
17631releases. </p>
17632
17633<p> With Postfix &ge; 2.5 the parameter syntax was expanded to support
17634protocol exclusions. One can explicitly exclude "SSLv2" by setting
17635"<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2". To exclude both "SSLv2" and
17636"SSLv3" set "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing
17637the protocols to include, rather than protocols to exclude, is
17638supported, but not recommended. The exclusion form more closely
17639matches the underlying OpenSSL interface semantics.  </p>
17640
17641<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
17642and "TLSv1.2". When Postfix &le; 2.5 is linked against OpenSSL 1.0.1
17643or later, these, or any other new protocol versions, cannot be
17644disabled.  The latest patch levels of Postfix &ge; 2.6, and all
17645versions of Postfix &ge; 2.10 can disable support for "TLSv1.1" or
17646"TLSv1.2". </p>
17647
17648<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
17649&ge; 3.4 (or patch releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
17650this can be disabled, if need be, via "!TLSv1.3". </p>
17651
17652<p> Example: </p>
17653
17654<pre>
17655# Preferred syntax with Postfix &ge; 2.5:
17656<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
17657# Legacy syntax:
17658<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = TLSv1
17659</pre>
17660
17661<p> This feature is available in Postfix 2.3 and later. </p>
17662
17663
17664</DD>
17665
17666<DT><b><a name="smtpd_tls_protocols">smtpd_tls_protocols</a>
17667(default: !SSLv2, !SSLv3)</b></DT><DD>
17668
17669<p> List of TLS protocols that the Postfix SMTP server will exclude
17670or include with opportunistic TLS encryption. The default value is
17671"!SSLv2, !SSLv3" for Postfix releases after the middle of 2015,
17672empty for older releases allowing all protocols to be
17673used with opportunistic TLS.  A non-empty value is a list of protocol
17674names separated by whitespace, commas or colons.  The supported
17675protocol names are "SSLv2", "SSLv3" and "TLSv1", and are not case
17676sensitive. </p>
17677
17678<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
17679and "TLSv1.2". The latest patch levels of Postfix &ge; 2.6, and all
17680versions of Postfix &ge; 2.10 can disable support for "TLSv1.1" or
17681"TLSv1.2". </p>
17682
17683<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
17684&ge; 3.4 (or patch releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
17685this can be disabled, if need be, via "!TLSv1.3". </p>
17686
17687<p> To include a protocol list its name, to exclude it, prefix the name
17688with a "!" character. To exclude SSLv2 for opportunistic TLS set
17689"<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set
17690"<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to
17691include, rather than protocols to exclude, is supported, but not
17692recommended.  The exclusion form more closely matches the underlying
17693OpenSSL interface semantics. </p>
17694
17695<p> Example: </p>
17696<pre>
17697<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3
17698</pre>
17699
17700<p> This feature is available in Postfix 2.6 and later. </p>
17701
17702
17703</DD>
17704
17705<DT><b><a name="smtpd_tls_received_header">smtpd_tls_received_header</a>
17706(default: no)</b></DT><DD>
17707
17708<p> Request that the Postfix SMTP server produces Received:  message
17709headers that include information about the protocol and cipher used,
17710as well as the remote SMTP client CommonName and client certificate issuer
17711CommonName.  This is disabled by default, as the information may
17712be modified in transit through other mail servers.  Only information
17713that was recorded by the final destination can be trusted. </p>
17714
17715<p> This feature is available in Postfix 2.2 and later.  </p>
17716
17717
17718</DD>
17719
17720<DT><b><a name="smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>
17721(default: no)</b></DT><DD>
17722
17723<p> With mandatory TLS encryption, require a trusted remote SMTP client
17724certificate in order to allow TLS connections to proceed.  This
17725option implies "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes". </p>
17726
17727<p> When TLS encryption is optional, this setting is ignored with
17728a warning written to the mail log. </p>
17729
17730<p> This feature is available in Postfix 2.2 and later.  </p>
17731
17732
17733</DD>
17734
17735<DT><b><a name="smtpd_tls_security_level">smtpd_tls_security_level</a>
17736(default: empty)</b></DT><DD>
17737
17738<p> The SMTP TLS security level for the Postfix SMTP server; when
17739a non-empty value is specified, this overrides the obsolete parameters
17740<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
17741"<a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> = yes".  </p>
17742
17743<p> Specify one of the following security levels: </p>
17744
17745<dl>
17746
17747<dt><b>none</b></dt> <dd> TLS will not be used. </dd>
17748
17749<dt><b>may</b></dt> <dd> Opportunistic TLS: announce STARTTLS support
17750to remote SMTP clients, but do not require that clients use TLS encryption.
17751</dd>
17752
17753<dt><b>encrypt</b></dt> <dd>Mandatory TLS encryption: announce
17754STARTTLS support to remote SMTP clients, and require that clients use TLS
17755encryption. According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> this MUST NOT be applied in case
17756of a publicly-referenced SMTP server. Instead, this option should
17757be used only on dedicated servers. </dd>
17758
17759</dl>
17760
17761<p> Note 1: the "fingerprint", "verify" and "secure" levels are not
17762supported here.
17763The Postfix SMTP server logs a warning and uses "encrypt" instead.
17764To verify remote SMTP client certificates, see <a href="TLS_README.html">TLS_README</a> for a discussion
17765of 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>
17766features.  </p>
17767
17768<p> Note 2: The parameter setting "<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> =
17769encrypt" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes".</p>
17770
17771<p> Note 3: when invoked via "sendmail -bs", Postfix will never
17772offer STARTTLS due to insufficient privileges to access the server
17773private key. This is intended behavior.</p>
17774
17775<p> This feature is available in Postfix 2.3 and later. </p>
17776
17777
17778</DD>
17779
17780<DT><b><a name="smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
17781(default: empty)</b></DT><DD>
17782
17783<p> Name of the file containing the optional Postfix SMTP server
17784TLS session cache. Specify a database type that supports enumeration,
17785such as <b>btree</b> or <b>sdbm</b>; there is no need to support
17786concurrent access.  The file is created if it does not exist. The <a href="smtpd.8.html">smtpd(8)</a>
17787daemon does not use this parameter directly, rather the cache is
17788implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
17789per-smtpd-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not
17790effective. Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a>
17791daemon: $<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>
17792(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
17793stored separately. It is not at this time possible to store multiple
17794caches in a single database. </p>
17795
17796<p> Note: <b>dbm</b> databases are not suitable. TLS
17797session objects are too large. </p>
17798
17799<p> As of version 2.5, Postfix no longer uses root privileges when
17800opening this file. The file should now be stored under the Postfix-owned
17801<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
17802under a non-Postfix directory is redirected to the Postfix-owned
17803<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
17804
17805<p> As of Postfix 2.11 the preferred mechanism for session resumption
17806is <a href="http://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side
17807storage.  Consequently, for Postfix &ge; 2.11 this parameter should
17808generally be left empty.  TLS session tickets require an OpenSSL
17809library (at least version 0.9.8h) that provides full support for
17810this TLS extension.  See also <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p>
17811
17812<p> Example: </p>
17813
17814<pre>
17815<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/smtpd_scache
17816</pre>
17817
17818<p> This feature is available in Postfix 2.2 and later.  </p>
17819
17820
17821</DD>
17822
17823<DT><b><a name="smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>
17824(default: 3600s)</b></DT><DD>
17825
17826<p> The expiration time of Postfix SMTP server TLS session cache
17827information. A cache cleanup is performed periodically
17828every $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> seconds. As with
17829$<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, this parameter is implemented in the
17830<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtpd-instance <a href="master.5.html">master.cf</a> overrides
17831are not possible. </p>
17832
17833<p> As of Postfix 2.11 this setting cannot exceed 100 days.  If set
17834&le; 0, session caching is disabled, not just via the database, but
17835also via <a href="http://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side
17836storage.  If set to a positive value less than 2 minutes, the minimum
17837value of 2 minutes is used instead.  TLS session tickets require
17838an OpenSSL library (at least version 0.9.8h) that provides full
17839support for this TLS extension. </p>
17840
17841<p> This feature is available in Postfix 2.2 and later, and updated
17842for TLS session ticket support in Postfix 2.11. </p>
17843
17844
17845</DD>
17846
17847<DT><b><a name="smtpd_tls_wrappermode">smtpd_tls_wrappermode</a>
17848(default: no)</b></DT><DD>
17849
17850<p> Run the Postfix SMTP server in the non-standard "wrapper" mode,
17851instead of using the STARTTLS command. </p>
17852
17853<p> If you want to support this service, enable a special port in
17854<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
17855server's command line. Port 465 (smtps) was once chosen for this
17856purpose. </p>
17857
17858<p> This feature is available in Postfix 2.2 and later.  </p>
17859
17860
17861</DD>
17862
17863<DT><b><a name="smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a>
17864(default: empty)</b></DT><DD>
17865
17866<p> The name of the proxy protocol used by an optional before-smtpd
17867proxy agent. When a proxy agent is used, this protocol conveys local
17868and remote address and port information.  Specify
17869"<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
17870protocol; version 2 is supported with Postfix 3.5 and later. </p>
17871
17872<p> NOTE: To use the nginx proxy with <a href="smtpd.8.html">smtpd(8)</a>, enable the XCLIENT
17873protocol with <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>. This supports SASL
17874authentication in the proxy agent (Postfix 2.9 and later). <p>
17875
17876<p> This feature is available in Postfix 2.10 and later.  </p>
17877
17878
17879</DD>
17880
17881<DT><b><a name="smtpd_upstream_proxy_timeout">smtpd_upstream_proxy_timeout</a>
17882(default: 5s)</b></DT><DD>
17883
17884<p> The time limit for the proxy protocol specified with the
17885<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> parameter. </p>
17886
17887<p> This feature is available in Postfix 2.10 and later.  </p>
17888
17889
17890</DD>
17891
17892<DT><b><a name="smtpd_use_tls">smtpd_use_tls</a>
17893(default: no)</b></DT><DD>
17894
17895<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
17896but do not require that clients use TLS encryption. </p>
17897
17898<p> Note: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
17899STARTTLS due to insufficient privileges to access the server private
17900key. This is intended behavior. </p>
17901
17902<p> This feature is available in Postfix 2.2 and later. With
17903Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
17904
17905
17906</DD>
17907
17908<DT><b><a name="smtputf8_autodetect_classes">smtputf8_autodetect_classes</a>
17909(default: sendmail, verify)</b></DT><DD>
17910
17911<p> Detect that a message requires SMTPUTF8 support for the specified
17912mail origin classes.  This is a workaround to avoid chicken-and-egg
17913problems during the initial SMTPUTF8 roll-out in environments with
17914pre-existing mail flows that contain UTF8. Those mail flows should
17915not break because Postfix suddenly refuses to deliver such mail
17916to down-stream MTAs that don't announce SMTPUTF8 support.  </p>
17917
17918<p> The problem is that Postfix cannot rely solely on the sender's
17919declaration that a message requires SMTPUTF8 support, because UTF8
17920may be introduced during local processing (for example, the client
17921hostname in Postfix's Received: header, adding @$<a href="postconf.5.html#myorigin">myorigin</a> or
17922.$<a href="postconf.5.html#mydomain">mydomain</a> to an incomplete address, address rewriting, alias
17923expansion, automatic BCC recipients, local forwarding, and changes
17924made by header checks or Milter applications). </p>
17925
17926<p> For now, the default is to enable "SMTPUTF8 required" autodetection
17927only for Postfix sendmail command-line submissions and address
17928verification probes.  This may change once SMTPUTF8 support achieves
17929world domination.  However, sites that add UTF8 content via local
17930processing (see above) should autodetect the need for SMTPUTF8
17931support for all email.</p>
17932
17933<p> Specify one or more of the following: </p>
17934
17935<dl compact>
17936
17937<dt> <b> sendmail </b> </dt> <dd> Submission with the Postfix
17938<a href="sendmail.1.html">sendmail(1)</a> command. </dd>
17939
17940<dt> <b> smtpd </b> </dt> <dd> Mail received with the <a href="smtpd.8.html">smtpd(8)</a>
17941daemon. </dd>
17942
17943<dt> <b> qmqpd </b> </dt> <dd> Mail received with the <a href="qmqpd.8.html">qmqpd(8)</a>
17944daemon. </dd>
17945
17946<dt> <b> forward </b> </dt> <dd> Local forwarding or aliasing.  When
17947a message is received with "SMTPUTF8 required", then the forwarded
17948(aliased) message always has "SMTPUTF8 required".  </dd>
17949
17950<dt> <b> bounce </b> </dt> <dd> Submission by the <a href="bounce.8.html">bounce(8)</a> daemon.
17951When a message is received with "SMTPUTF8 required", then the
17952delivery status notification always has "SMTPUTF8 required".  </dd>
17953
17954<dt> <b> notify </b> </dt> <dd> Postmaster notification from the
17955<a href="smtp.8.html">smtp(8)</a> or <a href="smtpd.8.html">smtpd(8)</a> daemon. </dd>
17956
17957<dt> <b> verify </b> </dt> <dd> Address verification probe from the
17958<a href="verify.8.html">verify(8)</a> daemon.  </dd>
17959
17960<dt> <b> all </b> </dt> <dd> Enable SMTPUTF8 autodetection for all
17961mail. </dd>
17962
17963</dl>
17964
17965<p> This feature is available in Postfix 3.0 and later. </p>
17966
17967
17968</DD>
17969
17970<DT><b><a name="smtputf8_enable">smtputf8_enable</a>
17971(default: yes)</b></DT><DD>
17972
17973<p> Enable preliminary SMTPUTF8 support for the protocols described
17974in <a href="http://tools.ietf.org/html/rfc6531">RFC 6531</a>..6533. This requires that Postfix is built to support
17975these protocols. </p>
17976
17977<p> This feature is available in Postfix 3.0 and later. </p>
17978
17979
17980</DD>
17981
17982<DT><b><a name="soft_bounce">soft_bounce</a>
17983(default: no)</b></DT><DD>
17984
17985<p>
17986Safety net to keep mail queued that would otherwise be returned to
17987the sender.  This parameter disables locally-generated bounces,
17988changes the handling of negative responses from remote servers,
17989content filters or plugins,
17990and prevents the Postfix SMTP server from rejecting mail permanently
17991by changing 5xx reply codes into 4xx.  However, <a href="postconf.5.html#soft_bounce">soft_bounce</a> is no
17992cure for address rewriting mistakes or mail routing mistakes.
17993</p>
17994
17995<p>
17996Note: "<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes" is in some cases implemented by modifying
17997server responses. Therefore, the response that Postfix logs may
17998differ from the response that Postfix actually sends or receives.
17999</p>
18000
18001<p>
18002Example:
18003</p>
18004
18005<pre>
18006<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes
18007</pre>
18008
18009
18010</DD>
18011
18012<DT><b><a name="stale_lock_time">stale_lock_time</a>
18013(default: 500s)</b></DT><DD>
18014
18015<p>
18016The time after which a stale exclusive mailbox lockfile is removed.
18017This is used for delivery to file or mailbox.
18018</p>
18019
18020<p>
18021Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
18022The default time unit is s (seconds).
18023</p>
18024
18025
18026</DD>
18027
18028<DT><b><a name="stress">stress</a>
18029(default: empty)</b></DT><DD>
18030
18031<p> This feature is documented in the <a href="STRESS_README.html">STRESS_README</a> document. </p>
18032
18033<p> This feature is available in Postfix 2.5 and later. </p>
18034
18035
18036</DD>
18037
18038<DT><b><a name="strict_7bit_headers">strict_7bit_headers</a>
18039(default: no)</b></DT><DD>
18040
18041<p>
18042Reject mail with 8-bit text in message headers. This blocks mail
18043from poorly written applications.
18044</p>
18045
18046<p>
18047This feature should not be enabled on a general purpose mail server,
18048because it is likely to reject legitimate email.
18049</p>
18050
18051<p>
18052This feature is available in Postfix 2.0 and later.
18053</p>
18054
18055
18056</DD>
18057
18058<DT><b><a name="strict_8bitmime">strict_8bitmime</a>
18059(default: no)</b></DT><DD>
18060
18061<p>
18062Enable 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>.
18063</p>
18064
18065<p>
18066This feature should not be enabled on a general purpose mail server,
18067because it is likely to reject legitimate email.
18068</p>
18069
18070<p>
18071This feature is available in Postfix 2.0 and later.
18072</p>
18073
18074
18075</DD>
18076
18077<DT><b><a name="strict_8bitmime_body">strict_8bitmime_body</a>
18078(default: no)</b></DT><DD>
18079
18080<p>
18081Reject 8-bit message body text without 8-bit MIME content encoding
18082information.  This blocks mail from poorly written applications.
18083</p>
18084
18085<p>
18086Unfortunately, this also rejects majordomo approval requests when
18087the included request contains valid 8-bit MIME mail, and it rejects
18088bounces from mailers that do not MIME encapsulate 8-bit content
18089(for example, bounces from qmail or from old versions of Postfix).
18090</p>
18091
18092<p>
18093This feature should not be enabled on a general purpose mail server,
18094because it is likely to reject legitimate email.
18095</p>
18096
18097<p>
18098This feature is available in Postfix 2.0 and later.
18099</p>
18100
18101
18102</DD>
18103
18104<DT><b><a name="strict_mailbox_ownership">strict_mailbox_ownership</a>
18105(default: yes)</b></DT><DD>
18106
18107<p> Defer delivery when a mailbox file is not owned by its recipient.
18108The default setting is not backwards compatible.  </p>
18109
18110<p> This feature is available in Postfix 2.5.3 and later. </p>
18111
18112
18113</DD>
18114
18115<DT><b><a name="strict_mime_encoding_domain">strict_mime_encoding_domain</a>
18116(default: no)</b></DT><DD>
18117
18118<p>
18119Reject mail with invalid Content-Transfer-Encoding: information
18120for the message/* or multipart/* MIME content types.  This blocks
18121mail from poorly written software.
18122</p>
18123
18124<p>
18125This feature should not be enabled on a general purpose mail server,
18126because it will reject mail after a single violation.
18127</p>
18128
18129<p>
18130This feature is available in Postfix 2.0 and later.
18131</p>
18132
18133
18134</DD>
18135
18136<DT><b><a name="strict_rfc821_envelopes">strict_rfc821_envelopes</a>
18137(default: no)</b></DT><DD>
18138
18139<p>
18140Require that addresses received in SMTP MAIL FROM and RCPT TO
18141commands are enclosed with &lt;&gt;, and that those addresses do
18142not contain <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> style comments or phrases.  This stops mail
18143from poorly written software.
18144</p>
18145
18146<p>
18147By default, the Postfix SMTP server accepts <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> syntax in MAIL
18148FROM and RCPT TO addresses.
18149</p>
18150
18151
18152</DD>
18153
18154<DT><b><a name="strict_smtputf8">strict_smtputf8</a>
18155(default: no)</b></DT><DD>
18156
18157<p> Enable stricter enforcement of the SMTPUTF8 protocol. The Postfix
18158SMTP server accepts UTF8 sender or recipient addresses only when
18159the client requests an SMTPUTF8 mail transaction. </p>
18160
18161<p> This feature is available in Postfix 3.0 and later. </p>
18162
18163
18164</DD>
18165
18166<DT><b><a name="sun_mailtool_compatibility">sun_mailtool_compatibility</a>
18167(default: no)</b></DT><DD>
18168
18169<p>
18170Obsolete SUN mailtool compatibility feature. Instead, use
18171"<a href="postconf.5.html#mailbox_delivery_lock">mailbox_delivery_lock</a> = dotlock".
18172</p>
18173
18174
18175</DD>
18176
18177<DT><b><a name="swap_bangpath">swap_bangpath</a>
18178(default: yes)</b></DT><DD>
18179
18180<p>
18181Enable the rewriting of "site!user" into "user@site".  This is
18182necessary if your machine is connected to UUCP networks.  It is
18183enabled by default.
18184</p>
18185
18186<p> Note: with Postfix version 2.2, message header address rewriting
18187happens only when one of the following conditions is true: </p>
18188
18189<ul>
18190
18191<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
18192
18193<li> The message is received from a network client that matches
18194$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
18195
18196<li> The message is received from the network, and the
18197<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
18198
18199</ul>
18200
18201<p> To get the behavior before Postfix version 2.2, specify
18202"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
18203
18204<p>
18205Example:
18206</p>
18207
18208<pre>
18209<a href="postconf.5.html#swap_bangpath">swap_bangpath</a> = no
18210</pre>
18211
18212
18213</DD>
18214
18215<DT><b><a name="syslog_facility">syslog_facility</a>
18216(default: mail)</b></DT><DD>
18217
18218<p>
18219The syslog facility of Postfix logging. Specify a facility as
18220defined in syslog.conf(5). The default facility is "mail".
18221</p>
18222
18223<p>
18224Warning: a non-default <a href="postconf.5.html#syslog_facility">syslog_facility</a> setting takes effect only
18225after a Postfix process has completed initialization.  Errors during
18226process initialization will be logged with the default facility.
18227Examples are errors while parsing the command line arguments, and
18228errors while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
18229</p>
18230
18231
18232</DD>
18233
18234<DT><b><a name="syslog_name">syslog_name</a>
18235(default: see "postconf -d" output)</b></DT><DD>
18236
18237<p>
18238A prefix that is prepended to the process name in syslog
18239records, so that, for example, "smtpd" becomes "prefix/smtpd".
18240</p>
18241
18242<p>
18243Warning: a non-default <a href="postconf.5.html#syslog_name">syslog_name</a> setting takes effect only after
18244a Postfix process has completed initialization. Errors during
18245process initialization will be logged with the default name. Examples
18246are errors while parsing the command line arguments, and errors
18247while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
18248</p>
18249
18250
18251</DD>
18252
18253<DT><b><a name="tcp_windowsize">tcp_windowsize</a>
18254(default: 0)</b></DT><DD>
18255
18256<p> An optional workaround for routers that break TCP window scaling.
18257Specify a value &gt; 0 and &lt; 65536 to enable this feature.  With
18258Postfix TCP servers (<a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a>), this feature is implemented
18259by the Postfix <a href="master.8.html">master(8)</a> daemon.  </p>
18260
18261<p> To change this parameter without stopping Postfix, you need to
18262first terminate all Postfix TCP servers: </p>
18263
18264<blockquote>
18265<pre>
18266# postconf -e <a href="postconf.5.html#master_service_disable">master_service_disable</a>=inet
18267# postfix reload
18268</pre>
18269</blockquote>
18270
18271<p> This immediately terminates all processes that accept network
18272connections.  Next, you enable Postfix TCP servers with the updated
18273<a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> setting: </p>
18274
18275<blockquote>
18276<pre>
18277# 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>=
18278# postfix reload
18279</pre>
18280</blockquote>
18281
18282<p> If you skip these steps with a running Postfix system, then the
18283<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>,
18284<a href="lmtp.8.html">lmtp(8)</a>).  </p>
18285
18286<p> This feature is available in Postfix 2.6 and later. </p>
18287
18288
18289</DD>
18290
18291<DT><b><a name="tls_append_default_CA">tls_append_default_CA</a>
18292(default: no)</b></DT><DD>
18293
18294<p> Append the system-supplied default Certification Authority
18295certificates to the ones specified with *_tls_CApath or *_tls_CAfile.
18296The default is "no"; this prevents Postfix from trusting third-party
18297certificates and giving them relay permission with
18298<a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>.  </p>
18299
18300<p> This feature is available in Postfix 2.4.15, 2.5.11, 2.6.8,
183012.7.2 and later versions. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = yes" for
18302backwards compatibility, to avoid breaking certificate verification
18303with sites that don't use <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p>
18304
18305
18306</DD>
18307
18308<DT><b><a name="tls_daemon_random_bytes">tls_daemon_random_bytes</a>
18309(default: 32)</b></DT><DD>
18310
18311<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>
18312process requests from the <a href="tlsmgr.8.html">tlsmgr(8)</a> server in order to seed its
18313internal pseudo random number generator (PRNG).  The default of 32
18314bytes (equivalent to 256 bits) is sufficient to generate a 128bit
18315(or 168bit) session key. </p>
18316
18317<p> This feature is available in Postfix 2.2 and later.  </p>
18318
18319
18320</DD>
18321
18322<DT><b><a name="tls_dane_digest_agility">tls_dane_digest_agility</a>
18323(default: on)</b></DT><DD>
18324
18325<p> Configure <a href="http://tools.ietf.org/html/rfc7671">RFC7671</a> DANE TLSA digest algorithm agility.
18326Do not change this setting from its default value. </p>
18327
18328<p> See Section 8 of <a href="http://tools.ietf.org/html/rfc7671">RFC7671</a> for correct key rotation procedures.  </p>
18329
18330<p> This feature is available in Postfix 2.11 through 3.1.  Postfix
183313.2 and later ignore this configuration parameter and behave as
18332though it were set to "on".  </p>
18333
18334
18335</DD>
18336
18337<DT><b><a name="tls_dane_digests">tls_dane_digests</a>
18338(default: sha512 sha256)</b></DT><DD>
18339
18340<p> DANE TLSA (<a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>, <a href="http://tools.ietf.org/html/rfc7671">RFC 7671</a>, <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a>) resource-record "matching
18341type" digest algorithms in descending preference order.  All the
18342specified algorithms must be supported by the underlying OpenSSL
18343library, otherwise the Postfix SMTP client will not support DANE
18344TLSA security.  </p>
18345
18346<p> Specify a list of digest names separated by commas and/or
18347whitespace.  Each digest name may be followed by an optional
18348"=&lt;number&gt;" suffix.  For example, "sha512" may instead be specified
18349as "sha512=2" and "sha256" may instead be specified as "sha256=1".
18350The optional number must match the <a
18351href="https://www.iana.org/assignments/dane-parameters/dane-parameters.xhtml#matching-types"
18352>IANA</a> assigned TLSA matching type number the algorithm in question.
18353Postfix will check this constraint for the algorithms it knows about.
18354Additional matching type algorithms registered with IANA can be added
18355with explicit numbers provided they are supported by OpenSSL. </p>
18356
18357<p> Invalid list elements are logged with a warning and disable DANE
18358support.  TLSA RRs that specify digests not included in the list are
18359ignored with a warning. </p>
18360
18361<p> Note: It is unwise to omit sha256 from the digest list.  This
18362digest algorithm is the only mandatory to implement digest algorithm
18363in <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>, and many servers are expected publish TLSA records
18364with just sha256 digests.  Unless one of the standard digests is
18365seriously compromised and servers have had ample time to update their
18366TLSA records you should not omit any standard digests, just arrange
18367them in order from strongest to weakest.  </p>
18368
18369<p> This feature is available in Postfix 2.11 and later. </p>
18370
18371
18372</DD>
18373
18374<DT><b><a name="tls_dane_trust_anchor_digest_enable">tls_dane_trust_anchor_digest_enable</a>
18375(default: yes)</b></DT><DD>
18376
18377<p> Enable support for <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE TLSA) DNS records that contain
18378digests of trust-anchors with certificate usage "2".  Do not change
18379this setting from its default value.  </p>
18380
18381<p> This feature is available in Postfix 2.11 through 3.1.  It has
18382been withdrawn in Postfix 3.2, as trust-anchor TLSA records are now
18383widely used and have proved sufficiently reliable.  Postfix 3.2 and
18384later ignore this configuration parameter and behaves as though it
18385were set to "yes".  </p>
18386
18387
18388</DD>
18389
18390<DT><b><a name="tls_disable_workarounds">tls_disable_workarounds</a>
18391(default: see "postconf -d" output)</b></DT><DD>
18392
18393<p> List or bit-mask of OpenSSL bug work-arounds to disable. </p>
18394
18395<p> The OpenSSL toolkit includes a set of work-arounds for buggy SSL/TLS
18396implementations. Applications, such as Postfix, that want to maximize
18397interoperability ask the OpenSSL library to enable the full set of
18398recommended work-arounds. </p>
18399
18400<p> From time to time, it is discovered that a work-around creates a
18401security issue, and should no longer be used. If upgrading OpenSSL
18402to a fixed version is not an option or an upgrade is not available
18403in a timely manner, or in closed environments where no buggy clients
18404or servers exist, it may be appropriate to disable some or all of the
18405OpenSSL interoperability work-arounds. This parameter specifies which
18406bug work-arounds to disable. </p>
18407
18408<p> If the value of the parameter is a hexadecimal long integer starting
18409with "0x", the bug work-arounds corresponding to the bits specified in
18410its value are removed from the <b>SSL_OP_ALL</b> work-around bit-mask
18411(see openssl/ssl.h and SSL_CTX_set_options(3)). You can specify more
18412bits than are present in SSL_OP_ALL, excess bits are ignored. Specifying
184130xFFFFFFFF disables all bug-workarounds on a 32-bit system. This should
18414also be sufficient on 64-bit systems, until OpenSSL abandons support
18415for 32-bit systems and starts using the high 32 bits of a 64-bit
18416bug-workaround mask. </p>
18417
18418<p> Otherwise, the parameter is a white-space or comma separated list
18419of specific named bug work-arounds chosen from the list below. It
18420is possible that your OpenSSL version includes new bug work-arounds
18421added after your Postfix source code was last updated, in that case
18422you can only disable one of these via the hexadecimal syntax above. </p>
18423
18424<dl>
18425
18426<dt><b>CRYPTOPRO_TLSEXT_BUG</b></dt> <dd>New with GOST support in
18427OpenSSL 1.0.0.</dd>
18428
18429<dt><b>DONT_INSERT_EMPTY_FRAGMENTS</b></dt> <dd>See
18430SSL_CTX_set_options(3)</dd>
18431
18432<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
18433
18434<dt><b>MICROSOFT_BIG_SSLV3_BUFFER</b></dt> <dd>See
18435SSL_CTX_set_options(3)</dd>
18436
18437<dt><b>MICROSOFT_SESS_ID_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
18438
18439<dt><b>MSIE_SSLV2_RSA_PADDING</b></dt> <dd> also aliased as
18440<b>CVE-2005-2969</b>. Postfix 2.8 disables this work-around by
18441default with OpenSSL versions that may predate the fix. Fixed in
18442OpenSSL 0.9.7h and OpenSSL 0.9.8a.</dd>
18443
18444<dt><b>NETSCAPE_CHALLENGE_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
18445
18446<dt><b>NETSCAPE_REUSE_CIPHER_CHANGE_BUG</b></dt> <dd> also aliased
18447as <b>CVE-2010-4180</b>. Postfix 2.8 disables this work-around by
18448default with OpenSSL versions that may predate the fix. Fixed in
18449OpenSSL 0.9.8q and OpenSSL 1.0.0c.</dd>
18450
18451<dt><b>SSLEAY_080_CLIENT_DH_BUG</b></dt> <dd>See
18452SSL_CTX_set_options(3)</dd>
18453
18454<dt><b>SSLREF2_REUSE_CERT_TYPE_BUG</b></dt> <dd>See
18455SSL_CTX_set_options(3)</dd>
18456
18457<dt><b>TLS_BLOCK_PADDING_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
18458
18459<dt><b>TLS_D5_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
18460
18461<dt><b>TLS_ROLLBACK_BUG</b></dt> <dd>See SSL_CTX_set_options(3).
18462This is disabled in OpenSSL 0.9.7 and later. Nobody should still
18463be using 0.9.6! </dd>
18464
18465<dt><b>TLSEXT_PADDING</b></dt><dd>Postfix &ge; 3.4. See SSL_CTX_set_options(3).</dd>
18466
18467</dl>
18468
18469<p> This feature is available in Postfix 2.8 and later.  </p>
18470
18471
18472</DD>
18473
18474<DT><b><a name="tls_eecdh_auto_curves">tls_eecdh_auto_curves</a>
18475(default: see "postconf -d" output)</b></DT><DD>
18476
18477<p> The prioritized list of elliptic curves supported by the Postfix
18478SMTP client and server.  These curves are used by the Postfix SMTP
18479server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = auto".  The selected curves
18480must be implemented by OpenSSL and be standardized for use in TLS
18481(<a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a> or its imminent successor).  It is unwise to list only
18482"bleeding-edge" curves supported by a small subset of clients.  The
18483default list is suitable for most users. </p>
18484
18485<p> Postfix skips curve names that are unknown to OpenSSL, or that
18486are known but not yet implemented.  This makes it possible to
18487"anticipate" support for curves that should be used once they become
18488available.  In particular, in some OpenSSL versions, the new <a href="http://tools.ietf.org/html/rfc8031">RFC</a>
18489<a href="http://tools.ietf.org/html/rfc8031">8031</a> curves "X25519" and "X448" may be known by name, but ECDH
18490support for either or both may be missing.  These curves may appear
18491in the default value of this parameter, even though they'll only
18492be usable with later versions of OpenSSL.  </p>
18493
18494<p> This feature is available in Postfix 3.2 and later, when it is
18495compiled and linked with OpenSSL 1.0.2 or later on platforms where
18496EC algorithms have not been disabled by the vendor. </p>
18497
18498
18499</DD>
18500
18501<DT><b><a name="tls_eecdh_strong_curve">tls_eecdh_strong_curve</a>
18502(default: prime256v1)</b></DT><DD>
18503
18504<p> The elliptic curve used by the Postfix SMTP server for sensibly
18505strong
18506ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
18507server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The phrase "sensibly
18508strong" means approximately 128-bit security based on best known
18509attacks. The selected curve must be implemented by OpenSSL (as
18510reported by ecparam(1) with the "-list_curves" option) and be one
18511of the curves listed in Section 5.1.1 of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not
18512generally change this setting.  Remote SMTP client implementations
18513must support this curve for EECDH key exchange to take place.  It
18514is unwise to choose an "bleeding-edge" curve supported by only a
18515small subset of clients.  </p>
18516
18517<p> The default "strong" curve is rated in NSA <a
18518href="https://web.archive.org/web/20160330034144/https://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
18519B</a> for information classified up to SECRET.  </p>
18520
18521<p> Note: elliptic curve names are poorly standardized; different
18522standards groups are assigning different names to the same underlying
18523curves.  The curve with the X9.62 name "prime256v1" is also known
18524under the SECG name "secp256r1", but OpenSSL does not recognize the
18525latter name. </p>
18526
18527<p> If you want to take maximal advantage of ciphers that offer <a
18528href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
18529the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
18530started</a> section of <a
18531href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
18532full document conveniently presents all information about Postfix
18533"perfect" forward secrecy support in one place: what forward secrecy
18534is, how to tweak settings, and what you can expect to see when
18535Postfix uses ciphers with forward secrecy.  </p>
18536
18537<p> This feature is available in Postfix 2.6 and later, when it is
18538compiled and linked with OpenSSL 1.0.0 or later on platforms where
18539EC algorithms have not been disabled by the vendor. </p>
18540
18541
18542</DD>
18543
18544<DT><b><a name="tls_eecdh_ultra_curve">tls_eecdh_ultra_curve</a>
18545(default: secp384r1)</b></DT><DD>
18546
18547<p> The elliptic curve used by the Postfix SMTP server for maximally
18548strong
18549ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
18550server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = ultra". The phrase "maximally
18551strong" means approximately 192-bit security based on best known attacks.
18552This additional strength comes at a significant computational cost, most
18553users should instead set "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong".  The selected
18554curve must be implemented by OpenSSL (as reported by ecparam(1) with the
18555"-list_curves" option) and be one of the curves listed in Section 5.1.1
18556of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not generally change this setting. </p>
18557
18558<p> This default "ultra" curve is rated in NSA <a
18559href="https://web.archive.org/web/20160330034144/https://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
18560B</a> for information classified up to TOP SECRET. </p>
18561
18562<p> If you want to take maximal advantage of ciphers that offer <a
18563href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
18564the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
18565started</a> section of <a
18566href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
18567full document conveniently presents all information about Postfix
18568"perfect" forward secrecy support in one place: what forward secrecy
18569is, how to tweak settings, and what you can expect to see when
18570Postfix uses ciphers with forward secrecy.  </p>
18571
18572<p> This feature is available in Postfix 2.6 and later, when it is
18573compiled and linked with OpenSSL 1.0.0 or later on platforms where
18574EC algorithms have not been disabled by the vendor. </p>
18575
18576
18577</DD>
18578
18579<DT><b><a name="tls_export_cipherlist">tls_export_cipherlist</a>
18580(default: see "postconf -d" output)</b></DT><DD>
18581
18582<p> The OpenSSL cipherlist for "export" or higher grade ciphers. This
18583defines the meaning of the "export" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
18584<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
18585<a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>.  With Postfix
18586releases before the middle of 2015 this is the default cipherlist
18587for the opportunistic ("may") TLS client security level and also
18588the default cipherlist for the SMTP server. You are strongly
18589encouraged to not change this setting.  </p>
18590
18591<p> This feature is available in Postfix 2.3 and later. </p>
18592
18593
18594</DD>
18595
18596<DT><b><a name="tls_fast_shutdown_enable">tls_fast_shutdown_enable</a>
18597(default: yes)</b></DT><DD>
18598
18599<p> A workaround for implementations that hang Postfix while shutting
18600down a TLS session, until Postfix times out. With this enabled,
18601Postfix will not wait for the remote TLS peer to respond to a TLS
18602'close' notification. This behavior is recommended for TLSv1.0 and
18603later. </p>
18604
18605
18606</DD>
18607
18608<DT><b><a name="tls_high_cipherlist">tls_high_cipherlist</a>
18609(default: see "postconf -d" output)</b></DT><DD>
18610
18611<p> The OpenSSL cipherlist for "high" grade ciphers. This defines
18612the meaning of the "high" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
18613<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
18614<a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly
18615encouraged to not change this setting.  </p>
18616
18617<p> This feature is available in Postfix 2.3 and later. </p>
18618
18619
18620</DD>
18621
18622<DT><b><a name="tls_legacy_public_key_fingerprints">tls_legacy_public_key_fingerprints</a>
18623(default: no)</b></DT><DD>
18624
18625<p> A temporary migration aid for sites that use certificate
18626<i>public-key</i> fingerprints with Postfix 2.9.0..2.9.5, which use
18627an incorrect algorithm. This parameter has no effect on the certificate
18628fingerprint support that is available since Postfix 2.2. </p>
18629
18630<p> Specify "<a href="postconf.5.html#tls_legacy_public_key_fingerprint">tls_legacy_public_key_fingerprints</a> = yes" temporarily,
18631pending a migration from configuration files with incorrect Postfix
186322.9.0..2.9.5 certificate public-key finger prints, to the correct
18633fingerprints used by Postfix 2.9.6 and later.  To compute the correct
18634certificate public-key fingerprints, see <a href="TLS_README.html">TLS_README</a>. </p>
18635
18636<p> This feature is available in Postfix 2.9.6 and later.  </p>
18637
18638
18639</DD>
18640
18641<DT><b><a name="tls_low_cipherlist">tls_low_cipherlist</a>
18642(default: see "postconf -d" output)</b></DT><DD>
18643
18644<p> The OpenSSL cipherlist for "low" or higher grade ciphers. This defines
18645the meaning of the "low" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
18646<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
18647<a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly
18648encouraged to not change this setting.  </p>
18649
18650<p> This feature is available in Postfix 2.3 and later. </p>
18651
18652
18653</DD>
18654
18655<DT><b><a name="tls_medium_cipherlist">tls_medium_cipherlist</a>
18656(default: see "postconf -d" output)</b></DT><DD>
18657
18658<p> The OpenSSL cipherlist for "medium" or higher grade ciphers. This
18659defines the meaning of the "medium" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
18660<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
18661<a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>.  This is the
18662default cipherlist for mandatory TLS encryption in the TLS client
18663(with anonymous ciphers disabled when verifying server certificates).
18664This is the default cipherlist for opportunistic TLS with Postfix
18665releases after the middle of 2015.  You are strongly encouraged to
18666not change this setting.  </p>
18667
18668<p> This feature is available in Postfix 2.3 and later. </p>
18669
18670
18671</DD>
18672
18673<DT><b><a name="tls_null_cipherlist">tls_null_cipherlist</a>
18674(default: eNULL:!aNULL)</b></DT><DD>
18675
18676<p> The OpenSSL cipherlist for "NULL" grade ciphers that provide
18677authentication without encryption. This defines the meaning of the "null"
18678setting in smtpd_mandatory_tls_ciphers, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
18679<a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>.  You are strongly encouraged to not
18680change this setting. </p>
18681
18682<p> This feature is available in Postfix 2.3 and later. </p>
18683
18684
18685</DD>
18686
18687<DT><b><a name="tls_preempt_cipherlist">tls_preempt_cipherlist</a>
18688(default: no)</b></DT><DD>
18689
18690<p> With SSLv3 and later, use the Postfix SMTP server's cipher
18691preference order instead of the remote client's cipher preference
18692order. </p>
18693
18694<p> By default, the OpenSSL server selects the client's most preferred
18695cipher that the server supports. With SSLv3 and later, the server may
18696choose its own most preferred cipher that is supported (offered) by
18697the client. Setting "<a href="postconf.5.html#tls_preempt_cipherlist">tls_preempt_cipherlist</a> = yes" enables server cipher
18698preferences. </p>
18699
18700<p> While server cipher selection may in some cases lead to a more secure
18701or performant cipher choice, there is some risk of interoperability
18702issues. In the past, some SSL clients have listed lower priority ciphers
18703that they did not implement correctly. If the server chooses a cipher
18704that the client prefers less, it may select a cipher whose client
18705implementation is flawed. Most notably Windows 2003 Microsoft
18706Exchange servers have flawed implementations of DES-CBC3-SHA, which
18707OpenSSL considers stronger than RC4-SHA.  Enabling server cipher-suite
18708selection may create interoperability issues with Windows 2003
18709Microsoft Exchange clients.  </p>
18710
18711<p> This feature is available in Postfix 2.8 and later, in combination
18712with OpenSSL 0.9.7 and later. </p>
18713
18714
18715</DD>
18716
18717<DT><b><a name="tls_random_bytes">tls_random_bytes</a>
18718(default: 32)</b></DT><DD>
18719
18720<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>
18721when (re)seeding the in-memory pseudo random number generator (PRNG)
18722pool. The default of 32 bytes (256 bits) is good enough for 128bit
18723symmetric keys.  If using EGD or a device file, a maximum of 255
18724bytes is read. </p>
18725
18726<p> This feature is available in Postfix 2.2 and later.  </p>
18727
18728
18729</DD>
18730
18731<DT><b><a name="tls_random_exchange_name">tls_random_exchange_name</a>
18732(default: see "postconf -d" output)</b></DT><DD>
18733
18734<p> Name of the pseudo random number generator (PRNG) state file
18735that is maintained by <a href="tlsmgr.8.html">tlsmgr(8)</a>. The file is created when it does
18736not exist, and its length is fixed at 1024 bytes.  </p>
18737
18738<p> As of version 2.5, Postfix no longer uses root privileges when
18739opening this file, and the default file location was changed from
18740${<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
18741a migration aid, an attempt to open the file under a non-Postfix
18742directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
18743warning is logged. </p>
18744
18745<p> This feature is available in Postfix 2.2 and later.  </p>
18746
18747
18748</DD>
18749
18750<DT><b><a name="tls_random_prng_update_period">tls_random_prng_update_period</a>
18751(default: 3600s)</b></DT><DD>
18752
18753<p> The time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to save the state of
18754the pseudo random number generator (PRNG) to the file specified
18755with $<a href="postconf.5.html#tls_random_exchange_name">tls_random_exchange_name</a>.  </p>
18756
18757<p> This feature is available in Postfix 2.2 and later.  </p>
18758
18759
18760</DD>
18761
18762<DT><b><a name="tls_random_reseed_period">tls_random_reseed_period</a>
18763(default: 3600s)</b></DT><DD>
18764
18765<p> The maximal time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to re-seed the
18766in-memory pseudo random number generator (PRNG) pool from external
18767sources.  The actual time between re-seeding attempts is calculated
18768using the PRNG, and is between 0 and the time specified.  </p>
18769
18770<p> This feature is available in Postfix 2.2 and later.  </p>
18771
18772
18773</DD>
18774
18775<DT><b><a name="tls_random_source">tls_random_source</a>
18776(default: see "postconf -d" output)</b></DT><DD>
18777
18778<p> The external entropy source for the in-memory <a href="tlsmgr.8.html">tlsmgr(8)</a> pseudo
18779random number generator (PRNG) pool. Be sure to specify a non-blocking
18780source.  If this source is not a regular file, the entropy source
18781type must be prepended:  egd:/path/to/egd_socket for a source with
18782EGD compatible socket interface, or dev:/path/to/device for a
18783device file.  </p>
18784
18785<p> Note: on OpenBSD systems specify /dev/arandom when /dev/urandom
18786gives timeout errors.  </p>
18787
18788<p> This feature is available in Postfix 2.2 and later.  </p>
18789
18790
18791</DD>
18792
18793<DT><b><a name="tls_server_sni_maps">tls_server_sni_maps</a>
18794(default: empty)</b></DT><DD>
18795
18796<p> Optional lookup tables that map names received from remote SMTP
18797clients via the TLS Server Name Indication (SNI) extension to the
18798appropriate keys and certificate chains.  This parameter is implemented
18799in the Postfix TLS library, and applies to both <a href="smtpd.8.html">smtpd(8)</a> and the SMTP
18800server mode of <a href="tlsproxy.8.html">tlsproxy(8)</a>. </p>
18801
18802<p> When this parameter is non-empty, the Postfix SMTP server enables
18803SNI extension processing, and logs SNI values that are invalid or
18804don't match an entry in the the specified tables.  When an entry
18805does match, the SNI name is logged as part of the connection summary
18806at log levels 1 and higher.  </p>
18807
18808<p> The lookup key is either the verbatim SNI domain name or an
18809ancestor domain prefixed with a leading dot.  For internationalized
18810domains, the lookup key must be in IDNA 2008 A-label form (as
18811required in the TLS SNI extension). </p>
18812
18813<p> The syntax of the lookup value is the same as with the
18814<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> parameter (see there for additional details),
18815but here scoped to just TLS connections in which the client sends
18816a matching SNI domain name. </p>
18817
18818<p> Example: </p>
18819<blockquote>
18820<pre>
18821/etc/postfix/<a href="postconf.5.html">main.cf</a>:
18822    #
18823    # The indexed SNI table must be created with "postmap -F"
18824    #
18825    indexed = ${<a href="postconf.5.html#default_database_type">default_database_type</a>}:${<a href="postconf.5.html#config_directory">config_directory</a>}/
18826    <a href="postconf.5.html#tls_server_sni_maps">tls_server_sni_maps</a> = ${indexed}sni
18827</pre>
18828</blockquote>
18829
18830<blockquote>
18831<pre>
18832/etc/postfix/sni:
18833    #
18834    # The example.com domain has both an RSA and ECDSA certificate
18835    # chain.  The chain files MUST start with the private key,
18836    # with the certificate chain next, starting with the leaf
18837    # (server) certificate, and then the issuer certificates.
18838    #
18839    example.com /etc/postfix/sni-chains/rsa2048.example.com.pem,
18840                /etc/postfix/sni-chains/ecdsa-p256.example.com.pem
18841    #
18842    # The example.net domain has a wildcard certificate, and two
18843    # additional DNS names.  So its certificate chain is also used
18844    # with any subdomain, plus the additional names.
18845    #
18846    example.net /etc/postfix/sni-chains/example.net.pem
18847    .example.net /etc/postfix/sni-chains/example.net.pem
18848    example.info /etc/postfix/sni-chains/example.net.pem
18849    example.org /etc/postfix/sni-chains/example.net.pem
18850</pre>
18851</blockquote>
18852
18853<p> Note that the SNI lookup tables should also have entries for
18854the domains that correspond to the Postfix SMTP server's default
18855certificate(s). This ensures that the remote SMTP client's TLS SNI
18856extension gets a positive response when it specifies one of the
18857Postfix SMTP server's <a href="ADDRESS_CLASS_README.html#default_domain_class">default domains</a>, and ensures that the Postfix
18858SMTP server will not log an SNI name mismatch for such a domain.
18859The Postfix SMTP server's default certificates are then only used
18860when the client sends no SNI or when it sends SNI with a domain
18861that the server knows no certificate(s) for. </p>
18862
18863<p> The mapping from an SNI domain name to a certificate chain is indirect.  In
18864the input source files for "cdb", "hash", "btree" or other tables that are
18865converted to on-disk indexed files via <a href="postmap.1.html">postmap(1)</a>, the value specified for each
18866key is a list of filenames.  When <a href="postmap.1.html">postmap(1)</a> is used with the <b>-F</b> option,
18867the generated table stores for each lookup key the base64-encoded contents of
18868the associated files.  When querying tables via <b>postmap -Fq</b>, the table
18869value is decoded from base64, yielding the original file content, plus a new
18870line. </p>
18871
18872<p> With "regexp", "pcre", "inline", "texthash", "static" and similar
18873tables that are interpreted at run-time, and don't have a separate
18874source format, the table value is again a list files, that are loaded
18875into memory when the table is opened.  </p>
18876
18877<p> With tables whose content is managed outside of Postfix, such
18878as LDAP, MySQL, PostgreSQL, socketmap and tcp, the value must be a
18879concatenation of the desired PEM keys and certificate chains, that
18880is then further encoded to yield a single-line base64 string.
18881Creation of such tables and secure storage (the value includes
18882private key material) are outside the responsibility of Postfix.  </p>
18883
18884<p> With "socketmap" and "tcp" the data will be transmitted in the clear, and
18885there is no query access control, so these are generally unsuitable for storing
18886SNI chains.  With LDAP and SQL, you should restrict read access and use TLS to
18887protect the sensitive data in transit.  </p>
18888
18889<p> Typically there is only one private key and its chain of certificates
18890starting with the "leaf" certificate corresponding to that key, and
18891continuing with the appropriate intermediate issuer CA certificates,
18892with each certificate ideally followed by its issuer.  Servers
18893that have keys and certificates for more than one algorithm (e.g.
18894both an RSA key and an ECDSA key, or even RSA, ECDSA and Ed25519)
18895can use multiple chains concatenated together, with the key always
18896listed before the corresponding certificates. </p>
18897
18898<p> This feature is available in Postfix 3.4 and later.  </p>
18899
18900
18901</DD>
18902
18903<DT><b><a name="tls_session_ticket_cipher">tls_session_ticket_cipher</a>
18904(default: Postfix &ge; 3.0: aes-256-cbc, Postfix &lt; 3.0: aes-128-cbc)</b></DT><DD>
18905
18906<p> Algorithm used to encrypt <a href="http://tools.ietf.org/html/rfc5077">RFC5077</a> TLS session tickets.  This
18907algorithm must use CBC mode, have a 128-bit block size, and must
18908have a key length between 128 and 256 bits.  The default is
18909aes-256-cbc.  Overriding the default to choose a different algorithm
18910is discouraged.  </p>
18911
18912<p> Setting this parameter empty disables session ticket support
18913in the Postfix SMTP server.  Another way to disable session ticket
18914support is via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter.  </p>
18915
18916<p> This feature is available in Postfix 3.0 and later. </p>
18917
18918
18919</DD>
18920
18921<DT><b><a name="tls_ssl_options">tls_ssl_options</a>
18922(default: empty)</b></DT><DD>
18923
18924<p> List or bit-mask of OpenSSL options to enable. </p>
18925
18926<p> The OpenSSL toolkit provides a set of options that applications
18927can enable to tune the OpenSSL behavior.  Some of these work around
18928bugs in other implementations and are on by default.  You can use
18929the <a href="postconf.5.html#tls_disable_workarounds">tls_disable_workarounds</a> parameter to selectively disable some
18930or all of the bug work-arounds, making OpenSSL more strict at the
18931cost of non-interoperability with SSL clients or servers that exhibit
18932the bugs.  </p>
18933
18934<p> Other options are off by default, and typically enable or disable
18935features rather than bug work-arounds.  These may be turned on (with
18936care) via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter.  The value is a white-space
18937or comma separated list of named options chosen from the list below.
18938The names are not case-sensitive, you can use lower-case if you
18939prefer.  The upper case values below match the corresponding macro
18940name in the ssl.h header file with the SSL_OP_ prefix removed.  It
18941is possible that your OpenSSL version includes new options added
18942after your Postfix source code was last updated, in that case you
18943can only enable one of these via the hexadecimal syntax below.  </p>
18944
18945<p> You should only enable features via the hexadecimal mask when
18946the need to control the feature is critical (to deal with a new
18947vulnerability or a serious interoperability problem).  Postfix DOES
18948NOT promise backwards compatible behavior with respect to the mask
18949bits.  A feature enabled via the mask in one release may be enabled
18950by other means in a later release, and the mask bit will then be
18951ignored.  Therefore, use of the hexadecimal mask is only a temporary
18952measure until a new Postfix or OpenSSL release provides a better
18953solution.  </p>
18954
18955<p> If the value of the parameter is a hexadecimal long integer
18956starting with "0x", the options corresponding to the bits specified
18957in its value are enabled (see openssl/ssl.h and SSL_CTX_set_options(3)).
18958You can only enable options not already controlled by other Postfix
18959settings.  For example, you cannot disable protocols or enable
18960server cipher preference.  Do not attempt to turn all features by
18961specifying 0xFFFFFFFF, this is unlikely to be a good idea.  Some
18962bug work-arounds are also valid here, allowing them to be re-enabled
18963if/when they're no longer enabled by default.  The supported values
18964include: </p>
18965
18966<dl>
18967
18968<dt><b>ENABLE_MIDDLEBOX_COMPAT</b></dt> <dd>Postfix &ge; 3.4. See
18969SSL_CTX_set_options(3).</dd>
18970
18971<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3).</dd>
18972
18973<dt><b>NO_TICKET</b></dt> <dd>Enabled by default when needed in
18974fully-patched Postfix &ge; 2.7.  Not needed at all for Postfix &ge;
189752.11, unless for some reason you do not want to support TLS session
18976resumption.  Best not set explicitly.  See SSL_CTX_set_options(3).</dd>
18977
18978<dt><b>NO_COMPRESSION</b></dt> <dd>Disable SSL compression even if
18979supported by the OpenSSL library.  Compression is CPU-intensive,
18980and compression before encryption does not always improve security.  </dd>
18981
18982<dt><b>NO_RENEGOTIATION</b></dt> <dd>Postfix &ge; 3.4.  This can
18983reduce opportunities for a potential CPU exhaustion attack.  See
18984SSL_CTX_set_options(3).</dd>
18985
18986<dt><b>NO_SESSION_RESUMPTION_ON_RENEGOTIATION</b></dt> <dd>Postfix
18987&ge; 3.4. See SSL_CTX_set_options(3).</dd>
18988
18989<dt><b>PRIORITIZE_CHACHA</b></dt> <dd>Postfix &ge; 3.4. See SSL_CTX_set_options(3).</dd>
18990
18991</dl>
18992
18993<p> This feature is available in Postfix 2.11 and later.  </p>
18994
18995
18996</DD>
18997
18998<DT><b><a name="tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a>
18999(default: yes)</b></DT><DD>
19000
19001<p> Match multiple DNS labels with "*" in wildcard certificates.
19002</p>
19003
19004<p> Some mail service providers prepend the customer domain name
19005to a base domain for which they have a wildcard TLS certificate.
19006For example, the MX records for example.com hosted by example.net
19007may be: </p>
19008
19009<blockquote>
19010<pre>
19011example.com. IN MX 0 example.com.mx1.example.net.
19012example.com. IN MX 0 example.com.mx2.example.net.
19013</pre>
19014</blockquote>
19015
19016<p> and the TLS certificate may be for "*.example.net". The "*"
19017then corresponds with multiple labels in the mail server domain
19018name.  While multi-label wildcards are not widely supported, and
19019are not blessed by any standard, there is little to be gained by
19020disallowing their use in this context.  </p>
19021
19022<p> Notes: <p>
19023
19024<ul>
19025
19026<li> <p> In a certificate name, the "*" is special only when it is
19027used as the first label. </p>
19028
19029<li> <p> While Postfix (2.11 or later) can match "*" with multiple
19030domain name labels, other implementations likely will not.  </p>
19031
19032<li> <p> Earlier Postfix implementations behave as if
19033"<a href="postconf.5.html#tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a> = no". </p>
19034
19035</ul>
19036
19037<p> This feature is available in Postfix 2.11 and later.  </p>
19038
19039
19040</DD>
19041
19042<DT><b><a name="tlsmgr_service_name">tlsmgr_service_name</a>
19043(default: tlsmgr)</b></DT><DD>
19044
19045<p> The name of the <a href="tlsmgr.8.html">tlsmgr(8)</a> service entry in <a href="master.5.html">master.cf</a>. This
19046service maintains TLS session caches and other information in support
19047of TLS. </p>
19048
19049<p> This feature is available in Postfix 2.11 and later. </p>
19050
19051
19052</DD>
19053
19054<DT><b><a name="tlsproxy_client_CAfile">tlsproxy_client_CAfile</a>
19055(default: $<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>)</b></DT><DD>
19056
19057<p> A file containing CA certificates of root CAs trusted to sign
19058either remote TLS server certificates or intermediate CA certificates.
19059See <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> for further details. </p>
19060
19061<p> This feature is available in Postfix 3.4 and later. </p>
19062
19063
19064</DD>
19065
19066<DT><b><a name="tlsproxy_client_CApath">tlsproxy_client_CApath</a>
19067(default: $<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a>)</b></DT><DD>
19068
19069<p> Directory with PEM format Certification Authority certificates
19070that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client uses to verify a remote TLS
19071server certificate. See <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> for further details. </p>
19072
19073<p> This feature is available in Postfix 3.4 and later. </p>
19074
19075
19076</DD>
19077
19078<DT><b><a name="tlsproxy_client_cert_file">tlsproxy_client_cert_file</a>
19079(default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD>
19080
19081<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client RSA certificate in PEM
19082format. See <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for further details.  The preferred way
19083to configure tlsproxy client keys and certificates is via the
19084"<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p>
19085
19086<p> This feature is available in Postfix 3.4 and later. </p>
19087
19088
19089</DD>
19090
19091<DT><b><a name="tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>
19092(default: $<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>)</b></DT><DD>
19093
19094<p> Files with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client keys and certificate
19095chains in PEM format. See <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> for further details. </p>
19096
19097<p> This feature is available in Postfix 3.4 and later. </p>
19098
19099
19100</DD>
19101
19102<DT><b><a name="tlsproxy_client_dcert_file">tlsproxy_client_dcert_file</a>
19103(default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD>
19104
19105<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client DSA certificate in PEM
19106format. See <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> for further details. DSA is obsolete and
19107should not be used. </p>
19108
19109<p> This feature is available in Postfix 3.4 and later. </p>
19110
19111
19112</DD>
19113
19114<DT><b><a name="tlsproxy_client_dkey_file">tlsproxy_client_dkey_file</a>
19115(default: $<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a>)</b></DT><DD>
19116
19117<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client DSA private key in PEM
19118format. See <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> for further details. DSA is obsolete and
19119should not be used. </p>
19120
19121<p> This feature is available in Postfix 3.4 and later. </p>
19122
19123
19124</DD>
19125
19126<DT><b><a name="tlsproxy_client_eccert_file">tlsproxy_client_eccert_file</a>
19127(default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD>
19128
19129<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client ECDSA certificate in PEM
19130format. See <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> for further details. The preferred way
19131to configure tlsproxy client keys and certificates is via the
19132"<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p>
19133
19134<p> This feature is available in Postfix 3.4 and later. </p>
19135
19136
19137</DD>
19138
19139<DT><b><a name="tlsproxy_client_eckey_file">tlsproxy_client_eckey_file</a>
19140(default: $<a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a>)</b></DT><DD>
19141
19142<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client ECDSA private key in PEM
19143format. See <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> for further details.  The preferred way
19144to configure tlsproxy client keys and certificates is via the
19145"<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p>
19146
19147<p> This feature is available in Postfix 3.4 and later. </p>
19148
19149
19150</DD>
19151
19152<DT><b><a name="tlsproxy_client_enforce_tls">tlsproxy_client_enforce_tls</a>
19153(default: $<a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>)</b></DT><DD>
19154
19155<p> Enforcement mode: require that SMTP servers use TLS encryption.
19156See <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> for further details. </p>
19157
19158<p> This feature is available in Postfix 3.4 and later. </p>
19159
19160
19161</DD>
19162
19163<DT><b><a name="tlsproxy_client_fingerprint_digest">tlsproxy_client_fingerprint_digest</a>
19164(default: $<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>)</b></DT><DD>
19165
19166<p> The message digest algorithm used to construct remote TLS server
19167certificate fingerprints. See <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> for
19168further details. </p>
19169
19170<p> This feature is available in Postfix 3.4 and later. </p>
19171
19172
19173</DD>
19174
19175<DT><b><a name="tlsproxy_client_key_file">tlsproxy_client_key_file</a>
19176(default: $<a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a>)</b></DT><DD>
19177
19178<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client RSA private key in PEM
19179format. See <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> for further details. The preferred way to
19180configure tlsproxy client keys and certificates is via the
19181"<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p>
19182
19183<p> This feature is available in Postfix 3.4 and later. </p>
19184
19185
19186</DD>
19187
19188<DT><b><a name="tlsproxy_client_loglevel">tlsproxy_client_loglevel</a>
19189(default: $<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>)</b></DT><DD>
19190
19191<p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client logging of TLS
19192activity. See <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> for further details. </p>
19193
19194<p> This feature is available in Postfix 3.4 and later. </p>
19195
19196
19197</DD>
19198
19199<DT><b><a name="tlsproxy_client_loglevel_parameter">tlsproxy_client_loglevel_parameter</a>
19200(default: <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>)</b></DT><DD>
19201
19202<p> The name of the parameter that provides the <a href="postconf.5.html#tlsproxy_client_loglevel">tlsproxy_client_loglevel</a>
19203value. </p>
19204
19205<p> This feature is available in Postfix 3.4 and later. </p>
19206
19207
19208</DD>
19209
19210<DT><b><a name="tlsproxy_client_per_site">tlsproxy_client_per_site</a>
19211(default: $<a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a>)</b></DT><DD>
19212
19213<p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS
19214usage policy by next-hop destination and by remote TLS server
19215hostname.  See <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> for further details. </p>
19216
19217<p> This feature is available in Postfix 3.4 and later. </p>
19218
19219
19220</DD>
19221
19222<DT><b><a name="tlsproxy_client_policy_maps">tlsproxy_client_policy_maps</a>
19223(default: $<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>)</b></DT><DD>
19224
19225<p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS
19226security policy by next-hop destination. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>
19227for further details. </p>
19228
19229<p> This feature is available in Postfix 3.4 and later. </p>
19230
19231
19232</DD>
19233
19234<DT><b><a name="tlsproxy_client_scert_verifydepth">tlsproxy_client_scert_verifydepth</a>
19235(default: $<a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>)</b></DT><DD>
19236
19237<p> The verification depth for remote TLS server certificates.
19238See <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a> for further details. </p>
19239
19240<p> This feature is available in Postfix 3.4 and later. </p>
19241
19242
19243</DD>
19244
19245<DT><b><a name="tlsproxy_client_security_level">tlsproxy_client_security_level</a>
19246(default: $<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a>)</b></DT><DD>
19247
19248<p> The default TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
19249client. See <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> for further details. </p>
19250
19251<p> This feature is available in Postfix 3.4 and later. </p>
19252
19253
19254</DD>
19255
19256<DT><b><a name="tlsproxy_client_use_tls">tlsproxy_client_use_tls</a>
19257(default: $<a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>)</b></DT><DD>
19258
19259<p> Opportunistic mode: use TLS when a remote server announces TLS
19260support. See <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> for further details. </p>
19261
19262<p> This feature is available in Postfix 3.4 and later. </p>
19263
19264
19265</DD>
19266
19267<DT><b><a name="tlsproxy_enforce_tls">tlsproxy_enforce_tls</a>
19268(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
19269
19270<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
19271require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> for
19272further details. </p>
19273
19274<p> This feature is available in Postfix 2.8 and later. </p>
19275
19276
19277</DD>
19278
19279<DT><b><a name="tlsproxy_service_name">tlsproxy_service_name</a>
19280(default: tlsproxy)</b></DT><DD>
19281
19282<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
19283service performs plaintext &lt;=&gt; TLS ciphertext conversion. <p>
19284
19285<p> This feature is available in Postfix 2.8 and later. </p>
19286
19287
19288</DD>
19289
19290<DT><b><a name="tlsproxy_tls_CAfile">tlsproxy_tls_CAfile</a>
19291(default: $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)</b></DT><DD>
19292
19293<p> A file containing (PEM format) CA certificates of root CAs
19294trusted to sign either remote SMTP client certificates or intermediate
19295CA certificates.  See <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> for further details. </p>
19296
19297<p> This feature is available in Postfix 2.8 and later. </p>
19298
19299
19300</DD>
19301
19302<DT><b><a name="tlsproxy_tls_CApath">tlsproxy_tls_CApath</a>
19303(default: $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>)</b></DT><DD>
19304
19305<p> A directory containing (PEM format) CA certificates of root CAs
19306trusted to sign either remote SMTP client certificates or intermediate
19307CA certificates. See <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> for further details. </p>
19308
19309<p> This feature is available in Postfix 2.8 and later. </p>
19310
19311
19312</DD>
19313
19314<DT><b><a name="tlsproxy_tls_always_issue_session_ids">tlsproxy_tls_always_issue_session_ids</a>
19315(default: $<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>)</b></DT><DD>
19316
19317<p> Force the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server to issue a TLS session id,
19318even when TLS session caching is turned off. See
19319<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> for further details. </p>
19320
19321<p> This feature is available in Postfix 2.8 and later. </p>
19322
19323
19324</DD>
19325
19326<DT><b><a name="tlsproxy_tls_ask_ccert">tlsproxy_tls_ask_ccert</a>
19327(default: $<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>)</b></DT><DD>
19328
19329<p> Ask a remote SMTP client for a client certificate. See
19330<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> for further details. </p>
19331
19332<p> This feature is available in Postfix 2.8 and later. </p>
19333
19334
19335</DD>
19336
19337<DT><b><a name="tlsproxy_tls_ccert_verifydepth">tlsproxy_tls_ccert_verifydepth</a>
19338(default: $<a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>)</b></DT><DD>
19339
19340<p> The verification depth for remote SMTP client certificates. A
19341depth of 1 is sufficient if the issuing CA is listed in a local CA
19342file. See <a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> for further details. </p>
19343
19344<p> This feature is available in Postfix 2.8 and later. </p>
19345
19346
19347</DD>
19348
19349<DT><b><a name="tlsproxy_tls_cert_file">tlsproxy_tls_cert_file</a>
19350(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
19351
19352<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA certificate in PEM
19353format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
19354private RSA key.  See <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for further details.  With
19355Postfix &ge; 3.4 the preferred way to configure tlsproxy server keys and
19356certificates is via the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p>
19357
19358<p> This feature is available in Postfix 2.8 and later. </p>
19359
19360
19361</DD>
19362
19363<DT><b><a name="tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>
19364(default: $<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>)</b></DT><DD>
19365
19366<p> Files with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server keys and certificate
19367chains in PEM format. See <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> for further details. </p>
19368
19369<p> This feature is available in Postfix 3.4 and later. </p>
19370
19371
19372</DD>
19373
19374<DT><b><a name="tlsproxy_tls_ciphers">tlsproxy_tls_ciphers</a>
19375(default: $<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>)</b></DT><DD>
19376
19377<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
19378will use with opportunistic TLS encryption. See <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>
19379for further details. </p>
19380
19381<p> This feature is available in Postfix 2.8 and later. </p>
19382
19383
19384</DD>
19385
19386<DT><b><a name="tlsproxy_tls_dcert_file">tlsproxy_tls_dcert_file</a>
19387(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
19388
19389<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA certificate in PEM
19390format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
19391private DSA key.  DSA is obsolete and should not be used.  See
19392<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> for further details.  </p>
19393
19394<p> This feature is available in Postfix 2.8 and later. </p>
19395
19396
19397</DD>
19398
19399<DT><b><a name="tlsproxy_tls_dh1024_param_file">tlsproxy_tls_dh1024_param_file</a>
19400(default: $<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>)</b></DT><DD>
19401
19402<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
19403should use with non-export EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
19404for further details. </p>
19405
19406<p> This feature is available in Postfix 2.8 and later. </p>
19407
19408
19409</DD>
19410
19411<DT><b><a name="tlsproxy_tls_dh512_param_file">tlsproxy_tls_dh512_param_file</a>
19412(default: $<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>)</b></DT><DD>
19413
19414<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
19415should use with export-grade EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
19416for further details.  The default SMTP server cipher grade is
19417"medium" with Postfix releases after the middle of 2015, and as a
19418result export-grade cipher suites are by default not used.  </p>
19419
19420<p> This feature is available in Postfix 2.8 and later. </p>
19421
19422
19423</DD>
19424
19425<DT><b><a name="tlsproxy_tls_dkey_file">tlsproxy_tls_dkey_file</a>
19426(default: $<a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>)</b></DT><DD>
19427
19428<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA private key in PEM
19429format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
19430DSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>.  DSA is
19431obsolete and should not be used.  See <a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> for further
19432details. </p>
19433
19434<p> This feature is available in Postfix 2.8 and later. </p>
19435
19436
19437</DD>
19438
19439<DT><b><a name="tlsproxy_tls_eccert_file">tlsproxy_tls_eccert_file</a>
19440(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
19441
19442<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA certificate in PEM
19443format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
19444private ECDSA key.  See <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> for further details.  With
19445Postfix &ge; 3.4 the preferred way to configure tlsproxy server keys and
19446certificates is via the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p>
19447
19448<p> This feature is available in Postfix 2.8 and later. </p>
19449
19450
19451</DD>
19452
19453<DT><b><a name="tlsproxy_tls_eckey_file">tlsproxy_tls_eckey_file</a>
19454(default: $<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>)</b></DT><DD>
19455
19456<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA private key in PEM
19457format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
19458ECDSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>.  See
19459<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> for further details.  With Postfix &ge; 3.4 the
19460preferred way to configure tlsproxy server keys and certificates is via
19461the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p>
19462
19463<p> This feature is available in Postfix 2.8 and later. </p>
19464
19465
19466</DD>
19467
19468<DT><b><a name="tlsproxy_tls_eecdh_grade">tlsproxy_tls_eecdh_grade</a>
19469(default: $<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>)</b></DT><DD>
19470
19471<p> The Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server security grade for ephemeral
19472elliptic-curve Diffie-Hellman (EECDH) key exchange. See
19473<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> for further details. </p>
19474
19475<p> This feature is available in Postfix 2.8 and later. </p>
19476
19477
19478</DD>
19479
19480<DT><b><a name="tlsproxy_tls_exclude_ciphers">tlsproxy_tls_exclude_ciphers</a>
19481(default: $<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>)</b></DT><DD>
19482
19483<p> List of ciphers or cipher types to exclude from the <a href="tlsproxy.8.html">tlsproxy(8)</a>
19484server cipher list at all TLS security levels. See
19485<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> for further details. </p>
19486
19487<p> This feature is available in Postfix 2.8 and later. </p>
19488
19489
19490</DD>
19491
19492<DT><b><a name="tlsproxy_tls_fingerprint_digest">tlsproxy_tls_fingerprint_digest</a>
19493(default: $<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>)</b></DT><DD>
19494
19495<p> The message digest algorithm to construct remote SMTP
19496client-certificate
19497fingerprints. See <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> for further details.
19498</p>
19499
19500<p> This feature is available in Postfix 2.8 and later. </p>
19501
19502
19503</DD>
19504
19505<DT><b><a name="tlsproxy_tls_key_file">tlsproxy_tls_key_file</a>
19506(default: $<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a>)</b></DT><DD>
19507
19508<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA private key in PEM
19509format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
19510RSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>.  See
19511<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a> for further details.  With Postfix &ge; 3.4 the
19512preferred way to configure tlsproxy server keys and certificates is via
19513the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p>
19514
19515<p> This feature is available in Postfix 2.8 and later. </p>
19516
19517
19518</DD>
19519
19520<DT><b><a name="tlsproxy_tls_loglevel">tlsproxy_tls_loglevel</a>
19521(default: $<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a>)</b></DT><DD>
19522
19523<p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server logging of TLS
19524activity.  Each logging level also includes the information that
19525is logged at a lower logging level. See <a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> for
19526further details.  </p>
19527
19528<p> This feature is available in Postfix 2.8 and later. </p>
19529
19530
19531</DD>
19532
19533<DT><b><a name="tlsproxy_tls_mandatory_ciphers">tlsproxy_tls_mandatory_ciphers</a>
19534(default: $<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>)</b></DT><DD>
19535
19536<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
19537will use with mandatory TLS encryption. See <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
19538for further details. </p>
19539
19540<p> This feature is available in Postfix 2.8 and later. </p>
19541
19542
19543</DD>
19544
19545<DT><b><a name="tlsproxy_tls_mandatory_exclude_ciphers">tlsproxy_tls_mandatory_exclude_ciphers</a>
19546(default: $<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>)</b></DT><DD>
19547
19548<p> Additional list of ciphers or cipher types to exclude from the
19549<a href="tlsproxy.8.html">tlsproxy(8)</a> server cipher list at mandatory TLS security levels.
19550See <a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> for further details. </p>
19551
19552<p> This feature is available in Postfix 2.8 and later. </p>
19553
19554
19555</DD>
19556
19557<DT><b><a name="tlsproxy_tls_mandatory_protocols">tlsproxy_tls_mandatory_protocols</a>
19558(default: $<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>)</b></DT><DD>
19559
19560<p> The SSL/TLS protocols accepted by the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
19561with mandatory TLS encryption. If the list is empty, the server
19562supports all available SSL/TLS protocol versions.  See
19563<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> for further details. </p>
19564
19565<p> This feature is available in Postfix 2.8 and later. </p>
19566
19567
19568</DD>
19569
19570<DT><b><a name="tlsproxy_tls_protocols">tlsproxy_tls_protocols</a>
19571(default: $<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>)</b></DT><DD>
19572
19573<p> List of TLS protocols that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server will
19574exclude or include with opportunistic TLS encryption. See
19575<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> for further details. </p>
19576
19577<p> This feature is available in Postfix 2.8 and later. </p>
19578
19579
19580</DD>
19581
19582<DT><b><a name="tlsproxy_tls_req_ccert">tlsproxy_tls_req_ccert</a>
19583(default: $<a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>)</b></DT><DD>
19584
19585<p> With mandatory TLS encryption, require a trusted remote SMTP
19586client certificate in order to allow TLS connections to proceed.
19587See <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> for further details. </p>
19588
19589<p> This feature is available in Postfix 2.8 and later. </p>
19590
19591
19592</DD>
19593
19594<DT><b><a name="tlsproxy_tls_security_level">tlsproxy_tls_security_level</a>
19595(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
19596
19597<p> The SMTP TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server;
19598when a non-empty value is specified, this overrides the obsolete
19599parameters <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
19600<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> for further details. </p>
19601
19602<p> This feature is available in Postfix 2.8 and later. </p>
19603
19604
19605</DD>
19606
19607<DT><b><a name="tlsproxy_tls_session_cache_timeout">tlsproxy_tls_session_cache_timeout</a>
19608(default: $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>)</b></DT><DD>
19609
19610<p> Obsolete expiration time of Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server TLS session
19611cache information. Since the cache is shared with <a href="smtpd.8.html">smtpd(8)</a> and managed
19612by <a href="tlsmgr.8.html">tlsmgr(8)</a>, there is only one expiration time for the SMTP server cache
19613shared by all three services, namely <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p>
19614
19615<p> This feature is available in Postfix 2.8 and later. </p>
19616
19617
19618</DD>
19619
19620<DT><b><a name="tlsproxy_use_tls">tlsproxy_use_tls</a>
19621(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
19622
19623<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
19624but do not require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>
19625for further details. </p>
19626
19627<p> This feature is available in Postfix 2.8 and later. </p>
19628
19629
19630</DD>
19631
19632<DT><b><a name="tlsproxy_watchdog_timeout">tlsproxy_watchdog_timeout</a>
19633(default: 10s)</b></DT><DD>
19634
19635<p> How much time a <a href="tlsproxy.8.html">tlsproxy(8)</a> process may take to process local
19636or remote I/O before it is terminated by a built-in watchdog timer.
19637This is a safety mechanism that prevents <a href="tlsproxy.8.html">tlsproxy(8)</a> from becoming
19638non-responsive due to a bug in Postfix itself or in system software.
19639To avoid false alarms and unnecessary cache corruption this limit
19640cannot be set under 10s.  </p>
19641
19642<p> Specify a non-zero time value (an integral value plus an optional
19643one-letter suffix that specifies the time unit).  Time units: s
19644(seconds), m (minutes), h (hours), d (days), w (weeks).  </p>
19645
19646<p> This feature is available in Postfix 2.8 and later  </p>
19647
19648
19649</DD>
19650
19651<DT><b><a name="trace_service_name">trace_service_name</a>
19652(default: trace)</b></DT><DD>
19653
19654<p>
19655The name of the trace service. This service is implemented by the
19656<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
19657of mail deliveries and produces a mail delivery report when verbose
19658delivery is requested with "<b>sendmail -v</b>".
19659</p>
19660
19661<p>
19662This feature is available in Postfix 2.1 and later.
19663</p>
19664
19665
19666</DD>
19667
19668<DT><b><a name="transport_delivery_slot_cost">transport_delivery_slot_cost</a>
19669(default: $<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b></DT><DD>
19670
19671<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
19672parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
19673the message delivery transport. </p>
19674
19675<p> Note: <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> parameters will not
19676show up in "postconf" command output before Postfix version 2.9.
19677This limitation applies to many parameters whose name is a combination
19678of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
19679"_delivery_slot_cost"). </p>
19680
19681
19682</DD>
19683
19684<DT><b><a name="transport_delivery_slot_discount">transport_delivery_slot_discount</a>
19685(default: $<a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>)</b></DT><DD>
19686
19687<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>
19688parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
19689the message delivery transport. </p>
19690
19691<p> Note: <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> parameters will
19692not show up in "postconf" command output before Postfix version
196932.9.  This limitation applies to many parameters whose name is a
19694combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
19695this case: "_delivery_slot_discount"). </p>
19696
19697
19698</DD>
19699
19700<DT><b><a name="transport_delivery_slot_loan">transport_delivery_slot_loan</a>
19701(default: $<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b></DT><DD>
19702
19703<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>
19704parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
19705the message delivery transport. </p>
19706
19707<p> Note: <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> parameters will not
19708show up in "postconf" command output before Postfix version 2.9.
19709This limitation applies to many parameters whose name is a combination
19710of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
19711"_delivery_slot_loan"). </p>
19712
19713
19714</DD>
19715
19716<DT><b><a name="transport_destination_concurrency_failed_cohort_limit">transport_destination_concurrency_failed_cohort_limit</a>
19717(default: $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>)</b></DT><DD>
19718
19719<p> A transport-specific override for the
19720<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> parameter value,
19721where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
19722transport. </p>
19723
19724<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>
19725parameters will not show up in "postconf" command output before
19726Postfix version 2.9.  This limitation applies to many parameters
19727whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
19728built-in suffix (in this case:
19729"_destination_concurrency_failed_cohort_limit"). </p>
19730
19731<p> This feature is available in Postfix 2.5 and later. </p>
19732
19733
19734</DD>
19735
19736<DT><b><a name="transport_destination_concurrency_limit">transport_destination_concurrency_limit</a>
19737(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
19738
19739<p> A transport-specific override for the
19740<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> parameter value, where
19741<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
19742transport. </p>
19743
19744<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a>
19745parameters will not show up in "postconf" command output before
19746Postfix version 2.9.  This limitation applies to many parameters
19747whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
19748built-in suffix (in this case: "_destination_concurrency_limit").
19749</p>
19750
19751
19752</DD>
19753
19754<DT><b><a name="transport_destination_concurrency_negative_feedback">transport_destination_concurrency_negative_feedback</a>
19755(default: $<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>)</b></DT><DD>
19756
19757<p> A transport-specific override for the
19758<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> parameter value,
19759where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
19760transport. </p>
19761
19762<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
19763parameters will not show up in "postconf" command output before
19764Postfix version 2.9.  This limitation applies to many parameters
19765whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
19766built-in suffix (in this case:
19767"_destination_concurrency_negative_feedback"). </p>
19768
19769<p> This feature is available in Postfix 2.5 and later. </p>
19770
19771
19772</DD>
19773
19774<DT><b><a name="transport_destination_concurrency_positive_feedback">transport_destination_concurrency_positive_feedback</a>
19775(default: $<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>)</b></DT><DD>
19776
19777<p> A transport-specific override for the
19778<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> parameter value,
19779where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
19780transport. </p>
19781
19782<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
19783parameters will not show up in "postconf" command output before
19784Postfix version 2.9.  This limitation applies to many parameters
19785whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
19786built-in suffix (in this case:
19787"_destination_concurrency_positive_feedback"). </p>
19788
19789<p> This feature is available in Postfix 2.5 and later. </p>
19790
19791
19792</DD>
19793
19794<DT><b><a name="transport_destination_rate_delay">transport_destination_rate_delay</a>
19795(default: $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>)</b></DT><DD>
19796
19797<p> A transport-specific override for the <a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>
19798parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
19799the message delivery transport. </p>
19800
19801<p> Note: some <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> parameters
19802will not show up in "postconf" command output before Postfix version
198032.9.  This limitation applies to many parameters whose name is a
19804combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
19805this case: "_destination_rate_delay"). </p>
19806
19807<p> This feature is available in Postfix 2.5 and later. </p>
19808
19809
19810</DD>
19811
19812<DT><b><a name="transport_destination_recipient_limit">transport_destination_recipient_limit</a>
19813(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
19814
19815<p> A transport-specific override for the
19816<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> parameter value, where
19817<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
19818transport. </p>
19819
19820<p> Note: some <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> parameters
19821will not show up in "postconf" command output before Postfix version
198222.9.  This limitation applies to many parameters whose name is a
19823combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
19824this case: "_destination_recipient_limit"). </p>
19825
19826
19827</DD>
19828
19829<DT><b><a name="transport_extra_recipient_limit">transport_extra_recipient_limit</a>
19830(default: $<a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>)</b></DT><DD>
19831
19832<p> A transport-specific override for the <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
19833parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
19834the message delivery transport. </p>
19835
19836<p> Note: <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> parameters will
19837not show up in "postconf" command output before Postfix version
198382.9.  This limitation applies to many parameters whose name is a
19839combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
19840this case: "_extra_recipient_limit").  </p>
19841
19842
19843</DD>
19844
19845<DT><b><a name="transport_initial_destination_concurrency">transport_initial_destination_concurrency</a>
19846(default: $<a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>)</b></DT><DD>
19847
19848<p> A transport-specific override for the <a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>
19849parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
19850the message delivery transport. </p>
19851
19852<p> Note: some <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a>
19853parameters will not show up in "postconf" command output before
19854Postfix version 2.9.  This limitation applies to many parameters
19855whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
19856built-in suffix (in this case: "_initial_destination_concurrency").
19857</p>
19858
19859<p> This feature is available in Postfix 2.5 and later. </p>
19860
19861
19862</DD>
19863
19864<DT><b><a name="transport_maps">transport_maps</a>
19865(default: empty)</b></DT><DD>
19866
19867<p>
19868Optional lookup tables with mappings from recipient address to
19869(message delivery transport, next-hop destination).  See <a href="transport.5.html">transport(5)</a>
19870for details.
19871</p>
19872
19873<p>
19874Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by
19875whitespace or comma. Tables will be searched in the specified order
19876until a match is found.  If you use this
19877feature with local files, run "<b>postmap /etc/postfix/transport</b>"
19878after making a change.  </p>
19879
19880<p> Pattern matching of domain names is controlled by the presence
19881or absence of "<a href="postconf.5.html#transport_maps">transport_maps</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
19882parameter value.  </p>
19883
19884<p> For safety reasons, as of Postfix 2.3 this feature does not
19885allow $number substitutions in regular expression maps. </p>
19886
19887<p>
19888Examples:
19889</p>
19890
19891<pre>
19892<a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/transport
19893<a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport
19894</pre>
19895
19896
19897</DD>
19898
19899<DT><b><a name="transport_minimum_delivery_slots">transport_minimum_delivery_slots</a>
19900(default: $<a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>)</b></DT><DD>
19901
19902<p> A transport-specific override for the <a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>
19903parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
19904the message delivery transport. </p>
19905
19906<p> Note: <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> parameters will
19907not show up in "postconf" command output before Postfix version
199082.9.  This limitation applies to many parameters whose name is a
19909combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
19910this case: "_minimum_delivery_slots"). </p>
19911
19912
19913</DD>
19914
19915<DT><b><a name="transport_recipient_limit">transport_recipient_limit</a>
19916(default: $<a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>)</b></DT><DD>
19917
19918<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>
19919parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
19920the message delivery transport. </p>
19921
19922<p> Note: some <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> parameters will not
19923show up in "postconf" command output before Postfix version 2.9.
19924This limitation applies to many parameters whose name is a combination
19925of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
19926"_recipient_limit"). </p>
19927
19928
19929</DD>
19930
19931<DT><b><a name="transport_recipient_refill_delay">transport_recipient_refill_delay</a>
19932(default: $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>)</b></DT><DD>
19933
19934<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>
19935parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
19936the message delivery transport. </p>
19937
19938<p> Note: <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> parameters will
19939not show up in "postconf" command output before Postfix version
199402.9.  This limitation applies to many parameters whose name is a
19941combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
19942this case: "_recipient_refill_delay").  </p>
19943
19944<p> This feature is available in Postfix 2.4 and later. </p>
19945
19946
19947</DD>
19948
19949<DT><b><a name="transport_recipient_refill_limit">transport_recipient_refill_limit</a>
19950(default: $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>)</b></DT><DD>
19951
19952<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>
19953parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
19954the message delivery transport. </p>
19955
19956<p> Note: <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> parameters will
19957not show up in "postconf" command output before Postfix version
199582.9.  This limitation applies to many parameters whose name is a
19959combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
19960this case: "_recipient_refill_limit").  </p>
19961
19962<p> This feature is available in Postfix 2.4 and later. </p>
19963
19964
19965</DD>
19966
19967<DT><b><a name="transport_retry_time">transport_retry_time</a>
19968(default: 60s)</b></DT><DD>
19969
19970<p>
19971The time between attempts by the Postfix queue manager to contact
19972a malfunctioning message delivery transport.
19973</p>
19974
19975<p>
19976Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
19977The default time unit is s (seconds).
19978</p>
19979
19980
19981</DD>
19982
19983<DT><b><a name="transport_time_limit">transport_time_limit</a>
19984(default: $<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b></DT><DD>
19985
19986<p> A transport-specific override for the <a href="postconf.5.html#command_time_limit">command_time_limit</a> parameter
19987value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message
19988delivery transport. </p>
19989
19990<p> Note: <a href="postconf.5.html#transport_time_limit"><i>transport</i>_time_limit</a> parameters will not show up
19991in "postconf" command output before Postfix version 2.9.  This
19992limitation applies to many parameters whose name is a combination
19993of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
19994"_time_limit"). </p>
19995
19996
19997</DD>
19998
19999<DT><b><a name="transport_transport_rate_delay">transport_transport_rate_delay</a>
20000(default: $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>)</b></DT><DD>
20001
20002<p> A transport-specific override for the <a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>
20003parameter value, where the initial <i>transport</i> in the parameter
20004name is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
20005
20006
20007</DD>
20008
20009<DT><b><a name="trigger_timeout">trigger_timeout</a>
20010(default: 10s)</b></DT><DD>
20011
20012<p>
20013The time limit for sending a trigger to a Postfix daemon (for
20014example, the <a href="pickup.8.html">pickup(8)</a> or <a href="qmgr.8.html">qmgr(8)</a> daemon). This time limit prevents
20015programs from getting stuck when the mail system is under heavy
20016load.
20017</p>
20018
20019<p>
20020Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
20021The default time unit is s (seconds).
20022</p>
20023
20024
20025</DD>
20026
20027<DT><b><a name="undisclosed_recipients_header">undisclosed_recipients_header</a>
20028(default: see "postconf -d" output)</b></DT><DD>
20029
20030<p>
20031Message header that the Postfix <a href="cleanup.8.html">cleanup(8)</a> server inserts when a
20032message contains no To: or Cc: message header. With Postfix 2.8
20033and later, the default value is empty. With Postfix 2.4-2.7,
20034specify an empty value to disable this feature.  </p>
20035
20036<p> Example: </p>
20037
20038<pre>
20039# Default value before Postfix 2.8.
20040# Note: the ":" and ";" are both required.
20041<a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> = To: undisclosed-recipients:;
20042</pre>
20043
20044
20045</DD>
20046
20047<DT><b><a name="unknown_address_reject_code">unknown_address_reject_code</a>
20048(default: 450)</b></DT><DD>
20049
20050<p>
20051The numerical response code when the Postfix SMTP server rejects a
20052sender or recipient address because its domain is unknown.  This
20053is one of the possible replies from the restrictions
20054<a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a> and <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>.
20055</p>
20056
20057<p>
20058Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
20059</p>
20060
20061
20062</DD>
20063
20064<DT><b><a name="unknown_address_tempfail_action">unknown_address_tempfail_action</a>
20065(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
20066
20067<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
20068or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> fail due to a temporary error
20069condition. Specify "defer" to defer the remote SMTP client request
20070immediately. With the default "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix
20071SMTP server continues to look for opportunities to reject mail, and
20072defers the client request only if it would otherwise be accepted.
20073</p>
20074
20075<p> This feature is available in Postfix 2.6 and later. </p>
20076
20077
20078</DD>
20079
20080<DT><b><a name="unknown_client_reject_code">unknown_client_reject_code</a>
20081(default: 450)</b></DT><DD>
20082
20083<p>
20084The numerical Postfix SMTP server response code when a client
20085without valid address &lt;=&gt; name mapping is rejected by the
20086<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> restriction. The SMTP server always replies
20087with 450 when the mapping failed due to a temporary error condition.
20088</p>
20089
20090<p>
20091Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
20092</p>
20093
20094
20095</DD>
20096
20097<DT><b><a name="unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>
20098(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
20099
20100<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>
20101fails due to a temporary error condition. Specify "defer" to defer
20102the remote SMTP client request immediately. With the default
20103"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
20104for opportunities to reject mail, and defers the client request
20105only if it would otherwise be accepted. </p>
20106
20107<p> This feature is available in Postfix 2.6 and later. </p>
20108
20109
20110</DD>
20111
20112<DT><b><a name="unknown_hostname_reject_code">unknown_hostname_reject_code</a>
20113(default: 450)</b></DT><DD>
20114
20115<p>
20116The numerical Postfix SMTP server response code when the hostname
20117specified with the HELO or EHLO command is rejected by the
20118<a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> restriction.
20119</p>
20120
20121<p>
20122Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
20123</p>
20124
20125
20126</DD>
20127
20128<DT><b><a name="unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a>
20129(default: 550)</b></DT><DD>
20130
20131<p>
20132The numerical Postfix SMTP server response code when a recipient
20133address is local, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> specifies a list of
20134lookup tables that does not match the recipient.  A recipient
20135address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
20136$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> or $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>.
20137</p>
20138
20139<p>
20140The default setting is 550 (reject mail) but it is safer to initially
20141use 450 (try again later) so you have time to find out if your
20142<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> settings are OK.
20143</p>
20144
20145<p>
20146Example:
20147</p>
20148
20149<pre>
20150<a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 450
20151</pre>
20152
20153<p>
20154This feature is available in Postfix 2.0 and later.
20155</p>
20156
20157
20158</DD>
20159
20160<DT><b><a name="unknown_relay_recipient_reject_code">unknown_relay_recipient_reject_code</a>
20161(default: 550)</b></DT><DD>
20162
20163<p>
20164The numerical Postfix SMTP server reply code when a recipient
20165address 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
20166a list of lookup tables that does not match the recipient address.
20167</p>
20168
20169<p>
20170This feature is available in Postfix 2.0 and later.
20171</p>
20172
20173
20174</DD>
20175
20176<DT><b><a name="unknown_virtual_alias_reject_code">unknown_virtual_alias_reject_code</a>
20177(default: 550)</b></DT><DD>
20178
20179<p>
20180The Postfix SMTP server reply code when a recipient address matches
20181$<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
20182of lookup tables that does not match the recipient address.
20183</p>
20184
20185<p>
20186This feature is available in Postfix 2.0 and later.
20187</p>
20188
20189
20190</DD>
20191
20192<DT><b><a name="unknown_virtual_mailbox_reject_code">unknown_virtual_mailbox_reject_code</a>
20193(default: 550)</b></DT><DD>
20194
20195<p>
20196The Postfix SMTP server reply code when a recipient address matches
20197$<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
20198of lookup tables that does not match the recipient address.
20199</p>
20200
20201<p>
20202This feature is available in Postfix 2.0 and later.
20203</p>
20204
20205
20206</DD>
20207
20208<DT><b><a name="unverified_recipient_defer_code">unverified_recipient_defer_code</a>
20209(default: 450)</b></DT><DD>
20210
20211<p>
20212The numerical Postfix SMTP server response when a recipient address
20213probe fails due to a temporary error condition.
20214</p>
20215
20216<p>
20217Unlike elsewhere in Postfix, you can specify 250 in order to
20218accept the address anyway.
20219</p>
20220
20221<p>
20222Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
20223</p>
20224
20225<p>
20226This feature is available in Postfix 2.6 and later.
20227</p>
20228
20229
20230</DD>
20231
20232<DT><b><a name="unverified_recipient_reject_code">unverified_recipient_reject_code</a>
20233(default: 450)</b></DT><DD>
20234
20235<p>
20236The numerical Postfix SMTP server response when a recipient address
20237is rejected by the <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> restriction.
20238</p>
20239
20240<p>
20241Unlike elsewhere in Postfix, you can specify 250 in order to
20242accept the address anyway.
20243</p>
20244
20245<p>
20246Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
20247</p>
20248
20249<p>
20250This feature is available in Postfix 2.1 and later.
20251</p>
20252
20253
20254</DD>
20255
20256<DT><b><a name="unverified_recipient_reject_reason">unverified_recipient_reject_reason</a>
20257(default: empty)</b></DT><DD>
20258
20259<p> The Postfix SMTP server's reply when rejecting mail with
20260<a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. Do not include the numeric SMTP reply
20261code or the enhanced status code. By default, the response includes
20262actual address verification details.
20263
20264<p> Example: </p>
20265
20266<pre>
20267<a href="postconf.5.html#unverified_recipient_reject_reason">unverified_recipient_reject_reason</a> = Recipient address lookup failed
20268</pre>
20269
20270<p> This feature is available in Postfix 2.6 and later. </p>
20271
20272
20273</DD>
20274
20275<DT><b><a name="unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>
20276(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
20277
20278<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>
20279fails due to a temporary error condition. Specify "defer" to defer
20280the remote SMTP client request immediately. With the default
20281"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
20282for opportunities to reject mail, and defers the client request
20283only if it would otherwise be accepted. </p>
20284
20285<p> This feature is available in Postfix 2.6 and later. </p>
20286
20287
20288</DD>
20289
20290<DT><b><a name="unverified_sender_defer_code">unverified_sender_defer_code</a>
20291(default: 450)</b></DT><DD>
20292
20293<p>
20294The numerical Postfix SMTP server response code when a sender address
20295probe fails due to a temporary error condition.
20296</p>
20297
20298<p>
20299Unlike elsewhere in Postfix, you can specify 250 in order to
20300accept the address anyway.
20301</p>
20302
20303<p>
20304Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
20305</p>
20306
20307<p>
20308This feature is available in Postfix 2.6 and later.
20309</p>
20310
20311
20312</DD>
20313
20314<DT><b><a name="unverified_sender_reject_code">unverified_sender_reject_code</a>
20315(default: 450)</b></DT><DD>
20316
20317<p>
20318The numerical Postfix SMTP server response code when a recipient
20319address is rejected by the <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> restriction.
20320</p>
20321
20322<p>
20323Unlike elsewhere in Postfix, you can specify 250 in order to
20324accept the address anyway.
20325</p>
20326
20327<p>
20328Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
20329</p>
20330
20331<p>
20332This feature is available in Postfix 2.1 and later.
20333</p>
20334
20335
20336</DD>
20337
20338<DT><b><a name="unverified_sender_reject_reason">unverified_sender_reject_reason</a>
20339(default: empty)</b></DT><DD>
20340
20341<p> The Postfix SMTP server's reply when rejecting mail with
20342<a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>. Do not include the numeric SMTP reply
20343code or the enhanced status code. By default, the response includes
20344actual address verification details.
20345
20346<p> Example: </p>
20347
20348<pre>
20349<a href="postconf.5.html#unverified_sender_reject_reason">unverified_sender_reject_reason</a> = Sender address lookup failed
20350</pre>
20351
20352<p> This feature is available in Postfix 2.6 and later. </p>
20353
20354
20355</DD>
20356
20357<DT><b><a name="unverified_sender_tempfail_action">unverified_sender_tempfail_action</a>
20358(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
20359
20360<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>
20361fails due to a temporary error condition. Specify "defer" to defer
20362the remote SMTP client request immediately. With the default
20363"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
20364for opportunities to reject mail, and defers the client request
20365only if it would otherwise be accepted. </p>
20366
20367<p> This feature is available in Postfix 2.6 and later. </p>
20368
20369
20370</DD>
20371
20372<DT><b><a name="verp_delimiter_filter">verp_delimiter_filter</a>
20373(default: -=+)</b></DT><DD>
20374
20375<p>
20376The characters Postfix accepts as VERP delimiter characters on the
20377Postfix <a href="sendmail.1.html">sendmail(1)</a> command line and in SMTP commands.
20378</p>
20379
20380<p>
20381This feature is available in Postfix 1.1 and later.
20382</p>
20383
20384
20385</DD>
20386
20387<DT><b><a name="virtual_alias_address_length_limit">virtual_alias_address_length_limit</a>
20388(default: 1000)</b></DT><DD>
20389
20390<p>
20391The maximal length of an email address after virtual alias expansion.
20392This stops virtual aliasing loops that increase the address length
20393exponentially.
20394</p>
20395
20396<p>
20397This feature is available in Postfix 3.0 and later.
20398</p>
20399
20400
20401</DD>
20402
20403<DT><b><a name="virtual_alias_domains">virtual_alias_domains</a>
20404(default: $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>)</b></DT><DD>
20405
20406<p> Postfix is final destination for the specified list of virtual
20407alias domains, that is, domains for which all addresses are aliased
20408to addresses in other local or remote domains. The SMTP server
20409validates recipient addresses with $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> and rejects
20410non-existent recipients. See also the <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> class
20411in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file </p>
20412
20413<p>
20414This feature is available in Postfix 2.0 and later. The default
20415value is backwards compatible with Postfix version 1.1.
20416</p>
20417
20418<p>
20419The default value is $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> so that you can keep all
20420information about <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a> in one place.  If you have
20421many users, it is better to separate information that changes more
20422frequently (virtual address -&gt; local or remote address mapping)
20423from information that changes less frequently (the list of virtual
20424domain names).
20425</p>
20426
20427<p> Specify a list of host or domain names, "/file/name" or
20428"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. A
20429"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
20430lookup table is matched when a table entry matches a lookup string
20431(the lookup result is ignored).  Continue long lines by starting
20432the next line with whitespace. Specify "!pattern" to exclude a host
20433or domain name from the list. The form "!/file/name" is supported
20434only in Postfix version 2.4 and later.  </p>
20435
20436<p>
20437See also the <a href="VIRTUAL_README.html">VIRTUAL_README</a> and <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> documents
20438for further information.
20439</p>
20440
20441<p>
20442Example:
20443</p>
20444
20445<pre>
20446<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = virtual1.tld virtual2.tld
20447</pre>
20448
20449
20450</DD>
20451
20452<DT><b><a name="virtual_alias_expansion_limit">virtual_alias_expansion_limit</a>
20453(default: 1000)</b></DT><DD>
20454
20455<p>
20456The maximal number of addresses that virtual alias expansion produces
20457from each original recipient.
20458</p>
20459
20460<p>
20461This feature is available in Postfix 2.1 and later.
20462</p>
20463
20464
20465</DD>
20466
20467<DT><b><a name="virtual_alias_maps">virtual_alias_maps</a>
20468(default: $<a href="postconf.5.html#virtual_maps">virtual_maps</a>)</b></DT><DD>
20469
20470<p>
20471Optional lookup tables that alias specific mail addresses or domains
20472to other local or remote address.  The table format and lookups
20473are documented in <a href="virtual.5.html">virtual(5)</a>. For an overview of Postfix address
20474manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
20475</p>
20476
20477<p>
20478This feature is available in Postfix 2.0 and later. The default
20479value is backwards compatible with Postfix version 1.1.
20480</p>
20481
20482<p>
20483Specify zero or more "type:name" lookup tables, separated by
20484whitespace or comma. Tables will be searched in the specified order
20485until a match is found.
20486Note: these lookups are recursive.
20487</p>
20488
20489<p>
20490If you use this feature with indexed files, run "<b>postmap
20491/etc/postfix/virtual</b>" after changing the file.
20492</p>
20493
20494<p>
20495Examples:
20496</p>
20497
20498<pre>
20499<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/virtual
20500<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/virtual
20501</pre>
20502
20503
20504</DD>
20505
20506<DT><b><a name="virtual_alias_recursion_limit">virtual_alias_recursion_limit</a>
20507(default: 1000)</b></DT><DD>
20508
20509<p>
20510The maximal nesting depth of virtual alias expansion.  Currently
20511the recursion limit is applied only to the left branch of the
20512expansion graph, so the depth of the tree can in the worst case
20513reach the sum of the expansion and recursion limits.  This may
20514change in the future.
20515</p>
20516
20517<p>
20518This feature is available in Postfix 2.1 and later.
20519</p>
20520
20521
20522</DD>
20523
20524<DT><b><a name="virtual_delivery_status_filter">virtual_delivery_status_filter</a>
20525(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
20526
20527<p> Optional filter for the <a href="virtual.8.html">virtual(8)</a> delivery agent to change the
20528delivery status code or explanatory text of successful or unsuccessful
20529deliveries.  See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details.  </p>
20530
20531<p> This feature is available in Postfix 3.0 and later. </p>
20532
20533
20534</DD>
20535
20536<DT><b><a name="virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a>
20537(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
20538
20539<p> The maximal number of parallel deliveries to the same destination
20540via the virtual message delivery transport. This limit is enforced
20541by the queue manager. The message delivery transport name is the
20542first field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
20543
20544
20545</DD>
20546
20547<DT><b><a name="virtual_destination_recipient_limit">virtual_destination_recipient_limit</a>
20548(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
20549
20550<p> The maximal number of recipients per message for the virtual
20551message delivery transport. This limit is enforced by the queue
20552manager. The message delivery transport name is the first field in
20553the entry in the <a href="master.5.html">master.cf</a> file.  </p>
20554
20555<p> Setting this parameter to a value of 1 changes the meaning of
20556<a href="postconf.5.html#virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> from concurrency per domain
20557into concurrency per recipient.  </p>
20558
20559
20560</DD>
20561
20562<DT><b><a name="virtual_gid_maps">virtual_gid_maps</a>
20563(default: empty)</b></DT><DD>
20564
20565<p>
20566Lookup tables with the per-recipient group ID for <a href="virtual.8.html">virtual(8)</a> mailbox
20567delivery.
20568</p>
20569
20570<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
20571It does not apply when mail is delivered with a different mail
20572delivery program.  </p>
20573
20574<p>
20575Specify zero or more "type:name" lookup tables, separated by
20576whitespace or comma. Tables will be searched in the specified order
20577until a match is found.
20578</p>
20579
20580<p>
20581In a lookup table, specify a left-hand side of "@domain.tld" to
20582match any user in the specified domain that does not have a specific
20583"user@domain.tld" entry.
20584</p>
20585
20586<p>
20587When a recipient address has an optional address extension
20588(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
20589the full address first, and when the lookup fails, it looks up the
20590unextended address (user@domain.tld).
20591</p>
20592
20593<p>
20594Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
20595regular expression substitution of $1 etc. in regular expression
20596lookup tables, because that would open a security hole.
20597</p>
20598
20599<p>
20600Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
20601silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
20602it will open the table directly. Before Postfix version 2.2, the
20603<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
20604</p>
20605
20606
20607</DD>
20608
20609<DT><b><a name="virtual_mailbox_base">virtual_mailbox_base</a>
20610(default: empty)</b></DT><DD>
20611
20612<p>
20613A prefix that the <a href="virtual.8.html">virtual(8)</a> delivery agent prepends to all pathname
20614results from $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> table lookups.  This is a safety
20615measure to ensure that an out of control map doesn't litter the
20616file system with mailboxes.  While <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> could be
20617set to "/", this setting isn't recommended.
20618</p>
20619
20620<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
20621It does not apply when mail is delivered with a different mail
20622delivery program.  </p>
20623
20624<p>
20625Example:
20626</p>
20627
20628<pre>
20629<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /var/mail
20630</pre>
20631
20632
20633</DD>
20634
20635<DT><b><a name="virtual_mailbox_domains">virtual_mailbox_domains</a>
20636(default: $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>)</b></DT><DD>
20637
20638<p> Postfix is final destination for the specified list of domains;
20639mail is delivered via the $<a href="postconf.5.html#virtual_transport">virtual_transport</a> mail delivery transport.
20640By default this is the Postfix <a href="virtual.8.html">virtual(8)</a> delivery agent.  The SMTP
20641server validates recipient addresses with $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
20642and rejects mail for non-existent recipients.  See also the virtual
20643mailbox domain class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.  </p>
20644
20645<p> This parameter expects the same syntax as the <a href="postconf.5.html#mydestination">mydestination</a>
20646configuration parameter.  </p>
20647
20648<p>
20649This feature is available in Postfix 2.0 and later. The default
20650value is backwards compatible with Postfix version 1.1.
20651</p>
20652
20653
20654</DD>
20655
20656<DT><b><a name="virtual_mailbox_limit">virtual_mailbox_limit</a>
20657(default: 51200000)</b></DT><DD>
20658
20659<p>
20660The maximal size in bytes of an individual <a href="virtual.8.html">virtual(8)</a> mailbox or
20661maildir file, or zero (no limit).  </p>
20662
20663<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
20664It does not apply when mail is delivered with a different mail
20665delivery program.  </p>
20666
20667
20668</DD>
20669
20670<DT><b><a name="virtual_mailbox_lock">virtual_mailbox_lock</a>
20671(default: see "postconf -d" output)</b></DT><DD>
20672
20673<p>
20674How to lock a UNIX-style <a href="virtual.8.html">virtual(8)</a> mailbox before attempting
20675delivery.  For a list of available file locking methods, use the
20676"<b>postconf -l</b>" command.
20677</p>
20678
20679<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
20680It does not apply when mail is delivered with a different mail
20681delivery program.  </p>
20682
20683<p>
20684This setting is ignored with <b>maildir</b> style delivery, because
20685such deliveries are safe without application-level locks.
20686</p>
20687
20688<p>
20689Note 1: the <b>dotlock</b> method requires that the recipient UID
20690or GID has write access to the parent directory of the recipient's
20691mailbox file.
20692</p>
20693
20694<p>
20695Note 2: the default setting of this parameter is system dependent.
20696</p>
20697
20698
20699</DD>
20700
20701<DT><b><a name="virtual_mailbox_maps">virtual_mailbox_maps</a>
20702(default: empty)</b></DT><DD>
20703
20704<p>
20705Optional lookup tables with all valid addresses in the domains that
20706match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
20707</p>
20708
20709<p>
20710Specify zero or more "type:name" lookup tables, separated by
20711whitespace or comma. Tables will be searched in the specified order
20712until a match is found.
20713</p>
20714
20715<p>
20716In a lookup table, specify a left-hand side of "@domain.tld" to
20717match any user in the specified domain that does not have a specific
20718"user@domain.tld" entry.
20719</p>
20720
20721<p> The remainder of this text is specific to the <a href="virtual.8.html">virtual(8)</a> delivery
20722agent.  It does not apply when mail is delivered with a different
20723mail delivery program.  </p>
20724
20725<p>
20726The <a href="virtual.8.html">virtual(8)</a> delivery agent uses this table to look up the
20727per-recipient mailbox or maildir pathname.  If the lookup result
20728ends in a slash ("/"), maildir-style delivery is carried out,
20729otherwise the path is assumed to specify a UNIX-style mailbox file.
20730Note that $<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> is unconditionally prepended to
20731this path.
20732</p>
20733
20734<p>
20735When a recipient address has an optional address extension
20736(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
20737the full address first, and when the lookup fails, it looks up the
20738unextended address (user@domain.tld).
20739</p>
20740
20741<p>
20742Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
20743regular expression substitution of $1 etc. in regular expression
20744lookup tables, because that would open a security hole.
20745</p>
20746
20747<p>
20748Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
20749silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
20750it will open the table directly. Before Postfix version 2.2, the
20751<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
20752</p>
20753
20754
20755</DD>
20756
20757<DT><b><a name="virtual_maps">virtual_maps</a>
20758(default: empty)</b></DT><DD>
20759
20760<p> Optional lookup tables with a) names of domains for which all
20761addresses are aliased to addresses in other local or remote domains,
20762and b) addresses that are aliased to addresses in other local or
20763remote domains.  Available before Postfix version 2.0. With Postfix
20764version 2.0 and later, this is replaced by separate controls: <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>
20765and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
20766
20767
20768</DD>
20769
20770<DT><b><a name="virtual_minimum_uid">virtual_minimum_uid</a>
20771(default: 100)</b></DT><DD>
20772
20773<p>
20774The minimum user ID value that the <a href="virtual.8.html">virtual(8)</a> delivery agent accepts
20775as a result from $<a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> table lookup.  Returned
20776values less than this will be rejected, and the message will be
20777deferred.
20778</p>
20779
20780<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
20781It does not apply when mail is delivered with a different mail
20782delivery program.  </p>
20783
20784
20785</DD>
20786
20787<DT><b><a name="virtual_transport">virtual_transport</a>
20788(default: virtual)</b></DT><DD>
20789
20790<p>
20791The default mail delivery transport and next-hop destination for
20792final delivery to domains listed with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
20793This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
20794</p>
20795
20796<p>
20797Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
20798is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
20799The <i>:nexthop</i> destination is optional; its syntax is documented
20800in the manual page of the corresponding delivery agent.
20801</p>
20802
20803<p>
20804This feature is available in Postfix 2.0 and later.
20805</p>
20806
20807
20808</DD>
20809
20810<DT><b><a name="virtual_uid_maps">virtual_uid_maps</a>
20811(default: empty)</b></DT><DD>
20812
20813<p>
20814Lookup tables with the per-recipient user ID that the <a href="virtual.8.html">virtual(8)</a>
20815delivery agent uses while writing to the recipient's mailbox.
20816</p>
20817
20818<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
20819It does not apply when mail is delivered with a different mail
20820delivery program.  </p>
20821
20822<p>
20823Specify zero or more "type:name" lookup tables, separated by
20824whitespace or comma. Tables will be searched in the specified order
20825until a match is found.
20826</p>
20827
20828<p>
20829In a lookup table, specify a left-hand side of "@domain.tld"
20830to match any user in the specified domain that does not have a
20831specific "user@domain.tld" entry.
20832</p>
20833
20834<p>
20835When a recipient address has an optional address extension
20836(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
20837the full address first, and when the lookup fails, it looks up the
20838unextended address (user@domain.tld).
20839</p>
20840
20841<p>
20842Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
20843regular expression substitution of $1 etc. in regular expression
20844lookup tables, because that would open a security hole.
20845</p>
20846
20847<p>
20848Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
20849silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
20850it will open the table directly. Before Postfix version 2.2, the
20851<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
20852</p>
20853
20854
20855</DD>
20856
20857</dl>
20858
20859</body>
20860
20861</html>
20862