Home | History | Annotate | Line # | Download | only in html
      1 <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
      2         "https://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=utf-8">
     11 <link rel='stylesheet' type='text/css' href='postfix-doc.css'>
     12 
     13 <script type="text/javascript">
     14 
     15 // See support.google.com/chrome/thread/11993079
     16 const isChrome = /Chrome/.test(navigator.userAgent)
     17     && /Google Inc/.test(navigator.vendor);
     18 const hash = window.location.hash;
     19 if (hash && isChrome) {
     20     setTimeout(function() {
     21         window.location.hash = "";
     22         window.location.hash = hash;
     23     }, 1500);
     24 }
     25 
     26 </script>
     27 
     28 </head>
     29 
     30 <body>
     31 
     32 <h1><img src="postfix-logo.jpg" width="203" height="98" alt="">Postfix Configuration Parameters </h1>
     33 
     34 <hr>
     35 
     36 <h2> Postfix main.cf file format </h2>
     37 
     38 <p> The Postfix <a href="postconf.5.html">main.cf</a> configuration file specifies a very small
     39 subset of all the parameters that control the operation of the
     40 Postfix mail system. Parameters not explicitly specified are left
     41 at their default values. </p>
     42 
     43 <p> The general format of the <a href="postconf.5.html">main.cf</a> file is as follows: </p>
     44 
     45 <ul>
     46 
     47 <li> <p> Each logical line is in the form "parameter = value".
     48 Whitespace around the "=" is ignored, as is whitespace at the end
     49 of a logical line. </p>
     50 
     51 <li> <p> Empty lines and whitespace-only lines are ignored, as are
     52 lines whose first non-whitespace character is a `#'. </p>
     53 
     54 <li> <p> A logical line starts with non-whitespace text. A line
     55 that starts with whitespace continues a logical line. </p>
     56 
     57 <li> <p> A parameter value may refer to functions or other parameters. </p>
     58 
     59 <ul>
     60 
     61 <li> <p> The expressions "$name" and "${name}" are recursively
     62 replaced with the value of the named parameter. The parameter name
     63 must contain only characters from the set [a-zA-Z0-9_].
     64 An undefined parameter value is replaced with the empty value.  </p>
     65 
     66 <li> <p> The expressions "${name?value}" and "${name?{value}}" are
     67 replaced with "value" when "$name" is non-empty. The parameter name
     68 must contain only characters from the set [a-zA-Z0-9_]. These forms are
     69 supported with Postfix versions &ge; 2.2 and &ge; 3.0, respectively.
     70 </p>
     71 
     72 <li> <p> The expressions "${name:value}" and "${name:{value}}" are
     73 replaced with "value" when "$name" is empty. The parameter name must
     74 contain only characters from the set [a-zA-Z0-9_]. These forms are
     75 supported with Postfix versions &ge; 2.2 and &ge; 3.0, respectively.
     76 </p>
     77 
     78 <li> <p> The expression "${name?{value1}:{value2}}" is replaced
     79 with "value1" when "$name" is non-empty, and with "value2" when
     80 "$name" is empty.  The "{}" is required for "value1", optional for
     81 "value2".  The parameter name must contain only characters from the
     82 set [a-zA-Z0-9_].  This form is supported with Postfix versions
     83 &ge; 3.0.  </p>
     84 
     85 <li> <p> The first item inside "${...}" may be a relational expression
     86 of the form: "{value3} == {value4}". Besides the "==" (equality)
     87 operator Postfix supports "!=" (inequality), "&lt;", "&le;", "&ge;",
     88 and "&gt;". The comparison is numerical when both operands are all
     89 digits, otherwise the comparison is lexicographical. These forms
     90 are supported with Postfix versions &ge; 3.0. </p>
     91 
     92 <li> <p> The expression "${name{value}}" is replaced with the result
     93 from calling the function <i>name</i> with the argument <i>value</i>
     94 after stripping whitespace between the "{", the value, and the "}".
     95 An example is the <a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{} function. </p>
     96 
     97 <li> <p> Each "value" is subject to recursive named parameter and
     98 relational expression evaluation, except where noted.  </p>
     99 
    100 <li> <p> Whitespace before or after each "{value}" is ignored. </p>
    101 
    102 <li> <p> Specify "$$" to produce a single "$" character. </p>
    103 
    104 <li> <p> The legacy form "$(...)" is equivalent to the preferred
    105 form "${...}". </p>
    106 
    107 </ul>
    108 
    109 <li> <p> When the same parameter is defined multiple times, only
    110 the last instance is remembered. </p>
    111 
    112 <li> <p> Otherwise, the order of <a href="postconf.5.html">main.cf</a> parameter definitions does
    113 not matter. </p>
    114 
    115 </ul>
    116 
    117 <p> The remainder of this document is a description of all Postfix
    118 configuration parameters. Default values are shown after the
    119 parameter name in parentheses, and can be looked up with the
    120 "<b>postconf -d</b>" command. </p>
    121 
    122 <p> Note: this is not an invitation to make changes to Postfix
    123 configuration parameters. Unnecessary changes are likely to impair
    124 the operation of the mail system.  </p>
    125 
    126 <dl>
    127 <DT><b><a name="2bounce_notice_recipient">2bounce_notice_recipient</a>
    128 (default: postmaster)</b></DT><DD>
    129 
    130 <p> The recipient of undeliverable mail that cannot be returned to
    131 the sender.  This feature is enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
    132 parameter.  </p>
    133 
    134 
    135 </DD>
    136 
    137 <DT><b><a name="access_map_defer_code">access_map_defer_code</a>
    138 (default: 450)</b></DT><DD>
    139 
    140 <p>
    141 The numerical Postfix SMTP server response code for
    142 an <a href="access.5.html">access(5)</a> map "defer" action, including "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>"
    143 or "<a href="postconf.5.html#defer_if_reject">defer_if_reject</a>". Prior to Postfix 2.6, the response
    144 is hard-coded as "450".
    145 </p>
    146 
    147 <p>
    148 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
    149 </p>
    150 
    151 <p>
    152 This feature is available in Postfix 2.6 and later.
    153 </p>
    154 
    155 
    156 </DD>
    157 
    158 <DT><b><a name="access_map_reject_code">access_map_reject_code</a>
    159 (default: 554)</b></DT><DD>
    160 
    161 <p>
    162 The numerical Postfix SMTP server response code for
    163 an <a href="access.5.html">access(5)</a> map "reject" action.
    164 </p>
    165 
    166 <p>
    167 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
    168 </p>
    169 
    170 
    171 </DD>
    172 
    173 <DT><b><a name="address_verify_cache_cleanup_interval">address_verify_cache_cleanup_interval</a>
    174 (default: 12h)</b></DT><DD>
    175 
    176 <p> The amount of time between <a href="verify.8.html">verify(8)</a> address verification
    177 database cleanup runs. This feature requires that the database
    178 supports the "delete" and "sequence" operators.  Specify a zero
    179 interval to disable database cleanup. </p>
    180 
    181 <p> After each database cleanup run, the <a href="verify.8.html">verify(8)</a> daemon logs the
    182 number of entries that were retained and dropped. A cleanup run is
    183 logged as "partial" when the daemon terminates early after "<b>postfix
    184 reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
    185 seconds. </p>
    186 
    187 <p> Specify a non-negative time value (an integral value plus an optional
    188 one-letter suffix that specifies the time unit).  Time units: s
    189 (seconds), m (minutes), h (hours), d (days), w (weeks).
    190 The default time unit is h (hours).  </p>
    191 
    192 <p> This feature is available in Postfix 2.7. </p>
    193 
    194 
    195 </DD>
    196 
    197 <DT><b><a name="address_verify_default_transport">address_verify_default_transport</a>
    198 (default: $<a href="postconf.5.html#default_transport">default_transport</a>)</b></DT><DD>
    199 
    200 <p>
    201 Overrides the <a href="postconf.5.html#default_transport">default_transport</a> parameter setting for address
    202 verification probes.
    203 </p>
    204 
    205 <p>
    206 This feature is available in Postfix 2.1 and later.
    207 </p>
    208 
    209 
    210 </DD>
    211 
    212 <DT><b><a name="address_verify_local_transport">address_verify_local_transport</a>
    213 (default: $<a href="postconf.5.html#local_transport">local_transport</a>)</b></DT><DD>
    214 
    215 <p>
    216 Overrides the <a href="postconf.5.html#local_transport">local_transport</a> parameter setting for address
    217 verification probes.
    218 </p>
    219 
    220 <p>
    221 This feature is available in Postfix 2.1 and later.
    222 </p>
    223 
    224 
    225 </DD>
    226 
    227 <DT><b><a name="address_verify_map">address_verify_map</a>
    228 (default: Postfix &ge; 3.11: $<a href="postconf.5.html#default_cache_db_type">default_cache_db_type</a>:$<a href="postconf.5.html#data_directory">data_directory</a>/verify_cache; Postfix &lt; 3.11: <a href="DATABASE_README.html#types">btree</a>:$<a href="postconf.5.html#data_directory">data_directory</a>/verify_cache)</b></DT><DD>
    229 
    230 <p>
    231 Lookup table for persistent address verification status
    232 storage.  The table is maintained by the <a href="verify.8.html">verify(8)</a> service, and
    233 is opened before the process releases privileges.
    234 </p>
    235 
    236 <p>
    237 The lookup table is persistent by default (Postfix 2.7 and later).
    238 Specify an empty table name to keep the information in volatile
    239 memory which is lost after "<b>postfix reload</b>" or "<b>postfix
    240 stop</b>". This is the default with Postfix version 2.6 and earlier.
    241 </p>
    242 
    243 <p>
    244 Specify a location in a file system that will not fill up. If the
    245 database becomes corrupted, the world comes to an end. To recover,
    246 delete (NOT: truncate) the file and do "<b>postfix reload</b>".
    247 </p>
    248 
    249 <p> Postfix daemon processes do not use root privileges when opening
    250 this file (Postfix 2.5 and later).  The file must therefore be
    251 stored under a Postfix-owned directory such as the <a href="postconf.5.html#data_directory">data_directory</a>.
    252 As a migration aid, an attempt to open the file under a non-Postfix
    253 directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
    254 warning is logged. </p>
    255 
    256 <p>
    257 Examples:
    258 </p>
    259 
    260 <pre>
    261 <a href="postconf.5.html#address_verify_map">address_verify_map</a> = $<a href="postconf.5.html#default_cache_db_type">default_cache_db_type</a>:$<a href="postconf.5.html#data_directory">data_directory</a>/verify_cache
    262 <a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="lmdb_table.5.html">lmdb</a>:/var/db/postfix/verify_cache
    263 <a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/verify_cache
    264 </pre>
    265 
    266 <p>
    267 This feature is available in Postfix 2.1 and later.
    268 </p>
    269 
    270 
    271 </DD>
    272 
    273 <DT><b><a name="address_verify_negative_cache">address_verify_negative_cache</a>
    274 (default: yes)</b></DT><DD>
    275 
    276 <p>
    277 Enable caching of failed address verification probe results.  When
    278 this feature is enabled, the cache may pollute quickly with garbage.
    279 When this feature is disabled, Postfix will generate an address
    280 probe for every lookup.
    281 </p>
    282 
    283 <p>
    284 This feature is available in Postfix 2.1 and later.
    285 </p>
    286 
    287 
    288 </DD>
    289 
    290 <DT><b><a name="address_verify_negative_expire_time">address_verify_negative_expire_time</a>
    291 (default: 3d)</b></DT><DD>
    292 
    293 <p>
    294 The time after which a failed probe expires from the address
    295 verification cache.
    296 </p>
    297 
    298 <p> Specify a non-zero time value (an integral value plus an optional
    299 one-letter suffix that specifies the time unit).  Time units: s
    300 (seconds), m (minutes), h (hours), d (days), w (weeks).
    301 The default time unit is d (days).  </p>
    302 
    303 <p>
    304 This feature is available in Postfix 2.1 and later.
    305 </p>
    306 
    307 
    308 </DD>
    309 
    310 <DT><b><a name="address_verify_negative_refresh_time">address_verify_negative_refresh_time</a>
    311 (default: 3h)</b></DT><DD>
    312 
    313 <p>
    314 The time after which a failed address verification probe needs to
    315 be refreshed.
    316 </p>
    317 
    318 <p> Specify a non-zero time value (an integral value plus an optional
    319 one-letter suffix that specifies the time unit).  Time units: s
    320 (seconds), m (minutes), h (hours), d (days), w (weeks).
    321 The default time unit is h (hours).  </p>
    322 
    323 <p>
    324 This feature is available in Postfix 2.1 and later.
    325 </p>
    326 
    327 
    328 </DD>
    329 
    330 <DT><b><a name="address_verify_pending_request_limit">address_verify_pending_request_limit</a>
    331 (default: see "postconf -d" output)</b></DT><DD>
    332 
    333 <p> A safety limit that prevents address verification requests from
    334 overwhelming the Postfix queue. By default, the number of pending
    335 requests is limited to 1/4 of the <a href="QSHAPE_README.html#active_queue">active queue</a> maximum size
    336 (<a href="postconf.5.html#qmgr_message_active_limit">qmgr_message_active_limit</a>). The queue manager enforces the limit
    337 by tempfailing requests that exceed the limit. This affects only
    338 unknown addresses and inactive addresses that have expired, because
    339 the <a href="verify.8.html">verify(8)</a> daemon automatically refreshes an active address
    340 before it expires. </p>
    341 
    342 <p> This feature is available in Postfix 3.1 and later.  </p>
    343 
    344 
    345 </DD>
    346 
    347 <DT><b><a name="address_verify_poll_count">address_verify_poll_count</a>
    348 (default: normal: 3, <a href="STRESS_README.html">overload</a>: 1)</b></DT><DD>
    349 
    350 <p>
    351 How many times to query the <a href="verify.8.html">verify(8)</a> service for the completion
    352 of an address verification request in progress.
    353 </p>
    354 
    355 <p> By default, the Postfix SMTP server polls the <a href="verify.8.html">verify(8)</a> service
    356 up to three times under non-overload conditions, and only once when
    357 under overload.  With Postfix version 2.5 and earlier, the SMTP
    358 server always polls the <a href="verify.8.html">verify(8)</a> service up to three times by
    359 default.  </p>
    360 
    361 <p>
    362 Specify 1 to implement a crude form of greylisting, that is, always
    363 defer the first delivery request for a new address.
    364 </p>
    365 
    366 <p>
    367 Examples:
    368 </p>
    369 
    370 <pre>
    371 # Postfix &le; 2.6 default
    372 <a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 3
    373 # Poor man's greylisting
    374 <a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 1
    375 </pre>
    376 
    377 <p>
    378 This feature is available in Postfix 2.1 and later.
    379 </p>
    380 
    381 
    382 </DD>
    383 
    384 <DT><b><a name="address_verify_poll_delay">address_verify_poll_delay</a>
    385 (default: 3s)</b></DT><DD>
    386 
    387 <p>
    388 The delay between queries for the completion of an address
    389 verification request in progress.
    390 </p>
    391 
    392 <p>
    393 The default polling delay is 3 seconds.
    394 </p>
    395 
    396 <p> Specify a non-zero time value (an integral value plus an optional
    397 one-letter suffix that specifies the time unit).  Time units: s
    398 (seconds), m (minutes), h (hours), d (days), w (weeks).
    399 The default time unit is s (seconds).  </p>
    400 
    401 <p>
    402 This feature is available in Postfix 2.1 and later.
    403 </p>
    404 
    405 
    406 </DD>
    407 
    408 <DT><b><a name="address_verify_positive_expire_time">address_verify_positive_expire_time</a>
    409 (default: 31d)</b></DT><DD>
    410 
    411 <p>
    412 The time after which a successful probe expires from the address
    413 verification cache.
    414 </p>
    415 
    416 <p> Specify a non-zero time value (an integral value plus an optional
    417 one-letter suffix that specifies the time unit).  Time units: s
    418 (seconds), m (minutes), h (hours), d (days), w (weeks).
    419 The default time unit is d (days).  </p>
    420 
    421 <p>
    422 This feature is available in Postfix 2.1 and later.
    423 </p>
    424 
    425 
    426 </DD>
    427 
    428 <DT><b><a name="address_verify_positive_refresh_time">address_verify_positive_refresh_time</a>
    429 (default: 7d)</b></DT><DD>
    430 
    431 <p>
    432 The time after which a successful address verification probe needs
    433 to be refreshed.  The address verification status is not updated
    434 when the probe fails (optimistic caching).
    435 </p>
    436 
    437 <p> Specify a non-zero time value (an integral value plus an optional
    438 one-letter suffix that specifies the time unit).  Time units: s
    439 (seconds), m (minutes), h (hours), d (days), w (weeks).
    440 The default time unit is d (days).  </p>
    441 
    442 <p>
    443 This feature is available in Postfix 2.1 and later.
    444 </p>
    445 
    446 
    447 </DD>
    448 
    449 <DT><b><a name="address_verify_relay_transport">address_verify_relay_transport</a>
    450 (default: $<a href="postconf.5.html#relay_transport">relay_transport</a>)</b></DT><DD>
    451 
    452 <p>
    453 Overrides the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter setting for address
    454 verification probes.
    455 </p>
    456 
    457 <p>
    458 This feature is available in Postfix 2.1 and later.
    459 </p>
    460 
    461 
    462 </DD>
    463 
    464 <DT><b><a name="address_verify_relayhost">address_verify_relayhost</a>
    465 (default: $<a href="postconf.5.html#relayhost">relayhost</a>)</b></DT><DD>
    466 
    467 <p>
    468 Overrides the <a href="postconf.5.html#relayhost">relayhost</a> parameter setting for address verification
    469 probes. This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
    470 </p>
    471 
    472 <p>
    473 This feature is available in Postfix 2.1 and later.
    474 </p>
    475 
    476 
    477 </DD>
    478 
    479 <DT><b><a name="address_verify_sender">address_verify_sender</a>
    480 (default: $<a href="postconf.5.html#double_bounce_sender">double_bounce_sender</a>)</b></DT><DD>
    481 
    482 <p> The sender address to use in address verification probes; prior
    483 to Postfix 2.5 the default was "postmaster". To
    484 avoid problems with address probes that are sent in response to
    485 address probes, the Postfix SMTP server excludes the probe sender
    486 address from all SMTPD access blocks. </p>
    487 
    488 <p>
    489 Specify an empty value (<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> =) or &lt;&gt; if you want
    490 to use the null sender address. Beware, some sites reject mail from
    491 &lt;&gt;, even though RFCs require that such addresses be accepted.
    492 </p>
    493 
    494 <p>
    495 Examples:
    496 </p>
    497 
    498 <pre>
    499 <a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = &lt;&gt;
    500 <a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = postmaster@<a href="postconf.5.html#mydomain">mydomain</a>
    501 </pre>
    502 
    503 <p>
    504 This feature is available in Postfix 2.1 and later.
    505 </p>
    506 
    507 
    508 </DD>
    509 
    510 <DT><b><a name="address_verify_sender_dependent_default_transport_maps">address_verify_sender_dependent_default_transport_maps</a>
    511 (default: $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>)</b></DT><DD>
    512 
    513 <p> Overrides the <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter
    514 setting for address verification probes.  </p>
    515 
    516 <p> This feature is available in Postfix 2.7 and later.  </p>
    517 
    518 
    519 </DD>
    520 
    521 <DT><b><a name="address_verify_sender_dependent_relayhost_maps">address_verify_sender_dependent_relayhost_maps</a>
    522 (default: $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>)</b></DT><DD>
    523 
    524 <p>
    525 Overrides the <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> parameter setting for address
    526 verification probes.
    527 </p>
    528 
    529 <p>
    530 This feature is available in Postfix 2.3 and later.
    531 </p>
    532 
    533 
    534 </DD>
    535 
    536 <DT><b><a name="address_verify_sender_ttl">address_verify_sender_ttl</a>
    537 (default: 0s)</b></DT><DD>
    538 
    539 <p> The time between changes in the time-dependent portion of address
    540 verification probe sender addresses. The time-dependent portion is
    541 appended to the localpart of the address specified with the
    542 <a href="postconf.5.html#address_verify_sender">address_verify_sender</a> parameter. This feature is ignored when the
    543 probe sender addresses is the null sender, i.e. the <a href="postconf.5.html#address_verify_sender">address_verify_sender</a>
    544 value is empty or &lt;&gt;. </p>
    545 
    546 <p> Historically, the probe sender address was fixed. This has
    547 caused such addresses to end up on spammer mailing lists, and has
    548 resulted in wasted network and processing resources.  </p>
    549 
    550 <p> To enable time-dependent probe sender addresses, specify a
    551 non-zero time value. Specify a value of at least several hours,
    552 to avoid problems with senders that use greylisting. Avoid nice
    553 TTL values, to make the result less predictable.  </p>
    554 
    555 <p> Specify a non-negative time value (an integral value plus an optional
    556 one-letter suffix that specifies the time unit).  Time units: s
    557 (seconds), m (minutes), h (hours), d (days), w (weeks).
    558 The default time unit is s (seconds).  </p>
    559 
    560 <p> This feature is available in Postfix 2.9 and later.  </p>
    561 
    562 
    563 </DD>
    564 
    565 <DT><b><a name="address_verify_service_name">address_verify_service_name</a>
    566 (default: verify)</b></DT><DD>
    567 
    568 <p>
    569 The name of the <a href="verify.8.html">verify(8)</a> address verification service. This service
    570 maintains the status of sender and/or recipient address verification
    571 probes, and generates probes on request by other Postfix processes.
    572 </p>
    573 
    574 
    575 </DD>
    576 
    577 <DT><b><a name="address_verify_transport_maps">address_verify_transport_maps</a>
    578 (default: $<a href="postconf.5.html#transport_maps">transport_maps</a>)</b></DT><DD>
    579 
    580 <p>
    581 Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address verification
    582 probes.
    583 </p>
    584 
    585 <p>
    586 This feature is available in Postfix 2.1 and later.
    587 </p>
    588 
    589 
    590 </DD>
    591 
    592 <DT><b><a name="address_verify_virtual_transport">address_verify_virtual_transport</a>
    593 (default: $<a href="postconf.5.html#virtual_transport">virtual_transport</a>)</b></DT><DD>
    594 
    595 <p>
    596 Overrides the <a href="postconf.5.html#virtual_transport">virtual_transport</a> parameter setting for address
    597 verification probes.
    598 </p>
    599 
    600 <p>
    601 This feature is available in Postfix 2.1 and later.
    602 </p>
    603 
    604 
    605 </DD>
    606 
    607 <DT><b><a name="alias_database">alias_database</a>
    608 (default: see "postconf -d" output)</b></DT><DD>
    609 
    610 <p>
    611 The alias databases for <a href="local.8.html">local(8)</a> delivery that are updated with
    612 "<b>newaliases</b>" or with "<b>sendmail -bi</b>".
    613 </p>
    614 
    615 <p>
    616 This is a separate configuration parameter because not all the
    617 tables specified with $<a href="postconf.5.html#alias_maps">alias_maps</a> have to be local files.
    618 </p>
    619 
    620 <p>
    621 Examples:
    622 </p>
    623 
    624 <pre>
    625 <a href="postconf.5.html#alias_database">alias_database</a> = $<a href="postconf.5.html#default_database_type">default_database_type</a>:/etc/aliases
    626 <a href="postconf.5.html#alias_database">alias_database</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/aliases
    627 <a href="postconf.5.html#alias_database">alias_database</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/mail/aliases
    628 </pre>
    629 
    630 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
    631 
    632 
    633 </DD>
    634 
    635 <DT><b><a name="alias_maps">alias_maps</a>
    636 (default: see "postconf -d" output)</b></DT><DD>
    637 
    638 <p>
    639 Optional lookup tables that are searched only with an email address
    640 localpart (no domain) and that apply only to <a href="local.8.html">local(8)</a> recipients;
    641 this is unlike <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> that are often searched with a
    642 full email address (including domain) and that apply to all recipients:
    643 <a href="local.8.html">local(8)</a>, virtual, and remote.
    644 The <a href="postconf.5.html#alias_maps">alias_maps</a> table format and lookups are documented in <a href="aliases.5.html">aliases(5)</a>.
    645 For an overview of Postfix address manipulations see the
    646 <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document. </p>
    647 
    648 <p>
    649 Specify zero or more "type:name" lookup tables, separated by
    650 whitespace or comma. Tables will be searched in the specified order
    651 until a match is found.
    652 Note: these lookups are recursive.
    653 </p>
    654 
    655 <p>
    656 The default list is system dependent.  On systems with NIS, the
    657 default is to search the local alias database, then the NIS alias
    658 database.
    659 </p>
    660 
    661 <p>
    662 The <a href="local.8.html">local(8)</a> delivery agent disallows regular expression substitution
    663 of $1 etc. in <a href="postconf.5.html#alias_maps">alias_maps</a>, because that would open a security hole.
    664 </p>
    665 
    666 <p>
    667 The <a href="local.8.html">local(8)</a> delivery agent will silently ignore requests to use
    668 the <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
    669 table directly. Before Postfix version 2.2, the <a href="local.8.html">local(8)</a> delivery
    670 agent will terminate with a fatal error.
    671 </p>
    672 
    673 <p>
    674 Examples:
    675 </p>
    676 
    677 <pre>
    678 <a href="postconf.5.html#alias_maps">alias_maps</a> = $<a href="postconf.5.html#default_database_type">default_database_type</a>:/etc/aliases, nis:mail.aliases
    679 <a href="postconf.5.html#alias_maps">alias_maps</a> = $<a href="postconf.5.html#default_database_type">default_database_type</a>:/etc/aliases
    680 <a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/mail/aliases
    681 <a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/aliases
    682 </pre>
    683 
    684 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
    685 
    686 <p> Execute the command "postalias <i>/path/to/aliases</i>" after you
    687 change the aliases file, to (re)build a default-type indexed file.
    688 Execute "postalias <i>type:/path/to/aliases</i>" to specify an explicit
    689 type. </p>
    690 
    691 <p> The default indexed file type is configured with the
    692 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
    693 execute the command "postconf -m". </p>
    694 
    695 <p> Configuration changes will become visible after a minute or so.
    696 Use "postfix reload" to eliminate the delay. </p>
    697 
    698 
    699 </DD>
    700 
    701 <DT><b><a name="allow_mail_to_commands">allow_mail_to_commands</a>
    702 (default: alias, forward)</b></DT><DD>
    703 
    704 <p>
    705 Restrict <a href="local.8.html">local(8)</a> mail delivery to external commands.  The default
    706 is to disallow delivery to "|command" in :include:  files (see
    707 <a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
    708 </p>
    709 
    710 <p>
    711 Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
    712 in order to allow commands in <a href="aliases.5.html">aliases(5)</a>, .forward files or in
    713 :include:  files, respectively.
    714 </p>
    715 
    716 <p>
    717 Example:
    718 </p>
    719 
    720 <pre>
    721 <a href="postconf.5.html#allow_mail_to_commands">allow_mail_to_commands</a> = alias,forward,include
    722 </pre>
    723 
    724 
    725 </DD>
    726 
    727 <DT><b><a name="allow_mail_to_files">allow_mail_to_files</a>
    728 (default: alias, forward)</b></DT><DD>
    729 
    730 <p>
    731 Restrict <a href="local.8.html">local(8)</a> mail delivery to external files. The default is
    732 to disallow "/file/name" destinations in :include:  files (see
    733 <a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
    734 </p>
    735 
    736 <p>
    737 Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
    738 in order to allow "/file/name" destinations in <a href="aliases.5.html">aliases(5)</a>, .forward
    739 files and in :include:  files, respectively.
    740 </p>
    741 
    742 <p>
    743 Example:
    744 </p>
    745 
    746 <pre>
    747 <a href="postconf.5.html#allow_mail_to_files">allow_mail_to_files</a> = alias,forward,include
    748 </pre>
    749 
    750 
    751 </DD>
    752 
    753 <DT><b><a name="allow_min_user">allow_min_user</a>
    754 (default: no)</b></DT><DD>
    755 
    756 <p>
    757 Allow a sender or recipient address to have `-' as the first
    758 character.  By
    759 default, this is not allowed, to avoid accidents with software that
    760 passes email addresses via the command line. Such software
    761 would not be able to distinguish a malicious address from a
    762 bona fide command-line option. Although this can be prevented by
    763 inserting a "--" option terminator into the command line, this is
    764 difficult to enforce consistently and globally.  </p>
    765 
    766 <p> As of Postfix version 2.5, this feature is implemented by
    767 <a href="trivial-rewrite.8.html">trivial-rewrite(8)</a>.  With earlier versions this feature was implemented
    768 by <a href="qmgr.8.html">qmgr(8)</a> and was limited to recipient addresses only. </p>
    769 
    770 
    771 </DD>
    772 
    773 <DT><b><a name="allow_percent_hack">allow_percent_hack</a>
    774 (default: yes)</b></DT><DD>
    775 
    776 <p>
    777 Enable the rewriting of the form "user%domain" to "user@domain".
    778 This is enabled by default.
    779 </p>
    780 
    781 <p> Note: as of Postfix version 2.2, message header address rewriting
    782 happens only when one of the following conditions is true: </p>
    783 
    784 <ul>
    785 
    786 <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
    787 
    788 <li> The message is received from a network client that matches
    789 $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
    790 
    791 <li> The message is received from the network, and the
    792 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
    793 
    794 </ul>
    795 
    796 <p> To get the behavior before Postfix version 2.2, specify
    797 "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
    798 
    799 <p>
    800 Example:
    801 </p>
    802 
    803 <pre>
    804 <a href="postconf.5.html#allow_percent_hack">allow_percent_hack</a> = no
    805 </pre>
    806 
    807 
    808 </DD>
    809 
    810 <DT><b><a name="allow_srv_lookup_fallback">allow_srv_lookup_fallback</a>
    811 (default: no)</b></DT><DD>
    812 
    813 <p> When SRV record lookup fails or no SRV record exists, fall back
    814 to MX or IP address lookup as if SRV record lookup was not enabled. <p>
    815 
    816 <p> This feature is available in Postfix 3.8 and later. </p>
    817 
    818 
    819 </DD>
    820 
    821 <DT><b><a name="allow_untrusted_routing">allow_untrusted_routing</a>
    822 (default: no)</b></DT><DD>
    823 
    824 <p>
    825 Forward mail with sender-specified routing (user[@%!]remote[@%!]site)
    826 from untrusted clients to destinations matching $<a href="postconf.5.html#relay_domains">relay_domains</a>.
    827 </p>
    828 
    829 <p>
    830 By default, this feature is turned off.  This closes a nasty open
    831 relay loophole where a backup MX host can be tricked into forwarding
    832 junk mail to a primary MX host which then spams it out to the world.
    833 </p>
    834 
    835 <p>
    836 This parameter also controls if non-local addresses with sender-specified
    837 routing can match Postfix access tables. By default, such addresses
    838 cannot match Postfix access tables, because the address is ambiguous.
    839 </p>
    840 
    841 
    842 </DD>
    843 
    844 <DT><b><a name="alternate_config_directories">alternate_config_directories</a>
    845 (default: empty)</b></DT><DD>
    846 
    847 <p>
    848 A list of non-default Postfix configuration directories that may
    849 be specified with "-c <a href="postconf.5.html#config_directory">config_directory</a>" on the command line (in the
    850 case of <a href="sendmail.1.html">sendmail(1)</a>, with the "-C" option), or via the MAIL_CONFIG
    851 environment parameter.
    852 </p>
    853 
    854 <p>
    855 This list must be specified in the default Postfix <a href="postconf.5.html">main.cf</a> file,
    856 and will be used by set-gid Postfix commands such as <a href="postqueue.1.html">postqueue(1)</a>
    857 and <a href="postdrop.1.html">postdrop(1)</a>.
    858 </p>
    859 
    860 <p>
    861 Specify absolute pathnames, separated by comma or space. Note: $name
    862 expansion is not supported.
    863 </p>
    864 
    865 
    866 </DD>
    867 
    868 <DT><b><a name="always_add_missing_headers">always_add_missing_headers</a>
    869 (default: no)</b></DT><DD>
    870 
    871 <p> Always add (Resent-) From:, To:, Date: or Message-ID: headers
    872 when not present.  Postfix 2.6 and later add these headers only
    873 when clients match the <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter
    874 setting.  Earlier Postfix versions always add these headers; this
    875 may break DKIM signatures that cover non-existent headers.
    876 The <a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> parameter setting determines
    877 whether a To: header will be added. </p>
    878 
    879 
    880 </DD>
    881 
    882 <DT><b><a name="always_bcc">always_bcc</a>
    883 (default: empty)</b></DT><DD>
    884 
    885 <p>
    886 Optional address that receives a "blind carbon copy" of each message
    887 that is received by the Postfix mail system.
    888 </p>
    889 
    890 <p>
    891 Note: with Postfix 2.3 and later the BCC address is added as if it
    892 was specified with NOTIFY=NONE. The sender will not be notified
    893 when the BCC address is undeliverable, as long as all down-stream
    894 software implements <a href="https://tools.ietf.org/html/rfc3461">RFC 3461</a>.
    895 </p>
    896 
    897 <p>
    898 Note: with Postfix 2.2 and earlier the sender will be notified
    899 when the BCC address is undeliverable.
    900 </p>
    901 
    902 <p> Note: automatic BCC recipients are produced only for new mail.
    903 To avoid mailer loops, automatic BCC recipients are not generated
    904 after Postfix forwards mail internally, or after Postfix generates
    905 mail itself. </p>
    906 
    907 <p> Note: automatic BCC recipients are subject to address
    908 canonicalization (add missing domain), <a href="postconf.5.html#canonical_maps">canonical_maps</a>, <a href="postconf.5.html#masquerade_domains">masquerade_domains</a>,
    909 and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
    910 
    911 
    912 </DD>
    913 
    914 <DT><b><a name="anvil_rate_time_unit">anvil_rate_time_unit</a>
    915 (default: 60s)</b></DT><DD>
    916 
    917 <p>
    918 The time unit over which client connection rates and other rates
    919 are calculated.
    920 </p>
    921 
    922 <p>
    923 This feature is implemented by the <a href="anvil.8.html">anvil(8)</a> service which is available
    924 in Postfix version 2.2 and later.
    925 </p>
    926 
    927 <p>
    928 The default interval is relatively short. Because of the high
    929 frequency of updates, the <a href="anvil.8.html">anvil(8)</a> server uses volatile memory
    930 only. Thus, information is lost whenever the process terminates.
    931 </p>
    932 
    933 <p> Specify a non-zero time value (an integral value plus an optional
    934 one-letter suffix that specifies the time unit).  Time units: s
    935 (seconds), m (minutes), h (hours), d (days), w (weeks).
    936 The default time unit is s (seconds).  </p>
    937 
    938 
    939 </DD>
    940 
    941 <DT><b><a name="anvil_status_update_time">anvil_status_update_time</a>
    942 (default: 600s)</b></DT><DD>
    943 
    944 <p>
    945 How frequently the <a href="anvil.8.html">anvil(8)</a> connection and rate limiting server
    946 logs peak usage information.
    947 </p>
    948 
    949 <p> Specify a non-zero time value (an integral value plus an optional
    950 one-letter suffix that specifies the time unit).  Time units: s
    951 (seconds), m (minutes), h (hours), d (days), w (weeks).
    952 The default time unit is s (seconds).  </p>
    953 
    954 <p>
    955 This feature is available in Postfix 2.2 and later.
    956 </p>
    957 
    958 
    959 </DD>
    960 
    961 <DT><b><a name="append_at_myorigin">append_at_myorigin</a>
    962 (default: yes)</b></DT><DD>
    963 
    964 <p>
    965 With locally submitted mail, append the string "@$<a href="postconf.5.html#myorigin">myorigin</a>" to mail
    966 addresses without domain information. With remotely submitted mail,
    967 append the string "@$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>" instead.
    968 </p>
    969 
    970 <p>
    971 Note 1: this feature is enabled by default and must not be turned off.
    972 Postfix does not support domain-less addresses.
    973 </p>
    974 
    975 <p> Note 2: with Postfix version 2.2, message header address rewriting
    976 happens only when one of the following conditions is true: </p>
    977 
    978 <ul>
    979 
    980 <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
    981 
    982 <li> The message is received from a network client that matches
    983 $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
    984 
    985 <li> The message is received from the network, and the
    986 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
    987 
    988 </ul>
    989 
    990 <p> To get the behavior before Postfix version 2.2, specify
    991 "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
    992 
    993 
    994 </DD>
    995 
    996 <DT><b><a name="append_dot_mydomain">append_dot_mydomain</a>
    997 (default: Postfix &ge; 3.0: no, Postfix &lt; 3.0: yes)</b></DT><DD>
    998 
    999 <p>
   1000 With locally submitted mail, append the string ".$<a href="postconf.5.html#mydomain">mydomain</a>" to
   1001 addresses that have no ".domain" information. With remotely submitted
   1002 mail, append the string ".$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>"
   1003 instead.
   1004 </p>
   1005 
   1006 <p>
   1007 Note 1: When disabled (Postfix 3.0 and later), users will not be
   1008 able to send mail to "user@partialdomainname" but will have to
   1009 specify full domain names instead.
   1010 </p>
   1011 
   1012 <p> Note 2: with Postfix version 2.2, message header address rewriting
   1013 happens only when one of the following conditions is true: </p>
   1014 
   1015 <ul>
   1016 
   1017 <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
   1018 
   1019 <li> The message is received from a network client that matches
   1020 $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
   1021 
   1022 <li> The message is received from the network, and the
   1023 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
   1024 
   1025 </ul>
   1026 
   1027 <p> To get the behavior before Postfix version 2.2, specify
   1028 "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
   1029 
   1030 
   1031 </DD>
   1032 
   1033 <DT><b><a name="application_event_drain_time">application_event_drain_time</a>
   1034 (default: 100s)</b></DT><DD>
   1035 
   1036 <p>
   1037 How long the <a href="postkick.1.html">postkick(1)</a> command waits for a request to enter the
   1038 Postfix daemon process input buffer before giving up.
   1039 </p>
   1040 
   1041 <p> Specify a non-zero time value (an integral value plus an optional
   1042 one-letter suffix that specifies the time unit).  Time units: s
   1043 (seconds), m (minutes), h (hours), d (days), w (weeks).
   1044 The default time unit is s (seconds).  </p>
   1045 
   1046 <p>
   1047 This feature is available in Postfix 2.1 and later.
   1048 </p>
   1049 
   1050 
   1051 </DD>
   1052 
   1053 <DT><b><a name="authorized_flush_users">authorized_flush_users</a>
   1054 (default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
   1055 
   1056 <p>
   1057 List of users who are authorized to flush the queue.
   1058 </p>
   1059 
   1060 <p>
   1061 By default, all users are allowed to flush the queue.  Access is
   1062 always granted if the invoking user is the super-user or the
   1063 $<a href="postconf.5.html#mail_owner">mail_owner</a> user.  Otherwise, the real UID of the process is looked
   1064 up in the system password file, and access is granted only if the
   1065 corresponding login name is on the access list.  The username
   1066 "unknown" is used for processes whose real UID is not found in the
   1067 password file.  </p>
   1068 
   1069 <p>
   1070 Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
   1071 separated by commas and/or whitespace. The list is matched left to
   1072 right, and the search stops on the first match. A "/file/name"
   1073 pattern is replaced
   1074 by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
   1075 matches a lookup key (the lookup result is ignored).  Continue long
   1076 lines by starting the next line with whitespace. Specify "!pattern"
   1077 to exclude a name from the list. The form "!/file/name" is supported
   1078 only in Postfix version 2.4 and later.  </p>
   1079 
   1080 <p>
   1081 This feature is available in Postfix 2.2 and later.
   1082 </p>
   1083 
   1084 
   1085 </DD>
   1086 
   1087 <DT><b><a name="authorized_mailq_users">authorized_mailq_users</a>
   1088 (default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
   1089 
   1090 <p>
   1091 List of users who are authorized to view the queue.
   1092 </p>
   1093 
   1094 <p>
   1095 By default, all users are allowed to view the queue.  Access is
   1096 always granted if the invoking user is the super-user or the
   1097 $<a href="postconf.5.html#mail_owner">mail_owner</a> user.  Otherwise, the real UID of the process is looked
   1098 up in the system password file, and access is granted only if the
   1099 corresponding login name is on the access list.  The username
   1100 "unknown" is used for processes whose real UID is not found in the
   1101 password file.  </p>
   1102 
   1103 <p>
   1104 Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
   1105 separated by commas and/or whitespace. The list is matched left to
   1106 right, and the search stops on the first match. A "/file/name"
   1107 pattern is replaced
   1108 by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
   1109 matches a lookup key (the lookup result is ignored).  Continue long
   1110 lines by starting the next line with whitespace. Specify "!pattern"
   1111 to exclude a user name from the list. The form "!/file/name" is
   1112 supported only in Postfix version 2.4 and later.  </p>
   1113 
   1114 <p>
   1115 This feature is available in Postfix 2.2 and later.
   1116 </p>
   1117 
   1118 
   1119 </DD>
   1120 
   1121 <DT><b><a name="authorized_submit_users">authorized_submit_users</a>
   1122 (default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
   1123 
   1124 <p>
   1125 List of users who are authorized to submit mail with the <a href="sendmail.1.html">sendmail(1)</a>
   1126 command (and with the privileged <a href="postdrop.1.html">postdrop(1)</a> helper command).
   1127 </p>
   1128 
   1129 <p>
   1130 By default, all users are allowed to submit mail.  Otherwise, the
   1131 real UID of the process is looked up in the system password file,
   1132 and access is granted only if the corresponding login name is on
   1133 the access list.  The username "unknown" is used for processes
   1134 whose real UID is not found in the password file. To deny mail
   1135 submission access to all users specify an empty list.  </p>
   1136 
   1137 <p>
   1138 Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
   1139 separated by commas and/or whitespace. The list is matched left to right,
   1140 and the search stops on the first match. A "/file/name" pattern is
   1141 replaced by its contents;
   1142 a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup key
   1143 (the lookup result is ignored).  Continue long lines by starting the
   1144 next line with whitespace. Specify "!pattern" to exclude a user
   1145 name from the list. The form "!/file/name" is supported only in
   1146 Postfix version 2.4 and later.  </p>
   1147 
   1148 <p>
   1149 Example:
   1150 </p>
   1151 
   1152 <pre>
   1153 <a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> = !www, <a href="DATABASE_README.html#types">static</a>:all
   1154 </pre>
   1155 
   1156 <p>
   1157 This feature is available in Postfix 2.2 and later.
   1158 </p>
   1159 
   1160 
   1161 </DD>
   1162 
   1163 <DT><b><a name="authorized_verp_clients">authorized_verp_clients</a>
   1164 (default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
   1165 
   1166 <p> What remote SMTP clients are allowed to specify the XVERP command.
   1167 This command requests that mail be delivered one recipient at a
   1168 time with a per recipient return address.  </p>
   1169 
   1170 <p> By default, only trusted clients are allowed to specify XVERP.
   1171 </p>
   1172 
   1173 <p> This parameter was introduced with Postfix version 1.1.  Postfix
   1174 version 2.1 renamed this parameter to <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
   1175 and changed the default to none. </p>
   1176 
   1177 <p> Specify a list of network/netmask patterns, separated by commas
   1178 and/or whitespace. The mask specifies the number of bits in the
   1179 network part of a host address. You can also specify hostnames or
   1180 .domain names (the initial dot causes the domain to match any name
   1181 below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
   1182 pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
   1183 is matched when a table entry matches a lookup string (the lookup
   1184 result is ignored).  Continue long lines by starting the next line
   1185 with whitespace. Specify "!pattern" to exclude an address or network
   1186 block from the list. The form "!/file/name" is supported only in
   1187 Postfix version 2.4 and later. </p>
   1188 
   1189 <p> Note: IP version 6 address information must be specified inside
   1190 <tt>[]</tt> in the <a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a> value, and in files
   1191 specified with "/file/name".  IP version 6 addresses contain the
   1192 ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
   1193 pattern.  </p>
   1194 
   1195 
   1196 </DD>
   1197 
   1198 <DT><b><a name="backwards_bounce_logfile_compatibility">backwards_bounce_logfile_compatibility</a>
   1199 (default: yes)</b></DT><DD>
   1200 
   1201 <p>
   1202 Produce additional <a href="bounce.8.html">bounce(8)</a> logfile records that can be read by
   1203 Postfix versions before 2.0. The current and more extensible "name =
   1204 value" format is needed in order to implement more sophisticated
   1205 functionality.
   1206 </p>
   1207 
   1208 <p>
   1209 This feature is available in Postfix 2.1 and later.
   1210 </p>
   1211 
   1212 
   1213 </DD>
   1214 
   1215 <DT><b><a name="berkeley_db_create_buffer_size">berkeley_db_create_buffer_size</a>
   1216 (default: 16777216)</b></DT><DD>
   1217 
   1218 <p>
   1219 The per-table I/O buffer size for programs that create Berkeley DB
   1220 hash or btree tables.  Specify a byte count.
   1221 </p>
   1222 
   1223 <p>
   1224 This feature is available in Postfix 2.0 and later.
   1225 </p>
   1226 
   1227 
   1228 </DD>
   1229 
   1230 <DT><b><a name="berkeley_db_read_buffer_size">berkeley_db_read_buffer_size</a>
   1231 (default: 131072)</b></DT><DD>
   1232 
   1233 <p>
   1234 The per-table I/O buffer size for programs that read Berkeley DB
   1235 hash or btree tables.  Specify a byte count.
   1236 </p>
   1237 
   1238 <p>
   1239 This feature is available in Postfix 2.0 and later.
   1240 </p>
   1241 
   1242 
   1243 </DD>
   1244 
   1245 <DT><b><a name="best_mx_transport">best_mx_transport</a>
   1246 (default: empty)</b></DT><DD>
   1247 
   1248 <p>
   1249 Where the Postfix SMTP client should deliver mail when it detects
   1250 a "mail loops back to myself" error condition. This happens when
   1251 the local MTA is the best SMTP mail exchanger for a destination
   1252 not 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>,
   1253 $<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,
   1254 the Postfix SMTP client returns such mail as undeliverable.
   1255 </p>
   1256 
   1257 <p>
   1258 Specify, for example, "<a href="postconf.5.html#best_mx_transport">best_mx_transport</a> = local" to pass the mail
   1259 from the Postfix SMTP client to the <a href="local.8.html">local(8)</a> delivery agent. You
   1260 can specify
   1261 any message delivery "transport" or "transport:nexthop" that is
   1262 defined in the <a href="master.5.html">master.cf</a> file. See the <a href="transport.5.html">transport(5)</a> manual page
   1263 for the syntax and meaning of "transport" or "transport:nexthop".
   1264 </p>
   1265 
   1266 <p>
   1267 However, this feature is expensive because it ties up a Postfix
   1268 SMTP client process while the <a href="local.8.html">local(8)</a> delivery agent is doing its
   1269 work. It is more efficient (for Postfix) to list all <a href="VIRTUAL_README.html#canonical">hosted domains</a>
   1270 in a table or database.
   1271 </p>
   1272 
   1273 
   1274 </DD>
   1275 
   1276 <DT><b><a name="biff">biff</a>
   1277 (default: yes)</b></DT><DD>
   1278 
   1279 <p>
   1280 Whether or not to use the local <a href="postconf.5.html#biff">biff</a> service.  This service sends
   1281 "new mail" notifications to users who have requested new mail
   1282 notification with the UNIX command "<a href="postconf.5.html#biff">biff</a> y".
   1283 </p>
   1284 
   1285 <p>
   1286 For compatibility reasons this feature is on by default.  On systems
   1287 with lots of interactive users, the <a href="postconf.5.html#biff">biff</a> service can be a performance
   1288 drain.  Specify "<a href="postconf.5.html#biff">biff</a> = no" in <a href="postconf.5.html">main.cf</a> to disable.
   1289 </p>
   1290 
   1291 
   1292 </DD>
   1293 
   1294 <DT><b><a name="body_checks">body_checks</a>
   1295 (default: empty)</b></DT><DD>
   1296 
   1297 <p> Optional lookup tables for content inspection as specified in
   1298 the <a href="header_checks.5.html">body_checks(5)</a> manual page.  </p>
   1299 
   1300 <p> Note: with Postfix versions before 2.0, these rules inspect
   1301 all content after the primary message headers. </p>
   1302 
   1303 
   1304 </DD>
   1305 
   1306 <DT><b><a name="body_checks_size_limit">body_checks_size_limit</a>
   1307 (default: 51200)</b></DT><DD>
   1308 
   1309 <p>
   1310 How much text in a message body segment (or attachment, if you
   1311 prefer to use that term) is subjected to <a href="postconf.5.html#body_checks">body_checks</a> inspection.
   1312 The amount of text is limited to avoid scanning huge attachments.
   1313 </p>
   1314 
   1315 <p>
   1316 This feature is available in Postfix 2.0 and later.
   1317 </p>
   1318 
   1319 
   1320 </DD>
   1321 
   1322 <DT><b><a name="bounce_notice_recipient">bounce_notice_recipient</a>
   1323 (default: postmaster)</b></DT><DD>
   1324 
   1325 <p>
   1326 The recipient of postmaster notifications with the message headers
   1327 of mail that Postfix did not deliver and of SMTP conversation
   1328 transcripts of mail that Postfix did not receive.  This feature is
   1329 enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter.  </p>
   1330 
   1331 
   1332 </DD>
   1333 
   1334 <DT><b><a name="bounce_queue_lifetime">bounce_queue_lifetime</a>
   1335 (default: 5d)</b></DT><DD>
   1336 
   1337 <p>
   1338 Consider a bounce message as undeliverable, when delivery fails
   1339 with a temporary error, and the time in the queue has reached the
   1340 <a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> limit.  By default, this limit is the same
   1341 as for regular mail.
   1342 </p>
   1343 
   1344 <p> Specify a non-negative time value (an integral value plus an optional
   1345 one-letter suffix that specifies the time unit).  Time units: s
   1346 (seconds), m (minutes), h (hours), d (days), w (weeks).
   1347 The default time unit is d (days).  </p>
   1348 
   1349 <p>
   1350 Specify 0 when mail delivery should be tried only once.
   1351 </p>
   1352 
   1353 <p>
   1354 This feature is available in Postfix 2.1 and later.
   1355 </p>
   1356 
   1357 
   1358 </DD>
   1359 
   1360 <DT><b><a name="bounce_service_name">bounce_service_name</a>
   1361 (default: bounce)</b></DT><DD>
   1362 
   1363 <p>
   1364 The name of the <a href="bounce.8.html">bounce(8)</a> service. This service maintains a record
   1365 of failed delivery attempts and generates non-delivery notifications.
   1366 </p>
   1367 
   1368 <p>
   1369 This feature is available in Postfix 2.0 and later.
   1370 </p>
   1371 
   1372 
   1373 </DD>
   1374 
   1375 <DT><b><a name="bounce_size_limit">bounce_size_limit</a>
   1376 (default: 50000)</b></DT><DD>
   1377 
   1378 <p> The maximal amount of original message text that is sent in a
   1379 non-delivery notification. Specify a byte count.  A message is
   1380 returned as either message/rfc822 (the complete original) or as
   1381 text/rfc822-headers (the headers only).  With Postfix version 2.4
   1382 and earlier, a message is always returned as message/rfc822 and is
   1383 truncated when it exceeds the size limit.
   1384 </p>
   1385 
   1386 <p> Notes: </p>
   1387 
   1388 <ul>
   1389 
   1390 <li> <p> If you increase this limit, then you should increase the
   1391 <a href="postconf.5.html#mime_nesting_limit">mime_nesting_limit</a> value proportionally.  </p>
   1392 
   1393 <li> <p> Be careful when making changes.  Excessively large values
   1394 will result in the loss of non-delivery notifications, when a bounce
   1395 message size exceeds a local or remote MTA's message size limit.
   1396 </p>
   1397 
   1398 </ul>
   1399 
   1400 
   1401 </DD>
   1402 
   1403 <DT><b><a name="bounce_template_file">bounce_template_file</a>
   1404 (default: empty)</b></DT><DD>
   1405 
   1406 <p> Pathname of a configuration file with bounce message templates.
   1407 These override the built-in templates of delivery status notification
   1408 (DSN) messages for undeliverable mail, delayed mail, successful
   1409 delivery, or delivery verification. The <a href="bounce.5.html">bounce(5)</a> manual page
   1410 describes how to edit and test template files.  </p>
   1411 
   1412 <p> Template message body text may contain $name references to
   1413 Postfix configuration parameters. The result of $name expansion can
   1414 be previewed with "<b>postconf -b <i>file_name</i></b>" before the file
   1415 is placed into the Postfix configuration directory.  </p>
   1416 
   1417 <p> This feature is available in Postfix 2.3 and later.  </p>
   1418 
   1419 
   1420 </DD>
   1421 
   1422 <DT><b><a name="broken_sasl_auth_clients">broken_sasl_auth_clients</a>
   1423 (default: no)</b></DT><DD>
   1424 
   1425 <p>
   1426 Enable interoperability with remote SMTP clients that implement an obsolete
   1427 version of the AUTH command (<a href="https://tools.ietf.org/html/rfc4954">RFC 4954</a>). Examples of such clients
   1428 are MicroSoft Outlook Express version 4 and MicroSoft Exchange
   1429 version 5.0.
   1430 </p>
   1431 
   1432 <p>
   1433 Specify "<a href="postconf.5.html#broken_sasl_auth_clients">broken_sasl_auth_clients</a> = yes" to have Postfix advertise
   1434 AUTH support in a non-standard way.
   1435 </p>
   1436 
   1437 
   1438 </DD>
   1439 
   1440 <DT><b><a name="canonical_classes">canonical_classes</a>
   1441 (default: envelope_sender, envelope_recipient, header_sender, header_recipient)</b></DT><DD>
   1442 
   1443 <p> What addresses are subject to <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping.
   1444 By default, <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping is applied to envelope
   1445 sender and recipient addresses, and to header sender and header
   1446 recipient addresses.  </p>
   1447 
   1448 <p> Specify one or more of: envelope_sender, envelope_recipient,
   1449 header_sender, header_recipient </p>
   1450 
   1451 <p> This feature is available in Postfix 2.2 and later. </p>
   1452 
   1453 
   1454 </DD>
   1455 
   1456 <DT><b><a name="canonical_maps">canonical_maps</a>
   1457 (default: empty)</b></DT><DD>
   1458 
   1459 <p>
   1460 Optional address mapping lookup tables for message headers and
   1461 envelopes. The mapping is applied to both sender and recipient
   1462 addresses, in both envelopes and in headers, as controlled
   1463 with the <a href="postconf.5.html#canonical_classes">canonical_classes</a> parameter. This is typically used
   1464 to clean up dirty addresses from legacy mail systems, or to replace
   1465 login names by Firstname.Lastname.  The table format and lookups
   1466 are documented in <a href="canonical.5.html">canonical(5)</a>. For an overview of Postfix address
   1467 manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
   1468 </p>
   1469 
   1470 <p>
   1471 Specify zero or more "type:name" lookup tables, separated by
   1472 whitespace or comma. Tables will be searched in the specified order
   1473 until a match is found.
   1474 Note: these lookups are recursive.
   1475 </p>
   1476 
   1477 <p> Note: with Postfix version 2.2, message header address mapping
   1478 happens only when message header address rewriting is enabled: </p>
   1479 
   1480 <ul>
   1481 
   1482 <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
   1483 
   1484 <li> The message is received from a network client that matches
   1485 $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
   1486 
   1487 <li> The message is received from the network, and the
   1488 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
   1489 
   1490 </ul>
   1491 
   1492 <p> To get the behavior before Postfix version 2.2, specify
   1493 "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
   1494 
   1495 <p>
   1496 Examples:
   1497 </p>
   1498 
   1499 <pre>
   1500 <a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/canonical
   1501 </pre>
   1502 
   1503 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   1504 
   1505 <p> Execute the command "postmap /etc/postfix/canonical" after you
   1506 change the canonical file, to (re)build a default-type indexed file.
   1507 Execute "postmap <i>type</i>:/etc/postfix/canonical" to specify an
   1508 explicit type. </p>
   1509 
   1510 <p> The default indexed file type is configured with the
   1511 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   1512 execute the command "postconf -m". </p>
   1513 
   1514 <p> Configuration changes will become visible after a minute or so.
   1515 Use "postfix reload" to eliminate the delay. </p>
   1516 
   1517 
   1518 </DD>
   1519 
   1520 <DT><b><a name="cleanup_replace_stray_cr_lf">cleanup_replace_stray_cr_lf</a>
   1521 (default: yes)</b></DT><DD>
   1522 
   1523 <p> Replace each stray &lt;CR&gt; or &lt;LF&gt; character in message
   1524 content with a space character, to prevent outbound SMTP smuggling,
   1525 and to make the evaluation of Postfix-added DKIM or other signatures
   1526 independent from how a remote mail server handles such characters.
   1527 </p>
   1528 
   1529 <p> SMTP does not allow such characters unless they are part of a
   1530 &lt;CR&gt;&lt;LF&gt; sequence, and different mail systems handle
   1531 such stray characters in an implementation-dependent manner. Stray
   1532 &lt;CR&gt; or &lt;LF&gt; characters could be used for outbound
   1533 SMTP smuggling, where an attacker uses a Postfix server to send
   1534 message content with a non-standard End-of-DATA sequence that
   1535 triggers inbound SMTP smuggling at a remote SMTP server.</p>
   1536 
   1537 <p> The replacement happens before all other content management,
   1538 and before Postfix may add a DKIM etc. signature; if the signature
   1539 were created first, the replacement could invalidate the signature.
   1540 </p>
   1541 
   1542 <p> In addition to preventing SMTP smuggling, replacing stray
   1543 &lt;CR&gt; or &lt;LF&gt; characters ensures that the result of
   1544 signature validation by later mail system will not depend on how
   1545 that mail system handles those stray characters in an
   1546 implementation-dependent manner. </p>
   1547 
   1548 <p> Note: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a> =
   1549 <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>". </p>
   1550 
   1551 <p> This feature is available in Postfix &ge; 3.9, 3.8.5, 3.7.10,
   1552 3.6.14, and 3.5.24. </p>
   1553 
   1554 
   1555 </DD>
   1556 
   1557 <DT><b><a name="cleanup_service_name">cleanup_service_name</a>
   1558 (default: cleanup)</b></DT><DD>
   1559 
   1560 <p>
   1561 The name of the <a href="cleanup.8.html">cleanup(8)</a> service. This service rewrites addresses
   1562 into the standard form, and performs <a href="canonical.5.html">canonical(5)</a> address mapping
   1563 and <a href="virtual.5.html">virtual(5)</a> aliasing.
   1564 </p>
   1565 
   1566 <p>
   1567 This feature is available in Postfix 2.0 and later.
   1568 </p>
   1569 
   1570 
   1571 </DD>
   1572 
   1573 <DT><b><a name="command_directory">command_directory</a>
   1574 (default: see "postconf -d" output)</b></DT><DD>
   1575 
   1576 <p>
   1577 The location of all postfix administrative commands.
   1578 </p>
   1579 
   1580 
   1581 </DD>
   1582 
   1583 <DT><b><a name="command_execution_directory">command_execution_directory</a>
   1584 (default: empty)</b></DT><DD>
   1585 
   1586 <p> The <a href="local.8.html">local(8)</a> delivery agent working directory for delivery to
   1587 external commands.  Failure to change directory causes the delivery
   1588 to be deferred. </p>
   1589 
   1590 <p> The <a href="postconf.5.html#command_execution_directory">command_execution_directory</a> value is not subject to Postfix
   1591 configuration parameter $name expansion. Instead, the following
   1592 $name expansions are done on <a href="postconf.5.html#command_execution_directory">command_execution_directory</a> before the
   1593 directory is used. Expansion happens in the context
   1594 of the delivery request.  The result of $name expansion is filtered
   1595 with the character set that is specified with the
   1596 <a href="postconf.5.html#execution_directory_expansion_filter">execution_directory_expansion_filter</a> parameter.  </p>
   1597 
   1598 <dl>
   1599 
   1600 <dt><b>$user</b></dt>
   1601 
   1602 <dd>The recipient's username. </dd>
   1603 
   1604 <dt><b>$shell</b></dt>
   1605 
   1606 <dd>The recipient's login shell pathname. </dd>
   1607 
   1608 <dt><b>$home</b></dt>
   1609 
   1610 <dd>The recipient's home directory. </dd>
   1611 
   1612 <dt><b>$recipient</b></dt>
   1613 
   1614 <dd>The full recipient address. </dd>
   1615 
   1616 <dt><b>$extension</b></dt>
   1617 
   1618 <dd>The optional recipient address extension. </dd>
   1619 
   1620 <dt><b>$domain</b></dt>
   1621 
   1622 <dd>The recipient domain. </dd>
   1623 
   1624 <dt><b>$local</b></dt>
   1625 
   1626 <dd>The entire recipient localpart. </dd>
   1627 
   1628 <dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
   1629 
   1630 <dd>The address extension delimiter that was found in the recipient
   1631 address (Postfix 2.11 and later), or the system-wide recipient
   1632 address extension delimiter (Postfix 2.10 and earlier). </dd>
   1633 
   1634 <dt><b>${name?value}</b></dt>
   1635 
   1636 <dt><b>${name?{value}}</b> (Postfix &ge; 3.0)</dt>
   1637 
   1638 <dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
   1639 
   1640 <dt><b>${name:value}</b></dt>
   1641 
   1642 <dt><b>${name:{value}}</b> (Postfix &ge; 3.0)</dt>
   1643 
   1644 <dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
   1645 
   1646 <dt><b>${name?{value1}:{value2}}</b> (Postfix &ge; 3.0)</dt>
   1647 
   1648 <dd>Expands to <i>value1</i> when <i>$name</i> is non-empty,
   1649 <i>value2</i> otherwise. </dd>
   1650 
   1651 </dl>
   1652 
   1653 <p>
   1654 Instead of $name you can also specify ${name} or $(name).
   1655 </p>
   1656 
   1657 <p> This feature is available in Postfix 2.2 and later. </p>
   1658 
   1659 
   1660 </DD>
   1661 
   1662 <DT><b><a name="command_expansion_filter">command_expansion_filter</a>
   1663 (default: see "postconf -d" output)</b></DT><DD>
   1664 
   1665 <p>
   1666 Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
   1667 $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>.
   1668 Characters outside the
   1669 allowed set are replaced by underscores.
   1670 </p>
   1671 
   1672 
   1673 </DD>
   1674 
   1675 <DT><b><a name="command_time_limit">command_time_limit</a>
   1676 (default: 1000s)</b></DT><DD>
   1677 
   1678 <p>
   1679 Time limit for delivery to external commands. This limit is used
   1680 by the <a href="local.8.html">local(8)</a> delivery agent, and is the default time limit for
   1681 delivery by the <a href="pipe.8.html">pipe(8)</a> delivery agent.
   1682 </p>
   1683 
   1684 <p>
   1685 Note: if you set this time limit to a large value you must update the
   1686 global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter as well.
   1687 </p>
   1688 
   1689 
   1690 </DD>
   1691 
   1692 <DT><b><a name="compatibility_level">compatibility_level</a>
   1693 (default: 0)</b></DT><DD>
   1694 
   1695 <p> A safety net that causes Postfix to run with backwards-compatible
   1696 default settings after an upgrade to a newer Postfix version. </p>
   1697 
   1698 <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>
   1699 value is less than the Postfix built-in value), Postfix looks for
   1700 settings that are left at their implicit default value, and logs a
   1701 message when a backwards-compatible default setting is required.
   1702 </p>
   1703 
   1704 <blockquote>
   1705 <pre>
   1706 using backwards-compatible default setting <i>name=value</i>
   1707     to [accept a specific client request]
   1708 
   1709 using backwards-compatible default setting <i>name=value</i>
   1710     to [enable specific Postfix behavior]
   1711 </pre>
   1712 </blockquote>
   1713 
   1714 <p> See <a href="COMPATIBILITY_README.html">COMPATIBILITY_README</a> for specific message details. If such
   1715 a message is logged in the context of a legitimate request, the
   1716 system administrator should make the backwards-compatible setting
   1717 permanent in <a href="postconf.5.html">main.cf</a> or <a href="master.5.html">master.cf</a>, for example: </p>
   1718 
   1719 <blockquote>
   1720 <pre>
   1721 # <b>postconf</b> <i>name=value</i>
   1722 # <b>postfix reload</b>
   1723 </pre>
   1724 </blockquote>
   1725 
   1726 <p> When no more backwards-compatible settings need to be made
   1727 permanent, the administrator should turn off backwards compatibility
   1728 by updating the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting in <a href="postconf.5.html">main.cf</a>:</p>
   1729 
   1730 <blockquote>
   1731 <pre>
   1732 # <b>postconf <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i></b>
   1733 # <b>postfix reload</b>
   1734 </pre>
   1735 </blockquote>
   1736 
   1737 <p> For <i>N</i> specify the number that is logged in your <a href="postfix.1.html">postfix(1)</a>
   1738 warning message: </p>
   1739 
   1740 <blockquote>
   1741 <pre>
   1742 warning: To disable backwards compatibility use "postconf
   1743     <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i>" and "postfix reload"
   1744 </pre>
   1745 </blockquote>
   1746 
   1747 <p> Starting with Postfix version 3.6, the compatibility level in
   1748 the above warning message is the Postfix version that introduced
   1749 the last incompatible change. The level is formatted as
   1750 <i>major.minor.patch</i>, where <i>patch</i> is usually omitted and
   1751 defaults to zero. Earlier compatibility levels are 0, 1 and 2. </p>
   1752 
   1753 <p> NOTE: this also introduces support for the "&lt;level",
   1754 "&lt;=level", and other operators to compare compatibility levels.
   1755 With the standard operators "&lt;", "&lt;=", etc., compatibility
   1756 level "3.10" would be smaller than "3.9" which is undesirable. </p>
   1757 
   1758 <p> This feature is available in Postfix 3.0 and later. </p>
   1759 
   1760 
   1761 </DD>
   1762 
   1763 <DT><b><a name="config_directory">config_directory</a>
   1764 (default: see "postconf -d" output)</b></DT><DD>
   1765 
   1766 <p> The default location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a>
   1767 configuration files. This can be overruled via the following
   1768 mechanisms: </p>
   1769 
   1770 <ul>
   1771 
   1772 <li> <p> The MAIL_CONFIG environment variable (daemon processes
   1773 and commands). </p>
   1774 
   1775 <li> <p> The "-c" command-line option (commands only). </p>
   1776 
   1777 </ul>
   1778 
   1779 <p> With Postfix commands that run with set-gid privileges, a
   1780 <a href="postconf.5.html#config_directory">config_directory</a> override either requires root privileges, or it
   1781 requires that the directory is listed with the <a href="postconf.5.html#alternate_config_directories">alternate_config_directories</a>
   1782 parameter in the default <a href="postconf.5.html">main.cf</a> file.  </p>
   1783 
   1784 
   1785 </DD>
   1786 
   1787 <DT><b><a name="confirm_delay_cleared">confirm_delay_cleared</a>
   1788 (default: no)</b></DT><DD>
   1789 
   1790 <p> After sending a "your message is delayed" notification, inform
   1791 the sender when the delay clears up. This can result in a sudden
   1792 burst of notifications at the end of a prolonged network outage,
   1793 and is therefore disabled by default. </p>
   1794 
   1795 <p> See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>. </p>
   1796 
   1797 <p> This feature is available in Postfix 3.0 and later. </p>
   1798 
   1799 
   1800 </DD>
   1801 
   1802 <DT><b><a name="connection_cache_protocol_timeout">connection_cache_protocol_timeout</a>
   1803 (default: 5s)</b></DT><DD>
   1804 
   1805 <p> Time limit for connection cache connect, send or receive
   1806 operations.  The time limit is enforced in the client. </p>
   1807 
   1808 <p> This feature is available in Postfix 2.3 and later. </p>
   1809 
   1810 
   1811 </DD>
   1812 
   1813 <DT><b><a name="connection_cache_service_name">connection_cache_service_name</a>
   1814 (default: scache)</b></DT><DD>
   1815 
   1816 <p> The name of the <a href="scache.8.html">scache(8)</a> connection cache service.  This service
   1817 maintains a limited pool of cached sessions.  </p>
   1818 
   1819 <p> This feature is available in Postfix 2.2 and later. </p>
   1820 
   1821 
   1822 </DD>
   1823 
   1824 <DT><b><a name="connection_cache_status_update_time">connection_cache_status_update_time</a>
   1825 (default: 600s)</b></DT><DD>
   1826 
   1827 <p> How frequently the <a href="scache.8.html">scache(8)</a> server logs usage statistics with
   1828 connection cache hit and miss rates for logical destinations and for
   1829 physical endpoints. </p>
   1830 
   1831 
   1832 </DD>
   1833 
   1834 <DT><b><a name="connection_cache_ttl_limit">connection_cache_ttl_limit</a>
   1835 (default: 2s)</b></DT><DD>
   1836 
   1837 <p> The maximal time-to-live value that the <a href="scache.8.html">scache(8)</a> connection
   1838 cache server
   1839 allows. Requests that specify a larger TTL will be stored with the
   1840 maximum allowed TTL. The purpose of this additional control is to
   1841 protect the infrastructure against careless people. The cache TTL
   1842 is already bounded by $<a href="postconf.5.html#max_idle">max_idle</a>.  </p>
   1843 
   1844 
   1845 </DD>
   1846 
   1847 <DT><b><a name="content_filter">content_filter</a>
   1848 (default: empty)</b></DT><DD>
   1849 
   1850 <p> After the message is queued, send the entire message to the
   1851 specified <i>transport:destination</i>. The <i>transport</i> name
   1852 specifies the first field of a mail delivery agent definition in
   1853 <a href="master.5.html">master.cf</a>; the syntax of the next-hop <i>destination</i> is described
   1854 in the manual page of the corresponding delivery agent.  More
   1855 information about external content filters is in the Postfix
   1856 <a href="FILTER_README.html">FILTER_README</a> file.  </p>
   1857 
   1858 <p> Notes: </p>
   1859 
   1860 <ul>
   1861 
   1862 <li> <p> This setting has lower precedence than a FILTER action
   1863 that 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>
   1864 table. </p>
   1865 
   1866 <li> <p> The meaning of an empty next-hop filter <i>destination</i>
   1867 is version dependent.  Postfix 2.7 and later will use the recipient
   1868 domain; earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>.  Specify
   1869 "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility with Postfix
   1870 2.6 or earlier, or specify a <a href="postconf.5.html#content_filter">content_filter</a> value with an explicit
   1871 next-hop <i>destination</i>.  </p>
   1872 
   1873 </ul>
   1874 
   1875 
   1876 </DD>
   1877 
   1878 <DT><b><a name="cyrus_sasl_config_path">cyrus_sasl_config_path</a>
   1879 (default: empty)</b></DT><DD>
   1880 
   1881 <p> Search path for Cyrus SASL application configuration files,
   1882 currently used only to locate the $<a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.conf file.
   1883 Specify zero or more directories separated by a colon character,
   1884 or an empty value to use Cyrus SASL's built-in search path.  </p>
   1885 
   1886 <p> Note: some Debian-based Postfix distributions ignore the
   1887 "<a href="postconf.5.html#cyrus_sasl_config_path">cyrus_sasl_config_path</a>" parameter setting, and force Postfix to
   1888 open the file <code>/etc/postfix/sasl/smtpd.conf</code>. </p>
   1889 
   1890 <p> This feature is available in Postfix 2.5 and later when compiled
   1891 with Cyrus SASL 2.1.22 or later. </p>
   1892 
   1893 
   1894 </DD>
   1895 
   1896 <DT><b><a name="daemon_directory">daemon_directory</a>
   1897 (default: see "postconf -d" output)</b></DT><DD>
   1898 
   1899 <p>
   1900 The directory with Postfix support programs and daemon programs.
   1901 These should not be invoked directly by humans. The directory must
   1902 be owned by root.
   1903 </p>
   1904 
   1905 
   1906 </DD>
   1907 
   1908 <DT><b><a name="daemon_table_open_error_is_fatal">daemon_table_open_error_is_fatal</a>
   1909 (default: no)</b></DT><DD>
   1910 
   1911 <p> How a Postfix daemon process handles errors while opening lookup
   1912 tables: gradual degradation or immediate termination. </p>
   1913 
   1914 <dl>
   1915 
   1916 <dt> <b> no </b> (default) </dt> <dd> <p> Gradual degradation: a
   1917 daemon process logs a message of type "error" and continues execution
   1918 with reduced functionality. Features that do not depend on the
   1919 unavailable table will work normally, while features that depend
   1920 on the table will result in a type "warning" message.  <br> When
   1921 the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter value contains the "data" class, the
   1922 Postfix SMTP server and client will report transcripts of sessions
   1923 with an error because a table is unavailable.  </p> </dd>
   1924 
   1925 <dt> <b> yes </b> (historical behavior) </dt> <dd> <p> Immediate
   1926 termination: a daemon process logs a type "fatal" message and
   1927 terminates immediately.  This option reduces the number of possible
   1928 code paths through Postfix, and may therefore be slightly more
   1929 secure than the default.  </p> </dd>
   1930 
   1931 </dl>
   1932 
   1933 <p> For the sake of sanity, the number of type "error" messages is
   1934 limited to 13 over the lifetime of a daemon process. </p>
   1935 
   1936 <p> This feature is available in Postfix 2.9 and later.  </p>
   1937 
   1938 
   1939 </DD>
   1940 
   1941 <DT><b><a name="daemon_timeout">daemon_timeout</a>
   1942 (default: 18000s)</b></DT><DD>
   1943 
   1944 <p> How much time a Postfix daemon process may take to handle a
   1945 request before it is terminated by a built-in watchdog timer.  </p>
   1946 
   1947 <p> Specify a non-zero time value (an integral value plus an optional
   1948 one-letter suffix that specifies the time unit).  Time units: s
   1949 (seconds), m (minutes), h (hours), d (days), w (weeks).
   1950 The default time unit is s (seconds).  </p>
   1951 
   1952 
   1953 </DD>
   1954 
   1955 <DT><b><a name="data_directory">data_directory</a>
   1956 (default: see "postconf -d" output)</b></DT><DD>
   1957 
   1958 <p> The directory with Postfix-writable data files (for example:
   1959 caches, pseudo-random numbers).  This directory must be owned by
   1960 the <a href="postconf.5.html#mail_owner">mail_owner</a> account, and must not be shared with non-Postfix
   1961 software.  </p>
   1962 
   1963 <p> This feature is available in Postfix 2.5 and later. </p>
   1964 
   1965 
   1966 </DD>
   1967 
   1968 <DT><b><a name="debug_peer_level">debug_peer_level</a>
   1969 (default: 2)</b></DT><DD>
   1970 
   1971 <p> The increment in verbose logging level when a nexthop destination,
   1972 remote client or server name or network address matches a pattern
   1973 given with the <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter. </p>
   1974 
   1975 <p> Per-nexthop debug logging is available in Postfix 3.6 and later. </p>
   1976 
   1977 
   1978 </DD>
   1979 
   1980 <DT><b><a name="debug_peer_list">debug_peer_list</a>
   1981 (default: empty)</b></DT><DD>
   1982 
   1983 <p> Optional list of nexthop destination, remote client or server
   1984 name or network address patterns that, if matched, cause the verbose
   1985 logging level to increase by the amount specified in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>.
   1986 </p>
   1987 
   1988 <p> Per-nexthop debug logging is available in Postfix 3.6 and later. </p>
   1989 
   1990 <p> Specify domain names, network/netmask patterns, "/file/name"
   1991 patterns or "<a href="DATABASE_README.html">type:table</a>" lookup tables. The right-hand side result
   1992 from "<a href="DATABASE_README.html">type:table</a>" lookups is ignored. An IPv6 address must be enclosed
   1993 in <tt>[]</tt>.  </p>
   1994 
   1995 <p> Pattern matching of domain names is controlled by the presence
   1996 or 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>
   1997 parameter value.  </p>
   1998 
   1999 <p>
   2000 Examples:
   2001 </p>
   2002 
   2003 <pre>
   2004 <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = 127.0.0.1
   2005 <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = example.com
   2006 </pre>
   2007 
   2008 
   2009 </DD>
   2010 
   2011 <DT><b><a name="debugger_command">debugger_command</a>
   2012 (default: empty)</b></DT><DD>
   2013 
   2014 <p>
   2015 The external command to execute when a Postfix daemon program is
   2016 invoked with the -D option.
   2017 </p>
   2018 
   2019 <p>
   2020 Use "command .. &amp; sleep 5" so that the debugger can attach before
   2021 the process marches on. If you use an X-based debugger, be sure to
   2022 set up your XAUTHORITY environment variable before starting Postfix.
   2023 </p>
   2024 
   2025 <p>
   2026 Note: the command is subject to $name expansion, before it is
   2027 passed to the default command interpreter. Specify "$$" to
   2028 produce a single "$" character.
   2029 </p>
   2030 
   2031 <p>
   2032 Example:
   2033 </p>
   2034 
   2035 <pre>
   2036 <a href="postconf.5.html#debugger_command">debugger_command</a> =
   2037     PATH=/usr/bin:/usr/X11R6/bin
   2038     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
   2039 </pre>
   2040 
   2041 
   2042 </DD>
   2043 
   2044 <DT><b><a name="default_cache_db_type">default_cache_db_type</a>
   2045 (default: see 'postconf -d <a href="postconf.5.html#default_cache_db_type">default_cache_db_type</a>' output)</b></DT><DD>
   2046 
   2047 <p> The default database type for <a href="postconf.5.html#address_verify_map">address_verify_map</a> and
   2048 <a href="postconf.5.html#postscreen_cache_map">postscreen_cache_map</a>. Before Postfix 3.11 those caches used btree
   2049 by default. </p>
   2050 
   2051 <p> This feature is available in Postfix &ge; 3.11. </p>
   2052 
   2053 
   2054 </DD>
   2055 
   2056 <DT><b><a name="default_database_type">default_database_type</a>
   2057 (default: see "postconf -d" output)</b></DT><DD>
   2058 
   2059 <p>
   2060 The default database type for use in <a href="newaliases.1.html">newaliases(1)</a>, <a href="postalias.1.html">postalias(1)</a>
   2061 and <a href="postmap.1.html">postmap(1)</a> commands. On many UNIX systems the default type is
   2062 either <b>lmdb</b> or <b>hash</b>. The default setting is frozen
   2063 when the Postfix system is built.
   2064 </p>
   2065 
   2066 <p>
   2067 Examples:
   2068 </p>
   2069 
   2070 <pre>
   2071 <a href="postconf.5.html#default_database_type">default_database_type</a> = lmdb
   2072 <a href="postconf.5.html#default_database_type">default_database_type</a> = hash
   2073 </pre>
   2074 
   2075 
   2076 </DD>
   2077 
   2078 <DT><b><a name="default_delivery_slot_cost">default_delivery_slot_cost</a>
   2079 (default: 5)</b></DT><DD>
   2080 
   2081 <p>
   2082 How often the Postfix queue manager's scheduler is allowed to
   2083 preempt delivery of one message with another.
   2084 </p>
   2085 
   2086 <p>
   2087 Each transport maintains a so-called "available delivery slot counter"
   2088 for each message. One message can be preempted by another one when
   2089 the other message can be delivered using no more delivery slots
   2090 (i.e., invocations of delivery agents) than the current message
   2091 counter has accumulated (or will eventually accumulate - see about
   2092 slot loans below). This parameter controls how often the counter is
   2093 incremented - it happens after each <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
   2094 recipients have been delivered.
   2095 </p>
   2096 
   2097 <p>
   2098 The cost of 0 is used to disable the preempting scheduling completely.
   2099 The minimum value the scheduling algorithm can use is 2 - use it
   2100 if you want to maximize the message throughput rate. Although there
   2101 is no maximum, it doesn't make much sense to use values above say
   2102 50.
   2103 </p>
   2104 
   2105 <p>
   2106 The only reason why the value of 2 is not the default is the way
   2107 this parameter affects the delivery of mailing-list mail. In the
   2108 worst case, delivery can take somewhere between (cost+1/cost)
   2109 and (cost/cost-1) times more than if the preemptive scheduler was
   2110 disabled. The default value of 5 turns out to provide reasonable
   2111 message response times while making sure the mailing-list deliveries
   2112 are not extended by more than 20-25 percent even in the worst case.
   2113 </p>
   2114 
   2115 <p> Use <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> to specify a
   2116 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   2117 name of the message delivery transport.
   2118 </p>
   2119 
   2120 <p>
   2121 Examples:
   2122 </p>
   2123 
   2124 <pre>
   2125 <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 0
   2126 <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 2
   2127 </pre>
   2128 
   2129 
   2130 </DD>
   2131 
   2132 <DT><b><a name="default_delivery_slot_discount">default_delivery_slot_discount</a>
   2133 (default: 50)</b></DT><DD>
   2134 
   2135 <p>
   2136 The default value for transport-specific _delivery_slot_discount
   2137 settings.
   2138 </p>
   2139 
   2140 <p>
   2141 This parameter speeds up the moment when a message preemption can
   2142 happen. Instead of waiting until the full amount of delivery slots
   2143 required is available, the preemption can happen when
   2144 <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> percent of the required amount
   2145 plus <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> still remains to be accumulated.
   2146 Note that the full amount will still have to be accumulated before
   2147 another preemption can take place later.
   2148 </p>
   2149 
   2150 <p> Use <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> to specify a
   2151 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   2152 name of the message delivery transport.
   2153 </p>
   2154 
   2155 
   2156 </DD>
   2157 
   2158 <DT><b><a name="default_delivery_slot_loan">default_delivery_slot_loan</a>
   2159 (default: 3)</b></DT><DD>
   2160 
   2161 <p>
   2162 The default value for transport-specific _delivery_slot_loan
   2163 settings.
   2164 </p>
   2165 
   2166 <p>
   2167 This parameter speeds up the moment when a message preemption can
   2168 happen. Instead of waiting until the full amount of delivery slots
   2169 required is available, the preemption can happen when
   2170 <a href="postconf.5.html#transport_delivery_slot_discount">transport_delivery_slot_discount</a> percent of the required amount
   2171 plus <a href="postconf.5.html#transport_delivery_slot_loan">transport_delivery_slot_loan</a> still remains to be accumulated.
   2172 Note that the full amount will still have to be accumulated before
   2173 another preemption can take place later.
   2174 </p>
   2175 
   2176 <p> Use <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> to specify a
   2177 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   2178 name of the message delivery transport.
   2179 </p>
   2180 
   2181 
   2182 </DD>
   2183 
   2184 <DT><b><a name="default_delivery_status_filter">default_delivery_status_filter</a>
   2185 (default: empty)</b></DT><DD>
   2186 
   2187 <p> Optional filter in Postfix delivery agents, to replace the
   2188 delivery status code or explanatory text of successful or unsuccessful
   2189 deliveries. This allows the replacement of a temporary error status
   2190 code (4.X.X) with a permanent error status code (5.X.X) or vice
   2191 versa, but does not allow
   2192 the replacement of a successful status code (2.X.X) with an
   2193 unsuccessful status code (4.X.X or 5.X.X) or vice versa. </p>
   2194 
   2195 <p> Note: the (smtp|lmtp)_delivery_status_filter is applied only
   2196 once per recipient: when delivery is successful, when delivery is
   2197 rejected with 5XX, or when there are no more alternate MX or A
   2198 destinations. 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
   2199 responses for all delivery attempts. </p>
   2200 
   2201 <p> The following parameters can be used to implement a filter for
   2202 specific delivery agents: <a href="postconf.5.html#lmtp_delivery_status_filter">lmtp_delivery_status_filter</a>,
   2203 <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>,
   2204 <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
   2205 parameters support the same filter syntax as described here. </p>
   2206 
   2207 <p> Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup table names, separated
   2208 by comma or whitespace. For each successful or unsuccessful delivery
   2209 to a recipient, the tables are queried in the specified order with
   2210 one line of text that is structured as follows: </p>
   2211 
   2212 <blockquote>
   2213 enhanced-status-code SPACE explanatory-text
   2214 </blockquote>
   2215 
   2216 <p> The first table match wins. The lookup result must have the
   2217 same structure as the query, a successful status code (2.X.X) must
   2218 be replaced with a successful status code, an unsuccessful status
   2219 code (4.X.X or 5.X.X) must be replaced with an unsuccessful status
   2220 code, and the explanatory text field must be non-empty. Other results
   2221 will result in a warning.  </p>
   2222 
   2223 <p> Example 1: convert specific soft TLS errors into hard errors,
   2224 by overriding the first number in the enhanced status code.  </p>
   2225 
   2226 <blockquote>
   2227 <pre>
   2228 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   2229     <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
   2230 </pre>
   2231 </blockquote>
   2232 
   2233 <blockquote>
   2234 <pre>
   2235 /etc/postfix/smtp_dsn_filter:
   2236     /^4(\.\d+\.\d+ TLS is required, but host \S+ refused to start TLS: .+)/
   2237         5$1
   2238     /^4(\.\d+\.\d+ TLS is required, but was not offered by host .+)/
   2239         5$1
   2240     # Do not change the following into hard bounces. They may
   2241     # result from a local configuration problem.
   2242     # 4.\d+.\d+ TLS is required, but our TLS engine is unavailable
   2243     # 4.\d+.\d+ TLS is required, but unavailable
   2244     # 4.\d+.\d+ Cannot start TLS: handshake failure
   2245 </pre>
   2246 </blockquote>
   2247 
   2248 <p> Example 2: censor the per-recipient delivery status text so
   2249 that it does not reveal the destination command or filename
   2250 when a remote sender requests confirmation of successful delivery.
   2251 </p>
   2252 
   2253 <blockquote>
   2254 <pre>
   2255 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   2256     <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
   2257 </pre>
   2258 </blockquote>
   2259 
   2260 <blockquote>
   2261 <pre>
   2262 /etc/postfix/local_dsn_filter:
   2263     /^(2\S+ delivered to file).+/    $1
   2264     /^(2\S+ delivered to command).+/ $1
   2265 </pre>
   2266 </blockquote>
   2267 
   2268 <p> Notes: </p>
   2269 
   2270 <ul>
   2271 
   2272 <li> <p> This feature will NOT override the <a href="postconf.5.html#soft_bounce">soft_bounce</a> safety net. </p>
   2273 
   2274 <li> <p> This feature will change the enhanced status code and text
   2275 that is logged to the maillog file, and that is reported to the
   2276 sender in delivery confirmation or non-delivery notifications.
   2277 </p>
   2278 
   2279 </ul>
   2280 
   2281 <p> This feature is available in Postfix 3.0 and later. </p>
   2282 
   2283 
   2284 </DD>
   2285 
   2286 <DT><b><a name="default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
   2287 (default: 1)</b></DT><DD>
   2288 
   2289 <p> How many pseudo-cohorts must suffer connection or handshake
   2290 failure before a specific destination is considered unavailable
   2291 (and further delivery is suspended). Specify zero to disable this
   2292 feature. A destination's pseudo-cohort failure count is reset each
   2293 time a delivery completes without connection or handshake failure
   2294 for that specific destination. </p>
   2295 
   2296 <p> A pseudo-cohort is the number of deliveries equal to a destination's
   2297 delivery concurrency. </p>
   2298 
   2299 <p> Use <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> to specify
   2300 a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   2301 name of the message delivery transport. </p>
   2302 
   2303 <p> This feature is available in Postfix 2.5. The default setting
   2304 is compatible with earlier Postfix versions. </p>
   2305 
   2306 
   2307 </DD>
   2308 
   2309 <DT><b><a name="default_destination_concurrency_limit">default_destination_concurrency_limit</a>
   2310 (default: 20)</b></DT><DD>
   2311 
   2312 <p>
   2313 The default maximal number of parallel deliveries to the same
   2314 destination.  This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>,
   2315 <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.
   2316 With a per-destination recipient limit &gt; 1, a destination is a domain,
   2317 otherwise it is a recipient.
   2318 </p>
   2319 
   2320 <p> Use <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> to specify a
   2321 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   2322 name of the message delivery transport.
   2323 </p>
   2324 
   2325 
   2326 </DD>
   2327 
   2328 <DT><b><a name="default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>
   2329 (default: 1)</b></DT><DD>
   2330 
   2331 <p> The per-destination amount of delivery concurrency negative
   2332 feedback, after a delivery completes with a connection or handshake
   2333 failure. Feedback values are in the range 0..1 inclusive. With
   2334 negative feedback, concurrency is decremented at the beginning of
   2335 a sequence of length 1/feedback. This is unlike positive feedback,
   2336 where concurrency is incremented at the end of a sequence of length
   2337 1/feedback. </p>
   2338 
   2339 <p> As of Postfix version 2.5, negative feedback cannot reduce
   2340 delivery concurrency to zero.  Instead, a destination is marked
   2341 dead (further delivery suspended) after the failed pseudo-cohort
   2342 count reaches $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
   2343 (or $<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>).
   2344 To make the scheduler completely immune to connection or handshake
   2345 failures, specify a zero feedback value and a zero failed pseudo-cohort
   2346 limit.  </p>
   2347 
   2348 <p> Specify one of the following forms: </p>
   2349 
   2350 <dl>
   2351 
   2352 <dt> <b><i>number</i> </b> </dt>
   2353 
   2354 <dt> <b><i>number</i> / <i>number</i> </b> </dt>
   2355 
   2356 <dd> Constant feedback. The value must be in the range 0..1 inclusive.
   2357 The default setting of "1" is compatible with Postfix versions
   2358 before 2.5, where a destination's delivery concurrency is throttled
   2359 down to zero (and further delivery suspended) after a single failed
   2360 pseudo-cohort. </dd>
   2361 
   2362 <dt> <b><i>number</i> / concurrency </b> </dt>
   2363 
   2364 <dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
   2365 The <i>number</i> must be in the range 0..1 inclusive. With
   2366 <i>number</i> equal to "1", a destination's delivery concurrency
   2367 is decremented by 1 after each failed pseudo-cohort.  </dd>
   2368 
   2369 </dl>
   2370 
   2371 <p> A pseudo-cohort is the number of deliveries equal to a destination's
   2372 delivery concurrency. </p>
   2373 
   2374 <p> Use <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
   2375 to specify a transport-specific override, where <i>transport</i>
   2376 is the <a href="master.5.html">master.cf</a>
   2377 name of the message delivery transport. </p>
   2378 
   2379 <p> This feature is available in Postfix 2.5. The default setting
   2380 is compatible with earlier Postfix versions. </p>
   2381 
   2382 
   2383 </DD>
   2384 
   2385 <DT><b><a name="default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>
   2386 (default: 1)</b></DT><DD>
   2387 
   2388 <p> The per-destination amount of delivery concurrency positive
   2389 feedback, after a delivery completes without connection or handshake
   2390 failure. Feedback values are in the range 0..1 inclusive.  The
   2391 concurrency increases until it reaches the per-destination maximal
   2392 concurrency limit. With positive feedback, concurrency is incremented
   2393 at the end of a sequence with length 1/feedback. This is unlike
   2394 negative feedback, where concurrency is decremented at the start
   2395 of a sequence of length 1/feedback. </p>
   2396 
   2397 <p> Specify one of the following forms:  </p>
   2398 
   2399 <dl>
   2400 
   2401 <dt> <b><i>number</i> </b> </dt>
   2402 
   2403 <dt> <b><i>number</i> / <i>number</i> </b> </dt>
   2404 
   2405 <dd> Constant feedback.  The value must be in the range 0..1
   2406 inclusive. The default setting of "1" is compatible with Postfix
   2407 versions before 2.5, where a destination's delivery concurrency
   2408 doubles after each successful pseudo-cohort.  </dd>
   2409 
   2410 <dt> <b><i>number</i> / concurrency </b> </dt>
   2411 
   2412 <dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
   2413 The <i>number</i> must be in the range 0..1 inclusive. With
   2414 <i>number</i> equal to "1", a destination's delivery concurrency
   2415 is incremented by 1 after each successful pseudo-cohort.  </dd>
   2416 
   2417 </dl>
   2418 
   2419 <p> A pseudo-cohort is the number of deliveries equal to a destination's
   2420 delivery concurrency. </p>
   2421 
   2422 <p> Use <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
   2423 to specify a transport-specific override, where <i>transport</i>
   2424 is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
   2425 
   2426 <p> This feature is available in Postfix 2.5 and later.  </p>
   2427 
   2428 
   2429 </DD>
   2430 
   2431 <DT><b><a name="default_destination_rate_delay">default_destination_rate_delay</a>
   2432 (default: 0s)</b></DT><DD>
   2433 
   2434 <p> The default amount of delay that is inserted between individual
   2435 message deliveries to the same destination and over the same message
   2436 delivery transport. Specify a non-zero value to rate-limit those
   2437 message deliveries to at most one per $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>.
   2438 </p>
   2439 
   2440 <p> The resulting behavior depends on the value of the corresponding
   2441 per-destination recipient limit.
   2442 
   2443 </p>
   2444 
   2445 <ul>
   2446 
   2447 <li> <p> With a corresponding per-destination recipient limit &gt;
   2448 1, the rate delay specifies the time between deliveries to the
   2449 <i>same domain</i>.  Different domains are delivered in parallel,
   2450 subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p>
   2451 
   2452 <li> <p> With a corresponding per-destination recipient limit equal
   2453 to 1, the rate delay specifies the time between deliveries to the
   2454 <i>same recipient</i>. Different recipients are delivered in
   2455 parallel, subject to the process limits specified in <a href="master.5.html">master.cf</a>.
   2456 </p>
   2457 
   2458 </ul>
   2459 
   2460 <p> To enable the delay, specify a non-zero time value (an integral
   2461 value plus an optional one-letter suffix that specifies the time
   2462 unit). </p>
   2463 
   2464 <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
   2465 (weeks). The default time unit is s (seconds). </p>
   2466 
   2467 <p> NOTE: the delay is enforced by the queue manager. The delay
   2468 timer state does not survive "<b>postfix reload</b>" or "<b>postfix
   2469 stop</b>".
   2470 </p>
   2471 
   2472 <p> Use <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> to specify a
   2473 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   2474 name of the message delivery transport.
   2475 </p>
   2476 
   2477 <p> NOTE: with a non-zero _destination_rate_delay, specify a
   2478 <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> of 10
   2479 or more to prevent Postfix from deferring all mail for the same
   2480 destination after only one connection or handshake error. </p>
   2481 
   2482 <p> This feature is available in Postfix 2.5 and later. </p>
   2483 
   2484 
   2485 </DD>
   2486 
   2487 <DT><b><a name="default_destination_recipient_limit">default_destination_recipient_limit</a>
   2488 (default: 50)</b></DT><DD>
   2489 
   2490 <p>
   2491 The default maximal number of recipients per message delivery.
   2492 This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>, <a href="pipe.8.html">pipe(8)</a>,
   2493 <a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents.
   2494 </p>
   2495 
   2496 <p> Setting this parameter to a value of 1 affects email deliveries
   2497 as follows:</p>
   2498 
   2499 <ul>
   2500 
   2501 <li> <p> It changes the meaning of the corresponding per-destination
   2502 concurrency limit, from concurrency of deliveries to the <i>same
   2503 domain</i> into concurrency of deliveries to the <i>same recipient</i>.
   2504 Different recipients are delivered in parallel, subject to the
   2505 process limits specified in <a href="master.5.html">master.cf</a>. </p>
   2506 
   2507 <li> <p> It changes the meaning of the corresponding per-destination
   2508 rate delay, from the delay between deliveries to the <i>same
   2509 domain</i> into the delay between deliveries to the <i>same
   2510 recipient</i>.  Again, different recipients are delivered in parallel,
   2511 subject to the process limits specified in <a href="master.5.html">master.cf</a>.  </p>
   2512 
   2513 <li> <p> It changes the meaning of other corresponding per-destination
   2514 settings in a similar manner, from settings for delivery to the
   2515 <i>same domain</i> into settings for delivery to the <i>same
   2516 recipient</i>.
   2517 
   2518 </ul>
   2519 
   2520 <p> Use <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> to specify a
   2521 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   2522 name of the message delivery transport.
   2523 </p>
   2524 
   2525 
   2526 </DD>
   2527 
   2528 <DT><b><a name="default_extra_recipient_limit">default_extra_recipient_limit</a>
   2529 (default: 1000)</b></DT><DD>
   2530 
   2531 <p>
   2532 The default value for the extra per-transport limit imposed on the
   2533 number of in-memory recipients.  This extra recipient space is
   2534 reserved for the cases when the Postfix queue manager's scheduler
   2535 preempts one message with another and suddenly needs some extra
   2536 recipient slots for the chosen message in order to avoid performance
   2537 degradation.
   2538 </p>
   2539 
   2540 <p> Use <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> to specify a
   2541 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   2542 name of the message delivery transport.
   2543 </p>
   2544 
   2545 
   2546 </DD>
   2547 
   2548 <DT><b><a name="default_filter_nexthop">default_filter_nexthop</a>
   2549 (default: empty)</b></DT><DD>
   2550 
   2551 <p> When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies no explicit
   2552 next-hop destination, use $<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> instead; when
   2553 that value is empty, use the domain in the recipient address.
   2554 Specify "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility
   2555 with Postfix version 2.6 and earlier, or specify an explicit next-hop
   2556 destination with each <a href="postconf.5.html#content_filter">content_filter</a> value or FILTER action. </p>
   2557 
   2558 <p> This feature is available in Postfix 2.7 and later.  </p>
   2559 
   2560 
   2561 </DD>
   2562 
   2563 <DT><b><a name="default_minimum_delivery_slots">default_minimum_delivery_slots</a>
   2564 (default: 3)</b></DT><DD>
   2565 
   2566 <p>
   2567 How many recipients a message must have in order to invoke the
   2568 Postfix queue manager's scheduling algorithm at all.  Messages
   2569 which would never accumulate at least this many delivery slots
   2570 (subject to slot cost parameter as well) are never preempted.
   2571 </p>
   2572 
   2573 <p> Use <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> to specify a
   2574 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   2575 name of the message delivery transport.
   2576 </p>
   2577 
   2578 
   2579 </DD>
   2580 
   2581 <DT><b><a name="default_privs">default_privs</a>
   2582 (default: nobody)</b></DT><DD>
   2583 
   2584 <p>
   2585 The default rights used by the <a href="local.8.html">local(8)</a> delivery agent for delivery
   2586 to an external file or command.  These rights are used when delivery
   2587 is requested from an <a href="aliases.5.html">aliases(5)</a> file that is owned by <b>root</b>, or
   2588 when delivery is done on behalf of <b>root</b>. <b>DO NOT SPECIFY A
   2589 PRIVILEGED USER OR THE POSTFIX OWNER</b>.
   2590 </p>
   2591 
   2592 
   2593 </DD>
   2594 
   2595 <DT><b><a name="default_process_limit">default_process_limit</a>
   2596 (default: 100)</b></DT><DD>
   2597 
   2598 <p>
   2599 The default maximal number of Postfix child processes that provide
   2600 a given service. This limit can be overruled for specific services
   2601 in the <a href="master.5.html">master.cf</a> file.
   2602 </p>
   2603 
   2604 
   2605 </DD>
   2606 
   2607 <DT><b><a name="default_rbl_reply">default_rbl_reply</a>
   2608 (default: see "postconf -d" output)</b></DT><DD>
   2609 
   2610 <p>
   2611 The default Postfix SMTP server response template for a request that is
   2612 rejected by an RBL-based restriction. This template can be overruled
   2613 by specific entries in the optional <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> lookup table.
   2614 </p>
   2615 
   2616 <p>
   2617 This feature is available in Postfix 2.0 and later.
   2618 </p>
   2619 
   2620 <p>
   2621 The template does not support Postfix configuration parameter $name
   2622 substitution. Instead, it supports exactly one level of $name
   2623 substitution for the following attributes:
   2624 </p>
   2625 
   2626 <dl>
   2627 
   2628 <dt><b>$client</b></dt>
   2629 
   2630 <dd>The client hostname and IP address, formatted as name[address]. </dd>
   2631 
   2632 <dt><b>$client_address</b></dt>
   2633 
   2634 <dd>The client IP address. </dd>
   2635 
   2636 <dt><b>$client_name</b></dt>
   2637 
   2638 <dd>The client hostname or "unknown". See <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a>
   2639 for more details. </dd>
   2640 
   2641 <dt><b>$reverse_client_name</b></dt>
   2642 
   2643 <dd>The client hostname from address-&gt;name lookup, or "unknown".
   2644 See <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a> for more details. </dd>
   2645 
   2646 <dt><b>$helo_name</b></dt>
   2647 
   2648 <dd>The hostname given in HELO or EHLO command or empty string. </dd>
   2649 
   2650 <dt><b>$rbl_class</b></dt>
   2651 
   2652 <dd>The denylisted entity type: Client host, Helo command, Sender
   2653 address, or Recipient address. </dd>
   2654 
   2655 <dt><b>$rbl_code</b></dt>
   2656 
   2657 <dd>The numerical SMTP response code, as specified with the
   2658 <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> configuration parameter. Note: The numerical
   2659 SMTP response code is required, and must appear at the start of the
   2660 reply. With Postfix version 2.3 and later this information may be followed
   2661 by an <a href="https://tools.ietf.org/html/rfc3463">RFC 3463</a> enhanced status code. </dd>
   2662 
   2663 <dt><b>$rbl_domain</b></dt>
   2664 
   2665 <dd>The RBL domain (without any <i>=address-filter</i>) where
   2666 $rbl_what is denylisted. </dd>
   2667 
   2668 <dt><b>$rbl_reason</b></dt>
   2669 
   2670 <dd>The reason why $rbl_what is denylisted, or an empty string. </dd>
   2671 
   2672 <dt><b>$rbl_what</b></dt>
   2673 
   2674 <dd>The entity that is denylisted (an IP address, a hostname, a domain
   2675 name, or an email address whose domain was denylisted). </dd>
   2676 
   2677 <dt><b>$recipient</b></dt>
   2678 
   2679 <dd>The recipient address or &lt;&gt; in case of the null address. </dd>
   2680 
   2681 <dt><b>$recipient_domain</b></dt>
   2682 
   2683 <dd>The recipient domain or empty string. </dd>
   2684 
   2685 <dt><b>$recipient_name</b></dt>
   2686 
   2687 <dd>The recipient address localpart or &lt;&gt; in case of null address. </dd>
   2688 
   2689 <dt><b>$sender</b></dt>
   2690 
   2691 <dd>The sender address or &lt;&gt; in case of the null address. </dd>
   2692 
   2693 <dt><b>$sender_domain</b></dt>
   2694 
   2695 <dd>The sender domain or empty string. </dd>
   2696 
   2697 <dt><b>$sender_name</b></dt>
   2698 
   2699 <dd>The sender address localpart or &lt;&gt; in case of the null address. </dd>
   2700 
   2701 <dt><b>${name?value}</b></dt>
   2702 
   2703 <dt><b>${name?{value}}</b> (Postfix &ge; 3.0)</dt>
   2704 
   2705 <dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
   2706 
   2707 <dt><b>${name:value}</b></dt>
   2708 
   2709 <dt><b>${name:{value}}</b> (Postfix &ge; 3.0)</dt>
   2710 
   2711 <dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
   2712 
   2713 <dt><b>${name?{value1}:{value2}}</b> (Postfix &ge; 3.0)</dt>
   2714 
   2715 <dd>Expands to <i>value1</i> when <i>$name</i> is non-empty,
   2716 <i>value2</i> otherwise. </dd>
   2717 
   2718 </dl>
   2719 
   2720 <p>
   2721 Instead of $name you can also specify ${name} or $(name).
   2722 </p>
   2723 
   2724 <p> Note: when an enhanced status code is specified in an RBL reply
   2725 template, it is subject to modification.  The following transformations
   2726 are needed when the same RBL response template is used for client,
   2727 helo, sender, or recipient access restrictions.  </p>
   2728 
   2729 <ul>
   2730 
   2731 <li> <p> When rejecting a sender address, the Postfix SMTP server
   2732 will transform a recipient DSN status (e.g., 4.1.1-4.1.6) into the
   2733 corresponding sender DSN status, and vice versa. </p>
   2734 
   2735 <li> <p> When rejecting non-address information (such as the HELO
   2736 command argument or the client hostname/address), the Postfix SMTP
   2737 server will transform a sender or recipient DSN status into a generic
   2738 non-address DSN status (e.g., 4.0.0).  </p>
   2739 
   2740 </ul>
   2741 
   2742 
   2743 </DD>
   2744 
   2745 <DT><b><a name="default_recipient_limit">default_recipient_limit</a>
   2746 (default: 20000)</b></DT><DD>
   2747 
   2748 <p>
   2749 The default per-transport upper limit on the number of in-memory
   2750 recipients.  These limits take priority over the global
   2751 <a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> after the message has been assigned
   2752 to the respective transports.  See also <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
   2753 and <a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>.
   2754 </p>
   2755 
   2756 <p> Use <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> to specify a
   2757 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   2758 name of the message delivery transport.
   2759 </p>
   2760 
   2761 
   2762 </DD>
   2763 
   2764 <DT><b><a name="default_recipient_refill_delay">default_recipient_refill_delay</a>
   2765 (default: 5s)</b></DT><DD>
   2766 
   2767 <p>
   2768 The default per-transport maximum delay between refilling recipients.
   2769 When not all message recipients fit into memory at once, keep loading
   2770 more of them at least once every this many seconds.  This is used to
   2771 make sure the recipients are refilled in a timely manner even when
   2772 $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> is too high for too slow deliveries.
   2773 </p>
   2774 
   2775 <p> Use <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> to specify a
   2776 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   2777 name of the message delivery transport.
   2778 </p>
   2779 
   2780 <p> This feature is available in Postfix 2.4 and later. </p>
   2781 
   2782 
   2783 </DD>
   2784 
   2785 <DT><b><a name="default_recipient_refill_limit">default_recipient_refill_limit</a>
   2786 (default: 100)</b></DT><DD>
   2787 
   2788 <p>
   2789 The default per-transport limit on the number of recipients refilled at
   2790 once.  When not all message recipients fit into memory at once, keep
   2791 loading more of them in batches of at least this many at a time.  See also
   2792 $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>, which may result in recipient batches
   2793 lower than this when this limit is too high for too slow deliveries.
   2794 </p>
   2795 
   2796 <p> Use <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> to specify a
   2797 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   2798 name of the message delivery transport.
   2799 </p>
   2800 
   2801 <p> This feature is available in Postfix 2.4 and later. </p>
   2802 
   2803 
   2804 </DD>
   2805 
   2806 <DT><b><a name="default_transport">default_transport</a>
   2807 (default: smtp)</b></DT><DD>
   2808 
   2809 <p>
   2810 The default mail delivery transport and next-hop destination for
   2811 the <a href="ADDRESS_CLASS_README.html#default_domain_class">default domain</a> class: recipient domains that do not match
   2812 $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
   2813 $<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>,
   2814 or $<a href="postconf.5.html#relay_domains">relay_domains</a>. This information will not be used when
   2815 <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> returns a result, and may
   2816 be overridden with the <a href="transport.5.html">transport(5)</a> table. </p>
   2817 
   2818 <p> For recipient domains in the <a href="ADDRESS_CLASS_README.html#default_domain_class">default domain</a> class: <p>
   2819 
   2820 <ul>
   2821 
   2822 <li> <p> In order of decreasing precedence, the delivery transport
   2823 is taken from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2)
   2824 $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> or $<a href="postconf.5.html#default_transport">default_transport</a>.
   2825 </p>
   2826 
   2827 <li> <p> In order of decreasing precedence, the nexthop destination
   2828 is taken from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2)
   2829 $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> or $<a href="postconf.5.html#default_transport">default_transport</a>, 3)
   2830 $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a> or the recipient
   2831 domain. </p>
   2832 
   2833 </ul>
   2834 
   2835 <p>
   2836 Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
   2837 is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
   2838 The <i>:nexthop</i> destination is optional; its syntax is documented
   2839 in the manual page of the corresponding delivery agent. In the case of
   2840 SMTP or LMTP, specify one or more destinations separated by comma or
   2841 whitespace (with Postfix 3.5 and later).
   2842 </p>
   2843 
   2844 <p>
   2845 Example:
   2846 </p>
   2847 
   2848 <pre>
   2849 <a href="postconf.5.html#default_transport">default_transport</a> = uucp:relayhostname
   2850 </pre>
   2851 
   2852 
   2853 </DD>
   2854 
   2855 <DT><b><a name="default_transport_rate_delay">default_transport_rate_delay</a>
   2856 (default: 0s)</b></DT><DD>
   2857 
   2858 <p> The default amount of delay that is inserted between individual
   2859 message deliveries over the same message delivery transport,
   2860 regardless of destination. Specify a non-zero value to rate-limit
   2861 those message deliveries to at most one per $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>.
   2862 </p>
   2863 
   2864 <p>Use <a href="postconf.5.html#transport_transport_rate_delay"><i>transport</i>_transport_rate_delay</a> to specify a
   2865 transport-specific override, where the initial <i>transport</i> is
   2866 the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
   2867 
   2868 <p> Example: throttle outbound SMTP mail to at most 3 deliveries
   2869 per minute. </p>
   2870 
   2871 <pre>
   2872 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   2873     smtp_transport_rate_delay = 20s
   2874 </pre>
   2875 
   2876 <p> To enable the delay, specify a non-zero time value (an integral
   2877 value plus an optional one-letter suffix that specifies the time
   2878 unit). </p>
   2879 
   2880 <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
   2881 (weeks). The default time unit is s (seconds). </p>
   2882 
   2883 <p> NOTE: the delay is enforced by the queue manager. </p>
   2884 
   2885 <p> This feature is available in Postfix 3.1 and later. </p>
   2886 
   2887 
   2888 </DD>
   2889 
   2890 <DT><b><a name="default_verp_delimiters">default_verp_delimiters</a>
   2891 (default: +=)</b></DT><DD>
   2892 
   2893 <p> The two default VERP delimiter characters. These are used when
   2894 no explicit delimiters are specified with the SMTP XVERP command
   2895 or with the "<b>sendmail -XV</b>" command-line option (Postfix 2.2
   2896 and earlier: <b>-V</b>). Specify characters that are allowed by the
   2897 <a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> setting.
   2898 </p>
   2899 
   2900 <p>
   2901 This feature is available in Postfix 1.1 and later.
   2902 </p>
   2903 
   2904 
   2905 </DD>
   2906 
   2907 <DT><b><a name="defer_code">defer_code</a>
   2908 (default: 450)</b></DT><DD>
   2909 
   2910 <p>
   2911 The numerical Postfix SMTP server response code when a remote SMTP
   2912 client request is rejected by the "defer" restriction.
   2913 </p>
   2914 
   2915 <p>
   2916 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   2917 </p>
   2918 
   2919 
   2920 </DD>
   2921 
   2922 <DT><b><a name="defer_service_name">defer_service_name</a>
   2923 (default: defer)</b></DT><DD>
   2924 
   2925 <p>
   2926 The name of the defer service. This service is implemented by the
   2927 <a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
   2928 of failed delivery attempts and generates non-delivery notifications.
   2929 </p>
   2930 
   2931 <p>
   2932 This feature is available in Postfix 2.0 and later.
   2933 </p>
   2934 
   2935 
   2936 </DD>
   2937 
   2938 <DT><b><a name="defer_transports">defer_transports</a>
   2939 (default: empty)</b></DT><DD>
   2940 
   2941 <p>
   2942 The names of message delivery transports that should not deliver mail
   2943 unless someone issues "<b>sendmail -q</b>" or equivalent. Specify zero
   2944 or more mail delivery transport names that appear in the
   2945 first field of <a href="master.5.html">master.cf</a>.
   2946 </p>
   2947 
   2948 <p>
   2949 Example:
   2950 </p>
   2951 
   2952 <pre>
   2953 <a href="postconf.5.html#defer_transports">defer_transports</a> = smtp
   2954 </pre>
   2955 
   2956 
   2957 </DD>
   2958 
   2959 <DT><b><a name="delay_logging_resolution_limit">delay_logging_resolution_limit</a>
   2960 (default: 2)</b></DT><DD>
   2961 
   2962 <p> The maximal number of digits after the decimal point when logging
   2963 delay values. Specify a number in the range 0..6. </p>
   2964 
   2965 <p> To improve readability, delays are logged with only a limited
   2966 number of significant digits: </p>
   2967 
   2968 <ul>
   2969 
   2970 <li> Delays &ge; 100s are rounded off to an integral number of
   2971 seconds.
   2972 
   2973 <li> Delays &lt; 10<sup>-$<a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a></sup> are
   2974 rounded off to "0".
   2975 
   2976 <li> Other delays are rounded off to two significant digits, or
   2977 fewer if the result would exceed the <a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a>.
   2978 
   2979 </ul>
   2980 
   2981 <p> The format of the "delays=a/b/c/d" logging is as follows: </p>
   2982 
   2983 <ul>
   2984 
   2985 <li> a = Time from message arrival to last <a href="QSHAPE_README.html#active_queue">active queue</a> entry.
   2986 
   2987 <li> b = Time from last <a href="QSHAPE_README.html#active_queue">active queue</a> entry to the beginning of
   2988 connection setup.
   2989 
   2990 <li> c = Time in connection setup. With SMTP, that is the time
   2991 before sending the MAIL FROM command: with a new connection, that
   2992 includes DNS lookups, and protocol handshakes with TCP, EHLO, and
   2993 STARTTLS; with a reused connection, that includes DNS lookups,
   2994 connection cache lookup by domain or IP address, and a liveness
   2995 probe with RSET.
   2996 
   2997 <li> d = Time in message transmission. With SMTP, that starts with
   2998 sending MAIL FROM.
   2999 
   3000 </ul>
   3001 
   3002 <p> This feature is available in Postfix 2.3 and later.  </p>
   3003 
   3004 
   3005 </DD>
   3006 
   3007 <DT><b><a name="delay_notice_recipient">delay_notice_recipient</a>
   3008 (default: postmaster)</b></DT><DD>
   3009 
   3010 <p>
   3011 The recipient of postmaster notifications with the message headers
   3012 of mail that cannot be delivered within $<a href="postconf.5.html#delay_warning_time">delay_warning_time</a> time
   3013 units.  </p>
   3014 
   3015 <p>
   3016 See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>.
   3017 </p>
   3018 
   3019 
   3020 </DD>
   3021 
   3022 <DT><b><a name="delay_warning_time">delay_warning_time</a>
   3023 (default: 0h)</b></DT><DD>
   3024 
   3025 <p>
   3026 The time after which the sender receives a copy of the message
   3027 headers of mail that is still queued. The <a href="postconf.5.html#confirm_delay_cleared">confirm_delay_cleared</a>
   3028 parameter controls sender notification when the delay clears up.
   3029 </p>
   3030 
   3031 <p>
   3032 To enable this feature, specify a non-zero time value (an integral
   3033 value plus an optional one-letter suffix that specifies the time
   3034 unit).
   3035 </p>
   3036 
   3037 <p>
   3038 Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
   3039 The default time unit is h (hours).
   3040 </p>
   3041 
   3042 <p>
   3043 See 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>.
   3044 </p>
   3045 
   3046 
   3047 </DD>
   3048 
   3049 <DT><b><a name="deliver_lock_attempts">deliver_lock_attempts</a>
   3050 (default: 20)</b></DT><DD>
   3051 
   3052 <p>
   3053 The maximal number of attempts to acquire an exclusive lock on a
   3054 mailbox file or <a href="bounce.8.html">bounce(8)</a> logfile.
   3055 </p>
   3056 
   3057 
   3058 </DD>
   3059 
   3060 <DT><b><a name="deliver_lock_delay">deliver_lock_delay</a>
   3061 (default: 1s)</b></DT><DD>
   3062 
   3063 <p>
   3064 The time between attempts to acquire an exclusive lock on a mailbox
   3065 file or <a href="bounce.8.html">bounce(8)</a> logfile.
   3066 </p>
   3067 
   3068 <p> Specify a non-zero time value (an integral value plus an optional
   3069 one-letter suffix that specifies the time unit).  Time units: s
   3070 (seconds), m (minutes), h (hours), d (days), w (weeks).
   3071 The default time unit is s (seconds).  </p>
   3072 
   3073 
   3074 </DD>
   3075 
   3076 <DT><b><a name="destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a>
   3077 (default: no)</b></DT><DD>
   3078 
   3079 <p> Make the queue manager's feedback algorithm verbose for performance
   3080 analysis purposes. </p>
   3081 
   3082 <p> This feature is available in Postfix 2.5 and later. </p>
   3083 
   3084 
   3085 </DD>
   3086 
   3087 <DT><b><a name="detect_8bit_encoding_header">detect_8bit_encoding_header</a>
   3088 (default: yes)</b></DT><DD>
   3089 
   3090 <p> Automatically detect 8BITMIME body content by looking at
   3091 Content-Transfer-Encoding: message headers; historically, this
   3092 behavior was hard-coded to be "always on".  </p>
   3093 
   3094 <p> This feature is available in Postfix 2.5 and later. </p>
   3095 
   3096 
   3097 </DD>
   3098 
   3099 <DT><b><a name="disable_dns_lookups">disable_dns_lookups</a>
   3100 (default: no)</b></DT><DD>
   3101 
   3102 <p>
   3103 Disable DNS lookups in the Postfix SMTP and LMTP clients. When
   3104 disabled, hosts are looked up with the getaddrinfo() system
   3105 library routine which normally also looks in /etc/hosts.  As of
   3106 Postfix 2.11, this parameter is deprecated; use <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>
   3107 instead.
   3108 </p>
   3109 
   3110 <p>
   3111 DNS lookups are enabled by default.
   3112 </p>
   3113 
   3114 
   3115 </DD>
   3116 
   3117 <DT><b><a name="disable_mime_input_processing">disable_mime_input_processing</a>
   3118 (default: no)</b></DT><DD>
   3119 
   3120 <p>
   3121 Turn off MIME processing while receiving mail. This means that no
   3122 special treatment is given to Content-Type: message headers, and
   3123 that all text after the initial message headers is considered to
   3124 be part of the message body.
   3125 </p>
   3126 
   3127 <p>
   3128 This feature is available in Postfix 2.0 and later.
   3129 </p>
   3130 
   3131 <p>
   3132 Mime input processing is enabled by default, and is needed in order
   3133 to recognize MIME headers in message content.
   3134 </p>
   3135 
   3136 
   3137 </DD>
   3138 
   3139 <DT><b><a name="disable_mime_output_conversion">disable_mime_output_conversion</a>
   3140 (default: no)</b></DT><DD>
   3141 
   3142 <p>
   3143 Disable the conversion of 8BITMIME format to 7BIT format.  Mime
   3144 output conversion is needed when the destination does not advertise
   3145 8BITMIME support.
   3146 </p>
   3147 
   3148 <p>
   3149 This feature is available in Postfix 2.0 and later.
   3150 </p>
   3151 
   3152 
   3153 </DD>
   3154 
   3155 <DT><b><a name="disable_verp_bounces">disable_verp_bounces</a>
   3156 (default: no)</b></DT><DD>
   3157 
   3158 <p>
   3159 Disable sending one bounce report per recipient.
   3160 </p>
   3161 
   3162 <p>
   3163 The default, one per recipient, is what ezmlm needs.
   3164 </p>
   3165 
   3166 <p>
   3167 This feature is available in Postfix 1.1 and later.
   3168 </p>
   3169 
   3170 
   3171 </DD>
   3172 
   3173 <DT><b><a name="disable_vrfy_command">disable_vrfy_command</a>
   3174 (default: no)</b></DT><DD>
   3175 
   3176 <p>
   3177 Disable the SMTP VRFY command. This stops some techniques used to
   3178 harvest email addresses.
   3179 </p>
   3180 
   3181 <p>
   3182 Example:
   3183 </p>
   3184 
   3185 <pre>
   3186 <a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> = no
   3187 </pre>
   3188 
   3189 
   3190 </DD>
   3191 
   3192 <DT><b><a name="dns_ncache_ttl_fix_enable">dns_ncache_ttl_fix_enable</a>
   3193 (default: no)</b></DT><DD>
   3194 
   3195 <p> Enable a workaround for future libc incompatibility. The Postfix
   3196 implementation of <a href="https://tools.ietf.org/html/rfc2308">RFC 2308</a> negative reply caching relies on the
   3197 promise that res_query() and res_search() invoke res_send(), which
   3198 returns the server response in an application buffer even if the
   3199 requested record does not exist. If this promise is broken, specify
   3200 "yes" to enable a  workaround for DNS reputation lookups. </p>
   3201 
   3202 <p>
   3203 This feature is available in Postfix 3.1 and later.
   3204 </p>
   3205 
   3206 
   3207 </DD>
   3208 
   3209 <DT><b><a name="dnsblog_reply_delay">dnsblog_reply_delay</a>
   3210 (default: 0s)</b></DT><DD>
   3211 
   3212 <p> A debugging aid to artificially delay DNS responses. </p>
   3213 
   3214 <p> This feature is available in Postfix 2.8.  </p>
   3215 
   3216 
   3217 </DD>
   3218 
   3219 <DT><b><a name="dnsblog_service_name">dnsblog_service_name</a>
   3220 (default: dnsblog)</b></DT><DD>
   3221 
   3222 <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
   3223 service performs DNS allow/denylist lookups. </p>
   3224 
   3225 <p> This feature is available in Postfix 2.8 and later. </p>
   3226 
   3227 
   3228 </DD>
   3229 
   3230 <DT><b><a name="dnssec_probe">dnssec_probe</a>
   3231 (default: ns:.)</b></DT><DD>
   3232 
   3233 <p> The DNS query type (default: "ns") and DNS query name (default:
   3234 ".") that Postfix may use to determine whether DNSSEC validation
   3235 is available.
   3236 </p>
   3237 
   3238 <p> Background: DNSSEC validation is needed for Postfix DANE support;
   3239 this ensures that Postfix receives TLSA records with secure TLS
   3240 server certificate info. When DNSSEC validation is unavailable,
   3241 mail deliveries using <i>opportunistic</i> DANE will not be protected
   3242 by server certificate info in TLSA records, and mail deliveries
   3243 using <i>mandatory</i> DANE will not be made at all. </p>
   3244 
   3245 <p> By default, a Postfix process will send a DNSSEC probe after
   3246 1) the process made a DNS query that requested DNSSEC validation,
   3247 2) the process did not receive a DNSSEC validated response to this
   3248 query or to an earlier query, and 3) the process did not already
   3249 send a DNSSEC probe. <p>
   3250 
   3251 <p> When the DNSSEC probe has no response, or when the response is
   3252 not DNSSEC validated, Postfix logs a warning that DNSSEC validation
   3253 may be unavailable. </p>
   3254 
   3255 <p> Example: </p>
   3256 
   3257 <pre>
   3258 warning: DNSSEC validation may be unavailable
   3259 warning: reason: <a href="postconf.5.html#dnssec_probe">dnssec_probe</a> 'ns:.' received a response that is not DNSSEC validated
   3260 warning: reason: <a href="postconf.5.html#dnssec_probe">dnssec_probe</a> 'ns:.' received no response: Server failure
   3261 </pre>
   3262 
   3263 <p> Possible reasons why DNSSEC validation may be unavailable: </p>
   3264 
   3265 <ul>
   3266 
   3267 <li> The local /etc/resolv.conf file specifies a DNS resolver that
   3268 does not validate DNSSEC signatures (that's
   3269 $<a href="postconf.5.html#queue_directory">queue_directory</a>/etc/resolv.conf when a Postfix daemon runs in a
   3270 chroot jail).
   3271 
   3272 <li> The local system library does not pass on the "DNSSEC validated"
   3273 bit to Postfix, or Postfix does not know how to ask the library to
   3274 do that.
   3275 
   3276 </ul>
   3277 
   3278 <p> By default, the DNSSEC probe asks for the DNS root zone NS
   3279 records, because resolvers should always have that information
   3280 cached. If Postfix runs on a network where the DNS root zone is not
   3281 reachable, specify a different probe, or specify an empty <a href="postconf.5.html#dnssec_probe">dnssec_probe</a>
   3282 value to disable the feature. </p>
   3283 
   3284 <p> This feature is available in Postfix 3.6 and later. It was backported
   3285 to Postfix versions 3.5.9, 3.4.19, 3.3.16. 3.2.21. </p>
   3286 
   3287 
   3288 </DD>
   3289 
   3290 <DT><b><a name="domain_to_ascii">domain_to_ascii</a>
   3291 (default: no default)</b></DT><DD>
   3292 
   3293 <p> A function that returns the ASCII representation of its domain
   3294 name argument. If the argument contains only (7-bit) ASCII characters
   3295 (A-label form), then <a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{} will return the same value.
   3296 If the argument contains a valid non-ASCII domain name (U-label
   3297 form), then <a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{} will return the corresponding Punycode
   3298 (A-label form). Other argument values may result in a program
   3299 start-up error. </p>
   3300 
   3301 <p> Examples: </p>
   3302 
   3303 <ul>
   3304 
   3305 <li> <p> The examples below assume that <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a>
   3306 contains the default setting: </p>
   3307 <pre>
   3308 <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a> = <a href="DATABASE_README.html#types">inline</a>:{
   3309     { ${<a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{$<a href="postconf.5.html#mydomain">mydomain</a>}} = opportunistic },
   3310     { .${<a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{$<a href="postconf.5.html#mydomain">mydomain</a>}} = opportunistic },
   3311      ...
   3312 </pre>
   3313 
   3314 <li> <p> Example 1: when <a href="postconf.5.html#mydomain">mydomain</a> contains only ASCII characters,
   3315 <a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{} returns the same value. </p>
   3316 <pre>
   3317 # postconf -o '<a href="postconf.5.html#mydomain">mydomain</a>=foo.example' -x <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a>
   3318 <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a> = <a href="DATABASE_README.html#types">inline</a>:{
   3319     { foo.example = opportunistic },
   3320     { .foo.example = opportunistic },
   3321      ...
   3322 </pre>
   3323 
   3324 <li> <p> Example 2: when <a href="postconf.5.html#mydomain">mydomain</a> contains non-ASCII characters,
   3325 <a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{} returns the Punycode representation. </p>
   3326 <pre>
   3327 # postconf -o '<a href="postconf.5.html#mydomain">mydomain</a>=.example' -x <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a>
   3328 <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a> = <a href="DATABASE_README.html#types">inline</a>:{
   3329     { xn--1xa.example = opportunistic },
   3330     { .xn--1xa.example = opportunistic },
   3331      ...
   3332 </pre>
   3333 
   3334 </ul>
   3335 
   3336 <p> This feature is available in Postfix &ge; 3.11. </p>
   3337 
   3338 
   3339 </DD>
   3340 
   3341 <DT><b><a name="dont_remove">dont_remove</a>
   3342 (default: 0)</b></DT><DD>
   3343 
   3344 <p>
   3345 Don't remove queue files and save them to the "saved" mail queue.
   3346 This is a debugging aid.  To inspect the envelope information and
   3347 content of a Postfix queue file, use the <a href="postcat.1.html">postcat(1)</a> command.
   3348 </p>
   3349 
   3350 
   3351 </DD>
   3352 
   3353 <DT><b><a name="double_bounce_sender">double_bounce_sender</a>
   3354 (default: double-bounce)</b></DT><DD>
   3355 
   3356 <p> The sender address of postmaster notifications that are generated
   3357 by the mail system. All mail to this address is silently discarded,
   3358 in order to terminate mail bounce loops.  </p>
   3359 
   3360 
   3361 </DD>
   3362 
   3363 <DT><b><a name="duplicate_filter_limit">duplicate_filter_limit</a>
   3364 (default: 1000)</b></DT><DD>
   3365 
   3366 <p> The maximal number of addresses remembered by the address
   3367 duplicate filter for <a href="aliases.5.html">aliases(5)</a> or <a href="virtual.5.html">virtual(5)</a> alias expansion, or
   3368 for <a href="showq.8.html">showq(8)</a> queue displays.  </p>
   3369 
   3370 
   3371 </DD>
   3372 
   3373 <DT><b><a name="empty_address_default_transport_maps_lookup_key">empty_address_default_transport_maps_lookup_key</a>
   3374 (default: &lt;&gt;)</b></DT><DD>
   3375 
   3376 <p> The <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> search string that
   3377 will be used instead of the null sender address. </p>
   3378 
   3379 <p> This feature is available in Postfix 2.7 and later.  </p>
   3380 
   3381 
   3382 </DD>
   3383 
   3384 <DT><b><a name="empty_address_local_login_sender_maps_lookup_key">empty_address_local_login_sender_maps_lookup_key</a>
   3385 (default: &lt;&gt;)</b></DT><DD>
   3386 
   3387 <p>
   3388 The lookup key to be used in <a href="postconf.5.html#local_login_sender_maps">local_login_sender_maps</a> tables, instead
   3389 of the null sender address.
   3390 </p>
   3391 
   3392 <p> This feature is available in Postfix 3.6 and later. </p>
   3393 
   3394 
   3395 </DD>
   3396 
   3397 <DT><b><a name="empty_address_recipient">empty_address_recipient</a>
   3398 (default: MAILER-DAEMON)</b></DT><DD>
   3399 
   3400 <p>
   3401 The recipient of mail addressed to the null address.  Postfix does
   3402 not accept such addresses in SMTP commands, but they may still be
   3403 created locally as the result of configuration or software error.
   3404 </p>
   3405 
   3406 
   3407 </DD>
   3408 
   3409 <DT><b><a name="empty_address_relayhost_maps_lookup_key">empty_address_relayhost_maps_lookup_key</a>
   3410 (default: &lt;&gt;)</b></DT><DD>
   3411 
   3412 <p> The <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> search string that will be
   3413 used instead of the null sender address. </p>
   3414 
   3415 <p> This feature is available in Postfix 2.5 and later. With
   3416 earlier versions, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> lookups were
   3417 skipped for the null sender address.  </p>
   3418 
   3419 
   3420 </DD>
   3421 
   3422 <DT><b><a name="enable_errors_to">enable_errors_to</a>
   3423 (default: no)</b></DT><DD>
   3424 
   3425 <p> Report mail delivery errors to the address specified with the
   3426 non-standard Errors-To: message header, instead of the envelope
   3427 sender address (this feature is removed with Postfix version 2.2, is
   3428 turned off by default with Postfix version 2.1, and is always turned on
   3429 with older Postfix versions).  </p>
   3430 
   3431 
   3432 </DD>
   3433 
   3434 <DT><b><a name="enable_idna2003_compatibility">enable_idna2003_compatibility</a>
   3435 (default: no)</b></DT><DD>
   3436 
   3437 <p> Enable 'transitional' compatibility between IDNA2003 and IDNA2008,
   3438 when converting UTF-8 domain names to/from the ASCII form that is
   3439 used for DNS lookups. Specify "yes" for compatibility with Postfix
   3440 &le; 3.1 (not recommended). This affects the conversion of domain
   3441 names that contain for example the German sz and the Greek sigma.
   3442 See <a href="https://unicode.org/cldr/utility/idna.jsp">https://unicode.org/cldr/utility/idna.jsp</a> for more examples.
   3443 </p>
   3444 
   3445 <p> This feature is available in Postfix 3.2 and later.  </p>
   3446 
   3447 
   3448 </DD>
   3449 
   3450 <DT><b><a name="enable_long_queue_ids">enable_long_queue_ids</a>
   3451 (default: no)</b></DT><DD>
   3452 
   3453 <p> Enable long, non-repeating, queue IDs (queue file names).  The
   3454 benefit of non-repeating names is simpler logfile analysis and
   3455 easier queue migration (there is no need to run "postsuper" to
   3456 change queue file names that don't match their message file inode
   3457 number).  </p>
   3458 
   3459 <p> Note: see below for how to convert long queue file names to
   3460 Postfix &le; 2.8. </p>
   3461 
   3462 <p> Changing the parameter value to "yes" has the following effects:
   3463 </p>
   3464 
   3465 <ul>
   3466 
   3467 <li> <p> Existing queue file names are not affected. </p>
   3468 
   3469 <li> <p> New queue files are created with names such as 3Pt2mN2VXxznjll.
   3470 These are encoded in a 52-character alphabet that contains digits
   3471 (0-9), upper-case letters (B-Z) and lower-case letters (b-z). For
   3472 safety reasons the vowels (AEIOUaeiou) are excluded from the alphabet.
   3473 The name format is: 6 or more characters for the time in seconds,
   3474 4 characters for the time in microseconds, the 'z'; the remainder
   3475 is the file inode number encoded in the first 51 characters of the
   3476 52-character alphabet.  </p>
   3477 
   3478 <li> <p> New messages have a Message-ID header with
   3479 <i>queueID</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>.  </p>
   3480 
   3481 <li> <p> The mailq (postqueue -p) output has a wider Queue ID column.
   3482 The number of whitespace-separated fields is not changed. <p>
   3483 
   3484 <li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters
   3485 of the queue file creation time in microseconds, after conversion
   3486 into hexadecimal representation. This produces the same queue hashing
   3487 behavior as if the queue file name was created with "<a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>
   3488 = no". </p>
   3489 
   3490 </ul>
   3491 
   3492 <p> Changing the parameter value to "no" has the following effects:
   3493 </p>
   3494 
   3495 <ul>
   3496 
   3497 <li> <p> Existing long queue file names are renamed to the short
   3498 form (while running "postfix reload" or "postsuper").  </p>
   3499 
   3500 <li> <p> New queue files are created with names such as C3CD21F3E90
   3501 from a hexadecimal alphabet that contains digits (0-9) and upper-case
   3502 letters (A-F). The name format is: 5 characters for the time in
   3503 microseconds; the remainder is the file inode number. </p>
   3504 
   3505 <li> <p> New messages have a Message-ID header with
   3506 <i>YYYYMMDDHHMMSS.queueid</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>, where
   3507 <i>YYYYMMDDHHMMSS</i> are the year, month, day, hour, minute and
   3508 second.
   3509 
   3510 <li> <p> The mailq (postqueue -p) output has the same format as
   3511 with Postfix &le; 2.8. <p>
   3512 
   3513 <li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters
   3514 of the queue file name, with the hexadecimal representation of the
   3515 file creation time in microseconds.  </p>
   3516 
   3517 </ul>
   3518 
   3519 <p> Before migration to Postfix &le; 2.8, the following commands
   3520 are required to convert long queue file names into short names: </p>
   3521 
   3522 <pre>
   3523 # postfix stop
   3524 # postconf <a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>=no
   3525 # postsuper
   3526 </pre>
   3527 
   3528 <p> Repeat the postsuper command until it reports no more queue file
   3529 name changes. </p>
   3530 
   3531 <p> This feature is available in Postfix 2.9 and later.  </p>
   3532 
   3533 
   3534 </DD>
   3535 
   3536 <DT><b><a name="enable_original_recipient">enable_original_recipient</a>
   3537 (default: yes)</b></DT><DD>
   3538 
   3539 <p> Enable support for the original recipient address after an
   3540 address is rewritten to a different address (for example with
   3541 aliasing or with canonical mapping). </p>
   3542 
   3543 <p> The original recipient address is used as follows: </p>
   3544 
   3545 <dl>
   3546 
   3547 <dt> Final delivery </dt> <dd> With "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> =
   3548 yes", the original recipient address is stored in the <b>X-Original-To</b>
   3549 message header. This header may be used to distinguish between
   3550 different recipients that share the same mailbox.  </dd>
   3551 
   3552 <dt> Recipient deduplication </dt> <dd> With "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a>
   3553 = yes", the <a href="cleanup.8.html">cleanup(8)</a> daemon performs duplicate recipient elimination
   3554 based on the content of (original recipient, maybe-rewritten
   3555 recipient) pairs.  Otherwise, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs duplicate
   3556 recipient elimination based only on the maybe-rewritten recipient
   3557 address.  </dd>
   3558 
   3559 </dl>
   3560 
   3561 <p> Note: with Postfix &le; 3.2 the "setting <a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a>
   3562 = <b>no</b>" breaks address verification for addresses that are
   3563 aliased or otherwise rewritten (Postfix is unable to store the
   3564 address verification result under the original probe destination
   3565 address; instead, it can store the result only under the rewritten
   3566 address).  </p>
   3567 
   3568 <p> This feature is available in Postfix 2.1 and later. Postfix
   3569 version 2.0 behaves as if this parameter is always set to <b>yes</b>.
   3570 Postfix versions before 2.0 have no support for the original recipient
   3571 address. </p>
   3572 
   3573 
   3574 </DD>
   3575 
   3576 <DT><b><a name="enable_threaded_bounces">enable_threaded_bounces</a>
   3577 (default: no)</b></DT><DD>
   3578 
   3579 <p> Enable non-delivery, success, and delay notifications that link
   3580 to the original message by including a References: and In-Reply-To:
   3581 header with the original Message-ID value. There are advantages and
   3582 disadvantages to consider. </p>
   3583 
   3584 <dl>
   3585 
   3586 <dt> <b> advantage </b> </dt> <dd> This allows mail readers to present
   3587 a delivery status notification in the same email thread as the original
   3588 message. </dd>
   3589 
   3590 <dt> <b> disadvantage </b> </dt> <dd> This makes it easy for users to
   3591 mistakenly delete the whole email thread (all related messages),
   3592 instead of deleting only the non-delivery notification. </dd>
   3593 
   3594 </dl>
   3595 
   3596 <p> This feature is available in Postfix 3.6 and later. </p>
   3597 
   3598 
   3599 </DD>
   3600 
   3601 <DT><b><a name="error_notice_recipient">error_notice_recipient</a>
   3602 (default: postmaster)</b></DT><DD>
   3603 
   3604 <p> The recipient of postmaster notifications about mail delivery
   3605 problems that are caused by policy, resource, software or protocol
   3606 errors.  These notifications are enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
   3607 parameter.  </p>
   3608 
   3609 
   3610 </DD>
   3611 
   3612 <DT><b><a name="error_service_name">error_service_name</a>
   3613 (default: error)</b></DT><DD>
   3614 
   3615 <p>
   3616 The name of the <a href="error.8.html">error(8)</a> pseudo delivery agent. This service always
   3617 returns mail as undeliverable.
   3618 </p>
   3619 
   3620 <p>
   3621 This feature is available in Postfix 2.0 and later.
   3622 </p>
   3623 
   3624 
   3625 </DD>
   3626 
   3627 <DT><b><a name="execution_directory_expansion_filter">execution_directory_expansion_filter</a>
   3628 (default: see "postconf -d" output)</b></DT><DD>
   3629 
   3630 <p> Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows
   3631 in $name expansions of $<a href="postconf.5.html#command_execution_directory">command_execution_directory</a>.  Characters
   3632 outside the allowed set are replaced by underscores.  </p>
   3633 
   3634 <p> This feature is available in Postfix 2.2 and later. </p>
   3635 
   3636 
   3637 </DD>
   3638 
   3639 <DT><b><a name="expand_owner_alias">expand_owner_alias</a>
   3640 (default: no)</b></DT><DD>
   3641 
   3642 <p>
   3643 When delivering to an alias "<i>aliasname</i>" that has an
   3644 "owner-<i>aliasname</i>" companion alias, set the envelope sender
   3645 address to the expansion of the "owner-<i>aliasname</i>" alias.
   3646 Normally, Postfix sets the envelope sender address to the name of
   3647 the "owner-<i>aliasname</i>" alias.
   3648 </p>
   3649 
   3650 
   3651 </DD>
   3652 
   3653 <DT><b><a name="export_environment">export_environment</a>
   3654 (default: see "postconf -d" output)</b></DT><DD>
   3655 
   3656 <p>
   3657 The list of environment variables that a Postfix process will export
   3658 to non-Postfix processes. The TZ variable is needed for sane
   3659 time keeping on System-V-ish systems.
   3660 </p>
   3661 
   3662 <p>
   3663 Specify a list of names and/or name=value pairs, separated by
   3664 whitespace or comma. Specify "{ name=value }" to protect whitespace
   3665 or comma in parameter values (whitespace after the opening "{" and
   3666 before the closing "}"
   3667 is ignored). The form name=value is supported with Postfix version
   3668 2.1 and later; the use of {} is supported with Postfix 3.0 and
   3669 later.  </p>
   3670 
   3671 <p>
   3672 Example:
   3673 </p>
   3674 
   3675 <pre>
   3676 <a href="postconf.5.html#export_environment">export_environment</a> = TZ PATH=/bin:/usr/bin
   3677 </pre>
   3678 
   3679 
   3680 </DD>
   3681 
   3682 <DT><b><a name="extract_recipient_limit">extract_recipient_limit</a>
   3683 (default: 10240)</b></DT><DD>
   3684 
   3685 <p>
   3686 The maximal number of recipient addresses that Postfix will extract
   3687 from message headers when mail is submitted with "<b>sendmail -t</b>".
   3688 </p>
   3689 
   3690 <p>
   3691 This feature was removed in Postfix version 2.1.
   3692 </p>
   3693 
   3694 
   3695 </DD>
   3696 
   3697 <DT><b><a name="fallback_relay">fallback_relay</a>
   3698 (default: empty)</b></DT><DD>
   3699 
   3700 <p>
   3701 Optional list of relay hosts for SMTP destinations that can't be
   3702 found or that are unreachable. With Postfix 2.3 this parameter
   3703 is renamed to <a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a>. </p>
   3704 
   3705 <p>
   3706 By default, mail is returned to the sender when a destination is
   3707 not found, and delivery is deferred when a destination is unreachable.
   3708 </p>
   3709 
   3710 <p> The fallback relays must be SMTP destinations. Specify a domain,
   3711 host, host:port, [host]:port, [address] or [address]:port; the form
   3712 [host] turns off MX lookups.  If you specify multiple SMTP
   3713 destinations, Postfix will try them in the specified order.  </p>
   3714 
   3715 <p> Note: before Postfix 2.2, do not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
   3716 when relaying mail
   3717 for a backup or primary MX domain. Mail would loop between the
   3718 Postfix MX host and the <a href="postconf.5.html#fallback_relay">fallback_relay</a> host when the final destination
   3719 is unavailable. </p>
   3720 
   3721 <ul>
   3722 
   3723 <li> In <a href="postconf.5.html">main.cf</a> specify "<a href="postconf.5.html#relay_transport">relay_transport</a> = relay",
   3724 
   3725 <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
   3726 the end of the <tt>relay</tt> entry.
   3727 
   3728 <li> In transport maps, specify "relay:<i>nexthop...</i>"
   3729 as the right-hand side for backup or primary MX domain entries.
   3730 
   3731 </ul>
   3732 
   3733 <p> Postfix version 2.2 and later will not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
   3734 for destinations that it is MX host for.
   3735 </p>
   3736 
   3737 
   3738 </DD>
   3739 
   3740 <DT><b><a name="fallback_transport">fallback_transport</a>
   3741 (default: empty)</b></DT><DD>
   3742 
   3743 <p>
   3744 Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
   3745 agent should use for names that are not found in the <a href="aliases.5.html">aliases(5)</a>
   3746 or UNIX password database.
   3747 </p>
   3748 
   3749 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
   3750 is: 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>,
   3751 <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>,
   3752 <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>
   3753 
   3754 
   3755 </DD>
   3756 
   3757 <DT><b><a name="fallback_transport_maps">fallback_transport_maps</a>
   3758 (default: empty)</b></DT><DD>
   3759 
   3760 <p> Optional lookup tables with per-recipient message delivery
   3761 transports for recipients that the <a href="local.8.html">local(8)</a> delivery agent could
   3762 not find in the <a href="aliases.5.html">aliases(5)</a> or UNIX password database. </p>
   3763 
   3764 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
   3765 is: 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>,
   3766 <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>,
   3767 <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>
   3768 
   3769 <p> For safety reasons, this feature does not allow $number
   3770 substitutions in regular expression maps. </p>
   3771 
   3772 <p> This feature is available in Postfix 2.3 and later. </p>
   3773 
   3774 
   3775 </DD>
   3776 
   3777 <DT><b><a name="fast_flush_domains">fast_flush_domains</a>
   3778 (default: $<a href="postconf.5.html#relay_domains">relay_domains</a>)</b></DT><DD>
   3779 
   3780 <p>
   3781 Optional list of destinations that are eligible for per-destination
   3782 logfiles with mail that is queued to those destinations.
   3783 </p>
   3784 
   3785 <p>
   3786 By default, Postfix maintains "fast flush" logfiles only for
   3787 destinations that the Postfix SMTP server is willing to relay to
   3788 (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
   3789 the <a href="postconf.5.html#relay_domains">relay_domains</a> parameter in the <a href="postconf.5.html">postconf(5)</a> manual).
   3790 </p>
   3791 
   3792 <p> Specify a list of hosts or domains, "/file/name" patterns or
   3793 "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
   3794 Continue long lines by starting the next line with whitespace. A
   3795 "/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
   3796 lookup table is matched when the domain or its parent domain appears
   3797 as lookup key.  </p>
   3798 
   3799 <p> Pattern matching of domain names is controlled by the presence
   3800 or 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>
   3801 parameter value.  </p>
   3802 
   3803 <p>
   3804 Specify "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> =" (i.e., empty) to disable the feature
   3805 altogether.
   3806 </p>
   3807 
   3808 
   3809 </DD>
   3810 
   3811 <DT><b><a name="fast_flush_purge_time">fast_flush_purge_time</a>
   3812 (default: 7d)</b></DT><DD>
   3813 
   3814 <p>
   3815 The time after which an empty per-destination "fast flush" logfile
   3816 is deleted.
   3817 </p>
   3818 
   3819 <p>
   3820 You can specify the time as a number, or as a number followed by
   3821 a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
   3822 d=days, w=weeks.  The default time unit is days.
   3823 </p>
   3824 
   3825 
   3826 </DD>
   3827 
   3828 <DT><b><a name="fast_flush_refresh_time">fast_flush_refresh_time</a>
   3829 (default: 12h)</b></DT><DD>
   3830 
   3831 <p>
   3832 The time after which a non-empty but unread per-destination "fast
   3833 flush" logfile needs to be refreshed.  The contents of a logfile
   3834 are refreshed by requesting delivery of all messages listed in the
   3835 logfile.
   3836 </p>
   3837 
   3838 <p>
   3839 You can specify the time as a number, or as a number followed by
   3840 a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
   3841 d=days, w=weeks.  The default time unit is hours.
   3842 </p>
   3843 
   3844 
   3845 </DD>
   3846 
   3847 <DT><b><a name="fault_injection_code">fault_injection_code</a>
   3848 (default: 0)</b></DT><DD>
   3849 
   3850 <p>
   3851 Force specific internal tests to fail, to test the handling of
   3852 errors that are difficult to reproduce otherwise.
   3853 </p>
   3854 
   3855 
   3856 </DD>
   3857 
   3858 <DT><b><a name="flush_service_name">flush_service_name</a>
   3859 (default: flush)</b></DT><DD>
   3860 
   3861 <p>
   3862 The name of the <a href="flush.8.html">flush(8)</a> service. This service maintains per-destination
   3863 logfiles with the queue file names of mail that is queued for those
   3864 destinations.
   3865 </p>
   3866 
   3867 <p>
   3868 This feature is available in Postfix 2.0 and later.
   3869 </p>
   3870 
   3871 
   3872 </DD>
   3873 
   3874 <DT><b><a name="force_mime_input_conversion">force_mime_input_conversion</a>
   3875 (default: no)</b></DT><DD>
   3876 
   3877 <p> Convert body content that claims to be 8-bit into quoted-printable,
   3878 before <a href="postconf.5.html#header_checks">header_checks</a>, <a href="postconf.5.html#body_checks">body_checks</a>, Milters, and before after-queue
   3879 content filters. This feature does not affect messages that are
   3880 sent into <a href="postconf.5.html#smtpd_proxy_filter">smtpd_proxy_filter</a>. </p>
   3881 
   3882 <p> The typical use case is an MTA that applies this conversion
   3883 before signing outbound messages, so that the signatures will remain
   3884 valid when a message is later delivered to an MTA that does not
   3885 announce 8BITMIME support, or when a message line exceeds the SMTP
   3886 length limit. </p>
   3887 
   3888 <p> This feature is available in Postfix &ge; 3.9. </p>
   3889 
   3890 
   3891 </DD>
   3892 
   3893 <DT><b><a name="fork_attempts">fork_attempts</a>
   3894 (default: 5)</b></DT><DD>
   3895 
   3896 <p> The maximal number of attempts to fork() a child process.  </p>
   3897 
   3898 
   3899 </DD>
   3900 
   3901 <DT><b><a name="fork_delay">fork_delay</a>
   3902 (default: 1s)</b></DT><DD>
   3903 
   3904 <p> The delay between attempts to fork() a child process.  </p>
   3905 
   3906 <p> Specify a non-zero time value (an integral value plus an optional
   3907 one-letter suffix that specifies the time unit).  Time units: s
   3908 (seconds), m (minutes), h (hours), d (days), w (weeks).
   3909 The default time unit is s (seconds).  </p>
   3910 
   3911 
   3912 </DD>
   3913 
   3914 <DT><b><a name="forward_expansion_filter">forward_expansion_filter</a>
   3915 (default: see "postconf -d" output)</b></DT><DD>
   3916 
   3917 <p>
   3918 Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
   3919 $name expansions of $<a href="postconf.5.html#forward_path">forward_path</a>.  Characters outside the
   3920 allowed set are replaced by underscores.
   3921 </p>
   3922 
   3923 
   3924 </DD>
   3925 
   3926 <DT><b><a name="forward_path">forward_path</a>
   3927 (default: see "postconf -d" output)</b></DT><DD>
   3928 
   3929 <p> The <a href="local.8.html">local(8)</a> delivery agent search list for finding a .forward
   3930 file with user-specified delivery methods. The first file that is
   3931 found is used.  </p>
   3932 
   3933 <p> The <a href="postconf.5.html#forward_path">forward_path</a> value is not subject to Postfix configuration
   3934 parameter $name expansion. Instead, the following $name expansions
   3935 are done on <a href="postconf.5.html#forward_path">forward_path</a> before the search actually happens.
   3936 The result of $name expansion is
   3937 filtered with the character set that is specified with the
   3938 <a href="postconf.5.html#forward_expansion_filter">forward_expansion_filter</a> parameter.  </p>
   3939 
   3940 <dl>
   3941 
   3942 <dt><b>$user</b></dt>
   3943 
   3944 <dd>The recipient's username. </dd>
   3945 
   3946 <dt><b>$shell</b></dt>
   3947 
   3948 <dd>The recipient's login shell pathname. </dd>
   3949 
   3950 <dt><b>$home</b></dt>
   3951 
   3952 <dd>The recipient's home directory. </dd>
   3953 
   3954 <dt><b>$recipient</b></dt>
   3955 
   3956 <dd>The full recipient address. </dd>
   3957 
   3958 <dt><b>$extension</b></dt>
   3959 
   3960 <dd>The optional recipient address extension. </dd>
   3961 
   3962 <dt><b>$domain</b></dt>
   3963 
   3964 <dd>The recipient domain. </dd>
   3965 
   3966 <dt><b>$local</b></dt>
   3967 
   3968 <dd>The entire recipient localpart. </dd>
   3969 
   3970 <dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
   3971 
   3972 <dd>The address extension delimiter that was found in the recipient
   3973 address (Postfix 2.11 and later), or the 'first' delimiter specified
   3974 with the system-wide recipient address extension delimiter (Postfix
   3975 3.5.22, 3.6.12, 3.7.8, 3.8.3 and later). Historically, this was
   3976 always the system-wide recipient
   3977 address extension delimiter (Postfix 2.10 and earlier). </dd>
   3978 
   3979 <dt><b>${name?value}</b></dt>
   3980 
   3981 <dt><b>${name?{value}}</b> (Postfix &ge; 3.0)</dt>
   3982 
   3983 <dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
   3984 
   3985 <dt><b>${name:value}</b></dt>
   3986 
   3987 <dt><b>${name:{value}}</b> (Postfix &ge; 3.0)</dt>
   3988 
   3989 <dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
   3990 
   3991 <dt><b>${name?{value1}:{value2}}</b> (Postfix &ge; 3.0)</dt>
   3992 
   3993 <dd>Expands to <i>value1</i> when <i>$name</i> is non-empty,
   3994 <i>value2</i> otherwise. </dd>
   3995 
   3996 </dl>
   3997 
   3998 <p>
   3999 Instead of $name you can also specify ${name} or $(name).
   4000 </p>
   4001 
   4002 <p>
   4003 Examples:
   4004 </p>
   4005 
   4006 <pre>
   4007 <a href="postconf.5.html#forward_path">forward_path</a> = /var/forward/$user
   4008 <a href="postconf.5.html#forward_path">forward_path</a> =
   4009     /var/forward/$user/.forward$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>$extension,
   4010     /var/forward/$user/.forward
   4011 </pre>
   4012 
   4013 
   4014 </DD>
   4015 
   4016 <DT><b><a name="frozen_delivered_to">frozen_delivered_to</a>
   4017 (default: yes)</b></DT><DD>
   4018 
   4019 <p> Update the <a href="local.8.html">local(8)</a> delivery agent's idea of the Delivered-To:
   4020 address (see <a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a>) only once, at the start of
   4021 a delivery attempt; do not update the Delivered-To: address while
   4022 expanding aliases or .forward files. </p>
   4023 
   4024 <p> This feature is available in Postfix 2.3 and later. With older
   4025 Postfix releases, the behavior is as if this parameter is set to
   4026 "no". The old setting can be expensive with deeply nested aliases
   4027 or .forward files. When an alias or .forward file changes the
   4028 Delivered-To: address, it ties up one queue file and one cleanup
   4029 process instance while mail is being forwarded.  </p>
   4030 
   4031 
   4032 </DD>
   4033 
   4034 <DT><b><a name="full_name_encoding_charset">full_name_encoding_charset</a>
   4035 (default: utf-8)</b></DT><DD>
   4036 
   4037 <p> The character set name (also called "charset") that Postfix
   4038 will output when it automatically generates an <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a> encoded
   4039 full name. Encoding non-ASCII full names can avoid the need to use
   4040 SMTPUTF8, and therefore can avoid incompatibility with sites that
   4041 do not support SMTPUTF8. </p>
   4042 
   4043 <p> The encoded names look like "=?charset?q?gibberish?=" with
   4044 quoted-printable encoding, or "=?charset?b?gibberish?=" with base64
   4045 encoding. Postfix uses quoted-printable encoding for a full name
   4046 that is short or mostly printable ASCII, and uses base64 otherwise.
   4047 </p>
   4048 
   4049 <p> Background: when a message without a From: header is submitted
   4050 with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, the Postfix <a href="cleanup.8.html">cleanup(8)</a> daemon
   4051 will add a From: header and will try to use the sender's full name
   4052 specified with the Postfix <a href="sendmail.1.html">sendmail(1)</a> "-F" option, with the Postfix
   4053 <a href="sendmail.1.html">sendmail(1)</a> "NAME" environment variable, or with the GECOS field
   4054 in the UNIX password database. In the latter case, Postfix will
   4055 replace the "&amp;" character with the login name, with a lowercase
   4056 ASCII first character converted to uppercase. </p>
   4057 
   4058 <p> NOTE: Postfix does not convert between character sets. The
   4059 <a href="postconf.5.html#full_name_encoding_charset">full_name_encoding_charset</a> parameter specifies the character set
   4060 of the full name in the Postfix sendmail "-F" option, in the Postfix
   4061 sendmail "NAME" environment variable, or in the GECOS field of the
   4062 UNIX password database. The parameter value is also part of the
   4063 encoded full name, and informs a Mail User Agent how to display the
   4064 decoded gibberish. </p>
   4065 
   4066 <p> Specify a valid character set name such as "utf-8" or "iso-8859-1
   4067 (specify the latter for full names that use the Latin1 encoding).
   4068 The character set name is case insensitive. When a character set
   4069 name violates <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a> syntax, Postfix will log a warning and will
   4070 skip the full name. </p>
   4071 
   4072 <p> This feature is available in Postfix &ge; 3.10. </p>
   4073 
   4074 
   4075 </DD>
   4076 
   4077 <DT><b><a name="hash_queue_depth">hash_queue_depth</a>
   4078 (default: 1)</b></DT><DD>
   4079 
   4080 <p>
   4081 The number of subdirectory levels for queue directories listed with
   4082 the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> parameter. Queue hashing is implemented by
   4083 creating one or more levels of directories with one-character names.
   4084 Originally, these directory names were equal to the first characters
   4085 of the queue file name, with the hexadecimal representation of the
   4086 file creation time in microseconds. </p>
   4087 
   4088 <p> With long queue file names, queue hashing produces the same
   4089 results as with short names. The file creation time in microseconds
   4090 is converted into hexadecimal form before the result is used for
   4091 queue hashing.  The base 16 encoding gives finer control over the
   4092 number of subdirectories than is possible with the base 52 encoding
   4093 of long queue file names.  </p>
   4094 
   4095 <p>
   4096 After 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,
   4097 execute the command "<b>postfix reload</b>".
   4098 </p>
   4099 
   4100 
   4101 </DD>
   4102 
   4103 <DT><b><a name="hash_queue_names">hash_queue_names</a>
   4104 (default: deferred, defer)</b></DT><DD>
   4105 
   4106 <p>
   4107 The names of queue directories that are split across multiple
   4108 subdirectory levels.
   4109 </p>
   4110 
   4111 <p> Before Postfix version 2.2, the default list of hashed queues
   4112 was significantly larger. Claims about improvements in file system
   4113 technology 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>
   4114 is no longer needed. Fewer hashed directories speed up the time
   4115 needed to restart Postfix. </p>
   4116 
   4117 <p>
   4118 After 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,
   4119 execute the command "<b>postfix reload</b>".
   4120 </p>
   4121 
   4122 
   4123 </DD>
   4124 
   4125 <DT><b><a name="header_address_token_limit">header_address_token_limit</a>
   4126 (default: 10240)</b></DT><DD>
   4127 
   4128 <p>
   4129 The maximal number of address tokens are allowed in an address
   4130 message header. Information that exceeds the limit is discarded.
   4131 The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
   4132 </p>
   4133 
   4134 
   4135 </DD>
   4136 
   4137 <DT><b><a name="header_checks">header_checks</a>
   4138 (default: empty)</b></DT><DD>
   4139 
   4140 <p>
   4141 Optional lookup tables for content inspection of primary non-MIME
   4142 message headers, as specified in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
   4143 </p>
   4144 
   4145 
   4146 </DD>
   4147 
   4148 <DT><b><a name="header_from_format">header_from_format</a>
   4149 (default: standard)</b></DT><DD>
   4150 
   4151 <p> The format of the Postfix-generated <b>From:</b> header. This
   4152 setting affects the appearance of 'full name' information when a
   4153 local program such as /bin/mail submits a message without a From:
   4154 header through the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. </p>
   4155 
   4156 <p> Specify one of the following: </p>
   4157 
   4158 <dl>
   4159 
   4160 <dt><b>standard</b> (default)</dt> <dd> Produce a header formatted
   4161 as "<b>From:</b> <i>name</i><b> &lt;</b><i>address</i><b>&gt;</b>".
   4162 This is the default as of Postfix 3.3.</dd>
   4163 
   4164 <dt><b>obsolete</b></dt> <dd>Produce a header formatted as "<b>From:</b>
   4165 <i>address</i> <b>(</b><i>name</i><b>)</b>". This is the behavior
   4166 prior to Postfix 3.3. </dd>
   4167 
   4168 </dl>
   4169 
   4170 <p> Notes: </p>
   4171 
   4172 <ul>
   4173 
   4174 <li> <p> Postfix generates the format "<b>From:</b> <i>address</i>"
   4175 when <i>name</i> information is unavailable or the envelope sender
   4176 address is empty. This is the same behavior as prior to Postfix
   4177 3.3. </p>
   4178 
   4179 <li> <p> In the <b>standard</b> form, the <i>name</i> will be quoted
   4180 if it contains <b>specials</b> as defined in <a href="https://tools.ietf.org/html/rfc5322">RFC 5322</a>, or the "!%"
   4181 address operators. </p>
   4182 
   4183 <li> <p> The Postfix <a href="sendmail.1.html">sendmail(1)</a> command gets <i>name</i> information
   4184 from the <b>-F</b> command-line option, from the <b>NAME</b>
   4185 environment variable, or from the UNIX password file. </p>
   4186 
   4187 </ul>
   4188 
   4189 <p> This feature is available in Postfix 3.3 and later. </p>
   4190 
   4191 
   4192 </DD>
   4193 
   4194 <DT><b><a name="header_size_limit">header_size_limit</a>
   4195 (default: 102400)</b></DT><DD>
   4196 
   4197 <p>
   4198 The maximal amount of memory in bytes for storing a message header.
   4199 If a header is larger, the excess is discarded.  The limit is
   4200 enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
   4201 </p>
   4202 
   4203 
   4204 </DD>
   4205 
   4206 <DT><b><a name="helpful_warnings">helpful_warnings</a>
   4207 (default: yes)</b></DT><DD>
   4208 
   4209 <p>
   4210 Log warnings about problematic configuration settings, and provide
   4211 helpful suggestions.
   4212 </p>
   4213 
   4214 <p>
   4215 This feature is available in Postfix 2.0 and later.
   4216 </p>
   4217 
   4218 
   4219 </DD>
   4220 
   4221 <DT><b><a name="home_mailbox">home_mailbox</a>
   4222 (default: empty)</b></DT><DD>
   4223 
   4224 <p>
   4225 Optional pathname of a mailbox file relative to a <a href="local.8.html">local(8)</a> user's
   4226 home directory.
   4227 </p>
   4228 
   4229 <p>
   4230 Specify a pathname ending in "/" for qmail-style delivery.
   4231 </p>
   4232 
   4233 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
   4234 is: 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>,
   4235 <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>,
   4236 <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>
   4237 
   4238 <p>
   4239 Examples:
   4240 </p>
   4241 
   4242 <pre>
   4243 <a href="postconf.5.html#home_mailbox">home_mailbox</a> = Mailbox
   4244 <a href="postconf.5.html#home_mailbox">home_mailbox</a> = Maildir/
   4245 </pre>
   4246 
   4247 
   4248 </DD>
   4249 
   4250 <DT><b><a name="hopcount_limit">hopcount_limit</a>
   4251 (default: 50)</b></DT><DD>
   4252 
   4253 <p>
   4254 The maximal number of Received:  message headers that is allowed
   4255 in the primary message headers. A message that exceeds the limit
   4256 is bounced, in order to stop a mailer loop.
   4257 </p>
   4258 
   4259 
   4260 </DD>
   4261 
   4262 <DT><b><a name="html_directory">html_directory</a>
   4263 (default: see "postconf -d" output)</b></DT><DD>
   4264 
   4265 <p>
   4266 The location of Postfix HTML files that describe how to build,
   4267 configure or operate a specific Postfix subsystem or feature.
   4268 </p>
   4269 
   4270 
   4271 </DD>
   4272 
   4273 <DT><b><a name="ignore_mx_lookup_error">ignore_mx_lookup_error</a>
   4274 (default: no)</b></DT><DD>
   4275 
   4276 <p> Ignore DNS MX lookups that produce no response.  By default,
   4277 the Postfix SMTP client defers delivery and tries again after some
   4278 delay.  This behavior is required by the SMTP standard.  </p>
   4279 
   4280 <p>
   4281 Specify "<a href="postconf.5.html#ignore_mx_lookup_error">ignore_mx_lookup_error</a> = yes" to force a DNS A record
   4282 lookup instead. This violates the SMTP standard and can result in
   4283 mis-delivery of mail.
   4284 </p>
   4285 
   4286 
   4287 </DD>
   4288 
   4289 <DT><b><a name="ignore_srv_lookup_error">ignore_srv_lookup_error</a>
   4290 (default: no)</b></DT><DD>
   4291 
   4292 <p> When SRV record lookup fails, fall back to MX or IP address
   4293 lookup as if SRV record lookup was not enabled. </p>
   4294 
   4295 <p> This feature is available in Postfix 3.8 and later. </p>
   4296 
   4297 
   4298 </DD>
   4299 
   4300 <DT><b><a name="import_environment">import_environment</a>
   4301 (default: see "postconf -d" output)</b></DT><DD>
   4302 
   4303 <p> The list of environment variables that a privileged Postfix
   4304 process will import from a non-Postfix parent process, or name=value
   4305 environment overrides.  Unprivileged utilities will enforce the
   4306 name=value overrides, but otherwise will not change their process
   4307 environment.  Examples of relevant environment variables: </p>
   4308 
   4309 <dl>
   4310 
   4311 <dt><b>TZ</b></dt>
   4312 
   4313 <dd>May be needed for sane time keeping on most System-V-ish systems.
   4314 </dd>
   4315 
   4316 <dt><b>DISPLAY</b></dt>
   4317 
   4318 <dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
   4319 
   4320 <dt><b>XAUTHORITY</b></dt>
   4321 
   4322 <dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
   4323 
   4324 <dt><b>MAIL_CONFIG</b></dt>
   4325 
   4326 <dd>Needed to make "<b>postfix -c</b>" work. </dd>
   4327 
   4328 <dt><b>POSTLOG_HOSTNAME</b></dt>
   4329 
   4330 <dd>Needed to make "<b><a href="postconf.5.html#maillog_file">maillog_file</a></b>" work during daemon
   4331 process initialization. </dd>
   4332 
   4333 <dt><b>POSTLOG_SERVICE</b></dt>
   4334 
   4335 <dd>Needed to make "<b><a href="postconf.5.html#maillog_file">maillog_file</a></b>" work during daemon
   4336 process initialization. </dd>
   4337 
   4338 <dt><b>XDG_RUNTIME_DIR</b></dt>
   4339 
   4340 <dd>Needed for debugging Postfix daemons with an XDG-style debugger.
   4341 </dd>
   4342 
   4343 </dl>
   4344 
   4345 <p> Specify a list of names and/or name=value pairs, separated by
   4346 whitespace or comma. Specify "{ name=value }" to protect whitespace
   4347 or comma in environment variable values (whitespace after the opening "{" and
   4348 before the closing "}"
   4349 is ignored). The form name=value is supported with Postfix version
   4350 2.1 and later; the use of {} is supported with Postfix 3.0 and
   4351 later.  </p>
   4352 
   4353 
   4354 </DD>
   4355 
   4356 <DT><b><a name="in_flow_delay">in_flow_delay</a>
   4357 (default: 1s)</b></DT><DD>
   4358 
   4359 <p> Time to pause before accepting a new message, when the message
   4360 arrival rate exceeds the message delivery rate. This feature is
   4361 turned on by default (it's disabled on SCO UNIX due to an SCO bug).
   4362 </p>
   4363 
   4364 <p>
   4365 With the default 100 Postfix SMTP server process limit, "<a href="postconf.5.html#in_flow_delay">in_flow_delay</a>
   4366 = 1s" limits the mail inflow to 100 messages per second above the
   4367 number of messages delivered per second.
   4368 </p>
   4369 
   4370 <p>
   4371 Specify 0 to disable the feature. Valid delays are 0..10.
   4372 </p>
   4373 
   4374 
   4375 </DD>
   4376 
   4377 <DT><b><a name="inet_interfaces">inet_interfaces</a>
   4378 (default: all)</b></DT><DD>
   4379 
   4380 <p> The local network interface addresses that this mail system
   4381 receives mail on. Specify "all" to receive mail on all network
   4382 interfaces (default), "loopback-only" to receive mail on loopback
   4383 network interfaces only (Postfix version 2.2 and later), or zero
   4384 or more IPv4 or IPv6 addresses (IPv6 is supported in Postfix version
   4385 2.2 and later). The parameter also controls whether Postfix will
   4386 accept mail for <tt>user@[ip.address]</tt>, and prevents Postfix
   4387 from delivering mail to a host that has equal or larger MX preference.
   4388 Specify an empty value if Postfix does not receive mail over the
   4389 network, or if all network listeners have an explicit IP address
   4390 in <a href="master.5.html">master.cf</a>. </p>
   4391 
   4392 <p>
   4393 Note 1: you need to stop and start Postfix when this parameter changes.
   4394 </p>
   4395 
   4396 <p> Note 2: address information may be enclosed inside <tt>[]</tt>,
   4397 but this form is not required here. </p>
   4398 
   4399 <p> When <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> and/or <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> are not
   4400 specified, the <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> setting may constrain the source IP
   4401 address for an outbound SMTP or LMTP connection as described below.
   4402 </p>
   4403 
   4404 <p> The following text is specific to SMTP and IPv4. The same
   4405 reasoning applies to the IPv6 protocol, and to the Postfix LMTP
   4406 client. To disable IPv4 or IPv6 support in the Postfix SMTP and
   4407 LMTP client, use <a href="postconf.5.html#inet_protocols">inet_protocols</a>. </p>
   4408 
   4409 <ul>
   4410 
   4411 <li> <p> When <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies one IPv4 address, and that
   4412 is not a loopback address, the Postfix SMTP client uses that as the
   4413 source address for outbound IPv4 connections. </p>
   4414 
   4415 <li> <p> Otherwise, the Postfix SMTP client does not constrain the
   4416 source IPv4 address, and connects using a system-chosen source IPv4
   4417 address. This includes the cases where <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> is empty,
   4418 where it specifies <b>all</b>, or where it contains no IPv4 address,
   4419 one IPv4 address that is a loopback address, or multiple IPv4
   4420 addresses.  </p>
   4421 
   4422 </ul>
   4423 
   4424 <p> A Postfix SMTP client may fail to reach some remote SMTP servers
   4425 when the client source IP address is constrained explicitly with
   4426 <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> or <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>, or implicitly with
   4427 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. This can happen when Postfix runs on a multi-homed
   4428 system such as a firewall, the Postfix SMTP source client IP address
   4429 is constrained to one specific network interface, and the remote
   4430 SMTP server must be reached through a different interface. Setting
   4431 <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> to 0.0.0.0 avoids the potential problem for IPv4,
   4432 and setting <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> to :: solves the problem for IPv6.
   4433 </p>
   4434 
   4435 <p>
   4436 A better solution for multi-homed systems is to leave <a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
   4437 at the default value and instead use explicit IP addresses in
   4438 the <a href="master.5.html">master.cf</a> SMTP server definitions.  This preserves the Postfix
   4439 SMTP client's
   4440 loop detection, by ensuring that each side of the firewall knows that the
   4441 other IP address is still the same host. Setting $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> to a
   4442 single IPv4 and/or IPV6 address is primarily useful with virtual
   4443 hosting of domains on
   4444 secondary IP addresses, when each IP address serves a different domain
   4445 (and has a different $<a href="postconf.5.html#myhostname">myhostname</a> setting). </p>
   4446 
   4447 <p>
   4448 See also the <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> parameter, for network addresses that
   4449 are forwarded to Postfix by way of a proxy or address translator.
   4450 </p>
   4451 
   4452 <p>
   4453 Examples:
   4454 </p>
   4455 
   4456 <pre>
   4457 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = all (DEFAULT)
   4458 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback-only (Postfix version 2.2 and later)
   4459 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1
   4460 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1, [::1] (Postfix version 2.2 and later)
   4461 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 192.168.1.2, 127.0.0.1
   4462 </pre>
   4463 
   4464 
   4465 </DD>
   4466 
   4467 <DT><b><a name="inet_protocols">inet_protocols</a>
   4468 (default: see 'postconf -d' output)</b></DT><DD>
   4469 
   4470 <p> The Internet protocols Postfix will attempt to use when making
   4471 or accepting connections. Specify one or more of "ipv4"
   4472 or "ipv6", separated by whitespace or commas. The form
   4473 "all" is equivalent to "ipv4, ipv6" or "ipv4", depending
   4474 on whether the operating system implements IPv6. </p>
   4475 
   4476 <p> With Postfix 2.8 and earlier the default is "ipv4". For backwards
   4477 compatibility with these releases, the Postfix 2.9 and later upgrade
   4478 procedure appends an explicit "<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4" setting to
   4479 <a href="postconf.5.html">main.cf</a> when no explicit setting is present. This compatibility
   4480 workaround will be phased out as IPv6 deployment becomes more common.
   4481 </p>
   4482 
   4483 <p> This feature is available in Postfix 2.2 and later. </p>
   4484 
   4485 <p> Note: you MUST stop and start Postfix after changing this
   4486 parameter. </p>
   4487 
   4488 <p> On systems that pre-date IPV6_V6ONLY support (<a href="https://tools.ietf.org/html/rfc3493">RFC 3493</a>), an
   4489 IPv6 server will also accept IPv4 connections, even when IPv4 is
   4490 turned off with the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter.  On systems with
   4491 IPV6_V6ONLY support, Postfix will use separate server sockets for
   4492 IPv6 and IPv4, and each will accept only connections for the
   4493 corresponding protocol.  </p>
   4494 
   4495 <p> When IPv4 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
   4496 Postfix will look up DNS type A records, and will convert
   4497 IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original
   4498 IPv4 form (1.2.3.4).  The latter is needed on hosts that pre-date
   4499 IPV6_V6ONLY support (<a href="https://tools.ietf.org/html/rfc3493">RFC 3493</a>). </p>
   4500 
   4501 <p> When IPv6 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
   4502 Postfix will do DNS type AAAA record lookups. </p>
   4503 
   4504 <p> When both IPv4 and IPv6 support are enabled, the Postfix SMTP
   4505 client will choose the protocol as specified with the
   4506 <a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> parameter. Postfix versions before 2.8
   4507 attempt to connect via IPv6 before attempting to use IPv4.  </p>
   4508 
   4509 <p>
   4510 Examples:
   4511 </p>
   4512 
   4513 <pre>
   4514 <a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4
   4515 <a href="postconf.5.html#inet_protocols">inet_protocols</a> = all (DEFAULT)
   4516 <a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv6
   4517 <a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4, ipv6
   4518 </pre>
   4519 
   4520 
   4521 </DD>
   4522 
   4523 <DT><b><a name="info_log_address_format">info_log_address_format</a>
   4524 (default: external)</b></DT><DD>
   4525 
   4526 <p> The email address form that will be used in non-debug logging
   4527 (info, warning, etc.). As of Postfix 3.5 when an address localpart
   4528 contains spaces or other special characters, the localpart will be
   4529 quoted, for example: </p>
   4530 
   4531 <blockquote>
   4532 <pre>
   4533     from=&lt;"name with spaces"@example.com&gt;
   4534 </pre>
   4535 </blockquote>
   4536 
   4537 <p> Older Postfix versions would log the internal (unquoted) form: </p>
   4538 
   4539 <blockquote>
   4540 <pre>
   4541     from=&lt;name with spaces (a] example.com&gt;
   4542 </pre>
   4543 </blockquote>
   4544 
   4545 <p> The external and internal forms are identical for the vast
   4546 majority of email addresses that contain no spaces or other special
   4547 characters in the localpart. </p>
   4548 
   4549 <p> The logging in external form is consistent with the address
   4550 form that Postfix 3.2 and later prefer for most table lookups. This
   4551 is therefore the more useful form for non-debug logging. </p>
   4552 
   4553 <p> Specify "<b><a href="postconf.5.html#info_log_address_format">info_log_address_format</a> = internal</b>" for backwards
   4554 compatibility. </p>
   4555 
   4556 <p> Postfix uses the unquoted form internally, because an attacker
   4557 can specify an email address in different forms by playing games
   4558 with quotes and backslashes. An attacker should not be able to use
   4559 such games to circumvent Postfix access policies. </p>
   4560 
   4561 <p> This feature is available in Postfix 3.5 and later. </p>
   4562 
   4563 
   4564 </DD>
   4565 
   4566 <DT><b><a name="initial_destination_concurrency">initial_destination_concurrency</a>
   4567 (default: 5)</b></DT><DD>
   4568 
   4569 <p>
   4570 The initial per-destination concurrency level for parallel delivery
   4571 to the same destination.
   4572 With per-destination recipient limit &gt; 1, a destination is a domain,
   4573 otherwise it is a recipient.
   4574 </p>
   4575 
   4576 <p> Use <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> to specify
   4577 a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
   4578 name of the message delivery transport (Postfix 2.5 and later). </p>
   4579 
   4580 <p>
   4581 Warning: with concurrency of 1, one bad message can be enough to
   4582 block all mail to a site.
   4583 </p>
   4584 
   4585 
   4586 </DD>
   4587 
   4588 <DT><b><a name="internal_mail_filter_classes">internal_mail_filter_classes</a>
   4589 (default: empty)</b></DT><DD>
   4590 
   4591 <p> What categories of Postfix-generated mail are subject to
   4592 before-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>
   4593 and <a href="postconf.5.html#body_checks">body_checks</a>.  Specify zero or more of the following, separated
   4594 by whitespace or comma.  </p>
   4595 
   4596 <dl>
   4597 
   4598 <dt><b>bounce</b></dt> <dd> Inspect the content of delivery
   4599 status notifications. </dd>
   4600 
   4601 <dt><b>notify</b></dt> <dd> Inspect the content of postmaster
   4602 notifications by the <a href="smtp.8.html">smtp(8)</a> and <a href="smtpd.8.html">smtpd(8)</a> processes. </dd>
   4603 
   4604 </dl>
   4605 
   4606 <p> NOTE: It's generally not safe to enable content inspection of
   4607 Postfix-generated email messages. The user is warned. </p>
   4608 
   4609 <p> This feature is available in Postfix 2.3 and later. </p>
   4610 
   4611 
   4612 </DD>
   4613 
   4614 <DT><b><a name="invalid_hostname_reject_code">invalid_hostname_reject_code</a>
   4615 (default: 501)</b></DT><DD>
   4616 
   4617 <p>
   4618 The numerical Postfix SMTP server response code when the client
   4619 HELO or EHLO command parameter is rejected by the <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a>
   4620 restriction.
   4621 </p>
   4622 
   4623 <p>
   4624 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   4625 </p>
   4626 
   4627 
   4628 </DD>
   4629 
   4630 <DT><b><a name="ipc_idle">ipc_idle</a>
   4631 (default: version dependent)</b></DT><DD>
   4632 
   4633 <p>
   4634 The time after which a client closes an idle internal communication
   4635 channel.  The purpose is to allow Postfix daemon processes to
   4636 terminate voluntarily after they become idle. This is used, for
   4637 example, by the Postfix address resolving and rewriting clients.
   4638 </p>
   4639 
   4640 <p> With Postfix 2.4 the default value was reduced from 100s to 5s. </p>
   4641 
   4642 <p> Specify a non-zero time value (an integral value plus an optional
   4643 one-letter suffix that specifies the time unit).  Time units: s
   4644 (seconds), m (minutes), h (hours), d (days), w (weeks).
   4645 The default time unit is s (seconds).  </p>
   4646 
   4647 
   4648 </DD>
   4649 
   4650 <DT><b><a name="ipc_timeout">ipc_timeout</a>
   4651 (default: 3600s)</b></DT><DD>
   4652 
   4653 <p>
   4654 The time limit for sending or receiving information over an internal
   4655 communication channel.  The purpose is to break out of deadlock
   4656 situations. If the time limit is exceeded the software aborts with a
   4657 fatal error.
   4658 </p>
   4659 
   4660 <p> Specify a non-zero time value (an integral value plus an optional
   4661 one-letter suffix that specifies the time unit).  Time units: s
   4662 (seconds), m (minutes), h (hours), d (days), w (weeks).
   4663 The default time unit is s (seconds).  </p>
   4664 
   4665 
   4666 </DD>
   4667 
   4668 <DT><b><a name="ipc_ttl">ipc_ttl</a>
   4669 (default: 1000s)</b></DT><DD>
   4670 
   4671 <p>
   4672 The time after which a client closes an active internal communication
   4673 channel.  The purpose is to allow Postfix daemon processes to
   4674 terminate voluntarily
   4675 after reaching their client limit.  This is used, for example, by
   4676 the Postfix address resolving and rewriting clients.
   4677 </p>
   4678 
   4679 <p> Specify a non-zero time value (an integral value plus an optional
   4680 one-letter suffix that specifies the time unit).  Time units: s
   4681 (seconds), m (minutes), h (hours), d (days), w (weeks).
   4682 The default time unit is s (seconds).  </p>
   4683 
   4684 <p>
   4685 This feature is available in Postfix 2.1 and later.
   4686 </p>
   4687 
   4688 
   4689 </DD>
   4690 
   4691 <DT><b><a name="known_tcp_ports">known_tcp_ports</a>
   4692 (default: lmtp=24, smtp=25, smtps=submissions=465, submission=587)</b></DT><DD>
   4693 
   4694 <p> Optional setting that avoids lookups in the services(5) database.
   4695 This feature was implemented to address inconsistencies in the name
   4696 of the port "465" service. The ABNF is:
   4697 </p>
   4698 
   4699 <blockquote>
   4700 <p>
   4701 <a href="postconf.5.html#known_tcp_ports">known_tcp_ports</a> = empty | name-to-port *("," name-to-port) <br>
   4702 name-to-port = 1*(service-name "=') port-number
   4703 </p>
   4704 </blockquote>
   4705 
   4706 <p> The comma is required. Whitespace is optional but it cannot appear
   4707 inside a service name or port number. </p>
   4708 
   4709 <p> This feature is available in Postfix 3.6 and later. </p>
   4710 
   4711 
   4712 </DD>
   4713 
   4714 <DT><b><a name="line_length_limit">line_length_limit</a>
   4715 (default: 2048)</b></DT><DD>
   4716 
   4717 <p> Upon input, long lines are chopped up into pieces of at most
   4718 this length; upon delivery, long lines are reconstructed.  </p>
   4719 
   4720 
   4721 </DD>
   4722 
   4723 <DT><b><a name="lmdb_map_size">lmdb_map_size</a>
   4724 (default: 16777216)</b></DT><DD>
   4725 
   4726 <p>
   4727 The initial OpenLDAP LMDB database size limit in bytes.  Each time
   4728 a database becomes full, its size limit is doubled.
   4729 </p>
   4730 
   4731 <p>
   4732 This feature is available in Postfix 2.11 and later.
   4733 </p>
   4734 
   4735 
   4736 </DD>
   4737 
   4738 <DT><b><a name="lmtp_address_preference">lmtp_address_preference</a>
   4739 (default: ipv6)</b></DT><DD>
   4740 
   4741 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a>
   4742 configuration parameter.  See there for details. </p>
   4743 
   4744 <p> This feature is available in Postfix 2.8 and later.  </p>
   4745 
   4746 
   4747 </DD>
   4748 
   4749 <DT><b><a name="lmtp_address_verify_target">lmtp_address_verify_target</a>
   4750 (default: rcpt)</b></DT><DD>
   4751 
   4752 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a>
   4753 configuration parameter.  See there for details. </p>
   4754 
   4755 <p> This feature is available in Postfix 3.0 and later.  </p>
   4756 
   4757 
   4758 </DD>
   4759 
   4760 <DT><b><a name="lmtp_assume_final">lmtp_assume_final</a>
   4761 (default: no)</b></DT><DD>
   4762 
   4763 <p> When a remote LMTP server announces no DSN support, assume that
   4764 the
   4765 server performs final delivery, and send "delivered" delivery status
   4766 notifications instead of "relayed". The default setting is backwards
   4767 compatible to avoid the infinitesimal possibility of breaking
   4768 existing LMTP-based content filters. </p>
   4769 
   4770 
   4771 </DD>
   4772 
   4773 <DT><b><a name="lmtp_balance_inet_protocols">lmtp_balance_inet_protocols</a>
   4774 (default: yes)</b></DT><DD>
   4775 
   4776 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_balance_inet_protocols">smtp_balance_inet_protocols</a>
   4777 configuration parameter. See there for details. </p>
   4778 
   4779 <p> This feature is available in Postfix 3.3 and later.  </p>
   4780 
   4781 
   4782 </DD>
   4783 
   4784 <DT><b><a name="lmtp_bind_address">lmtp_bind_address</a>
   4785 (default: empty)</b></DT><DD>
   4786 
   4787 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> configuration
   4788 parameter.  See there for details. </p>
   4789 
   4790 <p> This feature is available in Postfix 2.3 and later. </p>
   4791 
   4792 
   4793 </DD>
   4794 
   4795 <DT><b><a name="lmtp_bind_address6">lmtp_bind_address6</a>
   4796 (default: empty)</b></DT><DD>
   4797 
   4798 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> configuration
   4799 parameter.  See there for details. </p>
   4800 
   4801 <p> This feature is available in Postfix 2.3 and later. </p>
   4802 
   4803 
   4804 </DD>
   4805 
   4806 <DT><b><a name="lmtp_bind_address_enforce">lmtp_bind_address_enforce</a>
   4807 (default: empty)</b></DT><DD>
   4808 
   4809 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address_enforce">smtp_bind_address_enforce</a>
   4810 configuration parameter. See there for details. </p>
   4811 
   4812 <p> This feature is available in Postfix 3.7 and later. </p>
   4813 
   4814 
   4815 </DD>
   4816 
   4817 <DT><b><a name="lmtp_body_checks">lmtp_body_checks</a>
   4818 (default: empty)</b></DT><DD>
   4819 
   4820 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_body_checks">smtp_body_checks</a> configuration
   4821 parameter. See there for details. </p>
   4822 
   4823 <p> This feature is available in Postfix 2.5 and later. </p>
   4824 
   4825 
   4826 </DD>
   4827 
   4828 <DT><b><a name="lmtp_cache_connection">lmtp_cache_connection</a>
   4829 (default: yes)</b></DT><DD>
   4830 
   4831 <p>
   4832 Keep Postfix LMTP client connections open for up to $<a href="postconf.5.html#max_idle">max_idle</a>
   4833 seconds. When the LMTP client receives a request for the same
   4834 connection the connection is reused.
   4835 </p>
   4836 
   4837 <p> This parameter is available in Postfix version 2.2 and earlier.
   4838 With Postfix version 2.3 and later, see <a href="postconf.5.html#lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>,
   4839 <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>.
   4840 </p>
   4841 
   4842 <p>
   4843 The effectiveness of cached connections will be determined by the
   4844 number of remote LMTP servers in use, and the concurrency limit specified
   4845 for the Postfix LMTP client. Cached connections are closed under any of
   4846 the following conditions:
   4847 </p>
   4848 
   4849 <ul>
   4850 
   4851 <li> The Postfix LMTP client idle time limit is reached.  This limit is
   4852 specified with the Postfix <a href="postconf.5.html#max_idle">max_idle</a> configuration parameter.
   4853 
   4854 <li> A delivery request specifies a different destination than the
   4855 one currently cached.
   4856 
   4857 <li> The per-process limit on the number of delivery requests is
   4858 reached.  This limit is specified with the Postfix <a href="postconf.5.html#max_use">max_use</a>
   4859 configuration parameter.
   4860 
   4861 <li> Upon the onset of another delivery request, the remote LMTP server
   4862 associated with the current session does not respond to the RSET
   4863 command.
   4864 
   4865 </ul>
   4866 
   4867 <p>
   4868 Most of these limitations have been with the Postfix
   4869 connection cache that is shared among multiple LMTP client
   4870 programs.
   4871 </p>
   4872 
   4873 
   4874 </DD>
   4875 
   4876 <DT><b><a name="lmtp_cname_overrides_servername">lmtp_cname_overrides_servername</a>
   4877 (default: yes)</b></DT><DD>
   4878 
   4879 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
   4880 configuration parameter.  See there for details. </p>
   4881 
   4882 <p> This feature is available in Postfix 2.3 and later. </p>
   4883 
   4884 
   4885 </DD>
   4886 
   4887 <DT><b><a name="lmtp_connect_timeout">lmtp_connect_timeout</a>
   4888 (default: 0s)</b></DT><DD>
   4889 
   4890 <p> The Postfix LMTP client time limit for completing a TCP connection, or
   4891 zero (use the operating system built-in time limit).  When no
   4892 connection can be made within the deadline, the LMTP client tries
   4893 the next address on the mail exchanger list.  </p>
   4894 
   4895 <p> Specify a non-negative time value (an integral value plus an optional
   4896 one-letter suffix that specifies the time unit).  Time units: s
   4897 (seconds), m (minutes), h (hours), d (days), w (weeks).
   4898 The default time unit is s (seconds).  </p>
   4899 
   4900 <p>
   4901 Example:
   4902 </p>
   4903 
   4904 <pre>
   4905 <a href="postconf.5.html#lmtp_connect_timeout">lmtp_connect_timeout</a> = 30s
   4906 </pre>
   4907 
   4908 
   4909 </DD>
   4910 
   4911 <DT><b><a name="lmtp_connection_cache_destinations">lmtp_connection_cache_destinations</a>
   4912 (default: empty)</b></DT><DD>
   4913 
   4914 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
   4915 configuration parameter.  See there for details. </p>
   4916 
   4917 <p> This feature is available in Postfix 2.3 and later. </p>
   4918 
   4919 
   4920 </DD>
   4921 
   4922 <DT><b><a name="lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>
   4923 (default: yes)</b></DT><DD>
   4924 
   4925 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
   4926 configuration parameter.  See there for details. </p>
   4927 
   4928 <p> This feature is available in Postfix 2.3 and later. </p>
   4929 
   4930 
   4931 </DD>
   4932 
   4933 <DT><b><a name="lmtp_connection_cache_time_limit">lmtp_connection_cache_time_limit</a>
   4934 (default: 2s)</b></DT><DD>
   4935 
   4936 <p> The LMTP-specific version of the
   4937 <a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> configuration parameter.
   4938 See there for details. </p>
   4939 
   4940 <p> This feature is available in Postfix 2.3 and later. </p>
   4941 
   4942 
   4943 </DD>
   4944 
   4945 <DT><b><a name="lmtp_connection_reuse_count_limit">lmtp_connection_reuse_count_limit</a>
   4946 (default: 0)</b></DT><DD>
   4947 
   4948 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a>
   4949 configuration parameter.  See there for details. </p>
   4950 
   4951 <p> This feature is available in Postfix 2.11 and later. </p>
   4952 
   4953 
   4954 </DD>
   4955 
   4956 <DT><b><a name="lmtp_connection_reuse_time_limit">lmtp_connection_reuse_time_limit</a>
   4957 (default: 300s)</b></DT><DD>
   4958 
   4959 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
   4960 configuration parameter.  See there for details. </p>
   4961 
   4962 <p> This feature is available in Postfix 2.3 and later. </p>
   4963 
   4964 
   4965 </DD>
   4966 
   4967 <DT><b><a name="lmtp_data_done_timeout">lmtp_data_done_timeout</a>
   4968 (default: 600s)</b></DT><DD>
   4969 
   4970 <p> The Postfix LMTP client time limit for sending the LMTP ".",
   4971 and for receiving the remote LMTP server response.  When no response
   4972 is received within the deadline, a warning is logged that the mail
   4973 may be delivered multiple times.  </p>
   4974 
   4975 <p> Specify a non-zero time value (an integral value plus an optional
   4976 one-letter suffix that specifies the time unit).  Time units: s
   4977 (seconds), m (minutes), h (hours), d (days), w (weeks).
   4978 The default time unit is s (seconds).  </p>
   4979 
   4980 
   4981 </DD>
   4982 
   4983 <DT><b><a name="lmtp_data_init_timeout">lmtp_data_init_timeout</a>
   4984 (default: 120s)</b></DT><DD>
   4985 
   4986 <p>
   4987 The Postfix LMTP client time limit for sending the LMTP DATA command,
   4988 and
   4989 for receiving the remote LMTP server response.
   4990 </p>
   4991 
   4992 <p> Specify a non-zero time value (an integral value plus an optional
   4993 one-letter suffix that specifies the time unit).  Time units: s
   4994 (seconds), m (minutes), h (hours), d (days), w (weeks).
   4995 The default time unit is s (seconds).  </p>
   4996 
   4997 
   4998 </DD>
   4999 
   5000 <DT><b><a name="lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
   5001 (default: 180s)</b></DT><DD>
   5002 
   5003 <p>
   5004 The Postfix LMTP client time limit for sending the LMTP message
   5005 content.
   5006 When the connection stalls for more than $<a href="postconf.5.html#lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
   5007 the LMTP client terminates the transfer.
   5008 </p>
   5009 
   5010 <p> Specify a non-zero time value (an integral value plus an optional
   5011 one-letter suffix that specifies the time unit).  Time units: s
   5012 (seconds), m (minutes), h (hours), d (days), w (weeks).
   5013 The default time unit is s (seconds).  </p>
   5014 
   5015 
   5016 </DD>
   5017 
   5018 <DT><b><a name="lmtp_defer_if_no_mx_address_found">lmtp_defer_if_no_mx_address_found</a>
   5019 (default: no)</b></DT><DD>
   5020 
   5021 <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>
   5022 configuration parameter.  See there for details. </p>
   5023 
   5024 <p> This feature is available in Postfix 2.3 and later. </p>
   5025 
   5026 
   5027 </DD>
   5028 
   5029 <DT><b><a name="lmtp_delivery_status_filter">lmtp_delivery_status_filter</a>
   5030 (default: empty)</b></DT><DD>
   5031 
   5032 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a>
   5033 configuration parameter.  See there for details. </p>
   5034 
   5035 <p> This feature is available in Postfix 3.0 and later. </p>
   5036 
   5037 
   5038 </DD>
   5039 
   5040 <DT><b><a name="lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a>
   5041 (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
   5042 
   5043 <p> The maximal number of parallel deliveries to the same destination
   5044 via the lmtp message delivery transport. This limit is enforced by
   5045 the queue manager. The message delivery transport name is the first
   5046 field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
   5047 
   5048 
   5049 </DD>
   5050 
   5051 <DT><b><a name="lmtp_destination_recipient_limit">lmtp_destination_recipient_limit</a>
   5052 (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
   5053 
   5054 <p> The maximal number of recipients per message for the lmtp
   5055 message delivery transport. This limit is enforced by the queue
   5056 manager. The message delivery transport name is the first field in
   5057 the entry in the <a href="master.5.html">master.cf</a> file.  </p>
   5058 
   5059 <p> Setting this parameter to a value of 1 changes the meaning of
   5060 <a href="postconf.5.html#lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a> from concurrency per domain into
   5061 concurrency per recipient.  </p>
   5062 
   5063 
   5064 </DD>
   5065 
   5066 <DT><b><a name="lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a>
   5067 (default: empty)</b></DT><DD>
   5068 
   5069 <p> Lookup tables, indexed by the remote LMTP server address, with
   5070 case insensitive lists of LHLO keywords (pipelining, starttls,
   5071 auth, etc.) that the Postfix LMTP client will ignore in the LHLO
   5072 response
   5073 from a remote LMTP server. See <a href="postconf.5.html#lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a> for
   5074 details. The table is not indexed by hostname for consistency with
   5075 <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
   5076 
   5077 <p> This feature is available in Postfix 2.3 and later. </p>
   5078 
   5079 
   5080 </DD>
   5081 
   5082 <DT><b><a name="lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a>
   5083 (default: empty)</b></DT><DD>
   5084 
   5085 <p> A case insensitive list of LHLO keywords (pipelining, starttls,
   5086 auth, etc.) that the Postfix LMTP client will ignore in the LHLO
   5087 response
   5088 from a remote LMTP server. </p>
   5089 
   5090 <p> This feature is available in Postfix 2.3 and later. </p>
   5091 
   5092 <p> Notes: </p>
   5093 
   5094 <ul>
   5095 
   5096 <li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
   5097 this action from being logged. </p>
   5098 
   5099 <li> <p> Use the <a href="postconf.5.html#lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a> feature to
   5100 discard LHLO keywords selectively. </p>
   5101 
   5102 </ul>
   5103 
   5104 
   5105 </DD>
   5106 
   5107 <DT><b><a name="lmtp_dns_reply_filter">lmtp_dns_reply_filter</a>
   5108 (default: empty)</b></DT><DD>
   5109 
   5110 <p> Optional filter for Postfix LMTP client DNS lookup results.
   5111 See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example.  </p>
   5112 
   5113 <p> This feature is available in Postfix 3.0 and later. </p>
   5114 
   5115 
   5116 </DD>
   5117 
   5118 <DT><b><a name="lmtp_dns_resolver_options">lmtp_dns_resolver_options</a>
   5119 (default: empty)</b></DT><DD>
   5120 
   5121 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_resolver_options">smtp_dns_resolver_options</a>
   5122 configuration parameter.  See there for details. </p>
   5123 
   5124 <p> This feature is available in Postfix 2.8 and later.  </p>
   5125 
   5126 
   5127 </DD>
   5128 
   5129 <DT><b><a name="lmtp_dns_support_level">lmtp_dns_support_level</a>
   5130 (default: empty)</b></DT><DD>
   5131 
   5132 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>
   5133 configuration parameter.  See there for details.  </p>
   5134 
   5135 <p> This feature is available in Postfix 2.11 and later.  </p>
   5136 
   5137 
   5138 </DD>
   5139 
   5140 <DT><b><a name="lmtp_enforce_tls">lmtp_enforce_tls</a>
   5141 (default: no)</b></DT><DD>
   5142 
   5143 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> configuration
   5144 parameter.  See there for details. </p>
   5145 
   5146 <p> This feature is deprecated as of Postfix 3.9. Specify
   5147 <a href="postconf.5.html#lmtp_tls_security_level">lmtp_tls_security_level</a> instead. </p>
   5148 
   5149 <p> This feature is available in Postfix 2.3 and later. </p>
   5150 
   5151 
   5152 </DD>
   5153 
   5154 <DT><b><a name="lmtp_fallback_relay">lmtp_fallback_relay</a>
   5155 (default: empty)</b></DT><DD>
   5156 
   5157 <p> Optional list of relay hosts for LMTP destinations that can't be
   5158 found or that are unreachable.  In <a href="postconf.5.html">main.cf</a> elements are separated by
   5159 whitespace or commas.  </p>
   5160 
   5161 <p> By default, mail is returned to the sender when a destination is not
   5162 found, and delivery is deferred when a destination is unreachable.  </p>
   5163 
   5164 <p> The fallback relays must be TCP destinations, specified without
   5165 a leading "inet:" prefix.  Specify a host or host:port.  Since MX
   5166 lookups do not apply with LMTP, there is no need to use the "[host]" or
   5167 "[host]:port" forms.  If you specify multiple LMTP destinations, Postfix
   5168 will try them in the specified order.  </p>
   5169 
   5170 <p>
   5171 This feature is available in Postfix 3.1 and later.
   5172 </p>
   5173 
   5174 
   5175 </DD>
   5176 
   5177 <DT><b><a name="lmtp_generic_maps">lmtp_generic_maps</a>
   5178 (default: empty)</b></DT><DD>
   5179 
   5180 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_generic_maps">smtp_generic_maps</a> configuration
   5181 parameter.  See there for details. </p>
   5182 
   5183 <p> This feature is available in Postfix 2.3 and later. </p>
   5184 
   5185 
   5186 </DD>
   5187 
   5188 <DT><b><a name="lmtp_header_checks">lmtp_header_checks</a>
   5189 (default: empty)</b></DT><DD>
   5190 
   5191 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_header_checks">smtp_header_checks</a> configuration
   5192 parameter. See there for details. </p>
   5193 
   5194 <p> This feature is available in Postfix 2.5 and later. </p>
   5195 
   5196 
   5197 </DD>
   5198 
   5199 <DT><b><a name="lmtp_host_lookup">lmtp_host_lookup</a>
   5200 (default: dns)</b></DT><DD>
   5201 
   5202 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a> configuration
   5203 parameter.  See there for details. </p>
   5204 
   5205 <p> This feature is available in Postfix 2.3 and later. </p>
   5206 
   5207 
   5208 </DD>
   5209 
   5210 <DT><b><a name="lmtp_lhlo_name">lmtp_lhlo_name</a>
   5211 (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
   5212 
   5213 <p>
   5214 The hostname to send in the LMTP LHLO command.
   5215 </p>
   5216 
   5217 <p>
   5218 The default value is the machine hostname.  Specify a hostname or
   5219 [ip.add.re.ss] or [ip:v6:add:re::ss].
   5220 </p>
   5221 
   5222 <p>
   5223 This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all LMTP
   5224 clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
   5225 client, for example:
   5226 </p>
   5227 
   5228 <blockquote>
   5229 <pre>
   5230 /etc/postfix/<a href="master.5.html">master.cf</a>:
   5231     mylmtp ... lmtp -o <a href="postconf.5.html#lmtp_lhlo_name">lmtp_lhlo_name</a>=foo.bar.com
   5232 </pre>
   5233 </blockquote>
   5234 
   5235 <p>
   5236 This feature is available in Postfix 2.3 and later.
   5237 </p>
   5238 
   5239 
   5240 </DD>
   5241 
   5242 <DT><b><a name="lmtp_lhlo_timeout">lmtp_lhlo_timeout</a>
   5243 (default: 300s)</b></DT><DD>
   5244 
   5245 <p> The Postfix LMTP client time limit for sending the LHLO command,
   5246 and for receiving the initial remote LMTP server response. </p>
   5247 
   5248 <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
   5249 (weeks).  The default time unit is s (seconds).  </p>
   5250 
   5251 
   5252 </DD>
   5253 
   5254 <DT><b><a name="lmtp_line_length_limit">lmtp_line_length_limit</a>
   5255 (default: 998)</b></DT><DD>
   5256 
   5257 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_line_length_limit">smtp_line_length_limit</a>
   5258 configuration parameter.  See there for details. </p>
   5259 
   5260 <p> This feature is available in Postfix 2.3 and later. </p>
   5261 
   5262 
   5263 </DD>
   5264 
   5265 <DT><b><a name="lmtp_log_tls_feature_status">lmtp_log_tls_feature_status</a>
   5266 (default: yes)</b></DT><DD>
   5267 
   5268 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_log_tls_feature_status">smtp_log_tls_feature_status</a>
   5269 configuration parameter. See there for details. </p>
   5270 
   5271 <p> This feature is available in Postfix &ge; 3.11. </p>
   5272 
   5273 
   5274 </DD>
   5275 
   5276 <DT><b><a name="lmtp_mail_timeout">lmtp_mail_timeout</a>
   5277 (default: 300s)</b></DT><DD>
   5278 
   5279 <p>
   5280 The Postfix LMTP client time limit for sending the MAIL FROM command,
   5281 and for receiving the remote LMTP server response.
   5282 </p>
   5283 
   5284 <p> Specify a non-zero time value (an integral value plus an optional
   5285 one-letter suffix that specifies the time unit).  Time units: s
   5286 (seconds), m (minutes), h (hours), d (days), w (weeks).
   5287 The default time unit is s (seconds).  </p>
   5288 
   5289 
   5290 </DD>
   5291 
   5292 <DT><b><a name="lmtp_mime_header_checks">lmtp_mime_header_checks</a>
   5293 (default: empty)</b></DT><DD>
   5294 
   5295 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mime_header_checks">smtp_mime_header_checks</a>
   5296 configuration parameter. See there for details. </p>
   5297 
   5298 <p> This feature is available in Postfix 2.5 and later. </p>
   5299 
   5300 
   5301 </DD>
   5302 
   5303 <DT><b><a name="lmtp_min_data_rate">lmtp_min_data_rate</a>
   5304 (default: 500)</b></DT><DD>
   5305 
   5306 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_min_data_rate">smtp_min_data_rate</a> configuration
   5307 parameter. See there for details. </p>
   5308 
   5309 <p> This feature is available in Postfix 3.7 and later. </p>
   5310 
   5311 
   5312 </DD>
   5313 
   5314 <DT><b><a name="lmtp_mx_address_limit">lmtp_mx_address_limit</a>
   5315 (default: 5)</b></DT><DD>
   5316 
   5317 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a> configuration
   5318 parameter.  See there for details. </p>
   5319 
   5320 <p> This feature is available in Postfix 2.3 and later. </p>
   5321 
   5322 
   5323 </DD>
   5324 
   5325 <DT><b><a name="lmtp_mx_session_limit">lmtp_mx_session_limit</a>
   5326 (default: 2)</b></DT><DD>
   5327 
   5328 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_session_limit">smtp_mx_session_limit</a> configuration
   5329 parameter.  See there for details. </p>
   5330 
   5331 <p> This feature is available in Postfix 2.3 and later. </p>
   5332 
   5333 
   5334 </DD>
   5335 
   5336 <DT><b><a name="lmtp_nested_header_checks">lmtp_nested_header_checks</a>
   5337 (default: empty)</b></DT><DD>
   5338 
   5339 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_nested_header_checks">smtp_nested_header_checks</a>
   5340 configuration parameter. See there for details. </p>
   5341 
   5342 <p> This feature is available in Postfix 2.5 and later. </p>
   5343 
   5344 
   5345 </DD>
   5346 
   5347 <DT><b><a name="lmtp_per_record_deadline">lmtp_per_record_deadline</a>
   5348 (default: no)</b></DT><DD>
   5349 
   5350 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a>
   5351 configuration parameter.  See there for details. </p>
   5352 
   5353 <p> This feature is available in Postfix 2.9 and later.  </p>
   5354 
   5355 
   5356 </DD>
   5357 
   5358 <DT><b><a name="lmtp_per_request_deadline">lmtp_per_request_deadline</a>
   5359 (default: no)</b></DT><DD>
   5360 
   5361 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_per_request_deadline">smtp_per_request_deadline</a>
   5362 configuration parameter. See there for details. </p>
   5363 
   5364 <p> This feature is available in Postfix 3.7 and later. </p>
   5365 
   5366 
   5367 </DD>
   5368 
   5369 <DT><b><a name="lmtp_pix_workaround_delay_time">lmtp_pix_workaround_delay_time</a>
   5370 (default: 10s)</b></DT><DD>
   5371 
   5372 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
   5373 configuration parameter.  See there for details. </p>
   5374 
   5375 <p> This feature is available in Postfix 2.3 and later. </p>
   5376 
   5377 
   5378 </DD>
   5379 
   5380 <DT><b><a name="lmtp_pix_workaround_maps">lmtp_pix_workaround_maps</a>
   5381 (default: empty)</b></DT><DD>
   5382 
   5383 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
   5384 configuration parameter.  See there for details. </p>
   5385 
   5386 <p> This feature is available in Postfix 2.4 and later. </p>
   5387 
   5388 
   5389 </DD>
   5390 
   5391 <DT><b><a name="lmtp_pix_workaround_threshold_time">lmtp_pix_workaround_threshold_time</a>
   5392 (default: 500s)</b></DT><DD>
   5393 
   5394 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
   5395 configuration parameter.  See there for details. </p>
   5396 
   5397 <p> This feature is available in Postfix 2.3 and later. </p>
   5398 
   5399 
   5400 </DD>
   5401 
   5402 <DT><b><a name="lmtp_pix_workarounds">lmtp_pix_workarounds</a>
   5403 (default: empty)</b></DT><DD>
   5404 
   5405 <p> The LMTP-specific version of the smtp_pix_workaround
   5406 configuration parameter.  See there for details. </p>
   5407 
   5408 <p> This feature is available in Postfix 2.4 and later. </p>
   5409 
   5410 
   5411 </DD>
   5412 
   5413 <DT><b><a name="lmtp_quit_timeout">lmtp_quit_timeout</a>
   5414 (default: 300s)</b></DT><DD>
   5415 
   5416 <p>
   5417 The Postfix LMTP client time limit for sending the QUIT command,
   5418 and for receiving the remote LMTP server response.
   5419 </p>
   5420 
   5421 <p> Specify a non-zero time value (an integral value plus an optional
   5422 one-letter suffix that specifies the time unit).  Time units: s
   5423 (seconds), m (minutes), h (hours), d (days), w (weeks).
   5424 The default time unit is s (seconds).  </p>
   5425 
   5426 
   5427 </DD>
   5428 
   5429 <DT><b><a name="lmtp_quote_rfc821_envelope">lmtp_quote_rfc821_envelope</a>
   5430 (default: yes)</b></DT><DD>
   5431 
   5432 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
   5433 configuration parameter.  See there for details. </p>
   5434 
   5435 <p> This feature is available in Postfix 2.3 and later. </p>
   5436 
   5437 
   5438 </DD>
   5439 
   5440 <DT><b><a name="lmtp_randomize_addresses">lmtp_randomize_addresses</a>
   5441 (default: yes)</b></DT><DD>
   5442 
   5443 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_randomize_addresses">smtp_randomize_addresses</a>
   5444 configuration parameter.  See there for details. </p>
   5445 
   5446 <p> This feature is available in Postfix 2.3 and later. </p>
   5447 
   5448 
   5449 </DD>
   5450 
   5451 <DT><b><a name="lmtp_rcpt_timeout">lmtp_rcpt_timeout</a>
   5452 (default: 300s)</b></DT><DD>
   5453 
   5454 <p>
   5455 The Postfix LMTP client time limit for sending the RCPT TO command,
   5456 and for receiving the remote LMTP server response.
   5457 </p>
   5458 
   5459 <p> Specify a non-zero time value (an integral value plus an optional
   5460 one-letter suffix that specifies the time unit).  Time units: s
   5461 (seconds), m (minutes), h (hours), d (days), w (weeks).
   5462 The default time unit is s (seconds).  </p>
   5463 
   5464 
   5465 </DD>
   5466 
   5467 <DT><b><a name="lmtp_reply_filter">lmtp_reply_filter</a>
   5468 (default: empty)</b></DT><DD>
   5469 
   5470 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a>
   5471 configuration parameter.  See there for details. </p>
   5472 
   5473 <p> This feature is available in Postfix 2.7 and later. </p>
   5474 
   5475 
   5476 </DD>
   5477 
   5478 <DT><b><a name="lmtp_requiretls_policy">lmtp_requiretls_policy</a>
   5479 (default: opportunistic)</b></DT><DD>
   5480 
   5481 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a>
   5482 configuration parameter. See there for details. </p>
   5483 
   5484 <p> This feature is available in Postfix &ge; 3.11. </p>
   5485 
   5486 
   5487 </DD>
   5488 
   5489 <DT><b><a name="lmtp_rset_timeout">lmtp_rset_timeout</a>
   5490 (default: 20s)</b></DT><DD>
   5491 
   5492 <p> The Postfix LMTP client time limit for sending the RSET command,
   5493 and for receiving the remote LMTP server response. The LMTP client
   5494 sends RSET in
   5495 order to finish a recipient address probe, or to verify that a
   5496 cached connection is still alive.  </p>
   5497 
   5498 <p> Specify a non-zero time value (an integral value plus an optional
   5499 one-letter suffix that specifies the time unit).  Time units: s
   5500 (seconds), m (minutes), h (hours), d (days), w (weeks).
   5501 The default time unit is s (seconds).  </p>
   5502 
   5503 
   5504 </DD>
   5505 
   5506 <DT><b><a name="lmtp_sasl_auth_cache_name">lmtp_sasl_auth_cache_name</a>
   5507 (default: empty)</b></DT><DD>
   5508 
   5509 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
   5510 configuration parameter.  See there for details. </p>
   5511 
   5512 <p> This feature is available in Postfix 2.5 and later. </p>
   5513 
   5514 
   5515 </DD>
   5516 
   5517 <DT><b><a name="lmtp_sasl_auth_cache_time">lmtp_sasl_auth_cache_time</a>
   5518 (default: 90d)</b></DT><DD>
   5519 
   5520 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
   5521 configuration parameter.  See there for details. </p>
   5522 
   5523 <p> This feature is available in Postfix 2.5 and later. </p>
   5524 
   5525 
   5526 </DD>
   5527 
   5528 <DT><b><a name="lmtp_sasl_auth_enable">lmtp_sasl_auth_enable</a>
   5529 (default: no)</b></DT><DD>
   5530 
   5531 <p>
   5532 Enable SASL authentication in the Postfix LMTP client.
   5533 </p>
   5534 
   5535 
   5536 </DD>
   5537 
   5538 <DT><b><a name="lmtp_sasl_auth_soft_bounce">lmtp_sasl_auth_soft_bounce</a>
   5539 (default: yes)</b></DT><DD>
   5540 
   5541 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
   5542 configuration parameter.  See there for details. </p>
   5543 
   5544 <p> This feature is available in Postfix 2.5 and later. </p>
   5545 
   5546 
   5547 </DD>
   5548 
   5549 <DT><b><a name="lmtp_sasl_mechanism_filter">lmtp_sasl_mechanism_filter</a>
   5550 (default: empty)</b></DT><DD>
   5551 
   5552 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
   5553 configuration parameter.  See there for details. </p>
   5554 
   5555 <p> This feature is available in Postfix 2.3 and later. </p>
   5556 
   5557 
   5558 </DD>
   5559 
   5560 <DT><b><a name="lmtp_sasl_password_maps">lmtp_sasl_password_maps</a>
   5561 (default: empty)</b></DT><DD>
   5562 
   5563 <p>
   5564 Optional Postfix LMTP client lookup tables with one username:password entry
   5565 per host or domain.  If a remote host or domain has no username:password
   5566 entry, then the Postfix LMTP client will not attempt to authenticate
   5567 to the remote host.
   5568 </p>
   5569 
   5570 
   5571 </DD>
   5572 
   5573 <DT><b><a name="lmtp_sasl_password_result_delimiter">lmtp_sasl_password_result_delimiter</a>
   5574 (default: :)</b></DT><DD>
   5575 
   5576 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_password_result_delimiter">smtp_sasl_password_result_delimiter</a>
   5577 configuration parameter.  See there for details. </p>
   5578 
   5579 
   5580 </DD>
   5581 
   5582 <DT><b><a name="lmtp_sasl_path">lmtp_sasl_path</a>
   5583 (default: empty)</b></DT><DD>
   5584 
   5585 <p> Implementation-specific information that is passed through to
   5586 the SASL plug-in implementation that is selected with
   5587 <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>.  Typically this specifies the name of a
   5588 configuration file or rendezvous point. </p>
   5589 
   5590 <p> This feature is available in Postfix 2.3 and later. </p>
   5591 
   5592 
   5593 </DD>
   5594 
   5595 <DT><b><a name="lmtp_sasl_security_options">lmtp_sasl_security_options</a>
   5596 (default: noplaintext, noanonymous)</b></DT><DD>
   5597 
   5598 <p> SASL security options; as of Postfix 2.3 the list of available
   5599 features depends on the SASL client implementation that is selected
   5600 with <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>.  </p>
   5601 
   5602 <p> The following security features are defined for the <b>cyrus</b>
   5603 client SASL implementation: </p>
   5604 
   5605 <dl>
   5606 
   5607 <dt><b>noplaintext</b></dt>
   5608 
   5609 <dd>Disallow authentication methods that use plaintext passwords. </dd>
   5610 
   5611 <dt><b>noactive</b></dt>
   5612 
   5613 <dd>Disallow authentication methods that are vulnerable to non-dictionary
   5614 active attacks. </dd>
   5615 
   5616 <dt><b>nodictionary</b></dt>
   5617 
   5618 <dd>Disallow authentication methods that are vulnerable to passive
   5619 dictionary attacks. </dd>
   5620 
   5621 <dt><b>noanonymous</b></dt>
   5622 
   5623 <dd>Disallow anonymous logins. </dd>
   5624 
   5625 </dl>
   5626 
   5627 <p>
   5628 Example:
   5629 </p>
   5630 
   5631 <pre>
   5632 <a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a> = noplaintext
   5633 </pre>
   5634 
   5635 
   5636 </DD>
   5637 
   5638 <DT><b><a name="lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>
   5639 (default: $<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a>)</b></DT><DD>
   5640 
   5641 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
   5642 configuration parameter.  See there for details. </p>
   5643 
   5644 <p> This feature is available in Postfix 2.3 and later. </p>
   5645 
   5646 
   5647 </DD>
   5648 
   5649 <DT><b><a name="lmtp_sasl_tls_verified_security_options">lmtp_sasl_tls_verified_security_options</a>
   5650 (default: $<a href="postconf.5.html#lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>)</b></DT><DD>
   5651 
   5652 <p> The LMTP-specific version of the
   5653 <a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> configuration parameter.
   5654 See there for details. </p>
   5655 
   5656 <p> This feature is available in Postfix 2.3 and later. </p>
   5657 
   5658 
   5659 </DD>
   5660 
   5661 <DT><b><a name="lmtp_sasl_type">lmtp_sasl_type</a>
   5662 (default: cyrus)</b></DT><DD>
   5663 
   5664 <p> The SASL plug-in type that the Postfix LMTP client should use
   5665 for authentication.  The available types are listed with the
   5666 "<b>postconf -A</b>" command. </p>
   5667 
   5668 <p> This feature is available in Postfix 2.3 and later. </p>
   5669 
   5670 
   5671 </DD>
   5672 
   5673 <DT><b><a name="lmtp_send_dummy_mail_auth">lmtp_send_dummy_mail_auth</a>
   5674 (default: no)</b></DT><DD>
   5675 
   5676 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
   5677 configuration parameter.  See there for details. </p>
   5678 
   5679 <p> This feature is available in Postfix 2.9 and later.  </p>
   5680 
   5681 
   5682 </DD>
   5683 
   5684 <DT><b><a name="lmtp_send_xforward_command">lmtp_send_xforward_command</a>
   5685 (default: no)</b></DT><DD>
   5686 
   5687 <p>
   5688 Send an XFORWARD command to the remote LMTP server when the LMTP LHLO
   5689 server response announces XFORWARD support.  This allows an <a href="lmtp.8.html">lmtp(8)</a>
   5690 delivery agent, used for content filter message injection, to
   5691 forward the name, address, protocol and HELO name of the original
   5692 client to the content filter and downstream LMTP server.
   5693 Before you change the value to yes, it is best to make sure that
   5694 your content filter supports this command.
   5695 </p>
   5696 
   5697 <p>
   5698 This feature is available in Postfix 2.1 and later.
   5699 </p>
   5700 
   5701 
   5702 </DD>
   5703 
   5704 <DT><b><a name="lmtp_sender_dependent_authentication">lmtp_sender_dependent_authentication</a>
   5705 (default: no)</b></DT><DD>
   5706 
   5707 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
   5708 configuration parameter.  See there for details. </p>
   5709 
   5710 <p> This feature is available in Postfix 2.3 and later. </p>
   5711 
   5712 
   5713 </DD>
   5714 
   5715 <DT><b><a name="lmtp_skip_5xx_greeting">lmtp_skip_5xx_greeting</a>
   5716 (default: yes)</b></DT><DD>
   5717 
   5718 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
   5719 configuration parameter.  See there for details. </p>
   5720 
   5721 <p> This feature is available in Postfix 2.3 and later. </p>
   5722 
   5723 
   5724 </DD>
   5725 
   5726 <DT><b><a name="lmtp_skip_quit_response">lmtp_skip_quit_response</a>
   5727 (default: no)</b></DT><DD>
   5728 
   5729 <p>
   5730 Wait for the response to the LMTP QUIT command.
   5731 </p>
   5732 
   5733 
   5734 </DD>
   5735 
   5736 <DT><b><a name="lmtp_starttls_timeout">lmtp_starttls_timeout</a>
   5737 (default: 300s)</b></DT><DD>
   5738 
   5739 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_starttls_timeout">smtp_starttls_timeout</a> configuration
   5740 parameter.  See there for details. </p>
   5741 
   5742 <p> This feature is available in Postfix 2.3 and later. </p>
   5743 
   5744 
   5745 </DD>
   5746 
   5747 <DT><b><a name="lmtp_tcp_port">lmtp_tcp_port</a>
   5748 (default: 24)</b></DT><DD>
   5749 
   5750 <p>
   5751 The default TCP port that the Postfix LMTP client connects to.
   5752 Specify a symbolic name (see services(5)) or a numeric port.
   5753 </p>
   5754 
   5755 
   5756 </DD>
   5757 
   5758 <DT><b><a name="lmtp_tls_CAfile">lmtp_tls_CAfile</a>
   5759 (default: empty)</b></DT><DD>
   5760 
   5761 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>
   5762 configuration parameter.  See there for details. </p>
   5763 
   5764 <p> This feature is available in Postfix 2.3 and later. </p>
   5765 
   5766 
   5767 </DD>
   5768 
   5769 <DT><b><a name="lmtp_tls_CApath">lmtp_tls_CApath</a>
   5770 (default: empty)</b></DT><DD>
   5771 
   5772 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a>
   5773 configuration parameter.  See there for details. </p>
   5774 
   5775 <p> This feature is available in Postfix 2.3 and later. </p>
   5776 
   5777 
   5778 </DD>
   5779 
   5780 <DT><b><a name="lmtp_tls_block_early_mail_reply">lmtp_tls_block_early_mail_reply</a>
   5781 (default: empty)</b></DT><DD>
   5782 
   5783 <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>
   5784 configuration parameter.  See there for details. </p>
   5785 
   5786 <p> This feature is available in Postfix 2.7 and later. </p>
   5787 
   5788 
   5789 </DD>
   5790 
   5791 <DT><b><a name="lmtp_tls_cert_file">lmtp_tls_cert_file</a>
   5792 (default: empty)</b></DT><DD>
   5793 
   5794 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>
   5795 configuration parameter.  See there for details. </p>
   5796 
   5797 <p> This feature is available in Postfix 2.3 and later. </p>
   5798 
   5799 
   5800 </DD>
   5801 
   5802 <DT><b><a name="lmtp_tls_chain_files">lmtp_tls_chain_files</a>
   5803 (default: empty)</b></DT><DD>
   5804 
   5805 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> configuration
   5806 parameter. See there for details. </p>
   5807 
   5808 <p> This feature is available in Postfix 3.4 and later.  </p>
   5809 
   5810 
   5811 </DD>
   5812 
   5813 <DT><b><a name="lmtp_tls_ciphers">lmtp_tls_ciphers</a>
   5814 (default: medium)</b></DT><DD>
   5815 
   5816 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> configuration
   5817 parameter. See there for details. </p>
   5818 
   5819 <p> This feature is available in Postfix 2.6 and later. </p>
   5820 
   5821 
   5822 </DD>
   5823 
   5824 <DT><b><a name="lmtp_tls_connection_reuse">lmtp_tls_connection_reuse</a>
   5825 (default: no)</b></DT><DD>
   5826 
   5827 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> configuration
   5828 parameter. See there for details. </p>
   5829 
   5830 <p> This feature is available in Postfix 3.4 and later. </p>
   5831 
   5832 
   5833 </DD>
   5834 
   5835 <DT><b><a name="lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>
   5836 (default: empty)</b></DT><DD>
   5837 
   5838 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>
   5839 configuration parameter.  See there for details. </p>
   5840 
   5841 <p> This feature is available in Postfix 2.3 and later. </p>
   5842 
   5843 
   5844 </DD>
   5845 
   5846 <DT><b><a name="lmtp_tls_dkey_file">lmtp_tls_dkey_file</a>
   5847 (default: $<a href="postconf.5.html#lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>)</b></DT><DD>
   5848 
   5849 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a>
   5850 configuration parameter.  See there for details. </p>
   5851 
   5852 <p> This feature is available in Postfix 2.3 and later. </p>
   5853 
   5854 
   5855 </DD>
   5856 
   5857 <DT><b><a name="lmtp_tls_eccert_file">lmtp_tls_eccert_file</a>
   5858 (default: empty)</b></DT><DD>
   5859 
   5860 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> configuration
   5861 parameter.  See there for details. </p>
   5862 
   5863 <p> This feature is available in Postfix 2.6 and later, when Postfix is
   5864 compiled and linked with OpenSSL 1.0.0 or later. </p>
   5865 
   5866 
   5867 </DD>
   5868 
   5869 <DT><b><a name="lmtp_tls_eckey_file">lmtp_tls_eckey_file</a>
   5870 (default: empty)</b></DT><DD>
   5871 
   5872 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> configuration
   5873 parameter.  See there for details. </p>
   5874 
   5875 <p> This feature is available in Postfix 2.6 and later, when Postfix is
   5876 compiled and linked with OpenSSL 1.0.0 or later. </p>
   5877 
   5878 
   5879 </DD>
   5880 
   5881 <DT><b><a name="lmtp_tls_enable_rpk">lmtp_tls_enable_rpk</a>
   5882 (default: yes)</b></DT><DD>
   5883 
   5884 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a>
   5885 configuration parameter.  See there for details. </p>
   5886 
   5887 <p> This feature is available in Postfix 3.9 and later. </p>
   5888 
   5889 
   5890 </DD>
   5891 
   5892 <DT><b><a name="lmtp_tls_enforce_peername">lmtp_tls_enforce_peername</a>
   5893 (default: yes)</b></DT><DD>
   5894 
   5895 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
   5896 configuration parameter.  See there for details. </p>
   5897 
   5898 <p> This feature is available in Postfix 2.3 and later. </p>
   5899 
   5900 
   5901 </DD>
   5902 
   5903 <DT><b><a name="lmtp_tls_enforce_sts_mx_patterns">lmtp_tls_enforce_sts_mx_patterns</a>
   5904 (default: yes)</b></DT><DD>
   5905 
   5906 <p> See <a href="postconf.5.html#smtp_tls_enforce_sts_mx_patterns">smtp_tls_enforce_sts_mx_patterns</a>. </p>
   5907 
   5908 <p> This feature is available in Postfix &ge; 3.10.5. </p>
   5909 
   5910 
   5911 </DD>
   5912 
   5913 <DT><b><a name="lmtp_tls_exclude_ciphers">lmtp_tls_exclude_ciphers</a>
   5914 (default: empty)</b></DT><DD>
   5915 
   5916 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
   5917 configuration parameter.  See there for details. </p>
   5918 
   5919 <p> This feature is available in Postfix 2.3 and later. </p>
   5920 
   5921 
   5922 </DD>
   5923 
   5924 <DT><b><a name="lmtp_tls_fingerprint_cert_match">lmtp_tls_fingerprint_cert_match</a>
   5925 (default: empty)</b></DT><DD>
   5926 
   5927 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
   5928 configuration parameter.  See there for details. </p>
   5929 
   5930 <p> This feature is available in Postfix 2.5 and later. </p>
   5931 
   5932 
   5933 </DD>
   5934 
   5935 <DT><b><a name="lmtp_tls_fingerprint_digest">lmtp_tls_fingerprint_digest</a>
   5936 (default: see "postconf -d" output)</b></DT><DD>
   5937 
   5938 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
   5939 configuration parameter.  See there for details. </p>
   5940 
   5941 <p> This feature is available in Postfix 2.5 and later. </p>
   5942 
   5943 
   5944 </DD>
   5945 
   5946 <DT><b><a name="lmtp_tls_force_insecure_host_tlsa_lookup">lmtp_tls_force_insecure_host_tlsa_lookup</a>
   5947 (default: no)</b></DT><DD>
   5948 
   5949 <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>
   5950 configuration parameter.  See there for details. </p>
   5951 
   5952 <p> This feature is available in Postfix 2.11 and later. </p>
   5953 
   5954 
   5955 </DD>
   5956 
   5957 <DT><b><a name="lmtp_tls_key_file">lmtp_tls_key_file</a>
   5958 (default: $<a href="postconf.5.html#lmtp_tls_cert_file">lmtp_tls_cert_file</a>)</b></DT><DD>
   5959 
   5960 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a>
   5961 configuration parameter.  See there for details. </p>
   5962 
   5963 <p> This feature is available in Postfix 2.3 and later. </p>
   5964 
   5965 
   5966 </DD>
   5967 
   5968 <DT><b><a name="lmtp_tls_loglevel">lmtp_tls_loglevel</a>
   5969 (default: 0)</b></DT><DD>
   5970 
   5971 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>
   5972 configuration parameter.  See there for details. </p>
   5973 
   5974 <p> This feature is available in Postfix 2.3 and later. </p>
   5975 
   5976 
   5977 </DD>
   5978 
   5979 <DT><b><a name="lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>
   5980 (default: medium)</b></DT><DD>
   5981 
   5982 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
   5983 configuration parameter.  See there for details. </p>
   5984 
   5985 <p> This feature is available in Postfix 2.3 and later. </p>
   5986 
   5987 
   5988 </DD>
   5989 
   5990 <DT><b><a name="lmtp_tls_mandatory_exclude_ciphers">lmtp_tls_mandatory_exclude_ciphers</a>
   5991 (default: empty)</b></DT><DD>
   5992 
   5993 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
   5994 configuration parameter.  See there for details. </p>
   5995 
   5996 <p> This feature is available in Postfix 2.3 and later. </p>
   5997 
   5998 
   5999 </DD>
   6000 
   6001 <DT><b><a name="lmtp_tls_mandatory_protocols">lmtp_tls_mandatory_protocols</a>
   6002 (default: see 'postconf -d' output)</b></DT><DD>
   6003 
   6004 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
   6005 configuration parameter. See there for details. </p>
   6006 
   6007 <p> This feature is available in Postfix 2.3 and later. </p>
   6008 
   6009 
   6010 </DD>
   6011 
   6012 <DT><b><a name="lmtp_tls_note_starttls_offer">lmtp_tls_note_starttls_offer</a>
   6013 (default: no)</b></DT><DD>
   6014 
   6015 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
   6016 configuration parameter.  See there for details. </p>
   6017 
   6018 <p> This feature is available in Postfix 2.3 and later. </p>
   6019 
   6020 
   6021 </DD>
   6022 
   6023 <DT><b><a name="lmtp_tls_per_site">lmtp_tls_per_site</a>
   6024 (default: empty)</b></DT><DD>
   6025 
   6026 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> configuration
   6027 parameter.  See there for details. </p>
   6028 
   6029 <p> This feature is deprecated as of Postfix 3.9. Specify
   6030 <a href="postconf.5.html#lmtp_tls_policy_maps">lmtp_tls_policy_maps</a> instead. </p>
   6031 
   6032 <p> This feature is available in Postfix 2.3 and later. </p>
   6033 
   6034 
   6035 </DD>
   6036 
   6037 <DT><b><a name="lmtp_tls_policy_maps">lmtp_tls_policy_maps</a>
   6038 (default: empty)</b></DT><DD>
   6039 
   6040 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>
   6041 configuration parameter. See there for details. </p>
   6042 
   6043 <p> This feature is available in Postfix 2.3 and later. </p>
   6044 
   6045 
   6046 </DD>
   6047 
   6048 <DT><b><a name="lmtp_tls_protocols">lmtp_tls_protocols</a>
   6049 (default: see 'postconf -d' output)</b></DT><DD>
   6050 
   6051 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> configuration
   6052 parameter. See there for details. </p>
   6053 
   6054 <p> This feature is available in Postfix 2.6 and later. </p>
   6055 
   6056 
   6057 </DD>
   6058 
   6059 <DT><b><a name="lmtp_tls_scert_verifydepth">lmtp_tls_scert_verifydepth</a>
   6060 (default: 9)</b></DT><DD>
   6061 
   6062 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
   6063 configuration parameter.  See there for details. </p>
   6064 
   6065 <p> This feature is available in Postfix 2.3 and later. </p>
   6066 
   6067 
   6068 </DD>
   6069 
   6070 <DT><b><a name="lmtp_tls_secure_cert_match">lmtp_tls_secure_cert_match</a>
   6071 (default: nexthop)</b></DT><DD>
   6072 
   6073 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
   6074 configuration parameter. See there for details. </p>
   6075 
   6076 <p> This feature is available in Postfix 2.3 and later. </p>
   6077 
   6078 
   6079 </DD>
   6080 
   6081 <DT><b><a name="lmtp_tls_security_level">lmtp_tls_security_level</a>
   6082 (default: empty)</b></DT><DD>
   6083 
   6084 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> configuration
   6085 parameter.  See there for details. </p>
   6086 
   6087 <p> This feature is available in Postfix 2.3 and later. </p>
   6088 
   6089 
   6090 </DD>
   6091 
   6092 <DT><b><a name="lmtp_tls_servername">lmtp_tls_servername</a>
   6093 (default: empty)</b></DT><DD>
   6094 
   6095 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_servername">smtp_tls_servername</a> configuration
   6096 parameter. See there for details. </p>
   6097 
   6098 <p> This feature is available in Postfix 3.4 and later.  </p>
   6099 
   6100 
   6101 </DD>
   6102 
   6103 <DT><b><a name="lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>
   6104 (default: empty)</b></DT><DD>
   6105 
   6106 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
   6107 configuration parameter. See there for details. </p>
   6108 
   6109 <p> This feature is available in Postfix 2.3 and later. </p>
   6110 
   6111 
   6112 </DD>
   6113 
   6114 <DT><b><a name="lmtp_tls_session_cache_timeout">lmtp_tls_session_cache_timeout</a>
   6115 (default: 3600s)</b></DT><DD>
   6116 
   6117 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
   6118 configuration parameter.  See there for details. </p>
   6119 
   6120 <p> This feature is available in Postfix 2.3 and later. </p>
   6121 
   6122 
   6123 </DD>
   6124 
   6125 <DT><b><a name="lmtp_tls_trust_anchor_file">lmtp_tls_trust_anchor_file</a>
   6126 (default: empty)</b></DT><DD>
   6127 
   6128 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
   6129 configuration parameter.  See there for details.  </p>
   6130 
   6131 <p> This feature is available in Postfix 2.11 and later.  </p>
   6132 
   6133 
   6134 </DD>
   6135 
   6136 <DT><b><a name="lmtp_tls_verify_cert_match">lmtp_tls_verify_cert_match</a>
   6137 (default: hostname)</b></DT><DD>
   6138 
   6139 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
   6140 configuration parameter. See there for details. </p>
   6141 
   6142 <p> This feature is available in Postfix 2.3 and later. </p>
   6143 
   6144 
   6145 </DD>
   6146 
   6147 <DT><b><a name="lmtp_tls_wrappermode">lmtp_tls_wrappermode</a>
   6148 (default: no)</b></DT><DD>
   6149 
   6150 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> configuration
   6151 parameter. See there for details. </p>
   6152 
   6153 <p> This feature is available in Postfix 3.0 and later. </p>
   6154 
   6155 
   6156 </DD>
   6157 
   6158 <DT><b><a name="lmtp_use_tls">lmtp_use_tls</a>
   6159 (default: no)</b></DT><DD>
   6160 
   6161 <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> configuration
   6162 parameter.  See there for details. </p>
   6163 
   6164 <p> This feature is deprecated as of Postfix 3.9. Specify
   6165 <a href="postconf.5.html#lmtp_tls_security_level">lmtp_tls_security_level</a> instead. </p>
   6166 
   6167 <p> This feature is available in Postfix 2.3 and later. </p>
   6168 
   6169 
   6170 </DD>
   6171 
   6172 <DT><b><a name="lmtp_xforward_timeout">lmtp_xforward_timeout</a>
   6173 (default: 300s)</b></DT><DD>
   6174 
   6175 <p>
   6176 The Postfix LMTP client time limit for sending the XFORWARD command,
   6177 and for receiving the remote LMTP server response.
   6178 </p>
   6179 
   6180 <p>
   6181 In case of problems the client does NOT try the next address on
   6182 the mail exchanger list.
   6183 </p>
   6184 
   6185 <p> Specify a non-zero time value (an integral value plus an optional
   6186 one-letter suffix that specifies the time unit).  Time units: s
   6187 (seconds), m (minutes), h (hours), d (days), w (weeks).
   6188 The default time unit is s (seconds).  </p>
   6189 
   6190 <p>
   6191 This feature is available in Postfix 2.1 and later.
   6192 </p>
   6193 
   6194 
   6195 </DD>
   6196 
   6197 <DT><b><a name="local_command_shell">local_command_shell</a>
   6198 (default: empty)</b></DT><DD>
   6199 
   6200 <p>
   6201 Optional shell program for <a href="local.8.html">local(8)</a> delivery to non-Postfix commands.
   6202 By default, non-Postfix commands are executed directly; commands
   6203 are given to the default shell (typically, /bin/sh) only when they
   6204 contain shell meta characters or shell built-in commands.
   6205 </p>
   6206 
   6207 <p> "sendmail's restricted shell" (smrsh) is what most people will
   6208 use in order to restrict what programs can be run from e.g. .forward
   6209 files (smrsh is part of the Sendmail distribution).  </p>
   6210 
   6211 <p> Note: when a shell program is specified, it is invoked even
   6212 when the command contains no shell built-in commands or meta
   6213 characters.  </p>
   6214 
   6215 <p>
   6216 Example:
   6217 </p>
   6218 
   6219 <pre>
   6220 <a href="postconf.5.html#local_command_shell">local_command_shell</a> = /some/where/smrsh -c
   6221 <a href="postconf.5.html#local_command_shell">local_command_shell</a> = /bin/bash -c
   6222 </pre>
   6223 
   6224 
   6225 </DD>
   6226 
   6227 <DT><b><a name="local_delivery_status_filter">local_delivery_status_filter</a>
   6228 (default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
   6229 
   6230 <p> Optional filter for the <a href="local.8.html">local(8)</a> delivery agent to change the
   6231 status code or explanatory text of successful or unsuccessful
   6232 deliveries.  See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details.  </p>
   6233 
   6234 <p> This feature is available in Postfix 3.0 and later. </p>
   6235 
   6236 
   6237 </DD>
   6238 
   6239 <DT><b><a name="local_destination_concurrency_limit">local_destination_concurrency_limit</a>
   6240 (default: 2)</b></DT><DD>
   6241 
   6242 <p> The maximal number of parallel deliveries via the local mail
   6243 delivery transport to the same recipient (when
   6244 "<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> = 1") or the maximal number of
   6245 parallel deliveries to the same <a href="ADDRESS_CLASS_README.html#local_domain_class">local domain</a> (when
   6246 "<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> &gt; 1"). This limit is enforced by
   6247 the queue manager. The message delivery transport name is the first
   6248 field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
   6249 
   6250 <p> A low limit of 2 is recommended, just in case someone has an
   6251 expensive shell command in a .forward file or in an alias (e.g.,
   6252 a mailing list manager).  You don't want to run lots of those at
   6253 the same time.  </p>
   6254 
   6255 
   6256 </DD>
   6257 
   6258 <DT><b><a name="local_destination_recipient_limit">local_destination_recipient_limit</a>
   6259 (default: 1)</b></DT><DD>
   6260 
   6261 <p> The maximal number of recipients per message delivery via the
   6262 local mail delivery transport. This limit is enforced by the queue
   6263 manager. The message delivery transport name is the first field in
   6264 the entry in the <a href="master.5.html">master.cf</a> file. </p>
   6265 
   6266 <p> Setting this parameter to a value &gt; 1 changes the meaning of
   6267 <a href="postconf.5.html#local_destination_concurrency_limit">local_destination_concurrency_limit</a> from concurrency per recipient
   6268 into concurrency per domain.  </p>
   6269 
   6270 
   6271 </DD>
   6272 
   6273 <DT><b><a name="local_header_rewrite_clients">local_header_rewrite_clients</a>
   6274 (default: <a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a>)</b></DT><DD>
   6275 
   6276 <p> Rewrite or add message headers in mail from these clients,
   6277 updating incomplete addresses with the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or
   6278 $<a href="postconf.5.html#mydomain">mydomain</a>, and adding missing headers. </p>
   6279 
   6280 <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
   6281 for details of how domain names are appended to incomplete addresses.
   6282 </p>
   6283 
   6284 <p> See <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> to optionally rewrite or add
   6285 message headers in mail from other clients. </p>
   6286 
   6287 <p> Specify a list of zero or more of the following:  </p>
   6288 
   6289 <dl>
   6290 
   6291 <dt><b><a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
   6292 
   6293 <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
   6294 client IP address matches $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. This is enabled by
   6295 default. </dd>
   6296 
   6297 <dt><b><a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a></b></dt>
   6298 
   6299 <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
   6300 client IP address matches any network or network address listed in
   6301 $<a href="postconf.5.html#mynetworks">mynetworks</a>. This setting will not prevent remote mail header
   6302 address rewriting when mail from a remote client is forwarded by
   6303 a neighboring system.  </dd>
   6304 
   6305 <dt><b><a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> </b></dt>
   6306 
   6307 <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
   6308 client is successfully authenticated via the <a href="https://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH)
   6309 protocol. </dd>
   6310 
   6311 <dt><b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> </b></dt>
   6312 
   6313 <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
   6314 remote SMTP client TLS certificate fingerprint or public key fingerprint
   6315 (Postfix 2.9 and later) is listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
   6316 The fingerprint digest algorithm is configurable via the
   6317 <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
   6318 Postfix version 2.5).  </dd>
   6319 
   6320 <dd> The default algorithm is <b>sha256</b> with Postfix &ge; 3.6
   6321 and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix
   6322 &le; 3.5, the default algorithm is <b>md5</b>.  The best-practice
   6323 algorithm is now <b>sha256</b>. Recent advances in hash function
   6324 cryptanalysis have led to md5 and sha1 being deprecated in favor of
   6325 sha256.  However, as long as there are no known "second pre-image"
   6326 attacks against the older algorithms, their use in this context, though
   6327 not recommended, is still likely safe.  </dd>
   6328 
   6329 <dt><b><a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a> </b></dt>
   6330 
   6331 <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
   6332 remote SMTP client TLS certificate is successfully verified, regardless of
   6333 whether it is listed on the server, and regardless of the certifying
   6334 authority. </dd>
   6335 
   6336 <dt><b><a name="check_address_map">check_address_map</a> <i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
   6337 
   6338 <dt><b><i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
   6339 
   6340 <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
   6341 client IP address matches the specified lookup table.
   6342 The lookup result is ignored, and no subnet lookup is done. This
   6343 is suitable for, e.g., pop-before-smtp lookup tables. </dd>
   6344 
   6345 </dl>
   6346 
   6347 <p> Examples:  </p>
   6348 
   6349 <p> The Postfix &lt; 2.2 backwards compatible setting: always rewrite
   6350 message headers, and always append my own domain to incomplete
   6351 header addresses.  </p>
   6352 
   6353 <blockquote>
   6354 <pre>
   6355 <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all
   6356 </pre>
   6357 </blockquote>
   6358 
   6359 <p> The purist (and default) setting: rewrite headers only in mail
   6360 from Postfix sendmail and in SMTP mail from this machine. </p>
   6361 
   6362 <blockquote>
   6363 <pre>
   6364 <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>
   6365 </pre>
   6366 </blockquote>
   6367 
   6368 <p> The intermediate setting: rewrite header addresses and append
   6369 $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> information only with mail from Postfix
   6370 sendmail, from local clients, or from authorized SMTP clients. </p>
   6371 
   6372 <p> Note: this setting will not prevent remote mail header address
   6373 rewriting when mail from a remote client is forwarded by a neighboring
   6374 system.  </p>
   6375 
   6376 <blockquote>
   6377 <pre>
   6378 <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
   6379     <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
   6380     <a href="postconf.5.html#check_address_map">check_address_map</a> <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/pop-before-smtp
   6381 </pre>
   6382 </blockquote>
   6383 
   6384 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   6385 
   6386 
   6387 </DD>
   6388 
   6389 <DT><b><a name="local_login_sender_maps">local_login_sender_maps</a>
   6390 (default: <a href="DATABASE_README.html#types">static</a>:*)</b></DT><DD>
   6391 
   6392 <p> A list of lookup tables that are searched by the UNIX login name,
   6393 and that return a list of allowed envelope sender patterns separated
   6394 by space or comma. These sender patterns are enforced by the Postfix
   6395 <a href="postdrop.1.html">postdrop(1)</a> command. The default is backwards-compatible:
   6396 every user may specify any sender envelope address. </p>
   6397 
   6398 <p> When no UNIX login name is available, the <a href="postdrop.1.html">postdrop(1)</a> command will
   6399 prepend "<b>uid:</b>" to the numerical UID and use that instead. </p>
   6400 
   6401 <p> This feature ignores address extensions in the user-specified
   6402 envelope sender address. </p>
   6403 
   6404 <p> Note: to enforce that the From: header address matches the envelope
   6405 sender (MAIL FROM) address, specify an external filter such as a Milter,
   6406 with the <a href="postconf.5.html#non_smtpd_milters">non_smtpd_milters</a> parameter. For example:
   6407 <a href="https://github.com/magcks/milterfrom">https://github.com/magcks/milterfrom</a>. </p>
   6408 
   6409 <p> The following sender patterns are special; these cannot be used
   6410 as part of a longer pattern. </p>
   6411 
   6412 <dl compact>
   6413 
   6414 <dt> <b> * </b> <dd> This pattern allows any envelope sender address.
   6415 </dd>
   6416 
   6417 <dt> <b> &lt;&gt; </b> </dt> <dd> This pattern allows the empty
   6418 envelope sender address. See the
   6419 <a href="postconf.5.html#empty_address_local_login_sender_maps_lookup_key">empty_address_local_login_sender_maps_lookup_key</a> configuration
   6420 parameter. </dd>
   6421 
   6422 <dt> <b> @</b><i>domain</i> </dt> <dd> This pattern allows an
   6423 envelope sender address when the '<b>@</b>' and <i>domain</i> part
   6424 match. </dd>
   6425 
   6426 </dl>
   6427 
   6428 <p> Examples: </p>
   6429 
   6430 <pre>
   6431 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   6432     # Allow root and postfix full control, anyone else can only
   6433     # send mail as themselves. Use "uid:" followed by the numerical
   6434     # UID when the UID has no entry in the UNIX password file.
   6435     <a href="postconf.5.html#local_login_sender_maps">local_login_sender_maps</a> =
   6436         <a href="DATABASE_README.html#types">inline</a>:{ { root = * }, { postfix = * } },
   6437         <a href="pcre_table.5.html">pcre</a>:/etc/postfix/login_senders
   6438 </pre>
   6439 
   6440 <pre>
   6441 /etc/postfix/login_senders:
   6442    # Allow both the bare username and the user@domain forms.
   6443     /(.+)/ $1 $1 (a] example.com
   6444 </pre>
   6445 
   6446 <p> This feature is available in Postfix 3.6 and later. </p>
   6447 
   6448 
   6449 </DD>
   6450 
   6451 <DT><b><a name="local_recipient_maps">local_recipient_maps</a>
   6452 (default: <a href="proxymap.8.html">proxy</a>:unix:passwd.byname $<a href="postconf.5.html#alias_maps">alias_maps</a>)</b></DT><DD>
   6453 
   6454 <p> Lookup tables with all names or addresses of valid local
   6455 recipients. A recipient address is local when its domain matches
   6456 $<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>. </p>
   6457 
   6458 <p> If the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> parameter value is non-empty (the
   6459 default), then the Postfix SMTP server queries <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a>
   6460 as specified in "<a href="LOCAL_RECIPIENT_README.html#format">Local
   6461 recipient table query format</a>", and rejects mail for unknown
   6462 local recipients. Other Postfix interfaces such as the Postfix
   6463 <a href="sendmail.1.html">sendmail(1)</a> command may still accept an "unknown" recipient.  </p>
   6464 
   6465 <p> The default <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> setting assumes that <a href="postconf.5.html#local_transport">local_transport</a>
   6466 specifies the UNIX-compatible <a href="local.8.html">local(8)</a> delivery agent which queries
   6467 the UNIX passwd database (typically, /etc.passwd) and the local
   6468 aliases database (typically, /etc/aliases). The <a href="proxymap.8.html">proxy</a>: agent allows
   6469 the Postfix SMTP server to access the UNIX passwd database from
   6470 outside a chroot jail. </p>
   6471 
   6472 <p> For other local mail delivery configurations, see  "<a href="LOCAL_RECIPIENT_README.html#change">When you need to
   6473 change the local_recipient_maps setting in main.cf</a>". </p>
   6474 
   6475 <p>
   6476 Technically, tables listed with $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> are used as
   6477 lists: The Postfix SMTP server needs to know only if a lookup string
   6478 is found or not, but it does not use the result from table lookup. </p>
   6479 
   6480 <p>
   6481 Specify zero or more "type:name" lookup tables, separated by
   6482 whitespace or comma. Tables will be searched in the specified order
   6483 until a match is found.
   6484 </p>
   6485 
   6486 <p>
   6487 To turn off local recipient checking in the Postfix SMTP server,
   6488 specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty).
   6489 </p>
   6490 
   6491 <p>
   6492 Examples:
   6493 </p>
   6494 
   6495 <pre>
   6496 <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =
   6497 </pre>
   6498 
   6499 
   6500 </DD>
   6501 
   6502 <DT><b><a name="local_transport">local_transport</a>
   6503 (default: <a href="local.8.html">local</a>:$<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
   6504 
   6505 <p> The default mail delivery transport and next-hop destination
   6506 for final delivery to domains listed with <a href="postconf.5.html#mydestination">mydestination</a>, and for
   6507 [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>.
   6508 This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
   6509 
   6510 <p>
   6511 By default, local mail is delivered to the transport called "local",
   6512 which is just the name of a service that is defined the <a href="master.5.html">master.cf</a> file.
   6513 </p>
   6514 
   6515 <p>
   6516 Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
   6517 is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
   6518 The <i>:nexthop</i> destination is optional; its syntax is documented
   6519 in the manual page of the corresponding delivery agent.
   6520 </p>
   6521 
   6522 <p>
   6523 Beware: if you override the default local delivery agent then you
   6524 need to review the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> document, otherwise the
   6525 SMTP server may reject mail for local recipients.
   6526 </p>
   6527 
   6528 
   6529 </DD>
   6530 
   6531 <DT><b><a name="luser_relay">luser_relay</a>
   6532 (default: empty)</b></DT><DD>
   6533 
   6534 <p>
   6535 Optional catch-all destination for unknown <a href="local.8.html">local(8)</a> recipients.
   6536 By default, mail for unknown recipients in domains that match
   6537 $<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
   6538 as undeliverable.
   6539 </p>
   6540 
   6541 <p>
   6542 The <a href="postconf.5.html#luser_relay">luser_relay</a> value is not subject to Postfix configuration
   6543 parameter $name expansion. Instead, the following $name expansions
   6544 are done:
   6545 </p>
   6546 
   6547 <dl>
   6548 
   6549 <dt><b>$domain</b></dt>
   6550 
   6551 <dd>The recipient domain. </dd>
   6552 
   6553 <dt><b>$extension</b></dt>
   6554 
   6555 <dd>The recipient address extension. </dd>
   6556 
   6557 <dt><b>$home</b></dt>
   6558 
   6559 <dd>The recipient's home directory. </dd>
   6560 
   6561 <dt><b>$local</b></dt>
   6562 
   6563 <dd>The entire recipient address localpart. </dd>
   6564 
   6565 <dt><b>$recipient</b></dt>
   6566 
   6567 <dd>The full recipient address. </dd>
   6568 
   6569 <dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
   6570 
   6571 <dd>The address extension delimiter that was found in the recipient
   6572 address (Postfix 2.11 and later), or the system-wide recipient
   6573 address extension delimiter (Postfix 2.10 and earlier). </dd>
   6574 
   6575 <dt><b>$shell</b></dt>
   6576 
   6577 <dd>The recipient's login shell. </dd>
   6578 
   6579 <dt><b>$user</b></dt>
   6580 
   6581 <dd>The recipient username. </dd>
   6582 
   6583 <dt><b>${name?value}</b></dt>
   6584 
   6585 <dt><b>${name?{value}}</b> (Postfix &ge; 3.0)</dt>
   6586 
   6587 <dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
   6588 
   6589 <dt><b>${name:value}</b></dt>
   6590 
   6591 <dt><b>${name:{value}}</b> (Postfix &ge; 3.0)</dt>
   6592 
   6593 <dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
   6594 
   6595 <dt><b>${name?{value1}:{value2}}</b> (Postfix &ge; 3.0)</dt>
   6596 
   6597 <dd>Expands to <i>value1</i> when <i>$name</i> is non-empty,
   6598 <i>value2</i> otherwise. </dd>
   6599 
   6600 </dl>
   6601 
   6602 <p>
   6603 Instead of $name you can also specify ${name} or $(name).
   6604 </p>
   6605 
   6606 <p>
   6607 Note: <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.
   6608 </p>
   6609 
   6610 <p>
   6611 Note: if you use this feature for accounts not in the UNIX password
   6612 file, then you must specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty)
   6613 in the <a href="postconf.5.html">main.cf</a> file, otherwise the Postfix SMTP server will reject mail
   6614 for non-UNIX accounts with "User unknown in local recipient table".
   6615 </p>
   6616 
   6617 <p>
   6618 Examples:
   6619 </p>
   6620 
   6621 <pre>
   6622 <a href="postconf.5.html#luser_relay">luser_relay</a> = $user (a] other.host
   6623 <a href="postconf.5.html#luser_relay">luser_relay</a> = $local (a] other.host
   6624 <a href="postconf.5.html#luser_relay">luser_relay</a> = admin+$local
   6625 </pre>
   6626 
   6627 
   6628 </DD>
   6629 
   6630 <DT><b><a name="mail_name">mail_name</a>
   6631 (default: Postfix)</b></DT><DD>
   6632 
   6633 <p>
   6634 The mail system name that is displayed in Received: headers, in
   6635 the SMTP greeting banner, and in bounced mail.
   6636 </p>
   6637 
   6638 
   6639 </DD>
   6640 
   6641 <DT><b><a name="mail_owner">mail_owner</a>
   6642 (default: postfix)</b></DT><DD>
   6643 
   6644 <p>
   6645 The UNIX system account that owns the Postfix queue and most Postfix
   6646 daemon processes.  Specify the name of an unprivileged user account
   6647 that does not share a user or group ID with other accounts, and that
   6648 owns no other files
   6649 or processes on the system.  In particular, don't specify nobody
   6650 or daemon.  PLEASE USE A DEDICATED USER ID AND GROUP ID.
   6651 </p>
   6652 
   6653 <p>
   6654 When this parameter value is changed you need to re-run "<b>postfix
   6655 set-permissions</b>" (with Postfix version 2.0 and earlier:
   6656 "<b>/etc/postfix/post-install set-permissions</b>".
   6657 </p>
   6658 
   6659 
   6660 </DD>
   6661 
   6662 <DT><b><a name="mail_release_date">mail_release_date</a>
   6663 (default: see "postconf -d" output)</b></DT><DD>
   6664 
   6665 <p>
   6666 The Postfix release date, in "YYYYMMDD" format.
   6667 </p>
   6668 
   6669 
   6670 </DD>
   6671 
   6672 <DT><b><a name="mail_spool_directory">mail_spool_directory</a>
   6673 (default: see "postconf -d" output)</b></DT><DD>
   6674 
   6675 <p>
   6676 The directory where <a href="local.8.html">local(8)</a> UNIX-style mailboxes are kept. The
   6677 default setting depends on the system type. Specify a name ending
   6678 in / for maildir-style delivery.
   6679 </p>
   6680 
   6681 <p>
   6682 Note: maildir delivery is done with the privileges of the recipient.
   6683 If you use the <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> setting for maildir style
   6684 delivery, then you must create the top-level maildir directory in
   6685 advance. Postfix will not create it.
   6686 </p>
   6687 
   6688 <p>
   6689 Examples:
   6690 </p>
   6691 
   6692 <pre>
   6693 <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/mail
   6694 <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/spool/mail
   6695 </pre>
   6696 
   6697 
   6698 </DD>
   6699 
   6700 <DT><b><a name="mail_version">mail_version</a>
   6701 (default: see "postconf -d" output)</b></DT><DD>
   6702 
   6703 <p>
   6704 The version of the mail system. Stable releases are named
   6705 <i>major</i>.<i>minor</i>.<i>patchlevel</i>. Experimental releases
   6706 also include the release date. The version string can be used in,
   6707 for example, the SMTP greeting banner.
   6708 </p>
   6709 
   6710 
   6711 </DD>
   6712 
   6713 <DT><b><a name="mailbox_command">mailbox_command</a>
   6714 (default: empty)</b></DT><DD>
   6715 
   6716 <p>
   6717 Optional external command that the <a href="local.8.html">local(8)</a> delivery agent should
   6718 use for mailbox delivery.  The command is run with the user ID and
   6719 the primary group ID privileges of the recipient.  Exception:
   6720 command delivery for root executes with $<a href="postconf.5.html#default_privs">default_privs</a> privileges.
   6721 This is not a problem, because 1) mail for root should always be
   6722 aliased to a real user and 2) don't log in as root, use "su" instead.
   6723 </p>
   6724 
   6725 <p>
   6726 The following environment variables are exported to the command:
   6727 </p>
   6728 
   6729 <dl>
   6730 
   6731 <dt><b>CLIENT_ADDRESS</b></dt>
   6732 
   6733 <dd>Remote client network address. Available in Postfix version 2.2 and
   6734 later. </dd>
   6735 
   6736 <dt><b>CLIENT_HELO</b></dt>
   6737 
   6738 <dd>Remote client EHLO command parameter. Available in Postfix version 2.2
   6739 and later.</dd>
   6740 
   6741 <dt><b>CLIENT_HOSTNAME</b></dt>
   6742 
   6743 <dd>Remote client hostname. Available in Postfix version 2.2 and later.
   6744 </dd>
   6745 
   6746 <dt><b>CLIENT_PROTOCOL</b></dt>
   6747 
   6748 <dd>Remote client protocol. Available in Postfix version 2.2 and later.
   6749 </dd>
   6750 
   6751 <dt><b>DOMAIN</b></dt>
   6752 
   6753 <dd>The domain part of the recipient address. </dd>
   6754 
   6755 <dt><b>ENVID</b></dt>
   6756 
   6757 <dd>The optional <a href="https://tools.ietf.org/html/rfc3461">RFC 3461</a> envelope ID. Available in Postfix version
   6758 3.9 and later</dd>
   6759 
   6760 <dt><b>EXTENSION</b></dt>
   6761 
   6762 <dd>The optional address extension. </dd>
   6763 
   6764 <dt><b>HOME</b></dt>
   6765 
   6766 <dd>The recipient home directory. </dd>
   6767 
   6768 <dt><b>LOCAL</b></dt>
   6769 
   6770 <dd>The recipient address localpart. </dd>
   6771 
   6772 <dt><b>LOGNAME</b></dt>
   6773 
   6774 <dd>The recipient's username. </dd>
   6775 
   6776 <dt><b>ORIGINAL_RECIPIENT</b></dt>
   6777 
   6778 <dd>The entire recipient address, before any address rewriting or
   6779 aliasing.  </dd>
   6780 
   6781 <dt><b>RECIPIENT</b></dt>
   6782 
   6783 <dd>The full recipient address. </dd>
   6784 
   6785 <dt><b>SASL_METHOD</b></dt>
   6786 
   6787 <dd>SASL authentication method specified in the remote client AUTH
   6788 command. Available in Postfix version 2.2 and later. </dd>
   6789 
   6790 <dt><b>SASL_SENDER</b></dt>
   6791 
   6792 <dd>SASL sender address specified in the remote client MAIL FROM
   6793 command. Available in Postfix version 2.2 and later. </dd>
   6794 
   6795 <dt><b>SASL_USER</b></dt>
   6796 
   6797 <dd>SASL username specified in the remote client AUTH command.
   6798 Available in Postfix version 2.2 and later.  </dd>
   6799 
   6800 <dt><b>SENDER</b></dt>
   6801 
   6802 <dd>The full sender address. </dd>
   6803 
   6804 <dt><b>SHELL</b></dt>
   6805 
   6806 <dd>The recipient's login shell. </dd>
   6807 
   6808 <dt><b>USER</b></dt>
   6809 
   6810 <dd>The recipient username. </dd>
   6811 
   6812 </dl>
   6813 
   6814 <p>
   6815 Unlike other Postfix configuration parameters, the <a href="postconf.5.html#mailbox_command">mailbox_command</a>
   6816 parameter is not subjected to $name substitutions. This is to make
   6817 it easier to specify shell syntax (see example below).
   6818 </p>
   6819 
   6820 <p>
   6821 If you can, avoid shell meta characters because they will force
   6822 Postfix to run an expensive shell process. If you're delivering
   6823 via "procmail" then running a shell won't make a noticeable difference
   6824 in the total cost.
   6825 </p>
   6826 
   6827 <p>
   6828 Note: if you use the <a href="postconf.5.html#mailbox_command">mailbox_command</a> feature to deliver mail
   6829 system-wide, you must set up an alias that forwards mail for root
   6830 to a real user.
   6831 </p>
   6832 
   6833 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
   6834 is: 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>,
   6835 <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>,
   6836 <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>
   6837 
   6838 <p>
   6839 Examples:
   6840 </p>
   6841 
   6842 <pre>
   6843 <a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail
   6844 <a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail -a "$EXTENSION"
   6845 <a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/maildrop -d "$USER"
   6846         -f "$SENDER" "$EXTENSION"
   6847 </pre>
   6848 
   6849 
   6850 </DD>
   6851 
   6852 <DT><b><a name="mailbox_command_maps">mailbox_command_maps</a>
   6853 (default: empty)</b></DT><DD>
   6854 
   6855 <p>
   6856 Optional lookup tables with per-recipient external commands to use
   6857 for <a href="local.8.html">local(8)</a> mailbox delivery.  Behavior is as with <a href="postconf.5.html#mailbox_command">mailbox_command</a>.
   6858 </p>
   6859 
   6860 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
   6861 is: 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>,
   6862 <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>,
   6863 <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>
   6864 
   6865 <p>
   6866 Specify zero or more "type:name" lookup tables, separated by
   6867 whitespace or comma. Tables will be searched in the specified order
   6868 until a match is found.
   6869 </p>
   6870 
   6871 
   6872 </DD>
   6873 
   6874 <DT><b><a name="mailbox_delivery_lock">mailbox_delivery_lock</a>
   6875 (default: see "postconf -d" output)</b></DT><DD>
   6876 
   6877 <p>
   6878 How to lock a UNIX-style <a href="local.8.html">local(8)</a> mailbox before attempting delivery.
   6879 For a list of available file locking methods, use the "<b>postconf
   6880 -l</b>" command.
   6881 </p>
   6882 
   6883 <p>
   6884 This setting is ignored with <b>maildir</b> style delivery,
   6885 because such deliveries are safe without explicit locks.
   6886 </p>
   6887 
   6888 <p>
   6889 Note: The <b>dotlock</b> method requires that the recipient UID or
   6890 GID has write access to the parent directory of the mailbox file.
   6891 </p>
   6892 
   6893 <p>
   6894 Note: the default setting of this parameter is system dependent.
   6895 </p>
   6896 
   6897 
   6898 </DD>
   6899 
   6900 <DT><b><a name="mailbox_size_limit">mailbox_size_limit</a>
   6901 (default: 51200000)</b></DT><DD>
   6902 
   6903 <p> The maximal size of any <a href="local.8.html">local(8)</a> individual mailbox or maildir
   6904 file, or zero (no limit).  In fact, this limits the size of any
   6905 file that is written to upon local delivery, including files written
   6906 by external commands that are executed by the <a href="local.8.html">local(8)</a> delivery
   6907 agent. The value cannot exceed LONG_MAX (typically, a 32-bit or
   6908 64-bit signed integer).
   6909 </p>
   6910 
   6911 <p>
   6912 This limit must not be smaller than the message size limit.
   6913 </p>
   6914 
   6915 
   6916 </DD>
   6917 
   6918 <DT><b><a name="mailbox_transport">mailbox_transport</a>
   6919 (default: empty)</b></DT><DD>
   6920 
   6921 <p>
   6922 Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
   6923 agent should use for mailbox delivery to all local recipients,
   6924 whether or not they are found in the UNIX passwd database.
   6925 </p>
   6926 
   6927 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
   6928 is: 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>,
   6929 <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>,
   6930 <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>
   6931 
   6932 
   6933 </DD>
   6934 
   6935 <DT><b><a name="mailbox_transport_maps">mailbox_transport_maps</a>
   6936 (default: empty)</b></DT><DD>
   6937 
   6938 <p> Optional lookup tables with per-recipient message delivery
   6939 transports to use for <a href="local.8.html">local(8)</a> mailbox delivery, whether or not the
   6940 recipients are found in the UNIX passwd database. </p>
   6941 
   6942 <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
   6943 is: 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>,
   6944 <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>,
   6945 <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>
   6946 
   6947 <p>
   6948 Specify zero or more "type:name" lookup tables, separated by
   6949 whitespace or comma. Tables will be searched in the specified order
   6950 until a match is found.
   6951 </p>
   6952 
   6953 <p> For safety reasons, this feature does not allow $number
   6954 substitutions in regular expression maps. </p>
   6955 
   6956 <p> This feature is available in Postfix 2.3 and later. </p>
   6957 
   6958 
   6959 </DD>
   6960 
   6961 <DT><b><a name="maillog_file">maillog_file</a>
   6962 (default: empty)</b></DT><DD>
   6963 
   6964 <p> The name of an optional logfile that is written by the Postfix
   6965 <a href="postlogd.8.html">postlogd(8)</a> service. An empty value selects logging to syslogd(8).
   6966 Specify "/dev/stdout" to select logging to standard output. Stdout
   6967 logging requires that Postfix is started with "postfix start-fg".
   6968 </p>
   6969 
   6970 <p> Note 1: The <a href="postconf.5.html#maillog_file">maillog_file</a> parameter value must contain a prefix
   6971 that is specified with the <a href="postconf.5.html#maillog_file_prefixes">maillog_file_prefixes</a> parameter. </p>
   6972 
   6973 <p> Note 2: Some Postfix non-daemon programs may still log information
   6974 to syslogd(8), before they have processed their configuration
   6975 parameters and command-line options. </p>
   6976 
   6977 <p> This feature is available in Postfix 3.4 and later. </p>
   6978 
   6979 
   6980 </DD>
   6981 
   6982 <DT><b><a name="maillog_file_compressor">maillog_file_compressor</a>
   6983 (default: gzip)</b></DT><DD>
   6984 
   6985 <p> The program to run after rotating $<a href="postconf.5.html#maillog_file">maillog_file</a> with "postfix
   6986 logrotate". The command is run with the rotated logfile name as its
   6987 first argument. </p>
   6988 
   6989 <p> This feature is available in Postfix 3.4 and later. </p>
   6990 
   6991 
   6992 </DD>
   6993 
   6994 <DT><b><a name="maillog_file_permissions">maillog_file_permissions</a>
   6995 (default: 0600)</b></DT><DD>
   6996 
   6997 <p> The file access permissions that will be set when the file
   6998 $<a href="postconf.5.html#maillog_file">maillog_file</a> is created for the first time, or when the file is
   6999 created after an existing file is rotated. Specify one of: <b>0600</b>
   7000 (only super-user read/write access), <b>0640</b> (adds 'group' read
   7001 access), or <b>0644</b> (also adds 'other' read access). The leading
   7002 '0' is optional.  </p>
   7003 
   7004 <p> This feature is available in Postfix 3.9 and later. </p>
   7005 
   7006 
   7007 </DD>
   7008 
   7009 <DT><b><a name="maillog_file_prefixes">maillog_file_prefixes</a>
   7010 (default: /var, /dev/stdout)</b></DT><DD>
   7011 
   7012 <p> A list of allowed prefixes for a <a href="postconf.5.html#maillog_file">maillog_file</a> value. This is a
   7013 safety feature to contain the damage from a single configuration
   7014 mistake. Specify one or more prefix strings, separated by comma or
   7015 whitespace. </p>
   7016 
   7017 <p> This feature is available in Postfix 3.4 and later. </p>
   7018 
   7019 
   7020 </DD>
   7021 
   7022 <DT><b><a name="maillog_file_rotate_suffix">maillog_file_rotate_suffix</a>
   7023 (default: %Y%m%d-%H%M%S)</b></DT><DD>
   7024 
   7025 <p> The format of the suffix to append to $<a href="postconf.5.html#maillog_file">maillog_file</a> while rotating
   7026 the file with "postfix logrotate". See strftime(3) for syntax. The
   7027 default suffix, YYYYMMDD-HHMMSS, allows logs to be rotated frequently.
   7028 </p>
   7029 
   7030 <p> This feature is available in Postfix 3.4 and later. </p>
   7031 
   7032 
   7033 </DD>
   7034 
   7035 <DT><b><a name="mailq_path">mailq_path</a>
   7036 (default: see "postconf -d" output)</b></DT><DD>
   7037 
   7038 <p>
   7039 Sendmail compatibility feature that specifies where the Postfix
   7040 <a href="mailq.1.html">mailq(1)</a> command is installed. This command can be used to
   7041 list the Postfix mail queue.
   7042 </p>
   7043 
   7044 
   7045 </DD>
   7046 
   7047 <DT><b><a name="manpage_directory">manpage_directory</a>
   7048 (default: see "postconf -d" output)</b></DT><DD>
   7049 
   7050 <p>
   7051 Where the Postfix manual pages are installed.
   7052 </p>
   7053 
   7054 
   7055 </DD>
   7056 
   7057 <DT><b><a name="maps_rbl_domains">maps_rbl_domains</a>
   7058 (default: empty)</b></DT><DD>
   7059 
   7060 <p>
   7061 Obsolete feature: use the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> feature instead.
   7062 </p>
   7063 
   7064 
   7065 </DD>
   7066 
   7067 <DT><b><a name="maps_rbl_reject_code">maps_rbl_reject_code</a>
   7068 (default: 554)</b></DT><DD>
   7069 
   7070 <p>
   7071 The numerical Postfix SMTP server response code when a remote SMTP
   7072 client 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>,
   7073 <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
   7074 <a href="postconf.5.html#reject_rhsbl_recipient">reject_rhsbl_recipient</a> restriction.
   7075 </p>
   7076 
   7077 <p>
   7078 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   7079 </p>
   7080 
   7081 
   7082 </DD>
   7083 
   7084 <DT><b><a name="masquerade_classes">masquerade_classes</a>
   7085 (default: envelope_sender, header_sender, header_recipient)</b></DT><DD>
   7086 
   7087 <p>
   7088 What addresses are subject to address masquerading.
   7089 </p>
   7090 
   7091 <p>
   7092 By default, address masquerading is limited to envelope sender
   7093 addresses, and to header sender and header recipient addresses.
   7094 This allows you to use address masquerading on a mail gateway while
   7095 still being able to forward mail to users on individual machines.
   7096 </p>
   7097 
   7098 <p>
   7099 Specify zero or more of: envelope_sender, envelope_recipient,
   7100 header_sender, header_recipient
   7101 </p>
   7102 
   7103 
   7104 </DD>
   7105 
   7106 <DT><b><a name="masquerade_domains">masquerade_domains</a>
   7107 (default: empty)</b></DT><DD>
   7108 
   7109 <p>
   7110 Optional list of domains whose subdomain structure will be stripped
   7111 off in email addresses.
   7112 </p>
   7113 
   7114 <p>
   7115 The list is processed left to right, and processing stops at the
   7116 first match.  Thus,
   7117 </p>
   7118 
   7119 <blockquote>
   7120 <pre>
   7121 <a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = foo.example.com example.com
   7122 </pre>
   7123 </blockquote>
   7124 
   7125 <p>
   7126 strips "user (a] any.thing.foo.example.com" to "user (a] foo.example.com",
   7127 but strips "user (a] any.thing.else.example.com" to "user (a] example.com".
   7128 </p>
   7129 
   7130 <p>
   7131 A domain name prefixed with ! means do not masquerade this domain
   7132 or its subdomains. Thus,
   7133 </p>
   7134 
   7135 <blockquote>
   7136 <pre>
   7137 <a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = !foo.example.com example.com
   7138 </pre>
   7139 </blockquote>
   7140 
   7141 <p>
   7142 does not change "user (a] any.thing.foo.example.com" or "user (a] foo.example.com",
   7143 but strips "user (a] any.thing.else.example.com" to "user (a] example.com".
   7144 </p>
   7145 
   7146 <p> Note: with Postfix version 2.2, message header address masquerading
   7147 happens only when message header address rewriting is enabled: </p>
   7148 
   7149 <ul>
   7150 
   7151 <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
   7152 
   7153 <li> The message is received from a network client that matches
   7154 $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
   7155 
   7156 <li> The message is received from the network, and the
   7157 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
   7158 
   7159 </ul>
   7160 
   7161 <p> To get the behavior before Postfix version 2.2, specify
   7162 "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
   7163 
   7164 <p>
   7165 Example:
   7166 </p>
   7167 
   7168 <pre>
   7169 <a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
   7170 </pre>
   7171 
   7172 
   7173 </DD>
   7174 
   7175 <DT><b><a name="masquerade_exceptions">masquerade_exceptions</a>
   7176 (default: empty)</b></DT><DD>
   7177 
   7178 <p>
   7179 Optional list of user names that are not subjected to address
   7180 masquerading, even when their addresses match $<a href="postconf.5.html#masquerade_domains">masquerade_domains</a>.
   7181 </p>
   7182 
   7183 <p>
   7184 By default, address masquerading makes no exceptions.
   7185 </p>
   7186 
   7187 <p>
   7188 Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
   7189 separated by commas and/or whitespace. The list is matched left to
   7190 right, and the search stops on the first match. A "/file/name"
   7191 pattern is replaced
   7192 by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
   7193 matches a lookup key (the lookup result is ignored).  Continue long
   7194 lines by starting the next line with whitespace. Specify "!pattern"
   7195 to exclude a name from the list. The form "!/file/name" is supported
   7196 only in Postfix version 2.4 and later.  </p>
   7197 
   7198 <p>
   7199 Examples:
   7200 </p>
   7201 
   7202 <pre>
   7203 <a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root, mailer-daemon
   7204 <a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root
   7205 </pre>
   7206 
   7207 
   7208 </DD>
   7209 
   7210 <DT><b><a name="master_service_disable">master_service_disable</a>
   7211 (default: empty)</b></DT><DD>
   7212 
   7213 <p> Selectively disable <a href="master.8.html">master(8)</a> listener ports by service type
   7214 or by service name and type.  Specify a list of service types
   7215 ("inet", "unix", "fifo", or "pass") or "name/type" tuples, where
   7216 "name" is the first field of a <a href="master.5.html">master.cf</a> entry and "type" is a
   7217 service type. As with other Postfix matchlists, a search stops at
   7218 the first match.  Specify "!pattern" to exclude a service from the
   7219 list. By default, all <a href="master.8.html">master(8)</a> listener ports are enabled.  </p>
   7220 
   7221 <p> Note: this feature does not support "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
   7222 patterns, nor does it support wildcards such as "*" or "all". This
   7223 is intentional. </p>
   7224 
   7225 <p> Examples: </p>
   7226 
   7227 <pre>
   7228 # With Postfix 2.6..2.10 use '.' instead of '/'.
   7229 # Turn on all <a href="master.8.html">master(8)</a> listener ports (the default).
   7230 <a href="postconf.5.html#master_service_disable">master_service_disable</a> =
   7231 # Turn off only the main SMTP listener port.
   7232 <a href="postconf.5.html#master_service_disable">master_service_disable</a> = smtp/inet
   7233 # Turn off all TCP/IP listener ports.
   7234 <a href="postconf.5.html#master_service_disable">master_service_disable</a> = inet
   7235 # Turn off all TCP/IP listener ports except "foo".
   7236 <a href="postconf.5.html#master_service_disable">master_service_disable</a> = !foo/inet, inet
   7237 </pre>
   7238 
   7239 <p> This feature is available in Postfix 2.6 and later. </p>
   7240 
   7241 
   7242 </DD>
   7243 
   7244 <DT><b><a name="max_idle">max_idle</a>
   7245 (default: 100s)</b></DT><DD>
   7246 
   7247 <p>
   7248 The maximum amount of time that an idle Postfix daemon process waits
   7249 for an incoming connection before terminating voluntarily.  This
   7250 parameter
   7251 is ignored by the Postfix queue manager and by other long-lived
   7252 Postfix daemon processes.
   7253 </p>
   7254 
   7255 <p> Specify a non-zero time value (an integral value plus an optional
   7256 one-letter suffix that specifies the time unit).  Time units: s
   7257 (seconds), m (minutes), h (hours), d (days), w (weeks).
   7258 The default time unit is s (seconds).  </p>
   7259 
   7260 
   7261 </DD>
   7262 
   7263 <DT><b><a name="max_use">max_use</a>
   7264 (default: 100)</b></DT><DD>
   7265 
   7266 <p>
   7267 The maximal number of incoming connections that a Postfix daemon
   7268 process will service before terminating voluntarily.  This parameter
   7269 is ignored by the Postfix queue
   7270 manager and by other long-lived Postfix daemon processes.
   7271 </p>
   7272 
   7273 
   7274 </DD>
   7275 
   7276 <DT><b><a name="maximal_backoff_time">maximal_backoff_time</a>
   7277 (default: 4000s)</b></DT><DD>
   7278 
   7279 <p>
   7280 The maximal time between attempts to deliver a deferred message.
   7281 </p>
   7282 
   7283 <p> This parameter should be set to a value greater than or equal
   7284 to $<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>
   7285 
   7286 <p> Specify a non-zero time value (an integral value plus an optional
   7287 one-letter suffix that specifies the time unit).  Time units: s
   7288 (seconds), m (minutes), h (hours), d (days), w (weeks).
   7289 The default time unit is s (seconds).  </p>
   7290 
   7291 
   7292 </DD>
   7293 
   7294 <DT><b><a name="maximal_queue_lifetime">maximal_queue_lifetime</a>
   7295 (default: 5d)</b></DT><DD>
   7296 
   7297 <p>
   7298 Consider a message as undeliverable, when delivery fails with a
   7299 temporary error, and the time in the queue has reached the
   7300 <a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> limit.
   7301 </p>
   7302 
   7303 <p> Specify a non-negative time value (an integral value plus an optional
   7304 one-letter suffix that specifies the time unit).  Time units: s
   7305 (seconds), m (minutes), h (hours), d (days), w (weeks).
   7306 The default time unit is d (days).  </p>
   7307 
   7308 <p>
   7309 Specify 0 when mail delivery should be tried only once.
   7310 </p>
   7311 
   7312 
   7313 </DD>
   7314 
   7315 <DT><b><a name="message_drop_headers">message_drop_headers</a>
   7316 (default: bcc, content-length, resent-bcc, return-path)</b></DT><DD>
   7317 
   7318 <p> Names of message headers that the <a href="cleanup.8.html">cleanup(8)</a> daemon will remove
   7319 after applying <a href="header_checks.5.html">header_checks(5)</a> and before invoking Milter applications.
   7320 The default setting is compatible with Postfix &lt; 3.0. </p>
   7321 
   7322 <p> Specify a list of header names, separated by comma or space.
   7323 Names are matched in a case-insensitive manner.  The list of supported
   7324 header names is limited only by available memory.  </p>
   7325 
   7326 <p> This feature is available in Postfix 3.0 and later. </p>
   7327 
   7328 
   7329 </DD>
   7330 
   7331 <DT><b><a name="message_reject_characters">message_reject_characters</a>
   7332 (default: empty)</b></DT><DD>
   7333 
   7334 <p> The set of characters that Postfix will reject in message
   7335 content.  The usual C-like escape sequences are recognized: <tt>\a
   7336 \b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
   7337 <tt>\\</tt>. </p>
   7338 
   7339 <p> Note 1: this feature does not recognize text that requires MIME
   7340 decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a>
   7341 and <a href="postconf.5.html#body_checks">body_checks</a>.  </p>
   7342 
   7343 <p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a>
   7344 = <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>".  </p>
   7345 
   7346 <p> Example: </p>
   7347 
   7348 <pre>
   7349 <a href="postconf.5.html#message_reject_characters">message_reject_characters</a> = \0
   7350 </pre>
   7351 
   7352 <p> This feature is available in Postfix 2.3 and later.  </p>
   7353 
   7354 
   7355 </DD>
   7356 
   7357 <DT><b><a name="message_size_limit">message_size_limit</a>
   7358 (default: 10240000)</b></DT><DD>
   7359 
   7360 <p>
   7361 The maximal size in bytes of a message, including envelope information.
   7362 The value cannot exceed LONG_MAX (typically, a 32-bit or 64-bit
   7363 signed integer).
   7364 </p>
   7365 
   7366 <p> Note: be careful when making changes.  Excessively small values
   7367 will result in the loss of non-delivery notifications, when a bounce
   7368 message size exceeds the local or remote MTA's message size limit.
   7369 </p>
   7370 
   7371 
   7372 </DD>
   7373 
   7374 <DT><b><a name="message_strip_characters">message_strip_characters</a>
   7375 (default: empty)</b></DT><DD>
   7376 
   7377 <p> The set of characters that Postfix will remove from message
   7378 content.  The usual C-like escape sequences are recognized: <tt>\a
   7379 \b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
   7380 <tt>\\</tt>. </p>
   7381 
   7382 <p> Note 1: this feature does not recognize text that requires MIME
   7383 decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a>
   7384 and <a href="postconf.5.html#body_checks">body_checks</a>.  </p>
   7385 
   7386 <p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a>
   7387 = <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>".  </p>
   7388 
   7389 <p> Example: </p>
   7390 
   7391 <pre>
   7392 <a href="postconf.5.html#message_strip_characters">message_strip_characters</a> = \0
   7393 </pre>
   7394 
   7395 <p> This feature is available in Postfix 2.3 and later.  </p>
   7396 
   7397 
   7398 </DD>
   7399 
   7400 <DT><b><a name="meta_directory">meta_directory</a>
   7401 (default: see 'postconf -d' output)</b></DT><DD>
   7402 
   7403 <p> The location of non-executable files that are shared among
   7404 multiple Postfix instances, such as postfix-files, dynamicmaps.cf,
   7405 and the multi-instance template files <a href="postconf.5.html">main.cf</a>.proto and <a href="master.5.html">master.cf</a>.proto.
   7406 This directory should contain only Postfix-related files.  Typically,
   7407 the <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>
   7408 parameter (/etc/postfix or /usr/local/etc/postfix).  </p>
   7409 
   7410 <p> For backwards compatibility with Postfix versions 2.6..2.11,
   7411 specify "<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
   7412 installing or upgrading Postfix, or specify "<a href="postconf.5.html#meta_directory">meta_directory</a> =
   7413 /path/name" on the "make makefiles", "make install" or "make upgrade"
   7414 command line.  </p>
   7415 
   7416 <p> This feature is available in Postfix 3.0 and later. </p>
   7417 
   7418 
   7419 </DD>
   7420 
   7421 <DT><b><a name="milter_command_timeout">milter_command_timeout</a>
   7422 (default: 30s)</b></DT><DD>
   7423 
   7424 <p> The time limit for sending an SMTP command to a Milter (mail
   7425 filter) application, and for receiving the response.  </p>
   7426 
   7427 <p> Specify a non-zero time value (an integral value plus an optional
   7428 one-letter suffix that specifies the time unit).  Time units: s
   7429 (seconds), m (minutes), h (hours), d (days), w (weeks).
   7430 The default time unit is s (seconds).  </p>
   7431 
   7432 <p> This feature is available in Postfix 2.3 and later. </p>
   7433 
   7434 
   7435 </DD>
   7436 
   7437 <DT><b><a name="milter_connect_macros">milter_connect_macros</a>
   7438 (default: see "postconf -d" output)</b></DT><DD>
   7439 
   7440 <p> The macros that are sent to Milter (mail filter) applications
   7441 after completion of an SMTP connection. See <a href="MILTER_README.html">MILTER_README</a>
   7442 for a list of available macro names and their meanings. </p>
   7443 
   7444 <p> This feature is available in Postfix 2.3 and later. </p>
   7445 
   7446 
   7447 </DD>
   7448 
   7449 <DT><b><a name="milter_connect_timeout">milter_connect_timeout</a>
   7450 (default: 30s)</b></DT><DD>
   7451 
   7452 <p> The time limit for connecting to a Milter (mail filter)
   7453 application, and for negotiating protocol options. </p>
   7454 
   7455 <p> Specify a non-zero time value (an integral value plus an optional
   7456 one-letter suffix that specifies the time unit).  Time units: s
   7457 (seconds), m (minutes), h (hours), d (days), w (weeks).
   7458 The default time unit is s (seconds).  </p>
   7459 
   7460 <p> This feature is available in Postfix 2.3 and later. </p>
   7461 
   7462 
   7463 </DD>
   7464 
   7465 <DT><b><a name="milter_content_timeout">milter_content_timeout</a>
   7466 (default: 300s)</b></DT><DD>
   7467 
   7468 <p> The time limit for sending message content to a Milter (mail
   7469 filter) application, and for receiving the response.  </p>
   7470 
   7471 <p> Specify a non-zero time value (an integral value plus an optional
   7472 one-letter suffix that specifies the time unit).  Time units: s
   7473 (seconds), m (minutes), h (hours), d (days), w (weeks).
   7474 The default time unit is s (seconds).  </p>
   7475 
   7476 <p> This feature is available in Postfix 2.3 and later. </p>
   7477 
   7478 
   7479 </DD>
   7480 
   7481 <DT><b><a name="milter_data_macros">milter_data_macros</a>
   7482 (default: see "postconf -d" output)</b></DT><DD>
   7483 
   7484 <p> The macros that are sent to version 4 or higher Milter (mail
   7485 filter) applications after the SMTP DATA command. See <a href="MILTER_README.html">MILTER_README</a>
   7486 for a list of available macro names and their meanings.  </p>
   7487 
   7488 <p> This feature is available in Postfix 2.3 and later. </p>
   7489 
   7490 
   7491 </DD>
   7492 
   7493 <DT><b><a name="milter_default_action">milter_default_action</a>
   7494 (default: Postfix &ge; 3.11: shutdown; Postfix &lt; 3.11: tempfail)</b></DT><DD>
   7495 
   7496 <p> The default action when a Milter (mail filter) response is
   7497 unavailable (for example, bad Postfix configuration or Milter
   7498 failure). Specify one of the following: </p>
   7499 
   7500 <dl compact>
   7501 
   7502 <dt>accept</dt> <dd>Proceed as if the mail filter was not present.
   7503 </dd>
   7504 
   7505 <dt>reject</dt> <dd>Reject all further commands in this session
   7506 with a permanent status code.</dd>
   7507 
   7508 <dt>tempfail</dt> <dd>Reject all further commands in this session
   7509 with a temporary status code. </dd>
   7510 
   7511 <dt>shutdown</dt> <dd>With <a href="postconf.5.html#smtpd_milters">smtpd_milters</a>, close the SMTP connection
   7512 after sending a 421 SMTP reply; with <a href="postconf.5.html#non_smtpd_milters">non_smtpd_milters</a>, report a
   7513 queue file write error. Available in Postfix 3.11 and later. </dd>
   7514 
   7515 <dt>quarantine</dt> <dd>Like "accept", but freeze the message in
   7516 the "<a href="QSHAPE_README.html#hold_queue">hold" queue</a>. Available with Postfix 2.6 and later. </dd>
   7517 
   7518 </dl>
   7519 
   7520 <p> The default action was "tempfail" with Postfix 3.10 and earlier.
   7521 </p>
   7522 
   7523 <p> The default action is "shutdown" with Postfix 3.11 and later,
   7524 i.e. disconnect the SMTP client. With the old default, Postfix could
   7525 tempfail all messages that the client sends over a long-lived
   7526 connection, even if a Milter failure is only temporary. </p>
   7527 
   7528 <p> This feature is available in Postfix 2.3 and later. </p>
   7529 
   7530 
   7531 </DD>
   7532 
   7533 <DT><b><a name="milter_end_of_data_macros">milter_end_of_data_macros</a>
   7534 (default: see "postconf -d" output)</b></DT><DD>
   7535 
   7536 <p> The macros that are sent to Milter (mail filter) applications
   7537 after the message end-of-data. See <a href="MILTER_README.html">MILTER_README</a> for a list of
   7538 available macro names and their meanings.  </p>
   7539 
   7540 <p> This feature is available in Postfix 2.3 and later. </p>
   7541 
   7542 
   7543 </DD>
   7544 
   7545 <DT><b><a name="milter_end_of_header_macros">milter_end_of_header_macros</a>
   7546 (default: see "postconf -d" output)</b></DT><DD>
   7547 
   7548 <p> The macros that are sent to Milter (mail filter) applications
   7549 after the end of the message header. See <a href="MILTER_README.html">MILTER_README</a> for a list
   7550 of available macro names and their meanings.  </p>
   7551 
   7552 <p> This feature is available in Postfix 2.5 and later. </p>
   7553 
   7554 
   7555 </DD>
   7556 
   7557 <DT><b><a name="milter_header_checks">milter_header_checks</a>
   7558 (default: empty)</b></DT><DD>
   7559 
   7560 <p> Optional lookup tables for content inspection of message headers
   7561 that are produced by Milter applications.  See the <a href="header_checks.5.html">header_checks(5)</a>
   7562 manual page available actions. Currently, PREPEND is not implemented.
   7563 </p>
   7564 
   7565 <p> The following example sends all mail that is marked as SPAM to
   7566 a spam handling machine. Note that matches are case-insensitive
   7567 by default. </p>
   7568 
   7569 <pre>
   7570 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   7571     <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>
   7572 </pre>
   7573 
   7574 <pre>
   7575 /etc/postfix/<a href="postconf.5.html#milter_header_checks">milter_header_checks</a>:
   7576     /^X-SPAM-FLAG:\s+YES/ FILTER mysmtp:sanitizer.example.com:25
   7577 </pre>
   7578 
   7579 <p> The <a href="postconf.5.html#milter_header_checks">milter_header_checks</a> mechanism could also be used for
   7580 allowlisting. For example it could be used to skip heavy content
   7581 inspection for DKIM-signed mail from known friendly domains. </p>
   7582 
   7583 <p> This feature is available in Postfix 2.7, and as an optional
   7584 patch for Postfix 2.6. </p>
   7585 
   7586 
   7587 </DD>
   7588 
   7589 <DT><b><a name="milter_helo_macros">milter_helo_macros</a>
   7590 (default: see "postconf -d" output)</b></DT><DD>
   7591 
   7592 <p> The macros that are sent to Milter (mail filter) applications
   7593 after the SMTP HELO or EHLO command. See
   7594 <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their meanings.
   7595 </p>
   7596 
   7597 <p> This feature is available in Postfix 2.3 and later. </p>
   7598 
   7599 
   7600 </DD>
   7601 
   7602 <DT><b><a name="milter_macro_daemon_name">milter_macro_daemon_name</a>
   7603 (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
   7604 
   7605 <p> The {daemon_name} macro value for Milter (mail filter) applications.
   7606 See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
   7607 meanings.  </p>
   7608 
   7609 <p> This feature is available in Postfix 2.3 and later. </p>
   7610 
   7611 
   7612 </DD>
   7613 
   7614 <DT><b><a name="milter_macro_defaults">milter_macro_defaults</a>
   7615 (default: empty)</b></DT><DD>
   7616 
   7617 <p> Optional list of <i>name=value</i> pairs that specify default
   7618 values for arbitrary macros that Postfix may send to Milter
   7619 applications.  These defaults are used when there is no corresponding
   7620 information from the message delivery context. </p>
   7621 
   7622 <p> Specify <i>name=value</i> or <i>{name=value}</i> pairs separated
   7623 by comma or whitespace.  Enclose a pair in "{}" when a value contains
   7624 comma or whitespace (this form ignores whitespace after the enclosing
   7625 "{", around the "=", and before the enclosing "}"). </p>
   7626 
   7627 <p> This feature is available in Postfix 3.1 and later.  </p>
   7628 
   7629 
   7630 </DD>
   7631 
   7632 <DT><b><a name="milter_macro_v">milter_macro_v</a>
   7633 (default: $<a href="postconf.5.html#mail_name">mail_name</a> $<a href="postconf.5.html#mail_version">mail_version</a>)</b></DT><DD>
   7634 
   7635 <p> The {v} macro value for Milter (mail filter) applications.
   7636 See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
   7637 meanings.  </p>
   7638 
   7639 <p> This feature is available in Postfix 2.3 and later. </p>
   7640 
   7641 
   7642 </DD>
   7643 
   7644 <DT><b><a name="milter_mail_macros">milter_mail_macros</a>
   7645 (default: see "postconf -d" output)</b></DT><DD>
   7646 
   7647 <p> The macros that are sent to Milter (mail filter) applications
   7648 after the SMTP MAIL FROM command. See <a href="MILTER_README.html">MILTER_README</a>
   7649 for a list of available macro names and their meanings. </p>
   7650 
   7651 <p> This feature is available in Postfix 2.3 and later. </p>
   7652 
   7653 
   7654 </DD>
   7655 
   7656 <DT><b><a name="milter_protocol">milter_protocol</a>
   7657 (default: 6)</b></DT><DD>
   7658 
   7659 <p> The mail filter protocol version and optional protocol extensions
   7660 for communication with a Milter application; prior to Postfix 2.6
   7661 the default protocol is 2. Postfix
   7662 sends this version number during the initial protocol handshake.
   7663 It should match the version number that is expected by the mail
   7664 filter application (or by its Milter library).  </p>
   7665 
   7666 <p>Protocol versions: </p>
   7667 
   7668 <dl compact>
   7669 
   7670 <dt>2</dt> <dd>Use Sendmail 8 mail filter protocol version 2 (default
   7671 with Sendmail version 8.11 .. 8.13 and Postfix version 2.3 ..
   7672 2.5).</dd>
   7673 
   7674 <dt>3</dt> <dd>Use Sendmail 8 mail filter protocol version 3.</dd>
   7675 
   7676 <dt>4</dt> <dd>Use Sendmail 8 mail filter protocol version 4.</dd>
   7677 
   7678 <dt>6</dt> <dd>Use Sendmail 8 mail filter protocol version 6 (default
   7679 with Sendmail version 8.14 and Postfix version 2.6).</dd>
   7680 
   7681 </dl>
   7682 
   7683 <p>Protocol extensions: </p>
   7684 
   7685 <dl compact>
   7686 
   7687 <dt>no_header_reply</dt> <dd> Specify this when the Milter application
   7688 will not reply for each individual message header.</dd>
   7689 
   7690 </dl>
   7691 
   7692 <p> This feature is available in Postfix 2.3 and later. </p>
   7693 
   7694 
   7695 </DD>
   7696 
   7697 <DT><b><a name="milter_rcpt_macros">milter_rcpt_macros</a>
   7698 (default: see "postconf -d" output)</b></DT><DD>
   7699 
   7700 <p> The macros that are sent to Milter (mail filter) applications
   7701 after the SMTP RCPT TO command. See <a href="MILTER_README.html">MILTER_README</a>
   7702 for a list of available macro names and their meanings. </p>
   7703 
   7704 <p> This feature is available in Postfix 2.3 and later. </p>
   7705 
   7706 
   7707 </DD>
   7708 
   7709 <DT><b><a name="milter_unknown_command_macros">milter_unknown_command_macros</a>
   7710 (default: see "postconf -d" output)</b></DT><DD>
   7711 
   7712 <p> The macros that are sent to version 3 or higher Milter (mail
   7713 filter) applications after an unknown SMTP command.  See <a href="MILTER_README.html">MILTER_README</a>
   7714 for a list of available macro names and their meanings.  </p>
   7715 
   7716 <p> This feature is available in Postfix 2.3 and later. </p>
   7717 
   7718 
   7719 </DD>
   7720 
   7721 <DT><b><a name="mime_boundary_length_limit">mime_boundary_length_limit</a>
   7722 (default: 2048)</b></DT><DD>
   7723 
   7724 <p>
   7725 The maximal length of MIME multipart boundary strings. The MIME
   7726 processor is unable to distinguish between boundary strings that
   7727 do not differ in the first $<a href="postconf.5.html#mime_boundary_length_limit">mime_boundary_length_limit</a> characters.
   7728 </p>
   7729 
   7730 <p>
   7731 This feature is available in Postfix 2.0 and later.
   7732 </p>
   7733 
   7734 
   7735 </DD>
   7736 
   7737 <DT><b><a name="mime_header_checks">mime_header_checks</a>
   7738 (default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
   7739 
   7740 <p>
   7741 Optional lookup tables for content inspection of MIME related
   7742 message headers, as described in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
   7743 </p>
   7744 
   7745 <p>
   7746 This feature is available in Postfix 2.0 and later.
   7747 </p>
   7748 
   7749 
   7750 </DD>
   7751 
   7752 <DT><b><a name="mime_nesting_limit">mime_nesting_limit</a>
   7753 (default: 100)</b></DT><DD>
   7754 
   7755 <p>
   7756 The maximal recursion level that the MIME processor will handle.
   7757 Postfix refuses mail that is nested deeper than the specified limit.
   7758 </p>
   7759 
   7760 <p>
   7761 This feature is available in Postfix 2.0 and later.
   7762 </p>
   7763 
   7764 
   7765 </DD>
   7766 
   7767 <DT><b><a name="minimal_backoff_time">minimal_backoff_time</a>
   7768 (default: 300s)</b></DT><DD>
   7769 
   7770 <p>
   7771 The minimal time between attempts to deliver a deferred message;
   7772 prior to Postfix 2.4 the default value was 1000s.
   7773 </p>
   7774 
   7775 <p>
   7776 This parameter also limits the time an unreachable destination is
   7777 kept in the short-term, in-memory, destination status cache.
   7778 </p>
   7779 
   7780 <p> This parameter should be set greater than or equal to
   7781 $<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>
   7782 
   7783 <p> Specify a non-zero time value (an integral value plus an optional
   7784 one-letter suffix that specifies the time unit).  Time units: s
   7785 (seconds), m (minutes), h (hours), d (days), w (weeks).
   7786 The default time unit is s (seconds).  </p>
   7787 
   7788 
   7789 </DD>
   7790 
   7791 <DT><b><a name="multi_instance_directories">multi_instance_directories</a>
   7792 (default: empty)</b></DT><DD>
   7793 
   7794 <p> An optional list of non-default Postfix configuration directories;
   7795 these directories belong to additional Postfix instances that share
   7796 the Postfix executable files and documentation with the default
   7797 Postfix instance, and that are started, stopped, etc., together
   7798 with the default Postfix instance.  Specify a list of pathnames
   7799 separated by comma or whitespace.  </p>
   7800 
   7801 <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
   7802 runs in single-instance mode and operates on a single Postfix
   7803 instance only. Otherwise, the <a href="postfix.1.html">postfix(1)</a> command runs in multi-instance
   7804 mode and invokes the multi-instance manager specified with the
   7805 <a href="postconf.5.html#multi_instance_wrapper">multi_instance_wrapper</a> parameter. The multi-instance manager in
   7806 turn executes <a href="postfix.1.html">postfix(1)</a> commands for the default instance and for
   7807 all Postfix instances in $<a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>.  </p>
   7808 
   7809 <p> Currently, this parameter setting is ignored except for the
   7810 default <a href="postconf.5.html">main.cf</a> file. </p>
   7811 
   7812 <p> This feature is available in Postfix 2.6 and later. </p>
   7813 
   7814 
   7815 </DD>
   7816 
   7817 <DT><b><a name="multi_instance_enable">multi_instance_enable</a>
   7818 (default: no)</b></DT><DD>
   7819 
   7820 <p> Allow this Postfix instance to be started, stopped, etc., by a
   7821 multi-instance manager.  By default, new instances are created in
   7822 a safe state that prevents them from being started inadvertently.
   7823 This parameter is reserved for the multi-instance manager.  </p>
   7824 
   7825 <p> This feature is available in Postfix 2.6 and later. </p>
   7826 
   7827 
   7828 </DD>
   7829 
   7830 <DT><b><a name="multi_instance_group">multi_instance_group</a>
   7831 (default: empty)</b></DT><DD>
   7832 
   7833 <p> The optional instance group name of this Postfix instance. A
   7834 group identifies closely-related Postfix instances that the
   7835 multi-instance manager can start, stop, etc., as a unit.  This
   7836 parameter is reserved for the multi-instance manager. </p>
   7837 
   7838 <p> This feature is available in Postfix 2.6 and later. </p>
   7839 
   7840 
   7841 </DD>
   7842 
   7843 <DT><b><a name="multi_instance_name">multi_instance_name</a>
   7844 (default: empty)</b></DT><DD>
   7845 
   7846 <p> The optional instance name of this Postfix instance. This name
   7847 becomes also the default value for the <a href="postconf.5.html#syslog_name">syslog_name</a> parameter. </p>
   7848 
   7849 <p> This feature is available in Postfix 2.6 and later. </p>
   7850 
   7851 
   7852 </DD>
   7853 
   7854 <DT><b><a name="multi_instance_wrapper">multi_instance_wrapper</a>
   7855 (default: empty)</b></DT><DD>
   7856 
   7857 <p> The pathname of a multi-instance manager command that the
   7858 <a href="postfix.1.html">postfix(1)</a> command invokes when the <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>
   7859 parameter value is non-empty. The pathname may be followed by
   7860 initial command arguments separated by whitespace; shell
   7861 metacharacters such as quotes are not supported in this context.
   7862 </p>
   7863 
   7864 <p> The <a href="postfix.1.html">postfix(1)</a> command invokes the manager command with the
   7865 <a href="postfix.1.html">postfix(1)</a> non-option command arguments on the manager command line,
   7866 and with all installation configuration parameters exported into
   7867 the manager command process environment. The manager command in
   7868 turn invokes the <a href="postfix.1.html">postfix(1)</a> command for individual Postfix instances
   7869 as "postfix -c <i><a href="postconf.5.html#config_directory">config_directory</a></i> <i>command</i>".  </p>
   7870 
   7871 <p> This feature is available in Postfix 2.6 and later. </p>
   7872 
   7873 
   7874 </DD>
   7875 
   7876 <DT><b><a name="multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a>
   7877 (default: 550)</b></DT><DD>
   7878 
   7879 <p>
   7880 The numerical Postfix SMTP server response code when a remote SMTP
   7881 client request is blocked by the <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a>
   7882 restriction.
   7883 </p>
   7884 
   7885 <p>
   7886 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   7887 </p>
   7888 
   7889 <p>
   7890 This feature is available in Postfix 2.1 and later.
   7891 </p>
   7892 
   7893 
   7894 </DD>
   7895 
   7896 <DT><b><a name="mydestination">mydestination</a>
   7897 (default: $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a>, localhost)</b></DT><DD>
   7898 
   7899 <p> The list of domains that are delivered via the $<a href="postconf.5.html#local_transport">local_transport</a>
   7900 mail delivery transport. By default this is the Postfix <a href="local.8.html">local(8)</a>
   7901 delivery agent which looks up all recipients in /etc/passwd and
   7902 /etc/aliases. The SMTP server validates recipient addresses with
   7903 $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> and rejects non-existent recipients. See also
   7904 the <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.
   7905 </p>
   7906 
   7907 <p>
   7908 The default <a href="postconf.5.html#mydestination">mydestination</a> value specifies names for the local
   7909 machine only.  On a mail domain gateway, you should also include
   7910 $<a href="postconf.5.html#mydomain">mydomain</a>.
   7911 </p>
   7912 
   7913 <p>
   7914 The $<a href="postconf.5.html#local_transport">local_transport</a> delivery method is also selected for mail
   7915 addressed to user@[the.net.work.address] of the mail system (the
   7916 IP 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>
   7917 parameters).
   7918 </p>
   7919 
   7920 <p>
   7921 Warnings:
   7922 </p>
   7923 
   7924 <ul>
   7925 
   7926 <li><p>Do not specify the names of virtual domains - those domains
   7927 are specified elsewhere. See <a href="VIRTUAL_README.html">VIRTUAL_README</a> for more information. </p>
   7928 
   7929 <li><p>Do not specify the names of domains that this machine is
   7930 backup MX host for. See <a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> for how to
   7931 set up backup MX hosts. </p>
   7932 
   7933 <li><p>By default, the Postfix SMTP server rejects mail for recipients
   7934 not listed with the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> parameter.  See the
   7935 <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>
   7936 and <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> parameters. </p>
   7937 
   7938 </ul>
   7939 
   7940 <p>
   7941 Specify a list of host or domain names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
   7942 patterns, separated by commas and/or whitespace. A "/file/name"
   7943 pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
   7944 is matched when a name matches a lookup key (the lookup result is
   7945 ignored).  Continue long lines by starting the next line with
   7946 whitespace.  </p>
   7947 
   7948 <p>
   7949 Examples:
   7950 </p>
   7951 
   7952 <pre>
   7953 <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>
   7954 <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>
   7955 </pre>
   7956 
   7957 
   7958 </DD>
   7959 
   7960 <DT><b><a name="mydomain">mydomain</a>
   7961 (default: see "postconf -d" output)</b></DT><DD>
   7962 
   7963 <p>
   7964 The internet domain name of this mail system.  The default is to
   7965 use $<a href="postconf.5.html#myhostname">myhostname</a> minus the first component, or "localdomain" (Postfix
   7966 2.3 and later).  $<a href="postconf.5.html#mydomain">mydomain</a> is used as
   7967 a default value for many other configuration parameters.
   7968 </p>
   7969 
   7970 <p>
   7971 Example:
   7972 </p>
   7973 
   7974 <pre>
   7975 <a href="postconf.5.html#mydomain">mydomain</a> = domain.tld
   7976 </pre>
   7977 
   7978 
   7979 </DD>
   7980 
   7981 <DT><b><a name="myhostname">myhostname</a>
   7982 (default: see "postconf -d" output)</b></DT><DD>
   7983 
   7984 <p>
   7985 The internet hostname of this mail system. The default is to use
   7986 the fully-qualified domain name (FQDN) from gethostname(), or to
   7987 use the non-FQDN result from gethostname() and append ".$<a href="postconf.5.html#mydomain">mydomain</a>".
   7988 $<a href="postconf.5.html#myhostname">myhostname</a> is used as a default value for many other configuration
   7989 parameters.  </p>
   7990 
   7991 <p>
   7992 Example:
   7993 </p>
   7994 
   7995 <pre>
   7996 <a href="postconf.5.html#myhostname">myhostname</a> = host.example.com
   7997 </pre>
   7998 
   7999 
   8000 </DD>
   8001 
   8002 <DT><b><a name="mynetworks">mynetworks</a>
   8003 (default: see "postconf -d" output)</b></DT><DD>
   8004 
   8005 <p>
   8006 The list of "trusted" remote SMTP clients that have more privileges than
   8007 "strangers".
   8008 </p>
   8009 
   8010 <p>
   8011 In particular, "trusted" SMTP clients are allowed to relay mail
   8012 through Postfix.  See the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> parameter
   8013 description in the <a href="postconf.5.html">postconf(5)</a> manual.
   8014 </p>
   8015 
   8016 <p>
   8017 You can specify the list of "trusted" network addresses by hand
   8018 or you can let Postfix do it for you (which is the default).
   8019 See the description of the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> parameter for more
   8020 information.
   8021 </p>
   8022 
   8023 <p>
   8024 If you specify the <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand,
   8025 Postfix ignores the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> setting.
   8026 </p>
   8027 
   8028 <p> Specify a list of network addresses or network/netmask patterns,
   8029 separated by commas and/or whitespace. Continue long lines by
   8030 starting the next line with whitespace. </p>
   8031 
   8032 <p> The netmask specifies the number of bits in the network part
   8033 of a host address.  You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
   8034 patterns.  A "/file/name" pattern is replaced by its contents; a
   8035 "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry matches a
   8036 lookup string (the lookup result is ignored). </p>
   8037 
   8038 <p> The list is matched left to right, and the search stops on the
   8039 first match.  Specify "!pattern" to exclude an address or network
   8040 block from the list. The form "!/file/name" is supported only
   8041 in Postfix version 2.4 and later. </p>
   8042 
   8043 <p> Note 1: Pattern matching of domain names is controlled by the
   8044 presence or 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>
   8045 parameter value.  </p>
   8046 
   8047 <p> Note 2: IP version 6 address information must be specified inside
   8048 <tt>[]</tt> in the <a href="postconf.5.html#mynetworks">mynetworks</a> value, and in files specified with
   8049 "/file/name".  IP version 6 addresses contain the ":" character,
   8050 and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" pattern.  </p>
   8051 
   8052 <p> Note 3: CIDR ranges cannot be specified in hash tables.  Use cidr
   8053 tables if CIDR ranges are used. </p>
   8054 
   8055 <p> Examples:  </p>
   8056 
   8057 <pre>
   8058 <a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28
   8059 <a href="postconf.5.html#mynetworks">mynetworks</a> = !192.168.0.1, 192.168.0.0/28
   8060 <a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64
   8061 <a href="postconf.5.html#mynetworks">mynetworks</a> = $<a href="postconf.5.html#config_directory">config_directory</a>/mynetworks
   8062 <a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/network_table
   8063 <a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="cidr_table.5.html">cidr</a>:/etc/postfix/network_table.cidr
   8064 </pre>
   8065 
   8066 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   8067 
   8068 <p> Configuration changes will become visible after a minute or so.
   8069 Use "postfix reload" to eliminate the delay. </p>
   8070 
   8071 
   8072 </DD>
   8073 
   8074 <DT><b><a name="mynetworks_style">mynetworks_style</a>
   8075 (default: Postfix &ge; 3.0: host, Postfix &lt; 3.0: subnet)</b></DT><DD>
   8076 
   8077 <p>
   8078 The method to generate the default value for the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter.
   8079 This is the list of trusted networks for relay access control etc.
   8080 </p>
   8081 
   8082 <ul>
   8083 
   8084 <li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = host" when Postfix should
   8085 "trust" only the local machine. </p>
   8086 
   8087 <li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = subnet" when Postfix
   8088 should "trust" remote SMTP clients in the same IP subnetworks as the local
   8089 machine.  On Linux, this works correctly only with interfaces
   8090 specified with the "ifconfig" or "ip" command. </p>
   8091 
   8092 <li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = class" when Postfix should
   8093 "trust" remote SMTP clients in the same IP class A/B/C networks as the
   8094 local machine.  Caution: this may cause
   8095 Postfix to "trust" your entire provider's network.  Instead, specify
   8096 an explicit <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand, as described with the <a href="postconf.5.html#mynetworks">mynetworks</a>
   8097 configuration parameter. </p>
   8098 
   8099 </ul>
   8100 
   8101 
   8102 </DD>
   8103 
   8104 <DT><b><a name="myorigin">myorigin</a>
   8105 (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
   8106 
   8107 <p>
   8108 The domain name that locally-posted mail appears to come
   8109 from, and that locally posted mail is delivered to. The default,
   8110 $<a href="postconf.5.html#myhostname">myhostname</a>, is adequate for small sites.  If you run a domain with
   8111 multiple machines, you should (1) change this to $<a href="postconf.5.html#mydomain">mydomain</a> and (2)
   8112 set up a domain-wide alias database that aliases each user to
   8113 user (a] that.users.mailhost.
   8114 </p>
   8115 
   8116 <p>
   8117 Example:
   8118 </p>
   8119 
   8120 <pre>
   8121 <a href="postconf.5.html#myorigin">myorigin</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
   8122 </pre>
   8123 
   8124 
   8125 </DD>
   8126 
   8127 <DT><b><a name="nested_header_checks">nested_header_checks</a>
   8128 (default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
   8129 
   8130 <p>
   8131 Optional lookup tables for content inspection of non-MIME message
   8132 headers in attached messages, as described in the <a href="header_checks.5.html">header_checks(5)</a>
   8133 manual page.
   8134 </p>
   8135 
   8136 <p>
   8137 This feature is available in Postfix 2.0 and later.
   8138 </p>
   8139 
   8140 
   8141 </DD>
   8142 
   8143 <DT><b><a name="newaliases_path">newaliases_path</a>
   8144 (default: see "postconf -d" output)</b></DT><DD>
   8145 
   8146 <p>
   8147 Sendmail compatibility feature that specifies the location of the
   8148 <a href="newaliases.1.html">newaliases(1)</a> command. This command can be used to rebuild the
   8149 <a href="local.8.html">local(8)</a> <a href="aliases.5.html">aliases(5)</a> database.
   8150 </p>
   8151 
   8152 
   8153 </DD>
   8154 
   8155 <DT><b><a name="non_bdb_custom_mapping">non_bdb_custom_mapping</a>
   8156 (default: empty)</b></DT><DD>
   8157 
   8158 <p> When non-Berkeley-DB migration is enabled, an optional mapping
   8159 from a <a href="DATABASE_README.html#types">hash</a>: or <a href="DATABASE_README.html#types">btree</a>: type to a non-Berkeley-DB type. This mapping
   8160 takes precedence over the default mapping from <a href="DATABASE_README.html#types">hash</a>: to
   8161 $<a href="postconf.5.html#default_database_type">default_database_type</a>, and from <a href="DATABASE_README.html#types">btree</a>: to $<a href="postconf.5.html#default_cache_db_type">default_cache_db_type</a>.
   8162 </p>
   8163 
   8164 <ul>
   8165 
   8166 <li> <p> Specify a lookup table with a search keys that are a
   8167 Berkeley DB <i>type</i> (without ':') or <i>type:name</i>. </p>
   8168 
   8169 <li> <p> A search key with the form <i>type:name</i> takes precedence
   8170 over <i>type</i> (without ':'). </p>
   8171 
   8172 <li> <p>  The lookup result must always be a non-Berkeley-DB <i>type</i>
   8173 (without ':') and must not contain a <i>:name</i>.  </p>
   8174 
   8175 <li> <p> The mapping table type must not be <b>hash</b> or <b>btree</b>.
   8176 
   8177 </ul>
   8178 
   8179 <p> This feature is available in Postfix &ge; 3.11. </p>
   8180 
   8181 
   8182 </DD>
   8183 
   8184 <DT><b><a name="non_bdb_migration_allow_root_prefixes">non_bdb_migration_allow_root_prefixes</a>
   8185 (default: see 'postconf -d <a href="postconf.5.html#non_bdb_migration_allow_root_prefixes">non_bdb_migration_allow_root_prefixes</a>' output)</b></DT><DD>
   8186 
   8187 <p> A list of trusted pathname prefixes that must be matched when
   8188 the non-Berkeley-DB migration service (<a href="nbdb_reindexd.8.html">nbdb_reindexd(8)</a>) needs to
   8189 run <a href="postmap.1.html">postmap(1)</a> or <a href="postalias.1.html">postalias(1)</a> commands with "root" privilege.
   8190 
   8191 <p> This feature is available in Postfix &ge; 3.11. </p>
   8192 
   8193 
   8194 </DD>
   8195 
   8196 <DT><b><a name="non_bdb_migration_allow_user_prefixes">non_bdb_migration_allow_user_prefixes</a>
   8197 (default: see 'postconf -d <a href="postconf.5.html#non_bdb_migration_allow_user_prefixes">non_bdb_migration_allow_user_prefixes</a>' output)</b></DT><DD>
   8198 
   8199 <p> A list of trusted pathname prefixes that must be matched when
   8200 the non-Berkeley-DB migration service (<a href="nbdb_reindexd.8.html">nbdb_reindexd(8)</a>) needs to
   8201 run <a href="postmap.1.html">postmap(1)</a> or <a href="postalias.1.html">postalias(1)</a> commands with non-root privilege. </p>
   8202 
   8203 <p> This feature is available in Postfix &ge; 3.11. </p>
   8204 
   8205 
   8206 </DD>
   8207 
   8208 <DT><b><a name="non_bdb_migration_level">non_bdb_migration_level</a>
   8209 (default: disable)</b></DT><DD>
   8210 
   8211 <p> The non-Berkeley-DB migration service level. You are expected to use
   8212 the command "<b><a href="postfix-non-bdb.1.html">postfix non-bdb</a> <i>name-of-level</i></b>" to correctly
   8213 configure the migration service level (see <a href="postfix-non-bdb.1.html">postfix-non-bdb(1)</a>. </p>
   8214 
   8215 <dl>
   8216 
   8217 <dt><b>disable</b></dt>
   8218 
   8219 <dd> <p> Disable all non-Berkeley-DB migration features. See
   8220 <a href="NON_BERKELEYDB_README.html#disable">NON_BERKELEYDB_README</a> for possible negative implications
   8221 for integration with other software such as mailman. </p> </dd>
   8222 
   8223 <dt><b>enable-redirect</b> (aliasing)</dt>
   8224 
   8225 <dd> <p> Enable redirection (aliasing) from Berkeley DB hash to
   8226 $<a href="postconf.5.html#default_database_type">default_database_type</a>, and from Berkeley DB btree to
   8227 $<a href="postconf.5.html#default_cache_db_type">default_cache_db_type</a>, but do not automatically create the new cdb
   8228 or lmdb indexed database files that Postfix programs need. See
   8229 <a href="NON_BERKELEYDB_README.html#enable-redirect">NON_BERKELEYDB_README</a> for details and limitations.
   8230 </p> </dd>
   8231 
   8232 <dt><b>enable-reindex</b></dt>
   8233 
   8234 <dd> <p> In addition to enable-redirect, also create a non-Berkeley-DB
   8235 indexed database file when a daemon program wants to access a file
   8236 that does not yet exist. This feature uses the <a href="nbdb_reindexd.8.html">nbdb_reindexd(8)</a>
   8237 daemon to run <a href="postmap.1.html">postmap(1)</a> or <a href="postalias.1.html">postalias(1)</a>.   See
   8238 <a href="NON_BERKELEYDB_README.html#enable-reindex">NON_BERKELEYDB_README</a> for details and limitations.
   8239 </p>
   8240 
   8241 <p> <i> NOTE: <b>enable-reindex</b> should be used only temporarily to
   8242 generate most of the non-Berkeley-DB indexed database files that Postfix
   8243 programs need. Leaving this level enabled may expose the system to
   8244 privilege-escalation attacks. There are no security concerns for using
   8245 <b>enable-redirect</b>. </i> </p> </dd>
   8246 
   8247 </dl>
   8248 
   8249 <p> This feature is available in Postfix &ge; 3.11. </p>
   8250 
   8251 
   8252 </DD>
   8253 
   8254 <DT><b><a name="non_bdb_migration_log_redirect">non_bdb_migration_log_redirect</a>
   8255 (default: yes)</b></DT><DD>
   8256 
   8257 <p> Log actions that redirect from a legacy Berkeley-DB database
   8258 type to a non-Berkeley-DB type. </p>
   8259 
   8260 <p> This feature is available in Postfix &ge; 3.11. </p>
   8261 
   8262 
   8263 </DD>
   8264 
   8265 <DT><b><a name="non_bdb_migration_service_name">non_bdb_migration_service_name</a>
   8266 (default: nbdb_reindex)</b></DT><DD>
   8267 
   8268 <p> The name of a <a href="master.5.html">master.cf</a> service that implements the non-Berkeley-DB
   8269 migration service protocol. </p>
   8270 
   8271 <p> This feature is available in Postfix &ge; 3.11. </p>
   8272 
   8273 
   8274 </DD>
   8275 
   8276 <DT><b><a name="non_empty_end_of_header_action">non_empty_end_of_header_action</a>
   8277 (default: fix_quietly)</b></DT><DD>
   8278 
   8279 <p> How the <a href="cleanup.8.html">cleanup(8)</a> daemon will process a message when the primary
   8280 message header is terminated with a non-empty line. </p>
   8281 
   8282 <dl>
   8283 
   8284 <dt> <b> fix_quietly </b> </dt> <dd> <p> Default behavior: insert
   8285 an empty line before the erroneous text. This behavior is backwards
   8286 compatible with Postfix &le; 3.10. </p> </dd>
   8287 
   8288 <dt> <b> add_header </b> </dt><dd> <p> Insert a MIME-Error:
   8289 header and an empty line before the erroneous text. </p>
   8290 <p> Example: </p>
   8291 <pre>
   8292 MIME-Error: message header was not terminated by empty line
   8293 </pre> </dd>
   8294 
   8295 <dt> <b> reject </b> </dt>  <dd> <p> Log the erroneous text and
   8296 reject the message content. </p>
   8297 <p> Example: </p>
   8298 <pre>
   8299 <i>queueid</i> reject: mime-error message header was terminated
   8300 with non-empty line: <i>erroneous text</i>; from=&lt;<i>sender</i>&gt;
   8301 to=&lt;<i>recipient</i>&gt;
   8302 </pre>
   8303 </dd>
   8304 
   8305 </dl>
   8306 
   8307 <p> This feature is available in Postfix &ge; 3.11. </p>
   8308 
   8309 
   8310 </DD>
   8311 
   8312 <DT><b><a name="non_fqdn_reject_code">non_fqdn_reject_code</a>
   8313 (default: 504)</b></DT><DD>
   8314 
   8315 <p>
   8316 The numerical Postfix SMTP server reply code when a client request
   8317 is 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>
   8318 or <a href="postconf.5.html#reject_non_fqdn_recipient">reject_non_fqdn_recipient</a> restriction.
   8319 </p>
   8320 
   8321 
   8322 </DD>
   8323 
   8324 <DT><b><a name="non_smtpd_milters">non_smtpd_milters</a>
   8325 (default: empty)</b></DT><DD>
   8326 
   8327 <p> A list of Milter (mail filter) applications for new mail that
   8328 does not arrive via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. This includes local
   8329 submission via the <a href="sendmail.1.html">sendmail(1)</a> command line, new mail that arrives
   8330 via the Postfix <a href="qmqpd.8.html">qmqpd(8)</a> server, and old mail that is re-injected
   8331 into the queue with "postsuper -r".  Specify space or comma as a
   8332 separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details.  </p>
   8333 
   8334 <p> This feature is available in Postfix 2.3 and later. </p>
   8335 
   8336 
   8337 </DD>
   8338 
   8339 <DT><b><a name="notify_classes">notify_classes</a>
   8340 (default: resource, software)</b></DT><DD>
   8341 
   8342 <p>
   8343 The list of error classes that are reported to the postmaster. These
   8344 postmaster notifications do not replace user notifications. The
   8345 default is to report only the most serious problems. The paranoid
   8346 may wish to turn on the policy (UCE and mail relaying) and protocol
   8347 error (broken mail software) reports.
   8348 </p>
   8349 
   8350 <p> NOTE: postmaster notifications may contain confidential information
   8351 such as SASL passwords or message content.  It is the system
   8352 administrator's responsibility to treat such information with care.
   8353 </p>
   8354 
   8355 <p>
   8356 The error classes are:
   8357 </p>
   8358 
   8359 <dl>
   8360 
   8361 <dt><b>bounce</b> (also implies <b>2bounce</b>)</dt>
   8362 
   8363 <dd>Send the postmaster copies of the headers of bounced mail, and
   8364 send transcripts of SMTP sessions when Postfix rejects mail. The
   8365 notification is sent to the address specified with the
   8366 <a href="postconf.5.html#bounce_notice_recipient">bounce_notice_recipient</a> configuration parameter (default: postmaster).
   8367 </dd>
   8368 
   8369 <dt><b>2bounce</b></dt>
   8370 
   8371 <dd>Send undeliverable bounced mail to the postmaster. The notification
   8372 is sent to the address specified with the <a href="postconf.5.html#2bounce_notice_recipient">2bounce_notice_recipient</a>
   8373 configuration parameter (default: postmaster). </dd>
   8374 
   8375 <dt><b>data</b></dt>
   8376 
   8377 <dd>Send the postmaster a transcript of the SMTP session with an
   8378 error because a critical data file was unavailable. The notification
   8379 is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
   8380 configuration parameter (default: postmaster). <br> This feature
   8381 is available in Postfix 2.9 and later.  </dd>
   8382 
   8383 <dt><b>delay</b></dt>
   8384 
   8385 <dd>Send the postmaster copies of the headers of delayed mail (see
   8386 <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>). The
   8387 notification is sent to the address specified with the
   8388 <a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a> configuration parameter (default: postmaster).
   8389 </dd>
   8390 
   8391 <dt><b>policy</b></dt>
   8392 
   8393 <dd>Send the postmaster a transcript of the SMTP session when a
   8394 client request was rejected because of (UCE) policy. The notification
   8395 is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
   8396 configuration parameter (default: postmaster).  </dd>
   8397 
   8398 <dt><b>protocol</b></dt>
   8399 
   8400 <dd>Send the postmaster a transcript of the SMTP session in case
   8401 of client or server protocol errors. The notification is sent to
   8402 the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration
   8403 parameter (default: postmaster). </dd>
   8404 
   8405 <dt><b>resource</b></dt>
   8406 
   8407 <dd>Inform the postmaster of mail not delivered due to resource
   8408 problems.  The notification is sent to the address specified with
   8409 the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
   8410 postmaster). </dd>
   8411 
   8412 <dt><b>software</b></dt>
   8413 
   8414 <dd>Inform the postmaster of mail not delivered due to software
   8415 problems.  The notification is sent to the address specified with
   8416 the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
   8417 postmaster). </dd>
   8418 
   8419 </dl>
   8420 
   8421 <p>
   8422 Examples:
   8423 </p>
   8424 
   8425 <pre>
   8426 <a href="postconf.5.html#notify_classes">notify_classes</a> = bounce, delay, policy, protocol, resource, software
   8427 <a href="postconf.5.html#notify_classes">notify_classes</a> = 2bounce, resource, software
   8428 </pre>
   8429 
   8430 
   8431 </DD>
   8432 
   8433 <DT><b><a name="openssl_path">openssl_path</a>
   8434 (default: openssl)</b></DT><DD>
   8435 
   8436 <p>
   8437 The location of the OpenSSL command line program openssl(1).  This
   8438 is used by the "<b><a href="postfix-tls.1.html">postfix tls</a></b>" command to create private keys,
   8439 certificate signing requests, self-signed certificates, and to
   8440 compute public key digests for DANE TLSA records.  In multi-instance
   8441 environments, this parameter is always determined from the configuration
   8442 of the default Postfix instance.
   8443 </p>
   8444 
   8445 <p> Example: </p>
   8446 
   8447 <blockquote>
   8448 <pre>
   8449 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   8450     # NetBSD pkgsrc:
   8451     <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/pkg/bin/openssl
   8452     # Local build:
   8453     <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/local/bin/openssl
   8454 </pre>
   8455 </blockquote>
   8456 
   8457 <p>
   8458 This feature is available in Postfix 3.1 and later.
   8459 </p>
   8460 
   8461 
   8462 </DD>
   8463 
   8464 <DT><b><a name="owner_request_special">owner_request_special</a>
   8465 (default: yes)</b></DT><DD>
   8466 
   8467 <p>
   8468 Enable special treatment for owner-<i>listname</i> entries in the
   8469 <a href="aliases.5.html">aliases(5)</a> file, and don't split owner-<i>listname</i> and
   8470 <i>listname</i>-request address localparts when the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>
   8471 is set to "-".  This feature is useful for mailing lists.
   8472 </p>
   8473 
   8474 
   8475 </DD>
   8476 
   8477 <DT><b><a name="parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
   8478 (default: see "postconf -d" output)</b></DT><DD>
   8479 
   8480 <p>
   8481 A list of Postfix features where the pattern "example.com" also
   8482 matches subdomains of example.com,
   8483 instead of requiring an explicit ".example.com" pattern.  This is
   8484 planned backwards compatibility:  eventually, all Postfix features
   8485 are expected to require explicit ".example.com" style patterns when
   8486 you really want to match subdomains.
   8487 </p>
   8488 
   8489 <p> The following Postfix feature names are supported. </p>
   8490 
   8491 <dl>
   8492 
   8493 <dt> Postfix version 1.0 and later</dt>
   8494 
   8495 <dd>
   8496 <a href="postconf.5.html#debug_peer_list">debug_peer_list</a>,
   8497 <a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a>,
   8498 <a href="postconf.5.html#mynetworks">mynetworks</a>,
   8499 <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>,
   8500 <a href="postconf.5.html#relay_domains">relay_domains</a>,
   8501 <a href="postconf.5.html#transport_maps">transport_maps</a>
   8502 </dd>
   8503 
   8504 <dt> Postfix version 1.1 and later</dt>
   8505 
   8506 <dd>
   8507 <a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>,
   8508 <a href="SMTPD_ACCESS_README.html">smtpd_access_maps</a>,
   8509 </dd>
   8510 
   8511 <dt> Postfix version 2.8 and later </dt>
   8512 
   8513 <dd>
   8514 <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a>
   8515 </dd>
   8516 
   8517 <dt> Postfix version 3.0 and later </dt>
   8518 
   8519 <dd>
   8520 <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
   8521 </dd>
   8522 
   8523 </dl>
   8524 
   8525 
   8526 </DD>
   8527 
   8528 <DT><b><a name="permit_mx_backup_networks">permit_mx_backup_networks</a>
   8529 (default: empty)</b></DT><DD>
   8530 
   8531 <p>
   8532 Restrict the use of the <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> SMTP access feature to
   8533 only domains whose primary MX hosts match the listed networks.
   8534 The parameter value syntax is the same as with the <a href="postconf.5.html#mynetworks">mynetworks</a>
   8535 parameter; note, however, that the default value is empty.  </p>
   8536 
   8537 <p> Pattern matching of domain names is controlled by the presence
   8538 or absence of "<a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>" in the
   8539 <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value.  </p>
   8540 
   8541 
   8542 </DD>
   8543 
   8544 <DT><b><a name="pickup_service_name">pickup_service_name</a>
   8545 (default: pickup)</b></DT><DD>
   8546 
   8547 <p>
   8548 The name of the <a href="pickup.8.html">pickup(8)</a> service. This service picks up local mail
   8549 submissions from the Postfix <a href="QSHAPE_README.html#maildrop_queue">maildrop queue</a>.
   8550 </p>
   8551 
   8552 <p>
   8553 This feature is available in Postfix 2.0 and later.
   8554 </p>
   8555 
   8556 
   8557 </DD>
   8558 
   8559 <DT><b><a name="pipe_delivery_status_filter">pipe_delivery_status_filter</a>
   8560 (default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
   8561 
   8562 <p> Optional filter for the <a href="pipe.8.html">pipe(8)</a> delivery agent to change the
   8563 delivery status code or explanatory text of successful or unsuccessful
   8564 deliveries.  See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details.  </p>
   8565 
   8566 <p> This feature is available in Postfix 3.0 and later. </p>
   8567 
   8568 
   8569 </DD>
   8570 
   8571 <DT><b><a name="plaintext_reject_code">plaintext_reject_code</a>
   8572 (default: 450)</b></DT><DD>
   8573 
   8574 <p>
   8575 The numerical Postfix SMTP server response code when a request
   8576 is rejected by the <b><a href="postconf.5.html#reject_plaintext_session">reject_plaintext_session</a></b> restriction.
   8577 </p>
   8578 
   8579 <p> This feature is available in Postfix 2.3 and later. </p>
   8580 
   8581 
   8582 </DD>
   8583 
   8584 <DT><b><a name="postlog_service_name">postlog_service_name</a>
   8585 (default: postlog)</b></DT><DD>
   8586 
   8587 <p> The name of the <a href="postlogd.8.html">postlogd(8)</a> service entry in <a href="master.5.html">master.cf</a>.
   8588 This service appends logfile records to the file specified
   8589 with the <a href="postconf.5.html#maillog_file">maillog_file</a> parameter. </p>
   8590 
   8591 <p> This feature is available in Postfix 3.4 and later. </p>
   8592 
   8593 
   8594 </DD>
   8595 
   8596 <DT><b><a name="postlogd_watchdog_timeout">postlogd_watchdog_timeout</a>
   8597 (default: 10s)</b></DT><DD>
   8598 
   8599 <p> How much time a <a href="postlogd.8.html">postlogd(8)</a> process may take to process a request
   8600 before it is terminated by a built-in watchdog timer. This is a
   8601 safety mechanism that prevents <a href="postlogd.8.html">postlogd(8)</a> from becoming non-responsive
   8602 due to a bug in Postfix itself or in system software. This limit
   8603 cannot be set under 10s. </p>
   8604 
   8605 <p> Specify a non-zero time value (an integral value plus an optional
   8606 one-letter suffix that specifies the time unit).  Time units: s
   8607 (seconds), m (minutes), h (hours), d (days), w (weeks).
   8608 The default time unit is s (seconds).  </p>
   8609 
   8610 <p> This feature is available in Postfix 3.4 and later.  </p>
   8611 
   8612 
   8613 </DD>
   8614 
   8615 <DT><b><a name="postmulti_control_commands">postmulti_control_commands</a>
   8616 (default: reload flush)</b></DT><DD>
   8617 
   8618 <p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager
   8619 treats as "control" commands, that operate on running instances. For
   8620 these commands, disabled instances are skipped. </p>
   8621 
   8622 <p> This feature is available in Postfix 2.6 and later. </p>
   8623 
   8624 
   8625 </DD>
   8626 
   8627 <DT><b><a name="postmulti_start_commands">postmulti_start_commands</a>
   8628 (default: start)</b></DT><DD>
   8629 
   8630 <p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
   8631 as "start" commands. For these commands, disabled instances are "checked"
   8632 rather than "started", and failure to "start" a member instance of an
   8633 instance group will abort the start-up of later instances. </p>
   8634 
   8635 <p> This feature is available in Postfix 2.6 and later. </p>
   8636 
   8637 
   8638 </DD>
   8639 
   8640 <DT><b><a name="postmulti_stop_commands">postmulti_stop_commands</a>
   8641 (default: see "postconf -d" output)</b></DT><DD>
   8642 
   8643 <p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
   8644 as "stop" commands. For these commands, disabled instances are skipped,
   8645 and enabled instances are processed in reverse order. </p>
   8646 
   8647 <p> This feature is available in Postfix 2.6 and later. </p>
   8648 
   8649 
   8650 </DD>
   8651 
   8652 <DT><b><a name="postscreen_access_list">postscreen_access_list</a>
   8653 (default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>)</b></DT><DD>
   8654 
   8655 <p> Permanent allow/denylist for remote SMTP client IP addresses.
   8656 <a href="postscreen.8.html">postscreen(8)</a> searches this list immediately after a remote SMTP
   8657 client connects.  Specify a comma- or whitespace-separated list of
   8658 commands (in upper or lower case) or lookup tables. The search stops
   8659 upon the first command that fires for the client IP address. </p>
   8660 
   8661 <dl>
   8662 
   8663 <dt> <b> <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a> </b> </dt> <dd> Allowlist the client and
   8664 terminate the search if the client IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>.
   8665 Do not subject the client to any before/after 220 greeting tests.
   8666 Pass the connection immediately to a Postfix SMTP server process.
   8667 <br> Pattern matching of domain names is controlled by the presence
   8668 or absence of "<a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a>" in the
   8669 <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </dd>
   8670 
   8671 <dt> <b> <a href="DATABASE_README.html">type:table</a> </b> </dt> <dd> Query the specified lookup
   8672 table. Each table lookup result is an access list, except that
   8673 access lists inside a table cannot specify <a href="DATABASE_README.html">type:table</a> entries.  <br>
   8674 To discourage the use of hash, btree, etc. tables, there is no
   8675 support for substring matching like <a href="smtpd.8.html">smtpd(8)</a>. Use CIDR tables
   8676 instead.  </dd>
   8677 
   8678 <dt> <b> permit </b> </dt> <dd> Allowlist the client and terminate
   8679 the search. Do not subject the client to any before/after 220
   8680 greeting tests. Pass the connection immediately to a Postfix SMTP
   8681 server process. </dd>
   8682 
   8683 <dt> <b> reject </b> </dt> <dd> Denylist the client and terminate
   8684 the search. Subject the client to the action configured with the
   8685 <a href="postconf.5.html#postscreen_denylist_action">postscreen_denylist_action</a> configuration parameter. </dd>
   8686 
   8687 <dt> <b> dunno </b> </dt> <dd> All <a href="postscreen.8.html">postscreen(8)</a> access lists
   8688 implicitly have this command at the end. <br> When <b> dunno </b>
   8689 is executed inside a lookup table, return from the lookup table and
   8690 evaluate the next command.  <br> When <b> dunno </b> is executed
   8691 outside a lookup table, terminate the search, and subject the client
   8692 to the configured before/after 220 greeting tests. </dd>
   8693 
   8694 </dl>
   8695 
   8696 <p> Example: </p>
   8697 
   8698 <pre>
   8699 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   8700     <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
   8701         <a href="cidr_table.5.html">cidr</a>:/etc/postfix/postscreen_access.cidr
   8702     # Postfix &lt; 3.6 use <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a>.
   8703     <a href="postconf.5.html#postscreen_denylist_action">postscreen_denylist_action</a> = enforce
   8704 </pre>
   8705 
   8706 <pre>
   8707 /etc/postfix/postscreen_access.<a href="cidr_table.5.html">cidr</a>:
   8708     # Rules are evaluated in the order as specified.
   8709     # Denylist 192.168.* except 192.168.0.1.
   8710     192.168.0.1         dunno
   8711     192.168.0.0/16      reject
   8712 </pre>
   8713 
   8714 <p> This feature is available in Postfix 2.8. </p>
   8715 
   8716 
   8717 </DD>
   8718 
   8719 <DT><b><a name="postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a>
   8720 (default: <a href="DATABASE_README.html#types">static</a>:all)</b></DT><DD>
   8721 
   8722 <p> A list of local <a href="postscreen.8.html">postscreen(8)</a> server IP addresses where a
   8723 non-allowlisted remote SMTP client can obtain <a href="postscreen.8.html">postscreen(8)</a>'s temporary
   8724 allowlist status. This status is required before the client can
   8725 talk to a Postfix SMTP server process.  By default, a client can
   8726 obtain <a href="postscreen.8.html">postscreen(8)</a>'s allowlist status on any local <a href="postscreen.8.html">postscreen(8)</a>
   8727 server IP address. </p>
   8728 
   8729 <p> When <a href="postscreen.8.html">postscreen(8)</a> listens on both primary and backup MX
   8730 addresses, the <a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> parameter can be
   8731 configured to give the temporary allowlist status only when a client
   8732 connects to a primary MX address. Once a client is allowlisted it
   8733 can talk to a Postfix SMTP server on any address. Thus, clients
   8734 that connect only to backup MX addresses will never become allowlisted,
   8735 and will never be allowed to talk to a Postfix SMTP server process.
   8736 </p>
   8737 
   8738 <p> Specify a list of network addresses or network/netmask patterns,
   8739 separated by commas and/or whitespace. The netmask specifies the
   8740 number of bits in the network part of a host address. Continue long
   8741 lines by starting the next line with whitespace. </p>
   8742 
   8743 <p> You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A
   8744 "/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
   8745 lookup table is matched when a table entry matches a lookup string
   8746 (the lookup result is ignored). </p>
   8747 
   8748 <p> The list is matched left to right, and the search stops on the
   8749 first match. Specify "!pattern" to exclude an address or network
   8750 block from the list.  </p>
   8751 
   8752 <p> Note: IP version 6 address information must be specified inside
   8753 [] in the <a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> value, and in files
   8754 specified with "/file/name".  IP version 6 addresses contain the
   8755 ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
   8756 pattern. </p>
   8757 
   8758 <p> Example: </p>
   8759 
   8760 <pre>
   8761 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   8762     # Don't allowlist connections to the backup IP address.
   8763     # Postfix &lt; 3.6 use <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a>.
   8764     <a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> = !168.100.189.8, <a href="DATABASE_README.html#types">static</a>:all
   8765 </pre>
   8766 
   8767 <p> This feature is available in Postfix 3.6 and later.  </p>
   8768 
   8769 <p> Available as <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> in Postfix 2.9 - 3.5. </p>
   8770 
   8771 
   8772 </DD>
   8773 
   8774 <DT><b><a name="postscreen_bare_newline_action">postscreen_bare_newline_action</a>
   8775 (default: ignore)</b></DT><DD>
   8776 
   8777 <p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends
   8778 a bare newline character, that is, a newline not preceded by carriage
   8779 return.  Specify one of the following: </p>
   8780 
   8781 <dl>
   8782 
   8783 <dt> <b>ignore</b> </dt>
   8784 
   8785 <dd> Ignore the failure of this test. Allow other tests to complete.
   8786 Do <i>not</i> repeat this test before the result from some
   8787 other test expires.
   8788 This option is useful for testing and collecting statistics
   8789 without blocking mail permanently. </dd>
   8790 
   8791 <dt> <b>enforce</b> </dt>
   8792 
   8793 <dd> Allow other tests to complete. Reject attempts to deliver mail
   8794 with a 550 SMTP reply, and log the helo/sender/recipient information.
   8795 Repeat this test the next time the client connects. </dd>
   8796 
   8797 <dt> <b>drop</b> </dt>
   8798 
   8799 <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
   8800 this test the next time the client connects.  </dd>
   8801 
   8802 </dl>
   8803 
   8804 <p> This feature is available in Postfix 2.8. </p>
   8805 
   8806 
   8807 </DD>
   8808 
   8809 <DT><b><a name="postscreen_bare_newline_enable">postscreen_bare_newline_enable</a>
   8810 (default: no)</b></DT><DD>
   8811 
   8812 <p> Enable "bare newline" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
   8813 server. These tests are expensive: a remote SMTP client must
   8814 disconnect after
   8815 it passes the test, before it can talk to a real Postfix SMTP server.
   8816 </p>
   8817 
   8818 <p> This feature is available in Postfix 2.8.  </p>
   8819 
   8820 
   8821 </DD>
   8822 
   8823 <DT><b><a name="postscreen_bare_newline_ttl">postscreen_bare_newline_ttl</a>
   8824 (default: 30d)</b></DT><DD>
   8825 
   8826 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a client
   8827 IP address passed a "bare newline" SMTP protocol test, before it
   8828 address is required to pass that test again. The default
   8829 is long because a remote SMTP client must disconnect after it passes
   8830 the test,
   8831 before it can talk to a real Postfix SMTP server. </p>
   8832 
   8833 <p> Specify a non-zero time value (an integral value plus an optional
   8834 one-letter suffix that specifies the time unit).  Time units: s
   8835 (seconds), m (minutes), h (hours), d (days), w (weeks).
   8836 The default time unit is d (days).  </p>
   8837 
   8838 <p> This feature is available in Postfix 2.8.  </p>
   8839 
   8840 
   8841 </DD>
   8842 
   8843 <DT><b><a name="postscreen_blacklist_action">postscreen_blacklist_action</a>
   8844 (default: ignore)</b></DT><DD>
   8845 
   8846 <p> Renamed to <a href="postconf.5.html#postscreen_denylist_action">postscreen_denylist_action</a> in Postfix 3.6. </p>
   8847 
   8848 <p> This feature is available in Postfix 2.8 - 3.5. </p>
   8849 
   8850 
   8851 </DD>
   8852 
   8853 <DT><b><a name="postscreen_cache_cleanup_interval">postscreen_cache_cleanup_interval</a>
   8854 (default: 12h)</b></DT><DD>
   8855 
   8856 <p> The amount of time between <a href="postscreen.8.html">postscreen(8)</a> cache cleanup runs.
   8857 Cache cleanup increases the load on the cache database and should
   8858 therefore not be run frequently. This feature requires that the
   8859 cache database supports the "delete" and "sequence" operators.
   8860 Specify a zero interval to disable cache cleanup. </p>
   8861 
   8862 <p> After each cache cleanup run, the <a href="postscreen.8.html">postscreen(8)</a> daemon logs the
   8863 number of entries that were retained and dropped. A cleanup run is
   8864 logged as "partial" when the daemon terminates early after "<b>postfix
   8865 reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
   8866 seconds. </p>
   8867 
   8868 <p> Specify a non-negative time value (an integral value plus an optional
   8869 one-letter suffix that specifies the time unit).  Time units: s
   8870 (seconds), m (minutes), h (hours), d (days), w (weeks).
   8871 The default time unit is h (hours).  </p>
   8872 
   8873 <p> This feature is available in Postfix 2.8. </p>
   8874 
   8875 
   8876 </DD>
   8877 
   8878 <DT><b><a name="postscreen_cache_map">postscreen_cache_map</a>
   8879 (default: Postfix &ge; 3.11: $<a href="postconf.5.html#default_cache_db_type">default_cache_db_type</a>:$<a href="postconf.5.html#data_directory">data_directory</a>/postscreen_cache; Postfix &lt; 3.11: <a href="DATABASE_README.html#types">btree</a>:$<a href="postconf.5.html#data_directory">data_directory</a>/postscreen_cache)</b></DT><DD>
   8880 
   8881 <p> Persistent storage for the <a href="postscreen.8.html">postscreen(8)</a> server decisions. </p>
   8882 
   8883 <p> To share a <a href="postscreen.8.html">postscreen(8)</a> cache between multiple <a href="postscreen.8.html">postscreen(8)</a>
   8884 instances, use "<a href="postconf.5.html#postscreen_cache_map">postscreen_cache_map</a> = <a href="proxymap.8.html">proxy</a>:<a href="lmdb_table.5.html">lmdb</a>:/path/to/file"
   8885 or "<a href="proxymap.8.html">proxy</a>:<a href="DATABASE_README.html#types">btree</a>:/path/to/file".
   8886 This requires Postfix version 2.9 or later; earlier <a href="proxymap.8.html">proxymap(8)</a>
   8887 implementations don't support cache cleanup. For an alternative
   8888 approach see the <a href="memcache_table.5.html">memcache_table(5)</a> manpage. </p>
   8889 
   8890 <p> This feature is available in Postfix 2.8. </p>
   8891 
   8892 
   8893 </DD>
   8894 
   8895 <DT><b><a name="postscreen_cache_retention_time">postscreen_cache_retention_time</a>
   8896 (default: 7d)</b></DT><DD>
   8897 
   8898 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will cache an expired
   8899 temporary allowlist entry before it is removed. This prevents clients
   8900 from being logged as "NEW" just because their cache entry expired
   8901 an hour ago. It also prevents the cache from filling up with clients
   8902 that passed some deep protocol test once and never came back. </p>
   8903 
   8904 <p> Specify a non-zero time value (an integral value plus an optional
   8905 one-letter suffix that specifies the time unit).  Time units: s
   8906 (seconds), m (minutes), h (hours), d (days), w (weeks).
   8907 The default time unit is d (days).  </p>
   8908 
   8909 <p> This feature is available in Postfix 2.8. </p>
   8910 
   8911 
   8912 </DD>
   8913 
   8914 <DT><b><a name="postscreen_client_connection_count_limit">postscreen_client_connection_count_limit</a>
   8915 (default: $<a href="postconf.5.html#smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>)</b></DT><DD>
   8916 
   8917 <p> How many simultaneous connections any remote SMTP client is
   8918 allowed to have
   8919 with the <a href="postscreen.8.html">postscreen(8)</a> daemon. By default, this limit is the same
   8920 as with the Postfix SMTP server. Note that the triage process can
   8921 take several seconds, with the time spent in <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
   8922 delay, and with the time spent talking to the <a href="postscreen.8.html">postscreen(8)</a> built-in
   8923 dummy SMTP protocol engine. </p>
   8924 
   8925 <p> This feature is available in Postfix 2.8.  </p>
   8926 
   8927 
   8928 </DD>
   8929 
   8930 <DT><b><a name="postscreen_command_count_limit">postscreen_command_count_limit</a>
   8931 (default: 20)</b></DT><DD>
   8932 
   8933 <p> The limit on the total number of commands per SMTP session for
   8934 <a href="postscreen.8.html">postscreen(8)</a>'s built-in SMTP protocol engine.  This SMTP engine
   8935 defers or rejects all attempts to deliver mail, therefore there is
   8936 no need to enforce separate limits on the number of junk commands
   8937 and error commands.  </p>
   8938 
   8939 <p> This feature is available in Postfix 2.8.  </p>
   8940 
   8941 
   8942 </DD>
   8943 
   8944 <DT><b><a name="postscreen_command_filter">postscreen_command_filter</a>
   8945 (default: $<a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>)</b></DT><DD>
   8946 
   8947 <p> A mechanism to transform commands from remote SMTP clients.
   8948 See <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for further details. </p>
   8949 
   8950 <p> This feature is available in Postfix 2.8 and later. </p>
   8951 
   8952 
   8953 </DD>
   8954 
   8955 <DT><b><a name="postscreen_command_time_limit">postscreen_command_time_limit</a>
   8956 (default: normal: 300s, <a href="STRESS_README.html">overload</a>: 10s)</b></DT><DD>
   8957 
   8958 <p> The time limit to read an entire command line with <a href="postscreen.8.html">postscreen(8)</a>'s
   8959 built-in SMTP protocol engine. </p>
   8960 
   8961 <p> This feature is available in Postfix 2.8.  </p>
   8962 
   8963 
   8964 </DD>
   8965 
   8966 <DT><b><a name="postscreen_denylist_action">postscreen_denylist_action</a>
   8967 (default: ignore)</b></DT><DD>
   8968 
   8969 <p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client is
   8970 permanently denylisted with the <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> parameter.
   8971 Specify one of the following: </p>
   8972 
   8973 <dl>
   8974 
   8975 <dt> <b>ignore</b> (default) </dt>
   8976 
   8977 <dd> Ignore  this result. Allow other tests to complete.  Repeat
   8978 this test the next time the client connects.
   8979 This option is useful for testing and collecting statistics
   8980 without blocking mail. </dd>
   8981 
   8982 <dt> <b>enforce</b> </dt>
   8983 
   8984 <dd> Allow other tests to complete. Reject attempts to deliver mail
   8985 with a 550 SMTP reply, and log the helo/sender/recipient information.
   8986 Repeat this test the next time the client connects. </dd>
   8987 
   8988 <dt> <b>drop</b> </dt>
   8989 
   8990 <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
   8991 this test the next time the client connects. </dd>
   8992 
   8993 </dl>
   8994 
   8995 <p> This feature is available in Postfix 3.6 and later. </p>
   8996 
   8997 <p> Available as <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> in Postfix 2.8 - 3.5. </p>
   8998 
   8999 
   9000 </DD>
   9001 
   9002 <DT><b><a name="postscreen_disable_vrfy_command">postscreen_disable_vrfy_command</a>
   9003 (default: $<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a>)</b></DT><DD>
   9004 
   9005 <p> Disable the SMTP VRFY command in the <a href="postscreen.8.html">postscreen(8)</a> daemon.  See
   9006 <a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> for details.  </p>
   9007 
   9008 <p> This feature is available in Postfix 2.8.  </p>
   9009 
   9010 
   9011 </DD>
   9012 
   9013 <DT><b><a name="postscreen_discard_ehlo_keyword_address_maps">postscreen_discard_ehlo_keyword_address_maps</a>
   9014 (default: $<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>)</b></DT><DD>
   9015 
   9016 <p> Lookup tables, indexed by the remote SMTP client address, with
   9017 case insensitive lists of EHLO keywords (pipelining, starttls, auth,
   9018 etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO response
   9019 to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
   9020 The table is not searched by hostname for robustness reasons.  </p>
   9021 
   9022 <p> This feature is available in Postfix 2.8 and later. </p>
   9023 
   9024 
   9025 </DD>
   9026 
   9027 <DT><b><a name="postscreen_discard_ehlo_keywords">postscreen_discard_ehlo_keywords</a>
   9028 (default: $<a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>)</b></DT><DD>
   9029 
   9030 <p> A case insensitive list of EHLO keywords (pipelining, starttls,
   9031 auth, etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO
   9032 response to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
   9033 for details. </p>
   9034 
   9035 <p> This feature is available in Postfix 2.8 and later. </p>
   9036 
   9037 
   9038 </DD>
   9039 
   9040 <DT><b><a name="postscreen_dnsbl_action">postscreen_dnsbl_action</a>
   9041 (default: ignore)</b></DT><DD>
   9042 
   9043 <p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client's combined
   9044 DNSBL score is equal to or greater than a threshold (as defined
   9045 with 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>
   9046 parameters).  Specify one of the following: </p>
   9047 
   9048 <dl>
   9049 
   9050 <dt> <b>ignore</b> (default) </dt>
   9051 
   9052 <dd> Ignore the failure of this test. Allow other tests to complete.
   9053 Repeat this test the next time the client connects.
   9054 This option is useful for testing and collecting statistics
   9055 without blocking mail. </dd>
   9056 
   9057 <dt> <b>enforce</b> </dt>
   9058 
   9059 <dd> Allow other tests to complete. Reject attempts to deliver mail
   9060 with a 550 SMTP reply, and log the helo/sender/recipient information.
   9061 Repeat this test the next time the client connects. </dd>
   9062 
   9063 <dt> <b>drop</b> </dt>
   9064 
   9065 <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
   9066 this test the next time the client connects. </dd>
   9067 
   9068 </dl>
   9069 
   9070 <p> This feature is available in Postfix 2.8. </p>
   9071 
   9072 
   9073 </DD>
   9074 
   9075 <DT><b><a name="postscreen_dnsbl_allowlist_threshold">postscreen_dnsbl_allowlist_threshold</a>
   9076 (default: 0)</b></DT><DD>
   9077 
   9078 <p> Allow a remote SMTP client to skip "before" and "after 220
   9079 greeting" protocol tests, based on its combined DNSBL score as
   9080 defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> parameter.  </p>
   9081 
   9082 <p> Specify a negative value to enable this feature. When a client
   9083 passes the <a href="postconf.5.html#postscreen_dnsbl_allowlist_threshold">postscreen_dnsbl_allowlist_threshold</a> without having
   9084 failed other tests, all pending or disabled tests are flagged as
   9085 completed with an expiration time based on the DNS reply TTL.
   9086 When a test was already completed, its expiration time is updated
   9087 if it was less than the value based on the DNS reply TTL. See
   9088 also <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a> and <a href="postconf.5.html#postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>. </p>
   9089 
   9090 <p> This feature is available in Postfix 3.6 and later.  </p>
   9091 
   9092 <p> Available as <a href="postconf.5.html#postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a> in Postfix 2.11
   9093 - 3.5.  </p>
   9094 
   9095 
   9096 </DD>
   9097 
   9098 <DT><b><a name="postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>
   9099 (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>
   9100 
   9101 <p> The maximum amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a
   9102 client IP address passed a DNS-based reputation test, before it is
   9103 required to pass that test again. If the DNS
   9104 reply specifies a shorter TTL value, that value will be used unless
   9105 it would be smaller than <a href="postconf.5.html#postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>.  </p>
   9106 
   9107 <p> Specify a non-zero time value (an integral value plus an optional
   9108 one-letter suffix that specifies the time unit).  Time units: s
   9109 (seconds), m (minutes), h (hours), d (days), w (weeks).
   9110 The default time unit is h (hours).  </p>
   9111 
   9112 <p> This feature is available in Postfix 3.1. The default setting
   9113 is backwards-compatible with older Postfix versions. </p>
   9114 
   9115 
   9116 </DD>
   9117 
   9118 <DT><b><a name="postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>
   9119 (default: 60s)</b></DT><DD>
   9120 
   9121 <p> The minimum amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a
   9122 client IP address passed a DNS-based reputation test, before it
   9123 is required to pass that test again. If the DNS
   9124 reply specifies a larger TTL value, that value will be used unless
   9125 it would be larger than <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>.  </p>
   9126 
   9127 <p> Specify a non-zero time value (an integral value plus an optional
   9128 one-letter suffix that specifies the time unit).  Time units: s
   9129 (seconds), m (minutes), h (hours), d (days), w (weeks).
   9130 The default time unit is s (seconds).  </p>
   9131 
   9132 <p> This feature is available in Postfix 3.1. </p>
   9133 
   9134 
   9135 </DD>
   9136 
   9137 <DT><b><a name="postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a>
   9138 (default: empty)</b></DT><DD>
   9139 
   9140 <p> A mapping from an actual DNSBL domain name which includes a secret
   9141 password, to the DNSBL domain name that postscreen will reply with
   9142 when it rejects mail.  When no mapping is found, the actual DNSBL
   9143 domain will be used. </p>
   9144 
   9145 <p> For maximal stability it is best to use a file that is read
   9146 into 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
   9147 to <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
   9148 file can be used, and b) <a href="DATABASE_README.html#types">texthash</a>: does not detect changes after
   9149 the file is read). </p>
   9150 
   9151 <p> Example: </p>
   9152 
   9153 <pre>
   9154 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   9155     <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
   9156 </pre>
   9157 
   9158 <pre>
   9159 /etc/postfix/dnsbl_reply:
   9160    secret.zen.spamhaus.org      zen.spamhaus.org
   9161 </pre>
   9162 
   9163 <p> NOTE: This feature differs from the Postfix SMTP server's
   9164 <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> feature, where 1) the table search key includes the
   9165 optional "<i>=address-filter</i>", and where 2) the lookup result
   9166 contains free text with <i>$name</i> variables. </p>
   9167 
   9168 <p> This feature is available in Postfix 2.8.  </p>
   9169 
   9170 
   9171 </DD>
   9172 
   9173 <DT><b><a name="postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
   9174 (default: empty)</b></DT><DD>
   9175 
   9176 <p>Optional list of patterns with DNS allow/denylist domains, filters
   9177 and weight
   9178 factors. When the list is non-empty, the <a href="dnsblog.8.html">dnsblog(8)</a> daemon will
   9179 query these domains with the reversed IP addresses of remote SMTP
   9180 clients,
   9181 and <a href="postscreen.8.html">postscreen(8)</a> will update an SMTP client's DNSBL score with
   9182 each non-error reply as described below. </p>
   9183 
   9184 <p> NOTE: Always respect the usage policies of reputation services.
   9185 Avoid public or ISP resolvers, unless the queries use your unique
   9186 API key. </p>
   9187 
   9188 <p> Caution: when postscreen rejects mail, its SMTP response contains
   9189 the DNSBL
   9190 domain name. Use the <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> feature to hide
   9191 "password" information in DNSBL domain names. </p>
   9192 
   9193 <p> When a client's score is equal to or greater than the threshold
   9194 specified with <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>, <a href="postscreen.8.html">postscreen(8)</a> can drop
   9195 the connection with the remote SMTP client. </p>
   9196 
   9197 <p> Specify a list of domain=filter*weight patterns, separated by
   9198 comma or whitespace.  </p>
   9199 
   9200 <ul>
   9201 
   9202 <li> <p> When a pattern specifies no "=filter", <a href="postscreen.8.html">postscreen(8)</a> will
   9203 use any non-error DNSBL query result.  Otherwise, <a href="postscreen.8.html">postscreen(8)</a>
   9204 will use only DNSBL
   9205 query results that match the filter. The filter has the form d.d.d.d,
   9206 where each d is a number, or a pattern inside [] that contains one
   9207 or more ";"-separated numbers or number..number ranges.  </p>
   9208 
   9209 <li> <p> When a pattern specifies no "*weight", the weight of the
   9210 pattern is 1.  Otherwise, the weight must be an integral number.
   9211 Specify a negative number for allowlisting.  </p>
   9212 
   9213 <li> <p> When a pattern matches one or more DNSBL query results,
   9214 <a href="postscreen.8.html">postscreen(8)</a> adds that pattern's weight once to the remote SMTP
   9215 client's DNSBL score. </p>
   9216 
   9217 </ul>
   9218 
   9219 <p> Examples: </p>
   9220 
   9221 <p> To use example.com as a high-confidence blocklist, and to
   9222 block mail with example.net and example.org only when both agree:
   9223 </p>
   9224 
   9225 <pre>
   9226 <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a> = 2
   9227 <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com*2, example.net, example.org
   9228 </pre>
   9229 
   9230 <p> To filter only DNSBL replies containing 127.0.0.4: </p>
   9231 
   9232 <pre>
   9233 <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com=127.0.0.4
   9234 </pre>
   9235 
   9236 <p> This feature is available in Postfix 2.8. </p>
   9237 
   9238 
   9239 </DD>
   9240 
   9241 <DT><b><a name="postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>
   9242 (default: 1)</b></DT><DD>
   9243 
   9244 <p> The inclusive lower bound for blocking a remote SMTP client, based on
   9245 its combined DNSBL score as defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
   9246 parameter. </p>
   9247 
   9248 <p> This feature is available in Postfix 2.8.  </p>
   9249 
   9250 
   9251 </DD>
   9252 
   9253 <DT><b><a name="postscreen_dnsbl_timeout">postscreen_dnsbl_timeout</a>
   9254 (default: 10s)</b></DT><DD>
   9255 
   9256 <p> The time limit for DNSBL or DNSWL lookups. This is separate from
   9257 the timeouts in the <a href="dnsblog.8.html">dnsblog(8)</a> daemon which are defined by system
   9258 resolver(3) routines. </p>
   9259 
   9260 <p> Specify a non-zero time value (an integral value plus an optional
   9261 one-letter suffix that specifies the time unit).  Time units: s
   9262 (seconds), m (minutes), h (hours), d (days), w (weeks).
   9263 The default time unit is s (seconds).  </p>
   9264 
   9265 <p> This feature is available in Postfix 3.0.  </p>
   9266 
   9267 
   9268 </DD>
   9269 
   9270 <DT><b><a name="postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>
   9271 (default: 1h)</b></DT><DD>
   9272 
   9273 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a client
   9274 IP address passed a DNS-based reputation test, before it is required
   9275 to pass that test again.  </p>
   9276 
   9277 <p> Specify a non-zero time value (an integral value plus an optional
   9278 one-letter suffix that specifies the time unit).  Time units: s
   9279 (seconds), m (minutes), h (hours), d (days), w (weeks).
   9280 The default time unit is h (hours).  </p>
   9281 
   9282 <p> This feature is available in Postfix 2.8-3.0. It was
   9283 replaced by <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a> in Postfix 3.1.  </p>
   9284 
   9285 
   9286 </DD>
   9287 
   9288 <DT><b><a name="postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a>
   9289 (default: 0)</b></DT><DD>
   9290 
   9291 <p> Renamed to <a href="postconf.5.html#postscreen_dnsbl_allowlist_threshold">postscreen_dnsbl_allowlist_threshold</a> in Postfix 3.6. </p>
   9292 
   9293 <p> This feature is available in Postfix 2.11 - 3.5.  </p>
   9294 
   9295 
   9296 </DD>
   9297 
   9298 <DT><b><a name="postscreen_enforce_tls">postscreen_enforce_tls</a>
   9299 (default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
   9300 
   9301 <p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
   9302 require that clients use TLS encryption.  See smtpd_postscreen_enforce_tls
   9303 for details.  </p>
   9304 
   9305 <p> This feature is available in Postfix 2.8 and later.
   9306 Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
   9307 
   9308 
   9309 </DD>
   9310 
   9311 <DT><b><a name="postscreen_expansion_filter">postscreen_expansion_filter</a>
   9312 (default: see "postconf -d" output)</b></DT><DD>
   9313 
   9314 <p> List of characters that are permitted in <a href="postconf.5.html#postscreen_reject_footer">postscreen_reject_footer</a>
   9315 attribute expansions.  See <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> for further
   9316 details. </p>
   9317 
   9318 <p> This feature is available in Postfix 2.8 and later. </p>
   9319 
   9320 
   9321 </DD>
   9322 
   9323 <DT><b><a name="postscreen_forbidden_commands">postscreen_forbidden_commands</a>
   9324 (default: $<a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>)</b></DT><DD>
   9325 
   9326 <p> List of commands that the <a href="postscreen.8.html">postscreen(8)</a> server considers in
   9327 violation of the SMTP protocol. See <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a> for
   9328 syntax, and <a href="postconf.5.html#postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a> for possible actions.
   9329 </p>
   9330 
   9331 <p> This feature is available in Postfix 2.8.  </p>
   9332 
   9333 
   9334 </DD>
   9335 
   9336 <DT><b><a name="postscreen_greet_action">postscreen_greet_action</a>
   9337 (default: ignore)</b></DT><DD>
   9338 
   9339 <p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client speaks
   9340 before its turn within the time specified with the <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
   9341 parameter.  Specify one of the following: </p>
   9342 
   9343 <dl>
   9344 
   9345 <dt> <b>ignore</b> (default) </dt>
   9346 
   9347 <dd> Ignore the failure of this test. Allow other tests to complete.
   9348 Repeat this test the next time the client connects.
   9349 This option is useful for testing and collecting statistics
   9350 without blocking mail. </dd>
   9351 
   9352 <dt> <b>enforce</b> </dt>
   9353 
   9354 <dd> Allow other tests to complete. Reject attempts to deliver mail
   9355 with a 550 SMTP reply, and log the helo/sender/recipient information.
   9356 Repeat this test the next time the client connects. </dd>
   9357 
   9358 <dt> <b>drop</b> </dt>
   9359 
   9360 <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
   9361 this test the next time the client connects. </dd>
   9362 
   9363 </dl>
   9364 
   9365 <p> In either case, <a href="postscreen.8.html">postscreen(8)</a> will not allowlist the remote SMTP client
   9366 IP address. </p>
   9367 
   9368 <p> This feature is available in Postfix 2.8. </p>
   9369 
   9370 
   9371 </DD>
   9372 
   9373 <DT><b><a name="postscreen_greet_banner">postscreen_greet_banner</a>
   9374 (default: $<a href="postconf.5.html#smtpd_banner">smtpd_banner</a>)</b></DT><DD>
   9375 
   9376 <p> The <i>text</i> in the optional "220-<i>text</i>..." server
   9377 response that
   9378 <a href="postscreen.8.html">postscreen(8)</a> sends ahead of the real Postfix SMTP server's "220
   9379 text..." response, in an attempt to confuse bad SMTP clients so
   9380 that they speak before their turn (pre-greet).  Specify an empty
   9381 value to disable this feature.  </p>
   9382 
   9383 <p> This feature is available in Postfix 2.8. </p>
   9384 
   9385 
   9386 </DD>
   9387 
   9388 <DT><b><a name="postscreen_greet_ttl">postscreen_greet_ttl</a>
   9389 (default: 1d)</b></DT><DD>
   9390 
   9391 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a client
   9392 IP address passed a PREGREET test, before it is required to pass
   9393 that test again. The default is relatively short, because
   9394 a good client can immediately talk to a real Postfix SMTP server. </p>
   9395 
   9396 <p> Specify a non-zero time value (an integral value plus an optional
   9397 one-letter suffix that specifies the time unit).  Time units: s
   9398 (seconds), m (minutes), h (hours), d (days), w (weeks).
   9399 The default time unit is d (days).  </p>
   9400 
   9401 <p> This feature is available in Postfix 2.8. </p>
   9402 
   9403 
   9404 </DD>
   9405 
   9406 <DT><b><a name="postscreen_greet_wait">postscreen_greet_wait</a>
   9407 (default: normal: 6s, <a href="STRESS_README.html">overload</a>: 2s)</b></DT><DD>
   9408 
   9409 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will wait for an SMTP
   9410 client to send a command before its turn, and for DNS blocklist
   9411 lookup results to arrive (default: up to 2 seconds under stress,
   9412 up to 6 seconds otherwise).  <p>
   9413 
   9414 <p> Specify a non-zero time value (an integral value plus an optional
   9415 one-letter suffix that specifies the time unit).  Time units: s
   9416 (seconds), m (minutes), h (hours), d (days), w (weeks).
   9417 The default time unit is s (seconds).  </p>
   9418 
   9419 <p> This feature is available in Postfix 2.8. </p>
   9420 
   9421 
   9422 </DD>
   9423 
   9424 <DT><b><a name="postscreen_helo_required">postscreen_helo_required</a>
   9425 (default: $<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a>)</b></DT><DD>
   9426 
   9427 <p> Require that a remote SMTP client sends HELO or EHLO before
   9428 commencing a MAIL transaction. </p>
   9429 
   9430 <p> This feature is available in Postfix 2.8.  </p>
   9431 
   9432 
   9433 </DD>
   9434 
   9435 <DT><b><a name="postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a>
   9436 (default: drop)</b></DT><DD>
   9437 
   9438 <p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends
   9439 non-SMTP commands as specified with the <a href="postconf.5.html#postscreen_forbidden_commands">postscreen_forbidden_commands</a>
   9440 parameter.  Specify one of the following: </p>
   9441 
   9442 <dl>
   9443 
   9444 <dt> <b>ignore</b> </dt>
   9445 
   9446 <dd> Ignore the failure of this test. Allow other tests to complete.
   9447 Do <i>not</i> repeat this test before the result from some
   9448 other test expires.
   9449 This option is useful for testing and collecting statistics
   9450 without blocking mail permanently. </dd>
   9451 
   9452 <dt> <b>enforce</b> </dt>
   9453 
   9454 <dd> Allow other tests to complete. Reject attempts to deliver mail
   9455 with a 550 SMTP reply, and log the helo/sender/recipient information.
   9456 Repeat this test the next time the client connects. </dd>
   9457 
   9458 <dt> <b>drop</b> </dt>
   9459 
   9460 <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
   9461 this test the next time the client connects. This action is the
   9462 same as with the Postfix SMTP server's <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>
   9463 feature.  </dd>
   9464 
   9465 </dl>
   9466 
   9467 <p> This feature is available in Postfix 2.8. </p>
   9468 
   9469 
   9470 </DD>
   9471 
   9472 <DT><b><a name="postscreen_non_smtp_command_enable">postscreen_non_smtp_command_enable</a>
   9473 (default: no)</b></DT><DD>
   9474 
   9475 <p> Enable "non-SMTP command" tests in the <a href="postscreen.8.html">postscreen(8)</a> server. These
   9476 tests are expensive: a client must disconnect after it passes the
   9477 test, before it can talk to a real Postfix SMTP server. </p>
   9478 
   9479 <p> This feature is available in Postfix 2.8.  </p>
   9480 
   9481 
   9482 </DD>
   9483 
   9484 <DT><b><a name="postscreen_non_smtp_command_ttl">postscreen_non_smtp_command_ttl</a>
   9485 (default: 30d)</b></DT><DD>
   9486 
   9487 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a client
   9488 IP address passed a "non_smtp_command" SMTP protocol test, before
   9489 it is required to pass that test again. The default
   9490 is long because a client must disconnect after it passes the test,
   9491 before it can talk to a real Postfix SMTP server. </p>
   9492 
   9493 <p> Specify a non-zero time value (an integral value plus an optional
   9494 one-letter suffix that specifies the time unit).  Time units: s
   9495 (seconds), m (minutes), h (hours), d (days), w (weeks).
   9496 The default time unit is d (days).  </p>
   9497 
   9498 <p> This feature is available in Postfix 2.8.  </p>
   9499 
   9500 
   9501 </DD>
   9502 
   9503 <DT><b><a name="postscreen_pipelining_action">postscreen_pipelining_action</a>
   9504 (default: enforce)</b></DT><DD>
   9505 
   9506 <p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client
   9507 sends
   9508 multiple commands instead of sending one command and waiting for
   9509 the server to respond.  Specify one of the following: </p>
   9510 
   9511 <dl>
   9512 
   9513 <dt> <b>ignore</b> </dt>
   9514 
   9515 <dd> Ignore the failure of this test. Allow other tests to complete.
   9516 Do <i>not</i> repeat this test before the result from some
   9517 other test expires.
   9518 This option is useful for testing and collecting statistics
   9519 without blocking mail permanently. </dd>
   9520 
   9521 <dt> <b>enforce</b> </dt>
   9522 
   9523 <dd> Allow other tests to complete. Reject attempts to deliver mail
   9524 with a 550 SMTP reply, and log the helo/sender/recipient information.
   9525 Repeat this test the next time the client connects. </dd>
   9526 
   9527 <dt> <b>drop</b> </dt>
   9528 
   9529 <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
   9530 this test the next time the client connects. </dd>
   9531 
   9532 </dl>
   9533 
   9534 <p> This feature is available in Postfix 2.8. </p>
   9535 
   9536 
   9537 </DD>
   9538 
   9539 <DT><b><a name="postscreen_pipelining_enable">postscreen_pipelining_enable</a>
   9540 (default: no)</b></DT><DD>
   9541 
   9542 <p> Enable "pipelining" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
   9543 server. These tests are expensive: a good client must disconnect
   9544 after it passes the test, before it can talk to a real Postfix SMTP
   9545 server. </p>
   9546 
   9547 <p> This feature is available in Postfix 2.8.  </p>
   9548 
   9549 
   9550 </DD>
   9551 
   9552 <DT><b><a name="postscreen_pipelining_ttl">postscreen_pipelining_ttl</a>
   9553 (default: 30d)</b></DT><DD>
   9554 
   9555 <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> remembers that a client
   9556 IP address passed a "pipelining" SMTP protocol test, before it is
   9557 required to pass that test again. The default is
   9558 long because a good client must disconnect after it passes the test,
   9559 before it can talk to a real Postfix SMTP server. </p>
   9560 
   9561 <p> Specify a non-zero time value (an integral value plus an optional
   9562 one-letter suffix that specifies the time unit).  Time units: s
   9563 (seconds), m (minutes), h (hours), d (days), w (weeks).
   9564 The default time unit is d (days).  </p>
   9565 
   9566 <p> This feature is available in Postfix 2.8.  </p>
   9567 
   9568 
   9569 </DD>
   9570 
   9571 <DT><b><a name="postscreen_post_queue_limit">postscreen_post_queue_limit</a>
   9572 (default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
   9573 
   9574 <p> The number of clients that can be waiting for service from a
   9575 real Postfix SMTP server process. When this queue is full, all
   9576 clients will
   9577 receive a 421 response. </p>
   9578 
   9579 <p> This feature is available in Postfix 2.8. </p>
   9580 
   9581 
   9582 </DD>
   9583 
   9584 <DT><b><a name="postscreen_pre_queue_limit">postscreen_pre_queue_limit</a>
   9585 (default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
   9586 
   9587 <p> The number of non-allowlisted clients that can be waiting for
   9588 a decision whether they will receive service from a real Postfix
   9589 SMTP server
   9590 process. When this queue is full, all non-allowlisted clients will
   9591 receive a 421 response. </p>
   9592 
   9593 <p> This feature is available in Postfix 2.8. </p>
   9594 
   9595 
   9596 </DD>
   9597 
   9598 <DT><b><a name="postscreen_reject_footer">postscreen_reject_footer</a>
   9599 (default: $<a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>)</b></DT><DD>
   9600 
   9601 <p> Optional information that is appended after a 4XX or 5XX
   9602 <a href="postscreen.8.html">postscreen(8)</a> server
   9603 response. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> for further details.  </p>
   9604 
   9605 <p> This feature is available in Postfix 2.8 and later. </p>
   9606 
   9607 
   9608 </DD>
   9609 
   9610 <DT><b><a name="postscreen_reject_footer_maps">postscreen_reject_footer_maps</a>
   9611 (default: $<a href="postconf.5.html#smtpd_reject_footer_maps">smtpd_reject_footer_maps</a>)</b></DT><DD>
   9612 
   9613 <p> Optional lookup table for information that is appended after a 4XX
   9614 or 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
   9615 further details. </p>
   9616 
   9617 <p> This feature is available in Postfix 3.4 and later. </p>
   9618 
   9619 
   9620 </DD>
   9621 
   9622 <DT><b><a name="postscreen_tls_security_level">postscreen_tls_security_level</a>
   9623 (default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
   9624 
   9625 <p> The SMTP TLS security level for the <a href="postscreen.8.html">postscreen(8)</a> server; when
   9626 a non-empty value is specified, this overrides the obsolete parameters
   9627 <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>
   9628 for details. </p>
   9629 
   9630 <p> This feature is available in Postfix 2.8 and later. </p>
   9631 
   9632 
   9633 </DD>
   9634 
   9635 <DT><b><a name="postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a>
   9636 (default: empty)</b></DT><DD>
   9637 
   9638 <p> The name of the proxy protocol used by an optional before-postscreen
   9639 proxy agent. When a proxy agent is used, this protocol conveys local
   9640 and remote address and port information. Specify
   9641 "<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
   9642 protocol; version 2 is supported with Postfix 3.5 and later. <p>
   9643 
   9644 <p> This feature is available in Postfix 2.10 and later.  </p>
   9645 
   9646 
   9647 </DD>
   9648 
   9649 <DT><b><a name="postscreen_upstream_proxy_timeout">postscreen_upstream_proxy_timeout</a>
   9650 (default: 5s)</b></DT><DD>
   9651 
   9652 <p> The time limit for the proxy protocol specified with the
   9653 <a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> parameter. </p>
   9654 
   9655 <p> This feature is available in Postfix 2.10 and later.  </p>
   9656 
   9657 
   9658 </DD>
   9659 
   9660 <DT><b><a name="postscreen_use_tls">postscreen_use_tls</a>
   9661 (default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
   9662 
   9663 <p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
   9664 but do not require that clients use TLS encryption. </p>
   9665 
   9666 <p> This feature is available in Postfix 2.8 and later.
   9667 Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
   9668 
   9669 
   9670 </DD>
   9671 
   9672 <DT><b><a name="postscreen_watchdog_timeout">postscreen_watchdog_timeout</a>
   9673 (default: 10s)</b></DT><DD>
   9674 
   9675 <p> How much time a <a href="postscreen.8.html">postscreen(8)</a> process may take to respond to
   9676 a remote SMTP client command or to perform a cache operation before it
   9677 is terminated by a built-in watchdog timer.  This is a safety
   9678 mechanism that prevents <a href="postscreen.8.html">postscreen(8)</a> from becoming non-responsive
   9679 due to a bug in Postfix itself or in system software.  To avoid
   9680 false alarms and unnecessary cache corruption this limit cannot be
   9681 set under 10s.  </p>
   9682 
   9683 <p> Specify a non-zero time value (an integral value plus an optional
   9684 one-letter suffix that specifies the time unit).  Time units: s
   9685 (seconds), m (minutes), h (hours), d (days), w (weeks).
   9686 The default time unit is s (seconds).  </p>
   9687 
   9688 <p> This feature is available in Postfix 2.8.  </p>
   9689 
   9690 
   9691 </DD>
   9692 
   9693 <DT><b><a name="postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a>
   9694 (default: <a href="DATABASE_README.html#types">static</a>:all)</b></DT><DD>
   9695 
   9696 <p> Renamed to <a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> in Postfix 3.6. </p>
   9697 
   9698 <p> This feature is available in Postfix 2.9 - 3.5. </p>
   9699 
   9700 
   9701 </DD>
   9702 
   9703 <DT><b><a name="prepend_delivered_header">prepend_delivered_header</a>
   9704 (default: command, file, forward)</b></DT><DD>
   9705 
   9706 <p> The message delivery contexts where the Postfix <a href="local.8.html">local(8)</a> delivery
   9707 agent prepends a Delivered-To:  message header with the address
   9708 that the mail was delivered to. This information is used for mail
   9709 delivery loop detection.  </p>
   9710 
   9711 <p>
   9712 By default, the Postfix local delivery agent prepends a Delivered-To:
   9713 header when forwarding mail and when delivering to file (mailbox)
   9714 and command. Turning off the Delivered-To: header when forwarding
   9715 mail is not recommended.
   9716 </p>
   9717 
   9718 <p>
   9719 Specify zero or more of <b>forward</b>, <b>file</b>, or <b>command</b>.
   9720 </p>
   9721 
   9722 <p>
   9723 Example:
   9724 </p>
   9725 
   9726 <pre>
   9727 <a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a> = forward
   9728 </pre>
   9729 
   9730 
   9731 </DD>
   9732 
   9733 <DT><b><a name="process_id">process_id</a>
   9734 (read-only)</b></DT><DD>
   9735 
   9736 <p>
   9737 The process ID of a Postfix command or daemon process.
   9738 </p>
   9739 
   9740 
   9741 </DD>
   9742 
   9743 <DT><b><a name="process_id_directory">process_id_directory</a>
   9744 (default: pid)</b></DT><DD>
   9745 
   9746 <p>
   9747 The location of Postfix PID files relative to $<a href="postconf.5.html#queue_directory">queue_directory</a>.
   9748 This is a read-only parameter.
   9749 </p>
   9750 
   9751 
   9752 </DD>
   9753 
   9754 <DT><b><a name="process_name">process_name</a>
   9755 (read-only)</b></DT><DD>
   9756 
   9757 <p>
   9758 The process name of a Postfix command or daemon process.
   9759 </p>
   9760 
   9761 
   9762 </DD>
   9763 
   9764 <DT><b><a name="propagate_unmatched_extensions">propagate_unmatched_extensions</a>
   9765 (default: canonical, virtual)</b></DT><DD>
   9766 
   9767 <p>
   9768 What address lookup tables copy an address extension from the lookup
   9769 key to the lookup result.
   9770 </p>
   9771 
   9772 <p>
   9773 For example, with a <a href="virtual.5.html">virtual(5)</a> mapping of "<i>joe (a] example.com =&gt;
   9774 joe.user (a] example.net</i>", the address "<i>joe+foo (a] example.com</i>"
   9775 would rewrite to "<i>joe.user+foo (a] example.net</i>".
   9776 </p>
   9777 
   9778 <p>
   9779 Specify zero or more of <b>canonical</b>, <b>virtual</b>, <b>alias</b>,
   9780 <b>forward</b>, <b>include</b> or <b>generic</b>. These cause
   9781 address extension
   9782 propagation 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,
   9783 with <a href="local.8.html">local(8)</a> .forward and :include: file lookups, and with <a href="smtp.8.html">smtp(8)</a>
   9784 generic maps, respectively.  </p>
   9785 
   9786 <p>
   9787 Note: enabling this feature for types other than <b>canonical</b>
   9788 and <b>virtual</b> is likely to cause problems when mail is forwarded
   9789 to other sites, especially with mail that is sent to a mailing list
   9790 exploder address.
   9791 </p>
   9792 
   9793 <p>
   9794 Examples:
   9795 </p>
   9796 
   9797 <pre>
   9798 <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual, alias,
   9799         forward, include
   9800 <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual
   9801 </pre>
   9802 
   9803 
   9804 </DD>
   9805 
   9806 <DT><b><a name="proxy_interfaces">proxy_interfaces</a>
   9807 (default: empty)</b></DT><DD>
   9808 
   9809 <p>
   9810 The remote network interface addresses that this mail system receives mail
   9811 on by way of a proxy or network address translation unit.
   9812 </p>
   9813 
   9814 <p>
   9815 This feature is available in Postfix 2.0 and later.
   9816 </p>
   9817 
   9818 <p> You must specify your "outside" proxy/NAT addresses when your
   9819 system is a backup MX host for other domains, otherwise mail delivery
   9820 loops will happen when the primary MX host is down.  </p>
   9821 
   9822 <p>
   9823 Example:
   9824 </p>
   9825 
   9826 <pre>
   9827 <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> = 1.2.3.4
   9828 </pre>
   9829 
   9830 
   9831 </DD>
   9832 
   9833 <DT><b><a name="proxy_read_maps">proxy_read_maps</a>
   9834 (default: see "postconf -d" output)</b></DT><DD>
   9835 
   9836 <p>
   9837 The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
   9838 access for the read-only service.
   9839 </p>
   9840 
   9841 <p>
   9842 Specify zero or more "type:name" lookup tables, separated by
   9843 whitespace or comma.
   9844 Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.
   9845 </p>
   9846 
   9847 <p>
   9848 This feature is available in Postfix 2.0 and later.
   9849 </p>
   9850 
   9851 
   9852 </DD>
   9853 
   9854 <DT><b><a name="proxy_write_maps">proxy_write_maps</a>
   9855 (default: see "postconf -d" output)</b></DT><DD>
   9856 
   9857 <p> The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
   9858 access for the read-write service. Postfix-owned local database
   9859 files should be stored under the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>.
   9860 Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.  </p>
   9861 
   9862 <p>
   9863 This feature is available in Postfix 2.5 and later.
   9864 </p>
   9865 
   9866 
   9867 </DD>
   9868 
   9869 <DT><b><a name="proxymap_service_name">proxymap_service_name</a>
   9870 (default: proxymap)</b></DT><DD>
   9871 
   9872 <p> The name of the proxymap read-only table lookup service.  This
   9873 service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon. </p>
   9874 
   9875 <p> This feature is available in Postfix 2.6 and later. </p>
   9876 
   9877 
   9878 </DD>
   9879 
   9880 <DT><b><a name="proxywrite_service_name">proxywrite_service_name</a>
   9881 (default: proxywrite)</b></DT><DD>
   9882 
   9883 <p> The name of the proxywrite read-write table lookup service.
   9884 This service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon.
   9885 </p>
   9886 
   9887 <p> This feature is available in Postfix 2.6 and later. </p>
   9888 
   9889 
   9890 </DD>
   9891 
   9892 <DT><b><a name="qmgr_clog_warn_time">qmgr_clog_warn_time</a>
   9893 (default: 300s)</b></DT><DD>
   9894 
   9895 <p>
   9896 The minimal delay between warnings that a specific destination is
   9897 clogging up the Postfix <a href="QSHAPE_README.html#active_queue">active queue</a>. Specify 0 to disable.
   9898 </p>
   9899 
   9900 <p> Specify a non-negative time value (an integral value plus an optional
   9901 one-letter suffix that specifies the time unit).  Time units: s
   9902 (seconds), m (minutes), h (hours), d (days), w (weeks).
   9903 The default time unit is s (seconds).  </p>
   9904 
   9905 <p>
   9906 This feature is enabled with the <a href="postconf.5.html#helpful_warnings">helpful_warnings</a> parameter.
   9907 </p>
   9908 
   9909 <p>
   9910 This feature is available in Postfix 2.0 and later.
   9911 </p>
   9912 
   9913 
   9914 </DD>
   9915 
   9916 <DT><b><a name="qmgr_daemon_timeout">qmgr_daemon_timeout</a>
   9917 (default: 1000s)</b></DT><DD>
   9918 
   9919 <p> How much time a Postfix queue manager process may take to handle
   9920 a request before it is terminated by a built-in watchdog timer.
   9921 </p>
   9922 
   9923 <p> Specify a non-zero time value (an integral value plus an optional
   9924 one-letter suffix that specifies the time unit).  Time units: s
   9925 (seconds), m (minutes), h (hours), d (days), w (weeks).
   9926 The default time unit is s (seconds).  </p>
   9927 
   9928 <p> This feature is available in Postfix 2.8 and later.  </p>
   9929 
   9930 
   9931 </DD>
   9932 
   9933 <DT><b><a name="qmgr_fudge_factor">qmgr_fudge_factor</a>
   9934 (default: 100)</b></DT><DD>
   9935 
   9936 <p>
   9937 Obsolete feature: the percentage of delivery resources that a busy
   9938 mail system will use up for delivery of a large mailing  list
   9939 message.
   9940 </p>
   9941 
   9942 <p>
   9943 This feature exists only in the <a href="qmgr.8.html">oqmgr(8)</a> old queue manager. The
   9944 current queue manager solves the problem in a better way.
   9945 </p>
   9946 
   9947 
   9948 </DD>
   9949 
   9950 <DT><b><a name="qmgr_ipc_timeout">qmgr_ipc_timeout</a>
   9951 (default: 60s)</b></DT><DD>
   9952 
   9953 <p> The time limit for the queue manager to send or receive information
   9954 over an internal communication channel.  The purpose is to break
   9955 out of deadlock situations. If the time limit is exceeded the
   9956 software either retries or aborts the operation. </p>
   9957 
   9958 <p> Specify a non-zero time value (an integral value plus an optional
   9959 one-letter suffix that specifies the time unit).  Time units: s
   9960 (seconds), m (minutes), h (hours), d (days), w (weeks).
   9961 The default time unit is s (seconds).  </p>
   9962 
   9963 <p> This feature is available in Postfix 2.8 and later.  </p>
   9964 
   9965 
   9966 </DD>
   9967 
   9968 <DT><b><a name="qmgr_message_active_limit">qmgr_message_active_limit</a>
   9969 (default: 20000)</b></DT><DD>
   9970 
   9971 <p>
   9972 The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>.
   9973 </p>
   9974 
   9975 
   9976 </DD>
   9977 
   9978 <DT><b><a name="qmgr_message_recipient_limit">qmgr_message_recipient_limit</a>
   9979 (default: 20000)</b></DT><DD>
   9980 
   9981 <p> The maximal number of recipients held in memory by the Postfix
   9982 queue manager, and the maximal size of the short-term,
   9983 in-memory "dead" destination status cache.  </p>
   9984 
   9985 
   9986 </DD>
   9987 
   9988 <DT><b><a name="qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>
   9989 (default: 10)</b></DT><DD>
   9990 
   9991 <p>
   9992 The minimal number of in-memory recipients for any message. This
   9993 takes priority over any other in-memory recipient limits (i.e.,
   9994 the global <a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> and the per transport
   9995 _recipient_limit) if necessary. The minimum value allowed for this
   9996 parameter is 1.
   9997 </p>
   9998 
   9999 
   10000 </DD>
   10001 
   10002 <DT><b><a name="qmqpd_authorized_clients">qmqpd_authorized_clients</a>
   10003 (default: empty)</b></DT><DD>
   10004 
   10005 <p>
   10006 What remote QMQP clients are allowed to connect to the Postfix QMQP
   10007 server port.
   10008 </p>
   10009 
   10010 <p>
   10011 By default, no client is allowed to use the service. This is
   10012 because the QMQP server will relay mail to any destination.
   10013 </p>
   10014 
   10015 <p>
   10016 Specify a list of client patterns. A list pattern specifies a host
   10017 name, a domain name, an internet address, or a network/mask pattern,
   10018 where the mask specifies the number of bits in the network part.
   10019 When a pattern specifies a file name, its contents are substituted
   10020 for the file name; when a pattern is a "<a href="DATABASE_README.html">type:table</a>" table specification,
   10021 table lookup is used instead. An IPv6 address must be enclosed in
   10022 <tt>[]</tt>. </p>
   10023 
   10024 <p>
   10025 Patterns are separated by whitespace and/or commas. In order to
   10026 reverse the result, precede a pattern with an
   10027 exclamation point (!). The form "!/file/name" is supported only
   10028 in Postfix version 2.4 and later.
   10029 </p>
   10030 
   10031 <p> Pattern matching of domain names is controlled by the presence
   10032 or absence of "<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>" in the
   10033 <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value.  </p>
   10034 
   10035 <p>
   10036 Example:
   10037 </p>
   10038 
   10039 <pre>
   10040 <a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a> = !192.168.0.1, 192.168.0.0/24
   10041 </pre>
   10042 
   10043 
   10044 </DD>
   10045 
   10046 <DT><b><a name="qmqpd_client_port_logging">qmqpd_client_port_logging</a>
   10047 (default: no)</b></DT><DD>
   10048 
   10049 <p> Enable logging of the remote QMQP client port in addition to
   10050 the hostname and IP address. The logging format is "host[address]:port".
   10051 </p>
   10052 
   10053 <p> This feature is available in Postfix 2.5 and later. </p>
   10054 
   10055 
   10056 </DD>
   10057 
   10058 <DT><b><a name="qmqpd_error_delay">qmqpd_error_delay</a>
   10059 (default: 1s)</b></DT><DD>
   10060 
   10061 <p>
   10062 How long the Postfix QMQP server will pause before sending a negative
   10063 reply to the remote QMQP client. The purpose is to slow down confused
   10064 or malicious clients.
   10065 </p>
   10066 
   10067 <p> Specify a non-negative time value (an integral value plus an optional
   10068 one-letter suffix that specifies the time unit).  Time units: s
   10069 (seconds), m (minutes), h (hours), d (days), w (weeks).
   10070 The default time unit is s (seconds).  </p>
   10071 
   10072 
   10073 </DD>
   10074 
   10075 <DT><b><a name="qmqpd_timeout">qmqpd_timeout</a>
   10076 (default: 300s)</b></DT><DD>
   10077 
   10078 <p>
   10079 The time limit for sending or receiving information over the network.
   10080 If a read or write operation blocks for more than $<a href="postconf.5.html#qmqpd_timeout">qmqpd_timeout</a>
   10081 seconds the Postfix QMQP server gives up and disconnects.
   10082 </p>
   10083 
   10084 <p> Specify a non-zero time value (an integral value plus an optional
   10085 one-letter suffix that specifies the time unit).  Time units: s
   10086 (seconds), m (minutes), h (hours), d (days), w (weeks).
   10087 The default time unit is s (seconds).  </p>
   10088 
   10089 
   10090 </DD>
   10091 
   10092 <DT><b><a name="queue_directory">queue_directory</a>
   10093 (default: see "postconf -d" output)</b></DT><DD>
   10094 
   10095 <p>
   10096 The location of the Postfix top-level queue directory. This is the
   10097 root directory of Postfix daemon processes that run chrooted.
   10098 </p>
   10099 
   10100 
   10101 </DD>
   10102 
   10103 <DT><b><a name="queue_file_attribute_count_limit">queue_file_attribute_count_limit</a>
   10104 (default: 100)</b></DT><DD>
   10105 
   10106 <p>
   10107 The maximal number of (name=value) attributes that may be stored
   10108 in a Postfix queue file. The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a>
   10109 server.
   10110 </p>
   10111 
   10112 <p>
   10113 This feature is available in Postfix 2.0 and later.
   10114 </p>
   10115 
   10116 
   10117 </DD>
   10118 
   10119 <DT><b><a name="queue_minfree">queue_minfree</a>
   10120 (default: 0)</b></DT><DD>
   10121 
   10122 <p>
   10123 The minimal amount of free space in bytes in the queue file system
   10124 that is needed to receive mail.  This is currently used by the
   10125 Postfix SMTP server to decide if it will accept any mail at all.
   10126 </p>
   10127 
   10128 <p>
   10129 By default, the Postfix SMTP server rejects MAIL FROM commands when
   10130 the amount of free space is less than 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>
   10131 (Postfix version 2.1 and later).
   10132 To specify a higher minimum free space limit, specify a <a href="postconf.5.html#queue_minfree">queue_minfree</a>
   10133 value that is at least 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>.
   10134 </p>
   10135 
   10136 <p>
   10137 With Postfix versions 2.0 and earlier, a <a href="postconf.5.html#queue_minfree">queue_minfree</a> value of
   10138 zero means there is no minimum required amount of free space.
   10139 </p>
   10140 
   10141 
   10142 </DD>
   10143 
   10144 <DT><b><a name="queue_run_delay">queue_run_delay</a>
   10145 (default: 300s)</b></DT><DD>
   10146 
   10147 <p>
   10148 The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue manager;
   10149 prior to Postfix 2.4 the default value was 1000s.
   10150 </p>
   10151 
   10152 <p> This parameter should be set less than or equal to
   10153 $<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>
   10154 
   10155 <p> Specify a non-zero time value (an integral value plus an optional
   10156 one-letter suffix that specifies the time unit).  Time units: s
   10157 (seconds), m (minutes), h (hours), d (days), w (weeks).
   10158 The default time unit is s (seconds).  </p>
   10159 
   10160 
   10161 </DD>
   10162 
   10163 <DT><b><a name="queue_service_name">queue_service_name</a>
   10164 (default: qmgr)</b></DT><DD>
   10165 
   10166 <p>
   10167 The name of the <a href="qmgr.8.html">qmgr(8)</a> service. This service manages the Postfix
   10168 queue and schedules delivery requests.
   10169 </p>
   10170 
   10171 <p>
   10172 This feature is available in Postfix 2.0 and later.
   10173 </p>
   10174 
   10175 
   10176 </DD>
   10177 
   10178 <DT><b><a name="rbl_reply_maps">rbl_reply_maps</a>
   10179 (default: empty)</b></DT><DD>
   10180 
   10181 <p>
   10182 Optional lookup tables with RBL or RHSBL response templates. The
   10183 table search key is the reject_rbl_* or reject_rhsbl_* argument,
   10184 including any optional "<i>=address-filter</i>".  With Postfix 3.10
   10185 and later, if the result is "not found" and the search key has the
   10186 form <i>domain=address-filter</i>, then <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> will also
   10187 search with the <i>domain</i>. </p>
   10188 
   10189 <p> By default, Postfix uses the
   10190 template as specified with the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> configuration
   10191 parameter. See there for a discussion of the response template
   10192 syntax.
   10193 </p>
   10194 
   10195 <p> Example: </p>
   10196 
   10197 <pre>
   10198 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   10199     <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/rbl_reply
   10200     <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> =
   10201         <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
   10202         <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> <i>secret</i>.zen.dq.spamhaus.net=127.0.0.[2..11],
   10203         ...
   10204 <br>
   10205 /etc/postfix/rbl_reply:
   10206     # See https://www.postfix.org/postconf.5.html#<a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a>
   10207     # for the definition of the $client_address and $rbl_class etc.
   10208     # variables.
   10209     <i>secret</i>.zen.dq.spamhaus.net=127.0.0.[2..11]
   10210         554 $rbl_class $rbl_what blocked using ZEN - see <a href="https://www.spamhaus.org/query/ip/$client_address">https://www.spamhaus.org/query/ip/$client_address</a> for details
   10211 </pre>
   10212 
   10213 <pre>
   10214     # Postfix &ge; 3.10: if a search key <i>domain=address-filter</i>
   10215     # is not found, then <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> will also search with the
   10216     # <i>domain</i>.
   10217     <i>secret</i>.zen.dq.spamhaus.net
   10218         554 $rbl_class $rbl_what blocked using ZEN - see <a href="https://www.spamhaus.org/query/ip/$client_address">https://www.spamhaus.org/query/ip/$client_address</a> for details
   10219 </pre>
   10220 
   10221 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   10222 
   10223 <p>
   10224 NOTE: This feature differs from <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> where
   10225 the table search key is only a domain name (no "<i>=address-filter</i>",
   10226 no "<i>*weight</i>" factor) and where the lookup result
   10227 should be only a domain name (no free text, no <i>$name</i> variables).
   10228 </p>
   10229 
   10230 <p> Execute the command "postmap /etc/postfix/rbl_reply" after you
   10231 change the rbl_reply file, to (re)build a default-type indexed file.
   10232 Execute "postmap <i>type</i>:/etc/postfix/rbl_reply" to specify an
   10233 explicit type. </p>
   10234 
   10235 <p> The default indexed file type is configured with the
   10236 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   10237 execute the command "postconf -m". </p>
   10238 
   10239 <p> Configuration changes will become visible after a minute or so.
   10240 Use "postfix reload" to eliminate the delay. </p>
   10241 
   10242 <p>
   10243 This feature is available in Postfix 2.0 and later.
   10244 The "=address-filter" feature is available in Postfix 2.8 and later.
   10245 </p>
   10246 
   10247 
   10248 </DD>
   10249 
   10250 <DT><b><a name="readme_directory">readme_directory</a>
   10251 (default: see "postconf -d" output)</b></DT><DD>
   10252 
   10253 <p>
   10254 The location of Postfix README files that describe how to build,
   10255 configure or operate a specific Postfix subsystem or feature.
   10256 </p>
   10257 
   10258 
   10259 </DD>
   10260 
   10261 <DT><b><a name="receive_override_options">receive_override_options</a>
   10262 (default: empty)</b></DT><DD>
   10263 
   10264 <p> Enable or disable recipient validation, built-in content
   10265 filtering, or address mapping. Typically, these are specified in
   10266 <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
   10267 <a href="pickup.8.html">pickup(8)</a> daemons. </p>
   10268 
   10269 <p> Specify zero or more of the following options.  The options
   10270 override <a href="postconf.5.html">main.cf</a> settings and are either implemented by <a href="smtpd.8.html">smtpd(8)</a>,
   10271 <a href="qmqpd.8.html">qmqpd(8)</a>, or <a href="pickup.8.html">pickup(8)</a> themselves, or they are forwarded to the
   10272 cleanup server.  </p>
   10273 
   10274 <dl>
   10275 
   10276 <dt><b><a name="no_unknown_recipient_checks">no_unknown_recipient_checks</a></b></dt>
   10277 
   10278 <dd>Do not try to reject unknown recipients (SMTP server only).
   10279 This is typically specified AFTER an external content filter.
   10280 </dd>
   10281 
   10282 <dt><b><a name="no_address_mappings">no_address_mappings</a></b></dt>
   10283 
   10284 <dd>Disable canonical address mapping, virtual alias map expansion,
   10285 address masquerading, and automatic BCC (blind carbon-copy)
   10286 recipients. This is typically specified BEFORE an external content
   10287 filter. </dd>
   10288 
   10289 <dt><b><a name="no_header_body_checks">no_header_body_checks</a></b></dt>
   10290 
   10291 <dd>Disable header/body_checks. This is typically specified AFTER
   10292 an external content filter. </dd>
   10293 
   10294 <dt><b><a name="no_milters">no_milters</a></b></dt>
   10295 
   10296 <dd>Disable Milter (mail filter) applications. This is typically
   10297 specified AFTER an external content filter. </dd>
   10298 
   10299 </dl>
   10300 
   10301 <p>
   10302 Note: when the "BEFORE content filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a>
   10303 setting is specified in the <a href="postconf.5.html">main.cf</a> file, specify the "AFTER content
   10304 filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a> setting in <a href="master.5.html">master.cf</a> (and vice
   10305 versa).
   10306 </p>
   10307 
   10308 <p>
   10309 Examples:
   10310 </p>
   10311 
   10312 <pre>
   10313 <a href="postconf.5.html#receive_override_options">receive_override_options</a> =
   10314     <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>
   10315 <a href="postconf.5.html#receive_override_options">receive_override_options</a> = <a href="postconf.5.html#no_address_mappings">no_address_mappings</a>
   10316 </pre>
   10317 
   10318 <p>
   10319 This feature is available in Postfix 2.1 and later.
   10320 </p>
   10321 
   10322 
   10323 </DD>
   10324 
   10325 <DT><b><a name="recipient_bcc_maps">recipient_bcc_maps</a>
   10326 (default: empty)</b></DT><DD>
   10327 
   10328 <p>
   10329 Optional BCC (blind carbon-copy) address lookup tables, indexed by
   10330 envelope recipient address.  The BCC address (multiple results are not
   10331 supported) is added when mail enters from outside of Postfix.
   10332 </p>
   10333 
   10334 <p>
   10335 Specify zero or more "type:name" lookup tables, separated by
   10336 whitespace or comma. Tables will be searched in the specified order
   10337 until a match is found.
   10338 </p>
   10339 
   10340 <p>
   10341 The table search order is as follows:
   10342 </p>
   10343 
   10344 <ul>
   10345 
   10346 <li> Look up the "user+extension (a] domain.tld" address including the
   10347 optional address extension.
   10348 
   10349 <li> Look up the "user (a] domain.tld" address without the optional
   10350 address extension.
   10351 
   10352 <li> Look up the "user+extension" address local part when the
   10353 recipient 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>
   10354 or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
   10355 
   10356 <li> Look up the "user" address local part when the recipient domain
   10357 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> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
   10358 
   10359 <li> Look up the "@domain.tld" part.
   10360 
   10361 </ul>
   10362 
   10363 <p>
   10364 Note: with Postfix 2.3 and later the BCC address is added as if it
   10365 was specified with NOTIFY=NONE. The sender will not be notified
   10366 when the BCC address is undeliverable, as long as all down-stream
   10367 software implements <a href="https://tools.ietf.org/html/rfc3461">RFC 3461</a>.
   10368 </p>
   10369 
   10370 <p>
   10371 Note: with Postfix 2.2 and earlier the sender will unconditionally
   10372 be notified when the BCC address is undeliverable.
   10373 </p>
   10374 
   10375 <p> Note: automatic BCC recipients are produced only for new mail.
   10376 To avoid mailer loops, automatic BCC recipients are not generated
   10377 after Postfix forwards mail internally, or after Postfix generates
   10378 mail itself. </p>
   10379 
   10380 <p> Note: automatic BCC recipients are subject to address
   10381 canonicalization (add missing domain), <a href="postconf.5.html#canonical_maps">canonical_maps</a>, <a href="postconf.5.html#masquerade_domains">masquerade_domains</a>,
   10382 and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
   10383 
   10384 <p>
   10385 Example:
   10386 </p>
   10387 
   10388 <pre>
   10389 <a href="postconf.5.html#recipient_bcc_maps">recipient_bcc_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/recipient_bcc
   10390 </pre>
   10391 
   10392 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   10393 
   10394 <p> Execute the command "postmap /etc/postfix/recipient_bcc" after
   10395 you change the recipient_bcc file, to (re)build a default-type indexed
   10396 file.  Execute "postmap <i>type</i>:/etc/postfix/recipient_bcc" to
   10397 specify an explicit type. </p>
   10398 
   10399 <p> The default indexed file type is configured with the
   10400 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   10401 execute the command "postconf -m". </p>
   10402 
   10403 <p> Configuration changes will become visible after a minute or so.
   10404 Use "postfix reload" to eliminate the delay. </p>
   10405 
   10406 <p>
   10407 This feature is available in Postfix 2.1 and later.
   10408 </p>
   10409 
   10410 
   10411 </DD>
   10412 
   10413 <DT><b><a name="recipient_canonical_classes">recipient_canonical_classes</a>
   10414 (default: envelope_recipient, header_recipient)</b></DT><DD>
   10415 
   10416 <p> What addresses are subject to <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address
   10417 mapping.  By default, <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address mapping is
   10418 applied to envelope recipient addresses, and to header recipient
   10419 addresses.  </p>
   10420 
   10421 <p> Specify one or more of: envelope_recipient, header_recipient
   10422 </p>
   10423 
   10424 <p> This feature is available in Postfix 2.2 and later. </p>
   10425 
   10426 
   10427 </DD>
   10428 
   10429 <DT><b><a name="recipient_canonical_maps">recipient_canonical_maps</a>
   10430 (default: empty)</b></DT><DD>
   10431 
   10432 <p>
   10433 Optional address mapping lookup tables for envelope and header
   10434 recipient addresses.
   10435 The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
   10436 </p>
   10437 
   10438 <p>
   10439 Note: $<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>.
   10440 </p>
   10441 
   10442 <p>
   10443 Example:
   10444 </p>
   10445 
   10446 <pre>
   10447 <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/recipient_canonical
   10448 </pre>
   10449 
   10450 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   10451 
   10452 <p> Execute the command "postmap /etc/postfix/recipient_canonical"
   10453 after you change the recipient_canonical file, to (re)build a
   10454 default-type indexed file.  Execute "postmap
   10455 <i>type</i>:/etc/postfix/recipient_canonical" to specify an explicit
   10456 type. </p>
   10457 
   10458 <p> The default indexed file type is configured with the
   10459 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   10460 execute the command "postconf -m". </p>
   10461 
   10462 <p> Configuration changes will become visible after a minute or so.
   10463 Use "postfix reload" to eliminate the delay. </p>
   10464 
   10465 
   10466 </DD>
   10467 
   10468 <DT><b><a name="recipient_delimiter">recipient_delimiter</a>
   10469 (default: empty)</b></DT><DD>
   10470 
   10471 <p> The set of characters that can separate an email address
   10472 localpart, user name, or a .forward file name from its extension.
   10473 For example, with "<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +", the software tries
   10474 user+foo (a] example.com before trying user (a] example.com, user+foo before
   10475 trying user, and .forward+foo before trying .forward. </p>
   10476 
   10477 <p> More formally, an email address localpart or user name is
   10478 separated from its extension by the first character that matches
   10479 the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set. The delimiter character and extension
   10480 may then be used to generate an extended .forward file name. This
   10481 implementation recognizes one delimiter character and one extension
   10482 per email address localpart or email address. With Postfix 2.10 and
   10483 earlier, the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> specifies a single character. </p>
   10484 
   10485 <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
   10486 effects of <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> on lookups in aliases, canonical,
   10487 virtual, and relocated maps, and see the <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a>
   10488 parameter for propagating an extension from one email address to
   10489 another.  </p>
   10490 
   10491 <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
   10492 <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
   10493 recipient delimiter that was found in the recipient email address
   10494 (Postfix 2.11 and later), or it is replaced with the <a href="postconf.5.html">main.cf</a>
   10495 <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> parameter value (Postfix 2.10 and earlier).
   10496 </p>
   10497 
   10498 <p> The <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is not applied to the mailer-daemon
   10499 address, the postmaster address, or the double-bounce address. With
   10500 the 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>
   10501 is also not applied to addresses with the special "owner-" prefix
   10502 or the special "-request" suffix. </p>
   10503 
   10504 <p>
   10505 Examples:
   10506 </p>
   10507 
   10508 <pre>
   10509 # Handle Postfix-style extensions.
   10510 <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +
   10511 </pre>
   10512 
   10513 <pre>
   10514 # Handle both Postfix and qmail extensions (Postfix 2.11 and later).
   10515 <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +-
   10516 </pre>
   10517 
   10518 <pre>
   10519 # Use .forward for mail without address extension, and for mail with
   10520 # an unrecognized address extension.
   10521 <a href="postconf.5.html#forward_path">forward_path</a> = $home/.forward${<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>}${extension},
   10522     $home/.forward
   10523 </pre>
   10524 
   10525 
   10526 </DD>
   10527 
   10528 <DT><b><a name="reject_code">reject_code</a>
   10529 (default: 554)</b></DT><DD>
   10530 
   10531 <p>
   10532 The numerical Postfix SMTP server response code when a remote SMTP
   10533 client request is rejected by the "reject" restriction.
   10534 </p>
   10535 
   10536 <p>
   10537 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   10538 </p>
   10539 
   10540 
   10541 </DD>
   10542 
   10543 <DT><b><a name="reject_tempfail_action">reject_tempfail_action</a>
   10544 (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>)</b></DT><DD>
   10545 
   10546 <p> The Postfix SMTP server's action when a reject-type restriction
   10547 fails due to a temporary error condition. Specify "defer" to defer
   10548 the remote SMTP client request immediately. With the default
   10549 "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
   10550 for opportunities to reject mail, and defers the client request
   10551 only if it would otherwise be accepted. </p>
   10552 
   10553 <p> For finer control, see: <a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>,
   10554 <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>,
   10555 and <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>.  </p>
   10556 
   10557 <p> This feature is available in Postfix 2.6 and later. </p>
   10558 
   10559 
   10560 </DD>
   10561 
   10562 <DT><b><a name="relay_clientcerts">relay_clientcerts</a>
   10563 (default: empty)</b></DT><DD>
   10564 
   10565 <p> List of tables with remote SMTP client-certificate fingerprints or
   10566 public key fingerprints (Postfix 2.9 and later) for which the Postfix
   10567 SMTP server will allow access with the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
   10568 feature.  The fingerprint digest algorithm is configurable via the
   10569 <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
   10570 Postfix version 2.5).  </p>
   10571 
   10572 <p> The default algorithm is <b>sha256</b> with Postfix &ge; 3.6
   10573 and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix
   10574 &le; 3.5, the default algorithm is <b>md5</b>.  The best-practice
   10575 algorithm is now <b>sha256</b>. Recent advances in hash function
   10576 cryptanalysis have led to md5 and sha1 being deprecated in favor of
   10577 sha256.  However, as long as there are no known "second pre-image"
   10578 attacks against the older algorithms, their use in this context, though
   10579 not recommended, is still likely safe.  </p>
   10580 
   10581 <p> Postfix lookup tables are in the form of (key, value) pairs.
   10582 Since we only need the key, the value can be chosen freely, e.g.
   10583 the name of the user or host:
   10584 D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home </p>
   10585 
   10586 <p> Example: </p>
   10587 
   10588 <pre>
   10589 <a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/relay_clientcerts
   10590 </pre>
   10591 
   10592 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   10593 
   10594 <p>For more fine-grained control, use <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> to select
   10595 an appropriate <a href="access.5.html">access(5)</a> policy for each client.
   10596 See <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a>.</p>
   10597 
   10598 <p> Execute the command "postmap /etc/postfix/relay_clientcerts"
   10599 after you change the <a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a> file, to (re)build a default-type
   10600 indexed file.  Execute "postmap <i>type</i>:/etc/postfix/relay_clientcerts"
   10601 to specify an explicit type. </p>
   10602 
   10603 <p> The default indexed file type is configured with the
   10604 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   10605 execute the command "postconf -m". </p>
   10606 
   10607 <p> Configuration changes will become visible after a minute or so.
   10608 Use "postfix reload" to eliminate the delay. </p>
   10609 
   10610 <p>This feature is available with Postfix version 2.2.</p>
   10611 
   10612 
   10613 </DD>
   10614 
   10615 <DT><b><a name="relay_destination_concurrency_limit">relay_destination_concurrency_limit</a>
   10616 (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
   10617 
   10618 <p> The maximal number of parallel deliveries to the same destination
   10619 via the relay message delivery transport. This limit is enforced
   10620 by the queue manager. The message delivery transport name is the
   10621 first field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
   10622 
   10623 <p> This feature is available in Postfix 2.0 and later. </p>
   10624 
   10625 
   10626 </DD>
   10627 
   10628 <DT><b><a name="relay_destination_recipient_limit">relay_destination_recipient_limit</a>
   10629 (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
   10630 
   10631 <p> The maximal number of recipients per message for the relay
   10632 message delivery transport. This limit is enforced by the queue
   10633 manager. The message delivery transport name is the first field in
   10634 the entry in the <a href="master.5.html">master.cf</a> file.  </p>
   10635 
   10636 <p> Setting this parameter to a value of 1 changes the meaning of
   10637 <a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> from concurrency per domain
   10638 into concurrency per recipient.  </p>
   10639 
   10640 <p> This feature is available in Postfix 2.0 and later. </p>
   10641 
   10642 
   10643 </DD>
   10644 
   10645 <DT><b><a name="relay_domains">relay_domains</a>
   10646 (default: Postfix &ge; 3.0: empty, Postfix &lt; 3.0: $<a href="postconf.5.html#mydestination">mydestination</a>)</b></DT><DD>
   10647 
   10648 <p> What destination domains (and subdomains thereof) this system
   10649 will relay mail to. For details about how
   10650 the <a href="postconf.5.html#relay_domains">relay_domains</a> value is used, see the description of the
   10651 <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
   10652 restrictions.  </p>
   10653 
   10654 <p> Domains that match $<a href="postconf.5.html#relay_domains">relay_domains</a> are delivered with the
   10655 $<a href="postconf.5.html#relay_transport">relay_transport</a> mail delivery transport. The SMTP server validates
   10656 recipient addresses with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> and rejects non-existent
   10657 recipients. See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the
   10658 <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.  </p>
   10659 
   10660 <p> Note: Postfix will not automatically forward mail for domains
   10661 that list this system as their primary or backup MX host. See the
   10662 <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>
   10663 
   10664 <p> Specify a list of host or domain names, "/file/name" patterns
   10665 or "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
   10666 Continue long lines by starting the next line with whitespace. A
   10667 "/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
   10668 lookup table is matched when a (parent) domain appears as lookup
   10669 key. Specify "!pattern" to exclude a domain from the list. The form
   10670 "!/file/name" is supported only in Postfix version 2.4 and later.
   10671 </p>
   10672 
   10673 <p> Pattern matching of domain names is controlled by the presence
   10674 or 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>
   10675 parameter value. </p>
   10676 
   10677 
   10678 </DD>
   10679 
   10680 <DT><b><a name="relay_domains_reject_code">relay_domains_reject_code</a>
   10681 (default: 554)</b></DT><DD>
   10682 
   10683 <p>
   10684 The numerical Postfix SMTP server response code when a client
   10685 request is rejected by the <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> recipient
   10686 restriction.
   10687 </p>
   10688 
   10689 <p>
   10690 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   10691 </p>
   10692 
   10693 
   10694 </DD>
   10695 
   10696 <DT><b><a name="relay_recipient_maps">relay_recipient_maps</a>
   10697 (default: empty)</b></DT><DD>
   10698 
   10699 <p> Optional lookup tables with all valid addresses in the domains
   10700 that match $<a href="postconf.5.html#relay_domains">relay_domains</a>. Specify @domain as a wild-card for
   10701 domains that have no valid recipient list, and become a source of
   10702 backscatter mail: Postfix accepts spam for non-existent recipients
   10703 and then floods innocent people with undeliverable mail.  Technically,
   10704 tables
   10705 listed with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> are used as lists: Postfix needs
   10706 to know only if a lookup string is found or not, but it does not
   10707 use the result from the table lookup.  </p>
   10708 
   10709 <p>
   10710 Specify zero or more "type:name" lookup tables, separated by
   10711 whitespace or comma. Tables will be searched in the specified order
   10712 until a match is found.
   10713 </p>
   10714 
   10715 <p>
   10716 If this parameter is non-empty, then the Postfix SMTP server will reject
   10717 mail to unknown relay users. This feature is off by default.
   10718 </p>
   10719 
   10720 <p>
   10721 See 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>
   10722 file.
   10723 </p>
   10724 
   10725 <p>
   10726 Example:
   10727 </p>
   10728 
   10729 <pre>
   10730 <a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/relay_recipients
   10731 </pre>
   10732 
   10733 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   10734 
   10735 <p> Execute the command "postmap /etc/postfix/relay_recipients"
   10736 after you change the relay_recipients file, to (re)build a default-type
   10737 indexed file.  Execute "postmap <i>type</i>:/etc/postfix/relay_recipients"
   10738 to specify an explicit type. </p>
   10739 
   10740 <p> The default indexed file type is configured with the
   10741 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   10742 execute the command "postconf -m". </p>
   10743 
   10744 <p> Configuration changes will become visible after a minute or so.
   10745 Use "postfix reload" to eliminate the delay. </p>
   10746 
   10747 <p>
   10748 This feature is available in Postfix 2.0 and later.
   10749 </p>
   10750 
   10751 
   10752 </DD>
   10753 
   10754 <DT><b><a name="relay_transport">relay_transport</a>
   10755 (default: relay)</b></DT><DD>
   10756 
   10757 <p>
   10758 The default mail delivery transport and next-hop destination for
   10759 the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domain</a> address class: recipient domains that match
   10760 $<a href="postconf.5.html#relay_domains">relay_domains</a>. </p>
   10761 
   10762 <p> For recipient domains in the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domain</a> address class: </p>
   10763 
   10764 <ul>
   10765 
   10766 <li> <p> In order of decreasing precedence, the message delivery
   10767 transport is taken from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2) $<a href="postconf.5.html#relay_transport">relay_transport</a>.
   10768 </p>
   10769 
   10770 <li> <p> In order of decreasing precedence, the nexthop destination
   10771 is taken from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2) $<a href="postconf.5.html#relay_transport">relay_transport</a>, 3)
   10772 $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a> or the recipient
   10773 domain.  </p>
   10774 
   10775 </ul>
   10776 
   10777 <p>
   10778 Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
   10779 is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
   10780 The <i>:nexthop</i> destination is optional; its syntax is documented
   10781 in the manual page of the corresponding delivery agent.
   10782 </p>
   10783 
   10784 <p>
   10785 See 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>
   10786 file.
   10787 </p>
   10788 
   10789 <p>
   10790 This feature is available in Postfix 2.0 and later.
   10791 </p>
   10792 
   10793 
   10794 </DD>
   10795 
   10796 <DT><b><a name="relayhost">relayhost</a>
   10797 (default: empty)</b></DT><DD>
   10798 
   10799 <p>
   10800 The next-hop destination(s) for non-local mail; takes precedence
   10801 over non-<a href="ADDRESS_CLASS_README.html#local_domain_class">local domains</a> in recipient addresses. This information
   10802 will not be used when the sender matches $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>.
   10803 </p>
   10804 
   10805 <p> In order of decreasing precedence: </p>
   10806 
   10807 <ul>
   10808 
   10809 <li> <p> For recipient domains in the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domain</a> address class
   10810 (domains matching $<a href="postconf.5.html#relay_domains">relay_domains</a>), the nexthop destination is taken
   10811 from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2) $<a href="postconf.5.html#relay_transport">relay_transport</a>, 3)
   10812 $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a> or the recipient
   10813 domain. <p>
   10814 
   10815 <li> <p> For recipient domains in the <a href="ADDRESS_CLASS_README.html#default_domain_class">default domain</a> address class
   10816 (domains that do not match $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
   10817 $<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>,
   10818 or $<a href="postconf.5.html#relay_domains">relay_domains</a>), the nexthop destination is taken from 1)
   10819 $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2) $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> or
   10820 $<a href="postconf.5.html#default_transport">default_transport</a>, 3) $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a>
   10821 or the recipient domain. </p>
   10822 
   10823 </ul>
   10824 
   10825 <p>
   10826 On an intranet, specify the organizational domain name. If your
   10827 internal DNS uses no MX records, specify the name of the intranet
   10828 gateway host instead.
   10829 </p>
   10830 
   10831 <p>
   10832 In the case of SMTP delivery, specify one or more destinations in
   10833 the form of a domain name, hostname, hostname:service, [hostname]:service,
   10834 [hostaddress] or [hostaddress]:service, separated by comma or whitespace.
   10835 The form [hostname] turns off MX or SRV lookups. Multiple destinations
   10836 are supported in Postfix 3.5 and later. Each destination is tried
   10837 in the specified order.
   10838 </p>
   10839 
   10840 <p> If an SMTP destination is a load balancer, and there are no
   10841 alternative destinations, specify the load balancer multiple times.
   10842 Without the duplicate info, the Postfix SMTP client would not
   10843 reconnect immediately to the same load balancer after a remote SMTP
   10844 server failure. </p>
   10845 
   10846 <p>
   10847 If you're connected via UUCP, see the <a href="UUCP_README.html">UUCP_README</a> file for useful
   10848 information.
   10849 </p>
   10850 
   10851 <p>
   10852 Examples:
   10853 </p>
   10854 
   10855 <pre>
   10856 <a href="postconf.5.html#relayhost">relayhost</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
   10857 <a href="postconf.5.html#relayhost">relayhost</a> = [gateway.example.com]
   10858 <a href="postconf.5.html#relayhost">relayhost</a> = mail1.example:587, mail2.example:587
   10859 <a href="postconf.5.html#relayhost">relayhost</a> = [an.ip.add.ress]
   10860 </pre>
   10861 
   10862 
   10863 </DD>
   10864 
   10865 <DT><b><a name="relocated_maps">relocated_maps</a>
   10866 (default: empty)</b></DT><DD>
   10867 
   10868 <p>
   10869 Optional lookup tables with new contact information for users or
   10870 domains that no longer exist.  The table format and lookups are
   10871 documented in <a href="relocated.5.html">relocated(5)</a>.
   10872 </p>
   10873 
   10874 <p>
   10875 Specify zero or more "type:name" lookup tables, separated by
   10876 whitespace or comma. Tables will be searched in the specified order
   10877 until a match is found.
   10878 </p>
   10879 
   10880 <p>
   10881 Examples:
   10882 </p>
   10883 
   10884 <pre>
   10885 <a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/relocated
   10886 </pre>
   10887 
   10888 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   10889 
   10890 <p> Execute the command "postmap /etc/postfix/relocated" after you
   10891 change the relocated file, to (re)build a default-type indexed file.
   10892 Execute "postmap <i>type</i>:/etc/postfix/relocated" to specify an
   10893 explicit type. </p>
   10894 
   10895 <p> The default indexed file type is configured with the
   10896 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   10897 execute the command "postconf -m". </p>
   10898 
   10899 <p> Configuration changes will become visible after a minute or so.
   10900 Use "postfix reload" to eliminate the delay. </p>
   10901 
   10902 
   10903 </DD>
   10904 
   10905 <DT><b><a name="relocated_prefix_enable">relocated_prefix_enable</a>
   10906 (default: yes)</b></DT><DD>
   10907 
   10908 <p> Prepend the prefix "<b>5.1.6 User has moved to </b>" to all
   10909 <a href="postconf.5.html#relocated_maps">relocated_maps</a> lookup results. With "<a href="postconf.5.html#relocated_prefix_enable">relocated_prefix_enable</a> =
   10910 no", all lookup results must contain a valid <a href="https://tools.ietf.org/html/rfc3463">RFC 3463</a> compliant
   10911 enhanced status code and text (format: "[45].number.number text...").
   10912 
   10913 <p>
   10914 Example:
   10915 </p>
   10916 
   10917 <pre>
   10918 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   10919     <a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/relocated
   10920     <a href="postconf.5.html#relocated_prefix_enable">relocated_prefix_enable</a> = no
   10921 <br>
   10922 /etc/postfix/relocated:
   10923     user (a] example.com 5.2.1 User account is disabled
   10924 </pre>
   10925 
   10926 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   10927 
   10928 <p> Execute the command "postmap /etc/postfix/relocated" after you
   10929 change the relocated file, to (re)build a default-type indexed file.
   10930 Execute "postmap <i>type</i>:/etc/postfix/relocated" to specify an
   10931 explicit type. </p>
   10932 
   10933 <p> The default indexed file type is configured with the
   10934 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   10935 execute the command "postconf -m". </p>
   10936 
   10937 <p> Configuration changes will become visible after a minute or so.
   10938 Use "postfix reload" to eliminate the delay. </p>
   10939 
   10940 <p> This feature is available in Postfix 3.11 and later. </p>
   10941 
   10942 
   10943 </DD>
   10944 
   10945 <DT><b><a name="remote_header_rewrite_domain">remote_header_rewrite_domain</a>
   10946 (default: empty)</b></DT><DD>
   10947 
   10948 <p> Rewrite or add message headers in mail from remote clients if
   10949 the <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter value is non-empty,
   10950 updating incomplete addresses with the domain specified in the
   10951 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter, and adding missing headers.
   10952 </p>
   10953 
   10954 <p> The
   10955 <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter controls what clients Postfix
   10956 considers local. </p>
   10957 
   10958 <p> Examples:  </p>
   10959 
   10960 <p> The safe setting: append "domain.invalid" to incomplete header
   10961 addresses from remote SMTP clients, so that those addresses cannot
   10962 be confused with local addresses. </p>
   10963 
   10964 <blockquote>
   10965 <pre>
   10966 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> = domain.invalid
   10967 </pre>
   10968 </blockquote>
   10969 
   10970 <p> The default, purist, setting: don't rewrite headers from remote
   10971 clients at all. </p>
   10972 
   10973 <blockquote>
   10974 <pre>
   10975 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> =
   10976 </pre>
   10977 </blockquote>
   10978 
   10979 
   10980 </DD>
   10981 
   10982 <DT><b><a name="require_home_directory">require_home_directory</a>
   10983 (default: no)</b></DT><DD>
   10984 
   10985 <p>
   10986 Require that a <a href="local.8.html">local(8)</a> recipient's home directory exists
   10987 before mail delivery is attempted. By default this test is disabled.
   10988 It can be useful for environments that import home directories to
   10989 the mail server (IMPORTING HOME DIRECTORIES IS NOT RECOMMENDED).
   10990 </p>
   10991 
   10992 
   10993 </DD>
   10994 
   10995 <DT><b><a name="requiretls_enable">requiretls_enable</a>
   10996 (default: yes)</b></DT><DD>
   10997 
   10998 <p> Enable support for the ESMTP verb "REQUIRETLS" in the "MAIL
   10999 FROM" command. As defined in <a href="https://tools.ietf.org/html/rfc8689">RFC 8689</a>, when a message specifies
   11000 REQUIRETLS: </p>
   11001 
   11002 <ul>
   11003 
   11004 <li> <p> deliveries with SMTP or LMTP must use a TLS connection, </p>
   11005 
   11006 <li> <p> to a securely looked up MX server (e.g., DNSSEC or MTA-STS),
   11007 </p>
   11008 
   11009 <li> <p> with a matched server certificate (Postfix SMTP or LMTP
   11010 client TLS security levels "secure", "verify", "fingerprint",
   11011 dane-only, or opportunistic "dane"), </p>
   11012 
   11013 <li> <p> and the server must announce "REQUIRETLS" support after
   11014 the STARTTLS handshake. </p>
   11015 
   11016 </ul>
   11017 
   11018 <p> When delivering a message that specifies REQUIRETLS, the Postfix
   11019 SMTP client will try one or more servers, limited by the
   11020 <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a> and <a href="postconf.5.html#smtp_mx_session_limit">smtp_mx_session_limit</a> parameters, until
   11021 it finds an MX server that satisfies the above requirements. If
   11022 such a server is not found, the Postfix SMTP or LMTP client returns
   11023 the message as undeliverable. </p>
   11024 
   11025 <p> Notes: </p>
   11026 
   11027 <ul>
   11028 
   11029 <li> <p> With the Postfix SMTP or LMTP clients, REQUIRETLS enforcement
   11030 is controlled with <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a> or <a href="postconf.5.html#lmtp_requiretls_policy">lmtp_requiretls_policy</a>. It
   11031 is initially not enforced for deliveries to local servers, including
   11032 LMTP message stores and local content filters. </p>
   11033 
   11034 <li> <p> The ESMTP REQUIRETLS option overrides the "TLS-Required:
   11035 no" message header. </p>
   11036 
   11037 </ul>
   11038 
   11039 <p> This feature is available in Postfix &ge; 3.11. </p>
   11040 
   11041 
   11042 </DD>
   11043 
   11044 <DT><b><a name="requiretls_esmtp_header">requiretls_esmtp_header</a>
   11045 (default: yes)</b></DT><DD>
   11046 
   11047 <p> Record the ESMTP REQUIRETLS request in a "Require-TLS-ESMTP:
   11048 yes" message header. This is needed to propagate the REQUIRETLS
   11049 request through an external content filter that is configured with
   11050 <a href="postconf.5.html#smtpd_proxy_filter">smtpd_proxy_filter</a>, with <a href="postconf.5.html#content_filter">content_filter</a>, or with a FILTER action in
   11051 an SMTPD <a href="access.5.html">access(5)</a> table, <a href="header_checks.5.html">header_checks(5)</a> or <a href="header_checks.5.html">body_checks(5)</a>. The
   11052 header is not needed with Milter-based content filters. </p>
   11053 
   11054 <p> This header will be visible to remote and local recipients.  It
   11055 can safely be disabled if a configuration does not use any of the
   11056 above content filters that need the header. </p>
   11057 
   11058 <p> This feature is available in Postfix 3.11 and later. </p>
   11059 
   11060 
   11061 </DD>
   11062 
   11063 <DT><b><a name="requiretls_redact_dsn">requiretls_redact_dsn</a>
   11064 (default: yes)</b></DT><DD>
   11065 
   11066 <p> When sending a delivery status notification for an original
   11067 message received with the REQUIRETLS option, do not send the original
   11068 message body (as if that message was received with "RET=HDRS") and
   11069 do not enforce REQUIRETLS (as if that message was received without
   11070 REQUIRETLS). For a detailed discussion see <a href="https://tools.ietf.org/html/rfc8689">RFC 8689</a> section 5. </p>
   11071 
   11072 <p> Note: the 'reverse' path for sending a delivery status notification
   11073 may differ from the 'forward' path for receiving the original message.
   11074 Not every hop in the reverse path may support REQUIRETLS, even
   11075 though every hop in the forward path supported it. The setting
   11076 "<a href="postconf.5.html#requiretls_redact_dsn">requiretls_redact_dsn</a> = no" may therefore result in the loss of a
   11077 delivery status notification. </p>
   11078 
   11079 
   11080 </DD>
   11081 
   11082 <DT><b><a name="reset_owner_alias">reset_owner_alias</a>
   11083 (default: no)</b></DT><DD>
   11084 
   11085 <p> Reset the <a href="local.8.html">local(8)</a> delivery agent's idea of the owner-alias
   11086 attribute, when delivering mail to a child alias that does not have
   11087 its own owner alias. </p>
   11088 
   11089 <p> This feature is available in Postfix 2.8 and later. With older
   11090 Postfix releases, the behavior is as if this parameter is set to
   11091 "yes". </p>
   11092 
   11093 <p> As documented in <a href="aliases.5.html">aliases(5)</a>, when an alias <i>name</i> has a
   11094 companion alias named owner-<i>name</i>, this will replace the
   11095 envelope sender address, so that delivery errors will be
   11096 reported to the owner alias instead of the sender. This configuration
   11097 is recommended for mailing lists. <p>
   11098 
   11099 <p> A less known property of the owner alias is that it also forces
   11100 the <a href="local.8.html">local(8)</a> delivery agent to write local and remote addresses
   11101 from alias expansion to a new queue file, instead of attempting to
   11102 deliver mail to local addresses as soon as they come out of alias
   11103 expansion.  </p>
   11104 
   11105 <p> Writing local addresses from alias expansion to a new queue
   11106 file allows for robust handling of temporary delivery errors: errors
   11107 with one local member have no effect on deliveries to other members
   11108 of the list.  On the other hand, delivery to local addresses as
   11109 soon as they come out of alias expansion is fragile: a temporary
   11110 error with one local address from alias expansion will cause the
   11111 entire alias to be expanded repeatedly until the error goes away,
   11112 or until the message expires in the queue.  In that case, a problem
   11113 with one list member results in multiple message deliveries to other
   11114 list members. </p>
   11115 
   11116 <p> The default behavior of Postfix 2.8 and later is to keep the
   11117 owner-alias attribute of the parent alias, when delivering mail to
   11118 a child alias that does not have its own owner alias. Then, local
   11119 addresses from that child alias will be written to a new queue file,
   11120 and a temporary error with one local address will not affect delivery
   11121 to other mailing list members. </p>
   11122 
   11123 <p> Unfortunately, older Postfix releases reset the owner-alias
   11124 attribute when delivering mail to a child alias that does not have
   11125 its own owner alias. To be precise, this resets only the decision
   11126 to create a new queue file, not the decision to override the envelope
   11127 sender address. The <a href="local.8.html">local(8)</a> delivery agent then attempts to
   11128 deliver local addresses as soon as they come out of child alias
   11129 expansion.  If delivery to any address from child alias expansion
   11130 fails with a temporary error condition, the entire mailing list may
   11131 be expanded repeatedly until the mail expires in the queue, resulting
   11132 in multiple deliveries of the same message to mailing list members.
   11133 </p>
   11134 
   11135 
   11136 </DD>
   11137 
   11138 <DT><b><a name="resolve_dequoted_address">resolve_dequoted_address</a>
   11139 (default: yes)</b></DT><DD>
   11140 
   11141 <p> Resolve a recipient address safely instead of correctly, by
   11142 looking inside quotes.  </p>
   11143 
   11144 <p> By default, the Postfix address resolver does not quote the
   11145 address localpart as per <a href="https://tools.ietf.org/html/rfc822">RFC 822</a>, so that additional @ or % or !
   11146 operators remain visible. This behavior is safe but it is also
   11147 technically incorrect.  </p>
   11148 
   11149 <p> If you specify "<a href="postconf.5.html#resolve_dequoted_address">resolve_dequoted_address</a> = no", then
   11150 the Postfix
   11151 resolver will not know about additional @ etc. operators in the
   11152 address localpart. This opens opportunities for obscure mail relay
   11153 attacks with user@domain@domain addresses when Postfix provides
   11154 backup MX service for Sendmail systems.  </p>
   11155 
   11156 
   11157 </DD>
   11158 
   11159 <DT><b><a name="resolve_null_domain">resolve_null_domain</a>
   11160 (default: no)</b></DT><DD>
   11161 
   11162 <p> Resolve an address that ends in the "@" null domain as if the
   11163 local hostname were specified, instead of rejecting the address as
   11164 invalid.  </p>
   11165 
   11166 <p> This feature is available in Postfix 2.1 and later.
   11167 Earlier versions always resolve the null domain as the local
   11168 hostname.  </p>
   11169 
   11170 <p> The Postfix SMTP server uses this feature to reject mail from
   11171 or to addresses that end in the "@" null domain, and from addresses
   11172 that rewrite into a form that ends in the "@" null domain.  </p>
   11173 
   11174 
   11175 </DD>
   11176 
   11177 <DT><b><a name="resolve_numeric_domain">resolve_numeric_domain</a>
   11178 (default: no)</b></DT><DD>
   11179 
   11180 <p> Resolve "user@ipaddress" as "user@[ipaddress]", instead of
   11181 rejecting the address as invalid.  </p>
   11182 
   11183 <p> This feature is available in Postfix 2.3 and later.
   11184 
   11185 
   11186 </DD>
   11187 
   11188 <DT><b><a name="respectful_logging">respectful_logging</a>
   11189 (default: see 'postconf -d' output)</b></DT><DD>
   11190 
   11191 <p> Avoid logging that implies white is better than black. Instead
   11192 use 'allowlist', 'denylist', and variations of those words. </p>
   11193 
   11194 <p> This feature is available in Postfix 3.6 and later. </p>
   11195 
   11196 
   11197 </DD>
   11198 
   11199 <DT><b><a name="rewrite_service_name">rewrite_service_name</a>
   11200 (default: rewrite)</b></DT><DD>
   11201 
   11202 <p>
   11203 The name of the address rewriting service. This service rewrites
   11204 addresses to standard form and resolves them to a (delivery method,
   11205 next-hop host, recipient) triple.
   11206 </p>
   11207 
   11208 <p>
   11209 This feature is available in Postfix 2.0 and later.
   11210 </p>
   11211 
   11212 
   11213 </DD>
   11214 
   11215 <DT><b><a name="sample_directory">sample_directory</a>
   11216 (default: /etc/postfix)</b></DT><DD>
   11217 
   11218 <p>
   11219 The name of the directory with example Postfix configuration files.
   11220 Starting with Postfix 2.1, these files have been replaced with the
   11221 <a href="postconf.5.html">postconf(5)</a> manual page.
   11222 </p>
   11223 
   11224 
   11225 </DD>
   11226 
   11227 <DT><b><a name="send_cyrus_sasl_authzid">send_cyrus_sasl_authzid</a>
   11228 (default: no)</b></DT><DD>
   11229 
   11230 <p> When authenticating to a remote SMTP or LMTP server with the
   11231 default setting "no", send no SASL authoriZation ID (authzid); send
   11232 only the SASL authentiCation ID (authcid) plus the authcid's password.
   11233 </p>
   11234 
   11235 <p> The non-default setting "yes" enables the behavior of older
   11236 Postfix versions.  These always send a SASL authzid that is equal
   11237 to the SASL authcid, but this causes interoperability problems
   11238 with some SMTP servers. </p>
   11239 
   11240 <p> This feature is available in Postfix 2.4.4 and later. </p>
   11241 
   11242 
   11243 </DD>
   11244 
   11245 <DT><b><a name="sender_based_routing">sender_based_routing</a>
   11246 (default: no)</b></DT><DD>
   11247 
   11248 <p>
   11249 This parameter should not be used. It was replaced by <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
   11250 in Postfix version 2.3.
   11251 </p>
   11252 
   11253 
   11254 </DD>
   11255 
   11256 <DT><b><a name="sender_bcc_maps">sender_bcc_maps</a>
   11257 (default: empty)</b></DT><DD>
   11258 
   11259 <p> Optional BCC (blind carbon-copy) address lookup tables, indexed
   11260 by envelope sender address.  The BCC address (multiple results are not
   11261 supported) is added when mail enters from outside of Postfix.  </p>
   11262 
   11263 <p>
   11264 Specify zero or more "type:name" lookup tables, separated by
   11265 whitespace or comma. Tables will be searched in the specified order
   11266 until a match is found.
   11267 </p>
   11268 
   11269 <p>
   11270 The table search order is as follows:
   11271 </p>
   11272 
   11273 <ul>
   11274 
   11275 <li> Look up the "user+extension (a] domain.tld" address including the
   11276 optional address extension.
   11277 
   11278 <li> Look up the "user (a] domain.tld" address without the optional
   11279 address extension.
   11280 
   11281 <li> Look up the "user+extension" address local part when the
   11282 sender 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>
   11283 or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
   11284 
   11285 <li> Look up the "user" address local part when the sender domain
   11286 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> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
   11287 
   11288 <li> Look up the "@domain.tld" part.
   11289 
   11290 </ul>
   11291 
   11292 <p>
   11293 Note: with Postfix 2.3 and later the BCC address is added as if it
   11294 was specified with NOTIFY=NONE. The sender will not be notified
   11295 when the BCC address is undeliverable, as long as all down-stream
   11296 software implements <a href="https://tools.ietf.org/html/rfc3461">RFC 3461</a>.
   11297 </p>
   11298 
   11299 <p>
   11300 Note: with Postfix 2.2 and earlier the sender will be notified
   11301 when the BCC address is undeliverable.
   11302 </p>
   11303 
   11304 <p> Note: automatic BCC recipients are produced only for new mail.
   11305 To avoid mailer loops, automatic BCC recipients are not generated
   11306 after Postfix forwards mail internally, or after Postfix generates
   11307 mail itself. </p>
   11308 
   11309 <p> Note: automatic BCC recipients are subject to address
   11310 canonicalization (add missing domain), <a href="postconf.5.html#canonical_maps">canonical_maps</a>, <a href="postconf.5.html#masquerade_domains">masquerade_domains</a>,
   11311 and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
   11312 
   11313 <p>
   11314 Example:
   11315 </p>
   11316 
   11317 <pre>
   11318 <a href="postconf.5.html#sender_bcc_maps">sender_bcc_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/sender_bcc
   11319 </pre>
   11320 
   11321 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   11322 
   11323 <p> Execute the command "postmap /etc/postfix/sender_bcc" after you
   11324 change the sender_bcc file, to (re)build a default-type indexed file.
   11325 Execute "postmap <i>type</i>:/etc/postfix/sender_bcc" to specify an
   11326 explicit type. </p>
   11327 
   11328 <p> The default indexed file type is configured with the
   11329 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   11330 execute the command "postconf -m". </p>
   11331 
   11332 <p> Configuration changes will become visible after a minute or so.
   11333 Use "postfix reload" to eliminate the delay. </p>
   11334 
   11335 <p>
   11336 This feature is available in Postfix 2.1 and later.
   11337 </p>
   11338 
   11339 
   11340 </DD>
   11341 
   11342 <DT><b><a name="sender_canonical_classes">sender_canonical_classes</a>
   11343 (default: envelope_sender, header_sender)</b></DT><DD>
   11344 
   11345 <p> What addresses are subject to <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address
   11346 mapping.  By default, <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address mapping is
   11347 applied to envelope sender addresses, and to header sender addresses.
   11348 </p>
   11349 
   11350 <p> Specify one or more of: envelope_sender, header_sender </p>
   11351 
   11352 <p> This feature is available in Postfix 2.2 and later. </p>
   11353 
   11354 
   11355 </DD>
   11356 
   11357 <DT><b><a name="sender_canonical_maps">sender_canonical_maps</a>
   11358 (default: empty)</b></DT><DD>
   11359 
   11360 <p>
   11361 Optional address mapping lookup tables for envelope and header
   11362 sender addresses.
   11363 The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
   11364 </p>
   11365 
   11366 <p>
   11367 Example: you want to rewrite the SENDER address "user (a] ugly.example"
   11368 to "user (a] pretty.example", while still being able to send mail to
   11369 the RECIPIENT address "user (a] ugly.example".
   11370 </p>
   11371 
   11372 <p>
   11373 Note: $<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>.
   11374 </p>
   11375 
   11376 <p>
   11377 Example:
   11378 </p>
   11379 
   11380 <pre>
   11381 <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/sender_canonical
   11382 </pre>
   11383 
   11384 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   11385 
   11386 <p> Execute the command "postmap /etc/postfix/sender_canonical"
   11387 after you change the sender_canonical file, to (re)build a default-type
   11388 indexed file.  Execute "postmap <i>type</i>:/etc/postfix/sender_canonical"
   11389 to specify an explicit type. </p>
   11390 
   11391 <p> The default indexed file type is configured with the
   11392 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   11393 execute the command "postconf -m". </p>
   11394 
   11395 <p> Configuration changes will become visible after a minute or so.
   11396 Use "postfix reload" to eliminate the delay. </p>
   11397 
   11398 
   11399 </DD>
   11400 
   11401 <DT><b><a name="sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>
   11402 (default: empty)</b></DT><DD>
   11403 
   11404 <p> A sender-dependent override for the global <a href="postconf.5.html#default_transport">default_transport</a>
   11405 parameter setting. The tables are searched by the envelope sender
   11406 address and @domain. A lookup result of DUNNO terminates the search
   11407 without overriding the global <a href="postconf.5.html#default_transport">default_transport</a> parameter setting.
   11408 This information is overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
   11409 
   11410 <p> This setting affects only the <a href="ADDRESS_CLASS_README.html#default_domain_class">default domain</a> address class
   11411 (recipient domains that do not match $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
   11412 $<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>,
   11413 or $<a href="postconf.5.html#relay_domains">relay_domains</a>): </p>
   11414 
   11415 <ul>
   11416 
   11417 <li> <p> In order of decreasing precedence, the delivery transport
   11418 is taken from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2)
   11419 $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> or $<a href="postconf.5.html#default_transport">default_transport</a>.
   11420 </p>
   11421 
   11422 <li> <p> In order of decreasing precedence, the nexthop destination
   11423 is taken from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2)
   11424 $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> or $<a href="postconf.5.html#default_transport">default_transport</a>, 3)
   11425 $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a> or the recipient
   11426 domain. </p>
   11427 
   11428 </ul>
   11429 
   11430 <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
   11431 therefore the expected syntax is that of <a href="postconf.5.html#default_transport">default_transport</a>, not the
   11432 syntax of <a href="postconf.5.html#transport_maps">transport_maps</a>.  Specifically, this does not support the
   11433 <a href="postconf.5.html#transport_maps">transport_maps</a> syntax for null transport, null nexthop, or null
   11434 email addresses. </p>
   11435 
   11436 <p>
   11437 Specify zero or more "type:name" lookup tables, separated by
   11438 whitespace or comma. Tables will be searched in the specified order
   11439 until a match is found.
   11440 </p>
   11441 
   11442 <p> For safety reasons, this feature does not allow $number
   11443 substitutions in regular expression maps. </p>
   11444 
   11445 <p> This feature is available in Postfix 2.7 and later.  </p>
   11446 
   11447 
   11448 </DD>
   11449 
   11450 <DT><b><a name="sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
   11451 (default: empty)</b></DT><DD>
   11452 
   11453 <p> A sender-dependent override for the global <a href="postconf.5.html#relayhost">relayhost</a> parameter
   11454 setting. The tables are searched by the envelope sender address and
   11455 @domain. A lookup result of DUNNO terminates the search without
   11456 overriding the global <a href="postconf.5.html#relayhost">relayhost</a> parameter setting (Postfix 2.6 and
   11457 later). </p>
   11458 
   11459 <p> In order of decreasing precedence: </p>
   11460 
   11461 <ul>
   11462 
   11463 <li> <p> For recipient domains in the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domain</a> address class
   11464 (domains matching $<a href="postconf.5.html#relay_domains">relay_domains</a>), the nexthop destination is taken
   11465 from 1) $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2) $<a href="postconf.5.html#relay_transport">relay_transport</a>, 3)
   11466 $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a> or the recipient
   11467 domain. </p>
   11468 
   11469 <li> <p> For recipient domains in the <a href="ADDRESS_CLASS_README.html#default_domain_class">default domain</a> address class
   11470 (domains that do not match <a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
   11471 $<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>,
   11472 $<a href="postconf.5.html#relay_domains">relay_domains</a>), the nexthop destination is taken from 1)
   11473 $<a href="postconf.5.html#transport_maps">transport_maps</a>, 2) $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> or
   11474 $<a href="postconf.5.html#default_transport">default_transport</a>, 3) $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> or $<a href="postconf.5.html#relayhost">relayhost</a>
   11475 or the recipient domain. </p>
   11476 
   11477 </ul>
   11478 
   11479 <p>
   11480 Specify zero or more "type:name" lookup tables, separated by
   11481 whitespace or comma. Tables will be searched in the specified order
   11482 until a match is found.
   11483 </p>
   11484 
   11485 <p> For safety reasons, this feature does not allow $number
   11486 substitutions in regular expression maps. </p>
   11487 
   11488 <p>
   11489 This feature is available in Postfix 2.3 and later.
   11490 </p>
   11491 
   11492 
   11493 </DD>
   11494 
   11495 <DT><b><a name="sendmail_fix_line_endings">sendmail_fix_line_endings</a>
   11496 (default: always)</b></DT><DD>
   11497 
   11498 <p> Controls how the Postfix sendmail command converts email message
   11499 line endings from &lt;CR&gt;&lt;LF&gt; into UNIX format (&lt;LF&gt;).
   11500 </p>
   11501 
   11502 <dl>
   11503 
   11504 <dt> <b>always</b> </dt> <dd> Always convert message lines ending
   11505 in &lt;CR&gt;&lt;LF&gt;. This setting is the default with Postfix
   11506 2.9 and later. </dd>
   11507 
   11508 <dt> <b>strict</b> </dt> <dd> Convert message lines ending in
   11509 &lt;CR&gt;&lt;LF&gt; only if the first input line ends in
   11510 &lt;CR&gt;&lt;LF&gt;. This setting is backwards-compatible with
   11511 Postfix 2.8 and earlier. </dd>
   11512 
   11513 <dt> <b>never</b> </dt> <dd> Never convert message lines ending in
   11514 &lt;CR&gt;&lt;LF&gt;. This setting exists for completeness only.
   11515 </dd>
   11516 
   11517 </dl>
   11518 
   11519 <p> This feature is available in Postfix 2.9 and later. </p>
   11520 
   11521 
   11522 </DD>
   11523 
   11524 <DT><b><a name="sendmail_path">sendmail_path</a>
   11525 (default: see "postconf -d" output)</b></DT><DD>
   11526 
   11527 <p>
   11528 A Sendmail compatibility feature that specifies the location of
   11529 the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. This command can be used to
   11530 submit mail into the Postfix queue.
   11531 </p>
   11532 
   11533 
   11534 </DD>
   11535 
   11536 <DT><b><a name="service_name">service_name</a>
   11537 (read-only)</b></DT><DD>
   11538 
   11539 <p> The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process. This
   11540 can be used to distinguish the logging from different services that
   11541 use the same program name. </p>
   11542 
   11543 <p> Example <a href="master.5.html">master.cf</a> entries: </p>
   11544 
   11545 <pre>
   11546 # Distinguish inbound MTA logging from submission and submissions logging.
   11547 smtp      inet  n       -       n       -       -       smtpd
   11548 submission inet n       -       n       -       -       smtpd
   11549     -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a>
   11550 submissions inet n      -       n       -       -       smtpd
   11551     -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a>
   11552 </pre>
   11553 
   11554 <pre>
   11555 # Distinguish outbound MTA logging from inbound relay logging.
   11556 smtp      unix  -       -       n       -       -       smtp
   11557 relay     unix  -       -       n       -       -       smtp
   11558     -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a>
   11559 </pre>
   11560 
   11561 <p> This feature is available in Postfix 3.3 and later. </p>
   11562 
   11563 
   11564 </DD>
   11565 
   11566 <DT><b><a name="service_throttle_time">service_throttle_time</a>
   11567 (default: 60s)</b></DT><DD>
   11568 
   11569 <p>
   11570 How long the Postfix <a href="master.8.html">master(8)</a> waits before forking a server that
   11571 appears to be malfunctioning.
   11572 </p>
   11573 
   11574 <p> Specify a non-zero time value (an integral value plus an optional
   11575 one-letter suffix that specifies the time unit).  Time units: s
   11576 (seconds), m (minutes), h (hours), d (days), w (weeks).
   11577 The default time unit is s (seconds).  </p>
   11578 
   11579 
   11580 </DD>
   11581 
   11582 <DT><b><a name="setgid_group">setgid_group</a>
   11583 (default: postdrop)</b></DT><DD>
   11584 
   11585 <p>
   11586 The group ownership of set-gid Postfix commands and of group-writable
   11587 Postfix directories. When this parameter value is changed you need
   11588 to re-run "<b>postfix set-permissions</b>" (with Postfix version 2.0 and
   11589 earlier: "<b>/etc/postfix/post-install set-permissions</b>".
   11590 </p>
   11591 
   11592 
   11593 </DD>
   11594 
   11595 <DT><b><a name="shlib_directory">shlib_directory</a>
   11596 (default: see 'postconf -d' output)</b></DT><DD>
   11597 
   11598 <p> The location of Postfix dynamically-linked libraries
   11599 (libpostfix-*.so), and the default location of Postfix database
   11600 plugins (postfix-*.so) that have a relative pathname in the
   11601 dynamicmaps.cf file.  The <a href="postconf.5.html#shlib_directory">shlib_directory</a> parameter defaults to
   11602 "no" when Postfix dynamically-linked libraries and database plugins
   11603 are disabled at compile time, otherwise it typically defaults to
   11604 /usr/lib/postfix or /usr/local/lib/postfix.  </p>
   11605 
   11606 <p> Notes: </p>
   11607 
   11608 <ul>
   11609 
   11610 <li> <p> The directory specified with <a href="postconf.5.html#shlib_directory">shlib_directory</a> should contain
   11611 only Postfix-related files. Postfix dynamically-linked libraries
   11612 and database plugins should not be installed in a "public" system
   11613 directory such as /usr/lib or /usr/local/lib. Linking Postfix
   11614 dynamically-linked library files or database plugins into non-Postfix
   11615 programs is not supported.  Postfix dynamically-linked libraries
   11616 and database plugins implement a Postfix-internal API that changes
   11617 without maintaining compatibility.  </p>
   11618 
   11619 <li> <p> You can change the <a href="postconf.5.html#shlib_directory">shlib_directory</a> value after Postfix is
   11620 built. However, you may have to run ldconfig or equivalent to prevent
   11621 Postfix programs from failing because the libpostfix-*.so files are
   11622 not found.  No ldconfig command is needed if you keep the libpostfix-*.so
   11623 files in the compiled-in default $<a href="postconf.5.html#shlib_directory">shlib_directory</a> location. </p>
   11624 
   11625 </ul>
   11626 
   11627 <p> This feature is available in Postfix 3.0 and later. </p>
   11628 
   11629 
   11630 </DD>
   11631 
   11632 <DT><b><a name="show_user_unknown_table_name">show_user_unknown_table_name</a>
   11633 (default: yes)</b></DT><DD>
   11634 
   11635 <p>
   11636 Display the name of the recipient table in the "User unknown"
   11637 responses.  The extra detail makes troubleshooting easier but also
   11638 reveals information that is nobody else's business.
   11639 </p>
   11640 
   11641 <p>
   11642 This feature is available in Postfix 2.0 and later.
   11643 </p>
   11644 
   11645 
   11646 </DD>
   11647 
   11648 <DT><b><a name="showq_service_name">showq_service_name</a>
   11649 (default: showq)</b></DT><DD>
   11650 
   11651 <p>
   11652 The name of the <a href="showq.8.html">showq(8)</a> service. This service produces mail queue
   11653 status reports.
   11654 </p>
   11655 
   11656 <p>
   11657 This feature is available in Postfix 2.0 and later.
   11658 </p>
   11659 
   11660 
   11661 </DD>
   11662 
   11663 <DT><b><a name="smtp_address_preference">smtp_address_preference</a>
   11664 (default: any)</b></DT><DD>
   11665 
   11666 <p> The address type ("ipv6", "ipv4" or "any") that the Postfix
   11667 SMTP client will try first, when a destination has IPv6 and IPv4
   11668 addresses with equal MX preference. This feature has no effect
   11669 unless the <a href="postconf.5.html#inet_protocols">inet_protocols</a> setting enables both IPv4 and IPv6. </p>
   11670 
   11671 <p> Postfix SMTP client address preference has evolved. With Postfix
   11672 2.8 the default is "ipv6"; earlier implementations are hard-coded
   11673 to prefer IPv6 over IPv4. </p>
   11674 
   11675 <p> Notes for mail delivery between sites that have both IPv4 and
   11676 IPv6 connectivity: </p>
   11677 
   11678 <ul>
   11679 
   11680 <li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = ipv6" is unsafe.
   11681 All deliveries will suffer delays during an IPv6 outage, even
   11682 while the destination is still reachable over IPv4. Mail may be
   11683 stuck in the queue with Postfix versions &lt; 3.3 that do not
   11684 implement "<a href="postconf.5.html#smtp_balance_inet_protocols">smtp_balance_inet_protocols</a>". For similar reasons, the
   11685 setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = ipv4" is also unsafe. </p>
   11686 
   11687 <li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = any" is safe. With
   11688 this, and "<a href="postconf.5.html#smtp_balance_inet_protocols">smtp_balance_inet_protocols</a> = yes" (the default), only
   11689 half of deliveries will suffer delays if there is an outage
   11690 that affects IPv6 or IPv4, as long as it does not affect both. </p>
   11691 
   11692 <li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = ipv4" is not a
   11693 solution for remote servers that flag email received over IPv6 as
   11694 more 'spammy' (the client IPv6 address has a bad or missing PTR or
   11695 AAAA record, bad network neighbors, etc.). Instead, configure Postfix
   11696 to receive mail over both IPv4 and IPv6, and to deliver mail over
   11697 only IPv4. </p>
   11698 
   11699 <blockquote>
   11700 <pre>
   11701 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   11702     <a href="postconf.5.html#inet_protocols">inet_protocols</a> = all
   11703 </pre>
   11704 </blockquote>
   11705 
   11706 <blockquote>
   11707 <pre>
   11708 /etc/postfix/<a href="master.5.html">master.cf</a>
   11709     smtp ...other fields... smtp -o <a href="postconf.5.html#inet_protocols">inet_protocols</a>=ipv4
   11710 </pre>
   11711 </blockquote>
   11712 
   11713 </ul>
   11714 
   11715 <p> This feature is available in Postfix 2.8 and later.  </p>
   11716 
   11717 
   11718 </DD>
   11719 
   11720 <DT><b><a name="smtp_address_verify_target">smtp_address_verify_target</a>
   11721 (default: rcpt)</b></DT><DD>
   11722 
   11723 <p> In the context of email address verification, the SMTP protocol
   11724 stage that determines whether an email address is deliverable.
   11725 Specify one of "rcpt" or "data".  The latter is needed with remote
   11726 SMTP servers that reject recipients after the DATA command. Use
   11727 <a href="postconf.5.html#transport_maps">transport_maps</a> to apply this feature selectively:  </p>
   11728 
   11729 <blockquote>
   11730 <pre>
   11731 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   11732     <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/transport
   11733 </pre>
   11734 </blockquote>
   11735 
   11736 <blockquote>
   11737 <pre>
   11738 /etc/postfix/transport:
   11739     smtp-domain-that-verifies-after-data    smtp-data-target:
   11740     lmtp-domain-that-verifies-after-data    lmtp-data-target:
   11741 </pre>
   11742 </blockquote>
   11743 
   11744 <blockquote>
   11745 <pre>
   11746 /etc/postfix/<a href="master.5.html">master.cf</a>:
   11747     smtp-data-target    unix    -    -    n    -    -    smtp
   11748         -o <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a>=data
   11749     lmtp-data-target    unix    -    -    n    -    -    lmtp
   11750         -o <a href="postconf.5.html#lmtp_address_verify_target">lmtp_address_verify_target</a>=data
   11751 </pre>
   11752 </blockquote>
   11753 
   11754 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   11755 
   11756 <p> Unselective use of the "data" target does no harm, but will
   11757 result in unnecessary "lost connection after DATA" events at remote
   11758 SMTP/LMTP servers. </p>
   11759 
   11760 <p> Execute the command "postmap /etc/postfix/transport" after you
   11761 change the transport file, to (re)build a default-type indexed file.
   11762 Execute "postmap <i>type</i>:/etc/postfix/transport" to specify an
   11763 explicit type. </p>
   11764 
   11765 <p> The default indexed file type is configured with the
   11766 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   11767 execute the command "postconf -m". </p>
   11768 
   11769 <p> Configuration changes will become visible after a minute or so.
   11770 Use "postfix reload" to eliminate the delay. </p>
   11771 
   11772 <p> This feature is available in Postfix 3.0 and later.  </p>
   11773 
   11774 
   11775 </DD>
   11776 
   11777 <DT><b><a name="smtp_always_send_ehlo">smtp_always_send_ehlo</a>
   11778 (default: yes)</b></DT><DD>
   11779 
   11780 <p>
   11781 Always send EHLO at the start of an SMTP session.
   11782 </p>
   11783 
   11784 <p>
   11785 With "<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> = no", the Postfix SMTP client sends
   11786 EHLO only when
   11787 the word "ESMTP" appears in the server greeting banner (example:
   11788 220 spike.porcupine.org ESMTP Postfix).
   11789 </p>
   11790 
   11791 
   11792 </DD>
   11793 
   11794 <DT><b><a name="smtp_balance_inet_protocols">smtp_balance_inet_protocols</a>
   11795 (default: yes)</b></DT><DD>
   11796 
   11797 <p> When a remote destination resolves to a combination of IPv4 and
   11798 IPv6 addresses, ensure that the Postfix SMTP client can try both
   11799 address types before it runs into the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a>. </p>
   11800 
   11801 <p> This avoids an interoperability problem when a destination resolves
   11802 to primarily IPv6 addresses, the smtp_address_limit feature eliminates
   11803 most or all IPv4 addresses, and the destination is not reachable over
   11804 IPv6. </p>
   11805 
   11806 <p> This feature is available in Postfix 3.3 and later. </p>
   11807 
   11808 
   11809 </DD>
   11810 
   11811 <DT><b><a name="smtp_bind_address">smtp_bind_address</a>
   11812 (default: empty)</b></DT><DD>
   11813 
   11814 <p>
   11815 An optional numerical network address that the Postfix SMTP client
   11816 should bind to when making an IPv4 connection.
   11817 </p>
   11818 
   11819 <p>
   11820 This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
   11821 it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
   11822 for example:
   11823 </p>
   11824 
   11825 <blockquote>
   11826 <pre>
   11827 /etc/postfix/<a href="master.5.html">master.cf</a>:
   11828     smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>=11.22.33.44
   11829 </pre>
   11830 </blockquote>
   11831 
   11832 <p> See <a href="postconf.5.html#smtp_bind_address_enforce">smtp_bind_address_enforce</a> for how Postfix should handle
   11833 errors (Postfix 3.7 and later). </p>
   11834 
   11835 <p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv4
   11836 address, and that address is a non-loopback address, it is
   11837 automatically used as the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>.  This supports virtual
   11838 IP hosting, but can be a problem on multi-homed firewalls. See the
   11839 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
   11840 
   11841 <p> Note 2: address information may be enclosed inside <tt>[]</tt>,
   11842 but this form is not required here. </p>
   11843 
   11844 
   11845 </DD>
   11846 
   11847 <DT><b><a name="smtp_bind_address6">smtp_bind_address6</a>
   11848 (default: empty)</b></DT><DD>
   11849 
   11850 <p>
   11851 An optional numerical network address that the Postfix SMTP client
   11852 should bind to when making an IPv6 connection.
   11853 </p>
   11854 
   11855 <p> This feature is available in Postfix 2.2 and later. </p>
   11856 
   11857 <p>
   11858 This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
   11859 it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
   11860 for example:
   11861 </p>
   11862 
   11863 <blockquote>
   11864 <pre>
   11865 /etc/postfix/<a href="master.5.html">master.cf</a>:
   11866     smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>=1:2:3:4:5:6:7:8
   11867 </pre>
   11868 </blockquote>
   11869 
   11870 <p> See <a href="postconf.5.html#smtp_bind_address_enforce">smtp_bind_address_enforce</a> for how Postfix should handle
   11871 errors (Postfix 3.7 and later). </p>
   11872 
   11873 <p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv6
   11874 address, and that address is a non-loopback address, it is
   11875 automatically used as the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>.  This supports virtual
   11876 IP hosting, but can be a problem on multi-homed firewalls. See the
   11877 <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
   11878 
   11879 <p> Note 2: address information may be enclosed inside <tt>[]</tt>,
   11880 but this form is not recommended here. </p>
   11881 
   11882 
   11883 </DD>
   11884 
   11885 <DT><b><a name="smtp_bind_address_enforce">smtp_bind_address_enforce</a>
   11886 (default: no)</b></DT><DD>
   11887 
   11888 <p> Defer delivery when the Postfix SMTP client cannot apply the
   11889 <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> or <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> setting. By default, the
   11890 Postfix SMTP client will continue delivery after logging a warning.
   11891 </p>
   11892 
   11893 <p> This feature is available in Postfix 3.7 and later. </p>
   11894 
   11895 
   11896 </DD>
   11897 
   11898 <DT><b><a name="smtp_body_checks">smtp_body_checks</a>
   11899 (default: empty)</b></DT><DD>
   11900 
   11901 <p> Restricted <a href="header_checks.5.html">body_checks(5)</a> tables for the Postfix SMTP client.
   11902 These tables are searched while mail is being delivered.  Actions
   11903 that change the delivery time or destination are not available.
   11904 </p>
   11905 
   11906 <p> This feature is available in Postfix 2.5 and later. </p>
   11907 
   11908 
   11909 </DD>
   11910 
   11911 <DT><b><a name="smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
   11912 (default: version dependent)</b></DT><DD>
   11913 
   11914 <p> When the remote SMTP servername is a DNS CNAME, replace the
   11915 servername with the result from CNAME expansion for the purpose of
   11916 logging, SASL password lookup, TLS
   11917 policy decisions, or TLS certificate verification. The value "no"
   11918 hardens Postfix <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> hostname-based policies against
   11919 false hostname information in DNS CNAME records, and makes SASL
   11920 password file lookups more predictable. This is the default setting
   11921 as of Postfix 2.3. </p>
   11922 
   11923 <p> This feature is available in Postfix 2.2.9 and later, deprecated
   11924 as of Postfix 3.11. </p>
   11925 
   11926 
   11927 </DD>
   11928 
   11929 <DT><b><a name="smtp_connect_timeout">smtp_connect_timeout</a>
   11930 (default: 30s)</b></DT><DD>
   11931 
   11932 <p>
   11933 The Postfix SMTP client time limit for completing a TCP connection, or
   11934 zero (use the operating system built-in time limit).
   11935 </p>
   11936 
   11937 <p>
   11938 When no connection can be made within the deadline, the Postfix
   11939 SMTP client
   11940 tries the next address on the mail exchanger list. Specify 0 to
   11941 disable the time limit (i.e. use whatever timeout is implemented by
   11942 the operating system).
   11943 </p>
   11944 
   11945 <p> Specify a non-negative time value (an integral value plus an optional
   11946 one-letter suffix that specifies the time unit).  Time units: s
   11947 (seconds), m (minutes), h (hours), d (days), w (weeks).
   11948 The default time unit is s (seconds).  </p>
   11949 
   11950 
   11951 </DD>
   11952 
   11953 <DT><b><a name="smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
   11954 (default: empty)</b></DT><DD>
   11955 
   11956 <p> Permanently enable SMTP connection caching for the specified
   11957 destinations.  With SMTP connection caching, a connection is not
   11958 closed immediately after completion of a mail transaction.  Instead,
   11959 the connection is kept open for up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
   11960 seconds.  This allows connections to be reused for other deliveries,
   11961 and can improve mail delivery performance. </p>
   11962 
   11963 <p> Specify a comma or white space separated list of destinations
   11964 or pseudo-destinations: </p>
   11965 
   11966 <ul>
   11967 
   11968 <li> if mail is sent without a <a href="postconf.5.html#relayhost">relay host</a>: a domain name (the
   11969 right-hand side of an email address, without the [] around a numeric
   11970 IP address),
   11971 
   11972 <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
   11973 [] or non-default TCP port), as specified in <a href="postconf.5.html">main.cf</a> or in the
   11974 transport map,
   11975 
   11976 <li> if mail is sent via a UNIX-domain socket: a pathname (without
   11977 the unix: prefix),
   11978 
   11979 <li> a /file/name with domain names and/or <a href="postconf.5.html#relayhost">relay host</a> names as
   11980 defined above,
   11981 
   11982 <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
   11983 the left-hand side.  The right-hand side result from "<a href="DATABASE_README.html">type:table</a>"
   11984 lookups is ignored.
   11985 
   11986 </ul>
   11987 
   11988 <p> This feature is available in Postfix 2.2 and later. </p>
   11989 
   11990 
   11991 </DD>
   11992 
   11993 <DT><b><a name="smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
   11994 (default: yes)</b></DT><DD>
   11995 
   11996 <p> Temporarily enable SMTP connection caching while a destination
   11997 has a high volume of mail in the <a href="QSHAPE_README.html#active_queue">active queue</a>.  With SMTP connection
   11998 caching, a connection is not closed immediately after completion
   11999 of a mail transaction.  Instead, the connection is kept open for
   12000 up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> seconds.  This allows
   12001 connections to be reused for other deliveries, and can improve mail
   12002 delivery performance. </p>
   12003 
   12004 <p> This feature is available in Postfix 2.2 and later. </p>
   12005 
   12006 
   12007 </DD>
   12008 
   12009 <DT><b><a name="smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
   12010 (default: 2s)</b></DT><DD>
   12011 
   12012 <p> When SMTP connection caching is enabled, the amount of time that
   12013 an unused SMTP client socket is kept open before it is closed.  Do
   12014 not specify larger values without permission from the remote sites.
   12015 </p>
   12016 
   12017 <p> This feature is available in Postfix 2.2 and later. </p>
   12018 
   12019 
   12020 </DD>
   12021 
   12022 <DT><b><a name="smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a>
   12023 (default: 0)</b></DT><DD>
   12024 
   12025 <p> When SMTP connection caching is enabled, the number of times
   12026 that an SMTP session may be reused before it is closed, or zero (no
   12027 limit).  With a reuse count limit of N, a connection is used up to
   12028 N+1 times.  </p>
   12029 
   12030 <p> NOTE: This feature is unsafe. When a high-volume destination
   12031 has multiple inbound MTAs, then the slowest inbound MTA will attract
   12032 the most connections to that destination.  This limitation does not
   12033 exist with the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> feature. </p>
   12034 
   12035 <p> This feature is available in Postfix 2.11. </p>
   12036 
   12037 
   12038 </DD>
   12039 
   12040 <DT><b><a name="smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
   12041 (default: 300s)</b></DT><DD>
   12042 
   12043 <p> The amount of time during which Postfix will use an SMTP
   12044 connection repeatedly.  The timer starts when the connection is
   12045 initiated (i.e. it includes the connect, greeting and helo latency,
   12046 in addition to the latencies of subsequent mail delivery transactions).
   12047 </p>
   12048 
   12049 <p> This feature addresses a performance stability problem with
   12050 remote SMTP servers. This problem is not specific to Postfix: it
   12051 can happen when any MTA sends large amounts of SMTP email to a site
   12052 that has multiple MX hosts. </p>
   12053 
   12054 <p> The problem starts when one of a set of MX hosts becomes slower
   12055 than the rest.  Even though SMTP clients connect to fast and slow
   12056 MX hosts with equal probability, the slow MX host ends up with more
   12057 simultaneous inbound connections than the faster MX hosts, because
   12058 the slow MX host needs more time to serve each client request. </p>
   12059 
   12060 <p> The slow MX host becomes a connection attractor.  If one MX
   12061 host becomes N times slower than the rest, it dominates mail delivery
   12062 latency unless there are more than N fast MX hosts to counter the
   12063 effect. And if the number of MX hosts is smaller than N, the mail
   12064 delivery latency becomes effectively that of the slowest MX host
   12065 divided by the total number of MX hosts. </p>
   12066 
   12067 <p> The solution uses connection caching in a way that differs from
   12068 Postfix version 2.2.  By limiting the amount of time during which a connection
   12069 can be used repeatedly (instead of limiting the number of deliveries
   12070 over that connection), Postfix not only restores fairness in the
   12071 distribution of simultaneous connections across a set of MX hosts,
   12072 it also favors deliveries over connections that perform well, which
   12073 is exactly what we want.  </p>
   12074 
   12075 <p> The default reuse time limit, 300s, is comparable to the various
   12076 smtp transaction timeouts which are fair estimates of maximum excess
   12077 latency for a slow delivery.  Note that hosts may accept thousands
   12078 of messages over a single connection within the default connection
   12079 reuse time limit. This number is much larger than the default Postfix
   12080 version 2.2 limit of 10 messages per cached connection. It may prove necessary
   12081 to lower the limit to avoid interoperability issues with MTAs that
   12082 exhibit bugs when many messages are delivered via a single connection.
   12083 A lower reuse time limit risks losing the benefit of connection
   12084 reuse when the average connection and mail delivery latency exceeds
   12085 the reuse time limit.  </p>
   12086 
   12087 <p> This feature is available in Postfix 2.3 and later. </p>
   12088 
   12089 
   12090 </DD>
   12091 
   12092 <DT><b><a name="smtp_data_done_timeout">smtp_data_done_timeout</a>
   12093 (default: 600s)</b></DT><DD>
   12094 
   12095 <p>
   12096 The Postfix SMTP client time limit for sending the SMTP ".", and
   12097 for receiving the remote SMTP server response.
   12098 </p>
   12099 
   12100 <p>
   12101 When no response is received within the deadline, a warning is
   12102 logged that the mail may be delivered multiple times.
   12103 </p>
   12104 
   12105 <p> Specify a non-zero time value (an integral value plus an optional
   12106 one-letter suffix that specifies the time unit).  Time units: s
   12107 (seconds), m (minutes), h (hours), d (days), w (weeks).
   12108 The default time unit is s (seconds).  </p>
   12109 
   12110 
   12111 </DD>
   12112 
   12113 <DT><b><a name="smtp_data_init_timeout">smtp_data_init_timeout</a>
   12114 (default: 120s)</b></DT><DD>
   12115 
   12116 <p>
   12117 The Postfix SMTP client time limit for sending the SMTP DATA command,
   12118 and for receiving the remote SMTP server response.
   12119 </p>
   12120 
   12121 <p>
   12122 Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
   12123 The default time unit is s (seconds).
   12124 </p>
   12125 
   12126 
   12127 </DD>
   12128 
   12129 <DT><b><a name="smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
   12130 (default: 180s)</b></DT><DD>
   12131 
   12132 <p>
   12133 The Postfix SMTP client time limit for sending the SMTP message content.
   12134 When the connection makes no progress for more than $<a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
   12135 seconds the Postfix SMTP client terminates the transfer.
   12136 </p>
   12137 
   12138 <p>
   12139 Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
   12140 The default time unit is s (seconds).
   12141 </p>
   12142 
   12143 
   12144 </DD>
   12145 
   12146 <DT><b><a name="smtp_defer_if_no_mx_address_found">smtp_defer_if_no_mx_address_found</a>
   12147 (default: no)</b></DT><DD>
   12148 
   12149 <p>
   12150 Defer mail delivery when no MX record resolves to an IP address.
   12151 </p>
   12152 
   12153 <p>
   12154 The default (no) is to return the mail as undeliverable. With older
   12155 Postfix versions the default was to keep trying to deliver the mail
   12156 until someone fixed the MX record or until the mail was too old.
   12157 </p>
   12158 
   12159 <p>
   12160 Note: the Postfix SMTP client always ignores MX records with equal
   12161 or worse preference
   12162 than the local MTA itself.
   12163 </p>
   12164 
   12165 <p>
   12166 This feature is available in Postfix 2.1 and later.
   12167 </p>
   12168 
   12169 
   12170 </DD>
   12171 
   12172 <DT><b><a name="smtp_delivery_status_filter">smtp_delivery_status_filter</a>
   12173 (default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
   12174 
   12175 <p> Optional filter for the <a href="smtp.8.html">smtp(8)</a> delivery agent to change the
   12176 delivery status code or explanatory text of successful or unsuccessful
   12177 deliveries.  See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details.  </p>
   12178 
   12179 <p> NOTE: This feature modifies Postfix SMTP client error or non-error
   12180 messages that may or may not be derived from remote SMTP server
   12181 responses.  In contrast, the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> feature modifies
   12182 remote SMTP server responses only.  </p>
   12183 
   12184 
   12185 </DD>
   12186 
   12187 <DT><b><a name="smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>
   12188 (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
   12189 
   12190 <p> The maximal number of parallel deliveries to the same destination
   12191 via the smtp message delivery transport. This limit is enforced by
   12192 the queue manager. The message delivery transport name is the first
   12193 field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
   12194 
   12195 
   12196 </DD>
   12197 
   12198 <DT><b><a name="smtp_destination_recipient_limit">smtp_destination_recipient_limit</a>
   12199 (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
   12200 
   12201 <p> The maximal number of recipients per message for the smtp
   12202 message delivery transport. This limit is enforced by the queue
   12203 manager. The message delivery transport name is the first field in
   12204 the entry in the <a href="master.5.html">master.cf</a> file.  </p>
   12205 
   12206 <p> Setting this parameter to a value of 1 changes the meaning of
   12207 <a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> from concurrency per domain
   12208 into concurrency per recipient.  </p>
   12209 
   12210 
   12211 </DD>
   12212 
   12213 <DT><b><a name="smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>
   12214 (default: empty)</b></DT><DD>
   12215 
   12216 <p> Lookup tables, indexed by the remote SMTP server address, with
   12217 case insensitive lists of EHLO keywords (pipelining, starttls, auth,
   12218 etc.) that the Postfix SMTP client will ignore in the EHLO response from a
   12219 remote SMTP server. See <a href="postconf.5.html#smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a> for details. The
   12220 table is not indexed by hostname for consistency with
   12221 <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
   12222 
   12223 <p>
   12224 Specify zero or more "type:name" lookup tables, separated by
   12225 whitespace or comma. Tables will be searched in the specified order
   12226 until a match is found.
   12227 </p>
   12228 
   12229 <p> This feature is available in Postfix 2.2 and later. </p>
   12230 
   12231 
   12232 </DD>
   12233 
   12234 <DT><b><a name="smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a>
   12235 (default: empty)</b></DT><DD>
   12236 
   12237 <p> A case insensitive list of EHLO keywords (pipelining, starttls,
   12238 auth, etc.) that the Postfix SMTP client will ignore in the EHLO
   12239 response from a remote SMTP server. </p>
   12240 
   12241 <p> This feature is available in Postfix 2.2 and later. </p>
   12242 
   12243 <p> Notes: </p>
   12244 
   12245 <ul>
   12246 
   12247 <li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
   12248 this action from being logged. </p>
   12249 
   12250 <li> <p> Use the <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a> feature to
   12251 discard EHLO keywords selectively. </p>
   12252 
   12253 </ul>
   12254 
   12255 
   12256 </DD>
   12257 
   12258 <DT><b><a name="smtp_dns_reply_filter">smtp_dns_reply_filter</a>
   12259 (default: empty)</b></DT><DD>
   12260 
   12261 <p> Optional filter for Postfix SMTP client DNS lookup results.
   12262 Specify zero or more lookup tables.  The lookup tables are searched
   12263 in the given order for a match with the DNS lookup result, converted
   12264 to the following form: </p>
   12265 
   12266 <pre>
   12267     <i>name ttl class type preference value</i>
   12268 </pre>
   12269 
   12270 <p> The <i>class</i> field is always "IN", the <i>preference</i>
   12271 field exists only for MX records, the names of hosts, domains, etc.
   12272 end in ".", and those names are in ASCII form (xn--mumble form in
   12273 the case of UTF8 names).  </p>
   12274 
   12275 <p> When a match is found, the table lookup result specifies an
   12276 action.  By default, the table query and the action name are
   12277 case-insensitive.  Currently, only the <b>IGNORE</b> action is
   12278 implemented.  </p>
   12279 
   12280 <p> Notes: </p>
   12281 
   12282 <ul>
   12283 
   12284 <li> <p> Postfix DNS reply filters have no effect on implicit DNS
   12285 lookups through nsswitch.conf or equivalent mechanisms.  </p>
   12286 
   12287 <li> <p> The Postfix SMTP/LMTP client uses <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a>
   12288 and <a href="postconf.5.html#lmtp_dns_reply_filter">lmtp_dns_reply_filter</a> only to discover a remote SMTP or LMTP
   12289 service (record types MX, A, AAAA, and TLSA).  These lookups are
   12290 also made to implement the features <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> and
   12291 <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>.  </p>
   12292 
   12293 <li> <p> The Postfix SMTP/LMTP client defers mail delivery when
   12294 a filter removes all lookup results from a successful query.  </p>
   12295 
   12296 <li> <p> Postfix SMTP server uses <a href="postconf.5.html#smtpd_dns_reply_filter">smtpd_dns_reply_filter</a> only to
   12297 look up MX, A, AAAA, and TXT records to implement the features
   12298 <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>,
   12299 <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>, reject_rbl_*, and reject_rhsbl_*.
   12300 </p>
   12301 
   12302 <li> <p> The Postfix SMTP server logs a warning or defers mail
   12303 delivery when a filter removes all lookup results from a successful
   12304 query.  </p>
   12305 
   12306 </ul>
   12307 
   12308 <p> Example: ignore Google AAAA records in Postfix SMTP client DNS
   12309 lookups, because Google sometimes hard-rejects mail from IPv6 clients
   12310 with valid PTR etc. records. </p>
   12311 
   12312 <pre>
   12313 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   12314     <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
   12315 </pre>
   12316 
   12317 <pre>
   12318 /etc/postfix/smtp_dns_reply_filter:
   12319     # /domain ttl IN AAAA address/ action, all case-insensitive.
   12320     # Note: the domain name ends in ".".
   12321     /^\S+\.google\.com\.\s+\S+\s+\S+\s+AAAA\s+/ IGNORE
   12322 </pre>
   12323 
   12324 <p> This feature is available in Postfix 3.0 and later. </p>
   12325 
   12326 
   12327 </DD>
   12328 
   12329 <DT><b><a name="smtp_dns_resolver_options">smtp_dns_resolver_options</a>
   12330 (default: empty)</b></DT><DD>
   12331 
   12332 <p> DNS Resolver options for the Postfix SMTP client.  Specify zero
   12333 or more of the following options, separated by comma or whitespace.
   12334 Option names are case-sensitive. Some options refer to domain names
   12335 that are specified in the file /etc/resolv.conf or equivalent. </p>
   12336 
   12337 <dl>
   12338 
   12339 <dt><b>res_defnames</b></dt>
   12340 
   12341 <dd> Append the current domain name to single-component names (those
   12342 that do not contain a "." character). This can produce incorrect
   12343 results, and is the hard-coded behavior prior to Postfix 2.8. </dd>
   12344 
   12345 <dt><b>res_dnsrch</b></dt>
   12346 
   12347 <dd> Search for host names in the current domain and in parent
   12348 domains. This can produce incorrect results and is therefore not
   12349 recommended. </dd>
   12350 
   12351 </dl>
   12352 
   12353 <p> This feature is available in Postfix 2.8 and later.  </p>
   12354 
   12355 
   12356 </DD>
   12357 
   12358 <DT><b><a name="smtp_dns_support_level">smtp_dns_support_level</a>
   12359 (default: empty)</b></DT><DD>
   12360 
   12361 <p> Level of DNS support in the Postfix SMTP client.  With
   12362 "<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>" left at its empty default value, the legacy
   12363 "<a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a>" parameter controls whether DNS is enabled in
   12364 the Postfix SMTP client, otherwise the legacy parameter is ignored.
   12365 </p>
   12366 
   12367 <p> Specify one of the following: </p>
   12368 
   12369 <dl>
   12370 
   12371 <dt><b>disabled</b></dt>
   12372 
   12373 <dd>Disable DNS lookups.  No MX lookups are performed and hostname
   12374 to address lookups are unconditionally "native".  This setting is
   12375 not appropriate for hosts that deliver mail to the public Internet.
   12376 Some obsolete how-to documents recommend disabling DNS lookups in
   12377 some configurations with content_filters.  This is no longer required
   12378 and strongly discouraged.  </dd>
   12379 
   12380 <dt><b>enabled</b></dt>
   12381 
   12382 <dd>Enable DNS lookups.  Nexthop destination domains not enclosed
   12383 in "[]" will be subject to MX lookups.  If "dns" and "native" are
   12384 included in the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter value, DNS will be
   12385 queried first to resolve MX-host A records, followed by "native"
   12386 lookups if no answer is found in DNS.  </dd>
   12387 
   12388 <dt><b>dnssec</b></dt>
   12389 
   12390 <dd>Enable <a href="https://tools.ietf.org/html/rfc4033">DNSSEC</a>
   12391 lookups.  The "dnssec" setting differs from the "enabled" setting
   12392 above in the following ways: <ul> <li>Any MX lookups will set
   12393 RES_USE_DNSSEC and RES_USE_EDNS0 to request DNSSEC-validated
   12394 responses. If the MX response is DNSSEC-validated the corresponding
   12395 hostnames are considered validated.  <li> The address lookups of
   12396 validated hostnames are also validated, (provided of course
   12397 "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" includes "dns", see below).  <li>Temporary
   12398 failures in DNSSEC-enabled hostname-to-address resolution block any
   12399 "native" lookups.  Additional "native" lookups only happen when
   12400 DNSSEC lookups hard-fail (NODATA or NXDOMAIN).  </ul> </dd>
   12401 
   12402 </dl>
   12403 
   12404 <p> The Postfix SMTP client considers non-MX "[nexthop]" and
   12405 "[nexthop]:port" destinations equivalent to statically-validated
   12406 MX records of the form "nexthop.  IN MX 0 nexthop."  Therefore,
   12407 with "dnssec" support turned on, validated hostname-to-address
   12408 lookups apply to the nexthop domain of any "[nexthop]" or
   12409 "[nexthop]:port" destination.  This is also true for LMTP "inet:host"
   12410 and "inet:host:port" destinations, as LMTP hostnames are never
   12411 subject to MX lookups.  </p>
   12412 
   12413 <p>The "dnssec" setting is recommended only if you plan to use the
   12414 <a href="TLS_README.html#client_tls_dane">dane</a> or <a
   12415 href="TLS_README.html#client_tls_dane">dane-only</a> TLS security
   12416 level, otherwise enabling DNSSEC support in Postfix offers no
   12417 additional security.  Postfix DNSSEC support relies on an upstream
   12418 recursive nameserver that validates DNSSEC signatures.  Such a DNS
   12419 server will always filter out forged DNS responses, even when Postfix
   12420 itself is not configured to use DNSSEC. </p>
   12421 
   12422 <p> When using Postfix DANE support the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter
   12423 should include "dns", as <a
   12424 href="https://tools.ietf.org/html/rfc7672">DANE</a> is not applicable
   12425 to hosts resolved via "native" lookups.  </p>
   12426 
   12427 <p> As mentioned above, Postfix is not a validating <a
   12428 href="https://tools.ietf.org/html/rfc4035#section-4.9">stub
   12429 resolver</a>; it relies on the system's configured DNSSEC-validating
   12430 <a href="https://tools.ietf.org/html/rfc4035#section-3.2">recursive
   12431 nameserver</a> to perform all DNSSEC validation.  Since this
   12432 nameserver's DNSSEC-validated responses will be fully trusted, it
   12433 is strongly recommended that the MTA host have a local DNSSEC-validating
   12434 recursive caching nameserver listening on a loopback address, and
   12435 be configured to use only this nameserver for all lookups.  Otherwise,
   12436 Postfix may remain subject to man-in-the-middle attacks that forge
   12437 responses from the recursive nameserver</p>
   12438 
   12439 <p>DNSSEC support requires a version of Postfix compiled against a
   12440 reasonably-modern DNS resolver(3) library that implements the
   12441 RES_USE_DNSSEC and RES_USE_EDNS0 resolver options. </p>
   12442 
   12443 <p> This feature is available in Postfix 2.11 and later.  </p>
   12444 
   12445 
   12446 </DD>
   12447 
   12448 <DT><b><a name="smtp_enforce_tls">smtp_enforce_tls</a>
   12449 (default: no)</b></DT><DD>
   12450 
   12451 <p> Enforcement mode: require that remote SMTP servers use TLS
   12452 encryption, and never send mail in the clear.  This also requires
   12453 that the remote SMTP server hostname matches the information in
   12454 the remote server certificate, and that the remote SMTP server
   12455 certificate was issued by a CA that is trusted by the Postfix SMTP
   12456 client. If the certificate doesn't verify or the hostname doesn't
   12457 match, delivery is deferred and mail stays in the queue.  </p>
   12458 
   12459 <p> The server hostname is matched against all names provided as
   12460 dNSNames in the SubjectAlternativeName.  If no dNSNames are specified,
   12461 the CommonName is checked.  The behavior may be changed with the
   12462 <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> option.  </p>
   12463 
   12464 <p> This option is useful only if you are definitely sure that you
   12465 will only connect to servers that support <a href="https://tools.ietf.org/html/rfc2487">RFC 2487</a> _and_ that
   12466 provide valid server certificates.  Typical use is for clients that
   12467 send all their email to a dedicated mailhub.  </p>
   12468 
   12469 <p> This feature is available in Postfix 2.2 and later. With
   12470 Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
   12471 
   12472 
   12473 </DD>
   12474 
   12475 <DT><b><a name="smtp_fallback_relay">smtp_fallback_relay</a>
   12476 (default: $<a href="postconf.5.html#fallback_relay">fallback_relay</a>)</b></DT><DD>
   12477 
   12478 <p> Optional list of relay destinations that will be used when an
   12479 SMTP destination is not found, or when delivery fails due to a
   12480 non-permanent error. With Postfix 2.2 and earlier this parameter
   12481 is called <a href="postconf.5.html#fallback_relay">fallback_relay</a>. </p>
   12482 
   12483 <p> By default, <a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a> is empty, mail is returned to
   12484 the sender when a destination is not found, and delivery is deferred
   12485 after it fails due to a non-permanent error. </p>
   12486 
   12487 <p> With bulk email deliveries, it can be beneficial to run the
   12488 fallback relay MTA on the same host, so that it can reuse the sender
   12489 IP address.  This speeds up deliveries that are delayed by IP-based
   12490 reputation systems (greylist, etc.). </p>
   12491 
   12492 <p> The fallback relays must be SMTP destinations. Specify a domain,
   12493 host, host:port, [host]:port, [address] or [address]:port; the form
   12494 [host] turns off MX lookups.  If you specify multiple SMTP
   12495 destinations, Postfix will try them in the specified order.  </p>
   12496 
   12497 <p> To prevent mailer loops between MX hosts and fall-back hosts,
   12498 Postfix version 2.2 and later will not use the fallback relays for
   12499 destinations that it is MX host for (assuming DNS lookup is turned on).
   12500 </p>
   12501 
   12502 
   12503 </DD>
   12504 
   12505 <DT><b><a name="smtp_generic_maps">smtp_generic_maps</a>
   12506 (default: empty)</b></DT><DD>
   12507 
   12508 <p> Optional lookup tables that perform address rewriting in the
   12509 Postfix SMTP client, typically to transform a locally valid address into
   12510 a globally valid address when sending mail across the Internet.
   12511 This is needed when the local machine does not have its own Internet
   12512 domain name, but uses something like <i>localdomain.local</i>
   12513 instead.  </p>
   12514 
   12515 <p>
   12516 Specify zero or more "type:name" lookup tables, separated by
   12517 whitespace or comma. Tables will be searched in the specified order
   12518 until a match is found.
   12519 </p>
   12520 
   12521 <p> The table format and lookups are documented in <a href="generic.5.html">generic(5)</a>;
   12522 examples are shown in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> and
   12523 <a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> documents. </p>
   12524 
   12525 <p> This feature is available in Postfix 2.2 and later.  </p>
   12526 
   12527 
   12528 </DD>
   12529 
   12530 <DT><b><a name="smtp_header_checks">smtp_header_checks</a>
   12531 (default: empty)</b></DT><DD>
   12532 
   12533 <p> Restricted <a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP client.
   12534 These tables are searched while mail is being delivered.  Actions
   12535 that change the delivery time or destination are not available.
   12536 </p>
   12537 
   12538 <p> This feature is available in Postfix 2.5 and later. </p>
   12539 
   12540 
   12541 </DD>
   12542 
   12543 <DT><b><a name="smtp_helo_name">smtp_helo_name</a>
   12544 (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
   12545 
   12546 <p>
   12547 The hostname to send in the SMTP HELO or EHLO command.
   12548 </p>
   12549 
   12550 <p>
   12551 The default value is the machine hostname.  Specify a hostname or
   12552 [ip.add.re.ss].
   12553 </p>
   12554 
   12555 <p>
   12556 This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP
   12557 clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
   12558 client, for example:
   12559 </p>
   12560 
   12561 <blockquote>
   12562 <pre>
   12563 /etc/postfix/<a href="master.5.html">master.cf</a>:
   12564     mysmtp ... smtp -o <a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a>=foo.bar.com
   12565 </pre>
   12566 </blockquote>
   12567 
   12568 <p>
   12569 This feature is available in Postfix 2.0 and later.
   12570 </p>
   12571 
   12572 
   12573 </DD>
   12574 
   12575 <DT><b><a name="smtp_helo_timeout">smtp_helo_timeout</a>
   12576 (default: 300s)</b></DT><DD>
   12577 
   12578 <p>
   12579 The Postfix SMTP client time limit for sending the HELO or EHLO command,
   12580 and for receiving the initial remote SMTP server response.
   12581 </p>
   12582 
   12583 <p> Specify a non-zero time value (an integral value plus an optional
   12584 one-letter suffix that specifies the time unit).  Time units: s
   12585 (seconds), m (minutes), h (hours), d (days), w (weeks).
   12586 The default time unit is s (seconds).  </p>
   12587 
   12588 
   12589 </DD>
   12590 
   12591 <DT><b><a name="smtp_host_lookup">smtp_host_lookup</a>
   12592 (default: dns)</b></DT><DD>
   12593 
   12594 <p>
   12595 What mechanisms the Postfix SMTP client uses to look up a host's
   12596 IP address.  This parameter is ignored when DNS lookups are disabled
   12597 (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"
   12598 mechanism is always tried before "native" if both are listed.
   12599 </p>
   12600 
   12601 <p>
   12602 Specify one of the following:
   12603 </p>
   12604 
   12605 <dl>
   12606 
   12607 <dt><b>dns</b></dt>
   12608 
   12609 <dd>Hosts can be found in the DNS (preferred).  </dd>
   12610 
   12611 <dt><b>native</b></dt>
   12612 
   12613 <dd>Use the native naming service only (nsswitch.conf, or equivalent
   12614 mechanism).  </dd>
   12615 
   12616 <dt><b>dns, native</b></dt>
   12617 
   12618 <dd>Use the native service for hosts not found in the DNS.  </dd>
   12619 
   12620 </dl>
   12621 
   12622 <p>
   12623 This feature is available in Postfix 2.1 and later.
   12624 </p>
   12625 
   12626 
   12627 </DD>
   12628 
   12629 <DT><b><a name="smtp_line_length_limit">smtp_line_length_limit</a>
   12630 (default: 998)</b></DT><DD>
   12631 
   12632 <p>
   12633 The maximal length of message header and body lines that Postfix
   12634 will send via SMTP. This limit does not include the &lt;CR&gt;&lt;LF&gt;
   12635 at the end of each line.  Longer lines are broken by inserting
   12636 "&lt;CR&gt;&lt;LF&gt;&lt;SPACE&gt;", to minimize the damage to MIME
   12637 formatted mail. Specify zero to disable this limit.
   12638 </p>
   12639 
   12640 <p>
   12641 The Postfix limit of 998 characters not including &lt;CR&gt;&lt;LF&gt;
   12642 is consistent with the SMTP limit of 1000 characters including
   12643 &lt;CR&gt;&lt;LF&gt;.  The Postfix limit was 990 with Postfix 2.8
   12644 and earlier.
   12645 </p>
   12646 
   12647 
   12648 </DD>
   12649 
   12650 <DT><b><a name="smtp_log_tls_feature_status">smtp_log_tls_feature_status</a>
   12651 (default: yes)</b></DT><DD>
   12652 
   12653 <p> Enable logging of TLS feature information in delivery status
   12654 logging. This summarizes how features such as TLS and REQUIRETLS
   12655 were used. A list of examples is at the end of this text. </p>
   12656 
   12657 <ul>
   12658 
   12659 <li> <p> The logging is inserted between the "<tt>delays=a/b/c/d</tt>"
   12660 and the "<tt>dsn=x.y.z, status=...</tt>" information. </p>
   12661 
   12662 <li> <p> The general format is "<tt>tls=feature/feature/...</tt>".
   12663 See below for examples. </p>
   12664 
   12665 <li> <p> The first feature name is the TLS security level:
   12666 '<tt>none</tt>', '<tt>may</tt>', '<tt>encrypt</tt>', etc.  Other
   12667 features are shown only if activated. The REQUIRETLS extension's
   12668 feature name is '<tt>requiretls</tt>'. </p>
   12669 
   12670 <li> <p> When a '<tt>:<i>downgrade-level</i></tt>' is appended to
   12671 a feature name, the feature was downgraded to the indicated level.
   12672 A downgrade-level <tt><i>none</i></tt> indicates that the feature
   12673 was unavailable. The result of a downgrade may violate a strict
   12674 policy, but may still be compliant with a permissive policy. </p>
   12675 
   12676 <li> <p> When "<tt>!</tt>" is prepended to a feature, the policy
   12677 for that feature was violated and the connection was not used.
   12678 </p>
   12679 
   12680 <li> <p> When "?" is appended to a feature, the policy for that
   12681 feature was undecided. This is typically the result of a lost
   12682 connection or an incorrect configuration. </p>
   12683 
   12684 </ul>
   12685 
   12686 <p> Examples for TLS security levels: </p>
   12687 
   12688 <dl>
   12689 
   12690 <dt> tls=none </dt> <dd> A connection with TLS disabled. </dd>
   12691 
   12692 <dt> tls=may </dt> <dd> Opportunistic TLS. The connection was used
   12693 after a successful TLS handshake. </dd>
   12694 
   12695 <dt> tls=may? </dt> <dd> Opportunistic TLS. The status was undecided
   12696 because no connection was made, or no server could be reached. </dd>
   12697 
   12698 <dt> tls=may:none </dt> <dd> Opportunistic TLS. The client was
   12699 willing to use TLS, but the remote server did not support STARTTLS,
   12700 and the connection was used in plaintext as permitted by the
   12701 opportunistic TLS policy. </dd>
   12702 
   12703 <dt> tls=dane </dt> <dd> DANE policy compliant, no downgrade. </dd>
   12704 
   12705 <dt> tls=dane:halfdane </dt> <dd> Opportunistic DANE. The connection
   12706 security was downgraded to '<tt>halfdane</tt>' to indicate that
   12707 mail server records were not DNSSEC-signed. </dd>
   12708 
   12709 <dt> tls=dane:encrypt </dt> <dd> Opportunistic DANE. The connection
   12710 security was downgraded to '<tt>encrypt</tt>' because none of the TLSA
   12711 records were usable. </dd>
   12712 
   12713 <dt> tls=dane? </dt> <dd> DANE policy status was undecided, because the
   12714 connection failed before or in the TLS handshake. </dd>
   12715 
   12716 </dl>
   12717 
   12718 <p> Examples for REQUIRETLS policies (set with <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a>),
   12719 where "<tt><i>xxx</i></tt>" is a TLS security level: </p>
   12720 
   12721 <dl>
   12722 
   12723 <dt> tls=xxx/requiretls </dt> <dd> 'Enforce' policy compliant.
   12724 After a successful TLS handshake that required a certificate match,
   12725 the remote server announced REQUIRETLS support, and the client sent
   12726 REQUIRETLS.
   12727 
   12728 <dt> tls=xxx/!requiretls:nocertmatch </dt> <dd> 'Enforce' policy
   12729 violation. The connection was not used because the remote server
   12730 certificate did not match as required by the TLS security policy,
   12731 or no connection was made because the TLS security policy disabled
   12732 server certificate matching. </dd>
   12733 
   12734 <dt> tls=xxx/requiretls:nocertmatch </dt> <dd> 'Opportunistic+starttls'
   12735 or 'opportunistic' policy compliant. After a successful TLS handshake
   12736 that did not require a server certificate match, the remote server
   12737 announced REQUIRETLS support, and the client sent REQUIRETLS. </dd>
   12738 
   12739 <dt> tls=xxx/!requiretls:nostarttls </dt> <dd> 'Enforce' or
   12740 'opportunistic+starttls' policy violation. The connection was not
   12741 used because the remote server did not support STARTTLS. </dd>
   12742 
   12743 <dt> tls=xxx/!requiretls:noencryption </dt> <dd> 'Enforce' or
   12744 'opportunistic+starttls' policy violation. No connection was made
   12745 because the TLS security policy disabled encryption. </dd>
   12746 
   12747 <dt> tls=xxx/!requiretls:none </dt> <dd> 'Enforce' policy violation.
   12748 After a successful TLS handshake, the connection was not used because
   12749 the remote server did not support REQUIRETLS. </dd>
   12750 
   12751 <dt> tls=xxx/requiretls:none </dt> <dd> 'Opportunistic+starttls'
   12752 policy compliant. After a successful TLS handshake, the remote
   12753 server did not announce REQUIRETLS support, and the connection was
   12754 used without sending REQUIRETLS. </dd>
   12755 
   12756 <dt> tls=xxx/requiretls:none </dt> <dd> 'Opportunistic' policy
   12757 compliant. The remote server did not announce support for STARTTLS
   12758 or REQUIRETLS, and the connection was used without sending REQUIRETLS.
   12759 </dd>
   12760 
   12761 <dt> tls=xxx/requiretls? </dt> <dd> Policy status was undecided,
   12762 because the connection failed before or in the TLS handshake, or
   12763 no connection was made due to a policy configuration error. </dd>
   12764 
   12765 </dl>
   12766 
   12767 <p> This feature is available in Postfix 3.11 and later. </p>
   12768 
   12769 
   12770 </DD>
   12771 
   12772 <DT><b><a name="smtp_mail_timeout">smtp_mail_timeout</a>
   12773 (default: 300s)</b></DT><DD>
   12774 
   12775 <p>
   12776 The Postfix SMTP client time limit for sending the MAIL FROM command,
   12777 and for receiving the remote SMTP server response.
   12778 </p>
   12779 
   12780 <p> Specify a non-zero time value (an integral value plus an optional
   12781 one-letter suffix that specifies the time unit).  Time units: s
   12782 (seconds), m (minutes), h (hours), d (days), w (weeks).
   12783 The default time unit is s (seconds).  </p>
   12784 
   12785 
   12786 </DD>
   12787 
   12788 <DT><b><a name="smtp_mime_header_checks">smtp_mime_header_checks</a>
   12789 (default: empty)</b></DT><DD>
   12790 
   12791 <p> Restricted mime_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
   12792 client. These tables are searched while mail is being delivered.
   12793 Actions that change the delivery time or destination are not
   12794 available.  </p>
   12795 
   12796 <p> This feature is available in Postfix 2.5 and later. </p>
   12797 
   12798 
   12799 </DD>
   12800 
   12801 <DT><b><a name="smtp_min_data_rate">smtp_min_data_rate</a>
   12802 (default: 500)</b></DT><DD>
   12803 
   12804 <p> The minimum plaintext data transfer rate in bytes/second for
   12805 DATA requests, when deadlines are enabled with <a href="postconf.5.html#smtp_per_request_deadline">smtp_per_request_deadline</a>.
   12806 After a write operation transfers N plaintext message bytes (possibly
   12807 after TLS encryption), and after the DATA request deadline is
   12808 decremented by the elapsed time of that write operation, the DATA
   12809 request deadline is incremented by N/smtp_min_data_rate seconds.
   12810 However, the deadline will never be incremented beyond the time
   12811 limit specified with <a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>.  </p>
   12812 
   12813 <p> This feature is available in Postfix 3.7 and later. </p>
   12814 
   12815 
   12816 </DD>
   12817 
   12818 <DT><b><a name="smtp_mx_address_limit">smtp_mx_address_limit</a>
   12819 (default: 5)</b></DT><DD>
   12820 
   12821 <p>
   12822 The maximal number of MX (mail exchanger) IP addresses that can
   12823 result from Postfix SMTP client mail exchanger lookups, or zero (no
   12824 limit). Prior to
   12825 Postfix version 2.3, this limit was disabled by default.
   12826 </p>
   12827 
   12828 <p>
   12829 This feature is available in Postfix 2.1 and later.
   12830 </p>
   12831 
   12832 
   12833 </DD>
   12834 
   12835 <DT><b><a name="smtp_mx_session_limit">smtp_mx_session_limit</a>
   12836 (default: 2)</b></DT><DD>
   12837 
   12838 <p> The maximal number of SMTP sessions per delivery request before
   12839 the Postfix SMTP client
   12840 gives up or delivers to a fall-back <a href="postconf.5.html#relayhost">relay host</a>, or zero (no
   12841 limit). This restriction ignores sessions that fail to complete the
   12842 SMTP initial handshake (Postfix version 2.2 and earlier) or that fail to
   12843 complete the EHLO and TLS handshake (Postfix version 2.3 and later).  </p>
   12844 
   12845 <p> This feature is available in Postfix 2.1 and later.  </p>
   12846 
   12847 
   12848 </DD>
   12849 
   12850 <DT><b><a name="smtp_nested_header_checks">smtp_nested_header_checks</a>
   12851 (default: empty)</b></DT><DD>
   12852 
   12853 <p> Restricted nested_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
   12854 client. These tables are searched while mail is being delivered.
   12855 Actions that change the delivery time or destination are not
   12856 available.  </p>
   12857 
   12858 <p> This feature is available in Postfix 2.5 and later. </p>
   12859 
   12860 
   12861 </DD>
   12862 
   12863 <DT><b><a name="smtp_never_send_ehlo">smtp_never_send_ehlo</a>
   12864 (default: no)</b></DT><DD>
   12865 
   12866 <p> Never send EHLO at the start of an SMTP session. See also the
   12867 <a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> parameter.  </p>
   12868 
   12869 
   12870 </DD>
   12871 
   12872 <DT><b><a name="smtp_per_record_deadline">smtp_per_record_deadline</a>
   12873 (default: no)</b></DT><DD>
   12874 
   12875 <p> Change the behavior of the smtp_*_timeout time limits, from a
   12876 time limit per read or write system call, to a time limit to send
   12877 or receive a complete record (an SMTP command line, SMTP response
   12878 line, SMTP message content line, or TLS protocol message).  This
   12879 limits the impact from hostile peers that trickle data one byte at
   12880 a time.  </p>
   12881 
   12882 <p> Note: when per-record deadlines are enabled, a short timeout
   12883 may cause problems with TLS over very slow network connections.
   12884 The reasons are that a TLS protocol message can be up to 16 kbytes
   12885 long (with TLSv1), and that an entire TLS protocol message must be
   12886 sent or received within the per-record deadline.  </p>
   12887 
   12888 <p> This feature is available in Postfix 2.9-3.6. With older
   12889 Postfix releases, the behavior is as if this parameter is set to
   12890 "no". Postfix 3.7 and later use <a href="postconf.5.html#smtp_per_request_deadline">smtp_per_request_deadline</a>. </p>
   12891 
   12892 
   12893 </DD>
   12894 
   12895 <DT><b><a name="smtp_per_request_deadline">smtp_per_request_deadline</a>
   12896 (default: no)</b></DT><DD>
   12897 
   12898 <p> Change the behavior of the smtp_*_timeout time limits, from a
   12899 time limit per plaintext or TLS read or write call, to a combined
   12900 time limit for sending a complete SMTP request and for receiving a
   12901 complete SMTP response. The deadline limits only the time spent
   12902 waiting for plaintext or TLS read or write calls, not time spent
   12903 elsewhere. The per-request deadline limits the impact from hostile
   12904 peers that trickle data one byte at a time. </p>
   12905 
   12906 <p> See <a href="postconf.5.html#smtp_min_data_rate">smtp_min_data_rate</a> for how the per-request deadline is
   12907 managed during the DATA phase. </p>
   12908 
   12909 <p> Note: when per-request deadlines are enabled, a short time limit
   12910 may cause problems with TLS over very slow network connections. The
   12911 reason is that a TLS protocol message can be up to 16 kbytes long
   12912 (with TLSv1), and that an entire TLS protocol message must be
   12913 transferred within the per-request deadline. </p>
   12914 
   12915 <p> This feature is available in Postfix 3.7 and later. A weaker
   12916 feature, called <a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a>, is available with Postfix
   12917 2.9-3.6. </p>
   12918 
   12919 <p> This feature is available in Postfix 3.7 and later. </p>
   12920 
   12921 
   12922 </DD>
   12923 
   12924 <DT><b><a name="smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
   12925 (default: 10s)</b></DT><DD>
   12926 
   12927 <p>
   12928 How long the Postfix SMTP client pauses before sending
   12929 ".&lt;CR&gt;&lt;LF&gt;" in order to work around the PIX firewall
   12930 "&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;" bug.
   12931 </p>
   12932 
   12933 <p>
   12934 Choosing too short a time makes this workaround ineffective when
   12935 sending large messages over slow network connections.
   12936 </p>
   12937 
   12938 <p> Specify a non-zero time value (an integral value plus an optional
   12939 one-letter suffix that specifies the time unit).  Time units: s
   12940 (seconds), m (minutes), h (hours), d (days), w (weeks).
   12941 The default time unit is s (seconds).  </p>
   12942 
   12943 
   12944 </DD>
   12945 
   12946 <DT><b><a name="smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
   12947 (default: empty)</b></DT><DD>
   12948 
   12949 <p> Lookup tables, indexed by the remote SMTP server address, with
   12950 per-destination workarounds for CISCO PIX firewall bugs.  The table
   12951 is not indexed by hostname for consistency with
   12952 <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>. </p>
   12953 
   12954 <p>
   12955 Specify zero or more "type:name" lookup tables, separated by
   12956 whitespace or comma. Tables will be searched in the specified order
   12957 until a match is found.
   12958 </p>
   12959 
   12960 <p> This feature is available in Postfix 2.4 and later. </p>
   12961 
   12962 
   12963 </DD>
   12964 
   12965 <DT><b><a name="smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
   12966 (default: 500s)</b></DT><DD>
   12967 
   12968 <p> How long a message must be queued before the Postfix SMTP client
   12969 turns on the PIX firewall "&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;"
   12970 bug workaround for delivery through firewalls with "smtp fixup"
   12971 mode turned on.  </p>
   12972 
   12973 <p> Specify a non-negative time value (an integral value plus an optional
   12974 one-letter suffix that specifies the time unit).  Time units: s
   12975 (seconds), m (minutes), h (hours), d (days), w (weeks).
   12976 The default time unit is s (seconds).  </p>
   12977 
   12978 <p>
   12979 By default, the workaround is turned off for mail that is queued
   12980 for less than 500 seconds. In other words, the workaround is normally
   12981 turned off for the first delivery attempt.
   12982 </p>
   12983 
   12984 <p>
   12985 Specify 0 to enable the PIX firewall
   12986 "&lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;" bug workaround upon the
   12987 first delivery attempt.
   12988 </p>
   12989 
   12990 
   12991 </DD>
   12992 
   12993 <DT><b><a name="smtp_pix_workarounds">smtp_pix_workarounds</a>
   12994 (default: disable_esmtp, delay_dotcrlf)</b></DT><DD>
   12995 
   12996 <p> A list that specifies zero or more workarounds for CISCO PIX
   12997 firewall bugs. These workarounds are implemented by the Postfix
   12998 SMTP client. Workaround names are separated by comma or space, and
   12999 are case insensitive.  This parameter setting can be overruled with
   13000 per-destination <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> settings. </p>
   13001 
   13002 <dl>
   13003 
   13004 <dt><b>delay_dotcrlf</b><dd> Insert a delay before sending
   13005 ".&lt;CR&gt;&lt;LF&gt;" after the end of the message content.  The
   13006 delay is subject to the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> and
   13007 <a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> parameter settings. </dd>
   13008 
   13009 <dt><b>disable_esmtp</b><dd> Disable all extended SMTP commands:
   13010 send HELO instead of EHLO. </dd>
   13011 
   13012 </dl>
   13013 
   13014 <p> This feature is available in Postfix 2.4 and later. The default
   13015 settings are backwards compatible with earlier Postfix versions.
   13016 </p>
   13017 
   13018 
   13019 </DD>
   13020 
   13021 <DT><b><a name="smtp_quit_timeout">smtp_quit_timeout</a>
   13022 (default: 300s)</b></DT><DD>
   13023 
   13024 <p>
   13025 The Postfix SMTP client time limit for sending the QUIT command,
   13026 and for receiving the remote SMTP server response.
   13027 </p>
   13028 
   13029 <p> Specify a non-zero time value (an integral value plus an optional
   13030 one-letter suffix that specifies the time unit).  Time units: s
   13031 (seconds), m (minutes), h (hours), d (days), w (weeks).
   13032 The default time unit is s (seconds).  </p>
   13033 
   13034 
   13035 </DD>
   13036 
   13037 <DT><b><a name="smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
   13038 (default: yes)</b></DT><DD>
   13039 
   13040 <p>
   13041 Quote addresses in Postfix SMTP client MAIL FROM and RCPT TO commands
   13042 as required
   13043 by <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. This includes putting quotes around an address localpart
   13044 that ends in ".".
   13045 </p>
   13046 
   13047 <p>
   13048 The default is to comply with <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. If you have to send mail to
   13049 a broken SMTP server, configure a special SMTP client in <a href="master.5.html">master.cf</a>:
   13050 </p>
   13051 
   13052 <blockquote>
   13053 <pre>
   13054 /etc/postfix/<a href="master.5.html">master.cf</a>:
   13055     broken-smtp . . . smtp -o <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>=no
   13056 </pre>
   13057 </blockquote>
   13058 
   13059 <p>
   13060 and route mail for the destination in question to the "broken-smtp"
   13061 message delivery with a <a href="transport.5.html">transport(5)</a> table.
   13062 </p>
   13063 
   13064 <p>
   13065 This feature is available in Postfix 2.1 and later.
   13066 </p>
   13067 
   13068 
   13069 </DD>
   13070 
   13071 <DT><b><a name="smtp_randomize_addresses">smtp_randomize_addresses</a>
   13072 (default: yes)</b></DT><DD>
   13073 
   13074 <p>
   13075 Randomize the order of equal-preference MX host addresses.  This
   13076 is a performance feature of the Postfix SMTP client.
   13077 </p>
   13078 
   13079 
   13080 </DD>
   13081 
   13082 <DT><b><a name="smtp_rcpt_timeout">smtp_rcpt_timeout</a>
   13083 (default: 300s)</b></DT><DD>
   13084 
   13085 <p>
   13086 The Postfix SMTP client time limit for sending the SMTP RCPT TO
   13087 command, and for receiving the remote SMTP server response.
   13088 </p>
   13089 
   13090 <p> Specify a non-zero time value (an integral value plus an optional
   13091 one-letter suffix that specifies the time unit).  Time units: s
   13092 (seconds), m (minutes), h (hours), d (days), w (weeks).
   13093 The default time unit is s (seconds).  </p>
   13094 
   13095 
   13096 </DD>
   13097 
   13098 <DT><b><a name="smtp_reply_filter">smtp_reply_filter</a>
   13099 (default: empty)</b></DT><DD>
   13100 
   13101 <p> A mechanism to transform replies from remote SMTP servers one
   13102 line at a time.  This is a last-resort tool to work around server
   13103 replies that break interoperability with the Postfix SMTP client.
   13104 Other uses involve fault injection to test Postfix's handling of
   13105 invalid responses. </p>
   13106 
   13107 <p> Notes: </p>
   13108 
   13109 <ul>
   13110 
   13111 <li> <p> In the case of a multi-line reply, the Postfix SMTP client
   13112 uses the final reply line's numerical SMTP reply code and enhanced
   13113 status code.  </p>
   13114 
   13115 <li> <p> The numerical SMTP reply code (XYZ) takes precedence over
   13116 the enhanced status code (X.Y.Z).  When the enhanced status code
   13117 initial digit differs from the SMTP reply code initial digit, or
   13118 when no enhanced status code is present, the Postfix SMTP client
   13119 uses a generic enhanced status code (X.0.0) instead. </p>
   13120 
   13121 </ul>
   13122 
   13123 <p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
   13124 string is a single SMTP reply line as received from the remote SMTP
   13125 server, except that the trailing &lt;CR&gt;&lt;LF&gt; are removed.
   13126 When the lookup succeeds, the result replaces the single SMTP reply
   13127 line. </p>
   13128 
   13129 <p> Examples: </p>
   13130 
   13131 <pre>
   13132 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   13133     <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/reply_filter
   13134 </pre>
   13135 
   13136 <pre>
   13137 /etc/postfix/reply_filter:
   13138     # Some Microsoft servers violate <a href="https://tools.ietf.org/html/rfc2554">RFC 2554</a> section 4, causing Postfix
   13139     # to complain with "non-empty initial GSSAPI challenge from server"
   13140     /^334\s+GSSAPI\s+supported/ 334
   13141 </pre>
   13142 
   13143 <pre>
   13144     # Transform garbage into "250-filler..." so that it looks like
   13145     # one line from a multi-line reply. It does not matter what we
   13146     # substitute here as long it has the right syntax.  The Postfix
   13147     # SMTP client will use the final line's numerical SMTP reply
   13148     # code and enhanced status code.
   13149     !/^([2-5][0-9][0-9]($|[- ]))/ 250-filler for garbage
   13150 </pre>
   13151 
   13152 <p> This feature is available in Postfix 2.7. </p>
   13153 
   13154 
   13155 </DD>
   13156 
   13157 <DT><b><a name="smtp_requiretls_policy">smtp_requiretls_policy</a>
   13158 (default: see 'postconf -d <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a>' output)</b></DT><DD>
   13159 
   13160 <p> How the Postfix SMTP and LMTP client will enforce REQUIRETLS
   13161 for messages received with the REQUIRETLS option. Policy examples
   13162 for SMTP and LMTP are at the end. </p>
   13163 
   13164 <ul>
   13165 
   13166 <li> <p> Specify a list of items, separated with whitespace or
   13167 comma; continue a long line by starting the next line with whitespace.
   13168 </p>
   13169 
   13170 <li> <p> Each item must be an action (see below), or a <a href="DATABASE_README.html">type:table</a>
   13171 lookup table that must return an action (it must not return a
   13172 <a href="DATABASE_README.html">type:table</a>). </p>
   13173 
   13174 <li> <p> In the text that follows, the TLS next-hop destination for
   13175 TCP connections is the recipient domain by default, but this can
   13176 be overruled with destinations specified with <a href="postconf.5.html#transport_maps">transport_maps</a>,
   13177 <a href="postconf.5.html#relayhost">relayhost</a>, <a href="postconf.5.html#content_filter">content_filter</a>, or other routing features. The next-hop
   13178 destination for LMTP over UNIX-domain connections is always the
   13179 value of <a href="postconf.5.html#myhostname">myhostname</a>. </p>
   13180 
   13181 <li> <p> A <a href="DATABASE_README.html">type:table</a> lookup table is searched with the TLS next-hop
   13182 destination (without any [ ], <i>:service</i>, or <i>:port</i>).
   13183 A non-ASCII next-hop destination is converted into ASCII form
   13184 (Punycode) before making a policy query; lookup tables must answer
   13185 ASCII-form queries. </p>
   13186 
   13187 <li> <p> A fixed-string table (such as <a href="lmdb_table.5.html">lmdb</a>:, <a href="CDB_README.html">cdb</a>:, or <a href="DATABASE_README.html#types">hash</a>:) is
   13188 also searched with the next-hop ".parent" domains (in a table key,
   13189 prepend a '.' to a parent domain name). These ".parent" domain
   13190 queries are not made with pattern-based lookup tables such as <a href="regexp_table.5.html">regexp</a>:
   13191 or <a href="pcre_table.5.html">pcre</a>: or with <a href="socketmap_table.html">socketmap</a>: or <a href="tcp_table.5.html">tcp</a>: tables.  </p>
   13192 
   13193 </ul>
   13194 
   13195 <p> Supported actions, assuming that TLS feature status logging is
   13196 enabled with "<a href="postconf.5.html#smtp_log_tls_feature_status">smtp_log_tls_feature_status</a> = yes" (the default): </p>
   13197 
   13198 <dl>
   13199 
   13200 <dt> <b> enforce </b> </dt> <dd> <p> Skip servers that do not support
   13201 STARTTLS, skip connections without a server certificate match, and
   13202 skip servers that don't support REQUIRETLS after STARTTLS. </p> <p>
   13203 If a suitable server is found, request REQUIRETLS, deliver the
   13204 message, and log "<tt>tls=<i>level</i>/requiretls</tt>" in delivery
   13205 status logging, where <tt><i>level</i></tt> shows the current SMTP
   13206 client TLS security level. </p> <p> If no suitable server is found,
   13207 return the message as undeliverable and log a policy violation
   13208 "<tt>tls=<i>level</i>/!requiretls:nocertmatch</tt>",
   13209 "<tt>tls=<i>level</i>/!requiretls:noencryption</tt>", or
   13210 "<tt>tls=<i>level</i>/!requiretls:nostarttls</tt>", as described
   13211 under <a href="postconf.5.html#smtp_log_tls_feature_status">smtp_log_tls_feature_status</a>. </p> <p> NOTE: this is also used
   13212 implicitly when no REQUIRETLS policy match is found. </p> </dd>
   13213 
   13214 <dt> <b> opportunistic+starttls </b> </dt> <dd> <p> Skip servers
   13215 that don't announce STARTTLS support, but do not require a server
   13216 certificate match or remote REQUIRETLS support. </p> <p> If a
   13217 suitable server is found, send REQUIRETLS if that server supports
   13218 REQUIRETLS and log "<tt>tls=<i>level</i>/requiretls</tt>" or
   13219 "<tt>tls=<i>level</i>/requiretls:nomatch</tt>" in delivery status
   13220 logging, or simply deliver the message as if the sender did not
   13221 request REQUIRETLS and log "<tt>tls=<i>level</i>/requiretls:none</tt>,
   13222 where <tt><i>level</i></tt> shows the current SMTP client TLS
   13223 security level. </p> <p> If no suitable server is found, return the
   13224 message as undeliverable and log a policy violation
   13225 "<tt>tls=<i>level</i>/!requiretls:noencryption</tt>" or
   13226 "<tt>tls=<i>level</i>/!requiretls:nostarttls</tt>" as described
   13227 under <a href="postconf.5.html#smtp_log_tls_feature_status">smtp_log_tls_feature_status</a>. </p> <p> This relaxed policy can
   13228 be appropriate for an outbound perimeter MTA, when forwarding
   13229 messages from internal systems to the Internet, at a time that many
   13230 domains support TLS but have no DANE or MTA-STS policies. </p> </dd>
   13231 
   13232 <dt> <b> opportunistic </b> </dt> <dd> <p> Do not require STARTTLS,
   13233 a server certificate match, or remote REQUIRETLS support. </p> <p>
   13234 Request REQUIRETLS if the server supports both STARTTLS and REQUIRETLS
   13235 and log "<tt>tls=<i>level</i>/requiretls</tt>" or
   13236 "<tt>tls=<i>level</i>/requiretls:nomatch</tt>" in delivery status
   13237 logging, otherwise simply deliver the message as if the sender did
   13238 not request REQUIRETLS and log "<tt>tls=<i>level</i>/requiretls:none</tt>,
   13239 where <tt><i>level</i></tt> shows the current SMTP client TLS
   13240 security level. </p> <p> This REQUIRETLS policy is non-intrusive,
   13241 because there can be no REQUIRETLS policy violation. </p> <p> This
   13242 weak policy can be appropriate for an inbound perimeter MTA, when
   13243 forwarding messages from the Internet to internal servers or content
   13244 filters that may not support STARTTLS or REQUIRETLS, using internal
   13245 connections instead of the public Internet. This setting may also
   13246 be useful for an outbound MTA to discover what destinations support
   13247 some form of REQUIRETLS without risking mail delivery problems.
   13248 </p> </dd>
   13249 
   13250 <dt> <b> disable </b> </dt> <dd> <p> Disable REQUIRETLS support.
   13251 Deliver all messages as if the sender did not request REQUIRETLS.
   13252 This may be used as a last-resort workaround when a server announces
   13253 REQUIRETLS support, but the support is inoperable. </p></dd>
   13254 
   13255 </dl>
   13256 
   13257 <p> Notes: </p>
   13258 
   13259 <ul>
   13260 
   13261 <li> <p> To match any name below the domain "example.com" specify
   13262 a table entry with the storage key ".example.com" in <a href="DATABASE_README.html">type:table</a>
   13263 lookup tables that need an exact match. This is appropriate, for
   13264 example, with <a href="lmdb_table.5.html">lmdb</a>:, <a href="CDB_README.html">cdb</a>: or <a href="DATABASE_README.html#types">hash</a>:. </p>
   13265 
   13266 <li> <p> Do not specify a match pattern for ".domain" with <a href="regexp_table.5.html">regexp</a>:,
   13267 <a href="pcre_table.5.html">pcre</a>:, <a href="socketmap_table.html">socketmap</a>:, or <a href="tcp_table.5.html">tcp</a>:, as <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a> will
   13268 not query those tables with that form. </p>
   13269 
   13270 </ul>
   13271 
   13272 <p> SMTP client examples. See <a href="REQUIRETLS_README.html">REQUIRETLS_README</a> for discussion. </p>
   13273 
   13274 <ul>
   13275 
   13276 <li> <p> The simplest policy: when a sender requests REQUIRETLS,
   13277 request REQUIRETLS when an external or internal server supports
   13278 both STARTTLS and REQUIRETLS (lines 4, 5), and enforce a TLS
   13279 certificate match only if the destination publishes a DANE or STS
   13280 policy (line 3). When the sender requests REQUIRETLS, and an external
   13281 or internal server does not support both STARTTLS and REQUIRETLS,
   13282 simply deliver the message as if the sender did not request REQUIRETLS
   13283 (lines 4, 5). </p>
   13284 <pre>
   13285 1 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   13286 2     <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
   13287 3     <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = ...dane/sts plugin...
   13288 4     <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a> = opportunistic
   13289 5     <a href="postconf.5.html#lmtp_requiretls_policy">lmtp_requiretls_policy</a> = opportunistic
   13290 </pre>
   13291 
   13292 <li> <p> The default SMTP client REQUIRETLS policy (lines 4-12):
   13293 when a sender requests REQUIRETLS, require that an external server
   13294 supports STARTTLS and REQUIRETLS, and require that its server
   13295 certificate matches a DANE or STS policy (lines 3, 12); make
   13296 REQUIRETLS support optional for delivery to internal destinations
   13297 or content filters specified as a symbolic name (lines 5-8) or as
   13298 a numeric address (lines 9-11). An internationalized domain name
   13299 must be specified in ASCII form (lines 6-7); the default policy
   13300 below uses ${<a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{$<a href="postconf.5.html#mydomain">mydomain</a>}} which returns $<a href="postconf.5.html#mydomain">mydomain</a>
   13301 when the domain name contains only ASCII characters, and which
   13302 returns Punycode (<tt>xn--mumble</tt>) when $<a href="postconf.5.html#mydomain">mydomain</a> contains
   13303 non-ASCII. Note: if you specify a domain list outside <a href="postconf.5.html">main.cf</a>, then
   13304 the automatic $<i>name</i> expansions and Punycode conversions will
   13305 not happen, and you will need to enter explicit ASCII domain
   13306 names.</p>
   13307 <pre>
   13308  1 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   13309  2     <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
   13310  3     <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = ...dane/sts plugin...
   13311  4     <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a> =
   13312  5         <a href="DATABASE_README.html#types">inline</a>:{
   13313  6             { ${<a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{$<a href="postconf.5.html#mydomain">mydomain</a>}} = opportunistic }
   13314  7             { .${<a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{$<a href="postconf.5.html#mydomain">mydomain</a>}} = opportunistic }
   13315  8             { localhost = opportunistic } }
   13316  9         <a href="cidr_table.5.html">cidr</a>:{
   13317 10             { 0.0.0.0/0 opportunistic },
   13318 11             { ::/0 opportunistic } },
   13319 12         enforce
   13320 </pre>
   13321 
   13322 <li> <p> An SMTP client REQUIRETLS policy that is relaxed for
   13323 external destinations (line 12): when a sender requests REQUIRETLS,
   13324 require that an external server supports STARTTLS but enforce a TLS
   13325 certificate match only if the receiver publishes a DANE or STS
   13326 policy (line 3), and do not require that an external server supports
   13327 REQUIRETLS. Copy the above policy for internal destinations or
   13328 content filters (lines 5-11). Again, an internationalized domain
   13329 name must be specified in ASCII form (lines 6-7); the policy uses
   13330 ${<a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{$<a href="postconf.5.html#mydomain">mydomain</a>}} which returns $<a href="postconf.5.html#mydomain">mydomain</a> when the
   13331 domain name contains only ASCII characters, and which returns
   13332 Punycode (<tt>xn--mumble</tt>) when $<a href="postconf.5.html#mydomain">mydomain</a> contains non-ASCII.
   13333 Note: if you specify a domain list outside <a href="postconf.5.html">main.cf</a>, then the automatic
   13334 $<i>name</i> expansions and Punycode conversions will not happen,
   13335 and you will need to enter explicit ASCII domain names.</p>
   13336 <pre>
   13337  1 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   13338  2     <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
   13339  3     <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = ...dane/sts plugin...
   13340  4     <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a> =
   13341  5         <a href="DATABASE_README.html#types">inline</a>:{
   13342  6             { ${<a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{$<a href="postconf.5.html#mydomain">mydomain</a>}} = opportunistic }
   13343  7             { .${<a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{$<a href="postconf.5.html#mydomain">mydomain</a>}} = opportunistic }
   13344  8             { localhost = opportunistic } }
   13345  9         <a href="cidr_table.5.html">cidr</a>:{
   13346 10             { 0.0.0.0/0 opportunistic },
   13347 11             { ::/0 opportunistic } },
   13348 12         opportunistic+starttls
   13349 </pre>
   13350 
   13351 <li> <p> As above, with external destinations listed in a separate
   13352 file for easier maintenance. </p>
   13353 <pre>
   13354 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   13355     <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
   13356     <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = ...dane/sts plugin...
   13357     <a href="postconf.5.html#smtp_requiretls_policy">smtp_requiretls_policy</a> =
   13358         <a href="DATABASE_README.html#types">inline</a>:{
   13359             { ${<a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{$<a href="postconf.5.html#mydomain">mydomain</a>}} = opportunistic }
   13360             { .${<a href="postconf.5.html#domain_to_ascii">domain_to_ascii</a>{$<a href="postconf.5.html#mydomain">mydomain</a>}} = opportunistic }
   13361             { localhost = opportunistic } }
   13362         <a href="cidr_table.5.html">cidr</a>:{
   13363             { 0.0.0.0/0 opportunistic },
   13364             { ::/0 opportunistic } },
   13365         <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/requiretls-per-site
   13366         opportunistic+starttls
   13367 </pre>
   13368 <pre>
   13369 /etc/postfix/requiretls-per-site:
   13370     one.example         enforce
   13371     two.example         enforce
   13372     three.example       opportunistic
   13373     ...
   13374 </pre>
   13375 
   13376 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   13377 
   13378 <p> Execute the command "postmap /etc/postfix/requiretls-per-site"
   13379 after you change the requiretls-per-site file, to (re)build a
   13380 default-type indexed file.  Execute "postmap
   13381 <i>type</i>:/etc/postfix/requiretls-per-site" to specify an explicit
   13382 type. </p>
   13383 
   13384 <p> The default indexed file type is configured with the
   13385 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   13386 execute the command "postconf -m". </p>
   13387 
   13388 <p> Configuration changes will become visible after a minute or so.
   13389 Use "postfix reload" to eliminate the delay. </p>
   13390 
   13391 </ul>
   13392 
   13393 <p>
   13394 LMTP client examples. See <a href="REQUIRETLS_README.html">REQUIRETLS_README</a> for discussion.
   13395 </p>
   13396 
   13397 <ul>
   13398 
   13399 <li> <p> The default LMTP client REQUIRETLS policy: when a sender
   13400 requests REQUIRETLS, request REQUIRETLS if the server supports
   13401 REQUIRETLS, otherwise deliver the message as if the sender did not
   13402 request REQUIRETLS. Note: with deliveries over a UNIX-domain socket,
   13403 the next-hop destination for <a href="postconf.5.html#lmtp_requiretls_policy">lmtp_requiretls_policy</a> lookups will
   13404 be the <a href="postconf.5.html#myhostname">myhostname</a> parameter value. </p>
   13405 <pre>
   13406 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   13407     <a href="postconf.5.html#lmtp_requiretls_policy">lmtp_requiretls_policy</a> = opportunistic
   13408 </pre>
   13409 
   13410 </ul>
   13411 
   13412 <p> This feature is available in Postfix &ge; 3.11. </p>
   13413 
   13414 
   13415 </DD>
   13416 
   13417 <DT><b><a name="smtp_rset_timeout">smtp_rset_timeout</a>
   13418 (default: 20s)</b></DT><DD>
   13419 
   13420 <p> The Postfix SMTP client time limit for sending the RSET command,
   13421 and for receiving the remote SMTP server response. The SMTP client
   13422 sends RSET in
   13423 order to finish a recipient address probe, or to verify that a
   13424 cached session is still usable.  </p>
   13425 
   13426 <p> Specify a non-zero time value (an integral value plus an optional
   13427 one-letter suffix that specifies the time unit).  Time units: s
   13428 (seconds), m (minutes), h (hours), d (days), w (weeks).
   13429 The default time unit is s (seconds).  </p>
   13430 
   13431 <p> This feature is available in Postfix 2.1 and later.  </p>
   13432 
   13433 
   13434 </DD>
   13435 
   13436 <DT><b><a name="smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
   13437 (default: empty)</b></DT><DD>
   13438 
   13439 <p> An optional table to prevent repeated SASL authentication
   13440 failures with the same remote SMTP server hostname, username and
   13441 password. Each table (key, value) pair contains a server name, a
   13442 username and password, and the full server response. This information
   13443 is stored when a remote SMTP server rejects an authentication attempt
   13444 with a 535 reply code.  As long as the <a href="postconf.5.html#smtp_sasl_password_maps">smtp_sasl_password_maps</a>
   13445 information does not change, and as long as the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
   13446 information does not expire (see <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>) the
   13447 Postfix SMTP client avoids SASL authentication attempts with the
   13448 same server, username and password, and instead bounces or defers
   13449 mail as controlled with the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> configuration
   13450 parameter.  </p>
   13451 
   13452 <p> Use a per-destination delivery concurrency of 1 (for example,
   13453 "<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> = 1",
   13454 "<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> = 1", etc.), otherwise multiple
   13455 delivery agents may experience a login failure at the same time.
   13456 </p>
   13457 
   13458 <p> The table must be accessed via the proxywrite service, i.e. the
   13459 map name must start with "<a href="proxymap.8.html">proxy</a>:". The table should be stored under
   13460 the directory specified with the <a href="postconf.5.html#data_directory">data_directory</a> parameter. </p>
   13461 
   13462 <p> This feature uses cryptographic hashing to protect plain-text
   13463 passwords, and requires that Postfix is compiled with TLS support.
   13464 </p>
   13465 
   13466 <p> Examples: </p>
   13467 
   13468 <pre>
   13469 <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="lmdb_table.5.html">lmdb</a>:/var/db/postfix/sasl_auth_cache
   13470 <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
   13471 </pre>
   13472 
   13473 <p> This feature is available in Postfix 2.5 and later. </p>
   13474 
   13475 
   13476 </DD>
   13477 
   13478 <DT><b><a name="smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
   13479 (default: 90d)</b></DT><DD>
   13480 
   13481 <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
   13482 is removed. </p>
   13483 
   13484 <p> Specify a non-negative time value (an integral value plus an optional
   13485 one-letter suffix that specifies the time unit).  Time units: s
   13486 (seconds), m (minutes), h (hours), d (days), w (weeks).
   13487 The default time unit is d (days).  </p>
   13488 
   13489 <p> This feature is available in Postfix 2.5 and later. </p>
   13490 
   13491 
   13492 </DD>
   13493 
   13494 <DT><b><a name="smtp_sasl_auth_enable">smtp_sasl_auth_enable</a>
   13495 (default: no)</b></DT><DD>
   13496 
   13497 <p>
   13498 Enable SASL authentication in the Postfix SMTP client.  By default,
   13499 the Postfix SMTP client uses no authentication.
   13500 </p>
   13501 
   13502 <p>
   13503 Example:
   13504 </p>
   13505 
   13506 <pre>
   13507 <a href="postconf.5.html#smtp_sasl_auth_enable">smtp_sasl_auth_enable</a> = yes
   13508 </pre>
   13509 
   13510 
   13511 </DD>
   13512 
   13513 <DT><b><a name="smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
   13514 (default: yes)</b></DT><DD>
   13515 
   13516 <p> When a remote SMTP server rejects a SASL authentication request
   13517 with a 535 reply code, defer mail delivery instead of returning
   13518 mail as undeliverable. The latter behavior was hard-coded prior to
   13519 Postfix version 2.5. </p>
   13520 
   13521 <p> Note: the setting "yes" overrides the global <a href="postconf.5.html#soft_bounce">soft_bounce</a>
   13522 parameter, but the setting "no" does not. </p>
   13523 
   13524 <p> Example: </p>
   13525 
   13526 <pre>
   13527 # Default as of Postfix 2.5
   13528 <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = yes
   13529 # The old hard-coded default
   13530 <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = no
   13531 </pre>
   13532 
   13533 <p> This feature is available in Postfix 2.5 and later. </p>
   13534 
   13535 
   13536 </DD>
   13537 
   13538 <DT><b><a name="smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
   13539 (default: empty)</b></DT><DD>
   13540 
   13541 <p>
   13542 If non-empty, a Postfix SMTP client filter for the remote SMTP
   13543 server's list of offered SASL mechanisms.  Different client and
   13544 server implementations may support different mechanism lists; by
   13545 default, the Postfix SMTP client will use the intersection of the
   13546 two. <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> specifies an optional third mechanism
   13547 list to intersect with. </p>
   13548 
   13549 <p> Specify mechanism names, "/file/name" patterns or "<a href="DATABASE_README.html">type:table</a>"
   13550 lookup tables. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>" lookups
   13551 is ignored. Specify "!pattern" to exclude a mechanism name from the
   13552 list. The form "!/file/name" is supported only in Postfix version
   13553 2.4 and later. </p>
   13554 
   13555 <p> This feature is available in Postfix 2.2 and later. </p>
   13556 
   13557 <p>
   13558 Examples:
   13559 </p>
   13560 
   13561 <pre>
   13562 <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = plain, login
   13563 <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = /etc/postfix/smtp_mechs
   13564 <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
   13565 </pre>
   13566 
   13567 
   13568 </DD>
   13569 
   13570 <DT><b><a name="smtp_sasl_password_maps">smtp_sasl_password_maps</a>
   13571 (default: empty)</b></DT><DD>
   13572 
   13573 <p>
   13574 Optional Postfix SMTP client lookup tables with one username:password
   13575 entry per sender, remote hostname or next-hop domain. Per-sender
   13576 lookup is done only when sender-dependent authentication is enabled.
   13577 If no username:password entry is found, then the Postfix SMTP client
   13578 will not attempt to authenticate to the remote host.
   13579 </p>
   13580 
   13581 <p> Use <a href="postconf.5.html#smtp_sasl_password_result_delimiter">smtp_sasl_password_result_delimiter</a> to specify an
   13582 alternative separator between username and password. </p>
   13583 
   13584 <p>
   13585 The Postfix SMTP client opens the lookup table before going to
   13586 chroot jail, so you can leave the password file in /etc/postfix.
   13587 </p>
   13588 
   13589 <p>
   13590 Specify zero or more "type:name" lookup tables, separated by
   13591 whitespace or comma. Tables will be searched in the specified order
   13592 until a match is found.
   13593 </p>
   13594 
   13595 
   13596 </DD>
   13597 
   13598 <DT><b><a name="smtp_sasl_password_result_delimiter">smtp_sasl_password_result_delimiter</a>
   13599 (default: :)</b></DT><DD>
   13600 
   13601 <p> The delimiter between username and password in sasl_passwd_maps lookup
   13602 results. Specify one non-whitespace character that does not appear in
   13603 the username. </p>
   13604 
   13605 <p> This feature is available in Postfix &ge; 3.9. </p>
   13606 
   13607 
   13608 </DD>
   13609 
   13610 <DT><b><a name="smtp_sasl_path">smtp_sasl_path</a>
   13611 (default: empty)</b></DT><DD>
   13612 
   13613 <p> Implementation-specific information that the Postfix SMTP client
   13614 passes through to
   13615 the SASL plug-in implementation that is selected with
   13616 <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.  Typically this specifies the name of a
   13617 configuration file or rendezvous point. </p>
   13618 
   13619 <p> This feature is available in Postfix 2.3 and later. </p>
   13620 
   13621 
   13622 </DD>
   13623 
   13624 <DT><b><a name="smtp_sasl_security_options">smtp_sasl_security_options</a>
   13625 (default: noplaintext, noanonymous)</b></DT><DD>
   13626 
   13627 <p> Postfix SMTP client SASL security options; as of Postfix 2.3
   13628 the list of available
   13629 features depends on the SASL client implementation that is selected
   13630 with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.  </p>
   13631 
   13632 <p> The following security features are defined for the <b>cyrus</b>
   13633 client SASL implementation: </p>
   13634 
   13635 <p>
   13636 Specify zero or more of the following:
   13637 </p>
   13638 
   13639 <dl>
   13640 
   13641 <dt><b>noplaintext</b></dt>
   13642 
   13643 <dd>Disallow methods that use plaintext passwords. </dd>
   13644 
   13645 <dt><b>noactive</b></dt>
   13646 
   13647 <dd>Disallow methods subject to active (non-dictionary) attack.
   13648 </dd>
   13649 
   13650 <dt><b>nodictionary</b></dt>
   13651 
   13652 <dd>Disallow methods subject to passive (dictionary) attack. </dd>
   13653 
   13654 <dt><b>noanonymous</b></dt>
   13655 
   13656 <dd>Disallow methods that allow anonymous authentication. </dd>
   13657 
   13658 <dt><b>mutual_auth</b></dt>
   13659 
   13660 <dd>Only allow methods that provide mutual authentication (not
   13661 available with SASL version 1). </dd>
   13662 
   13663 </dl>
   13664 
   13665 <p>
   13666 Example:
   13667 </p>
   13668 
   13669 <pre>
   13670 <a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> = noplaintext
   13671 </pre>
   13672 
   13673 
   13674 </DD>
   13675 
   13676 <DT><b><a name="smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
   13677 (default: $<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a>)</b></DT><DD>
   13678 
   13679 <p> The SASL authentication security options that the Postfix SMTP
   13680 client uses for TLS encrypted SMTP sessions. </p>
   13681 
   13682 <p> This feature is available in Postfix 2.2 and later.  </p>
   13683 
   13684 
   13685 </DD>
   13686 
   13687 <DT><b><a name="smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a>
   13688 (default: $<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>)</b></DT><DD>
   13689 
   13690 <p> The SASL authentication security options that the Postfix SMTP
   13691 client uses for TLS encrypted SMTP sessions with a verified server
   13692 certificate. </p>
   13693 
   13694 <p> When mail is sent to the public MX host for the recipient's
   13695 domain, server certificates are by default optional, and delivery
   13696 proceeds even if certificate verification fails. For delivery via
   13697 a submission service that requires SASL authentication, it may be
   13698 appropriate to send plaintext passwords only when the connection
   13699 to the server is strongly encrypted <b>and</b> the server identity
   13700 is verified. </p>
   13701 
   13702 <p> The <a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> parameter makes it
   13703 possible to only enable plaintext mechanisms when a secure connection
   13704 to the server is available. Submission servers subject to this
   13705 policy must either have verifiable certificates or offer suitable
   13706 non-plaintext SASL mechanisms. </p>
   13707 
   13708 <p> This feature is available in Postfix 2.6 and later. </p>
   13709 
   13710 
   13711 </DD>
   13712 
   13713 <DT><b><a name="smtp_sasl_type">smtp_sasl_type</a>
   13714 (default: cyrus)</b></DT><DD>
   13715 
   13716 <p> The SASL plug-in type that the Postfix SMTP client should use
   13717 for authentication.  The available types are listed with the
   13718 "<b>postconf -A</b>" command. </p>
   13719 
   13720 <p> This feature is available in Postfix 2.3 and later. </p>
   13721 
   13722 
   13723 </DD>
   13724 
   13725 <DT><b><a name="smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
   13726 (default: no)</b></DT><DD>
   13727 
   13728 <p> Whether or not to append the "AUTH=&lt;&gt;" option to the MAIL
   13729 FROM command in SASL-authenticated SMTP sessions. The default is
   13730 not to send this, to avoid problems with broken remote SMTP servers.
   13731 Before Postfix 2.9 the behavior is as if "<a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
   13732 = yes".
   13733 
   13734 <p> This feature is available in Postfix 2.9 and later. </p>
   13735 
   13736 
   13737 </DD>
   13738 
   13739 <DT><b><a name="smtp_send_xforward_command">smtp_send_xforward_command</a>
   13740 (default: no)</b></DT><DD>
   13741 
   13742 <p>
   13743 Send the non-standard XFORWARD command when the Postfix SMTP server
   13744 EHLO response announces XFORWARD support.
   13745 </p>
   13746 
   13747 <p>
   13748 This allows a Postfix SMTP delivery agent, used for injecting mail
   13749 into
   13750 a content filter, to forward the name, address, protocol and HELO
   13751 name of the original client to the content filter and downstream
   13752 queuing SMTP server. This can produce more useful logging than
   13753 localhost[127.0.0.1] etc.
   13754 </p>
   13755 
   13756 <p>
   13757 This feature is available in Postfix 2.1 and later.
   13758 </p>
   13759 
   13760 
   13761 </DD>
   13762 
   13763 <DT><b><a name="smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
   13764 (default: no)</b></DT><DD>
   13765 
   13766 <p>
   13767 Enable sender-dependent authentication in the Postfix SMTP client; this is
   13768 available only with SASL authentication, and disables SMTP connection
   13769 caching to ensure that mail from different senders will use the
   13770 appropriate credentials.  </p>
   13771 
   13772 <p>
   13773 This feature is available in Postfix 2.3 and later.
   13774 </p>
   13775 
   13776 
   13777 </DD>
   13778 
   13779 <DT><b><a name="smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a>
   13780 (default: yes)</b></DT><DD>
   13781 
   13782 <p>
   13783 Skip SMTP servers that greet with a 4XX status code (go away, try
   13784 again later).
   13785 </p>
   13786 
   13787 <p>
   13788 By default, the Postfix SMTP client moves on the next mail exchanger.
   13789 Specify
   13790 "<a href="postconf.5.html#smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a> = no" if Postfix should defer delivery
   13791 immediately.
   13792 </p>
   13793 
   13794 <p> This feature is available in Postfix 2.0 and earlier.
   13795 Later Postfix versions always skip remote SMTP servers that greet
   13796 with a
   13797 4XX status code. </p>
   13798 
   13799 
   13800 </DD>
   13801 
   13802 <DT><b><a name="smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
   13803 (default: yes)</b></DT><DD>
   13804 
   13805 <p>
   13806 Skip remote SMTP servers that greet with a 5XX status code.
   13807 </p>
   13808 
   13809 <p> By default, the Postfix SMTP client moves on the next mail
   13810 exchanger. Specify "<a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> = no" if Postfix should
   13811 bounce the mail immediately. Caution: the latter behavior appears
   13812 to contradict <a href="https://tools.ietf.org/html/rfc2821">RFC 2821</a>. </p>
   13813 
   13814 
   13815 </DD>
   13816 
   13817 <DT><b><a name="smtp_skip_quit_response">smtp_skip_quit_response</a>
   13818 (default: yes)</b></DT><DD>
   13819 
   13820 <p>
   13821 Do not wait for the response to the SMTP QUIT command.
   13822 </p>
   13823 
   13824 
   13825 </DD>
   13826 
   13827 <DT><b><a name="smtp_starttls_timeout">smtp_starttls_timeout</a>
   13828 (default: 300s)</b></DT><DD>
   13829 
   13830 <p> Time limit for Postfix SMTP client write and read operations
   13831 during TLS startup and shutdown handshake procedures. </p>
   13832 
   13833 <p> Specify a non-zero time value (an integral value plus an optional
   13834 one-letter suffix that specifies the time unit).  Time units: s
   13835 (seconds), m (minutes), h (hours), d (days), w (weeks).
   13836 The default time unit is s (seconds).  </p>
   13837 
   13838 <p> This feature is available in Postfix 2.2 and later.  </p>
   13839 
   13840 
   13841 </DD>
   13842 
   13843 <DT><b><a name="smtp_tcp_port">smtp_tcp_port</a>
   13844 (default: smtp)</b></DT><DD>
   13845 
   13846 <p>
   13847 The default TCP port that the Postfix SMTP client connects to.
   13848 Specify a symbolic name (see services(5)) or a numeric port.
   13849 </p>
   13850 
   13851 
   13852 </DD>
   13853 
   13854 <DT><b><a name="smtp_tls_CAfile">smtp_tls_CAfile</a>
   13855 (default: empty)</b></DT><DD>
   13856 
   13857 <p> A file containing CA certificates of root CAs trusted to sign
   13858 either remote SMTP server certificates or intermediate CA certificates.
   13859 These are loaded into memory before the <a href="smtp.8.html">smtp(8)</a> client enters the
   13860 chroot jail. If the number of trusted roots is large, consider using
   13861 <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> instead, but note that the latter directory must be
   13862 present in the chroot jail if the <a href="smtp.8.html">smtp(8)</a> client is chrooted. This
   13863 file may also be used to augment the client certificate trust chain,
   13864 but it is best to include all the required certificates directly in
   13865 $<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>
   13866 
   13867 <p> Specify "<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /path/to/system_CA_file" to use
   13868 ONLY the system-supplied default Certification Authority certificates.
   13869 </p>
   13870 
   13871 <p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
   13872 appending the system-supplied default CAs and trusting third-party
   13873 certificates. </p>
   13874 
   13875 <p> Example: </p>
   13876 
   13877 <pre>
   13878 <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /etc/postfix/CAcert.pem
   13879 </pre>
   13880 
   13881 <p> This feature is available in Postfix 2.2 and later.  </p>
   13882 
   13883 
   13884 </DD>
   13885 
   13886 <DT><b><a name="smtp_tls_CApath">smtp_tls_CApath</a>
   13887 (default: empty)</b></DT><DD>
   13888 
   13889 <p> Directory with PEM format Certification Authority certificates
   13890 that the Postfix SMTP client uses to verify a remote SMTP server
   13891 certificate.  Don't forget to create the necessary "hash" links
   13892 with, for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs".
   13893 </p>
   13894 
   13895 <p> To use this option in chroot mode, this directory (or a copy)
   13896 must be inside the chroot jail. </p>
   13897 
   13898 <p> Specify "<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /path/to/system_CA_directory" to
   13899 use ONLY the system-supplied default Certification Authority certificates.
   13900 </p>
   13901 
   13902 <p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
   13903 appending the system-supplied default CAs and trusting third-party
   13904 certificates. </p>
   13905 
   13906 <p> Example: </p>
   13907 
   13908 <pre>
   13909 <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /etc/postfix/certs
   13910 </pre>
   13911 
   13912 <p> This feature is available in Postfix 2.2 and later.  </p>
   13913 
   13914 
   13915 </DD>
   13916 
   13917 <DT><b><a name="smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a>
   13918 (default: no)</b></DT><DD>
   13919 
   13920 <p> Try to detect a mail hijacking attack based on a TLS protocol
   13921 vulnerability (CVE-2009-3555), where an attacker prepends malicious
   13922 HELO, MAIL, RCPT, DATA commands to a Postfix SMTP client TLS session.
   13923 The attack would succeed with non-Postfix SMTP servers that reply
   13924 to the malicious HELO, MAIL, RCPT, DATA commands after negotiating
   13925 the Postfix SMTP client TLS session.  </p>
   13926 
   13927 <p> This feature is available in Postfix 2.7. </p>
   13928 
   13929 
   13930 </DD>
   13931 
   13932 <DT><b><a name="smtp_tls_cert_file">smtp_tls_cert_file</a>
   13933 (default: empty)</b></DT><DD>
   13934 
   13935 <p> File with the Postfix SMTP client RSA certificate in PEM format.
   13936 This file may also contain the Postfix SMTP client private RSA key, and
   13937 these may be the same as the Postfix SMTP server RSA certificate and key
   13938 file.  With Postfix &ge; 3.4 the preferred way to configure client keys
   13939 and certificates is via the "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p>
   13940 
   13941 <p> Do not configure client certificates unless you <b>must</b> present
   13942 client TLS certificates to one or more servers. Client certificates are
   13943 not usually needed, and can cause problems in configurations that work
   13944 well without them. The recommended setting is to let the defaults stand: </p>
   13945 
   13946 <blockquote>
   13947 <pre>
   13948 <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> =
   13949 <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> =
   13950 <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> =
   13951 <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> =
   13952 # Obsolete DSA parameters
   13953 <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> =
   13954 <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> =
   13955 # Postfix &ge; 3.4 interface
   13956 <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> =
   13957 </pre>
   13958 </blockquote>
   13959 
   13960 <p> The best way to use the default settings is to comment out the above
   13961 parameters in <a href="postconf.5.html">main.cf</a> if present. </p>
   13962 
   13963 <p> To enable remote SMTP servers to verify the Postfix SMTP client
   13964 certificate, the issuing CA certificates must be made available to the
   13965 server. You should include the required certificates in the client
   13966 certificate file, the client certificate first, then the issuing
   13967 CA(s) (bottom-up order). </p>
   13968 
   13969 <p> Example: the certificate for "client.example.com" was issued by
   13970 "intermediate CA" which itself has a certificate issued by "root CA".
   13971 As the "root" super-user create the client.pem file with: </p>
   13972 
   13973 <blockquote>
   13974 <pre>
   13975 # <b>umask 077</b>
   13976 # <b>cat client_key.pem client_cert.pem intermediate_CA.pem &gt; chain.pem </b>
   13977 </pre>
   13978 </blockquote>
   13979 
   13980 <p> If you also want to verify remote SMTP server certificates issued by
   13981 these CAs, you can add the CA certificates to the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>, in
   13982 which case it is not necessary to have them in the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>,
   13983 <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>
   13984 
   13985 <p> A certificate supplied here must be usable as an SSL client certificate
   13986 and hence pass the "openssl verify -purpose sslclient ..." test. </p>
   13987 
   13988 <p> Example: </p>
   13989 
   13990 <pre>
   13991 <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> = /etc/postfix/chain.pem
   13992 </pre>
   13993 
   13994 <p> This feature is available in Postfix 2.2 and later.  </p>
   13995 
   13996 
   13997 </DD>
   13998 
   13999 <DT><b><a name="smtp_tls_chain_files">smtp_tls_chain_files</a>
   14000 (default: empty)</b></DT><DD>
   14001 
   14002 <p> List of one or more PEM files, each holding one or more private keys
   14003 directly followed by a corresponding certificate chain.  The file names
   14004 are separated by commas and/or whitespace.  This parameter obsoletes the
   14005 legacy algorithm-specific key and certificate file settings.  When this
   14006 parameter is non-empty, the legacy parameters are ignored, and a warning
   14007 is logged if any are also non-empty.  </p>
   14008 
   14009 <p> With the proliferation of multiple private key algorithms&mdash;which,
   14010 as of OpenSSL 1.1.1, include DSA (obsolete), RSA, ECDSA, Ed25519
   14011 and Ed448&mdash;it is increasingly impractical to use separate
   14012 parameters to configure the key and certificate chain for each
   14013 algorithm.  Therefore, Postfix now supports storing multiple keys and
   14014 corresponding certificate chains in a single file or in a set of files.
   14015 
   14016 <p> Each key must appear <b>immediately before</b> the corresponding
   14017 certificate, optionally followed by additional issuer certificates that
   14018 complete the certificate chain for that key.  When multiple files are
   14019 specified, they are equivalent to a single file that is concatenated
   14020 from those files in the given order.  Thus, while a key must always
   14021 precede its certificate and issuer chain, it can be in a separate file,
   14022 so long as that file is listed immediately before the file that holds
   14023 the corresponding certificate chain.  Once all the files are
   14024 concatenated, the sequence of PEM objects must be: <i>key1, cert1,
   14025 [chain1], key2, cert2, [chain2], ..., keyN, certN, [chainN].</i> </p>
   14026 
   14027 <p> Storing the private key in the same file as the corresponding
   14028 certificate is more reliable.  With the key and certificate in separate
   14029 files, there is a chance that during key rollover a Postfix process
   14030 might load a private key and certificate from separate files that don't
   14031 match.  Various operational errors may even result in a persistent
   14032 broken configuration in which the certificate does not match the private
   14033 key. </p>
   14034 
   14035 <p> The file or files must contain at most one key of each type.  If,
   14036 for example, two or more RSA keys and corresponding chains are listed,
   14037 depending on the version of OpenSSL either only the last one will be
   14038 used or a configuration error may be detected.  Note that while
   14039 "Ed25519" and "Ed448" are considered separate algorithms, the various
   14040 ECDSA curves (typically one of prime256v1, secp384r1 or secp521r1) are
   14041 considered as different parameters of a single "ECDSA" algorithm, so it
   14042 is not presently possible to configure keys for more than one ECDSA
   14043 curve.  </p>
   14044 
   14045 <p>
   14046 Example (separate files for each key and corresponding certificate chain):
   14047 </p>
   14048 <blockquote>
   14049 <pre>
   14050 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   14051     <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> =
   14052         ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed25519.pem,
   14053         ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed448.pem,
   14054         ${<a href="postconf.5.html#config_directory">config_directory</a>}/rsa.pem
   14055 </pre>
   14056 </blockquote>
   14057 
   14058 <blockquote>
   14059 <pre>
   14060 /etc/postfix/ed25519.pem:
   14061     -----BEGIN PRIVATE KEY-----
   14062     MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3
   14063     -----END PRIVATE KEY-----
   14064     -----BEGIN CERTIFICATE-----
   14065     MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG
   14066     ...
   14067     nC0egv51YPDWxEHom4QA
   14068     -----END CERTIFICATE-----
   14069 </pre>
   14070 </blockquote>
   14071 
   14072 <blockquote>
   14073 <pre>
   14074 /etc/postfix/ed448.pem:
   14075     -----BEGIN PRIVATE KEY-----
   14076     MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe
   14077     LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A==
   14078     -----END PRIVATE KEY-----
   14079     -----BEGIN CERTIFICATE-----
   14080     MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG
   14081     ...
   14082     pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA
   14083     -----END CERTIFICATE-----
   14084 </pre>
   14085 </blockquote>
   14086 
   14087 <blockquote>
   14088 <pre>
   14089 /etc/postfix/rsa.pem:
   14090     -----BEGIN PRIVATE KEY-----
   14091     MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL
   14092     ...
   14093     ahQkZ3+krcaJvDSMgvu0tDc=
   14094     -----END PRIVATE KEY-----
   14095     -----BEGIN CERTIFICATE-----
   14096     MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL
   14097     ...
   14098     Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE=
   14099     -----END CERTIFICATE-----
   14100 </pre>
   14101 </blockquote>
   14102 
   14103 <p>
   14104 Example (all keys and certificates in a single file):
   14105 </p>
   14106 <blockquote>
   14107 <pre>
   14108 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   14109     <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
   14110 </pre>
   14111 </blockquote>
   14112 
   14113 <blockquote>
   14114 <pre>
   14115 /etc/postfix/chains.pem:
   14116     -----BEGIN PRIVATE KEY-----
   14117     MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3
   14118     -----END PRIVATE KEY-----
   14119     -----BEGIN CERTIFICATE-----
   14120     MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG
   14121     ...
   14122     nC0egv51YPDWxEHom4QA
   14123     -----END CERTIFICATE-----
   14124     -----BEGIN PRIVATE KEY-----
   14125     MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe
   14126     LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A==
   14127     -----END PRIVATE KEY-----
   14128     -----BEGIN CERTIFICATE-----
   14129     MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG
   14130     ...
   14131     pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA
   14132     -----END CERTIFICATE-----
   14133     -----BEGIN PRIVATE KEY-----
   14134     MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL
   14135     ...
   14136     ahQkZ3+krcaJvDSMgvu0tDc=
   14137     -----END PRIVATE KEY-----
   14138     -----BEGIN CERTIFICATE-----
   14139     MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL
   14140     ...
   14141     Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE=
   14142     -----END CERTIFICATE-----
   14143 </pre>
   14144 </blockquote>
   14145 
   14146 <p> This feature is available in Postfix 3.4 and later.  </p>
   14147 
   14148 
   14149 </DD>
   14150 
   14151 <DT><b><a name="smtp_tls_cipherlist">smtp_tls_cipherlist</a>
   14152 (default: empty)</b></DT><DD>
   14153 
   14154 <p> Obsolete Postfix &lt; 2.3 control for the Postfix SMTP client TLS
   14155 cipher list. As this feature applies to all TLS security levels, it is easy
   14156 to create interoperability problems by choosing a non-default cipher
   14157 list. Do not use a non-default TLS cipher list on hosts that deliver email
   14158 to the public Internet: you will be unable to send email to servers that
   14159 only support the ciphers you exclude. Using a restricted cipher list
   14160 may be more appropriate for an internal MTA, where one can exert some
   14161 control over the TLS software and settings of the peer servers. </p>
   14162 
   14163 <p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
   14164 
   14165 <p> This feature is available in Postfix version 2.2. It is not used with
   14166 Postfix 2.3 and later; use <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> instead. </p>
   14167 
   14168 
   14169 </DD>
   14170 
   14171 <DT><b><a name="smtp_tls_ciphers">smtp_tls_ciphers</a>
   14172 (default: medium)</b></DT><DD>
   14173 
   14174 <p> The minimum TLS cipher grade that the Postfix SMTP client
   14175 will use with opportunistic TLS encryption. Cipher types listed in
   14176 <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> are excluded from the base definition of
   14177 the selected cipher grade.   The default value is "medium" for
   14178 Postfix releases after the middle of 2015, "export" for older
   14179 releases.  </p>
   14180 
   14181 <p> When TLS is mandatory the cipher grade is chosen via the
   14182 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
   14183 details. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure
   14184 ciphers on a per-destination basis. </p>
   14185 
   14186 <p> This feature is available in Postfix 2.6 and later. With earlier Postfix
   14187 releases only the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter is implemented,
   14188 and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
   14189 
   14190 
   14191 </DD>
   14192 
   14193 <DT><b><a name="smtp_tls_connection_reuse">smtp_tls_connection_reuse</a>
   14194 (default: no)</b></DT><DD>
   14195 
   14196 <p> Try to make multiple deliveries per TLS-encrypted connection.
   14197 This uses the <a href="tlsproxy.8.html">tlsproxy(8)</a> service to encrypt an SMTP connection,
   14198 uses the <a href="scache.8.html">scache(8)</a> service to save that connection, and relies on
   14199 hints from the <a href="qmgr.8.html">qmgr(8)</a> daemon. </p>
   14200 
   14201 <p> See "<a href="TLS_README.html#client_tls_reuse">Client-side
   14202 TLS connection reuse</a>" for background details. </p>
   14203 
   14204 <p> This feature is available in Postfix 3.4 and later.  </p>
   14205 
   14206 
   14207 </DD>
   14208 
   14209 <DT><b><a name="smtp_tls_dane_insecure_mx_policy">smtp_tls_dane_insecure_mx_policy</a>
   14210 (default: dane)</b></DT><DD>
   14211 
   14212 <p> The TLS policy for MX hosts with "secure" TLSA records when the
   14213 nexthop destination security level is <b>dane</b>, but the MX
   14214 record was found via an "insecure" MX lookup.  The choices are:
   14215 </p>
   14216 
   14217 <dl>
   14218 <dt><b>may</b></dt>
   14219 <dd> The TLSA records will be ignored and TLS will be optional.  If
   14220 the MX host does not appear to support STARTTLS, or the STARTTLS
   14221 handshake fails, mail may be sent in the clear. </dd>
   14222 <dt><b>encrypt</b></dt>
   14223 <dd> The TLSA records will signal a requirement to use TLS.  While
   14224 TLS encryption will be required, authentication will not be performed.
   14225 </dd>
   14226 <dt><b>dane</b></dt>
   14227 <dd>The TLSA records will be used just as with "secure" MX records.
   14228 TLS encryption will be required, and, if at least one of the TLSA
   14229 records is "usable", authentication will be required.  When
   14230 authentication succeeds, it will be logged only as "Trusted", not
   14231 "Verified", because the MX host name could have been forged.  </dd>
   14232 </dl>
   14233 
   14234 <p> The default setting is "dane" as of Postfix versions 3.6.17,
   14235 3.7.13, 3.8.8, 3.9.2, and 3.10.0. With earlier versions the default
   14236 was mistakenly dependent on the <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> setting.
   14237 </p>
   14238 
   14239 <p> Though with "insecure" MX records an active attacker can
   14240 compromise SMTP transport security by returning forged MX records,
   14241 such attacks are "tamper-evident" since any forged MX hostnames
   14242 will be recorded in the mail logs.  Attackers who place a high value
   14243 on staying hidden may be deterred from forging MX records. </p>
   14244 
   14245 <p>
   14246 This feature is available in Postfix 3.1 and later. The <b>may</b>
   14247 policy is backwards-compatible with earlier Postfix versions.
   14248 </p>
   14249 
   14250 
   14251 </DD>
   14252 
   14253 <DT><b><a name="smtp_tls_dcert_file">smtp_tls_dcert_file</a>
   14254 (default: empty)</b></DT><DD>
   14255 
   14256 <p> File with the Postfix SMTP client DSA certificate in PEM format.
   14257 This file may also contain the Postfix SMTP client private DSA key.
   14258 The DSA algorithm is obsolete and should not be used. </p>
   14259 
   14260 <p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
   14261 </p>
   14262 
   14263 <p> Example: </p>
   14264 
   14265 <pre>
   14266 <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem
   14267 </pre>
   14268 
   14269 <p> This feature is available in Postfix 2.2 and later.  </p>
   14270 
   14271 
   14272 </DD>
   14273 
   14274 <DT><b><a name="smtp_tls_dkey_file">smtp_tls_dkey_file</a>
   14275 (default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD>
   14276 
   14277 <p> File with the Postfix SMTP client DSA private key in PEM format.
   14278 This file may be combined with the Postfix SMTP client DSA certificate
   14279 file specified with $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>. The DSA algorithm is obsolete
   14280 and should not be used. </p>
   14281 
   14282 <p> The private key must be accessible without a pass-phrase, i.e. it
   14283 must not be encrypted. File permissions should grant read-only
   14284 access to the system superuser account ("root"), and no access
   14285 to anyone else. </p>
   14286 
   14287 <p> This feature is available in Postfix 2.2 and later.  </p>
   14288 
   14289 
   14290 </DD>
   14291 
   14292 <DT><b><a name="smtp_tls_eccert_file">smtp_tls_eccert_file</a>
   14293 (default: empty)</b></DT><DD>
   14294 
   14295 <p> File with the Postfix SMTP client ECDSA certificate in PEM format.
   14296 This file may also contain the Postfix SMTP client ECDSA private key.
   14297 With Postfix &ge; 3.4 the preferred way to configure client keys and
   14298 certificates is via the "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p>
   14299 
   14300 <p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
   14301 </p>
   14302 
   14303 <p> Example: </p>
   14304 
   14305 <pre>
   14306 <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> = /etc/postfix/ecdsa-ccert.pem
   14307 </pre>
   14308 
   14309 <p> This feature is available in Postfix 2.6 and later, when Postfix is
   14310 compiled and linked with OpenSSL 1.0.0 or later. </p>
   14311 
   14312 
   14313 </DD>
   14314 
   14315 <DT><b><a name="smtp_tls_eckey_file">smtp_tls_eckey_file</a>
   14316 (default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD>
   14317 
   14318 <p> File with the Postfix SMTP client ECDSA private key in PEM format.
   14319 This file may be combined with the Postfix SMTP client ECDSA certificate
   14320 file specified with $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>.  With Postfix &ge; 3.4 the
   14321 preferred way to configure client keys and certificates is via the
   14322 "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p>
   14323 
   14324 <p> The private key must be accessible without a pass-phrase, i.e. it
   14325 must not be encrypted. File permissions should grant read-only
   14326 access to the system superuser account ("root"), and no access
   14327 to anyone else. </p>
   14328 
   14329 <p> This feature is available in Postfix 2.6 and later, when Postfix is
   14330 compiled and linked with OpenSSL 1.0.0 or later. </p>
   14331 
   14332 
   14333 </DD>
   14334 
   14335 <DT><b><a name="smtp_tls_enable_rpk">smtp_tls_enable_rpk</a>
   14336 (default: no)</b></DT><DD>
   14337 
   14338 <p> Request that remote SMTP servers send an <a href="https://tools.ietf.org/html/rfc7250">RFC7250</a> raw public key
   14339 instead of an X.509 certificate. This feature and the enable_rpk
   14340 policy attribute are ignored when there is no raw public key support
   14341 in the local TLS implementation.  </p>
   14342 
   14343 <ul>
   14344 
   14345 <li> <p> At the "may", "encrypt" and "fingerprint" security levels,
   14346 with parameter setting "<a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> = yes" or with "enable_rpk
   14347 = yes" in a policy entry, the Postfix SMTP client will indicate in
   14348 the TLS handshake that it prefers to receive a raw server public
   14349 key, but it will still accept a server public key certificate. </p>
   14350 
   14351 <li> <p> At the "fingerprint" security level, with parameter setting
   14352 "<a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> = yes" or with "enable_rpk = yes" in a policy
   14353 entry, server authentication based on certificate fingerprints
   14354 becomes more fragile.  Even if the server private key and certificate
   14355 remain unchanged, the remote SMTP server will fail fingerprint
   14356 authentication (won't match the configured list of fingerprints)
   14357 when it starts sending a raw public key instead of a certificate,
   14358 after its TLS implementation is updated with raw public key support.
   14359 Therefore, <b>DO NOT</b> enable raw public keys to remote destinations
   14360 authenticated by server <b>certificate</b> fingerprints.  You should
   14361 enable raw public keys only for servers matched via their public
   14362 key fingerprint.  </p>
   14363 
   14364 <li> <p> At the "verify" and "secure" security levels, the Postfix
   14365 SMTP client always ignores the parameter setting <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a>
   14366 or the enable_rpk policy attribute. </p>
   14367 
   14368 <li> <p> At the opportunistic "dane" security level, the Postfix
   14369 SMTP client ignores the parameter setting <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> or
   14370 the enable_rpk policy attribute (but it will respect them when it
   14371 falls back to the "may" or "encrypt" level). When all valid TLSA
   14372 records specify only server public keys (no certificates) and the
   14373 local TLS implementation supports raw public keys, the client will
   14374 indicate in the TLS handshake that it prefers to receive a raw
   14375 public key, but it will still accept a public key certificate. </p>
   14376 
   14377 <li> <p> At the mandatory "dane-only" security level, the Postfix
   14378 SMTP client always ignores the parameter setting <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a>
   14379 or the enable_rpk policy attribute. When all valid TLSA records
   14380 specify only server public keys (no certificates) and the local TLS
   14381 implementation supports raw public keys, the client will indicate
   14382 in the TLS handshake that it prefers to receive a raw public key,
   14383 but it will still accept a public key certificate. </p>
   14384 
   14385 </ul>
   14386 
   14387 <p>The Postfix SMTP client is always willing to send raw public keys
   14388 to servers that solicit them when a client certificate is configured
   14389 and the local TLS implementation supports raw public keys. </p>
   14390 
   14391 <p> Sample commands to compute certificate and public key SHA256 digests: </p>
   14392 
   14393 <pre>
   14394 # SHA256 digest of the first certificate in "cert.pem"
   14395 $ openssl x509 -in cert.pem -outform DER | openssl dgst -sha256 -c
   14396 </pre>
   14397 
   14398 <pre>
   14399 # SHA256 digest of the SPKI of the first certificate in "cert.pem"
   14400 $ openssl x509 -in cert.pem -pubkey -noout |
   14401     openssl pkey -pubin -outform DER | openssl dgst -sha256 -c
   14402 </pre>
   14403 
   14404 <pre>
   14405 # SHA256 digest of the SPKI of the first private key in "pkey.pem"
   14406 $ openssl pkey -in pkey.pem -pubout -outform DER |
   14407     openssl dgst -sha256 -c
   14408 </pre>
   14409 
   14410 <p> This feature is available in Postfix 3.9 and later. </p>
   14411 
   14412 
   14413 </DD>
   14414 
   14415 <DT><b><a name="smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
   14416 (default: yes)</b></DT><DD>
   14417 
   14418 <p> With mandatory TLS encryption, require that the remote SMTP
   14419 server hostname matches the information in the remote SMTP server
   14420 certificate.  As of <a href="https://tools.ietf.org/html/rfc2487">RFC 2487</a> the requirements for hostname checking
   14421 for MTA clients are not specified. </p>
   14422 
   14423 <p> This option can be set to "no" to disable strict peer name
   14424 checking. This setting has no effect on sessions that are controlled
   14425 via the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table.  </p>
   14426 
   14427 <p> Disabling the hostname verification can make sense in a closed
   14428 environment where special CAs are created.  If not used carefully,
   14429 this option opens the danger of a "man-in-the-middle" attack (the
   14430 CommonName of this attacker will be logged). </p>
   14431 
   14432 <p> This feature is available in Postfix 2.2 and later. With
   14433 Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
   14434 
   14435 
   14436 </DD>
   14437 
   14438 <DT><b><a name="smtp_tls_enforce_sts_mx_patterns">smtp_tls_enforce_sts_mx_patterns</a>
   14439 (default: yes)</b></DT><DD>
   14440 
   14441 <p> Transform the TLS policy from an STS policy plugin: connect to
   14442 an MX host only if its name matches any STS policy MX host pattern,
   14443 and match the server certificate against the MX hostname. This
   14444 setting takes effect only when an STS policy plugin has TLSRPT
   14445 support enabled, so that it forwards STS policy attributes to
   14446 Postfix. This works even if Postfix TLSRPT support is disabled at
   14447 build time or at runtime. </p>
   14448 
   14449 <p> Without the above configuration settings for Postfix and STS
   14450 plugins, the old behavior stays in effect: connect to any MX host
   14451 listed in DNS, and match a server certificate against any STS policy
   14452 MX host pattern. </p>
   14453 
   14454 <p> This feature is available in Postfix &ge; 3.10.5. </p>
   14455 
   14456 
   14457 </DD>
   14458 
   14459 <DT><b><a name="smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
   14460 (default: empty)</b></DT><DD>
   14461 
   14462 <p> List of ciphers or cipher types to exclude from the Postfix
   14463 SMTP client cipher
   14464 list at all TLS security levels. This is not an OpenSSL cipherlist, it is
   14465 a simple list separated by whitespace and/or commas. The elements are a
   14466 single cipher, or one or more "+" separated cipher properties, in which
   14467 case only ciphers matching <b>all</b> the properties are excluded. </p>
   14468 
   14469 <p> Examples (some of these will cause problems): </p>
   14470 
   14471 <blockquote>
   14472 <pre>
   14473 <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL
   14474 <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = MD5, DES
   14475 <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = DES+MD5
   14476 <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
   14477 <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = kEDH+aRSA
   14478 </pre>
   14479 </blockquote>
   14480 
   14481 <p> The first setting disables anonymous ciphers. The next setting
   14482 disables ciphers that use the MD5 digest algorithm or the (single) DES
   14483 encryption algorithm. The next setting disables ciphers that use MD5 and
   14484 DES together.  The next setting disables the two ciphers "AES256-SHA"
   14485 and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
   14486 key exchange with RSA authentication. </p>
   14487 
   14488 <p> This feature is available in Postfix 2.3 and later. </p>
   14489 
   14490 
   14491 </DD>
   14492 
   14493 <DT><b><a name="smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
   14494 (default: empty)</b></DT><DD>
   14495 
   14496 <p> List of acceptable remote SMTP server certificate fingerprints for
   14497 the "fingerprint" TLS security level (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> =
   14498 fingerprint). At this security level, Certification Authorities are not
   14499 used, and certificate expiration times are ignored. Instead, server
   14500 certificates are verified directly via their certificate fingerprint
   14501 or public key fingerprint (Postfix 2.9 and later). The fingerprint
   14502 is a message digest of the server certificate (or public key). The
   14503 digest algorithm is selected via the <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b>
   14504 parameter. </p>
   14505 
   14506 <p> The colons between each pair of nibbles in the fingerprint value
   14507 are optional (Postfix &ge; 3.6). These were required in earlier
   14508 Postfix releases. </p>
   14509 
   14510 <p> When an <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a></b> table entry specifies the
   14511 "fingerprint" security level, any "match" attributes in that entry specify
   14512 the list of valid fingerprints for the corresponding destination. Multiple
   14513 fingerprints can be combined with a "|" delimiter in a single match
   14514 attribute, or multiple match attributes can be employed. </p>
   14515 
   14516 <p> Example: Certificate fingerprint verification with internal mailhub.
   14517 Two matching fingerprints are listed. The <a href="postconf.5.html#relayhost">relayhost</a> may be multiple
   14518 physical hosts behind a load-balancer, each with its own private/public
   14519 key and self-signed certificate. Alternatively, a single <a href="postconf.5.html#relayhost">relayhost</a> may
   14520 be in the process of switching from one set of private/public keys to
   14521 another, and both keys are trusted just prior to the transition. </p>
   14522 
   14523 <blockquote>
   14524 <pre>
   14525 <a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
   14526 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
   14527 <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = sha256
   14528 <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
   14529     cd:fc:d8:db:f8:c4:82:96:6c:...:28:71:e8:f5:8d:a5:0d:9b:d4:a6
   14530     dd:5c:ef:f5:c3:bc:64:25:36:...:99:36:06:ce:40:ef:de:2e:ad:a4
   14531 </pre>
   14532 </blockquote>
   14533 
   14534 <p> Example: Certificate fingerprint verification with selected destinations.
   14535 As in the example above, we show two matching fingerprints: </p>
   14536 
   14537 <blockquote>
   14538 <pre>
   14539 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   14540     <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/tls_policy
   14541     <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = sha256
   14542 </pre>
   14543 </blockquote>
   14544 
   14545 <blockquote>
   14546 <pre>
   14547 /etc/postfix/tls_policy:
   14548     example.com fingerprint
   14549         match=51:e9:af:2e:1e:40:1f:...:64:0a:30:35:2d:09:16:31:5a:eb:82:76
   14550         match=b6:b4:72:34:e2:59:cd:...:c2:ca:63:0d:4d:cc:2c:7d:84:de:e6:2f
   14551 </pre>
   14552 </blockquote>
   14553 
   14554 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   14555 
   14556 <p> Execute the command "postmap /etc/postfix/tls_policy" after you
   14557 change the tls_policy file, to (re)build a default-type indexed file.
   14558 Execute "postmap <i>type</i>:/etc/postfix/tls_policy" to specify an
   14559 explicit type. </p>
   14560 
   14561 <p> The default indexed file type is configured with the
   14562 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   14563 execute the command "postconf -m". </p>
   14564 
   14565 <p> Configuration changes will become visible after a minute or so.
   14566 Use "postfix reload" to eliminate the delay. </p>
   14567 
   14568 <p> This feature is available in Postfix 2.5 and later. </p>
   14569 
   14570 
   14571 </DD>
   14572 
   14573 <DT><b><a name="smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
   14574 (default: see "postconf -d" output)</b></DT><DD>
   14575 
   14576 <p> The message digest algorithm used to construct remote SMTP server
   14577 certificate fingerprints. At the "fingerprint" TLS security level
   14578 (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> = fingerprint), the server certificate is
   14579 verified by directly matching its certificate fingerprint or its public
   14580 key fingerprint (Postfix 2.9 and later). The fingerprint is the
   14581 message digest of the server certificate (or its public key)
   14582 using the selected
   14583 algorithm. With a digest algorithm resistant to "second pre-image"
   14584 attacks, it is not feasible to create a new public key and a matching
   14585 certificate (or public/private key-pair) that has the same fingerprint. </p>
   14586 
   14587 <p> The default algorithm is <b>sha256</b> with Postfix &ge; 3.6
   14588 and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix
   14589 &le; 3.5, the default algorithm is <b>md5</b>. </p>
   14590 
   14591 <p> The best-practice algorithm is now <b>sha256</b>. Recent advances in hash
   14592 function cryptanalysis have led to md5 and sha1 being deprecated in favor of
   14593 sha256.  However, as long as there are no known "second pre-image" attacks
   14594 against the older algorithms, their use in this context, though not
   14595 recommended, is still likely safe.  </p>
   14596 
   14597 <p> While additional digest algorithms are often available with OpenSSL's
   14598 libcrypto, only those used by libssl in SSL cipher suites are available to
   14599 Postfix.  You'll likely find support for md5, sha1, sha256 and sha512. </p>
   14600 
   14601 <p> To find the fingerprint of a specific certificate file, with a
   14602 specific digest algorithm, run:
   14603 </p>
   14604 
   14605 <blockquote>
   14606 <pre>
   14607 $ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
   14608 </pre>
   14609 </blockquote>
   14610 
   14611 <p> The text to the right of the "=" sign is the desired fingerprint.
   14612 For example: </p>
   14613 
   14614 <blockquote>
   14615 <pre>
   14616 $ openssl x509 -noout -fingerprint -sha256 -in cert.pem
   14617 SHA256 Fingerprint=D4:6A:AB:19:24:...:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
   14618 </pre>
   14619 </blockquote>
   14620 
   14621 <p> To extract the public key fingerprint from an X.509 certificate,
   14622 you need to extract the public key from the certificate and compute
   14623 the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
   14624 the "-pubkey" option of the "x509" command extracts the public
   14625 key always in "PEM" format. We pipe the result to another OpenSSL
   14626 command that converts the key to DER and then to the "dgst" command
   14627 to compute the fingerprint. </p>
   14628 
   14629 <p> The actual command to transform the key to DER format depends on the
   14630 version of OpenSSL used. As of OpenSSL 1.0.0, the "pkey" command supports
   14631 all key types. </p>
   14632 <blockquote>
   14633 <pre>
   14634 # OpenSSL &ge; 1.0 with SHA-256 fingerprints.
   14635 $ openssl x509 -in cert.pem -noout -pubkey |
   14636     openssl pkey -pubin -outform DER |
   14637     openssl dgst -sha256 -c
   14638 (stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:...:fc:09:1a:61:98:b5:bc:7c:60:58
   14639 </pre>
   14640 </blockquote>
   14641 
   14642 <p> The Postfix SMTP server and client log the peer (leaf) certificate
   14643 fingerprint and the public key fingerprint when the TLS loglevel is 2 or
   14644 higher. </p>
   14645 
   14646 <p> This feature is available in Postfix 2.5 and later. </p>
   14647 
   14648 
   14649 </DD>
   14650 
   14651 <DT><b><a name="smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a>
   14652 (default: no)</b></DT><DD>
   14653 
   14654 <p> Lookup the associated DANE TLSA RRset even when a hostname is
   14655 not an alias and its address records lie in an unsigned zone.  This
   14656 is unlikely to ever yield DNSSEC validated results, since child
   14657 zones of unsigned zones are also unsigned in the absence of DLV or
   14658 locally configured non-root trust-anchors.  We anticipate that such
   14659 mechanisms will not be used for just the "_tcp" subdomain of a host.
   14660 Suppressing the TLSA RRset lookup reduces latency and avoids potential
   14661 interoperability problems with nameservers for unsigned zones that
   14662 are not prepared to handle the new TLSA RRset.  </p>
   14663 
   14664 <p> This feature is available in Postfix 2.11. </p>
   14665 
   14666 
   14667 </DD>
   14668 
   14669 <DT><b><a name="smtp_tls_key_file">smtp_tls_key_file</a>
   14670 (default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD>
   14671 
   14672 <p> File with the Postfix SMTP client RSA private key in PEM format.
   14673 This file may be combined with the Postfix SMTP client RSA certificate
   14674 file specified with $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>.  With Postfix &ge; 3.4 the
   14675 preferred way to configure client keys and certificates is via the
   14676 "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p>
   14677 
   14678 <p> The private key must be accessible without a pass-phrase, i.e. it
   14679 must not be encrypted. File permissions should grant read-only
   14680 access to the system superuser account ("root"), and no access
   14681 to anyone else. </p>
   14682 
   14683 <p> Example: </p>
   14684 
   14685 <pre>
   14686 <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>
   14687 </pre>
   14688 
   14689 <p> This feature is available in Postfix 2.2 and later.  </p>
   14690 
   14691 
   14692 </DD>
   14693 
   14694 <DT><b><a name="smtp_tls_loglevel">smtp_tls_loglevel</a>
   14695 (default: 0)</b></DT><DD>
   14696 
   14697 <p> Enable additional Postfix SMTP client logging of TLS activity.
   14698 Each logging level also includes the information that is logged at
   14699 a lower logging level.  </p>
   14700 
   14701 <dl compact>
   14702 
   14703 <dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
   14704 
   14705 <dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
   14706 &mdash; no logging of remote SMTP server certificate trust-chain
   14707 verification errors if server certificate verification is not required.
   14708 With Postfix 2.8 and earlier, log the summary message and unconditionally
   14709 log trust-chain verification errors.  </dd>
   14710 
   14711 <dt> </dt> <dd> 2 Also enable verbose logging in the Postfix TLS
   14712 library, log session cache operations, and enable OpenSSL logging
   14713 of the progress of the SSL handshake. </dd>
   14714 
   14715 <dt> </dt> <dd> 3 Also log the hexadecimal and ASCII dump of the
   14716 TLS negotiation process.  </dd>
   14717 
   14718 <dt> </dt> <dd> 4 Also log the hexadecimal and ASCII dump of complete
   14719 transmission after STARTTLS. </dd>
   14720 
   14721 </dl>
   14722 
   14723 <p> Do not use "<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> = 2" or higher except in case of
   14724 problems. Use of loglevel 4 is strongly discouraged. </p>
   14725 
   14726 <p> This feature is available in Postfix 2.2 and later.  </p>
   14727 
   14728 
   14729 </DD>
   14730 
   14731 <DT><b><a name="smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
   14732 (default: medium)</b></DT><DD>
   14733 
   14734 <p> The minimum TLS cipher grade that the Postfix SMTP client will
   14735 use with
   14736 mandatory TLS encryption.  The default value "medium" is suitable
   14737 for most destinations with which you may want to enforce TLS, and
   14738 is beyond the reach of today's cryptanalytic methods. See
   14739 <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure ciphers
   14740 on a per-destination basis. </p>
   14741 
   14742 <p> The following cipher grades are supported: </p>
   14743 
   14744 <dl>
   14745 <dt><b>high</b></dt>
   14746 <dd> Enable only "HIGH" grade OpenSSL ciphers.  This setting may
   14747 be appropriate when all mandatory TLS destinations (e.g. when all
   14748 mail is routed to a suitably capable <a href="postconf.5.html#relayhost">relayhost</a>) support at least one
   14749 "HIGH" grade cipher. The underlying cipherlist is specified via the
   14750 <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a> configuration parameter, which you are strongly
   14751 encouraged not to change. </dd>
   14752 
   14753 <dt><b>medium</b></dt>
   14754 <dd> Enable "MEDIUM" grade or better OpenSSL ciphers.
   14755 The underlying cipherlist is specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a>
   14756 configuration parameter, which you are strongly encouraged not to change.
   14757 </dd>
   14758 
   14759 <dt><b>null</b></dt>
   14760 <dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
   14761 without encryption.  This setting is only appropriate in the rare case
   14762 that all servers are prepared to use NULL ciphers (not normally enabled
   14763 in TLS servers). A plausible use-case is an LMTP server listening on a
   14764 UNIX-domain socket that is configured to support "NULL" ciphers. The
   14765 underlying cipherlist is specified via the <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a>
   14766 configuration parameter, which you are strongly encouraged not to
   14767 change. </dd>
   14768 
   14769 <dt><b>low</b></dt>
   14770 <dd> Enable "LOW" grade or stronger OpenSSL ciphers.  In Postfix
   14771 &ge; 3.8 this cipher grade is always identical to "medium".  Recent
   14772 versions of OpenSSL do not support any "LOW" grade ciphers.  In
   14773 earlier Postfix releases the underlying cipherlist was specified
   14774 via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration parameter, which you are
   14775 strongly encouraged not to change.  This obsolete cipher grade
   14776 SHOULD NOT be used.  </dd>
   14777 
   14778 <dt><b>export</b></dt>
   14779 <dd> Enable "EXPORT" grade or stronger OpenSSL ciphers.  In Postfix
   14780 &ge; 3.8 this cipher grade is always identical to "medium".  Recent
   14781 versions of OpenSSL do not support any "EXPORT" grade ciphers.  In
   14782 earlier Postfix releases the underlying cipherlist was specified
   14783 via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration parameter, which you are
   14784 strongly encouraged not to change.  This obsolete cipher grade
   14785 SHOULD NOT be used.  </dd>
   14786 
   14787 </dl>
   14788 
   14789 <p> The underlying cipherlists for grades other than "null" include
   14790 anonymous ciphers, but these are automatically filtered out if the
   14791 Postfix SMTP client is configured to verify server certificates.
   14792 You are very unlikely to need to take any steps to exclude anonymous
   14793 ciphers, they are excluded automatically as necessary.  If you must
   14794 exclude anonymous ciphers at the "may" or "encrypt" security levels,
   14795 when the Postfix SMTP client does not need or use peer certificates, set
   14796 "<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only when
   14797 TLS is enforced, set "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
   14798 
   14799 <p> This feature is available in Postfix 2.3 and later. </p>
   14800 
   14801 
   14802 </DD>
   14803 
   14804 <DT><b><a name="smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
   14805 (default: empty)</b></DT><DD>
   14806 
   14807 <p> Additional list of ciphers or cipher types to exclude from the
   14808 Postfix SMTP client cipher list at mandatory TLS security levels. This list
   14809 works in addition to the exclusions listed with <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
   14810 (see there for syntax details).  </p>
   14811 
   14812 <p> Starting with Postfix 2.6, the mandatory cipher exclusions can be
   14813 specified on a per-destination basis via the TLS policy "exclude"
   14814 attribute. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for notes and examples. </p>
   14815 
   14816 <p> This feature is available in Postfix 2.3 and later. </p>
   14817 
   14818 
   14819 </DD>
   14820 
   14821 <DT><b><a name="smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
   14822 (default: see "postconf -d" output)</b></DT><DD>
   14823 
   14824 <p> TLS protocols that the Postfix SMTP client will use with mandatory
   14825 TLS encryption.  In <a href="postconf.5.html">main.cf</a> the values are separated by whitespace,
   14826 commas or colons. In the policy table "protocols" attribute (see
   14827 <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon. An empty value
   14828 means allow all protocols. </p>
   14829 
   14830 <p> The valid protocol names (see SSL_get_version(3)) are "SSLv2",
   14831 "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" and "TLSv1.3".  Starting with
   14832 Postfix 3.6, the default value is "&gt;=TLSv1", which sets TLS 1.0 as
   14833 the lowest supported TLS protocol version (see below).  Older releases
   14834 use the "!" exclusion syntax, also described below.  </p>
   14835 
   14836 <p> As of Postfix 3.6, the preferred way to limit the range of
   14837 acceptable protocols is to set a lowest acceptable TLS protocol version
   14838 and/or a highest acceptable TLS protocol version.  To set the lower
   14839 bound include an element of the form: "&gt;=<i>version</i>" where
   14840 <i>version</i> is a either one of the TLS protocol names listed above,
   14841 or a hexadecimal number corresponding to the desired TLS protocol
   14842 version (0301 for TLS 1.0, 0302 for TLS 1.1, etc.).  For the upper
   14843 bound, use "&lt;=<i>version</i>".  There must be no whitespace between
   14844 the "&gt;=" or "&lt;=" symbols and the protocol name or number. </p>
   14845 
   14846 <p> Hexadecimal protocol numbers make it possible to specify protocol
   14847 bounds for TLS versions that are known to OpenSSL, but might not be
   14848 known to Postfix.  They cannot be used with the legacy exclusion syntax.
   14849 Leading "0" or "0x" prefixes are supported, but not required.
   14850 Therefore, "301", "0301", "0x301" and "0x0301" are all equivalent to
   14851 "TLSv1".  Hexadecimal versions unknown to OpenSSL will fail to set the
   14852 upper or lower bound, and a warning will be logged.  Hexadecimal
   14853 versions should only be used when Postfix is linked with some future
   14854 version of OpenSSL that supports TLS 1.4 or later, but Postfix does not
   14855 yet support a symbolic name for that protocol version. </p>
   14856 
   14857 <p>Hexadecimal example (Postfix &ge; 3.6):</p>
   14858 <blockquote>
   14859 <pre>
   14860 # Allow only TLS 1.2 through (hypothetical) TLS 1.4, once supported
   14861 # in some future version of OpenSSL (presently a warning is logged).
   14862 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = &gt;=TLSv1.2, &lt;=0305
   14863 # Allow only TLS 1.2 and up:
   14864 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = &gt;=0x0303
   14865 </pre>
   14866 </blockquote>
   14867 
   14868 <p> With Postfix &lt; 3.6 there is no support for a minimum or maximum
   14869 version, and the protocol range is configured via protocol exclusions.
   14870 To require at least TLS 1.0, set "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2,
   14871 !SSLv3". Listing the protocols to include, rather than the protocols to
   14872 exclude, is supported, but not recommended.  The exclusion syntax more
   14873 accurately matches the underlying OpenSSL interface.  </p>
   14874 
   14875 <p> When using the exclusion syntax, take care to ensure that the range
   14876 of protocols supported by the Postfix SMTP client is contiguous.  When
   14877 a protocol version is enabled, disabling any higher version implicitly
   14878 disables all versions above that higher version.  Thus, for example: </p>
   14879 
   14880 <blockquote>
   14881 <pre>
   14882 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3, !TLSv1.1
   14883 </pre>
   14884 </blockquote>
   14885 
   14886 <p> also disables any protocol versions higher than TLSv1.1 leaving
   14887 only "TLSv1" enabled.  </p>
   14888 
   14889 <p> Support for "TLSv1.3" was introduced in OpenSSL 1.1.1.  Disabling
   14890 this protocol via "!TLSv1.3" is supported since Postfix 3.4 (or patch
   14891 releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2).  </p>
   14892 
   14893 <p> While the vast majority of SMTP servers with DANE TLSA records now
   14894 support at least TLS 1.2, a few still only support TLS 1.0.  If you use
   14895 "dane" or "dane-only" it is best not to disable TLSv1, except perhaps
   14896 via the policy table for destinations which you are sure will support
   14897 "TLSv1.2".  </p>
   14898 
   14899 <p> See the documentation of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> parameter and
   14900 <a href="TLS_README.html">TLS_README</a> for more information about security levels. </p>
   14901 
   14902 <p> Example: </p>
   14903 <pre>
   14904 # Preferred syntax with Postfix &ge; 3.6:
   14905 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = &gt;=TLSv1.2, &lt;=TLSv1.3
   14906 # Legacy syntax:
   14907 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
   14908 </pre>
   14909 
   14910 <p> This feature is available in Postfix 2.3 and later. </p>
   14911 
   14912 
   14913 </DD>
   14914 
   14915 <DT><b><a name="smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
   14916 (default: no)</b></DT><DD>
   14917 
   14918 <p> Log the hostname of a remote SMTP server that offers STARTTLS,
   14919 when TLS is not already enabled for that server. </p>
   14920 
   14921 <p> The logfile record looks like:  </p>
   14922 
   14923 <pre>
   14924 postfix/smtp[pid]:  Host offered STARTTLS: [name.of.host]
   14925 </pre>
   14926 
   14927 <p> This feature is available in Postfix 2.2 and later.  </p>
   14928 
   14929 
   14930 </DD>
   14931 
   14932 <DT><b><a name="smtp_tls_per_site">smtp_tls_per_site</a>
   14933 (default: empty)</b></DT><DD>
   14934 
   14935 <p> Optional lookup tables with the Postfix SMTP client TLS usage
   14936 policy by next-hop destination and by remote SMTP server hostname.
   14937 When both lookups succeed, the more specific per-site policy (NONE,
   14938 MUST, etc.) overrides the less specific one (MAY), and the more secure
   14939 per-site policy (MUST, etc.) overrides the less secure one (NONE).
   14940 With Postfix 2.3 and later <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> is strongly discouraged:
   14941 use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
   14942 
   14943 <p> Use of the bare hostname as the per-site table lookup key is
   14944 discouraged. Always use the full destination nexthop (enclosed in
   14945 [] with a possible ":port" suffix). A recipient domain or MX-enabled
   14946 transport next-hop with no port suffix may look like a bare hostname,
   14947 but is still a suitable <i>destination</i>. </p>
   14948 
   14949 <p> Specify a next-hop destination or server hostname on the left-hand
   14950 side; no wildcards are allowed. The next-hop destination is either
   14951 the recipient domain, or the destination specified with a <a href="transport.5.html">transport(5)</a>
   14952 table, the <a href="postconf.5.html#relayhost">relayhost</a> parameter, or the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter.
   14953 On the right hand side specify one of the following keywords:  </p>
   14954 
   14955 <dl>
   14956 
   14957 <dt> NONE </dt> <dd> Don't use TLS at all. This overrides a less
   14958 specific <b>MAY</b> lookup result from the alternate host or next-hop
   14959 lookup 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>,
   14960 and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd>
   14961 
   14962 <dt> MAY </dt> <dd> Try to use TLS if the server announces support,
   14963 otherwise use an unencrypted connection; after a failed TLS handshake
   14964 or TLS session, fall back to plaintext if the message has spent
   14965 <a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a> in the mail queue. This level has less precedence
   14966 than a more specific result (including <b>NONE</b>) from the alternate
   14967 host or next-hop lookup key, and has less precedence than the more
   14968 specific 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>
   14969 = yes". </dd>
   14970 
   14971 <dt> MUST_NOPEERMATCH </dt> <dd> Require TLS encryption, but do not
   14972 require that the remote SMTP server hostname matches the information
   14973 in the remote SMTP server certificate, or that the server certificate
   14974 was issued by a trusted CA. This overrides a less secure <b>NONE</b>
   14975 or a less specific <b>MAY</b> lookup result from the alternate host
   14976 or next-hop lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>,
   14977 <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>
   14978 
   14979 <dt> MUST </dt> <dd> Require TLS encryption, require that the remote
   14980 SMTP server hostname matches the information in the remote SMTP
   14981 server certificate, and require that the remote SMTP server certificate
   14982 was issued by a trusted CA. This overrides a less secure <b>NONE</b>
   14983 or <b>MUST_NOPEERMATCH</b> or a less specific <b>MAY</b> lookup
   14984 result from the alternate host or next-hop lookup key, and overrides
   14985 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> and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
   14986 settings.  </dd>
   14987 
   14988 </dl>
   14989 
   14990 <p> The above keywords correspond to the "none", "may", "encrypt" and
   14991 "verify" security levels for the new <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> parameter
   14992 introduced in Postfix 2.3. Starting with Postfix 2.3, and independently
   14993 of how the policy is specified, the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
   14994 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameters apply when TLS encryption
   14995 is mandatory. Connections for which encryption is optional typically
   14996 enable all "export" grade and better ciphers (see <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>
   14997 and <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>). </p>
   14998 
   14999 <p> As long as no secure DNS lookup mechanism is available, false
   15000 hostnames in MX or CNAME responses can change the server hostname
   15001 that Postfix uses for TLS policy lookup and server certificate
   15002 verification. Even with a perfect match between the server hostname and
   15003 the server certificate, there is no guarantee that Postfix is connected
   15004 to the right server.  See <a href="TLS_README.html">TLS_README</a> (Closing a DNS loophole with obsolete
   15005 per-site TLS policies) for a possible work-around. </p>
   15006 
   15007 <p> This feature is available in Postfix 2.2 and later. With
   15008 Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
   15009 
   15010 
   15011 </DD>
   15012 
   15013 <DT><b><a name="smtp_tls_policy_maps">smtp_tls_policy_maps</a>
   15014 (default: empty)</b></DT><DD>
   15015 
   15016 <p> Optional lookup tables with the Postfix SMTP client TLS security
   15017 policy by next-hop destination; when a non-empty value is specified,
   15018 this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter.  See
   15019 <a href="TLS_README.html">TLS_README</a> for a more detailed discussion of TLS security levels,
   15020 and see <a href="TLSRPT_README.html">TLSRPT_README</a> for additional configuration that may be
   15021 needed for MTA-STS plugins. </p>
   15022 
   15023 <p>
   15024 Specify zero or more "type:name" lookup tables, separated by
   15025 whitespace or comma. Tables will be searched in the specified order
   15026 until a match is found.
   15027 </p>
   15028 
   15029 <p> The TLS policy table is indexed by the full next-hop destination,
   15030 which is either the recipient domain, or the verbatim next-hop
   15031 specified in the transport table, $<a href="postconf.5.html#local_transport">local_transport</a>, $<a href="postconf.5.html#virtual_transport">virtual_transport</a>,
   15032 $<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
   15033 square brackets and any non-default destination server port suffix. The
   15034 LMTP socket type prefix (inet: or unix:) is not included in the lookup
   15035 key. </p>
   15036 
   15037 <p> Only the next-hop domain, or $<a href="postconf.5.html#myhostname">myhostname</a> with LMTP over UNIX-domain
   15038 sockets, is used as the nexthop name for certificate verification. The
   15039 port and any enclosing square brackets are used in the table lookup key,
   15040 but are not used for server name verification. </p>
   15041 
   15042 <p> When the lookup key is a domain name without enclosing square brackets
   15043 or any <i>:port</i> suffix (typically the recipient domain), and the full
   15044 domain is not found in the table, just as with the <a href="transport.5.html">transport(5)</a> table,
   15045 the parent domain starting with a leading "." is matched recursively. This
   15046 allows one to specify a security policy for a recipient domain and all
   15047 its sub-domains. </p>
   15048 
   15049 <p> The lookup result is a security level, followed by an optional list
   15050 of whitespace and/or comma separated name=value attributes that override
   15051 related <a href="postconf.5.html">main.cf</a> settings. The TLS security levels in order of increasing
   15052 security are: </p>
   15053 
   15054 <dl>
   15055 
   15056 <dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
   15057 <dd>No TLS. No additional attributes are supported at this level. </dd>
   15058 
   15059 <dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
   15060 <dd>Opportunistic TLS. Since sending in the clear is acceptable,
   15061 demanding stronger than default TLS security merely reduces
   15062 interoperability. The optional "ciphers", "exclude", and "protocols"
   15063 attributes (available for opportunistic TLS with Postfix &ge; 2.6) and
   15064 "connection_reuse" attribute (Postfix &ge; 3.4) override the
   15065 "<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>",
   15066 and "<a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a>" configuration parameters. In the policy
   15067 table, multiple ciphers, protocols or excluded ciphers must be separated
   15068 by colons, as attribute values may not contain whitespace or commas.  At
   15069 this level and higher, the optional "servername" attribute (available
   15070 with Postfix &ge; 3.4) overrides the global "<a href="postconf.5.html#smtp_tls_servername">smtp_tls_servername</a>"
   15071 parameter, enabling per-destination configuration of the SNI extension
   15072 sent to the remote SMTP server.  The optional "enable_rpk" attribute
   15073 (Postfix &ge; 3.9) overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> parameter.
   15074 When opportunistic TLS handshakes fail, Postfix retries the connection
   15075 with TLS disabled.  This allows mail delivery to sites with
   15076 non-interoperable TLS implementations.</dd>
   15077 
   15078 <dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
   15079 <dd>Mandatory TLS encryption. Mail is delivered only if the remote SMTP
   15080 server offers STARTTLS and the TLS handshake succeeds. At this level and
   15081 higher, the optional "protocols" attribute overrides the <a href="postconf.5.html">main.cf</a>
   15082 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameter, the optional "ciphers" attribute
   15083 overrides 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 optional
   15084 "exclude" attribute (Postfix &ge; 2.6) overrides the <a href="postconf.5.html">main.cf</a>
   15085 <a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> parameter, and the optional
   15086 "connection_reuse" attribute (Postfix &ge; 3.4) overrides the <a href="postconf.5.html">main.cf</a>
   15087 <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. In the policy table, multiple
   15088 ciphers, protocols or excluded ciphers must be separated by colons, as
   15089 attribute values may not contain whitespace or commas.  The optional
   15090 "enable_rpk" attribute (Postfix &ge; 3.9) overrides the <a href="postconf.5.html">main.cf</a>
   15091 <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> parameter. </dd>
   15092 
   15093 <dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
   15094 <dd>Opportunistic DANE TLS.  The TLS policy for the destination is
   15095 obtained via TLSA records in DNSSEC.  If no TLSA records are found,
   15096 the effective security level used is <a
   15097 href="TLS_README.html#client_tls_may">may</a>.  If TLSA records are
   15098 found, but none are usable, the effective security level is <a
   15099 href="TLS_README.html#client_tls_encrypt">encrypt</a>.  When usable
   15100 TLSA records are obtained for the remote SMTP server, the
   15101 server certificate must match the TLSA records.  <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE)
   15102 TLS authentication and DNSSEC support is available with Postfix
   15103 2.11 and later. The optional "connection_reuse" attribute (Postfix
   15104 &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.
   15105 When the effective security level used is <a
   15106 href="TLS_README.html#client_tls_may">may</a>, the optional "ciphers",
   15107 "exclude", and "protocols" attributes (Postfix &ge; 2.6) override the
   15108 "<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>", "<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>", and "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>"
   15109 configuration parameters.
   15110 When the effective security level used is <a
   15111 href="TLS_README.html#client_tls_encrypt">encrypt</a>, the optional "ciphers",
   15112 "exclude", and "protocols" attributes (Postfix &ge; 2.6) override the
   15113 "<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>", "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>", and
   15114 "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>" configuration parameters.
   15115 </dd>
   15116 
   15117 <dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
   15118 <dd>Mandatory DANE TLS.  The TLS policy for the destination is
   15119 obtained via TLSA records in DNSSEC.  If no TLSA records are found,
   15120 or none are usable, no connection is made to the server.  When
   15121 usable TLSA records are obtained for the remote SMTP server, the
   15122 server certificate must match the TLSA records.  <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE) TLS
   15123 authentication and DNSSEC support is available with Postfix 2.11
   15124 and later. The optional "ciphers", "exclude", and "protocols" attributes
   15125 (Postfix &ge; 2.6) override the "<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>",
   15126 "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>", and "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>"
   15127 configuration parameters. The optional "connection_reuse" attribute
   15128 (Postfix &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.
   15129 </dd>
   15130 
   15131 <dt><b><a href="TLS_README.html#client_tls_fprint">fingerprint</a></b></dt>
   15132 <dd>Certificate fingerprint
   15133 verification. Available with Postfix 2.5 and later. At this security
   15134 level, there are no trusted Certification Authorities. The certificate
   15135 trust chain, expiration date, ... are not checked. Instead,
   15136 the optional policy table "match" attribute, or else the <a href="postconf.5.html">main.cf</a>
   15137 <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> parameter, lists the certificate
   15138 fingerprints or the public key fingerprints (Postfix 2.9 and later)
   15139 of acceptable server certificates. The digest
   15140 algorithm used to calculate the fingerprint is selected by the
   15141 <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Multiple fingerprints can
   15142 be combined with a "|" delimiter in a single match attribute, or multiple
   15143 match attributes can be employed. The ":" character is not used as a
   15144 delimiter as it occurs between each pair of fingerprint (hexadecimal)
   15145 digits. The optional "ciphers", "exclude", and "protocols" attributes
   15146 (Postfix &ge; 2.6) override the "<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>",
   15147 "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>", and "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>"
   15148 configuration parameters. The optional "connection_reuse" attribute
   15149 (Postfix &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>
   15150 parameter.  The optional "enable_rpk" attribute (Postfix &ge; 3.9)
   15151 overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> parameter. </dd>
   15152 
   15153 <dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
   15154 <dd>Mandatory TLS verification.  Mail is delivered only if the TLS
   15155 handshake succeeds, the remote SMTP server certificate chain can be
   15156 validated, and a DNS name in the certificate matches the specified match
   15157 criteria. At this security level, DNS MX lookups are presumed to be
   15158 secure enough, and the name verified in the server certificate is
   15159 potentially obtained via unauthenticated DNS MX lookups.  The optional
   15160 "match" attribute overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
   15161 parameter. In the policy table, multiple match patterns and strategies
   15162 must be separated by colons.  In practice explicit control over matching
   15163 is more common with the "secure" policy, described below. The optional
   15164 "ciphers", "exclude", and "protocols" attributes (Postfix &ge; 2.6)
   15165 override the "<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>",
   15166 "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>", and "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>"
   15167 configuration parameters. With Postfix &ge; 2.11 the optional "tafile"
   15168 policy table attribute modifies trust chain verification in the same
   15169 manner as the "<a href="postconf.5.html#smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>" parameter. The "tafile"
   15170 attribute may be specified multiple times to load multiple trust-anchor
   15171 files. The optional "connection_reuse" attribute (Postfix &ge; 3.4)
   15172 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. </dd>
   15173 
   15174 <dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
   15175 <dd>Secure certificate verification. Mail is delivered only if the TLS
   15176 handshake succeeds, the remote SMTP server certificate chain can be
   15177 validated, and a DNS name in the certificate matches the specified match
   15178 criteria.  At this security level, DNS MX lookups, though potentially
   15179 used to determine the candidate next-hop gateway IP addresses, are
   15180 <b>not</b> presumed to be secure enough for TLS peername verification.
   15181 Instead, the default name verified in the server certificate is obtained
   15182 directly from the next-hop, or is explicitly specified via the optional
   15183 "match" attribute which overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
   15184 parameter. In the policy table, multiple match patterns and strategies
   15185 must be separated by colons.  The match attribute is most useful when
   15186 multiple domains are supported by a common server: the policy entries
   15187 for additional domains specify matching rules for the primary domain
   15188 certificate. While transport table overrides that route the secondary
   15189 domains to the primary nexthop also allow secure verification, they risk
   15190 delivery to the wrong destination when domains change hands or are
   15191 re-assigned to new gateways. With the "match" attribute approach,
   15192 routing is not perturbed, and mail is deferred if verification of a new
   15193 MX host fails. The optional "ciphers", "exclude", and "protocols"
   15194 attributes (Postfix &ge; 2.6) override the "<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>",
   15195 "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>", and "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>"
   15196 configuration parameters. With Postfix &ge; 2.11 the "tafile" attribute
   15197 optionally modifies trust chain verification in the same manner as the
   15198 "<a href="postconf.5.html#smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>" parameter.  The "tafile" attribute may be
   15199 specified multiple times to load multiple trust-anchor files. The
   15200 optional "connection_reuse" attribute (Postfix &ge; 3.4) overrides the
   15201 <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. </dd>
   15202 
   15203 </dl>
   15204 
   15205 <p>
   15206 Example:
   15207 </p>
   15208 
   15209 <pre>
   15210 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   15211     <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/tls_policy
   15212     # Postfix 2.5 and later.
   15213     #
   15214     # The default digest is sha256 with Postfix &ge; 3.6 and
   15215     # compatibility level &ge; 3.
   15216     #
   15217     <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = sha256
   15218 </pre>
   15219 
   15220 <pre>
   15221 /etc/postfix/tls_policy:
   15222     example.edu                 none
   15223     example.mil                 may
   15224     example.gov                 encrypt protocols=TLSv1
   15225     example.com                 verify ciphers=high
   15226     example.net                 secure
   15227     .example.net                secure match=.example.net:example.net
   15228     [mail.example.org]:587      secure match=nexthop
   15229     # Postfix 2.5 and later
   15230     [thumb.example.org]          fingerprint
   15231         match=b6:b4:72:34:e2:59:cd:...:c2:ca:63:0d:4d:cc:2c:7d:84:de:e6:2f
   15232         match=51:e9:af:2e:1e:40:1f:...:64:0a:30:35:2d:09:16:31:5a:eb:82:76
   15233 </pre>
   15234 
   15235 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   15236 
   15237 <p> <b>Note:</b> The "hostname" strategy if listed in a non-default
   15238 setting of <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> or in the "match" attribute
   15239 in the policy table can render the "secure" level vulnerable to
   15240 DNS forgery. Do not use the "hostname" strategy for secure-channel
   15241 configurations in environments where DNS security is not assured. </p>
   15242 
   15243 <p> Execute the command "postmap /etc/postfix/tls_policy" after you
   15244 change the tls_policy file, to (re)build a default-type indexed file.
   15245 Execute "postmap <i>type</i>:/etc/postfix/tls_policy" to specify
   15246 an explicit type. </p>
   15247 
   15248 <p> The default indexed file type is configured with the
   15249 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   15250 execute the command "postconf -m". </p>
   15251 
   15252 <p> Configuration changes will become visible after a minute or so.
   15253 Use "postfix reload" to eliminate the delay. </p>
   15254 
   15255 <p> This feature is available in Postfix 2.3 and later. </p>
   15256 
   15257 
   15258 </DD>
   15259 
   15260 <DT><b><a name="smtp_tls_protocols">smtp_tls_protocols</a>
   15261 (default: see 'postconf -d' output)</b></DT><DD>
   15262 
   15263 <p> TLS protocols that the Postfix SMTP client will use with
   15264 opportunistic TLS encryption.  In <a href="postconf.5.html">main.cf</a> the values are separated by
   15265 whitespace, commas or colons. In the policy table "protocols" attribute
   15266 (see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon.  An empty
   15267 value means allow all protocols. </p>
   15268 
   15269 <p> The valid protocol names (see SSL_get_version(3)) are "SSLv2",
   15270 "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" and "TLSv1.3".  Starting with
   15271 Postfix 3.6, the default value is "&gt;=TLSv1", which sets TLS 1.0 as
   15272 the lowest supported TLS protocol version (see below).  Older releases
   15273 use the "!" exclusion syntax, also described below.  </p>
   15274 
   15275 <p> As of Postfix 3.6, the preferred way to limit the range of
   15276 acceptable protocols is to set the lowest acceptable TLS protocol
   15277 version and/or the highest acceptable TLS protocol version.  To set the
   15278 lower bound include an element of the form: "&gt;=<i>version</i>" where
   15279 <i>version</i> is either one of the TLS protocol names listed above,
   15280 or a hexadecimal number corresponding to the desired TLS protocol
   15281 version (0301 for TLS 1.0, 0302 for TLS 1.1, etc.).  For the upper
   15282 bound, use "&lt;=<i>version</i>".  There must be no whitespace between
   15283 the "&gt;=" or "&lt;=" symbols and the protocol name or number. </p>
   15284 
   15285 <p> Hexadecimal protocol numbers make it possible to specify protocol
   15286 bounds for TLS versions that are known to OpenSSL, but might not be
   15287 known to Postfix.  They cannot be used with the legacy exclusion syntax.
   15288 Leading "0" or "0x" prefixes are supported, but not required.
   15289 Therefore, "301", "0301", "0x301" and "0x0301" are all equivalent to
   15290 "TLSv1".  Hexadecimal versions unknown to OpenSSL will fail to set the
   15291 upper or lower bound, and a warning will be logged.  Hexadecimal
   15292 versions should only be used when Postfix is linked with some future
   15293 version of OpenSSL that supports TLS 1.4 or later, but Postfix does not
   15294 yet support a symbolic name for that protocol version. </p>
   15295 
   15296 <p>Hexadecimal example (Postfix &ge; 3.6):</p>
   15297 <blockquote>
   15298 <pre>
   15299 # Allow only TLS 1.0 through (hypothetical) TLS 1.4, once supported
   15300 # in some future version of OpenSSL (presently a warning is logged).
   15301 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = &gt;=TLSv1, &lt;=0305
   15302 # Allow only TLS 1.0 and up:
   15303 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = &gt;=0x0301
   15304 </pre>
   15305 </blockquote>
   15306 
   15307 <p> With Postfix &lt; 3.6 there is no support for a minimum or maximum
   15308 version, and the protocol range is configured via protocol exclusions.
   15309 To require at least TLS 1.0, set "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3".
   15310 Listing the protocols to include, rather than protocols to exclude, is
   15311 supported, but not recommended.  The exclusion form more accurately
   15312 matches the underlying OpenSSL interface.  </p>
   15313 
   15314 <p> When using the exclusion syntax, take care to ensure that the range of
   15315 protocols advertised by an SSL/TLS client is contiguous.  When a protocol
   15316 version is enabled, disabling any higher version implicitly disables all
   15317 versions above that higher version.  Thus, for example:
   15318 </p>
   15319 <blockquote>
   15320 <pre>
   15321 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3, !TLSv1.1
   15322 </pre>
   15323 </blockquote>
   15324 <p> also disables any protocols version higher than TLSv1.1 leaving
   15325 only "TLSv1" enabled.  </p>
   15326 
   15327 <p> Support for "TLSv1.3" was introduced in OpenSSL 1.1.1.  Disabling
   15328 this protocol via "!TLSv1.3" is supported since Postfix 3.4 (or patch
   15329 releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2).  </p>
   15330 
   15331 <p> Example: </p>
   15332 <pre>
   15333 # Preferred syntax with Postfix &ge; 3.6:
   15334 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = &gt;=TLSv1, &lt;=TLSv1.3
   15335 # Legacy syntax:
   15336 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
   15337 </pre>
   15338 
   15339 <p> This feature is available in Postfix 2.6 and later. </p>
   15340 
   15341 
   15342 </DD>
   15343 
   15344 <DT><b><a name="smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
   15345 (default: 9)</b></DT><DD>
   15346 
   15347 <p> The verification depth for remote SMTP server certificates. A depth
   15348 of 1 is sufficient if the issuing CA is listed in a local CA file. </p>
   15349 
   15350 <p> The default verification depth is 9 (the OpenSSL default) for
   15351 compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
   15352 the default value was 5, but the limit was not actually enforced. If
   15353 you have set this to a lower non-default value, certificates with longer
   15354 trust chains may now fail to verify. Certificate chains with 1 or 2
   15355 CAs are common, deeper chains are more rare and any number between 5
   15356 and 9 should suffice in practice. You can choose a lower number if,
   15357 for example, you trust certificates directly signed by an issuing CA
   15358 but not any CAs it delegates to. </p>
   15359 
   15360 <p> This feature is available in Postfix 2.2 and later.  </p>
   15361 
   15362 
   15363 </DD>
   15364 
   15365 <DT><b><a name="smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
   15366 (default: nexthop, dot-nexthop)</b></DT><DD>
   15367 
   15368 <p> How the Postfix SMTP client verifies the server certificate
   15369 peername for the "secure" TLS security level. In a "secure" TLS policy table
   15370 ($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
   15371 overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
   15372 
   15373 <p> This parameter specifies one or more patterns or strategies separated
   15374 by commas, whitespace or colons.  In the policy table the only valid
   15375 separator is the colon character. </p>
   15376 
   15377 <p> For a description of the pattern and strategy syntax see the
   15378 <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. The "hostname" strategy should
   15379 be avoided in this context, as in the absence of a secure global DNS, using
   15380 the results of MX lookups in certificate verification is not immune to active
   15381 (man-in-the-middle) attacks on DNS. </p>
   15382 
   15383 <p>
   15384 Sample <a href="postconf.5.html">main.cf</a> setting:
   15385 </p>
   15386 
   15387 <blockquote>
   15388 <pre>
   15389 <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
   15390 </pre>
   15391 </blockquote>
   15392 
   15393 <p>
   15394 Sample policy table override:
   15395 </p>
   15396 
   15397 <blockquote>
   15398 <pre>
   15399 example.net     secure match=example.com:.example.com
   15400 .example.net    secure match=example.com:.example.com
   15401 </pre>
   15402 </blockquote>
   15403 
   15404 <p> This feature is available in Postfix 2.3 and later. </p>
   15405 
   15406 
   15407 </DD>
   15408 
   15409 <DT><b><a name="smtp_tls_security_level">smtp_tls_security_level</a>
   15410 (default: Postfix &ge; 3.11: may; Postfix &lt; 3.11: empty)</b></DT><DD>
   15411 
   15412 <p> The default SMTP TLS security level for the Postfix SMTP client.
   15413 When a non-empty value is specified, this overrides the obsolete
   15414 parameters <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>;
   15415 when no value is specified for those obsolete parameters, the default
   15416 SMTP TLS security level is <a href="TLS_README.html#client_tls_may">may</a>
   15417 (<a href="postconf.5.html#compatibility_level">compatibility_level</a> &ge; 3.11) or <a
   15418 href="TLS_README.html#client_tls_none">none</a>
   15419 (<a href="postconf.5.html#compatibility_level">compatibility_level</a> &lt; 3.11). </p>
   15420 
   15421 <p> Specify one of the following security levels: </p>
   15422 
   15423 <dl>
   15424 
   15425 <dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
   15426 <dd> No TLS. TLS will not be used unless enabled for specific
   15427 destinations via <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </dd>
   15428 
   15429 <dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
   15430 <dd> Opportunistic TLS. Use TLS if this is supported by the remote
   15431 SMTP server, otherwise use plaintext; after a failed TLS handshake
   15432 or TLS session, fall back to plaintext if the message has spent
   15433 <a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a> in the mail queue. Since
   15434 sending in the clear is acceptable, demanding stronger than default TLS
   15435 security merely reduces interoperability.
   15436 The "<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)
   15437 configuration parameters provide control over the protocols and
   15438 cipher grade used with opportunistic TLS.  With earlier releases the
   15439 opportunistic TLS cipher grade is always "export" and no protocols
   15440 are disabled.
   15441 When TLS handshakes fail, the connection is retried with TLS disabled.
   15442 This allows mail delivery to sites with non-interoperable TLS
   15443 implementations. </dd>
   15444 
   15445 <dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
   15446 <dd>Mandatory TLS encryption. Since a minimum
   15447 level of security is intended, it is reasonable to be specific about
   15448 sufficiently secure protocol versions and ciphers. At this security level
   15449 and 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
   15450 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> specify the TLS protocols and minimum
   15451 cipher grade which the administrator considers secure enough for
   15452 mandatory encrypted sessions. This security level is not an appropriate
   15453 default for systems delivering mail to the Internet. </dd>
   15454 
   15455 <dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
   15456 <dd>Opportunistic DANE TLS.  At this security level, the TLS policy
   15457 for the destination is obtained via DNSSEC.  For TLSA policy to be
   15458 in effect, the destination domain's containing DNS zone must be
   15459 signed and the Postfix SMTP client's operating system must be
   15460 configured to send its DNS queries to a recursive DNS nameserver
   15461 that is able to validate the signed records.  Each MX host's DNS
   15462 zone should also be signed, and should publish DANE TLSA (<a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a>)
   15463 records that specify how that MX host's TLS certificate is to be
   15464 verified.  TLSA records do not preempt the normal SMTP MX host
   15465 selection algorithm, if some MX hosts support TLSA and others do
   15466 not, TLS security will vary from delivery to delivery.  It is up
   15467 to the domain owner to configure their MX hosts and their DNS
   15468 sensibly.  To configure the Postfix SMTP client for DNSSEC lookups
   15469 see 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>
   15470 parameter.  When DNSSEC-validated TLSA records are not found the
   15471 effective tls security level is "may".  When TLSA records are found,
   15472 but are all unusable the effective security level is "encrypt".  For
   15473 purposes of protocol and cipher selection, the "dane" security level
   15474 is treated like a "mandatory" TLS security level, and weak ciphers
   15475 and protocols are disabled.  Since DANE authenticates server
   15476 certificates the "aNULL" cipher-suites are transparently excluded
   15477 at this level, no need to configure this manually.  <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE)
   15478 TLS authentication is available with Postfix 2.11 and later.  </dd>
   15479 
   15480 <dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
   15481 <dd>Mandatory DANE TLS.  This is just like "dane" above, but DANE
   15482 TLSA authentication is required.  There is no fallback to "may" or
   15483 "encrypt" when TLSA records are missing or unusable.  <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a>
   15484 (DANE) TLS authentication is available with Postfix 2.11 and later.
   15485 </dd>
   15486 
   15487 <dt><b><a href="TLS_README.html#client_tls_fprint">fingerprint</a></b></dt>
   15488 <dd>Certificate fingerprint verification.
   15489 At this security level, there are no trusted Certification Authorities.
   15490 The certificate trust chain, expiration date, etc., are
   15491 not checked. Instead, the <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b>
   15492 parameter lists the certificate fingerprint or public key fingerprint
   15493 (Postfix 2.9 and later) of the valid server certificate. The digest
   15494 algorithm used to calculate the fingerprint is selected by the
   15495 <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Available with Postfix
   15496 2.5 and later.  </dd>
   15497 
   15498 <dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
   15499 <dd>Mandatory TLS verification. At this security
   15500 level, DNS MX lookups are trusted to be secure enough, and the name
   15501 verified in the server certificate is usually obtained indirectly
   15502 via unauthenticated DNS MX lookups. The <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
   15503 parameter controls how the server name is verified. In practice explicit
   15504 control over matching is more common at the "secure" level, described
   15505 below. This security level is not an appropriate default for systems
   15506 delivering mail to the Internet. </dd>
   15507 
   15508 <dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
   15509 <dd>Secure-channel TLS.  At this security level,
   15510 DNS MX lookups, though potentially used to determine the candidate
   15511 next-hop gateway IP addresses, are <b>not</b> trusted to be secure enough
   15512 for TLS peername verification. Instead, the default name verified in
   15513 the server certificate is obtained from the next-hop domain as specified
   15514 in the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> configuration parameter. The default
   15515 matching rule is that a server certificate matches when its name is equal
   15516 to or is a sub-domain of the nexthop domain. This security level is not
   15517 an appropriate default for systems delivering mail to the Internet. </dd>
   15518 
   15519 </dl>
   15520 
   15521 <p>
   15522 Examples:
   15523 </p>
   15524 
   15525 <pre>
   15526 # 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.
   15527 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = none
   15528 </pre>
   15529 
   15530 <pre>
   15531 # Opportunistic TLS.
   15532 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
   15533 # Do not tweak opportunistic ciphers or protocols unless it is essential
   15534 # to do so (if a security vulnerability is found in the SSL library that
   15535 # can be mitigated by disabling a particular protocol or raising the
   15536 # cipher grade).
   15537 <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> = medium
   15538 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = &gt;=TLSv1
   15539 # Legacy (Postfix &lt; 3.6) syntax:
   15540 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
   15541 </pre>
   15542 
   15543 <pre>
   15544 # Mandatory (high-grade) TLS encryption.
   15545 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
   15546 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
   15547 </pre>
   15548 
   15549 <pre>
   15550 # Authenticated TLS 1.2 or better matching the nexthop domain or a
   15551 # subdomain.
   15552 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = secure
   15553 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
   15554 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = &gt;=TLSv1.2
   15555 <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop, dot-nexthop
   15556 </pre>
   15557 
   15558 <pre>
   15559 # Certificate fingerprint verification (Postfix &ge; 2.5).
   15560 # The CA-less "fingerprint" security level only scales to a limited
   15561 # number of destinations. As a global default rather than a per-site
   15562 # setting, this is practical only when mail for all recipients is sent
   15563 # to a central mail hub.
   15564 <a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
   15565 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
   15566 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = &gt;=TLSv1.2
   15567 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
   15568 <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
   15569     3D:95:34:51:...:40:99:C0:C1
   15570     EC:3B:2D:B0:...:A3:9D:72:F6
   15571 </pre>
   15572 
   15573 <p> This feature is available in Postfix 2.3 and later. </p>
   15574 
   15575 
   15576 </DD>
   15577 
   15578 <DT><b><a name="smtp_tls_servername">smtp_tls_servername</a>
   15579 (default: empty)</b></DT><DD>
   15580 
   15581 <p> Optional name to send to the remote SMTP server in the TLS Server
   15582 Name Indication (SNI) extension.  The SNI extension is always on when
   15583 DANE is used to authenticate the server, and in that case the SNI name
   15584 sent is the one required by <a href="https://tools.ietf.org/html/rfc7672">RFC7672</a> and this parameter is ignored. </p>
   15585 
   15586 <p> Some SMTP servers use the received SNI name to select an appropriate
   15587 certificate chain to present to the client.  While this may improve
   15588 interoperability with such servers, it may reduce interoperability with
   15589 other servers that choose to abort the connection when they don't have a
   15590 certificate chain configured for the requested name.  Such servers
   15591 should select a default certificate chain and continue the handshake,
   15592 but some may not.  Therefore, absent DANE, no SNI name is sent by
   15593 default. </p>
   15594 
   15595 <p> The SNI name must be either a valid DNS hostname, or else one of the
   15596 special values <b>hostname</b> or <b>nexthop</b>, which select either the
   15597 remote hostname or the nexthop domain respectively.  DNS names for SNI must be
   15598 in A-label (punycode) form.  Invalid DNS names log a configuration error
   15599 warning and mail delivery is deferred.  </p>
   15600 
   15601 <p> Except when using a <a href="postconf.5.html#relayhost">relayhost</a> to forward all email, the only
   15602 sensible non-empty <a href="postconf.5.html">main.cf</a> setting for this parameter is
   15603 <b>hostname</b>.  Other non-empty values are only practical on a
   15604 per-destination basis via the <b>servername</b> attribute of the Postfix
   15605 TLS <a href="TLS_README.html#client_tls_policy">policy table</a>.  When
   15606 in doubt, leave this parameter empty, and configure per-destination SNI
   15607 as needed. </p>
   15608 
   15609 <p> This feature is available in Postfix 3.4 and later.  </p>
   15610 
   15611 
   15612 </DD>
   15613 
   15614 <DT><b><a name="smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
   15615 (default: empty)</b></DT><DD>
   15616 
   15617 <p> Name of the file containing the optional Postfix SMTP client
   15618 TLS session cache. Specify a database type that supports enumeration,
   15619 such as <b>lmdb</b> or <b>btree</b>; there is no need to support
   15620 concurrent access.  The file is created if it does not exist. The <a href="smtp.8.html">smtp(8)</a>
   15621 daemon does not use this parameter directly, rather the cache is
   15622 implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
   15623 per-smtp-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not effective.
   15624 Note that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon:
   15625 $<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>
   15626 (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
   15627 be stored separately. It is not at this time possible to store multiple
   15628 caches in a single database. </p>
   15629 
   15630 <p> Note: <b>dbm</b> databases are not suitable. TLS
   15631 session objects are too large. </p>
   15632 
   15633 <p> As of version 2.5, Postfix no longer uses root privileges when
   15634 opening this file. The file should now be stored under the Postfix-owned
   15635 <a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
   15636 under a non-Postfix directory is redirected to the Postfix-owned
   15637 <a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
   15638 
   15639 <p> Example: </p>
   15640 
   15641 <pre>
   15642 <a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> = <a href="lmdb_table.5.html">lmdb</a>:/var/db/postfix/smtp_scache
   15643 <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
   15644 </pre>
   15645 
   15646 <p> This feature is available in Postfix 2.2 and later.  </p>
   15647 
   15648 
   15649 </DD>
   15650 
   15651 <DT><b><a name="smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
   15652 (default: 3600s)</b></DT><DD>
   15653 
   15654 <p> The expiration time of Postfix SMTP client TLS session cache
   15655 information.  A cache cleanup is performed periodically
   15656 every $<a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> seconds. As with
   15657 $<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>, this parameter is implemented in the
   15658 <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtp-instance <a href="master.5.html">master.cf</a> overrides
   15659 are not possible. </p>
   15660 
   15661 <p> As of Postfix 2.11 this setting cannot exceed 100 days.  If set
   15662 &le; 0, session caching is disabled.  If set to a positive value
   15663 less than 2 minutes, the minimum value of 2 minutes is used instead.  </p>
   15664 
   15665 <p> Specify a non-zero time value (an integral value plus an optional
   15666 one-letter suffix that specifies the time unit).  Time units: s
   15667 (seconds), m (minutes), h (hours), d (days), w (weeks).
   15668 The default time unit is s (seconds).  </p>
   15669 
   15670 <p> This feature is available in Postfix 2.2 and later.  </p>
   15671 
   15672 
   15673 </DD>
   15674 
   15675 <DT><b><a name="smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
   15676 (default: empty)</b></DT><DD>
   15677 
   15678 <p> Zero or more PEM-format files with trust-anchor certificates
   15679 and/or public keys.  If the parameter is not empty the root CAs in
   15680 CAfile and CApath are no longer trusted.  Rather, the Postfix SMTP
   15681 client will only trust certificate-chains signed by one of the
   15682 trust-anchors contained in the chosen files.  The specified
   15683 trust-anchor certificates and public keys are not subject to
   15684 expiration, and need not be (self-signed) root CAs.  They may, if
   15685 desired, be intermediate certificates. Therefore, these certificates
   15686 also may be found "in the middle" of the trust chain presented by
   15687 the remote SMTP server, and any untrusted issuing parent certificates
   15688 will be ignored.  Specify a list of pathnames separated by comma
   15689 or whitespace.  </p>
   15690 
   15691 <p>  Whether specified in <a href="postconf.5.html">main.cf</a>, or on a per-destination basis,
   15692 the trust-anchor PEM file must be accessible to the Postfix SMTP
   15693 client in the chroot jail if applicable.  The trust-anchor file
   15694 should contain only certificates and public keys, no private key
   15695 material, and must be readable by the non-privileged $<a href="postconf.5.html#mail_owner">mail_owner</a>
   15696 user.  This allows destinations to be bound to a set of specific
   15697 CAs or public keys without trusting the same CAs for all destinations.
   15698 </p>
   15699 
   15700 <p> The <a href="postconf.5.html">main.cf</a> parameter supports single-purpose Postfix installations
   15701 that send mail to a fixed set of SMTP peers.  At most sites, if
   15702 trust-anchor files are used at all, they will be specified on a
   15703 per-destination basis via the "tafile" attribute of the "verify"
   15704 and "secure" levels in <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>.  </p>
   15705 
   15706 <p> The underlying mechanism is in support of <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE TLSA),
   15707 which defines mechanisms for an SMTP client MTA to securely determine
   15708 server TLS certificates via DNS.  </p>
   15709 
   15710 <p> If you want your trust anchors to be public keys, with OpenSSL
   15711 you can extract a single PEM public key from a PEM X.509 file
   15712 containing a single certificate, as follows: </p>
   15713 
   15714 <blockquote>
   15715 <pre>
   15716 $ openssl x509 -in cert.pem -out ta-key.pem -noout -pubkey
   15717 </pre>
   15718 </blockquote>
   15719 
   15720 <p> This feature is available in Postfix 2.11 and later.  </p>
   15721 
   15722 
   15723 </DD>
   15724 
   15725 <DT><b><a name="smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
   15726 (default: hostname)</b></DT><DD>
   15727 
   15728 <p> How the Postfix SMTP client verifies the server certificate
   15729 peername for the
   15730 "verify" TLS security level. In a "verify" TLS policy table
   15731 ($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
   15732 overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
   15733 
   15734 <p> This parameter specifies one or more patterns or strategies separated
   15735 by commas, whitespace or colons.  In the policy table the only valid
   15736 separator is the colon character. </p>
   15737 
   15738 <p> Patterns specify domain names, or domain name suffixes: </p>
   15739 
   15740 <dl>
   15741 
   15742 <dt><i>example.com</i></dt> <dd> Match the <i>example.com</i> domain,
   15743 i.e. one of the names in the server certificate must be <i>example.com</i>.
   15744 Upper and lower case distinctions are ignored. </dd>
   15745 
   15746 <dt><i>.example.com</i></dt>
   15747 <dd> Match subdomains of the <i>example.com</i> domain, i.e. match
   15748 a name in the server certificate that consists of a non-zero number of
   15749 labels followed by a <i>.example.com</i> suffix. Case distinctions are
   15750 ignored.</dd>
   15751 
   15752 </dl>
   15753 
   15754 <p> Strategies specify a transformation from the next-hop domain
   15755 to the expected name in the server certificate: </p>
   15756 
   15757 <dl>
   15758 
   15759 <dt>nexthop</dt>
   15760 <dd> Match against the next-hop domain, which is either the recipient
   15761 domain, or the transport next-hop configured for the domain stripped of
   15762 any optional socket type prefix, enclosing square brackets and trailing
   15763 port. When MX lookups are not suppressed, this is the original nexthop
   15764 domain prior to the MX lookup, not the result of the MX lookup. For
   15765 LMTP delivery via UNIX-domain sockets, the verified next-hop name is
   15766 $<a href="postconf.5.html#myhostname">myhostname</a>.  This strategy is suitable for use with the "secure"
   15767 policy. Case is ignored.</dd>
   15768 
   15769 <dt>dot-nexthop</dt>
   15770 <dd> As above, but match server certificate names that are subdomains
   15771 of the next-hop domain. Case is ignored.</dd>
   15772 
   15773 <dt>hostname</dt> <dd> Match against the hostname of the server, often
   15774 obtained via an unauthenticated DNS MX lookup. For LMTP delivery via
   15775 UNIX-domain sockets, the verified name is $<a href="postconf.5.html#myhostname">myhostname</a>. This matches
   15776 the verification strategy of the "MUST" keyword in the obsolete
   15777 <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table, and is suitable for use with the "verify"
   15778 security level. When the next-hop name is enclosed in square brackets
   15779 to suppress MX lookups, the "hostname" strategy is the same as the
   15780 "nexthop" strategy. Case is ignored.</dd>
   15781 
   15782 </dl>
   15783 
   15784 <p>
   15785 Sample <a href="postconf.5.html">main.cf</a> setting:
   15786 </p>
   15787 
   15788 <pre>
   15789 <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
   15790 </pre>
   15791 
   15792 <p>
   15793 Sample policy table override:
   15794 </p>
   15795 
   15796 <pre>
   15797 example.com     verify  match=hostname:nexthop
   15798 .example.com    verify  match=example.com:.example.com:hostname
   15799 </pre>
   15800 
   15801 <p> This feature is available in Postfix 2.3 and later. </p>
   15802 
   15803 
   15804 </DD>
   15805 
   15806 <DT><b><a name="smtp_tls_wrappermode">smtp_tls_wrappermode</a>
   15807 (default: no)</b></DT><DD>
   15808 
   15809 <p> Request that the Postfix SMTP client connects using the
   15810 SUBMISSIONS (formerly called SMTPS) protocol instead of using the
   15811 STARTTLS command. </p>
   15812 
   15813 <p> This mode requires "<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt" or
   15814 stronger. </p>
   15815 
   15816 <p> Example: deliver all remote mail via a provider's submissions
   15817 service at "mail.example.com".  </p>
   15818 
   15819 <pre>
   15820 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   15821     # Client-side SUBMISSIONS requires "encrypt" or stronger.
   15822     <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
   15823     <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> = yes
   15824     # The [] suppress MX lookups.
   15825     <a href="postconf.5.html#relayhost">relayhost</a> = [mail.example.com]:submissions
   15826 </pre>
   15827 
   15828 <p> More examples are in <a href="TLS_README.html">TLS_README</a>, including examples for older
   15829 Postfix versions. </p>
   15830 
   15831 <p> This feature is available in Postfix 3.0 and later.  </p>
   15832 
   15833 
   15834 </DD>
   15835 
   15836 <DT><b><a name="smtp_tlsrpt_enable">smtp_tlsrpt_enable</a>
   15837 (default: no)</b></DT><DD>
   15838 
   15839 <p> Enable support for <a href="https://tools.ietf.org/html/rfc8460">RFC 8460</a> TLSRPT notifications. A mail receiving
   15840 domain can publish a TLSRPT policy in DNS, to request periodic
   15841 summaries of successful and failed SMTP over TLS connections to
   15842 their MX servers. This feature requires that Postfix is built
   15843 with a TLSRPT supporting library. </p>
   15844 
   15845 <p> See <a href="TLSRPT_README.html">TLSRPT_README</a> for configuration examples and additional
   15846 requirements for MTA-STS <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> plugins. </p>
   15847 
   15848 <p> This feature is available in Postfix &ge; 3.10. </p>
   15849 
   15850 
   15851 </DD>
   15852 
   15853 <DT><b><a name="smtp_tlsrpt_skip_reused_handshakes">smtp_tlsrpt_skip_reused_handshakes</a>
   15854 (default: Postfix &ge; 3.11: no, Postfix 3.10: yes)</b></DT><DD>
   15855 
   15856 <p> When set to "yes", report the TLSRPT status only for "new" TLS
   15857 sessions. When set to "no", also report the TLSRPT status for TLS
   15858 protocol handshakes that reuse a previously-negotiated TLS session.
   15859 </p>
   15860 
   15861 <p> Note: if an SMTP over TLS connection is reused, there is no
   15862 second etc. TLS handshake to report. </p>
   15863 
   15864 <p> This feature is available in Postfix &ge; 3.10. </p>
   15865 
   15866 
   15867 </DD>
   15868 
   15869 <DT><b><a name="smtp_tlsrpt_socket_name">smtp_tlsrpt_socket_name</a>
   15870 (default: empty)</b></DT><DD>
   15871 
   15872 <p> The pathname of a UNIX-domain datagram socket that is managed
   15873 by a local TLSRPT reporting service. This parameter must specify a
   15874 pathname (absolute, or relative to $<a href="postconf.5.html#queue_directory">queue_directory</a>) when
   15875 "<a href="postconf.5.html#smtp_tlsrpt_enable">smtp_tlsrpt_enable</a> = yes". </p>
   15876 
   15877 <p> See <a href="TLSRPT_README.html">TLSRPT_README</a> for configuration examples and additional
   15878 requirements for MTA-STS <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> plugins. </p>
   15879 
   15880 <p> This feature is available in Postfix &ge; 3.10. </p>
   15881 
   15882 
   15883 </DD>
   15884 
   15885 <DT><b><a name="smtp_use_tls">smtp_use_tls</a>
   15886 (default: no)</b></DT><DD>
   15887 
   15888 <p> Opportunistic mode: use TLS when a remote SMTP server announces
   15889 STARTTLS support, otherwise send the mail in the clear. Beware:
   15890 some SMTP servers offer STARTTLS even if it is not configured.  With
   15891 Postfix &lt; 2.3, if the TLS handshake fails, and no other server is
   15892 available, delivery is deferred and mail stays in the queue. If this
   15893 is a concern for you, use the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> feature instead.  </p>
   15894 
   15895 <p> This feature is available in Postfix 2.2 and later. With
   15896 Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
   15897 
   15898 
   15899 </DD>
   15900 
   15901 <DT><b><a name="smtp_xforward_timeout">smtp_xforward_timeout</a>
   15902 (default: 300s)</b></DT><DD>
   15903 
   15904 <p>
   15905 The Postfix SMTP client time limit for sending the XFORWARD command,
   15906 and for receiving the remote SMTP server response.
   15907 </p>
   15908 
   15909 <p> Specify a non-zero time value (an integral value plus an optional
   15910 one-letter suffix that specifies the time unit).  Time units: s
   15911 (seconds), m (minutes), h (hours), d (days), w (weeks).
   15912 The default time unit is s (seconds).  </p>
   15913 
   15914 <p>
   15915 This feature is available in Postfix 2.1 and later.
   15916 </p>
   15917 
   15918 
   15919 </DD>
   15920 
   15921 <DT><b><a name="smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
   15922 (default: $<a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a>)</b></DT><DD>
   15923 
   15924 <p> What remote SMTP clients are allowed to specify the XVERP command.
   15925 This command requests that mail be delivered one recipient at a
   15926 time with a per recipient return address.  </p>
   15927 
   15928 <p> By default, no clients are allowed to specify XVERP.  </p>
   15929 
   15930 <p> This parameter was renamed with Postfix version 2.1. The default value
   15931 is backwards compatible with Postfix version 2.0.  </p>
   15932 
   15933 <p> Specify a list of network/netmask patterns, separated by commas
   15934 and/or whitespace. The mask specifies the number of bits in the
   15935 network part of a host address. You can also specify hostnames or
   15936 .domain names (the initial dot causes the domain to match any name
   15937 below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
   15938 pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
   15939 is matched when a table entry matches a lookup string (the lookup
   15940 result is ignored).  Continue long lines by starting the next line
   15941 with whitespace. Specify "!pattern" to exclude an address or network
   15942 block from the list. The form "!/file/name" is supported only in
   15943 Postfix version 2.4 and later.  </p>
   15944 
   15945 <p> Note: IP version 6 address information must be specified inside
   15946 <tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> value, and in
   15947 files specified with "/file/name".  IP version 6 addresses contain
   15948 the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
   15949 pattern.  </p>
   15950 
   15951 
   15952 </DD>
   15953 
   15954 <DT><b><a name="smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>
   15955 (default: empty)</b></DT><DD>
   15956 
   15957 <p>
   15958 What remote SMTP clients are allowed to use the XCLIENT feature.  This
   15959 command overrides remote SMTP client information that is used for access
   15960 control. Typical use is for SMTP-based content filters, fetchmail-like
   15961 programs, or SMTP server access rule testing. See the <a href="XCLIENT_README.html">XCLIENT_README</a>
   15962 document for details.
   15963 </p>
   15964 
   15965 <p>
   15966 This feature is available in Postfix 2.1 and later.
   15967 </p>
   15968 
   15969 <p>
   15970 By default, no clients are allowed to specify XCLIENT.
   15971 </p>
   15972 
   15973 <p>
   15974 Specify a list of network/netmask patterns, separated by commas
   15975 and/or whitespace. The mask specifies the number of bits in the
   15976 network part of a host address. You can also specify hostnames or
   15977 .domain names (the initial dot causes the domain to match any name
   15978 below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
   15979 pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
   15980 is matched when a table entry matches a lookup string (the lookup
   15981 result is ignored).  Continue long lines by starting the next line
   15982 with whitespace. Specify "!pattern" to exclude an address or network
   15983 block from the list. The form "!/file/name" is supported only in
   15984 Postfix version 2.4 and later.  </p>
   15985 
   15986 <p> Note: IP version 6 address information must be specified inside
   15987 <tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> value, and in
   15988 files specified with "/file/name".  IP version 6 addresses contain
   15989 the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
   15990 pattern.  </p>
   15991 
   15992 
   15993 </DD>
   15994 
   15995 <DT><b><a name="smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a>
   15996 (default: empty)</b></DT><DD>
   15997 
   15998 <p>
   15999 What remote SMTP clients are allowed to use the XFORWARD feature.  This
   16000 command forwards information that is used to improve logging after
   16001 SMTP-based content filters. See the <a href="XFORWARD_README.html">XFORWARD_README</a> document for
   16002 details.
   16003 </p>
   16004 
   16005 <p>
   16006 This feature is available in Postfix 2.1 and later.
   16007 </p>
   16008 
   16009 <p>
   16010 By default, no clients are allowed to specify XFORWARD.
   16011 </p>
   16012 
   16013 <p>
   16014 Specify a list of network/netmask patterns, separated by commas
   16015 and/or whitespace. The mask specifies the number of bits in the
   16016 network part of a host address. You can also specify hostnames or
   16017 .domain names (the initial dot causes the domain to match any name
   16018 below it),  "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name"
   16019 pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
   16020 is matched when a table entry matches a lookup string (the lookup
   16021 result is ignored).  Continue long lines by starting the next line
   16022 with whitespace. Specify "!pattern" to exclude an address or network
   16023 block from the list. The form "!/file/name" is supported only in
   16024 Postfix version 2.4 and later.  </p>
   16025 
   16026 <p> Note: IP version 6 address information must be specified inside
   16027 <tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> value, and in
   16028 files specified with "/file/name".  IP version 6 addresses contain
   16029 the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
   16030 pattern.  </p>
   16031 
   16032 
   16033 </DD>
   16034 
   16035 <DT><b><a name="smtpd_banner">smtpd_banner</a>
   16036 (default: $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a>)</b></DT><DD>
   16037 
   16038 <p>
   16039 The text that follows the 220 status code in the SMTP greeting
   16040 banner. Some people like to see the mail version advertised. By
   16041 default, Postfix shows no version.
   16042 </p>
   16043 
   16044 <p>
   16045 You MUST specify $<a href="postconf.5.html#myhostname">myhostname</a> at the start of the text. This is
   16046 required by the SMTP protocol.
   16047 </p>
   16048 
   16049 <p>
   16050 Example:
   16051 </p>
   16052 
   16053 <pre>
   16054 <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>)
   16055 </pre>
   16056 
   16057 
   16058 </DD>
   16059 
   16060 <DT><b><a name="smtpd_client_auth_rate_limit">smtpd_client_auth_rate_limit</a>
   16061 (default: 0)</b></DT><DD>
   16062 
   16063 <p>
   16064 The maximal number of AUTH commands that any client is allowed to
   16065 send to this service per time unit, regardless of whether or not
   16066 Postfix actually accepts those commands.  The time unit is specified
   16067 with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
   16068 </p>
   16069 
   16070 <p>
   16071 By default, there is no limit on the number of AUTH commands that a
   16072 client may send.
   16073 </p>
   16074 
   16075 <p>
   16076 To disable this feature, specify a limit of 0.
   16077 </p>
   16078 
   16079 <p>
   16080 WARNING: The purpose of this feature is to limit abuse. It must
   16081 not be used to regulate legitimate mail traffic.
   16082 </p>
   16083 
   16084 <p>
   16085 This feature is available in Postfix 3.1 and later.
   16086 </p>
   16087 
   16088 
   16089 </DD>
   16090 
   16091 <DT><b><a name="smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>
   16092 (default: 50)</b></DT><DD>
   16093 
   16094 <p>
   16095 How many simultaneous connections any client is allowed to
   16096 make to this service.  By default, the limit is set to half
   16097 the default process limit value.
   16098 </p>
   16099 
   16100 <p>
   16101 To disable this feature, specify a limit of 0.
   16102 </p>
   16103 
   16104 <p>
   16105 WARNING: The purpose of this feature is to limit abuse. It must
   16106 not be used to regulate legitimate mail traffic.
   16107 </p>
   16108 
   16109 <p>
   16110 This feature is available in Postfix 2.2 and later.
   16111 </p>
   16112 
   16113 
   16114 </DD>
   16115 
   16116 <DT><b><a name="smtpd_client_connection_limit_exceptions">smtpd_client_connection_limit_exceptions</a>
   16117 (default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
   16118 
   16119 <p> Renamed to <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> in Postfix 2.2. </p>
   16120 
   16121 
   16122 </DD>
   16123 
   16124 <DT><b><a name="smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a>
   16125 (default: 0)</b></DT><DD>
   16126 
   16127 <p>
   16128 The maximal number of connection attempts any client is allowed to
   16129 make to this service per time unit.  The time unit is specified
   16130 with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
   16131 </p>
   16132 
   16133 <p>
   16134 By default, a client can make as many connections per time unit as
   16135 Postfix can accept.
   16136 </p>
   16137 
   16138 <p>
   16139 To disable this feature, specify a limit of 0.
   16140 </p>
   16141 
   16142 <p>
   16143 WARNING: The purpose of this feature is to limit abuse. It must
   16144 not be used to regulate legitimate mail traffic.
   16145 </p>
   16146 
   16147 <p>
   16148 This feature is available in Postfix 2.2 and later.
   16149 </p>
   16150 
   16151 <p>
   16152 Example:
   16153 </p>
   16154 
   16155 <pre>
   16156 <a href="postconf.5.html#smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> = 1000
   16157 </pre>
   16158 
   16159 
   16160 </DD>
   16161 
   16162 <DT><b><a name="smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
   16163 (default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
   16164 
   16165 <p>
   16166 Clients that are excluded from smtpd_client_*_count/rate_limit
   16167 restrictions. See the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter
   16168 description for the parameter value syntax.
   16169 </p>
   16170 
   16171 <p>
   16172 By default, clients in trusted networks are excluded. Specify a
   16173 list of network blocks, hostnames or .domain names (the initial
   16174 dot causes the domain to match any name below it).
   16175 </p>
   16176 
   16177 <p> Note: IP version 6 address information must be specified inside
   16178 <tt>[]</tt> in the <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> value, and
   16179 in files specified with "/file/name".  IP version 6 addresses
   16180 contain the ":" character, and would otherwise be confused with a
   16181 "<a href="DATABASE_README.html">type:table</a>" pattern.  </p>
   16182 
   16183 <p> Pattern matching of domain names is controlled by the presence
   16184 or absence of "<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>" in the
   16185 <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value (Postfix 3.0 and
   16186 later).  </p>
   16187 
   16188 <p>
   16189 This feature is available in Postfix 2.2 and later.
   16190 </p>
   16191 
   16192 
   16193 </DD>
   16194 
   16195 <DT><b><a name="smtpd_client_ipv4_prefix_length">smtpd_client_ipv4_prefix_length</a>
   16196 (default: 32)</b></DT><DD>
   16197 
   16198 <p> Aggregate smtpd_client_*_count and smtpd_client_*_rate statistics
   16199 by IPv4 network blocks with the specified network prefix. Aggregation
   16200 uses fewer <a href="anvil.8.html">anvil(8)</a> resources to maintain counters. By default,
   16201 aggregation is disabled for IPv4. </p>
   16202 
   16203 <p> This feature is available in Postfix 3.8 and later. </p>
   16204 
   16205 
   16206 </DD>
   16207 
   16208 <DT><b><a name="smtpd_client_ipv6_prefix_length">smtpd_client_ipv6_prefix_length</a>
   16209 (default: 84)</b></DT><DD>
   16210 
   16211 <p> Aggregate smtpd_client_*_count and smtpd_client_*_rate statistics
   16212 by IPv6 network blocks with the specified network prefix. Aggregation
   16213 uses fewer the <a href="anvil.8.html">anvil(8)</a> resources to maintain counters. By default,
   16214 aggregation is enabled for IPv6.  </p>
   16215 
   16216 <p> This feature is available in Postfix 3.8 and later. </p>
   16217 
   16218 
   16219 </DD>
   16220 
   16221 <DT><b><a name="smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a>
   16222 (default: 0)</b></DT><DD>
   16223 
   16224 <p>
   16225 The maximal number of message delivery requests that any client is
   16226 allowed to make to this service per time unit, regardless of whether
   16227 or not Postfix actually accepts those messages.  The time unit is
   16228 specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
   16229 </p>
   16230 
   16231 <p>
   16232 By default, a client can send as many message delivery requests
   16233 per time unit as Postfix can accept.
   16234 </p>
   16235 
   16236 <p>
   16237 To disable this feature, specify a limit of 0.
   16238 </p>
   16239 
   16240 <p>
   16241 WARNING: The purpose of this feature is to limit abuse. It must
   16242 not be used to regulate legitimate mail traffic.
   16243 </p>
   16244 
   16245 <p>
   16246 This feature is available in Postfix 2.2 and later.
   16247 </p>
   16248 
   16249 <p>
   16250 Example:
   16251 </p>
   16252 
   16253 <pre>
   16254 <a href="postconf.5.html#smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> = 1000
   16255 </pre>
   16256 
   16257 
   16258 </DD>
   16259 
   16260 <DT><b><a name="smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a>
   16261 (default: 0)</b></DT><DD>
   16262 
   16263 <p>
   16264 The maximal number of new (i.e., uncached) TLS sessions that a
   16265 remote SMTP client is allowed to negotiate with this service per
   16266 time unit.  The time unit is specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a>
   16267 configuration parameter.
   16268 </p>
   16269 
   16270 <p>
   16271 By default, a remote SMTP client can negotiate as many new TLS
   16272 sessions per time unit as Postfix can accept.
   16273 </p>
   16274 
   16275 <p>
   16276 To disable this feature, specify a limit of 0. Otherwise, specify
   16277 a limit that is at least the per-client concurrent session limit,
   16278 or else legitimate client sessions may be rejected.
   16279 </p>
   16280 
   16281 <p>
   16282 WARNING: The purpose of this feature is to limit abuse. It must
   16283 not be used to regulate legitimate mail traffic.
   16284 </p>
   16285 
   16286 <p>
   16287 This feature is available in Postfix 2.3 and later.
   16288 </p>
   16289 
   16290 <p>
   16291 Example:
   16292 </p>
   16293 
   16294 <pre>
   16295 <a href="postconf.5.html#smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a> = 100
   16296 </pre>
   16297 
   16298 
   16299 </DD>
   16300 
   16301 <DT><b><a name="smtpd_client_port_logging">smtpd_client_port_logging</a>
   16302 (default: no)</b></DT><DD>
   16303 
   16304 <p> Enable logging of the remote SMTP client port in addition to
   16305 the hostname and IP address. The logging format is "host[address]:port".
   16306 </p>
   16307 
   16308 <p> This feature is available in Postfix 2.5 and later. </p>
   16309 
   16310 
   16311 </DD>
   16312 
   16313 <DT><b><a name="smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a>
   16314 (default: 0)</b></DT><DD>
   16315 
   16316 <p>
   16317 The maximal number of recipient addresses that any client is allowed
   16318 to send to this service per time unit, regardless of whether or not
   16319 Postfix actually accepts those recipients.  The time unit is specified
   16320 with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
   16321 </p>
   16322 
   16323 <p>
   16324 By default, a client can send as many recipient addresses per time
   16325 unit as Postfix can accept.
   16326 </p>
   16327 
   16328 <p>
   16329 To disable this feature, specify a limit of 0.
   16330 </p>
   16331 
   16332 <p>
   16333 WARNING: The purpose of this feature is to limit abuse. It must
   16334 not be used to regulate legitimate mail traffic.
   16335 </p>
   16336 
   16337 <p>
   16338 This feature is available in Postfix 2.2 and later.
   16339 </p>
   16340 
   16341 <p>
   16342 Example:
   16343 </p>
   16344 
   16345 <pre>
   16346 <a href="postconf.5.html#smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> = 1000
   16347 </pre>
   16348 
   16349 
   16350 </DD>
   16351 
   16352 <DT><b><a name="smtpd_client_restrictions">smtpd_client_restrictions</a>
   16353 (default: empty)</b></DT><DD>
   16354 
   16355 <p>
   16356 Optional restrictions that the Postfix SMTP server applies in the
   16357 context of a client connection request.
   16358 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
   16359 restriction lists" for a discussion of evaluation context and time.
   16360 </p>
   16361 
   16362 <p>
   16363 The default is to allow all connection requests.
   16364 </p>
   16365 
   16366 <p>
   16367 Specify a list of restrictions, separated by commas and/or whitespace.
   16368 Continue long lines by starting the next line with whitespace.
   16369 Restrictions are applied in the order as specified; the first
   16370 restriction that matches wins.
   16371 </p>
   16372 
   16373 <p>
   16374 The following restrictions are specific to client hostname or
   16375 client network address information.
   16376 </p>
   16377 
   16378 <dl>
   16379 
   16380 <dt><b><a name="check_ccert_access">check_ccert_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
   16381 
   16382 <dd> By default use the remote SMTP client certificate fingerprint
   16383 or the public key
   16384 fingerprint (Postfix 2.9 and later) as the lookup key for the specified
   16385 <a href="access.5.html">access(5)</a> database; with Postfix version 2.2, also require that the
   16386 remote SMTP client certificate is verified successfully.
   16387 The fingerprint digest algorithm is configurable via the
   16388 <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
   16389 Postfix version 2.5).  This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
   16390 = yes" and is available with Postfix version
   16391 2.2 and later. </dd>
   16392 
   16393 <dd> The default algorithm is <b>sha256</b> with Postfix &ge; 3.6
   16394 and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix
   16395 &le; 3.5, the default algorithm is <b>md5</b>.  The best-practice
   16396 algorithm is now <b>sha256</b>. Recent advances in hash function
   16397 cryptanalysis have led to md5 and sha1 being deprecated in favor of
   16398 sha256.  However, as long as there are no known "second pre-image"
   16399 attacks against the older algorithms, their use in this context, though
   16400 not recommended, is still likely safe.  </dd>
   16401 
   16402 <dd> Alternatively, <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> accepts an explicit search
   16403 order (Postfix 3.5 and later). The default search order as described
   16404 above corresponds with: </dd>
   16405 
   16406 <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,
   16407 pubkey_fingerprint } } </dd>
   16408 
   16409 <dd> The commas are optional. </dd>
   16410 
   16411 <dt><b><a name="check_client_access">check_client_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
   16412 
   16413 <dd>Search the specified access database for the client hostname
   16414 or IP address. See the <a href="access.5.html">access(5)</a> manual page for details. </dd>
   16415 
   16416 <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>
   16417 
   16418 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the
   16419 client hostname, and execute the corresponding action.  Note: a result
   16420 of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
   16421 to exclude specific hosts from denylists.  This feature is available
   16422 in Postfix 3.0 and later.  </dd>
   16423 
   16424 <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>
   16425 
   16426 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
   16427 client hostname, and execute the corresponding action.  If no MX
   16428 record is found, look up A or AAAA records, just like the Postfix
   16429 SMTP client would. Note: a result
   16430 of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
   16431 to exclude specific hosts from denylists.  This feature is available
   16432 in Postfix 2.7 and later.  </dd>
   16433 
   16434 <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>
   16435 
   16436 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
   16437 the client hostname, and execute the corresponding action.  Note: a
   16438 result of "OK" is not allowed for safety reasons. Instead, use DUNNO
   16439 in order to exclude specific hosts from denylists.  This feature is
   16440 available in Postfix 2.7 and later.  </dd>
   16441 
   16442 <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>
   16443 
   16444 <dd>Search the specified access database for the unverified reverse
   16445 client hostname or IP address. See the <a href="access.5.html">access(5)</a>
   16446 manual page for details.  Note: a result of "OK" is not allowed for
   16447 safety reasons.  Instead, use DUNNO in order to exclude specific
   16448 hosts from denylists.  This feature is available in Postfix 2.6
   16449 and later.</dd>
   16450 
   16451 <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>
   16452 
   16453 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the
   16454 unverified reverse client hostname, and execute the corresponding
   16455 action.  Note: a result of "OK" is not allowed for safety reasons.
   16456 Instead, use DUNNO in order to exclude specific hosts from denylists.
   16457 This feature is available in Postfix 3.0 and later.  </dd>
   16458 
   16459 <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>
   16460 
   16461 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
   16462 unverified reverse client hostname, and execute the corresponding
   16463 action.  If no MX record is found, look up A or AAAA records, just
   16464 like the Postfix SMTP client would.
   16465 Note: a result of "OK" is not allowed for safety reasons.
   16466 Instead, use DUNNO in order to exclude specific hosts from denylists.
   16467 This feature is available in Postfix 2.7 and later.  </dd>
   16468 
   16469 <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>
   16470 
   16471 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
   16472 the unverified reverse client hostname, and execute the corresponding
   16473 action.  Note: a result of "OK" is not allowed for safety reasons.
   16474 Instead, use DUNNO in order to exclude specific hosts from denylists.
   16475 This feature is available in Postfix 2.7 and later.  </dd>
   16476 
   16477 <dt><b><a name="check_sasl_access">check_sasl_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
   16478 
   16479 <dd> Use the remote SMTP client SASL user name as the lookup key for
   16480 the specified <a href="access.5.html">access(5)</a> database. The lookup key has the form
   16481 "username@domainname" when the <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> parameter
   16482 value is non-empty.  Unlike the <a href="postconf.5.html#check_client_access">check_client_access</a> feature,
   16483 <a href="postconf.5.html#check_sasl_access">check_sasl_access</a> does not perform matches of parent domains or IP
   16484 subnet ranges.  This feature is available with Postfix version 2.11
   16485 and later. </dd>
   16486 
   16487 <dt><b><a name="permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
   16488 
   16489 <dd>Permit the request when the client IP address matches
   16490 $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. </dd>
   16491 
   16492 <dt><b><a name="permit_mynetworks">permit_mynetworks</a></b></dt>
   16493 
   16494 <dd>Permit the request when the client IP address matches any
   16495 network or network address listed in  $<a href="postconf.5.html#mynetworks">mynetworks</a>. </dd>
   16496 
   16497 <dt><b><a name="permit_sasl_authenticated">permit_sasl_authenticated</a></b></dt>
   16498 
   16499 <dd> Permit the request when the client is successfully
   16500 authenticated via the <a href="https://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH) protocol. </dd>
   16501 
   16502 <dt><b><a name="permit_tls_all_clientcerts">permit_tls_all_clientcerts</a></b></dt>
   16503 
   16504 <dd> Permit the request when the remote SMTP client certificate is
   16505 verified successfully.  This option must be used only if a special
   16506 CA issues the certificates and only this CA is listed as a trusted
   16507 CA. Otherwise, clients with a third-party certificate would also
   16508 be allowed to relay.  Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" when the
   16509 trusted 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>,
   16510 to prevent Postfix from appending the system-supplied default CAs.
   16511 This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes" and is available
   16512 with Postfix version 2.2 and later.</dd>
   16513 
   16514 <dt><b><a name="permit_tls_clientcerts">permit_tls_clientcerts</a></b></dt>
   16515 
   16516 <dd>Permit the request when the remote SMTP client certificate
   16517 fingerprint or public key fingerprint (Postfix 2.9 and later) is
   16518 listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
   16519 The fingerprint digest algorithm is configurable via the
   16520 <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
   16521 Postfix version 2.5).  This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
   16522 = yes" and is available with Postfix version 2.2 and later.</dd>
   16523 
   16524 <dd> The default algorithm is <b>sha256</b> with Postfix &ge; 3.6
   16525 and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix
   16526 &le; 3.5, the default algorithm is <b>md5</b>.  The best-practice
   16527 algorithm is now <b>sha256</b>. Recent advances in hash function
   16528 cryptanalysis have led to md5 and sha1 being deprecated in favor of
   16529 sha256.  However, as long as there are no known "second pre-image"
   16530 attacks against the older algorithms, their use in this context, though
   16531 not recommended, is still likely safe.  </dd>
   16532 
   16533 <dt><b><a name="reject_rbl_client">reject_rbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
   16534 
   16535 <dd>Reject the request when the reversed client network address is
   16536 listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
   16537 (Postfix version 2.1 and later only).  Each "<i>d</i>" is a number,
   16538 or a pattern inside "[]" that contains one or more ";"-separated
   16539 numbers or number..number ranges (Postfix version 2.8 and later).
   16540 If no "<i>=d.d.d.d</i>" is specified, reject the request when the
   16541 reversed client network address is listed with any A record under
   16542 <i>rbl_domain</i>. <br>
   16543 The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
   16544 rejected requests (default:  554), the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a>  parameter
   16545 specifies the default server reply, and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a>  parameter
   16546 specifies tables with server replies indexed by <i>rbl_domain</i>.
   16547 <br>
   16548 NOTE: Always respect the usage policies of reputation services. Avoid
   16549 public or ISP resolvers, unless the queries use your unique API key
   16550 (see <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> for how to avoid leaking the key in SMTP server
   16551 responses). <br>
   16552 This feature is available in Postfix 2.0 and later. </dd>
   16553 
   16554 <dt><b><a name="permit_dnswl_client">permit_dnswl_client <i>dnswl_domain=d.d.d.d</i></a></b></dt>
   16555 
   16556 <dd>Accept the request when the reversed client network address is
   16557 listed with the A record "<i>d.d.d.d</i>" under <i>dnswl_domain</i>.
   16558 Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
   16559 one or more ";"-separated numbers or number..number ranges.
   16560 If no "<i>=d.d.d.d</i>" is specified, accept the request when the
   16561 reversed client network address is listed with any A record under
   16562 <i>dnswl_domain</i>. <br> For safety, <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a> is silently
   16563 ignored when it would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>.  The
   16564 result is DEFER_IF_REJECT when allowlist lookup fails. <br>
   16565 NOTE: Always respect the usage policies of reputation services. Avoid
   16566 public or ISP resolvers, unless the queries use your unique API key
   16567 (see <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> for how to avoid leaking an API key in SMTP
   16568 server responses). <br>
   16569 This feature is available in Postfix 2.8 and later. </dd>
   16570 
   16571 <dt><b><a name="reject_rhsbl_client">reject_rhsbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
   16572 
   16573 <dd>Reject the request when the client hostname is listed with the
   16574 A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
   16575 2.1 and later only).  Each "<i>d</i>" is a number, or a pattern
   16576 inside "[]" that contains one or more ";"-separated numbers or
   16577 number..number ranges (Postfix version 2.8 and later).  If no
   16578 "<i>=d.d.d.d</i>" is specified, reject the request when the client
   16579 hostname is listed with
   16580 any A record under <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a>
   16581 description above for additional RBL related configuration parameters.
   16582 <br>
   16583 NOTE: Always respect the usage policies of reputation services. Avoid
   16584 public or ISP resolvers, unless the queries use your unique API key
   16585 (see <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> for how to avoid leaking an API key in SMTP
   16586 server responses). <br>
   16587 This feature is available in Postfix 2.0 and later; with Postfix
   16588 version 2.8 and later, <a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a> will usually
   16589 produce better results. </dd>
   16590 
   16591 <dt><b><a name="permit_rhswl_client">permit_rhswl_client <i>rhswl_domain=d.d.d.d</i></a></b></dt>
   16592 
   16593 <dd>Accept the request when the client hostname is listed with the
   16594 A record "<i>d.d.d.d</i>" under <i>rhswl_domain</i>.  Each "<i>d</i>"
   16595 is a number, or a pattern inside "[]" that contains one or more
   16596 ";"-separated numbers or number..number ranges. If no
   16597 "<i>=d.d.d.d</i>" is specified, accept the request when the client
   16598 hostname is listed with any A record under <i>rhswl_domain</i>.
   16599 <br> Caution: client name allowlisting is fragile, since the client
   16600 name lookup can fail due to temporary outages.  Client name
   16601 allowlisting should be used only to reduce false positives in e.g.
   16602 DNS-based blocklists, and not for making access rule exceptions.
   16603 <br> For safety, <a href="postconf.5.html#permit_rhswl_client">permit_rhswl_client</a> is silently ignored when it
   16604 would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>.  The result is DEFER_IF_REJECT
   16605 when allowlist lookup fails. <br>
   16606 NOTE: Always respect the usage policies of reputation services. Avoid
   16607 public or ISP resolvers, unless the queries use your unique API key
   16608 (see <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> for how to avoid leaking an API key in SMTP
   16609 server responses). <br>
   16610 This feature is available in Postfix 2.8 and later.</dd>
   16611 
   16612 <dt><b><a name="reject_rhsbl_reverse_client">reject_rhsbl_reverse_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
   16613 
   16614 <dd>Reject the request when the unverified reverse client hostname
   16615 is listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>.
   16616 Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
   16617 one or more ";"-separated numbers or number..number ranges.
   16618 If no "<i>=d.d.d.d</i>" is specified, reject the request when the
   16619 unverified reverse client hostname is listed with any A record under
   16620 <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description above for
   16621 additional RBL related configuration parameters. <br>
   16622 NOTE: Always respect the usage policies of reputation services. Avoid
   16623 public or ISP resolvers, unless the queries use your unique API key
   16624 (see <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> for how to avoid leaking an API key in SMTP
   16625 server responses). <br>
   16626 This feature is available in Postfix 2.8 and later. </dd>
   16627 
   16628 <dt><b><a name="reject_unknown_client_hostname">reject_unknown_client_hostname</a></b> (with Postfix &lt; 2.3: reject_unknown_client)</dt>
   16629 
   16630 <dd>Reject the request when 1) the client IP address-&gt;name mapping
   16631 fails, or 2) the name-&gt;address mapping fails, or 3) the name-&gt;address
   16632 mapping does not match the client IP address.  <br> This is a
   16633 stronger restriction than the <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a>
   16634 feature, which triggers only under condition 1) above. <br> The
   16635 <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response code
   16636 for rejected requests (default: 450). The reply is always 450 in
   16637 case the address-&gt;name or name-&gt;address lookup failed due to
   16638 a temporary problem. </dd>
   16639 
   16640 <dt><b><a name="reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a></b></dt>
   16641 
   16642 <dd>Reject the request when the client IP address has no address-&gt;name
   16643 mapping. <br> This is a weaker restriction than the
   16644 <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> feature, which requires not only
   16645 that the address-&gt;name and name-&gt;address mappings exist, but
   16646 also that the two mappings reproduce the client IP address.  <br>
   16647 The <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response
   16648 code for rejected requests (default: 450).  The reply is always 450
   16649 in case the address-&gt;name lookup failed due to a temporary
   16650 problem. <br> This feature is available in Postfix 2.3 and
   16651 later.  </dd>
   16652 
   16653 </dl>
   16654 
   16655 <p>
   16656 In addition, you can use any of the following <a name="generic">
   16657 generic</a> restrictions.  These restrictions are applicable in
   16658 any SMTP command context.
   16659 </p>
   16660 
   16661 <dl>
   16662 
   16663 <dt><b><a name="check_policy_service">check_policy_service <i>servername</i></a></b></dt>
   16664 
   16665 <dd>Query the specified policy server. See the <a href="SMTPD_POLICY_README.html">SMTPD_POLICY_README</a>
   16666 document for details. This feature is available in Postfix 2.1
   16667 and later. </dd>
   16668 
   16669 <dt><b><a name="defer">defer</a></b></dt>
   16670 
   16671 <dd>Defer the request. The client is told to try again later. This
   16672 restriction is useful at the end of a restriction list, to make
   16673 the default policy explicit. <br> The <a href="postconf.5.html#defer_code">defer_code</a> parameter specifies
   16674 the SMTP server reply code (default: 450).</dd>
   16675 
   16676 <dt><b><a name="defer_if_permit">defer_if_permit</a></b></dt>
   16677 
   16678 <dd>Defer the request if some later restriction would result in an
   16679 explicit or implicit PERMIT action.  This is useful when a denylisting
   16680 feature fails due to a temporary problem.  This feature is available
   16681 in Postfix version 2.1 and later.  </dd>
   16682 
   16683 <dt><b><a name="defer_if_reject">defer_if_reject</a></b></dt>
   16684 
   16685 <dd>Defer the request if some later restriction would result in a
   16686 REJECT action.  This is useful when an allowlisting feature fails
   16687 due to a temporary problem.  This feature is available in Postfix
   16688 version 2.1 and later.  </dd>
   16689 
   16690 <dt><b><a name="permit">permit</a></b></dt>
   16691 
   16692 <dd>Permit the request. This restriction is useful at the end of
   16693 a restriction list, to make the default policy explicit.</dd>
   16694 
   16695 <dt><b><a name="reject_multi_recipient_bounce">reject_multi_recipient_bounce</a></b></dt>
   16696 
   16697 <dd>Reject the request when the envelope sender is the null address,
   16698 and the message has multiple envelope recipients. This usage has
   16699 rare but legitimate applications: under certain conditions,
   16700 multi-recipient mail that was posted with the DSN option NOTIFY=NEVER
   16701 may be forwarded with the null sender address.
   16702 <br> Note: this restriction can only work reliably
   16703 when used in <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> or
   16704 <a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>, because the total number of
   16705 recipients is not known at an earlier stage of the SMTP conversation.
   16706 Use at the RCPT stage will only reject the second etc.  recipient.
   16707 <br>
   16708 The <a href="postconf.5.html#multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> parameter specifies the
   16709 response code for rejected requests (default:  550).  This feature
   16710 is available in Postfix 2.1 and later. </dd>
   16711 
   16712 <dt><b><a name="reject_plaintext_session">reject_plaintext_session</a></b></dt>
   16713 
   16714 <dd>Reject the request when the connection is not encrypted. This
   16715 restriction should not be used before the client has had a chance
   16716 to negotiate encryption with the AUTH or STARTTLS commands.
   16717 <br>
   16718 The <a href="postconf.5.html#plaintext_reject_code">plaintext_reject_code</a> parameter specifies the response
   16719 code for rejected requests (default:  450).  This feature is available
   16720 in Postfix 2.3 and later. </dd>
   16721 
   16722 <dt><b><a name="reject_unauth_pipelining">reject_unauth_pipelining</a></b></dt>
   16723 
   16724 <dd>Reject the request when the client sends SMTP commands ahead
   16725 of time where it is not allowed, or when the client sends SMTP
   16726 commands ahead of time without knowing that Postfix actually supports
   16727 ESMTP command pipelining. This stops mail from bulk mail software
   16728 that improperly uses ESMTP command pipelining in order to speed up
   16729 deliveries.
   16730 <br> With Postfix 2.6 and later, the SMTP server sets a per-session
   16731 flag whenever it detects illegal pipelining, including pipelined
   16732 HELO or EHLO commands. The <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> feature simply
   16733 tests whether the flag was set at any point in time during the
   16734 session.
   16735 <br> With older Postfix versions, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> checks
   16736 the current status of the input read queue, and its usage is not
   16737 recommended in contexts other than <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a>.  </dd>
   16738 
   16739 <dt><b><a name="reject">reject</a></b></dt>
   16740 
   16741 <dd>Reject the request. This restriction is useful at the end of
   16742 a restriction list, to make the default policy explicit.  The
   16743 <a href="postconf.5.html#reject_code">reject_code</a> configuration parameter specifies the response code for
   16744 rejected requests (default: 554).</dd>
   16745 
   16746 <dt><b><a name="sleep">sleep <i>seconds</i></a></b></dt>
   16747 
   16748 <dd>Pause for the specified number of seconds and proceed with
   16749 the next restriction in the list, if any. This may stop zombie
   16750 mail when used as:
   16751 <pre>
   16752 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   16753     <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
   16754         sleep 1, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
   16755     <a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = no
   16756 </pre>
   16757 This feature is available in Postfix 2.3. </dd>
   16758 
   16759 <dt><b><a name="warn_if_reject">warn_if_reject</a></b></dt>
   16760 
   16761 <dd> A safety net for testing. When "<a href="postconf.5.html#warn_if_reject">warn_if_reject</a>" is placed
   16762 before a reject-type restriction, access table query, or
   16763 <a href="postconf.5.html#check_policy_service">check_policy_service</a> query, this logs a "reject_warning" message
   16764 instead of rejecting a request (when a reject-type restriction fails
   16765 due to a temporary error, this logs a "reject_warning" message for
   16766 any implicit "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" actions that would normally prevent
   16767 mail from being accepted by some later access restriction). This
   16768 feature has no effect on <a href="postconf.5.html#defer_if_reject">defer_if_reject</a> restrictions.  </dd>
   16769 
   16770 </dl>
   16771 
   16772 <p>
   16773 Other restrictions that are valid in this context:
   16774 </p>
   16775 
   16776 <ul>
   16777 
   16778 <li> SMTP command specific restrictions that are described under
   16779 the <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
   16780 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameters. When helo, sender or
   16781 recipient restrictions are listed under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>,
   16782 they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
   16783 $<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> is evaluated at the time of the RCPT TO
   16784 command.
   16785 
   16786 </ul>
   16787 
   16788 <p>
   16789 Example:
   16790 </p>
   16791 
   16792 <pre>
   16793 <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>
   16794 </pre>
   16795 
   16796 
   16797 </DD>
   16798 
   16799 <DT><b><a name="smtpd_command_filter">smtpd_command_filter</a>
   16800 (default: empty)</b></DT><DD>
   16801 
   16802 <p> A mechanism to transform commands from remote SMTP clients.
   16803 This is a last-resort tool to work around client commands that break
   16804 interoperability with the Postfix SMTP server.  Other uses involve
   16805 fault injection to test Postfix's handling of invalid commands.
   16806 </p>
   16807 
   16808 <p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
   16809 string is the SMTP command as received from the remote SMTP client,
   16810 except that initial whitespace and the trailing &lt;CR&gt;&lt;LF&gt;
   16811 are removed.  The result value is executed by the Postfix SMTP
   16812 server.  </p>
   16813 
   16814 <p> There is no need to use <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for the following
   16815 cases: </p>
   16816 
   16817 <ul>
   16818 
   16819 <li> <p> Use "<a href="postconf.5.html#resolve_numeric_domain">resolve_numeric_domain</a> = yes" to accept
   16820 "<i>user@ipaddress</i>". </p>
   16821 
   16822 <li> <p> Postfix already accepts the correct form
   16823 "<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>
   16824 to translate these into domain names if necessary.  </p>
   16825 
   16826 <li> <p> Use "<a href="postconf.5.html#strict_rfc821_envelopes">strict_rfc821_envelopes</a> = no" to accept "RCPT TO:&lt;<i>User
   16827 Name &lt;user (a] example.com&gt;&gt;</i>". Postfix will ignore the "<i>User
   16828 Name</i>" part and deliver to the <i>&lt;user (a] example.com&gt;</i> address.
   16829 </p>
   16830 
   16831 </ul>
   16832 
   16833 <p> Examples of problems that can be solved with the <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>
   16834 feature: </p>
   16835 
   16836 <pre>
   16837 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   16838     <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/command_filter
   16839 </pre>
   16840 
   16841 <pre>
   16842 /etc/postfix/command_filter:
   16843     # Work around clients that send malformed HELO commands.
   16844     /^HELO\s*$/ HELO domain.invalid
   16845 </pre>
   16846 
   16847 <pre>
   16848     # Work around clients that send empty lines.
   16849     /^\s*$/     NOOP
   16850 </pre>
   16851 
   16852 <pre>
   16853     # Work around clients that send RCPT TO:&lt;'user@domain'&gt;.
   16854     # WARNING: do not lose the parameters that follow the address.
   16855     /^(RCPT\s+TO:\s*&lt;)'([^[:space:]]+)'(&gt;.*)/     $1$2$3
   16856 </pre>
   16857 
   16858 <pre>
   16859     # Append XVERP to MAIL FROM commands to request VERP-style delivery.
   16860     # See <a href="VERP_README.html">VERP_README</a> for more information on how to use Postfix VERP.
   16861     /^(MAIL\s+FROM:\s*&lt;listname@example\.com&gt;.*)/   $1 XVERP
   16862 </pre>
   16863 
   16864 <pre>
   16865     # Bounce-never mail sink. Use <a href="postconf.5.html#notify_classes">notify_classes</a>=bounce,resource,software
   16866     # to send bounced mail to the postmaster (with message body removed).
   16867     /^(RCPT\s+TO:\s*&lt;.*&gt;.*)\s+NOTIFY=\S+(.*)/     $1 NOTIFY=NEVER$2
   16868     /^(RCPT\s+TO:.*)/                             $1 NOTIFY=NEVER
   16869 </pre>
   16870 
   16871 <p> This feature is available in Postfix 2.7. </p>
   16872 
   16873 
   16874 </DD>
   16875 
   16876 <DT><b><a name="smtpd_data_restrictions">smtpd_data_restrictions</a>
   16877 (default: empty)</b></DT><DD>
   16878 
   16879 <p>
   16880 Optional access restrictions that the Postfix SMTP server applies
   16881 in the context of the SMTP DATA command.
   16882 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
   16883 restriction lists" for a discussion of evaluation context and time.
   16884 </p>
   16885 
   16886 <p>
   16887 This feature is available in Postfix 2.0 and later.
   16888 </p>
   16889 
   16890 <p>
   16891 Specify a list of restrictions, separated by commas and/or whitespace.
   16892 Continue long lines by starting the next line with whitespace.
   16893 Restrictions are applied in the order as specified; the first
   16894 restriction that matches wins.
   16895 </p>
   16896 
   16897 <p>
   16898 The following restrictions are valid in this context:
   16899 </p>
   16900 
   16901 <ul>
   16902 
   16903 <li><a href="#generic">Generic</a> restrictions that can be used
   16904 in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
   16905 
   16906 <li>SMTP command specific restrictions described under
   16907 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
   16908 <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>.
   16909 
   16910 <li>However, no recipient information is available in the case of
   16911 multi-recipient mail. Acting on only one recipient would be misleading,
   16912 because any decision will affect all recipients equally. Acting on
   16913 all recipients would require a possibly very large amount of memory,
   16914 and would also be misleading for the reasons mentioned before.
   16915 
   16916 </ul>
   16917 
   16918 <p>
   16919 Examples:
   16920 </p>
   16921 
   16922 <pre>
   16923 <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
   16924 <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>
   16925 </pre>
   16926 
   16927 
   16928 </DD>
   16929 
   16930 <DT><b><a name="smtpd_delay_open_until_valid_rcpt">smtpd_delay_open_until_valid_rcpt</a>
   16931 (default: yes)</b></DT><DD>
   16932 
   16933 <p> Postpone the start of an SMTP mail transaction until a valid
   16934 RCPT TO command is received. Specify "no" to create a mail transaction
   16935 as soon as the Postfix SMTP server receives a valid MAIL FROM
   16936 command. </p>
   16937 
   16938 <p> With sites that reject lots of mail, the default setting reduces
   16939 the use of
   16940 disk, CPU and memory resources. The downside is that rejected
   16941 recipients are logged with NOQUEUE instead of a mail transaction
   16942 ID (also known as a queue ID).
   16943 </p>
   16944 
   16945 <p> This feature is available in Postfix 2.3 and later. </p>
   16946 
   16947 
   16948 </DD>
   16949 
   16950 <DT><b><a name="smtpd_delay_reject">smtpd_delay_reject</a>
   16951 (default: yes)</b></DT><DD>
   16952 
   16953 <p>
   16954 Wait until the RCPT TO command before evaluating
   16955 $<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
   16956 $<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, or wait until the ETRN command before
   16957 evaluating $<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>.
   16958 </p>
   16959 
   16960 <p>
   16961 This feature is turned on by default because some clients apparently
   16962 mis-behave when the Postfix SMTP server rejects commands before
   16963 RCPT TO.
   16964 </p>
   16965 
   16966 <p>
   16967 The default setting has one major benefit: it allows Postfix to log
   16968 recipient address information when rejecting a client name/address
   16969 or sender address, so that it is possible to find out whose mail
   16970 is being rejected.
   16971 </p>
   16972 
   16973 
   16974 </DD>
   16975 
   16976 <DT><b><a name="smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>
   16977 (default: empty)</b></DT><DD>
   16978 
   16979 <p> Lookup tables, indexed by the remote SMTP client address, with
   16980 case insensitive lists of EHLO keywords (pipelining, starttls, auth,
   16981 etc.) that the Postfix SMTP server will not send in the EHLO response
   16982 to a
   16983 remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
   16984 The tables are not searched by hostname for robustness reasons.  </p>
   16985 
   16986 <p>
   16987 Specify zero or more "type:name" lookup tables, separated by
   16988 whitespace or comma. Tables will be searched in the specified order
   16989 until a match is found.
   16990 </p>
   16991 
   16992 <p> This feature is available in Postfix 2.2 and later. </p>
   16993 
   16994 
   16995 </DD>
   16996 
   16997 <DT><b><a name="smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
   16998 (default: empty)</b></DT><DD>
   16999 
   17000 <p> A case insensitive list of EHLO keywords (pipelining, starttls,
   17001 auth, etc.) that the Postfix SMTP server will not send in the EHLO
   17002 response
   17003 to a remote SMTP client. </p>
   17004 
   17005 <p> This feature is available in Postfix 2.2 and later. </p>
   17006 
   17007 <p> Notes: </p>
   17008 
   17009 <ul>
   17010 
   17011 <li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
   17012 this action from being logged. </p>
   17013 
   17014 <li> <p> Use the <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> feature
   17015 to discard EHLO keywords selectively.  </p>
   17016 
   17017 </ul>
   17018 
   17019 
   17020 </DD>
   17021 
   17022 <DT><b><a name="smtpd_dns_reply_filter">smtpd_dns_reply_filter</a>
   17023 (default: empty)</b></DT><DD>
   17024 
   17025 <p> Optional filter for Postfix SMTP server DNS lookup results.
   17026 See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example.
   17027 </p>
   17028 
   17029 <p> This feature is available in Postfix 3.0 and later. </p>
   17030 
   17031 
   17032 </DD>
   17033 
   17034 <DT><b><a name="smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>
   17035 (default: empty)</b></DT><DD>
   17036 
   17037 <p> Optional access restrictions that the Postfix SMTP server
   17038 applies in the context of the SMTP END-OF-DATA command.
   17039 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
   17040 restriction lists" for a discussion of evaluation context and time.
   17041 </p>
   17042 
   17043 <p> This feature is available in Postfix 2.2 and later. </p>
   17044 
   17045 <p> See <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> for details and limitations. </p>
   17046 
   17047 
   17048 </DD>
   17049 
   17050 <DT><b><a name="smtpd_enforce_tls">smtpd_enforce_tls</a>
   17051 (default: no)</b></DT><DD>
   17052 
   17053 <p> Mandatory TLS: announce STARTTLS support to remote SMTP clients,
   17054 and reject all plaintext commands except HELO, EHLO, XCLIENT,
   17055 STARTTLS, NOOP, QUIT, and (Postfix &ge; 3.9) HELP.
   17056 According to <a href="https://tools.ietf.org/html/rfc2487">RFC 2487</a>
   17057 this MUST NOT be applied in case of a publicly-referenced SMTP
   17058 server. Instead, this should be used on dedicated servers, for
   17059 example submission (port 587). This option is therefore off by
   17060 default. </p>
   17061 
   17062 <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>
   17063 
   17064 <p> Note 2: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
   17065 STARTTLS due to insufficient privileges to access the server private
   17066 key. This is intended behavior. </p>
   17067 
   17068 <p> This feature is deprecated as of Postfix 3.9. Specify
   17069 <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
   17070 
   17071 <p> This feature is available in Postfix 2.2 and later. With
   17072 Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
   17073 
   17074 
   17075 </DD>
   17076 
   17077 <DT><b><a name="smtpd_error_sleep_time">smtpd_error_sleep_time</a>
   17078 (default: 1s)</b></DT><DD>
   17079 
   17080 <p>With Postfix version 2.1 and later: the SMTP server response delay after
   17081 a client has made more than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors, and
   17082 fewer than $<a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a> errors, without delivering mail.
   17083 </p>
   17084 
   17085 <p>With Postfix version 2.0 and earlier: the SMTP server delay
   17086 before sending a reject (4xx or 5xx) response, when the client has
   17087 made fewer than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors without delivering
   17088 mail. When the client has made $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> or more errors,
   17089 delay all responses with the larger of (number of errors) seconds
   17090 or $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a>. </p>
   17091 
   17092 <p> Specify a non-negative time value (an integral value plus an optional
   17093 one-letter suffix that specifies the time unit).  Time units: s
   17094 (seconds), m (minutes), h (hours), d (days), w (weeks).
   17095 The default time unit is s (seconds).  </p>
   17096 
   17097 
   17098 </DD>
   17099 
   17100 <DT><b><a name="smtpd_etrn_restrictions">smtpd_etrn_restrictions</a>
   17101 (default: empty)</b></DT><DD>
   17102 
   17103 <p>
   17104 Optional restrictions that the Postfix SMTP server applies in the
   17105 context of a client ETRN command.
   17106 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
   17107 restriction lists" for a discussion of evaluation context and time.
   17108 </p>
   17109 
   17110 <p>
   17111 The Postfix ETRN implementation accepts only destinations that are
   17112 eligible for the Postfix "fast flush" service. See the <a href="ETRN_README.html">ETRN_README</a>
   17113 file for details.
   17114 </p>
   17115 
   17116 <p>
   17117 Specify a list of restrictions, separated by commas and/or whitespace.
   17118 Continue long lines by starting the next line with whitespace.
   17119 Restrictions are applied in the order as specified; the first
   17120 restriction that matches wins.
   17121 </p>
   17122 
   17123 <p>
   17124 The following restrictions are specific to the domain name information
   17125 received with the ETRN command.
   17126 </p>
   17127 
   17128 <dl>
   17129 
   17130 <dt><b><a name="check_etrn_access">check_etrn_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
   17131 
   17132 <dd>Search the specified access database for the ETRN domain name.
   17133 See the <a href="access.5.html">access(5)</a> manual page for details.
   17134 </dd>
   17135 
   17136 </dl>
   17137 
   17138 <p>
   17139 Other restrictions that are valid in this context:
   17140 </p>
   17141 
   17142 <ul>
   17143 
   17144 <li><a href="#generic">Generic</a> restrictions that can be used
   17145 in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
   17146 
   17147 <li>SMTP command specific restrictions described under
   17148 <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>.
   17149 
   17150 </ul>
   17151 
   17152 <p>
   17153 Example:
   17154 </p>
   17155 
   17156 <pre>
   17157 <a href="postconf.5.html#smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, reject
   17158 </pre>
   17159 
   17160 
   17161 </DD>
   17162 
   17163 <DT><b><a name="smtpd_expansion_filter">smtpd_expansion_filter</a>
   17164 (default: see "postconf -d" output)</b></DT><DD>
   17165 
   17166 <p>
   17167 What characters are allowed in $name expansions of RBL reply
   17168 templates. Characters not in the allowed set are replaced by "_".
   17169 Use C like escapes to specify special characters such as whitespace.
   17170 </p>
   17171 
   17172 <p>
   17173 The <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> value is not subject to Postfix configuration
   17174 parameter $name expansion.
   17175 </p>
   17176 
   17177 <p>
   17178 This feature is available in Postfix 2.0 and later.
   17179 </p>
   17180 
   17181 
   17182 </DD>
   17183 
   17184 <DT><b><a name="smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a>
   17185 (default: Postfix &ge; 3.9: normalize)</b></DT><DD>
   17186 
   17187 <p> Reject or restrict input lines from an SMTP client that end in
   17188 &lt;LF&gt; instead of the standard &lt;CR&gt;&lt;LF&gt;. Such line
   17189 endings are commonly allowed with UNIX-based SMTP servers, but they
   17190 violate <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>, and allowing such line endings can make a server
   17191 vulnerable to <a href="https://www.postfix.org/smtp-smuggling.html">
   17192 SMTP smuggling</a>.  </p>
   17193 
   17194 <p> Specify one of the following values (case does not matter): </p>
   17195 
   17196 <dl compact>
   17197 
   17198 <dt> <b>normalize</b> (default for Postfix &ge; 3.9) </dt>
   17199 <dd> Require the standard
   17200 End-of-DATA sequence &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;.
   17201 Otherwise, allow command or message content lines ending in the
   17202 non-standard &lt;LF&gt;, and process them as if the client sent the
   17203 standard &lt;CR&gt;&lt;LF&gt;. <br> <br> This maintains compatibility
   17204 with many legitimate SMTP client applications that send a mix of
   17205 standard and non-standard line endings, but will fail to receive
   17206 email from client implementations that do not terminate DATA content
   17207 with the standard End-of-DATA sequence
   17208 &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;. <br> <br> Such clients
   17209 can be excluded with <a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a>. </dd>
   17210 
   17211 <dt> <b>note</b> </dt> <dd> Same as "normalize", but also notes in
   17212 the log whether the Postfix SMTP server received any lines with
   17213 "bare &lt;LF&gt;". The information is formatted as "<tt>disconnect
   17214 from name[address] ...  notes=bare_lf</tt>". The notes value is
   17215 expected to become a list of comma-separated names. <br> <br> This
   17216 feature is available in Postfix 3.9 and later. </dd>
   17217 
   17218 <dt> <b>yes</b> </dt> <dd> Compatibility alias for <b>normalize</b>. </dd>
   17219 
   17220 <dt> <b>reject</b> </dt> <dd> Require the standard End-of-DATA
   17221 sequence &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;. Reject a command
   17222 or message content when a line contains bare &lt;LF&gt;, log a "bare
   17223 &lt;LF&gt; received" error, and reply with the SMTP status code in
   17224 $<a href="postconf.5.html#smtpd_forbid_bare_newline_reject_code">smtpd_forbid_bare_newline_reject_code</a>. <br> <br> This will reject
   17225 email from SMTP clients that send any non-standard line endings
   17226 such as web applications, netcat, or load balancer health checks.
   17227 <br> <br> This will also reject email from services that use BDAT
   17228 to send MIME text containing a bare newline (<a href="https://tools.ietf.org/html/rfc3030">RFC 3030</a> Section 3
   17229 requires canonical MIME format for text message types, defined in
   17230 <a href="https://tools.ietf.org/html/rfc2045">RFC 2045</a> Sections 2.7 and 2.8). <br> <br> Such clients can be
   17231 excluded with <a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a> (or, in the case
   17232 of BDAT violations, BDAT can be selectively disabled with
   17233 <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>, or globally disabled with
   17234 <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>). </dd>
   17235 
   17236 <dt> <b>no</b> (default for Postfix &lt; 3.9) </dt>
   17237 <dd> Do not require the standard End-of-DATA
   17238 sequence &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;. Always process
   17239 a bare &lt;LF&gt; as if the client sent &lt;CR&gt;&lt;LF&gt;. This
   17240 option is fully backwards compatible, but is not recommended for
   17241 an Internet-facing SMTP server, because it is vulnerable to <a
   17242 href="https://www.postfix.org/smtp-smuggling.html"> SMTP smuggling</a>.
   17243 </dd>
   17244 
   17245 </dl>
   17246 
   17247 <p> Recommended settings: </p>
   17248 
   17249 <blockquote>
   17250 <pre>
   17251 # Require the standard End-of-DATA sequence &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;.
   17252 # Otherwise, allow bare &lt;LF&gt; and process it as if the client sent
   17253 # &lt;CR&gt;&lt;LF&gt;.
   17254 #
   17255 # This maintains compatibility with many legitimate SMTP client
   17256 # applications that send a mix of standard and non-standard line
   17257 # endings, but will fail to receive email from client implementations
   17258 # that do not terminate DATA content with the standard End-of-DATA
   17259 # sequence &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;.
   17260 #
   17261 # Such clients can be allowlisted with <a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a>.
   17262 # The example below allowlists SMTP clients in trusted networks.
   17263 #
   17264 <a href="postconf.5.html#smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a> = normalize
   17265 <a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a>
   17266 </pre>
   17267 </blockquote>
   17268 
   17269 <p> Alternative: </p>
   17270 
   17271 <blockquote>
   17272 <pre>
   17273 # Reject input lines that contain &lt;LF&gt; and log a "bare &lt;LF&gt; received"
   17274 # error. Require that input lines end in &lt;CR&gt;&lt;LF&gt;, and require the
   17275 # standard End-of-DATA sequence &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;.
   17276 #
   17277 # This will reject email from SMTP clients that send any non-standard
   17278 # line endings such as web applications, netcat, or load balancer
   17279 # health checks.
   17280 #
   17281 # This will also reject email from services that use BDAT to send
   17282 # MIME text containing a bare newline (<a href="https://tools.ietf.org/html/rfc3030">RFC 3030</a> Section 3 requires
   17283 # canonical MIME format for text message types, defined in <a href="https://tools.ietf.org/html/rfc2045">RFC 2045</a>
   17284 # Sections 2.7 and 2.8).
   17285 #
   17286 # Such clients can be allowlisted with <a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a>.
   17287 # The example below allowlists SMTP clients in trusted networks.
   17288 #
   17289 <a href="postconf.5.html#smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a> = reject
   17290 <a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a>
   17291 #
   17292 # Alternatively, in the case of BDAT violations, BDAT can be selectively
   17293 # disabled with <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>, or globally
   17294 # disabled with <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>.
   17295 #
   17296 # <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> = <a href="cidr_table.5.html">cidr</a>:/path/to/file
   17297 # /path/to/file:
   17298 #     10.0.0.0/24 chunking, silent-discard
   17299 # <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> = chunking, silent-discard
   17300 </pre>
   17301 </blockquote>
   17302 
   17303 <p> This feature with settings <b>yes</b> and <b>no</b> is available
   17304 in Postfix 3.8.4, 3.7.9, 3.6.13, and 3.5.23. Additionally, the
   17305 settings <b>reject</b>, and <b>normalize</b> are available with
   17306 Postfix &ge; 3.9, 3.8.5, 3.7.10, 3.6.14, and 3.5.24. </p>
   17307 
   17308 
   17309 </DD>
   17310 
   17311 <DT><b><a name="smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a>
   17312 (default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
   17313 
   17314 <p> Exclude the specified clients from <a href="postconf.5.html#smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a>
   17315 enforcement. This setting uses the same syntax and parent-domain
   17316 matching behavior as <a href="postconf.5.html#mynetworks">mynetworks</a>. </p>
   17317 
   17318 <p> This feature is available in Postfix &ge; 3.9, 3.8.4, 3.7.9,
   17319 3.6.13, and 3.5.23. </p>
   17320 
   17321 
   17322 </DD>
   17323 
   17324 <DT><b><a name="smtpd_forbid_bare_newline_reject_code">smtpd_forbid_bare_newline_reject_code</a>
   17325 (default: 550)</b></DT><DD>
   17326 
   17327 <p>
   17328 The numerical Postfix SMTP server response code when rejecting a
   17329 request with "<a href="postconf.5.html#smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a> = reject".
   17330 Specify a 5XX status code (521 to disconnect).
   17331 </p>
   17332 
   17333 <p> This feature is available in Postfix &ge; 3.9, 3.8.5, 3.7.10,
   17334 3.6.14, and 3.5.24. </p>
   17335 
   17336 
   17337 </DD>
   17338 
   17339 <DT><b><a name="smtpd_forbid_unauth_pipelining">smtpd_forbid_unauth_pipelining</a>
   17340 (default: Postfix &ge; 3.9: yes)</b></DT><DD>
   17341 
   17342 <p> Disconnect remote SMTP clients that violate <a href="https://tools.ietf.org/html/rfc2920">RFC 2920</a> (or 5321)
   17343 command pipelining constraints. The server replies with "554 5.5.0
   17344 Error: SMTP protocol synchronization" and logs the unexpected remote
   17345 SMTP client input. This feature is enabled by default with Postfix
   17346 &ge; 3.9. Specify "<a href="postconf.5.html#smtpd_forbid_unauth_pipelining">smtpd_forbid_unauth_pipelining</a> = no" to disable.
   17347 </p>
   17348 
   17349 <p> This feature is available in Postfix &ge; 3.9, 3.8.1, 3.7.6,
   17350 3.6.10, and 3.5.20. </p>
   17351 
   17352 
   17353 </DD>
   17354 
   17355 <DT><b><a name="smtpd_forbidden_commands">smtpd_forbidden_commands</a>
   17356 (default: CONNECT GET POST <a href="regexp_table.5.html">regexp</a>:{{/^[^A-Z]/ Bogus}})</b></DT><DD>
   17357 
   17358 <p>
   17359 List of commands that cause the Postfix SMTP server to immediately
   17360 terminate the session with a 221 code. This can be used to disconnect
   17361 clients that obviously attempt to abuse the system. In addition to the
   17362 commands listed in this parameter, commands that follow the "Label:"
   17363 format of message headers will also cause a disconnect. With Postfix
   17364 versions 3.6 and earlier, the default value is "CONNECT GET POST".
   17365 </p>
   17366 
   17367 <p>
   17368 This feature is available in Postfix 2.2 and later.
   17369 </p>
   17370 
   17371 <p>
   17372 Support for inline regular expressions was added in Postfix version
   17373 3.7. See <a href="regexp_table.5.html">regexp_table(5)</a> for a description of the syntax and features.
   17374 </p>
   17375 
   17376 
   17377 </DD>
   17378 
   17379 <DT><b><a name="smtpd_hard_error_limit">smtpd_hard_error_limit</a>
   17380 (default: normal: 20, <a href="STRESS_README.html">overload</a>: 1)</b></DT><DD>
   17381 
   17382 <p>
   17383 The maximal number of errors a remote SMTP client is allowed to
   17384 make without delivering mail. The Postfix SMTP server disconnects
   17385 when the limit is reached. Normally the default limit is 20, but
   17386 it changes under overload to just 1. With Postfix 2.5 and earlier,
   17387 the SMTP server always allows up to 20 errors by default.
   17388 Valid values are greater than zero.
   17389 
   17390 </p>
   17391 
   17392 
   17393 </DD>
   17394 
   17395 <DT><b><a name="smtpd_helo_required">smtpd_helo_required</a>
   17396 (default: no)</b></DT><DD>
   17397 
   17398 <p>
   17399 Require that a remote SMTP client introduces itself with the HELO
   17400 or EHLO command before sending the MAIL command or other commands
   17401 that require EHLO negotiation.
   17402 </p>
   17403 
   17404 <p>
   17405 Example:
   17406 </p>
   17407 
   17408 <pre>
   17409 <a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes
   17410 </pre>
   17411 
   17412 
   17413 </DD>
   17414 
   17415 <DT><b><a name="smtpd_helo_restrictions">smtpd_helo_restrictions</a>
   17416 (default: empty)</b></DT><DD>
   17417 
   17418 <p>
   17419 Optional restrictions that the Postfix SMTP server applies in the
   17420 context of a client HELO command.
   17421 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
   17422 restriction lists" for a discussion of evaluation context and time.
   17423 </p>
   17424 
   17425 <p>
   17426 The default is to permit everything.
   17427 </p>
   17428 
   17429 <p> Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
   17430 restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
   17431 simply skip <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> by not sending HELO or EHLO).
   17432 </p>
   17433 
   17434 <p>
   17435 Specify a list of restrictions, separated by commas and/or whitespace.
   17436 Continue long lines by starting the next line with whitespace.
   17437 Restrictions are applied in the order as specified; the first
   17438 restriction that matches wins.
   17439 </p>
   17440 
   17441 <p>
   17442 The following restrictions are specific to the hostname information
   17443 received with the HELO or EHLO command.
   17444 </p>
   17445 
   17446 <dl>
   17447 
   17448 <dt><b><a name="check_helo_access">check_helo_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
   17449 
   17450 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the HELO or EHLO
   17451 hostname, and execute the corresponding action.
   17452 Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
   17453 restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
   17454 simply skip <a href="postconf.5.html#check_helo_access">check_helo_access</a> by not sending HELO or EHLO).  </dd>
   17455 
   17456 <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>
   17457 
   17458 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
   17459 the HELO or EHLO hostname, and execute the corresponding action.
   17460 Note 1: a result of "OK" is not allowed for safety reasons. Instead,
   17461 use DUNNO in order to exclude specific hosts from denylists.  Note
   17462 2: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
   17463 restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
   17464 simply skip check_helo_a_access by not sending HELO or EHLO).  This
   17465 feature is available in Postfix 3.0 and later.
   17466 </dd>
   17467 
   17468 <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>
   17469 
   17470 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
   17471 the HELO or EHLO hostname, and execute the corresponding action.
   17472 If no MX record is found, look up A or AAAA records, just like the
   17473 Postfix SMTP client would.
   17474 Note 1: a result of "OK" is not allowed for safety reasons. Instead,
   17475 use DUNNO in order to exclude specific hosts from denylists.  Note
   17476 2: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
   17477 restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
   17478 simply skip <a href="postconf.5.html#check_helo_mx_access">check_helo_mx_access</a> by not sending HELO or EHLO).  This
   17479 feature is available in Postfix 2.1 and later.
   17480 </dd>
   17481 
   17482 <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>
   17483 
   17484 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
   17485 for the HELO or EHLO hostname, and execute the corresponding action.
   17486 Note 1: a result of "OK" is not allowed for safety reasons. Instead,
   17487 use DUNNO in order to exclude specific hosts from denylists.  Note
   17488 2: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
   17489 restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
   17490 simply skip <a href="postconf.5.html#check_helo_ns_access">check_helo_ns_access</a> by not sending HELO or EHLO). This
   17491 feature is available in Postfix 2.1 and later.
   17492 </dd>
   17493 
   17494 <dt><b><a name="reject_invalid_helo_hostname">reject_invalid_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_invalid_hostname)</dt>
   17495 
   17496 <dd>Reject the request when the HELO or EHLO hostname is malformed.
   17497 Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce
   17498 this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply
   17499 skip <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> by not sending HELO or EHLO).
   17500 <br> The <a href="postconf.5.html#invalid_hostname_reject_code">invalid_hostname_reject_code</a> specifies the response code
   17501 for rejected requests (default: 501).</dd>
   17502 
   17503 <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>
   17504 
   17505 <dd>Reject the request when the HELO or EHLO hostname is not in
   17506 fully-qualified domain or address literal form, as required by the
   17507 RFC. Note: specify
   17508 "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this restriction
   17509 (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply skip
   17510 <a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a> by not sending HELO or EHLO).  <br>
   17511 The <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
   17512 rejected requests (default: 504).</dd>
   17513 
   17514 <dt><b><a name="reject_rhsbl_helo">reject_rhsbl_helo <i>rbl_domain=d.d.d.d</i></a></b></dt>
   17515 
   17516 <dd>Reject the request when the HELO or EHLO hostname is
   17517 listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
   17518 (Postfix version 2.1 and later only).  Each "<i>d</i>" is a number,
   17519 or a pattern inside "[]" that contains one or more ";"-separated
   17520 numbers or number..number ranges (Postfix version 2.8 and later).
   17521 If no "<i>=d.d.d.d</i>" is
   17522 specified, reject the request when the HELO or EHLO hostname is
   17523 listed with any A record under <i>rbl_domain</i>. See the
   17524 <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description for additional RBL related configuration
   17525 parameters.  Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
   17526 enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
   17527 client can simply skip <a href="postconf.5.html#reject_rhsbl_helo">reject_rhsbl_helo</a> by not sending HELO or
   17528 EHLO). <br>
   17529 NOTE: Always respect the usage policies of reputation services. Avoid
   17530 public or ISP resolvers, unless the queries use your unique API key
   17531 (see <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> for how to avoid leaking an API key in SMTP
   17532 server responses). <br>
   17533 This feature is available in Postfix 2.0 and later. </dd>
   17534 
   17535 <dt><b><a name="reject_unknown_helo_hostname">reject_unknown_helo_hostname</a></b> (with Postfix &lt; 2.3: reject_unknown_hostname)</dt>
   17536 
   17537 <dd>Reject the request when the HELO or EHLO hostname has no DNS A
   17538 or MX record. <br> The reply is specified with the
   17539 <a href="postconf.5.html#unknown_hostname_reject_code">unknown_hostname_reject_code</a> parameter (default: 450) or
   17540 <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>).
   17541 See the respective parameter descriptions for details. <br>
   17542 Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
   17543 enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
   17544 client can simply skip <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> by not sending
   17545 HELO or EHLO). </dd>
   17546 
   17547 </dl>
   17548 
   17549 <p>
   17550 Other restrictions that are valid in this context:
   17551 </p>
   17552 
   17553 <ul>
   17554 
   17555 <li> <a href="#generic">Generic</a> restrictions that can be used
   17556 in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
   17557 
   17558 <li> Client hostname or network address specific restrictions
   17559 described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
   17560 
   17561 <li> SMTP command specific restrictions described under
   17562 <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
   17563 sender or recipient restrictions are listed under <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
   17564 they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
   17565 $<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> is evaluated at the time of the RCPT TO
   17566 command.
   17567 
   17568 </ul>
   17569 
   17570 <p>
   17571 Examples:
   17572 </p>
   17573 
   17574 <pre>
   17575 <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>
   17576 <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>
   17577 </pre>
   17578 
   17579 
   17580 </DD>
   17581 
   17582 <DT><b><a name="smtpd_hide_client_session">smtpd_hide_client_session</a>
   17583 (default: no)</b></DT><DD>
   17584 
   17585 <p> Do not include SMTP client session information in the Postfix
   17586 SMTP server's Received: message header. </p>
   17587 
   17588 <ul>
   17589 
   17590 <li> <p> The default setting, "<a href="postconf.5.html#smtpd_hide_client_session">smtpd_hide_client_session</a> = no",
   17591 must be used for the port 25 MTA service. It provides information
   17592 that is required by <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a> section 4.4. </p>
   17593 
   17594 <li> <p> The setting "<a href="postconf.5.html#smtpd_hide_client_session">smtpd_hide_client_session</a> = yes" may be used
   17595 for the port 587 and 465 MUA services. This hides the SMTP client
   17596 hostname and IP address, TLS session details, SASL login details,
   17597 and SMTP protocol details. </p>
   17598 
   17599 </ul>
   17600 
   17601 <p> Depending on the number of recipients, a redacted Received:
   17602 header has one of the following forms: </p>
   17603 
   17604 <blockquote>
   17605 <pre>
   17606 Received: by mail.example.com (Postfix) id postfix-queue-id
   17607         for &lt;user (a] example.com&gt;; Day, dd Mon yyyy hh:mm:ss tz-offset (zone)
   17608 <br>
   17609 Received: by mail.example.com (Postfix) id postfix-queue-id;
   17610         Day, dd Mon yyyy hh:mm:ss tz-offset (zone)
   17611 </pre>
   17612 </blockquote>
   17613 
   17614 <p> The redacted form hides that a message was received with SMTP,
   17615 and therefore it does not need to provide the FROM clause according
   17616 to <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a> section 4.4. The redacted form still meets <a href="https://tools.ietf.org/html/rfc5322">RFC 5322</a>
   17617 requirements. </p>
   17618 
   17619 <p> This feature is available in Postfix &ge; 3.10. </p>
   17620 
   17621 
   17622 </DD>
   17623 
   17624 <DT><b><a name="smtpd_history_flush_threshold">smtpd_history_flush_threshold</a>
   17625 (default: 100)</b></DT><DD>
   17626 
   17627 <p>
   17628 The maximal number of lines in the Postfix SMTP server command history
   17629 before it is flushed upon receipt of EHLO, RSET, or end of DATA.
   17630 </p>
   17631 
   17632 
   17633 </DD>
   17634 
   17635 <DT><b><a name="smtpd_junk_command_limit">smtpd_junk_command_limit</a>
   17636 (default: normal: 100, <a href="STRESS_README.html">overload</a>: 1)</b></DT><DD>
   17637 
   17638 <p>
   17639 The number of junk commands (NOOP, VRFY, ETRN or RSET) that a remote
   17640 SMTP client can send before the Postfix SMTP server starts to
   17641 increment the error counter with each junk command.  The junk
   17642 command count is reset after mail is delivered.  See also the
   17643 <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
   17644 parameters.  Normally the default limit is 100, but it changes under
   17645 overload to just 1. With Postfix 2.5 and earlier, the SMTP server
   17646 always allows up to 100 junk commands by default.  </p>
   17647 
   17648 
   17649 </DD>
   17650 
   17651 <DT><b><a name="smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a>
   17652 (default: empty)</b></DT><DD>
   17653 
   17654 <p> Enable logging of the named "permit" actions in SMTP server
   17655 access lists (by default, the SMTP server logs "reject" actions but
   17656 not "permit" actions).  This feature does not affect conditional
   17657 actions such as "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>". </p>
   17658 
   17659 <p> Specify a list of "permit" action names, "/file/name" or
   17660 "<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. The
   17661 list is matched left to right, and the search stops on the first
   17662 match. A "/file/name" pattern is replaced by its contents; a
   17663 "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup
   17664 key (the lookup result is ignored).  Continue long lines by starting
   17665 the next line with whitespace. Specify "!pattern" to exclude a name
   17666 from the list. </p>
   17667 
   17668 <p> Examples: </p>
   17669 
   17670 <pre>
   17671 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   17672     # Log all "permit" actions.
   17673     <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
   17674 </pre>
   17675 
   17676 <pre>
   17677 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   17678     # Log "<a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a>" only.
   17679     <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>
   17680 </pre>
   17681 
   17682 <p> This feature is available in Postfix 2.10 and later.  </p>
   17683 
   17684 
   17685 </DD>
   17686 
   17687 <DT><b><a name="smtpd_milter_maps">smtpd_milter_maps</a>
   17688 (default: empty)</b></DT><DD>
   17689 
   17690 <p> Lookup tables with Milter settings per remote SMTP client IP
   17691 address.  The lookup result overrides the <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> setting,
   17692 and has the same syntax. </p>
   17693 
   17694 <p> Note: lookup tables cannot return empty responses. Specify a
   17695 lookup result of DISABLE (case does not matter) to indicate that
   17696 Milter support should be disabled. </p>
   17697 
   17698 <p> Example to disable Milters for local clients: </p>
   17699 
   17700 <pre>
   17701 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   17702     <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
   17703     <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> = inet:host:port, { inet:host:port, ... }, ...
   17704 </pre>
   17705 
   17706 <pre>
   17707 /etc/postfix/smtpd_milter_map:
   17708     # Disable Milters for local clients.
   17709     127.0.0.0/8    DISABLE
   17710     192.168.0.0/16 DISABLE
   17711     ::/64          DISABLE
   17712     2001:db8::/32  DISABLE
   17713 </pre>
   17714 
   17715 <p> This feature is available in Postfix 3.2 and later.  </p>
   17716 
   17717 
   17718 </DD>
   17719 
   17720 <DT><b><a name="smtpd_milters">smtpd_milters</a>
   17721 (default: empty)</b></DT><DD>
   17722 
   17723 <p> A list of Milter (mail filter) applications for new mail that
   17724 arrives via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. Specify space or comma as
   17725 separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details.  </p>
   17726 
   17727 <p> This feature is available in Postfix 2.3 and later. </p>
   17728 
   17729 
   17730 </DD>
   17731 
   17732 <DT><b><a name="smtpd_min_data_rate">smtpd_min_data_rate</a>
   17733 (default: 500)</b></DT><DD>
   17734 
   17735 <p> The minimum plaintext data transfer rate in bytes/second for
   17736 DATA and BDAT requests, when deadlines are enabled with
   17737 <a href="postconf.5.html#smtpd_per_request_deadline">smtpd_per_request_deadline</a>. After a read operation transfers N
   17738 plaintext message bytes (possibly after TLS decryption), and after
   17739 the DATA or BDAT request deadline is decremented by the elapsed
   17740 time of that read operation, the DATA or BDAT request deadline is
   17741 incremented by N/smtpd_min_data_rate seconds. However, the deadline
   17742 will never be incremented beyond the time limit specified with
   17743 <a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a>.  </p>
   17744 
   17745 <p> This feature is available in Postfix 3.7 and later. </p>
   17746 
   17747 
   17748 </DD>
   17749 
   17750 <DT><b><a name="smtpd_noop_commands">smtpd_noop_commands</a>
   17751 (default: empty)</b></DT><DD>
   17752 
   17753 <p>
   17754 List of commands that the Postfix SMTP server replies to with "250
   17755 Ok", without doing any syntax checks and without changing state.
   17756 This list overrides any commands built into the Postfix SMTP server.
   17757 </p>
   17758 
   17759 
   17760 </DD>
   17761 
   17762 <DT><b><a name="smtpd_null_access_lookup_key">smtpd_null_access_lookup_key</a>
   17763 (default: &lt;&gt;)</b></DT><DD>
   17764 
   17765 <p>
   17766 The lookup key to be used in SMTP <a href="access.5.html">access(5)</a> tables instead of the
   17767 null sender address.
   17768 </p>
   17769 
   17770 
   17771 </DD>
   17772 
   17773 <DT><b><a name="smtpd_peername_lookup">smtpd_peername_lookup</a>
   17774 (default: yes)</b></DT><DD>
   17775 
   17776 <p> Attempt to look up the remote SMTP client hostname, and verify that
   17777 the name matches the client IP address. A client name is set to
   17778 "unknown" when it cannot be looked up or verified, or when name
   17779 lookup is disabled.  Turning off name lookup reduces delays due to
   17780 DNS lookup and increases the maximal inbound delivery rate. </p>
   17781 
   17782 <p> This feature is available in Postfix 2.3 and later.  </p>
   17783 
   17784 
   17785 </DD>
   17786 
   17787 <DT><b><a name="smtpd_per_record_deadline">smtpd_per_record_deadline</a>
   17788 (default: normal: no, <a href="STRESS_README.html">overload</a>: yes)</b></DT><DD>
   17789 
   17790 <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>
   17791 time limits, from a
   17792 time limit per read or write system call, to a time limit to send
   17793 or receive a complete record (an SMTP command line, SMTP response
   17794 line, SMTP message content line, or TLS protocol message).  This
   17795 limits the impact from hostile peers that trickle data one byte at
   17796 a time.  </p>
   17797 
   17798 <p> Note: when per-record deadlines are enabled, a short timeout
   17799 may cause problems with TLS over very slow network connections.
   17800 The reasons are that a TLS protocol message can be up to 16 kbytes
   17801 long (with TLSv1), and that an entire TLS protocol message must be
   17802 sent or received within the per-record deadline.  </p>
   17803 
   17804 <p> This feature is available in Postfix 2.9-3.6. With older
   17805 Postfix releases, the behavior is as if this parameter is set to
   17806 "no". Postfix 3.7 and later use <a href="postconf.5.html#smtpd_per_request_deadline">smtpd_per_request_deadline</a>. </p>
   17807 
   17808 
   17809 </DD>
   17810 
   17811 <DT><b><a name="smtpd_per_request_deadline">smtpd_per_request_deadline</a>
   17812 (default: normal: no, <a href="STRESS_README.html">overload</a>: yes)</b></DT><DD>
   17813 
   17814 <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>
   17815 time limits, from a time limit per plaintext or TLS read or write
   17816 call, to a combined time limit for receiving a complete SMTP request
   17817 and for sending a complete SMTP response. The deadline limits only
   17818 the time spent waiting for plaintext or TLS read or write calls,
   17819 not time spent elsewhere. The per-request deadline limits the impact
   17820 from hostile peers that trickle data one byte at a time. </p>
   17821 
   17822 <p> See <a href="postconf.5.html#smtpd_min_data_rate">smtpd_min_data_rate</a> for how the per-request deadline is
   17823 managed during the DATA and BDAT phase. </p>
   17824 
   17825 <p> Note: when per-request deadlines are enabled, a short time limit
   17826 may cause problems with TLS over very slow network connections. The
   17827 reason is that a TLS protocol message can be up to 16 kbytes long
   17828 (with TLSv1), and that an entire TLS protocol message must be
   17829 transferred within the per-request deadline. </p>
   17830 
   17831 <p> This feature is available in Postfix 3.7 and later. A weaker
   17832 feature, called <a href="postconf.5.html#smtpd_per_record_deadline">smtpd_per_record_deadline</a>, is available with Postfix
   17833 2.9-3.6. With older Postfix releases, the behavior is as if this
   17834 parameter is set to "no". </p>
   17835 
   17836 <p> This feature is available in Postfix 3.7 and later. </p>
   17837 
   17838 
   17839 </DD>
   17840 
   17841 <DT><b><a name="smtpd_policy_service_default_action">smtpd_policy_service_default_action</a>
   17842 (default: 451 4.3.5 Server configuration problem)</b></DT><DD>
   17843 
   17844 <p> The default action when an SMTPD policy service request fails.
   17845 Specify "DUNNO" to behave as if the failed  SMTPD policy service
   17846 request was not sent, and to continue processing other access
   17847 restrictions, if any. </p>
   17848 
   17849 <p> Limitations: </p>
   17850 
   17851 <ul>
   17852 
   17853 <li> <p>  This parameter may specify any value that would be a valid
   17854 SMTPD policy server response (or <a href="access.5.html">access(5)</a> map lookup result).  An
   17855 <a href="access.5.html">access(5)</a> map or policy server in this parameter value may need to
   17856 be declared in advance with a restriction_class setting.  </p>
   17857 
   17858 <li> <p> If the specified action invokes another <a href="postconf.5.html#check_policy_service">check_policy_service</a>
   17859 request, that request will have the built-in default action. </p>
   17860 
   17861 </ul>
   17862 
   17863 <p> This feature is available in Postfix 3.0 and later. </p>
   17864 
   17865 
   17866 </DD>
   17867 
   17868 <DT><b><a name="smtpd_policy_service_max_idle">smtpd_policy_service_max_idle</a>
   17869 (default: 300s)</b></DT><DD>
   17870 
   17871 <p>
   17872 The time after which an idle SMTPD policy service connection is
   17873 closed.
   17874 </p>
   17875 
   17876 <p> Specify a non-zero time value (an integral value plus an optional
   17877 one-letter suffix that specifies the time unit).  Time units: s
   17878 (seconds), m (minutes), h (hours), d (days), w (weeks).
   17879 The default time unit is s (seconds).  </p>
   17880 
   17881 <p>
   17882 This feature is available in Postfix 2.1 and later.
   17883 </p>
   17884 
   17885 
   17886 </DD>
   17887 
   17888 <DT><b><a name="smtpd_policy_service_max_ttl">smtpd_policy_service_max_ttl</a>
   17889 (default: 1000s)</b></DT><DD>
   17890 
   17891 <p>
   17892 The time after which an active SMTPD policy service connection is
   17893 closed.
   17894 </p>
   17895 
   17896 <p> Specify a non-zero time value (an integral value plus an optional
   17897 one-letter suffix that specifies the time unit).  Time units: s
   17898 (seconds), m (minutes), h (hours), d (days), w (weeks).
   17899 The default time unit is s (seconds).  </p>
   17900 
   17901 <p>
   17902 This feature is available in Postfix 2.1 and later.
   17903 </p>
   17904 
   17905 
   17906 </DD>
   17907 
   17908 <DT><b><a name="smtpd_policy_service_policy_context">smtpd_policy_service_policy_context</a>
   17909 (default: empty)</b></DT><DD>
   17910 
   17911 <p> Optional information that the Postfix SMTP server specifies in
   17912 the "policy_context" attribute of a policy service request (originally,
   17913 to share the same service endpoint among multiple <a href="postconf.5.html#check_policy_service">check_policy_service</a>
   17914 clients).  </p>
   17915 
   17916 <p>
   17917 This feature is available in Postfix 3.1 and later.
   17918 </p>
   17919 
   17920 
   17921 </DD>
   17922 
   17923 <DT><b><a name="smtpd_policy_service_request_limit">smtpd_policy_service_request_limit</a>
   17924 (default: 0)</b></DT><DD>
   17925 
   17926 <p>
   17927 The maximal number of requests per SMTPD policy service connection,
   17928 or zero (no limit). Once a connection reaches this limit, the
   17929 connection is closed and the next request will be sent over a new
   17930 connection. This is a workaround to avoid error-recovery delays
   17931 with policy servers that cannot maintain a persistent connection.
   17932 </p>
   17933 
   17934 <p>
   17935 This feature is available in Postfix 3.0 and later.
   17936 </p>
   17937 
   17938 
   17939 </DD>
   17940 
   17941 <DT><b><a name="smtpd_policy_service_retry_delay">smtpd_policy_service_retry_delay</a>
   17942 (default: 1s)</b></DT><DD>
   17943 
   17944 <p> The delay between attempts to resend a failed SMTPD policy
   17945 service request. Specify a value greater than zero. </p>
   17946 
   17947 <p> Specify a non-zero time value (an integral value plus an optional
   17948 one-letter suffix that specifies the time unit).  Time units: s
   17949 (seconds), m (minutes), h (hours), d (days), w (weeks).
   17950 The default time unit is s (seconds).  </p>
   17951 
   17952 <p> This feature is available in Postfix 3.0 and later. </p>
   17953 
   17954 
   17955 </DD>
   17956 
   17957 <DT><b><a name="smtpd_policy_service_timeout">smtpd_policy_service_timeout</a>
   17958 (default: 100s)</b></DT><DD>
   17959 
   17960 <p>
   17961 The time limit for connecting to, writing to, or receiving from a
   17962 delegated SMTPD policy server.
   17963 </p>
   17964 
   17965 <p> Specify a non-zero time value (an integral value plus an optional
   17966 one-letter suffix that specifies the time unit).  Time units: s
   17967 (seconds), m (minutes), h (hours), d (days), w (weeks).
   17968 The default time unit is s (seconds).  </p>
   17969 
   17970 <p>
   17971 This feature is available in Postfix 2.1 and later.
   17972 </p>
   17973 
   17974 
   17975 </DD>
   17976 
   17977 <DT><b><a name="smtpd_policy_service_try_limit">smtpd_policy_service_try_limit</a>
   17978 (default: 2)</b></DT><DD>
   17979 
   17980 <p> The maximal number of attempts to send an SMTPD policy service
   17981 request before giving up. Specify a value greater than zero. </p>
   17982 
   17983 <p> This feature is available in Postfix 3.0 and later. </p>
   17984 
   17985 
   17986 </DD>
   17987 
   17988 <DT><b><a name="smtpd_proxy_ehlo">smtpd_proxy_ehlo</a>
   17989 (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
   17990 
   17991 <p>
   17992 How the Postfix SMTP server announces itself to the proxy filter.
   17993 By default, the Postfix hostname is used.
   17994 </p>
   17995 
   17996 <p>
   17997 This feature is available in Postfix 2.1 and later.
   17998 </p>
   17999 
   18000 
   18001 </DD>
   18002 
   18003 <DT><b><a name="smtpd_proxy_filter">smtpd_proxy_filter</a>
   18004 (default: empty)</b></DT><DD>
   18005 
   18006 <p> The hostname and TCP port of the mail filtering proxy server.
   18007 The proxy receives all mail from the Postfix SMTP server, and is
   18008 supposed to give the result to another Postfix SMTP server process.
   18009 </p>
   18010 
   18011 <p> Specify "host:port" or "inet:host:port" for a TCP endpoint, or
   18012 "unix:pathname" for a UNIX-domain endpoint. The host can be specified
   18013 as an IP address or as a symbolic name; no MX lookups are done.
   18014 When no "host" or "host:" is specified, the local machine is
   18015 assumed.  Pathname interpretation is relative to the Postfix queue
   18016 directory.  </p>
   18017 
   18018 <p> This feature is available in Postfix 2.1 and later.  </p>
   18019 
   18020 <p> The "inet:" and "unix:" prefixes are available in Postfix 2.3
   18021 and later.  </p>
   18022 
   18023 
   18024 </DD>
   18025 
   18026 <DT><b><a name="smtpd_proxy_options">smtpd_proxy_options</a>
   18027 (default: empty)</b></DT><DD>
   18028 
   18029 <p>
   18030 List of options that control how the Postfix SMTP server
   18031 communicates with a before-queue content filter. Specify zero or
   18032 more of the following, separated by comma or whitespace.  </p>
   18033 
   18034 <dl>
   18035 
   18036 <dt><b>speed_adjust</b></dt>
   18037 
   18038 <dd> <p> Do not connect to a before-queue content filter until an entire
   18039 message has been received. This reduces the number of simultaneous
   18040 before-queue content filter processes. </p>
   18041 
   18042 <p> NOTE 1: A filter must not <i>selectively</i> reject recipients
   18043 of a multi-recipient message.  Rejecting all recipients is OK, as
   18044 is accepting all recipients. </p>
   18045 
   18046 <p> NOTE 2: This feature increases the minimum amount of free queue
   18047 space by $<a href="postconf.5.html#message_size_limit">message_size_limit</a>. The extra space is needed to save the
   18048 message to a temporary file. </p> </dd>
   18049 
   18050 </dl>
   18051 
   18052 <p>
   18053 This feature is available in Postfix 2.7 and later.
   18054 </p>
   18055 
   18056 
   18057 </DD>
   18058 
   18059 <DT><b><a name="smtpd_proxy_timeout">smtpd_proxy_timeout</a>
   18060 (default: 100s)</b></DT><DD>
   18061 
   18062 <p>
   18063 The time limit for connecting to a proxy filter and for sending or
   18064 receiving information.  When a connection fails the client gets a
   18065 generic error message while more detailed information is logged to
   18066 the maillog file.
   18067 </p>
   18068 
   18069 <p> Specify a non-zero time value (an integral value plus an optional
   18070 one-letter suffix that specifies the time unit).  Time units: s
   18071 (seconds), m (minutes), h (hours), d (days), w (weeks).
   18072 The default time unit is s (seconds).  </p>
   18073 
   18074 <p>
   18075 This feature is available in Postfix 2.1 and later.
   18076 </p>
   18077 
   18078 
   18079 </DD>
   18080 
   18081 <DT><b><a name="smtpd_recipient_limit">smtpd_recipient_limit</a>
   18082 (default: 1000)</b></DT><DD>
   18083 
   18084 <p>
   18085 The maximal number of recipients that the Postfix SMTP server
   18086 accepts per message delivery request.
   18087 </p>
   18088 
   18089 
   18090 </DD>
   18091 
   18092 <DT><b><a name="smtpd_recipient_overshoot_limit">smtpd_recipient_overshoot_limit</a>
   18093 (default: 1000)</b></DT><DD>
   18094 
   18095 <p> The number of recipients that a remote SMTP client can send in
   18096 excess of the limit specified with $<a href="postconf.5.html#smtpd_recipient_limit">smtpd_recipient_limit</a>, before
   18097 the Postfix SMTP server increments the per-session error count
   18098 for each excess recipient.  </p>
   18099 
   18100 
   18101 </DD>
   18102 
   18103 <DT><b><a name="smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>
   18104 (default: see "postconf -d" output)</b></DT><DD>
   18105 
   18106 <p>
   18107 Optional restrictions that the Postfix SMTP server applies in the
   18108 context of a client RCPT TO command, after <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
   18109 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
   18110 restriction lists" for a discussion of evaluation context and time.
   18111 </p>
   18112 
   18113 <p> With Postfix versions before 2.10, the rules for relay permission
   18114 and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
   18115 resulting in error-prone configuration.  As of Postfix 2.10, relay
   18116 permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
   18117 so that a permissive spam blocking policy under
   18118 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
   18119 mail relay policy.  </p>
   18120 
   18121 <p> For backwards compatibility, sites that migrate from Postfix
   18122 versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
   18123 value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
   18124 
   18125 <p>
   18126 IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
   18127 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
   18128 at least one of the following restrictions. Otherwise Postfix will
   18129 refuse to receive mail:
   18130 </p>
   18131 
   18132 <blockquote>
   18133 <pre>
   18134 reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
   18135 </pre>
   18136 </blockquote>
   18137 
   18138 <blockquote>
   18139 <pre>
   18140 defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
   18141 </pre>
   18142 </blockquote>
   18143 
   18144 <p>
   18145 Specify a list of restrictions, separated by commas and/or whitespace.
   18146 Continue long lines by starting the next line with whitespace.
   18147 Restrictions are applied in the order as specified; the first
   18148 restriction that matches wins.
   18149 </p>
   18150 
   18151 <p>
   18152 The following restrictions are specific to the recipient address
   18153 that is received with the RCPT TO command.
   18154 </p>
   18155 
   18156 <dl>
   18157 
   18158 <dt><b><a name="check_recipient_access">check_recipient_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
   18159 
   18160 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the resolved RCPT
   18161 TO address, and execute the corresponding action.  </dd>
   18162 
   18163 <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>
   18164 
   18165 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
   18166 the RCPT TO domain, and execute the corresponding action.  Note:
   18167 a result of "OK" is not allowed for safety reasons. Instead, use
   18168 DUNNO in order to exclude specific hosts from denylists.  This
   18169 feature is available in Postfix 3.0 and later. </dd>
   18170 
   18171 <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>
   18172 
   18173 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
   18174 the RCPT TO domain, and execute the corresponding action.  If no
   18175 MX record is found, look up A or AAAA records, just like the Postfix
   18176 SMTP client would. Note:
   18177 a result of "OK" is not allowed for safety reasons. Instead, use
   18178 DUNNO in order to exclude specific hosts from denylists.  This
   18179 feature is available in Postfix 2.1 and later. </dd>
   18180 
   18181 <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>
   18182 
   18183 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
   18184 for the RCPT TO domain, and execute the corresponding action.
   18185 Note: a result of "OK" is not allowed for safety reasons. Instead,
   18186 use DUNNO in order to exclude specific hosts from denylists.  This
   18187 feature is available in Postfix 2.1 and later.  </dd>
   18188 
   18189 <dt><b><a name="permit_auth_destination">permit_auth_destination</a></b></dt>
   18190 
   18191 <dd>Permit the request when one of the following is true:
   18192 
   18193 <ul>
   18194 
   18195 <li> Postfix is a mail forwarder: the resolved RCPT TO domain matches
   18196 $<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and the address contains no
   18197 sender-specified routing (user@elsewhere@domain),
   18198 
   18199 <li> Postfix is the final destination: the resolved RCPT TO domain
   18200 matches $<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>,
   18201 $<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
   18202 contains no sender-specified routing (user@elsewhere@domain).
   18203 
   18204 </ul></dd>
   18205 
   18206 <dt><b><a name="permit_mx_backup">permit_mx_backup</a></b></dt>
   18207 
   18208 <dd>Permit the request when the local mail system is a backup MX for
   18209 the RCPT TO domain, or when the domain is an authorized destination
   18210 (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> for definition).
   18211 
   18212 <ul>
   18213 
   18214 <li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> does not accept addresses that have
   18215 sender-specified routing information (example: user@elsewhere@domain).
   18216 
   18217 <li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> can be vulnerable to mis-use when
   18218 access is not restricted with <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>.
   18219 
   18220 <li> Safety: as of Postfix version 2.3, <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> no longer
   18221 accepts the address when the local mail system is a primary MX for
   18222 the recipient domain.  Exception: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> accepts the address
   18223 when it specifies an authorized destination (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
   18224 for definition).
   18225 
   18226 <li> Limitation: mail may be rejected in case of a temporary DNS
   18227 lookup problem with Postfix prior to version 2.0.
   18228 
   18229 </ul></dd>
   18230 
   18231 <dt><b><a name="reject_non_fqdn_recipient">reject_non_fqdn_recipient</a></b></dt>
   18232 
   18233 <dd>Reject the request when the RCPT TO address specifies a
   18234 domain that is not in
   18235 fully-qualified domain form, as required by the RFC. <br> The
   18236 <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
   18237 rejected requests (default: 504). </dd>
   18238 
   18239 <dt><b><a name="reject_rhsbl_recipient">reject_rhsbl_recipient <i>rbl_domain=d.d.d.d</i></a></b></dt>
   18240 
   18241 <dd>Reject the request when the RCPT TO domain is listed with the
   18242 A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
   18243 2.1 and later only).  Each "<i>d</i>" is a number, or a pattern
   18244 inside "[]" that contains one or more ";"-separated numbers or
   18245 number..number ranges (Postfix version 2.8 and later). If no
   18246 "<i>=d.d.d.d</i>" is specified, reject
   18247 the request when the RCPT TO domain is listed with
   18248 any A record under <i>rbl_domain</i>. <br> The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a>
   18249 parameter specifies the response code for rejected requests (default:
   18250 554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter specifies the default server
   18251 reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter specifies tables with server
   18252 replies indexed by <i>rbl_domain</i>. <br>
   18253 NOTE: Always respect the usage policies of reputation services. Avoid
   18254 public or ISP resolvers, unless the queries use your unique API key
   18255 (see <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> for how to avoid leaking an API key in SMTP
   18256 server responses). <br>
   18257 This feature is available in Postfix version 2.0 and later.</dd>
   18258 
   18259 <dt><b><a name="reject_unauth_destination">reject_unauth_destination</a></b></dt>
   18260 
   18261 <dd>Reject the request unless one of the following is true:
   18262 
   18263 <ul>
   18264 
   18265 <li> Postfix is a mail forwarder: the resolved RCPT TO domain matches
   18266 $<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and contains no sender-specified
   18267 routing (user@elsewhere@domain),
   18268 
   18269 <li> Postfix is the final destination: the resolved RCPT TO domain
   18270 matches $<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>,
   18271 $<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
   18272 no sender-specified routing (user@elsewhere@domain).
   18273 
   18274 </ul>The <a href="postconf.5.html#relay_domains_reject_code">relay_domains_reject_code</a> parameter specifies the response
   18275 code for rejected requests (default: 554). </dd>
   18276 
   18277 <dt><b><a name="defer_unauth_destination">defer_unauth_destination</a></b></dt>
   18278 
   18279 <dd> Reject the same requests as <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>, with a
   18280 non-permanent error code.  This feature is available in Postfix
   18281 2.10 and later.</dd>
   18282 
   18283 <dt><b><a name="reject_unknown_recipient_domain">reject_unknown_recipient_domain</a></b></dt>
   18284 
   18285 <dd>Reject the request when Postfix is not final destination for
   18286 the recipient domain, and the RCPT TO domain has 1) no DNS MX and
   18287 no DNS A
   18288 record or 2) a malformed MX record such as a record with
   18289 a zero-length MX hostname (Postfix version 2.3 and later). <br> The
   18290 reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter
   18291 (default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default:
   18292 <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 556 (nullmx, Postfix 3.0 and
   18293 later). See the respective parameter descriptions for details.
   18294 </dd>
   18295 
   18296 <dt><b><a name="reject_unlisted_recipient">reject_unlisted_recipient</a></b> (with Postfix version 2.0: check_recipient_maps)</dt>
   18297 
   18298 <dd> Reject the request when the RCPT TO address is not listed in
   18299 the list of valid recipients for its domain class. See the
   18300 <a href="postconf.5.html#smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> parameter description for details.
   18301 This feature is available in Postfix 2.1 and later.</dd>
   18302 
   18303 <dt><b><a name="reject_unverified_recipient">reject_unverified_recipient</a></b></dt>
   18304 
   18305 <dd>Reject the request when mail to the RCPT TO address is known
   18306 to bounce, or when the recipient address destination is not reachable.
   18307 Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
   18308 see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details.  <br> The
   18309 <a href="postconf.5.html#unverified_recipient_reject_code">unverified_recipient_reject_code</a> parameter specifies the numerical
   18310 response code when an address is known to bounce (default: 450,
   18311 change it to 550 when you are confident that it is safe to do so).
   18312 <br>The <a href="postconf.5.html#unverified_recipient_defer_code">unverified_recipient_defer_code</a> parameter specifies the
   18313 numerical response code when an address probe failed due to a
   18314 temporary problem (default: 450). <br> The
   18315 <a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> parameter specifies the action
   18316 after address probe failure due to a temporary problem (default:
   18317 <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). <br> This feature breaks for aliased addresses
   18318 with "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> = no" (Postfix &le; 3.2). <br>
   18319 This feature is available in Postfix 2.1 and later. </dd>
   18320 
   18321 </dl>
   18322 
   18323 <p>
   18324 Other restrictions that are valid in this context:
   18325 </p>
   18326 
   18327 <ul>
   18328 
   18329 <li><a href="#generic">Generic</a> restrictions that can be used
   18330 in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
   18331 
   18332 <li>SMTP command specific restrictions described under
   18333 <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
   18334 <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>.
   18335 
   18336 </ul>
   18337 
   18338 <p>
   18339 Example:
   18340 </p>
   18341 
   18342 <pre>
   18343 # The Postfix before 2.10 default mail relay policy. Later Postfix
   18344 # versions implement this preferably with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
   18345 <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>
   18346 </pre>
   18347 
   18348 
   18349 </DD>
   18350 
   18351 <DT><b><a name="smtpd_reject_filter_maps">smtpd_reject_filter_maps</a>
   18352 (default: empty)</b></DT><DD>
   18353 
   18354 <p> An optional filter that can replace a reject response from the
   18355 Postfix SMTP server itself, or from a program that replies through
   18356 the Postfix SMTP server. The filter is applied before the optional
   18357 reject footers are appended. Typically, the filter will be a <a href="regexp_table.5.html">regexp</a>:
   18358 or <a href="pcre_table.5.html">pcre</a>: table, where the left-hand side specifies a pattern, and
   18359 the right-hand side specifies replacement text. </p>
   18360 
   18361 <p> The input is a server response that starts with a 4XX or 5XX
   18362 reply code (see <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>), usually followed by an enhanced status
   18363 code (see <a href="https://tools.ietf.org/html/rfc3463">RFC 3463</a>) and text. The filter returns replacement text
   18364 or indicates that there was no match. This feature cannot be used
   18365 to change a reject reply into a non-reject one or vice versa. </p>
   18366 
   18367 <p> LIMITATION: <a href="postconf.5.html#smtpd_reject_filter_maps">smtpd_reject_filter_maps</a> will not replace text that
   18368 was already logged before the Postfix SMTP server replies to the
   18369 remote SMTP client. To help with logfile analysis, the Postfix SMTP
   18370 server logs both the unmodified reply (logged below as "reject
   18371 filter in") and the replacement reply (logged below as "reject
   18372 filter out").
   18373 
   18374 <p> Example: </p>
   18375 
   18376 <pre>
   18377 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   18378     <a href="postconf.5.html#smtpd_reject_filter_maps">smtpd_reject_filter_maps</a> = <a href="regexp_table.5.html">regexp</a>:/etc/postfix/smtpd_reject_filter
   18379 </pre>
   18380 
   18381 <pre>
   18382 /etc/postfix/smtpd_reject_filter:
   18383     # Replace soft reject with hard reject.
   18384     /^451 4(\.6\.0 Alias expansion error)/ 550 5${1}
   18385 </pre>
   18386 
   18387 <pre>
   18388     # Silly rule for demo purposes.
   18389     /^(4.+[^.])\.*$/ $1. See you later.
   18390 </pre>
   18391 
   18392 <pre>
   18393 /var/log/maillog:
   18394     NOQUEUE: reject filter in: 451 4.6.0 Alias expansion error
   18395     NOQUEUE: reject filter out: 550 5.6.0 Alias expansion error
   18396 </pre>
   18397 
   18398 <p> This feature is available in Postfix &ge; 3.11. </p>
   18399 
   18400 
   18401 </DD>
   18402 
   18403 <DT><b><a name="smtpd_reject_footer">smtpd_reject_footer</a>
   18404 (default: empty)</b></DT><DD>
   18405 
   18406 <p> Optional information that is appended after each Postfix SMTP
   18407 server
   18408 4XX or 5XX response. </p>
   18409 
   18410 <p> The following example uses "\c" at the start of the template
   18411 (supported in Postfix 2.10 and later) to suppress the line break
   18412 between the reply text and the footer text. With earlier Postfix
   18413 versions, the footer text always begins on a new line, and the "\c"
   18414 is output literally. </p>
   18415 
   18416 <pre>
   18417 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   18418     <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> = \c. For assistance, call 800-555-0101.
   18419      Please provide the following information in your problem report:
   18420      time ($localtime), client ($client_address) and server
   18421      ($server_name).
   18422 </pre>
   18423 
   18424 <p> Server response: </p>
   18425 
   18426 <pre>
   18427     550-5.5.1 &lt;user@example&gt; Recipient address rejected: User
   18428     unknown. For assistance, call 800-555-0101. Please provide the
   18429     following information in your problem report: time (Jan 4 15:42:00),
   18430     client (192.168.1.248) and server (mail1.example.com).
   18431 </pre>
   18432 
   18433 <p> Note: the above text is meant to make it easier to find the
   18434 Postfix logfile records for a failed SMTP session. The text itself
   18435 is not logged to the Postfix SMTP server's maillog file. </p>
   18436 
   18437 <p> Be sure to keep the text as short as possible. Long text may
   18438 be truncated before it is logged to the remote SMTP client's maillog
   18439 file, or before it is returned to the sender in a delivery status
   18440 notification.  </p>
   18441 
   18442 <p> The template text is not subject to Postfix configuration
   18443 parameter $name expansion. Instead, this feature supports a limited
   18444 number of $name attributes in the footer text. These attributes are
   18445 replaced with their current value for the SMTP session. </p>
   18446 
   18447 <p> Note: specify $$name in footer text that is looked up from
   18448 <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
   18449 Postfix server will not use the footer text and will log a warning
   18450 instead. </p>
   18451 
   18452 <dl>
   18453 
   18454 <dt> <b>client_address</b> </dt> <dd> The Client IP address that
   18455 is logged in the maillog file. </dd>
   18456 
   18457 <dt> <b>client_port</b> </dt> <dd> The client TCP port that is
   18458 logged in the maillog file. </dd>
   18459 
   18460 <dt> <b>localtime</b> </dt> <dd> The server local time (Mmm dd
   18461 hh:mm:ss) that is logged in the maillog file. </dd>
   18462 
   18463 <dt> <b>server_name</b> </dt> <dd> The server's <a href="postconf.5.html#myhostname">myhostname</a> value.
   18464 This attribute is made available for sites with multiple MTAs
   18465 (perhaps behind a load-balancer), where the server name can help
   18466 the server support team to quickly find the right log files.  </dd>
   18467 
   18468 </dl>
   18469 
   18470 <p> Notes: </p>
   18471 
   18472 <ul>
   18473 
   18474 <li> <p> NOT SUPPORTED are other attributes such as sender, recipient,
   18475 or <a href="postconf.5.html">main.cf</a> parameters.  </p>
   18476 
   18477 <li> <p> For safety reasons, text that does not match
   18478 $<a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> is censored. </p>
   18479 
   18480 </ul>
   18481 
   18482 <p> This feature supports the two-character sequence \n as a request
   18483 for a line break in the footer text. Postfix automatically inserts
   18484 after each line break the three-digit SMTP reply code (and optional
   18485 enhanced status code) from the original Postfix reject message.
   18486 </p>
   18487 
   18488 <p> To work around mail software that mis-handles multi-line replies,
   18489 specify the two-character sequence \c at the start of the template.
   18490 This suppresses the line break between the reply text and the footer
   18491 text (Postfix 2.10 and later).  </p>
   18492 
   18493 <p> This feature is available in Postfix 2.8 and later. </p>
   18494 
   18495 
   18496 </DD>
   18497 
   18498 <DT><b><a name="smtpd_reject_footer_maps">smtpd_reject_footer_maps</a>
   18499 (default: empty)</b></DT><DD>
   18500 
   18501 <p> Lookup tables, indexed by the complete Postfix SMTP server 4xx or
   18502 5xx response, with reject footer templates. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>
   18503 for details. </p>
   18504 
   18505 <p>
   18506 Specify zero or more "type:name" lookup tables, separated by
   18507 whitespace or comma. Tables will be searched in the specified order
   18508 until a match is found.
   18509 </p>
   18510 
   18511 <p> This feature is available in Postfix 3.4 and later. </p>
   18512 
   18513 
   18514 </DD>
   18515 
   18516 <DT><b><a name="smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a>
   18517 (default: yes)</b></DT><DD>
   18518 
   18519 <p>
   18520 Request that the Postfix SMTP server rejects mail for unknown
   18521 recipient addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_recipient">reject_unlisted_recipient</a>
   18522 access restriction is specified. This prevents the Postfix queue
   18523 from filling up with undeliverable MAILER-DAEMON messages.
   18524 </p>
   18525 
   18526 <p> An address is considered "unknown" when 1) it does not match a
   18527 <a href="virtual.5.html">virtual(5)</a> alias or <a href="canonical.5.html">canonical(5)</a> mapping, and 2) the address is not
   18528 valid for its address class. For a definition of class-based address
   18529 validation, see <a href="ADDRESS_CLASS_README.html#classes">
   18530 ADDRESS_CLASS_README</a>. </p>
   18531 
   18532 <p>
   18533 This feature is available in Postfix 2.1 and later.
   18534 </p>
   18535 
   18536 
   18537 </DD>
   18538 
   18539 <DT><b><a name="smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a>
   18540 (default: no)</b></DT><DD>
   18541 
   18542 <p> Request that the Postfix SMTP server rejects mail from unknown
   18543 sender addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a>
   18544 access restriction is specified. This can slow down an explosion
   18545 of forged mail from worms or viruses. </p>
   18546 
   18547 <p> An address is considered "unknown" when 1) it does not match a
   18548 <a href="virtual.5.html">virtual(5)</a> alias or <a href="canonical.5.html">canonical(5)</a> mapping, and 2) the address is not
   18549 valid for its address class. For a definition of class-based address
   18550 validation, see <a href="ADDRESS_CLASS_README.html#classes">
   18551 ADDRESS_CLASS_README</a>. </p>
   18552 
   18553 <p>
   18554 This feature is available in Postfix 2.1 and later.
   18555 </p>
   18556 
   18557 
   18558 </DD>
   18559 
   18560 <DT><b><a name="smtpd_relay_before_recipient_restrictions">smtpd_relay_before_recipient_restrictions</a>
   18561 (default: see "postconf -d" output)</b></DT><DD>
   18562 
   18563 <p> Evaluate <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> before <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
   18564 Historically, <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> was evaluated after
   18565 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>, contradicting documented behavior. </p>
   18566 
   18567 <p> Background: the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> feature is primarily
   18568 designed to enforce a mail relaying policy, while
   18569 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> is primarily designed to enforce spam
   18570 blocking policy. Both are evaluated while replying to the RCPT TO
   18571 command, and both support the same features. </p>
   18572 
   18573 <p> This feature is available in Postfix 3.6 and later. </p>
   18574 
   18575 
   18576 </DD>
   18577 
   18578 <DT><b><a name="smtpd_relay_restrictions">smtpd_relay_restrictions</a>
   18579 (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>
   18580 
   18581 <p> Access restrictions for mail relay control that the Postfix
   18582 SMTP server applies in the context of the RCPT TO command, before
   18583 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
   18584 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
   18585 restriction lists" for a discussion of evaluation context and time.
   18586 </p>
   18587 
   18588 <p> With Postfix versions before 2.10, the rules for relay permission
   18589 and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
   18590 resulting in error-prone configuration.  As of Postfix 2.10, relay
   18591 permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
   18592 so that a permissive spam blocking policy under
   18593 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
   18594 mail relay policy.  </p>
   18595 
   18596 <p> For backwards compatibility, sites that migrate from Postfix
   18597 versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
   18598 value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
   18599 
   18600 <p>
   18601 By default, the Postfix SMTP server accepts:
   18602 </p>
   18603 
   18604 <ul>
   18605 
   18606 <li> Mail from clients whose IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>, or:
   18607 
   18608 <li> Mail from clients who are SASL authenticated, or:
   18609 
   18610 <li> Mail to remote destinations that match $<a href="postconf.5.html#relay_domains">relay_domains</a>, except
   18611 for addresses that contain sender-specified routing
   18612 (user@elsewhere@domain), or:
   18613 
   18614 <li> Mail to local destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
   18615 or $<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
   18616 $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
   18617 
   18618 </ul>
   18619 
   18620 <p>
   18621 IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
   18622 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
   18623 at least one of the following restrictions. Otherwise Postfix will
   18624 refuse to receive mail:
   18625 </p>
   18626 
   18627 <blockquote>
   18628 <pre>
   18629 reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
   18630 </pre>
   18631 </blockquote>
   18632 
   18633 <blockquote>
   18634 <pre>
   18635 defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
   18636 </pre>
   18637 </blockquote>
   18638 
   18639 <p>
   18640 Specify a list of restrictions, separated by commas and/or whitespace.
   18641 Continue long lines by starting the next line with whitespace.
   18642 The same restrictions are available as documented under
   18643 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
   18644 </p>
   18645 
   18646 <p> This feature is available in Postfix 2.10 and later. </p>
   18647 
   18648 
   18649 </DD>
   18650 
   18651 <DT><b><a name="smtpd_restriction_classes">smtpd_restriction_classes</a>
   18652 (default: empty)</b></DT><DD>
   18653 
   18654 <p>
   18655 User-defined aliases for groups of access restrictions. The aliases
   18656 can be specified in <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> etc., and on the
   18657 right-hand side of a Postfix <a href="access.5.html">access(5)</a> table.
   18658 </p>
   18659 
   18660 <p>
   18661 One major application is for implementing per-recipient UCE control.
   18662 See the <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a> document for other examples.
   18663 </p>
   18664 
   18665 
   18666 </DD>
   18667 
   18668 <DT><b><a name="smtpd_sasl_application_name">smtpd_sasl_application_name</a>
   18669 (default: smtpd)</b></DT><DD>
   18670 
   18671 <p>
   18672 The application name that the Postfix SMTP server uses for SASL
   18673 server initialization. This
   18674 controls the name of the SASL configuration file. The default value
   18675 is <b>smtpd</b>, corresponding to a SASL configuration file named
   18676 <b>smtpd.conf</b>.
   18677 </p>
   18678 
   18679 <p>
   18680 This feature is available in Postfix 2.1 and 2.2. With Postfix 2.3
   18681 it was renamed to <a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.
   18682 </p>
   18683 
   18684 
   18685 </DD>
   18686 
   18687 <DT><b><a name="smtpd_sasl_auth_enable">smtpd_sasl_auth_enable</a>
   18688 (default: no)</b></DT><DD>
   18689 
   18690 <p>
   18691 Enable SASL authentication in the Postfix SMTP server. By default,
   18692 the Postfix SMTP server does not use authentication.
   18693 </p>
   18694 
   18695 <p>
   18696 If a remote SMTP client is authenticated, the <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>
   18697 access restriction can be used to permit relay access, like this:
   18698 </p>
   18699 
   18700 <blockquote>
   18701 <pre>
   18702 # With Postfix 2.10 and later, the mail relay policy is
   18703 # preferably specified under <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
   18704 <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> =
   18705     <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
   18706 </pre>
   18707 
   18708 <pre>
   18709 # With Postfix before 2.10, the relay policy can be
   18710 # specified only under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
   18711 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> =
   18712     <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
   18713 </pre>
   18714 </blockquote>
   18715 
   18716 <p> To reject all SMTP connections from unauthenticated clients,
   18717 specify "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes" (which is the default) and use:
   18718 </p>
   18719 
   18720 <blockquote>
   18721 <pre>
   18722 <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
   18723 </pre>
   18724 </blockquote>
   18725 
   18726 <p>
   18727 See the <a href="SASL_README.html">SASL_README</a> file for SASL configuration and operation details.
   18728 </p>
   18729 
   18730 
   18731 </DD>
   18732 
   18733 <DT><b><a name="smtpd_sasl_authenticated_header">smtpd_sasl_authenticated_header</a>
   18734 (default: no)</b></DT><DD>
   18735 
   18736 <p> Report the SASL authenticated user name in the <a href="smtpd.8.html">smtpd(8)</a> Received
   18737 message header.  </p>
   18738 
   18739 <p> This feature is available in Postfix 2.3 and later.  </p>
   18740 
   18741 
   18742 </DD>
   18743 
   18744 <DT><b><a name="smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a>
   18745 (default: empty)</b></DT><DD>
   18746 
   18747 <p>
   18748 What remote SMTP clients the Postfix SMTP server will not offer
   18749 AUTH support to.
   18750 </p>
   18751 
   18752 <p>
   18753 Some clients (Netscape 4 at least) have a bug that causes them to
   18754 require a login and password whenever AUTH is offered, whether it's
   18755 necessary or not. To work around this, specify, for example,
   18756 $<a href="postconf.5.html#mynetworks">mynetworks</a> to prevent Postfix from offering AUTH to local clients.
   18757 </p>
   18758 
   18759 <p>
   18760 Specify a list of network/netmask patterns, separated by commas
   18761 and/or whitespace. The mask specifies the number of bits in the
   18762 network part of a host address. You can also specify "/file/name" or
   18763 "<a href="DATABASE_README.html">type:table</a>" patterns.  A "/file/name" pattern is replaced by its
   18764 contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry
   18765 matches a lookup string (the lookup result is ignored).  Continue
   18766 long lines by starting the next line with whitespace. Specify
   18767 "!pattern" to exclude an address or network block from the list.
   18768 The form "!/file/name" is supported only in Postfix version 2.4 and
   18769 later.  </p>
   18770 
   18771 <p> Note: IP version 6 address information must be specified inside
   18772 <tt>[]</tt> in the <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> value, and in
   18773 files specified with "/file/name".  IP version 6 addresses contain
   18774 the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
   18775 pattern.  </p>
   18776 
   18777 <p>
   18778 Example:
   18779 </p>
   18780 
   18781 <pre>
   18782 <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a>
   18783 </pre>
   18784 
   18785 <p>
   18786 This feature is available in Postfix 2.1 and later.
   18787 </p>
   18788 
   18789 
   18790 </DD>
   18791 
   18792 <DT><b><a name="smtpd_sasl_local_domain">smtpd_sasl_local_domain</a>
   18793 (default: empty)</b></DT><DD>
   18794 
   18795 <p>
   18796 The name of the Postfix SMTP server's local SASL authentication
   18797 realm.
   18798 </p>
   18799 
   18800 <p>
   18801 By default, the local authentication realm name is the null string.
   18802 </p>
   18803 
   18804 <p>
   18805 Examples:
   18806 </p>
   18807 
   18808 <pre>
   18809 <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
   18810 <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#myhostname">myhostname</a>
   18811 </pre>
   18812 
   18813 
   18814 </DD>
   18815 
   18816 <DT><b><a name="smtpd_sasl_mechanism_filter">smtpd_sasl_mechanism_filter</a>
   18817 (default: !external, <a href="DATABASE_README.html#types">static</a>:rest)</b></DT><DD>
   18818 
   18819 <p> If non-empty, a filter for the SASL mechanism names that the
   18820 Postfix SMTP server will announce in the EHLO response. By default,
   18821 the Postfix SMTP server will not announce the EXTERNAL mechanism,
   18822 because Postfix support for that is not implemented. </p>
   18823 
   18824 <p> Specify mechanism names, "/file/name" patterns, or "<a href="DATABASE_README.html">type:table</a>"
   18825 lookup tables, separated by comma or whitespace. The right-hand
   18826 side result from "<a href="DATABASE_README.html">type:table</a>" lookups is ignored. Specify "!pattern"
   18827 to exclude a mechanism name from the list. </p>
   18828 
   18829 <p>
   18830 Examples:
   18831 </p>
   18832 
   18833 <pre>
   18834 <a href="postconf.5.html#smtpd_sasl_mechanism_filter">smtpd_sasl_mechanism_filter</a> = !external, !gssapi, <a href="DATABASE_README.html#types">static</a>:rest
   18835 <a href="postconf.5.html#smtpd_sasl_mechanism_filter">smtpd_sasl_mechanism_filter</a> = login, plain
   18836 <a href="postconf.5.html#smtpd_sasl_mechanism_filter">smtpd_sasl_mechanism_filter</a> = /etc/postfix/smtpd_mechs
   18837 </pre>
   18838 
   18839 <p> This feature is available in Postfix 3.6 and later. </p>
   18840 
   18841 
   18842 </DD>
   18843 
   18844 <DT><b><a name="smtpd_sasl_path">smtpd_sasl_path</a>
   18845 (default: smtpd)</b></DT><DD>
   18846 
   18847 <p> Implementation-specific information that the Postfix SMTP server
   18848 passes through to
   18849 the SASL plug-in implementation that is selected with
   18850 <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  Typically this specifies the name of a
   18851 configuration file or rendezvous point. </p>
   18852 
   18853 <p> This feature is available in Postfix 2.3 and later. In earlier
   18854 releases it was called <b><a href="postconf.5.html#smtpd_sasl_application_name">smtpd_sasl_application_name</a></b>. </p>
   18855 
   18856 
   18857 </DD>
   18858 
   18859 <DT><b><a name="smtpd_sasl_response_limit">smtpd_sasl_response_limit</a>
   18860 (default: 12288)</b></DT><DD>
   18861 
   18862 <p> The maximum length of a SASL client's response to a server challenge.
   18863 When the client's "initial response" is longer than the normal limit for
   18864 SMTP commands, the client must omit its initial response, and wait for an
   18865 empty server challenge; it can then send what would have been its "initial
   18866 response" as a response to the empty server challenge.  <a href="https://tools.ietf.org/html/rfc4954">RFC4954</a> requires the
   18867 server to accept client responses up to at least 12288 octets of
   18868 base64-encoded text.  The default value is therefore also the minimum value
   18869 accepted for this parameter.</p>
   18870 
   18871 <p> This feature is available in Postfix 3.4 and later. Prior versions use
   18872 "<a href="postconf.5.html#line_length_limit">line_length_limit</a>", which may need to be raised to accommodate larger client
   18873 responses, as may be needed with GSSAPI authentication of Windows AD users
   18874 who are members of many groups. </p>
   18875 
   18876 
   18877 </DD>
   18878 
   18879 <DT><b><a name="smtpd_sasl_security_options">smtpd_sasl_security_options</a>
   18880 (default: noanonymous)</b></DT><DD>
   18881 
   18882 <p> Postfix SMTP server SASL security options; as of Postfix 2.3
   18883 the list of available
   18884 features depends on the SASL server implementation that is selected
   18885 with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  </p>
   18886 
   18887 <p> The following security features are defined for the <b>cyrus</b>
   18888 server SASL implementation: </p>
   18889 
   18890 <p>
   18891 Restrict what authentication mechanisms the Postfix SMTP server
   18892 will offer to the client.  The list of available authentication
   18893 mechanisms is system dependent.
   18894 </p>
   18895 
   18896 <p>
   18897 Specify zero or more of the following:
   18898 </p>
   18899 
   18900 <dl>
   18901 
   18902 <dt><b>noplaintext</b></dt>
   18903 
   18904 <dd>Disallow methods that use plaintext passwords. </dd>
   18905 
   18906 <dt><b>noactive</b></dt>
   18907 
   18908 <dd>Disallow methods subject to active (non-dictionary) attack. </dd>
   18909 
   18910 <dt><b>nodictionary</b></dt>
   18911 
   18912 <dd>Disallow methods subject to passive (dictionary) attack. </dd>
   18913 
   18914 <dt><b>noanonymous</b></dt>
   18915 
   18916 <dd>Disallow methods that allow anonymous authentication. </dd>
   18917 
   18918 <dt><b>forward_secrecy</b></dt>
   18919 
   18920 <dd>Only allow methods that support forward secrecy (Dovecot only).
   18921 </dd>
   18922 
   18923 <dt><b>mutual_auth</b></dt>
   18924 
   18925 <dd>Only allow methods that provide mutual authentication (not available
   18926 with Cyrus SASL version 1). </dd>
   18927 
   18928 </dl>
   18929 
   18930 <p>
   18931 By default, the Postfix SMTP server accepts plaintext passwords but
   18932 not anonymous logins.
   18933 </p>
   18934 
   18935 <p>
   18936 Warning: it appears that clients try authentication methods in the
   18937 order as advertised by the server (e.g., PLAIN ANONYMOUS CRAM-MD5)
   18938 which means that if you disable plaintext passwords, clients will
   18939 log in anonymously, even when they should be able to use CRAM-MD5.
   18940 So, if you disable plaintext logins, disable anonymous logins too.
   18941 Postfix treats anonymous login as no authentication.
   18942 </p>
   18943 
   18944 <p>
   18945 Example:
   18946 </p>
   18947 
   18948 <pre>
   18949 <a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a> = noanonymous, noplaintext
   18950 </pre>
   18951 
   18952 
   18953 </DD>
   18954 
   18955 <DT><b><a name="smtpd_sasl_service">smtpd_sasl_service</a>
   18956 (default: smtp)</b></DT><DD>
   18957 
   18958 <p> The service name that is passed to the SASL plug-in that is
   18959 selected 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>.
   18960 </p>
   18961 
   18962 <p> This feature is available in Postfix 2.11 and later. Prior
   18963 versions behave as if "<b>smtp</b>" is specified. </p>
   18964 
   18965 
   18966 </DD>
   18967 
   18968 <DT><b><a name="smtpd_sasl_tls_security_options">smtpd_sasl_tls_security_options</a>
   18969 (default: $<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a>)</b></DT><DD>
   18970 
   18971 <p> The SASL authentication security options that the Postfix SMTP
   18972 server uses for TLS encrypted SMTP sessions. </p>
   18973 
   18974 <p> This feature is available in Postfix 2.2 and later.  </p>
   18975 
   18976 
   18977 </DD>
   18978 
   18979 <DT><b><a name="smtpd_sasl_type">smtpd_sasl_type</a>
   18980 (default: cyrus)</b></DT><DD>
   18981 
   18982 <p> The SASL plug-in type that the Postfix SMTP server should use
   18983 for authentication. The available types are listed with the
   18984 "<b>postconf -a</b>" command. </p>
   18985 
   18986 <p> This feature is available in Postfix 2.3 and later. </p>
   18987 
   18988 
   18989 </DD>
   18990 
   18991 <DT><b><a name="smtpd_sender_login_maps">smtpd_sender_login_maps</a>
   18992 (default: empty)</b></DT><DD>
   18993 
   18994 <p>
   18995 Optional lookup table with the SASL login names that own the
   18996 envelope sender
   18997 (MAIL FROM) addresses.
   18998 </p>
   18999 
   19000 <blockquote> <p> Note: to enforce that the From: header address
   19001 matches the envelope sender (MAIL FROM) address, use an external
   19002 filter such as a Milter, for the submission or submissions (formerly
   19003 called smtps )
   19004 services. For example: <a href="https://github.com/magcks/milterfrom">https://github.com/magcks/milterfrom</a>. </p>
   19005 </blockquote>
   19006 
   19007 <p>
   19008 Specify zero or more "type:name" lookup tables, separated by
   19009 whitespace or comma. Tables will be searched in the specified order
   19010 until a match is found.  With lookups from
   19011 indexed files such as DB or DBM, or from networked tables such as
   19012 NIS, LDAP or SQL, the following search operations are done with a
   19013 sender address of <i>user@domain</i>:  </p>
   19014 
   19015 <dl>
   19016 
   19017 <dt> 1) <i>user@domain</i> </dt>
   19018 
   19019 <dd>This table lookup is always done and has the highest precedence. </dd>
   19020 
   19021 <dt> 2) <i>user</i> </dt>
   19022 
   19023 <dd>This table lookup is done only when the <i>domain</i> part of the
   19024 sender 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>
   19025 or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. </dd>
   19026 
   19027 <dt> 3) <i>@domain</i> </dt>
   19028 
   19029 <dd>This table lookup is done last and has the lowest precedence. </dd>
   19030 
   19031 </dl>
   19032 
   19033 <p>
   19034 In all cases the result of table lookup must be either "not found"
   19035 or a list of SASL login names separated by comma and/or whitespace.
   19036 </p>
   19037 
   19038 
   19039 </DD>
   19040 
   19041 <DT><b><a name="smtpd_sender_restrictions">smtpd_sender_restrictions</a>
   19042 (default: empty)</b></DT><DD>
   19043 
   19044 <p>
   19045 Optional restrictions that the Postfix SMTP server applies in the
   19046 context of a client MAIL FROM command.
   19047 See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
   19048 restriction lists" for a discussion of evaluation context and time.
   19049 </p>
   19050 
   19051 <p>
   19052 The default is to permit everything.
   19053 </p>
   19054 
   19055 <p>
   19056 Specify a list of restrictions, separated by commas and/or whitespace.
   19057 Continue long lines by starting the next line with whitespace.
   19058 Restrictions are applied in the order as specified; the first
   19059 restriction that matches wins.
   19060 </p>
   19061 
   19062 <p>
   19063 The following restrictions are specific to the sender address
   19064 received with the MAIL FROM command.
   19065 </p>
   19066 
   19067 <dl>
   19068 
   19069 <dt><b><a name="check_sender_access">check_sender_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
   19070 
   19071 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MAIL FROM
   19072 address, and execute the corresponding action. </dd>
   19073 
   19074 <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>
   19075 
   19076 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
   19077 the MAIL FROM domain, and execute the corresponding action.  Note:
   19078 a result of "OK" is not allowed for safety reasons. Instead, use
   19079 DUNNO in order to exclude specific hosts from denylists.  This
   19080 feature is available in Postfix 3.0 and later. </dd>
   19081 
   19082 <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>
   19083 
   19084 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
   19085 the MAIL FROM domain, and execute the corresponding action.  If no
   19086 MX record is found, look up A or AAAA records, just like the Postfix
   19087 SMTP client would. Note:
   19088 a result of "OK" is not allowed for safety reasons. Instead, use
   19089 DUNNO in order to exclude specific hosts from denylists.  This
   19090 feature is available in Postfix 2.1 and later. </dd>
   19091 
   19092 <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>
   19093 
   19094 <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
   19095 for the MAIL FROM domain, and execute the corresponding action.
   19096 Note: a result of "OK" is not allowed for safety reasons. Instead,
   19097 use DUNNO in order to exclude specific hosts from denylists.  This
   19098 feature is available in Postfix 2.1 and later.  </dd>
   19099 
   19100 <dt><b><a name="reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a></b></dt>
   19101 
   19102 <dd> Reject the request when the client is authenticated with SASL,
   19103 but either the MAIL FROM address is not listed in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>,
   19104 or the SASL login name is not an owner for that address.
   19105 <br>
   19106 This prevents an authenticated client from using a MAIL FROM address
   19107 that they do not explicitly own.
   19108 <br>
   19109 Note: to enforce that the From: header address matches the envelope
   19110 sender (MAIL FROM) address, use an external filter such as a Milter,
   19111 for the submission or submissions (formerly called smtps) services.
   19112 For example: <a href="https://github.com/magcks/milterfrom">https://github.com/magcks/milterfrom</a>.
   19113 <br>
   19114 This feature is available in Postfix version 2.1 and later. </dd>
   19115 
   19116 <dt><b><a name="reject_known_sender_login_mismatch">reject_known_sender_login_mismatch</a></b></dt>
   19117 
   19118 <dd> When the client is authenticated with SASL, reject the request
   19119 when the MAIL FROM address is listed in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>,
   19120 but the SASL login name is not an owner for that address.
   19121 <br>
   19122 When the client is not authenticated with SASL, reject the request
   19123 when SASL is enabled, and the MAIL FROM address is listed in
   19124 $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.
   19125 <br>
   19126 This protects any MAIL FROM address that is listed in
   19127 $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>, while still allowing a client to use any
   19128 unlisted MAIL FROM address.
   19129 <br>
   19130 Note: to enforce that the From: header address matches the envelope
   19131 sender (MAIL FROM) address, use an external filter such as a Milter,
   19132 for the submission or submissions (formerly called smtps) services.
   19133 For example: <a href="https://github.com/magcks/milterfrom">https://github.com/magcks/milterfrom</a>.
   19134 <br>
   19135 This feature is available in Postfix version 2.11 and later.</dd>
   19136 
   19137 <dt><b><a name="reject_non_fqdn_sender">reject_non_fqdn_sender</a></b></dt>
   19138 
   19139 <dd>Reject the request when the MAIL FROM address specifies a
   19140 domain that is not in
   19141 fully-qualified domain form as required by the RFC. <br> The
   19142 <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
   19143 rejected requests (default: 504). </dd>
   19144 
   19145 <dt><b><a name="reject_rhsbl_sender">reject_rhsbl_sender <i>rbl_domain=d.d.d.d</i></a></b></dt>
   19146 
   19147 <dd>Reject the request when the MAIL FROM domain is listed with
   19148 the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix
   19149 version 2.1 and later only).  Each "<i>d</i>" is a number, or a
   19150 pattern inside "[]" that contains one or more ";"-separated numbers
   19151 or number..number ranges (Postfix version 2.8 and later). If no
   19152 "<i>=d.d.d.d</i>" is specified,
   19153 reject the request when the MAIL FROM domain is
   19154 listed with any A record under <i>rbl_domain</i>. <br> The
   19155 <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
   19156 rejected requests (default:  554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter
   19157 specifies the default server reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter
   19158 specifies tables with server replies indexed by <i>rbl_domain</i>.
   19159 <br>
   19160 NOTE: Always respect the usage policies of reputation services. Avoid
   19161 public or ISP resolvers, unless the queries use your unique API key
   19162 (see <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> for how to avoid leaking an API key in SMTP
   19163 server responses). <br>
   19164 This feature is available in Postfix 2.0 and later.</dd>
   19165 
   19166 <dt><b><a name="reject_sender_login_mismatch">reject_sender_login_mismatch</a></b></dt>
   19167 
   19168 <dd> As of Postfix 2.1, this is an alias for
   19169 "<a href="postconf.5.html#reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a>,
   19170 <a href="postconf.5.html#reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a>".</dd>
   19171 
   19172 <dt><b><a name="reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a></b></dt>
   19173 
   19174 <dd> Reject the request when SASL is enabled, the MAIL FROM address
   19175 is listed in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>, but the client is not
   19176 authenticated with SASL.
   19177 <br>
   19178 With SASL enabled, this prevents an unauthenticated client from
   19179 using any MAIL FROM address that is listed in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.
   19180 <br>
   19181 Note: to enforce that the From: header address matches the envelope
   19182 sender (MAIL FROM) address, use an external filter such as a Milter,
   19183 for the submission or submissions (formerly called smtps) services.
   19184 For example: <a href="https://github.com/magcks/milterfrom">https://github.com/magcks/milterfrom</a>.
   19185 <br>
   19186 This feature is available in Postfix version 2.1 and later.</dd>
   19187 
   19188 <dt><b><a name="reject_unknown_sender_domain">reject_unknown_sender_domain</a></b></dt>
   19189 
   19190 <dd>Reject the request when Postfix is not the final destination for
   19191 the sender address, and the MAIL FROM domain has 1) no DNS MX and
   19192 no DNS A
   19193 record, or 2) a malformed MX record such as a record with
   19194 a zero-length MX hostname (Postfix version 2.3 and later). <br> The
   19195 reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter
   19196 (default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default:
   19197 <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 550 (nullmx, Postfix 3.0 and
   19198 later). See the respective parameter descriptions for details.
   19199 </dd>
   19200 
   19201 <dt><b><a name="reject_unlisted_sender">reject_unlisted_sender</a></b></dt>
   19202 
   19203 <dd>Reject the request when the MAIL FROM address is not listed in
   19204 the list of valid recipients for its domain class. See the
   19205 <a href="postconf.5.html#smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> parameter description for details.
   19206 This feature is available in Postfix 2.1 and later.</dd>
   19207 
   19208 <dt><b><a name="reject_unverified_sender">reject_unverified_sender</a></b></dt>
   19209 
   19210 <dd>Reject the request when mail to the MAIL FROM address is known to
   19211 bounce, or when the sender address destination is not reachable.
   19212 Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
   19213 see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The
   19214 <a href="postconf.5.html#unverified_sender_reject_code">unverified_sender_reject_code</a> parameter specifies the numerical
   19215 response code when an address is known to bounce (default: 450,
   19216 change into 550 when you are confident that it is safe to do so).
   19217 <br>The <a href="postconf.5.html#unverified_sender_defer_code">unverified_sender_defer_code</a> specifies the numerical response
   19218 code when an address probe failed due to a temporary problem
   19219 (default: 450).  <br> The <a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a> parameter
   19220 specifies the action after address probe failure due to a temporary
   19221 problem (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).  <br> This feature breaks for
   19222 aliased addresses with "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> = no" (Postfix
   19223 &le; 3.2).  <br> This feature is available in Postfix 2.1 and later.
   19224 </dd>
   19225 
   19226 </dl>
   19227 
   19228 <p>
   19229 Other restrictions that are valid in this context:
   19230 </p>
   19231 
   19232 <ul>
   19233 
   19234 <li> <a href="#generic">Generic</a> restrictions that can be used
   19235 in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
   19236 
   19237 <li> SMTP command specific restrictions described under
   19238 <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>.
   19239 
   19240 <li> SMTP command specific restrictions described under
   19241 <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When recipient restrictions are listed
   19242 under <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, they have effect only with
   19243 "<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
   19244 evaluated at the time of the RCPT TO command.
   19245 
   19246 </ul>
   19247 
   19248 <p>
   19249 Examples:
   19250 </p>
   19251 
   19252 <pre>
   19253 <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>
   19254 <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>,
   19255     <a href="postconf.5.html#check_sender_access">check_sender_access</a> <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/access
   19256 </pre>
   19257 
   19258 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   19259 
   19260 <p> Execute the command "postmap /etc/postfix/access" after you
   19261 change the access file, to (re)build a default-type indexed file.
   19262 Execute "postmap <i>type</i>:/etc/postfix/access" to specify an
   19263 explicit type. </p>
   19264 
   19265 <p> The default indexed file type is configured with the
   19266 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   19267 execute the command "postconf -m". </p>
   19268 
   19269 <p> Configuration changes will become visible after a minute or so.
   19270 Use "postfix reload" to eliminate the delay. </p>
   19271 
   19272 
   19273 </DD>
   19274 
   19275 <DT><b><a name="smtpd_service_name">smtpd_service_name</a>
   19276 (default: smtpd)</b></DT><DD>
   19277 
   19278 <p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> hands off allowed
   19279 connections to. In a future version there may be different
   19280 classes of SMTP service. </p>
   19281 
   19282 <p> This feature is available in Postfix 2.8. </p>
   19283 
   19284 
   19285 </DD>
   19286 
   19287 <DT><b><a name="smtpd_soft_error_limit">smtpd_soft_error_limit</a>
   19288 (default: 10)</b></DT><DD>
   19289 
   19290 <p>
   19291 The number of errors a remote SMTP client is allowed to make without
   19292 delivering mail before the Postfix SMTP server slows down all its
   19293 responses.
   19294 </p>
   19295 
   19296 <ul>
   19297 
   19298 <li><p>With Postfix version 2.1 and later, when the error count
   19299 is &gt; $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a>, the Postfix SMTP server
   19300 delays all responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a>. </p>
   19301 
   19302 <li><p>With Postfix versions 2.0 and earlier, when the error count
   19303 is &gt; $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a>, the Postfix SMTP server delays all
   19304 responses by the larger of (number of errors) seconds or
   19305 $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a>. </p>
   19306 
   19307 <li><p>With Postfix versions 2.0 and earlier, when the error count
   19308 is &le; $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a>, the Postfix SMTP server delays 4XX
   19309 and 5XX responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a>. </p>
   19310 
   19311 </ul>
   19312 
   19313 
   19314 </DD>
   19315 
   19316 <DT><b><a name="smtpd_starttls_timeout">smtpd_starttls_timeout</a>
   19317 (default: see "postconf -d" output)</b></DT><DD>
   19318 
   19319 <p> The time limit for Postfix SMTP server write and read operations
   19320 during TLS startup and shutdown handshake procedures. The current
   19321 default value is stress-dependent. Before Postfix version 2.8, it
   19322 was fixed at 300s. </p>
   19323 
   19324 <p> Specify a non-zero time value (an integral value plus an optional
   19325 one-letter suffix that specifies the time unit).  Time units: s
   19326 (seconds), m (minutes), h (hours), d (days), w (weeks).
   19327 The default time unit is s (seconds).  </p>
   19328 
   19329 <p> This feature is available in Postfix 2.2 and later.  </p>
   19330 
   19331 
   19332 </DD>
   19333 
   19334 <DT><b><a name="smtpd_timeout">smtpd_timeout</a>
   19335 (default: normal: 300s, <a href="STRESS_README.html">overload</a>: 10s)</b></DT><DD>
   19336 
   19337 <p> When the Postfix SMTP server wants to send an SMTP server
   19338 response, how long the Postfix SMTP server will wait for an underlying
   19339 network write operation to complete; and when the Postfix SMTP
   19340 server Postfix wants to receive an SMTP client request, how long
   19341 the Postfix SMTP server will wait for an underlying network read
   19342 operation to complete. See the <a href="postconf.5.html#smtpd_per_request_deadline">smtpd_per_request_deadline</a> for how
   19343 this time limit may be enforced (with Postfix 2.9-3.6 see
   19344 <a href="postconf.5.html#smtpd_per_record_deadline">smtpd_per_record_deadline</a>). </p>
   19345 
   19346 <p> Normally the default limit
   19347 is 300s, but it changes under overload to just 10s. With Postfix
   19348 2.5 and earlier, the SMTP server always uses a time limit of 300s
   19349 by default.
   19350 </p>
   19351 
   19352 <p>
   19353 Note: if you set SMTP time limits to very large values you may have
   19354 to update the global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter.
   19355 </p>
   19356 
   19357 <p> Specify a non-zero time value (an integral value plus an optional
   19358 one-letter suffix that specifies the time unit).  Time units: s
   19359 (seconds), m (minutes), h (hours), d (days), w (weeks).
   19360 The default time unit is s (seconds).  </p>
   19361 
   19362 
   19363 </DD>
   19364 
   19365 <DT><b><a name="smtpd_tls_CAfile">smtpd_tls_CAfile</a>
   19366 (default: empty)</b></DT><DD>
   19367 
   19368 <p> A file containing (PEM format) CA certificates of root CAs trusted
   19369 to sign either remote SMTP client certificates or intermediate CA
   19370 certificates.  These are loaded into memory before the <a href="smtpd.8.html">smtpd(8)</a> server
   19371 enters the chroot jail. If the number of trusted roots is large, consider
   19372 using <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> instead, but note that the latter directory must
   19373 be present in the chroot jail if the <a href="smtpd.8.html">smtpd(8)</a> server is chrooted. This
   19374 file may also be used to augment the server certificate trust chain,
   19375 but it is best to include all the required certificates directly in the
   19376 server certificate file. </p>
   19377 
   19378 <p> Specify "<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /path/to/system_CA_file" to use ONLY
   19379 the system-supplied default Certification Authority certificates.
   19380 </p>
   19381 
   19382 <p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
   19383 appending the system-supplied default CAs and trusting third-party
   19384 certificates. </p>
   19385 
   19386 <p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are not
   19387 requested, and <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> should remain empty. If you do make use
   19388 of client certificates, the distinguished names (DNs) of the Certification
   19389 Authorities listed in <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> are sent to the remote SMTP client
   19390 in the client certificate request message. MUAs with multiple client
   19391 certificates may use the list of preferred Certification Authorities
   19392 to select the correct client certificate.  You may want to put your
   19393 "preferred" CA or CAs in this file, and install other trusted CAs in
   19394 $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
   19395 
   19396 <p> Example: </p>
   19397 
   19398 <pre>
   19399 <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /etc/postfix/CAcert.pem
   19400 </pre>
   19401 
   19402 <p> This feature is available in Postfix 2.2 and later.  </p>
   19403 
   19404 
   19405 </DD>
   19406 
   19407 <DT><b><a name="smtpd_tls_CApath">smtpd_tls_CApath</a>
   19408 (default: empty)</b></DT><DD>
   19409 
   19410 <p> A directory containing (PEM format) CA certificates of root CAs
   19411 trusted to sign either remote SMTP client certificates or intermediate CA
   19412 certificates. Do not forget to create the necessary "hash" links with,
   19413 for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs". To use
   19414 <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> in chroot mode, this directory (or a copy) must be
   19415 inside the chroot jail. </p>
   19416 
   19417 <p> Specify "<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /path/to/system_CA_directory" to
   19418 use ONLY the system-supplied default Certification Authority certificates.
   19419 </p>
   19420 
   19421 <p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
   19422 appending the system-supplied default CAs and trusting third-party
   19423 certificates. </p>
   19424 
   19425 <p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are
   19426 not requested, and <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> should remain empty. In contrast
   19427 to <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, DNs of Certification Authorities installed
   19428 in $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> are not included in the client certificate
   19429 request message. MUAs with multiple client certificates may use the
   19430 list of preferred Certification Authorities to select the correct
   19431 client certificate.  You may want to put your "preferred" CA or
   19432 CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, and install the remaining trusted CAs in
   19433 $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
   19434 
   19435 <p> Example: </p>
   19436 
   19437 <pre>
   19438 <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /etc/postfix/certs
   19439 </pre>
   19440 
   19441 <p> This feature is available in Postfix 2.2 and later.  </p>
   19442 
   19443 
   19444 </DD>
   19445 
   19446 <DT><b><a name="smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>
   19447 (default: yes)</b></DT><DD>
   19448 
   19449 <p> Force the Postfix SMTP server to issue a TLS session id, even
   19450 when TLS session caching is turned off (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
   19451 is empty). This behavior is compatible with Postfix &lt; 2.3. </p>
   19452 
   19453 <p> With Postfix 2.3 and later the Postfix SMTP server can disable
   19454 session id generation when TLS session caching is turned off. This
   19455 keeps remote SMTP clients from caching sessions that almost certainly cannot
   19456 be re-used.  </p>
   19457 
   19458 <p> By default, the Postfix SMTP server always generates TLS session
   19459 ids. This works around a known defect in mail client applications
   19460 such as MS Outlook, and may also prevent interoperability issues
   19461 with other MTAs. </p>
   19462 
   19463 <p> Example: </p>
   19464 
   19465 <pre>
   19466 <a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> = no
   19467 </pre>
   19468 
   19469 <p> This feature is available in Postfix 2.3 and later. </p>
   19470 
   19471 
   19472 </DD>
   19473 
   19474 <DT><b><a name="smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
   19475 (default: no)</b></DT><DD>
   19476 
   19477 <p> Ask a remote SMTP client for a client certificate. This
   19478 information is needed for certificate based mail relaying with,
   19479 for example, the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> feature. </p>
   19480 
   19481 <p> Some clients such as Netscape will either complain if no
   19482 certificate is available (for the list of CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)
   19483 or will offer multiple client certificates to choose from. This
   19484 may be annoying, so this option is "off" by default. </p>
   19485 
   19486 <p> This feature is available in Postfix 2.2 and later.  </p>
   19487 
   19488 
   19489 </DD>
   19490 
   19491 <DT><b><a name="smtpd_tls_auth_only">smtpd_tls_auth_only</a>
   19492 (default: no)</b></DT><DD>
   19493 
   19494 <p> When TLS encryption is optional in the Postfix SMTP server, do
   19495 not announce or accept SASL authentication over unencrypted
   19496 connections. </p>
   19497 
   19498 <p> This feature is available in Postfix 2.2 and later.  </p>
   19499 
   19500 
   19501 </DD>
   19502 
   19503 <DT><b><a name="smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>
   19504 (default: 9)</b></DT><DD>
   19505 
   19506 <p> The verification depth for remote SMTP client certificates. A
   19507 depth of 1 is sufficient if the issuing CA is listed in a local CA
   19508 file. </p>
   19509 
   19510 <p> The default verification depth is 9 (the OpenSSL default) for
   19511 compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
   19512 the default value was 5, but the limit was not actually enforced. If
   19513 you have set this to a lower non-default value, certificates with longer
   19514 trust chains may now fail to verify. Certificate chains with 1 or 2
   19515 CAs are common, deeper chains are more rare and any number between 5
   19516 and 9 should suffice in practice. You can choose a lower number if,
   19517 for example, you trust certificates directly signed by an issuing CA
   19518 but not any CAs it delegates to. </p>
   19519 
   19520 <p> This feature is available in Postfix 2.2 and later.  </p>
   19521 
   19522 
   19523 </DD>
   19524 
   19525 <DT><b><a name="smtpd_tls_cert_file">smtpd_tls_cert_file</a>
   19526 (default: empty)</b></DT><DD>
   19527 
   19528 <p> File with the Postfix SMTP server RSA certificate in PEM format.
   19529 This file may also contain the Postfix SMTP server private RSA key.
   19530 With Postfix &ge; 3.4 the preferred way to configure server keys and
   19531 certificates is via the "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p>
   19532 
   19533 <p> Public Internet MX hosts without certificates signed by a "reputable"
   19534 CA must generate, and be prepared to present to most clients, a
   19535 self-signed or private-CA signed certificate. The client will not be
   19536 able to authenticate the server, but unless it is running Postfix 2.3 or
   19537 similar software, it will still insist on a server certificate. </p>
   19538 
   19539 <p> For servers that are <b>not</b> public Internet MX hosts, Postfix
   19540 supports configurations with no certificates. This entails the use of
   19541 just the anonymous TLS ciphers, which are not supported by typical SMTP
   19542 clients. Since some clients may not fall back to plain text after a TLS
   19543 handshake failure, a certificate-less Postfix SMTP server will be unable
   19544 to receive email from some TLS-enabled clients. To avoid accidental
   19545 configurations with no certificates, Postfix enables certificate-less
   19546 operation only when the administrator explicitly sets
   19547 "<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = none". This ensures that new Postfix SMTP server
   19548 configurations will not accidentally enable TLS without certificates.  </p>
   19549 
   19550 <p> Note that server certificates are not optional in TLS 1.3. To run
   19551 without certificates you'd have to disable the TLS 1.3 protocol by
   19552 including '!TLSv1.3' in "<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>" and perhaps also
   19553 "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>".  It is simpler instead to just
   19554 configure a certificate chain.  Certificate-less operation is not
   19555 recommended. <p>
   19556 
   19557 <p> Both RSA and DSA certificates are supported.  When both types
   19558 are present, the cipher used determines which certificate will be
   19559 presented to the client.  For Netscape and OpenSSL clients without
   19560 special cipher choices the RSA certificate is preferred. </p>
   19561 
   19562 <p> To enable a remote SMTP client to verify the Postfix SMTP server
   19563 certificate, the issuing CA certificates must be made available to the
   19564 client. You should include the required certificates in the server
   19565 certificate file, the server certificate first, then the issuing
   19566 CA(s) (bottom-up order). </p>
   19567 
   19568 <p> Example: the certificate for "server.example.com" was issued by
   19569 "intermediate CA" which itself has a certificate of "root CA".
   19570 Create the server.pem file with "cat server_cert.pem intermediate_CA.pem
   19571 root_CA.pem &gt; server.pem". </p>
   19572 
   19573 <p> If you also want to verify client certificates issued by these
   19574 CAs, you can add the CA certificates to the <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, in which
   19575 case it is not necessary to have them in the <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>,
   19576 <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>
   19577 
   19578 <p> A certificate supplied here must be usable as an SSL server certificate
   19579 and hence pass the "openssl verify -purpose sslserver ..." test. </p>
   19580 
   19581 <p> Example: </p>
   19582 
   19583 <pre>
   19584 <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = /etc/postfix/server.pem
   19585 </pre>
   19586 
   19587 <p> This feature is available in Postfix 2.2 and later.  </p>
   19588 
   19589 
   19590 </DD>
   19591 
   19592 <DT><b><a name="smtpd_tls_chain_files">smtpd_tls_chain_files</a>
   19593 (default: empty)</b></DT><DD>
   19594 
   19595 <p> List of one or more PEM files, each holding one or more private keys
   19596 directly followed by a corresponding certificate chain.  The file names
   19597 are separated by commas and/or whitespace.  This parameter obsoletes the
   19598 legacy algorithm-specific key and certificate file settings.  When this
   19599 parameter is non-empty, the legacy parameters are ignored, and a warning
   19600 is logged if any are also non-empty.  </p>
   19601 
   19602 <p> With the proliferation of multiple private key algorithms&mdash;which,
   19603 as of OpenSSL 1.1.1, include DSA (obsolete), RSA, ECDSA, Ed25519
   19604 and Ed448&mdash;it is increasingly impractical to use separate
   19605 parameters to configure the key and certificate chain for each
   19606 algorithm.  Therefore, Postfix now supports storing multiple keys and
   19607 corresponding certificate chains in a single file or in a set of files.
   19608 
   19609 <p> Each key must appear <b>immediately before</b> the corresponding
   19610 certificate, optionally followed by additional issuer certificates that
   19611 complete the certificate chain for that key.  When multiple files are
   19612 specified, they are equivalent to a single file that is concatenated
   19613 from those files in the given order.  Thus, while a key must always
   19614 precede its certificate and issuer chain, it can be in a separate file,
   19615 so long as that file is listed immediately before the file that holds
   19616 the corresponding certificate chain.  Once all the files are
   19617 concatenated, the sequence of PEM objects must be: <i>key1, cert1,
   19618 [chain1], key2, cert2, [chain2], ..., keyN, certN, [chainN].</i> </p>
   19619 
   19620 <p> Storing the private key in the same file as the corresponding
   19621 certificate is more reliable.  With the key and certificate in separate
   19622 files, there is a chance that during key rollover a Postfix process
   19623 might load a private key and certificate from separate files that don't
   19624 match.  Various operational errors may even result in a persistent
   19625 broken configuration in which the certificate does not match the private
   19626 key. </p>
   19627 
   19628 <p> The file or files must contain at most one key of each type.  If,
   19629 for example, two or more RSA keys and corresponding chains are listed,
   19630 depending on the version of OpenSSL either only the last one will be
   19631 used or a configuration error may be detected.  Note that while
   19632 "Ed25519" and "Ed448" are considered separate algorithms, the various
   19633 ECDSA curves (typically one of prime256v1, secp384r1 or secp521r1) are
   19634 considered as different parameters of a single "ECDSA" algorithm, so it
   19635 is not presently possible to configure keys for more than one ECDSA
   19636 curve.  </p>
   19637 
   19638 <p> RSA is still the most widely supported algorithm.  Presently (late
   19639 2018), ECDSA support is common, but not yet universal, and Ed25519 and
   19640 Ed448 support is mostly absent.  Therefore, an RSA key should generally
   19641 be configured, along with any additional keys for the other algorithms
   19642 when desired.  </p>
   19643 
   19644 <p>
   19645 Example (separate files for each key and corresponding certificate chain):
   19646 </p>
   19647 <blockquote>
   19648 <pre>
   19649 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   19650     <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> =
   19651         ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed25519.pem,
   19652         ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed448.pem,
   19653         ${<a href="postconf.5.html#config_directory">config_directory</a>}/rsa.pem
   19654 </pre>
   19655 </blockquote>
   19656 
   19657 <blockquote>
   19658 <pre>
   19659 /etc/postfix/ed25519.pem:
   19660     -----BEGIN PRIVATE KEY-----
   19661     MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3
   19662     -----END PRIVATE KEY-----
   19663     -----BEGIN CERTIFICATE-----
   19664     MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG
   19665     ...
   19666     nC0egv51YPDWxEHom4QA
   19667     -----END CERTIFICATE-----
   19668 </pre>
   19669 </blockquote>
   19670 
   19671 <blockquote>
   19672 <pre>
   19673 /etc/postfix/ed448.pem:
   19674     -----BEGIN PRIVATE KEY-----
   19675     MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe
   19676     LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A==
   19677     -----END PRIVATE KEY-----
   19678     -----BEGIN CERTIFICATE-----
   19679     MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG
   19680     ...
   19681     pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA
   19682     -----END CERTIFICATE-----
   19683 </pre>
   19684 </blockquote>
   19685 
   19686 <blockquote>
   19687 <pre>
   19688 /etc/postfix/rsa.pem:
   19689     -----BEGIN PRIVATE KEY-----
   19690     MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL
   19691     ...
   19692     ahQkZ3+krcaJvDSMgvu0tDc=
   19693     -----END PRIVATE KEY-----
   19694     -----BEGIN CERTIFICATE-----
   19695     MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL
   19696     ...
   19697     Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE=
   19698     -----END CERTIFICATE-----
   19699 </pre>
   19700 </blockquote>
   19701 
   19702 <p>
   19703 Example (all keys and certificates in a single file):
   19704 </p>
   19705 <blockquote>
   19706 <pre>
   19707 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   19708     <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
   19709 </pre>
   19710 </blockquote>
   19711 
   19712 <blockquote>
   19713 <pre>
   19714 /etc/postfix/chains.pem:
   19715     -----BEGIN PRIVATE KEY-----
   19716     MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3
   19717     -----END PRIVATE KEY-----
   19718     -----BEGIN CERTIFICATE-----
   19719     MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG
   19720     ...
   19721     nC0egv51YPDWxEHom4QA
   19722     -----END CERTIFICATE-----
   19723     -----BEGIN PRIVATE KEY-----
   19724     MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe
   19725     LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A==
   19726     -----END PRIVATE KEY-----
   19727     -----BEGIN CERTIFICATE-----
   19728     MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG
   19729     ...
   19730     pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA
   19731     -----END CERTIFICATE-----
   19732     -----BEGIN PRIVATE KEY-----
   19733     MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL
   19734     ...
   19735     ahQkZ3+krcaJvDSMgvu0tDc=
   19736     -----END PRIVATE KEY-----
   19737     -----BEGIN CERTIFICATE-----
   19738     MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL
   19739     ...
   19740     Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE=
   19741     -----END CERTIFICATE-----
   19742 </pre>
   19743 </blockquote>
   19744 
   19745 <p> This feature is available in Postfix 3.4 and later.  </p>
   19746 
   19747 
   19748 </DD>
   19749 
   19750 <DT><b><a name="smtpd_tls_cipherlist">smtpd_tls_cipherlist</a>
   19751 (default: empty)</b></DT><DD>
   19752 
   19753 <p> Obsolete Postfix &lt; 2.3 control for the Postfix SMTP server TLS
   19754 cipher list. It is easy to create interoperability problems by choosing
   19755 a non-default cipher list. Do not use a non-default TLS cipherlist for
   19756 MX hosts on the public Internet. Clients that begin the TLS handshake,
   19757 but are unable to agree on a common cipher, may not be able to send any
   19758 email to the SMTP server. Using a restricted cipher list may be more
   19759 appropriate for a dedicated MSA or an internal mailhub, where one can
   19760 exert some control over the TLS software and settings of the connecting
   19761 clients. </p>
   19762 
   19763 <p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
   19764 
   19765 <p>This feature is available with Postfix version 2.2. It is not used with
   19766 Postfix 2.3 and later; use <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> instead. </p>
   19767 
   19768 
   19769 </DD>
   19770 
   19771 <DT><b><a name="smtpd_tls_ciphers">smtpd_tls_ciphers</a>
   19772 (default: medium)</b></DT><DD>
   19773 
   19774 <p> The minimum TLS cipher grade that the Postfix SMTP server
   19775 will use with opportunistic TLS encryption. Cipher types listed in
   19776 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are excluded from the base definition of
   19777 the selected cipher grade.  The default value is "medium" for Postfix
   19778 releases after the middle of 2015, "export" for older releases.
   19779 </p>
   19780 
   19781 <p> When TLS is mandatory the cipher grade is chosen via the
   19782 <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
   19783 details. </p>
   19784 
   19785 <p> This feature is available in Postfix 2.6 and later. With earlier Postfix
   19786 releases only the <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> parameter is implemented,
   19787 and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
   19788 
   19789 
   19790 </DD>
   19791 
   19792 <DT><b><a name="smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>
   19793 (default: empty)</b></DT><DD>
   19794 
   19795 <p> File with the Postfix SMTP server DSA certificate in PEM format.
   19796 This file may also contain the Postfix SMTP server private DSA key.
   19797 The DSA algorithm is obsolete and should not be used. </p>
   19798 
   19799 <p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details.
   19800 </p>
   19801 
   19802 <p> Example: </p>
   19803 
   19804 <pre>
   19805 <a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> = /etc/postfix/server-dsa.pem
   19806 </pre>
   19807 
   19808 <p> This feature is available in Postfix 2.2 and later.  </p>
   19809 
   19810 
   19811 </DD>
   19812 
   19813 <DT><b><a name="smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
   19814 (default: empty)</b></DT><DD>
   19815 
   19816 <p> File with DH parameters that the Postfix SMTP server should
   19817 use with non-export EDH ciphers. </p>
   19818 
   19819 <p> With Postfix &ge; 3.7, built with OpenSSL version is 3.0.0 or later, if the
   19820 parameter value is either empty or "<b>auto</b>", then the DH parameter
   19821 selection is delegated to the OpenSSL library, which selects appropriate
   19822 parameters based on the TLS handshake.  This choice is likely to be the most
   19823 interoperable with SMTP clients using various TLS libraries, and custom local
   19824 parameters are no longer recommended when using Postfix &ge; 3.7 built against
   19825 OpenSSL 3.0.0.  </p>
   19826 
   19827 <p> The best-practice choice of parameters uses a 2048-bit prime.  This is fine,
   19828 despite the historical "1024" in the parameter name.  Do not be tempted to use
   19829 much larger values, performance degrades quickly, and you may also cease to
   19830 interoperate with some mainstream SMTP clients.  As of Postfix 3.1, the
   19831 compiled-in default prime is 2048-bits, and it is not strictly necessary,
   19832 though perhaps somewhat beneficial to generate custom DH parameters. </p>
   19833 
   19834 <p> Instead of using the exact same parameter sets as distributed
   19835 with other TLS packages, it is more secure to generate your own
   19836 set of parameters with something like the following commands:  </p>
   19837 
   19838 <blockquote>
   19839 <pre>
   19840 openssl dhparam -out /etc/postfix/dh2048.pem 2048
   19841 openssl dhparam -out /etc/postfix/dh1024.pem 1024
   19842 # As of Postfix 3.6, export-grade 512-bit DH parameters are no longer
   19843 # supported or needed.
   19844 openssl dhparam -out /etc/postfix/dh512.pem 512
   19845 </pre>
   19846 </blockquote>
   19847 
   19848 <p> It is safe to share the same DH parameters between multiple
   19849 Postfix instances.  If you prefer, you can generate separate
   19850 parameters for each instance.  </p>
   19851 
   19852 <p> If you want to take maximal advantage of ciphers that offer <a
   19853 href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
   19854 the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
   19855 started</a> section of <a
   19856 href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
   19857 full document conveniently presents all information about Postfix
   19858 "perfect" forward secrecy support in one place: what forward secrecy
   19859 is, how to tweak settings, and what you can expect to see when
   19860 Postfix uses ciphers with forward secrecy.  </p>
   19861 
   19862 <p> Example: </p>
   19863 
   19864 <pre>
   19865 <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> = /etc/postfix/dh2048.pem
   19866 </pre>
   19867 
   19868 <p>This feature is available in Postfix 2.2 and later.</p>
   19869 
   19870 
   19871 </DD>
   19872 
   19873 <DT><b><a name="smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
   19874 (default: empty)</b></DT><DD>
   19875 
   19876 <p> File with DH parameters that the Postfix SMTP server should
   19877 use with export-grade EDH ciphers.  The default SMTP server cipher
   19878 grade is "medium" with Postfix releases after the middle of 2015,
   19879 and as a result export-grade cipher suites are by default not used.
   19880 </p>
   19881 
   19882 <p> With Postfix &ge; 3.6 export-grade Diffie-Hellman key exchange
   19883 is no longer supported, and this parameter is silently ignored. </p>
   19884 
   19885 <p> See also the discussion under the <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
   19886 configuration parameter.  </p>
   19887 
   19888 <p> Example: </p>
   19889 
   19890 <pre>
   19891 <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> = /etc/postfix/dh_512.pem
   19892 </pre>
   19893 
   19894 <p>This feature is available in Postfix 2.2 and later,
   19895 but is ignored in Postfix 3.6 and later.</p>
   19896 
   19897 
   19898 </DD>
   19899 
   19900 <DT><b><a name="smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>
   19901 (default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
   19902 
   19903 <p> File with the Postfix SMTP server DSA private key in PEM format.
   19904 This file may be combined with the Postfix SMTP server DSA certificate
   19905 file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. The DSA algorithm is obsolete
   19906 and should not be used. </p>
   19907 
   19908 <p> The private key must be accessible without a pass-phrase, i.e. it
   19909 must not be encrypted. File permissions should grant read-only
   19910 access to the system superuser account ("root"), and no access
   19911 to anyone else. </p>
   19912 
   19913 <p> This feature is available in Postfix 2.2 and later.  </p>
   19914 
   19915 
   19916 </DD>
   19917 
   19918 <DT><b><a name="smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>
   19919 (default: empty)</b></DT><DD>
   19920 
   19921 <p> File with the Postfix SMTP server ECDSA certificate in PEM format.
   19922 This file may also contain the Postfix SMTP server private ECDSA key.
   19923 With Postfix &ge; 3.4 the preferred way to configure server keys and
   19924 certificates is via the "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p>
   19925 
   19926 <p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details. </p>
   19927 
   19928 <p> Example: </p>
   19929 
   19930 <pre>
   19931 <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> = /etc/postfix/ecdsa-scert.pem
   19932 </pre>
   19933 
   19934 <p> This feature is available in Postfix 2.6 and later, when Postfix is
   19935 compiled and linked with OpenSSL 1.0.0 or later. </p>
   19936 
   19937 
   19938 </DD>
   19939 
   19940 <DT><b><a name="smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>
   19941 (default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
   19942 
   19943 <p> File with the Postfix SMTP server ECDSA private key in PEM format.
   19944 This file may be combined with the Postfix SMTP server ECDSA certificate
   19945 file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>.  With Postfix &ge; 3.4 the
   19946 preferred way to configure server keys and certificates is via the
   19947 "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p>
   19948 
   19949 <p> The private key must be accessible without a pass-phrase, i.e. it
   19950 must not be encrypted. File permissions should grant read-only
   19951 access to the system superuser account ("root"), and no access
   19952 to anyone else. </p>
   19953 
   19954 <p> This feature is available in Postfix 2.6 and later, when Postfix is
   19955 compiled and linked with OpenSSL 1.0.0 or later. </p>
   19956 
   19957 
   19958 </DD>
   19959 
   19960 <DT><b><a name="smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>
   19961 (default: see "postconf -d" output)</b></DT><DD>
   19962 
   19963 <p> The Postfix SMTP server security grade for ephemeral elliptic-curve
   19964 Diffie-Hellman (EECDH) key exchange.   As of Postfix 3.6, the value of
   19965 this parameter is always ignored, and Postfix behaves as though the
   19966 <b>auto</b> value (described below) was chosen.
   19967 </p>
   19968 
   19969 <p> This feature is not used as of Postfix 3.6. Do not specify. </p>
   19970 
   19971 <p> The available choices are: </p>
   19972 
   19973 <dl>
   19974 
   19975 <dt><b>auto</b></dt> <dd> Use the most preferred curve that is
   19976 supported by both the client and the server.  This setting requires
   19977 Postfix &ge; 3.2 compiled and linked with OpenSSL &ge; 1.0.2.  This
   19978 is the default setting under the above conditions (and the only
   19979 setting used with Postfix &ge; 3.6). </dd>
   19980 
   19981 <dt><b>none</b></dt> <dd> Don't use EECDH. Ciphers based on EECDH key
   19982 exchange will be disabled. This is the default in Postfix versions
   19983 2.6 and 2.7. </dd>
   19984 
   19985 <dt><b>strong</b></dt> <dd> Use EECDH with approximately 128 bits of
   19986 security at a reasonable computational cost. This is the default in
   19987 Postfix versions 2.8&ndash;3.5.  </dd>
   19988 
   19989 <dt><b>ultra</b></dt> <dd> Use EECDH with approximately 192 bits of
   19990 security at computational cost that is approximately twice as high
   19991 as 128 bit strength ECC. </dd>
   19992 
   19993 </dl>
   19994 
   19995 <p> If you want to take maximal advantage of ciphers that offer <a
   19996 href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
   19997 the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
   19998 started</a> section of <a
   19999 href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
   20000 full document conveniently presents all information about Postfix
   20001 "perfect" forward secrecy support in one place: what forward secrecy
   20002 is, how to tweak settings, and what you can expect to see when
   20003 Postfix uses ciphers with forward secrecy.  </p>
   20004 
   20005 <p> This feature is available in Postfix 2.6 and later, when it is
   20006 compiled and linked with OpenSSL 1.0.0 or later on platforms
   20007 where EC algorithms have not been disabled by the vendor. </p>
   20008 
   20009 
   20010 </DD>
   20011 
   20012 <DT><b><a name="smtpd_tls_enable_rpk">smtpd_tls_enable_rpk</a>
   20013 (default: no)</b></DT><DD>
   20014 
   20015 <p> Request that remote SMTP clients send an <a href="https://tools.ietf.org/html/rfc7250">RFC7250</a> raw public key
   20016 instead of an X.509 certificate, when asking for or requiring client
   20017 authentication. This feature is ignored when there is no raw public
   20018 key support in the local TLS implementation. </p>
   20019 
   20020 <p> The Postfix SMTP server will log a warning when "<a href="postconf.5.html#smtpd_tls_enable_rpk">smtpd_tls_enable_rpk</a>
   20021 = yes", but the remote SMTP client sends a certificate, the
   20022 certificate's public key fingerprint does not match a <a href="postconf.5.html#check_ccert_access">check_ccert_access</a>
   20023 table, while the certificate fingerprint does match a <a href="postconf.5.html#check_ccert_access">check_ccert_access</a>
   20024 table. The remote SMTP client would lose access when it starts
   20025 sending a raw public key instead of a certificate, after its TLS
   20026 implementation is updated with raw public key support. </p>
   20027 
   20028 <p> The Postfix SMTP server always sends a raw public key instead
   20029 of a certificate, if solicited by the remote SMTP client and the
   20030 local TLS implementation supports raw public keys. If the client
   20031 sends a server name indication with an SNI TLS extension, and
   20032 <a href="postconf.5.html#tls_server_sni_maps">tls_server_sni_maps</a> is configured, the server will extract a raw
   20033 public key from the indicated certificate. </p>
   20034 
   20035 <p> Sample commands to compute certificate and public key SHA256 digests: </p>
   20036 
   20037 <pre>
   20038 # SHA256 digest of the first certificate in "cert.pem"
   20039 $ openssl x509 -in cert.pem -outform DER | openssl dgst -sha256 -c
   20040 </pre>
   20041 
   20042 <pre>
   20043 # SHA256 digest of the SPKI of the first certificate in "cert.pem"
   20044 $ openssl x509 -in cert.pem -pubkey -noout |
   20045     openssl pkey -pubin -outform DER | openssl dgst -sha256 -c
   20046 </pre>
   20047 
   20048 <pre>
   20049 # SHA256 digest of the SPKI of the first private key in "pkey.pem"
   20050 $ openssl pkey -in pkey.pem -pubout -outform DER |
   20051     openssl dgst -sha256 -c
   20052 </pre>
   20053 
   20054 <p> This feature is available in Postfix 3.9 and later. </p>
   20055 
   20056 
   20057 </DD>
   20058 
   20059 <DT><b><a name="smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
   20060 (default: empty)</b></DT><DD>
   20061 
   20062 <p> List of ciphers or cipher types to exclude from the SMTP server
   20063 cipher list at all TLS security levels. Excluding valid ciphers
   20064 can create interoperability problems. DO NOT exclude ciphers unless it
   20065 is essential to do so. This is not an OpenSSL cipherlist; it is a simple
   20066 list separated by whitespace and/or commas. The elements are a single
   20067 cipher, or one or more "+" separated cipher properties, in which case
   20068 only ciphers matching <b>all</b> the properties are excluded. </p>
   20069 
   20070 <p> Examples (some of these will cause problems): </p>
   20071 
   20072 <blockquote>
   20073 <pre>
   20074 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL
   20075 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = MD5, DES
   20076 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = DES+MD5
   20077 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
   20078 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = kEDH+aRSA
   20079 </pre>
   20080 </blockquote>
   20081 
   20082 <p> The first setting disables anonymous ciphers. The next setting
   20083 disables ciphers that use the MD5 digest algorithm or the (single) DES
   20084 encryption algorithm. The next setting disables ciphers that use MD5 and
   20085 DES together.  The next setting disables the two ciphers "AES256-SHA"
   20086 and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
   20087 key exchange with RSA authentication. </p>
   20088 
   20089 <p> This feature is available in Postfix 2.3 and later. </p>
   20090 
   20091 
   20092 </DD>
   20093 
   20094 <DT><b><a name="smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>
   20095 (default: see "postconf -d" output)</b></DT><DD>
   20096 
   20097 <p> The message digest algorithm to construct remote SMTP client-certificate
   20098 fingerprints or public key fingerprints (Postfix 2.9 and later) for
   20099 <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>. </p>
   20100 
   20101 <p> The default algorithm is <b>sha256</b> with Postfix &ge; 3.6
   20102 and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix
   20103 &le; 3.5, the default algorithm is <b>md5</b>. </p>
   20104 
   20105 <p> The best-practice algorithm is now <b>sha256</b>. Recent advances in hash
   20106 function cryptanalysis have led to md5 and sha1 being deprecated in favor of
   20107 sha256.  However, as long as there are no known "second pre-image" attacks
   20108 against the older algorithms, their use in this context, though not
   20109 recommended, is still likely safe.  </p>
   20110 
   20111 <p> While additional digest algorithms are often available with OpenSSL's
   20112 libcrypto, only those used by libssl in SSL cipher suites are available to
   20113 Postfix.  You'll likely find support for md5, sha1, sha256 and sha512. </p>
   20114 
   20115 <p> To find the fingerprint of a specific certificate file, with a
   20116 specific digest algorithm, run: </p>
   20117 
   20118 <blockquote>
   20119 <pre>
   20120 $ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
   20121 </pre>
   20122 </blockquote>
   20123 
   20124 <p> The text to the right of "=" sign is the desired fingerprint.
   20125 For example: </p>
   20126 
   20127 <blockquote>
   20128 <pre>
   20129 $ openssl x509 -noout -fingerprint -sha256 -in cert.pem
   20130 SHA256 Fingerprint=D4:6A:AB:19:24:...:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
   20131 </pre>
   20132 </blockquote>
   20133 
   20134 <p> To extract the public key fingerprint from an X.509 certificate,
   20135 you need to extract the public key from the certificate and compute
   20136 the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
   20137 the "-pubkey" option of the "x509" command extracts the public
   20138 key always in "PEM" format. We pipe the result to another OpenSSL
   20139 command that converts the key to DER and then to the "dgst" command
   20140 to compute the fingerprint. </p>
   20141 
   20142 <p> Example: </p>
   20143 <blockquote>
   20144 <pre>
   20145 $ openssl x509 -in cert.pem -noout -pubkey |
   20146     openssl pkey -pubin -outform DER |
   20147     openssl dgst -sha256 -c
   20148 (stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58
   20149 </pre>
   20150 </blockquote>
   20151 
   20152 <p> The Postfix SMTP server and client log the peer (leaf) certificate
   20153 fingerprint and public key fingerprint when the TLS loglevel is 2 or
   20154 higher. </p>
   20155 
   20156 <p> Example: client-certificate access table, with sha256 fingerprints: </p>
   20157 
   20158 <blockquote>
   20159 <pre>
   20160 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   20161     <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> = sha256
   20162     <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
   20163         <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/access,
   20164         reject
   20165 </pre>
   20166 <pre>
   20167 /etc/postfix/access:
   20168     # Action folded to next line...
   20169     AF:88:7C:AD:51:95:6F:36:96:...:01:FB:2E:48:CD:AB:49:25:A2:3B
   20170         OK
   20171     85:16:78:FD:73:6E:CE:70:E0:...:5F:0D:3C:C8:6D:C4:2C:24:59:E1
   20172         <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
   20173 </pre>
   20174 </blockquote>
   20175 
   20176 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   20177 
   20178 <p> Execute the command "postmap /etc/postfix/access" after you
   20179 change the access file, to (re)build a default-type indexed file.
   20180 Execute "postmap <i>type</i>:/etc/postfix/access" to specify an
   20181 explicit type. </p>
   20182 
   20183 <p> The default indexed file type is configured with the
   20184 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   20185 execute the command "postconf -m". </p>
   20186 
   20187 <p> Configuration changes will become visible after a minute or so.
   20188 Use "postfix reload" to eliminate the delay. </p>
   20189 
   20190 <p> This feature is available in Postfix 2.5 and later. </p>
   20191 
   20192 
   20193 </DD>
   20194 
   20195 <DT><b><a name="smtpd_tls_key_file">smtpd_tls_key_file</a>
   20196 (default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
   20197 
   20198 <p> File with the Postfix SMTP server RSA private key in PEM format.
   20199 This file may be combined with the Postfix SMTP server RSA certificate
   20200 file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>.  With Postfix &ge; 3.4 the
   20201 preferred way to configure server keys and certificates is via the
   20202 "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p>
   20203 
   20204 <p> The private key must be accessible without a pass-phrase, i.e. it
   20205 must not be encrypted. File permissions should grant read-only
   20206 access to the system superuser account ("root"), and no access
   20207 to anyone else. </p>
   20208 
   20209 
   20210 </DD>
   20211 
   20212 <DT><b><a name="smtpd_tls_loglevel">smtpd_tls_loglevel</a>
   20213 (default: 0)</b></DT><DD>
   20214 
   20215 <p> Enable additional Postfix SMTP server logging of TLS activity.
   20216 Each logging level also includes the information that is logged at
   20217 a lower logging level.  </p>
   20218 
   20219 <dl compact>
   20220 
   20221 <dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
   20222 
   20223 <dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
   20224 &mdash; no logging of client certificate trust-chain verification errors
   20225 if client certificate verification is not required.  With Postfix 2.8 and
   20226 earlier, log the summary message, peer certificate summary information
   20227 and unconditionally log trust-chain verification errors.  </dd>
   20228 
   20229 <dt> </dt> <dd> 2 Also enable verbose logging in the Postfix TLS
   20230 library, log session cache operations, and enable OpenSSL logging
   20231 of the progress of the SSL handshake. </dd>
   20232 
   20233 <dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation
   20234 process. </dd>
   20235 
   20236 <dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
   20237 transmission after STARTTLS. </dd>
   20238 
   20239 </dl>
   20240 
   20241 <p> Do not use "<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> = 2" or higher except in case
   20242 of problems. Use of loglevel 4 is strongly discouraged. </p>
   20243 
   20244 <p> This feature is available in Postfix 2.2 and later.  </p>
   20245 
   20246 
   20247 </DD>
   20248 
   20249 <DT><b><a name="smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
   20250 (default: medium)</b></DT><DD>
   20251 
   20252 <p> The minimum TLS cipher grade that the Postfix SMTP server will
   20253 use with mandatory TLS encryption. The default grade ("medium") is
   20254 sufficiently strong that any benefit from globally restricting TLS
   20255 sessions to a more stringent grade is likely negligible, especially
   20256 given the fact that many implementations still do not offer any stronger
   20257 ("high" grade) ciphers, while those that do, will always use "high"
   20258 grade ciphers. So insisting on "high" grade ciphers is generally
   20259 counter-productive. Allowing "export" or "low" ciphers is typically
   20260 not a good idea, as systems limited to just these are limited to
   20261 obsolete browsers. No known SMTP clients fail to support at least
   20262 one "medium" or "high" grade cipher. </p>
   20263 
   20264 <p> The following cipher grades are supported: </p>
   20265 
   20266 <dl>
   20267 <dt><b>high</b></dt>
   20268 <dd> Enable only "HIGH" grade OpenSSL ciphers. The
   20269 underlying cipherlist is specified via the <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a>
   20270 configuration parameter, which you are strongly encouraged to
   20271 not change. </dd>
   20272 
   20273 <dt><b>medium</b></dt>
   20274 <dd> Enable "MEDIUM" grade or stronger OpenSSL ciphers. These use 128-bit
   20275 or longer symmetric bulk-encryption keys. This is the default minimum
   20276 strength for mandatory TLS encryption. The underlying cipherlist is
   20277 specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a> configuration parameter, which
   20278 you are strongly encouraged not to change. </dd>
   20279 
   20280 <dt><b>null</b></dt>
   20281 <dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
   20282 without encryption.  This setting is only appropriate in the rare
   20283 case that all clients are prepared to use NULL ciphers (not normally
   20284 enabled in TLS clients). The underlying cipherlist is specified via the
   20285 <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> configuration parameter, which you are strongly
   20286 encouraged not to change. </dd>
   20287 
   20288 <dt><b>low</b></dt>
   20289 <dd> Enable "LOW" grade or stronger OpenSSL ciphers.  In Postfix
   20290 &ge; 3.8 this cipher grade is always identical to "medium".  Recent
   20291 versions of OpenSSL do not support any "LOW" grade ciphers.  In
   20292 earlier Postfix releases the underlying cipherlist was specified
   20293 via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration parameter, which you are
   20294 strongly encouraged not to change.  This obsolete cipher grade
   20295 SHOULD NOT be used.  </dd>
   20296 
   20297 <dt><b>export</b></dt>
   20298 <dd> Enable "EXPORT" grade or stronger OpenSSL ciphers.  In Postfix
   20299 &ge; 3.8 this cipher grade is always identical to "medium".  Recent
   20300 versions of OpenSSL do not support any "EXPORT" grade ciphers.  In
   20301 earlier Postfix releases the underlying cipherlist was specified
   20302 via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration parameter, which you are
   20303 strongly encouraged not to change.  This obsolete cipher grade
   20304 SHOULD NOT be used.  </dd>
   20305 
   20306 </dl>
   20307 
   20308 <p> Cipher types listed in
   20309 <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
   20310 excluded from the base definition of the selected cipher grade. See
   20311 <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> for cipher controls that apply to opportunistic
   20312 TLS. </p>
   20313 
   20314 <p> The underlying cipherlists for grades other than "null" include
   20315 anonymous ciphers, but these are automatically filtered out if the
   20316 server is configured to ask for remote SMTP client certificates.  You are very
   20317 unlikely to need to take any steps to exclude anonymous ciphers, they
   20318 are excluded automatically as required.  If you must exclude anonymous
   20319 ciphers even when Postfix does not need or use peer certificates, set
   20320 "<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only
   20321 when TLS is enforced, set "<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
   20322 
   20323 <p> This feature is available in Postfix 2.3 and later. </p>
   20324 
   20325 
   20326 </DD>
   20327 
   20328 <DT><b><a name="smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>
   20329 (default: empty)</b></DT><DD>
   20330 
   20331 <p> Additional list of ciphers or cipher types to exclude from the
   20332 Postfix SMTP server cipher list at mandatory TLS security levels.
   20333 This list
   20334 works in addition to the exclusions listed with <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
   20335 (see there for syntax details).  </p>
   20336 
   20337 <p> This feature is available in Postfix 2.3 and later. </p>
   20338 
   20339 
   20340 </DD>
   20341 
   20342 <DT><b><a name="smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>
   20343 (default: see "postconf -d" output)</b></DT><DD>
   20344 
   20345 <p> TLS protocols accepted by the Postfix SMTP server with mandatory TLS
   20346 encryption.  If the list is empty, the server supports all available TLS
   20347 protocol versions.  A non-empty value is a list of protocol names to
   20348 include or exclude, separated by whitespace, commas or colons.  </p>
   20349 
   20350 <p> The valid protocol names (see SSL_get_version(3)) are "SSLv2",
   20351 "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" and "TLSv1.3".  Starting with
   20352 Postfix 3.6, the default value is "&gt;=TLSv1", which sets TLS 1.0 as
   20353 the lowest supported TLS protocol version (see below).  Older releases
   20354 use the "!" exclusion syntax, also described below.  </p>
   20355 
   20356 <p> As of Postfix 3.6, the preferred way to limit the range of
   20357 acceptable protocols is to set the lowest acceptable TLS protocol
   20358 version and/or the highest acceptable TLS protocol version.  To set the
   20359 lower bound include an element of the form: "&gt;=<i>version</i>" where
   20360 <i>version</i> is a either one of the TLS protocol names listed above,
   20361 or a hexadecimal number corresponding to the desired TLS protocol
   20362 version (0301 for TLS 1.0, 0302 for TLS 1.1, etc.).  For the upper
   20363 bound, use "&lt;=<i>version</i>".  There must be no whitespace between
   20364 the "&gt;=" or "&lt;=" symbols and the protocol name or number. </p>
   20365 
   20366 <p> Hexadecimal protocol numbers make it possible to specify protocol
   20367 bounds for TLS versions that are known to OpenSSL, but might not be
   20368 known to Postfix.  They cannot be used with the legacy exclusion syntax.
   20369 Leading "0" or "0x" prefixes are supported, but not required.
   20370 Therefore, "301", "0301", "0x301" and "0x0301" are all equivalent to
   20371 "TLSv1".  Hexadecimal versions unknown to OpenSSL will fail to set the
   20372 upper or lower bound, and a warning will be logged.  Hexadecimal
   20373 versions should only be used when Postfix is linked with some future
   20374 version of OpenSSL that supports TLS 1.4 or later, but Postfix does not
   20375 yet support a symbolic name for that protocol version. </p>
   20376 
   20377 <p>Hexadecimal example (Postfix &ge; 3.6):</p>
   20378 <blockquote>
   20379 <pre>
   20380 # Allow only TLS 1.2 through (hypothetical) TLS 1.4, once supported
   20381 # in some future version of OpenSSL (presently a warning is logged).
   20382 <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = &gt;=TLSv1.2, &lt;=0305
   20383 # Allow only TLS 1.2 and up:
   20384 <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = &gt;=0x0303
   20385 </pre>
   20386 </blockquote>
   20387 
   20388 <p> With Postfix &lt; 3.6 there is no support for a minimum or maximum
   20389 version, and the protocol range is configured via protocol exclusions.
   20390 To require at least TLS 1.0, set "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> =
   20391 !SSLv2, !SSLv3".  Listing the protocols to include, rather than
   20392 protocols to exclude, is supported, but not recommended.  The exclusion
   20393 form more accurately matches the underlying OpenSSL interface.  </p>
   20394 
   20395 <p> Support for "TLSv1.3" was introduced in OpenSSL 1.1.1.  Disabling
   20396 this protocol via "!TLSv1.3" is supported since Postfix 3.4 (or patch
   20397 releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2).  </p>
   20398 
   20399 <p> Example: </p>
   20400 
   20401 <pre>
   20402 # Preferred syntax with Postfix &ge; 3.6:
   20403 <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = &gt;=TLSv1.2, &lt;=TLSv1.3
   20404 # Legacy syntax:
   20405 <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
   20406 </pre>
   20407 
   20408 <p> This feature is available in Postfix 2.3 and later. </p>
   20409 
   20410 
   20411 </DD>
   20412 
   20413 <DT><b><a name="smtpd_tls_protocols">smtpd_tls_protocols</a>
   20414 (default: see 'postconf -d' output)</b></DT><DD>
   20415 
   20416 <p> TLS protocols accepted by the Postfix SMTP server with opportunistic
   20417 TLS encryption. If the list is empty, the server supports all available
   20418 TLS protocol versions.  A non-empty value is a list of protocol names to
   20419 include or exclude, separated by whitespace, commas or colons.  </p>
   20420 
   20421 <p> The valid protocol names (see SSL_get_version(3)) are "SSLv2",
   20422 "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" and "TLSv1.3".  Starting with
   20423 Postfix 3.6, the default value is "&gt;=TLSv1", which sets TLS 1.0 as
   20424 the lowest supported TLS protocol version (see below).  Older releases
   20425 use the "!" exclusion syntax, also described below.  </p>
   20426 
   20427 <p> As of Postfix 3.6, the preferred way to limit the range of
   20428 acceptable protocols is to set the lowest acceptable TLS protocol
   20429 version and/or the highest acceptable TLS protocol version.  To set the
   20430 lower bound include an element of the form: "&gt;=<i>version</i>" where
   20431 <i>version</i> is a either one of the TLS protocol names listed above,
   20432 or a hexadecimal number corresponding to the desired TLS protocol
   20433 version (0301 for TLS 1.0, 0302 for TLS 1.1, etc.).  For the upper
   20434 bound, use "&lt;=<i>version</i>".  There must be no whitespace between
   20435 the "&gt;=" or "&lt;=" symbols and the protocol name or number. </p>
   20436 
   20437 <p> Hexadecimal protocol numbers make it possible to specify protocol
   20438 bounds for TLS versions that are known to OpenSSL, but might not be
   20439 known to Postfix.  They cannot be used with the legacy exclusion syntax.
   20440 Leading "0" or "0x" prefixes are supported, but not required.
   20441 Therefore, "301", "0301", "0x301" and "0x0301" are all equivalent to
   20442 "TLSv1".  Hexadecimal versions unknown to OpenSSL will fail to set the
   20443 upper or lower bound, and a warning will be logged.  Hexadecimal
   20444 versions should only be used when Postfix is linked with some future
   20445 version of OpenSSL that supports TLS 1.4 or later, but Postfix does not
   20446 yet support a symbolic name for that protocol version. </p>
   20447 
   20448 <p>Hexadecimal example (Postfix &ge; 3.6):</p>
   20449 <blockquote>
   20450 <pre>
   20451 # Allow only TLS 1.0 through (hypothetical) TLS 1.4, once supported
   20452 # in some future version of OpenSSL (presently a warning is logged).
   20453 <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = &gt;=TLSv1, &lt;=0305
   20454 # Allow only TLS 1.0 and up:
   20455 <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = &gt;=0x0301
   20456 </pre>
   20457 </blockquote>
   20458 
   20459 <p> With Postfix &lt; 3.6 there is no support for a minimum or maximum
   20460 version, and the protocol range is configured via protocol exclusions.
   20461 To require at least TLS 1.0, set "<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3".
   20462 Listing the protocols to include, rather than protocols to exclude, is
   20463 supported, but not recommended.  The exclusion form more accurately
   20464 matches the underlying OpenSSL interface.  </p>
   20465 
   20466 <p> Support for "TLSv1.3" was introduced in OpenSSL 1.1.1.  Disabling
   20467 this protocol via "!TLSv1.3" is supported since Postfix 3.4 (or patch
   20468 releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2).  </p>
   20469 
   20470 <p> Example: </p>
   20471 <pre>
   20472 # Preferred syntax with Postfix &ge; 3.6:
   20473 <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = &gt;=TLSv1, &lt;=TLSv1.3
   20474 # Legacy syntax:
   20475 <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3
   20476 </pre>
   20477 
   20478 <p> This feature is available in Postfix 2.6 and later. </p>
   20479 
   20480 
   20481 </DD>
   20482 
   20483 <DT><b><a name="smtpd_tls_received_header">smtpd_tls_received_header</a>
   20484 (default: no)</b></DT><DD>
   20485 
   20486 <p> Request that the Postfix SMTP server produces Received:  message
   20487 headers that include information about the protocol and cipher used,
   20488 as well as the remote SMTP client CommonName and client certificate issuer
   20489 CommonName.  This is disabled by default, as the information may
   20490 be modified in transit through other mail servers.  Only information
   20491 that was recorded by the final destination can be trusted. </p>
   20492 
   20493 <p> This feature is available in Postfix 2.2 and later.  </p>
   20494 
   20495 
   20496 </DD>
   20497 
   20498 <DT><b><a name="smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>
   20499 (default: no)</b></DT><DD>
   20500 
   20501 <p> With mandatory TLS encryption, require a trusted remote SMTP client
   20502 certificate in order to allow TLS connections to proceed.  This
   20503 option implies "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes". </p>
   20504 
   20505 <p> When TLS encryption is optional, this setting is ignored with
   20506 a warning written to the mail log. </p>
   20507 
   20508 <p> This feature is available in Postfix 2.2 and later.  </p>
   20509 
   20510 
   20511 </DD>
   20512 
   20513 <DT><b><a name="smtpd_tls_security_level">smtpd_tls_security_level</a>
   20514 (default: empty)</b></DT><DD>
   20515 
   20516 <p> The SMTP TLS security level for the Postfix SMTP server; when
   20517 a non-empty value is specified, this overrides the obsolete parameters
   20518 <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
   20519 "<a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> = yes".  </p>
   20520 
   20521 <p> Specify one of the following security levels: </p>
   20522 
   20523 <dl>
   20524 
   20525 <dt><b>none</b></dt> <dd> TLS will not be used. </dd>
   20526 
   20527 <dt><b>may</b></dt> <dd> Opportunistic TLS: announce STARTTLS support
   20528 to remote SMTP clients, but do not require that clients use TLS encryption.
   20529 </dd>
   20530 
   20531 <dt><b>encrypt</b></dt> <dd>Mandatory TLS encryption: announce
   20532 STARTTLS support to remote SMTP clients, and reject all plaintext
   20533 commands except HELO, EHLO, XCLIENT, STARTTLS, NOOP, QUIT, and (Postfix
   20534 &ge; 3.9) HELP. According to <a href="https://tools.ietf.org/html/rfc2487">RFC 2487</a> this MUST NOT be applied in case
   20535 of a publicly-referenced SMTP server. Instead, this should be used
   20536 on dedicated servers, for example submission (port 587). </dd>
   20537 
   20538 </dl>
   20539 
   20540 <p> Note 1: the "fingerprint", "verify" and "secure" levels are not
   20541 supported here.
   20542 The Postfix SMTP server logs a warning and uses "encrypt" instead.
   20543 To verify remote SMTP client certificates, see <a href="TLS_README.html">TLS_README</a> for a discussion
   20544 of 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>
   20545 features.  </p>
   20546 
   20547 <p> Note 2: The parameter setting "<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> =
   20548 encrypt" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes".</p>
   20549 
   20550 <p> Note 3: when invoked via "sendmail -bs", Postfix will never
   20551 offer STARTTLS due to insufficient privileges to access the server
   20552 private key. This is intended behavior.</p>
   20553 
   20554 <p> This feature is available in Postfix 2.3 and later. </p>
   20555 
   20556 
   20557 </DD>
   20558 
   20559 <DT><b><a name="smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
   20560 (default: empty)</b></DT><DD>
   20561 
   20562 <p> Name of the file containing the optional Postfix SMTP server
   20563 TLS session cache. Specify a database type that supports enumeration,
   20564 such as <b>btree</b> or <b>sdbm</b>; there is no need to support
   20565 concurrent access.  The file is created if it does not exist. The <a href="smtpd.8.html">smtpd(8)</a>
   20566 daemon does not use this parameter directly, rather the cache is
   20567 implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
   20568 per-smtpd-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not
   20569 effective. Note that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a>
   20570 daemon: $<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>
   20571 (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
   20572 stored separately. It is not at this time possible to store multiple
   20573 caches in a single database. </p>
   20574 
   20575 <p> Note: <b>dbm</b> databases are not suitable. TLS
   20576 session objects are too large. </p>
   20577 
   20578 <p> As of version 2.5, Postfix no longer uses root privileges when
   20579 opening this file. The file should now be stored under the Postfix-owned
   20580 <a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
   20581 under a non-Postfix directory is redirected to the Postfix-owned
   20582 <a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
   20583 
   20584 <p> As of Postfix 2.11 the preferred mechanism for session resumption
   20585 is <a href="https://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side
   20586 storage.  Consequently, for Postfix &ge; 2.11 this parameter should
   20587 generally be left empty.  TLS session tickets require an OpenSSL
   20588 library (at least version 0.9.8h) that provides full support for
   20589 this TLS extension.  See also <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p>
   20590 
   20591 <p> Examples: </p>
   20592 
   20593 <pre>
   20594 <a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> = <a href="lmdb_table.5.html">lmdb</a>:/var/db/postfix/smtpd_scache
   20595 <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
   20596 </pre>
   20597 
   20598 <p> This feature is available in Postfix 2.2 and later.  </p>
   20599 
   20600 
   20601 </DD>
   20602 
   20603 <DT><b><a name="smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>
   20604 (default: 3600s)</b></DT><DD>
   20605 
   20606 <p> The expiration time of Postfix SMTP server TLS session cache
   20607 information. A cache cleanup is performed periodically
   20608 every $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> seconds. As with
   20609 $<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, this parameter is implemented in the
   20610 <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtpd-instance <a href="master.5.html">master.cf</a> overrides
   20611 are not possible. </p>
   20612 
   20613 <p> As of Postfix 2.11 this setting cannot exceed 100 days.  If set
   20614 &le; 0, session caching is disabled, not just via the database, but
   20615 also via <a href="https://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side
   20616 storage.  If set to a positive value less than 2 minutes, the minimum
   20617 value of 2 minutes is used instead.  TLS session tickets require
   20618 an OpenSSL library (at least version 0.9.8h) that provides full
   20619 support for this TLS extension. </p>
   20620 
   20621 <p> Specify a non-negative time value (an integral value plus an optional
   20622 one-letter suffix that specifies the time unit).  Time units: s
   20623 (seconds), m (minutes), h (hours), d (days), w (weeks).
   20624 The default time unit is s (seconds).  </p>
   20625 
   20626 <p> This feature is available in Postfix 2.2 and later, and updated
   20627 for TLS session ticket support in Postfix 2.11. </p>
   20628 
   20629 
   20630 </DD>
   20631 
   20632 <DT><b><a name="smtpd_tls_wrappermode">smtpd_tls_wrappermode</a>
   20633 (default: no)</b></DT><DD>
   20634 
   20635 <p> Run the Postfix SMTP server in TLS "wrapper" mode,
   20636 instead of using the STARTTLS command. </p>
   20637 
   20638 <p> If you want to support this service, enable a special port in
   20639 <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
   20640 server's command line. Port 465 (submissions, formerly called smtps)
   20641 is reserved for this purpose. </p>
   20642 
   20643 <p> This feature is available in Postfix 2.2 and later.  </p>
   20644 
   20645 
   20646 </DD>
   20647 
   20648 <DT><b><a name="smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a>
   20649 (default: empty)</b></DT><DD>
   20650 
   20651 <p> The name of the proxy protocol used by an optional before-smtpd
   20652 proxy agent. When a proxy agent is used, this protocol conveys local
   20653 and remote address and port information.  Specify
   20654 "<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
   20655 protocol; version 2 is supported with Postfix 3.5 and later. </p>
   20656 
   20657 <p> NOTE: To use the nginx proxy with <a href="smtpd.8.html">smtpd(8)</a>, enable the XCLIENT
   20658 protocol with <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>. This supports SASL
   20659 authentication in the proxy agent (Postfix 2.9 and later). <p>
   20660 
   20661 <p> This feature is available in Postfix 2.10 and later.  </p>
   20662 
   20663 
   20664 </DD>
   20665 
   20666 <DT><b><a name="smtpd_upstream_proxy_timeout">smtpd_upstream_proxy_timeout</a>
   20667 (default: 5s)</b></DT><DD>
   20668 
   20669 <p> The time limit for the proxy protocol specified with the
   20670 <a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> parameter. </p>
   20671 
   20672 <p> Specify a non-zero time value (an integral value plus an optional
   20673 one-letter suffix that specifies the time unit).  Time units: s
   20674 (seconds), m (minutes), h (hours), d (days), w (weeks).
   20675 The default time unit is s (seconds).  </p>
   20676 
   20677 <p> This feature is available in Postfix 2.10 and later.  </p>
   20678 
   20679 
   20680 </DD>
   20681 
   20682 <DT><b><a name="smtpd_use_tls">smtpd_use_tls</a>
   20683 (default: no)</b></DT><DD>
   20684 
   20685 <p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
   20686 but do not require that clients use TLS encryption. </p>
   20687 
   20688 <p> Note: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
   20689 STARTTLS due to insufficient privileges to access the server private
   20690 key. This is intended behavior. </p>
   20691 
   20692 <p> This feature is deprecated as of Postfix 3.9. Specify
   20693 <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
   20694 
   20695 <p> This feature is available in Postfix 2.2 and later. With
   20696 Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
   20697 
   20698 
   20699 </DD>
   20700 
   20701 <DT><b><a name="smtputf8_autodetect_classes">smtputf8_autodetect_classes</a>
   20702 (default: sendmail, verify)</b></DT><DD>
   20703 
   20704 <p> Detect that a message requires SMTPUTF8 support for the specified
   20705 mail origin classes.  This is a workaround to avoid chicken-and-egg
   20706 problems during the initial SMTPUTF8 roll-out in environments with
   20707 pre-existing mail flows that contain UTF8. Those mail flows should
   20708 not break because Postfix suddenly refuses to deliver such mail
   20709 to down-stream MTAs that don't announce SMTPUTF8 support.  </p>
   20710 
   20711 <p> The problem is that Postfix cannot rely solely on the sender's
   20712 declaration that a message requires SMTPUTF8 support, because UTF8
   20713 may be introduced during local processing (for example, the client
   20714 hostname in Postfix's Received: header, adding @$<a href="postconf.5.html#myorigin">myorigin</a> or
   20715 .$<a href="postconf.5.html#mydomain">mydomain</a> to an incomplete address, address rewriting, alias
   20716 expansion, automatic BCC recipients, local forwarding, and changes
   20717 made by header checks or Milter applications). </p>
   20718 
   20719 <p> For now, the default is to enable "SMTPUTF8 required" autodetection
   20720 only for Postfix sendmail command-line submissions and address
   20721 verification probes.  This may change once SMTPUTF8 support achieves
   20722 world domination.  However, sites that add UTF8 content via local
   20723 processing (see above) should autodetect the need for SMTPUTF8
   20724 support for all email.</p>
   20725 
   20726 <p> Specify one or more of the following: </p>
   20727 
   20728 <dl compact>
   20729 
   20730 <dt> <b> sendmail </b> </dt> <dd> Submission with the Postfix
   20731 <a href="sendmail.1.html">sendmail(1)</a> command. </dd>
   20732 
   20733 <dt> <b> smtpd </b> </dt> <dd> Mail received with the <a href="smtpd.8.html">smtpd(8)</a>
   20734 daemon. </dd>
   20735 
   20736 <dt> <b> qmqpd </b> </dt> <dd> Mail received with the <a href="qmqpd.8.html">qmqpd(8)</a>
   20737 daemon. </dd>
   20738 
   20739 <dt> <b> forward </b> </dt> <dd> Local forwarding or aliasing.  When
   20740 a message is received with "SMTPUTF8 required", then the forwarded
   20741 (aliased) message always has "SMTPUTF8 required".  </dd>
   20742 
   20743 <dt> <b> bounce </b> </dt> <dd> Submission by the <a href="bounce.8.html">bounce(8)</a> daemon.
   20744 When a message is received with "SMTPUTF8 required", then the
   20745 delivery status notification always has "SMTPUTF8 required".  </dd>
   20746 
   20747 <dt> <b> notify </b> </dt> <dd> Postmaster notification from the
   20748 <a href="smtp.8.html">smtp(8)</a> or <a href="smtpd.8.html">smtpd(8)</a> daemon. </dd>
   20749 
   20750 <dt> <b> verify </b> </dt> <dd> Address verification probe from the
   20751 <a href="verify.8.html">verify(8)</a> daemon.  </dd>
   20752 
   20753 <dt> <b> all </b> </dt> <dd> Enable SMTPUTF8 autodetection for all
   20754 mail. </dd>
   20755 
   20756 </dl>
   20757 
   20758 <p> This feature is available in Postfix 3.0 and later. </p>
   20759 
   20760 
   20761 </DD>
   20762 
   20763 <DT><b><a name="smtputf8_enable">smtputf8_enable</a>
   20764 (default: yes)</b></DT><DD>
   20765 
   20766 <p> Enable preliminary SMTPUTF8 support for the protocols described
   20767 in <a href="https://tools.ietf.org/html/rfc6531">RFC 6531</a>, <a href="https://tools.ietf.org/html/rfc6532">RFC 6532</a>, and <a href="https://tools.ietf.org/html/rfc6533">RFC 6533</a>. This requires that Postfix is
   20768 built to support these protocols. </p>
   20769 
   20770 <p> This feature is available in Postfix 3.0 and later. </p>
   20771 
   20772 
   20773 </DD>
   20774 
   20775 <DT><b><a name="socketmap_max_reply_size">socketmap_max_reply_size</a>
   20776 (default: 100000)</b></DT><DD>
   20777 
   20778 <p> The maximum allowed reply size from a socketmap server, not
   20779 including the netstring encapsulation. </p>
   20780 
   20781 <p> This feature is available in Postfix &ge; 3.10. </p>
   20782 
   20783 
   20784 </DD>
   20785 
   20786 <DT><b><a name="soft_bounce">soft_bounce</a>
   20787 (default: no)</b></DT><DD>
   20788 
   20789 <p>
   20790 Safety net to keep mail queued that would otherwise be returned to
   20791 the sender.  This parameter disables locally-generated bounces,
   20792 changes the handling of negative responses from remote servers,
   20793 content filters or plugins,
   20794 and prevents the Postfix SMTP server from rejecting mail permanently
   20795 by changing 5xx reply codes into 4xx.  However, <a href="postconf.5.html#soft_bounce">soft_bounce</a> is no
   20796 cure for address rewriting mistakes or mail routing mistakes.
   20797 </p>
   20798 
   20799 <p>
   20800 Note: "<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes" is in some cases implemented by modifying
   20801 server responses. Therefore, the response that Postfix logs may
   20802 differ from the response that Postfix actually sends or receives.
   20803 </p>
   20804 
   20805 <p>
   20806 Example:
   20807 </p>
   20808 
   20809 <pre>
   20810 <a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes
   20811 </pre>
   20812 
   20813 
   20814 </DD>
   20815 
   20816 <DT><b><a name="stale_lock_time">stale_lock_time</a>
   20817 (default: 500s)</b></DT><DD>
   20818 
   20819 <p>
   20820 The time after which a stale exclusive mailbox lockfile is removed.
   20821 This is used for delivery to file or mailbox.
   20822 </p>
   20823 
   20824 <p> Specify a non-zero time value (an integral value plus an optional
   20825 one-letter suffix that specifies the time unit).  Time units: s
   20826 (seconds), m (minutes), h (hours), d (days), w (weeks).
   20827 The default time unit is s (seconds).  </p>
   20828 
   20829 
   20830 </DD>
   20831 
   20832 <DT><b><a name="stress">stress</a>
   20833 (default: empty)</b></DT><DD>
   20834 
   20835 <p> This feature is documented in the <a href="STRESS_README.html">STRESS_README</a> document. </p>
   20836 
   20837 <p> This feature is available in Postfix 2.5 and later. </p>
   20838 
   20839 
   20840 </DD>
   20841 
   20842 <DT><b><a name="strict_7bit_headers">strict_7bit_headers</a>
   20843 (default: no)</b></DT><DD>
   20844 
   20845 <p>
   20846 Reject mail with 8-bit text in message headers. This blocks mail
   20847 from poorly written applications.
   20848 </p>
   20849 
   20850 <p>
   20851 This feature should not be enabled on a general purpose mail server,
   20852 because it is likely to reject legitimate email.
   20853 </p>
   20854 
   20855 <p>
   20856 This feature is available in Postfix 2.0 and later.
   20857 </p>
   20858 
   20859 
   20860 </DD>
   20861 
   20862 <DT><b><a name="strict_8bitmime">strict_8bitmime</a>
   20863 (default: no)</b></DT><DD>
   20864 
   20865 <p>
   20866 Enable 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>.
   20867 </p>
   20868 
   20869 <p>
   20870 This feature should not be enabled on a general purpose mail server,
   20871 because it is likely to reject legitimate email.
   20872 </p>
   20873 
   20874 <p>
   20875 This feature is available in Postfix 2.0 and later.
   20876 </p>
   20877 
   20878 
   20879 </DD>
   20880 
   20881 <DT><b><a name="strict_8bitmime_body">strict_8bitmime_body</a>
   20882 (default: no)</b></DT><DD>
   20883 
   20884 <p>
   20885 Reject 8-bit message body text without 8-bit MIME content encoding
   20886 information.  This blocks mail from poorly written applications.
   20887 </p>
   20888 
   20889 <p>
   20890 Unfortunately, this also rejects majordomo approval requests when
   20891 the included request contains valid 8-bit MIME mail, and it rejects
   20892 bounces from mailers that do not MIME encapsulate 8-bit content
   20893 (for example, bounces from qmail or from old versions of Postfix).
   20894 </p>
   20895 
   20896 <p>
   20897 This feature should not be enabled on a general purpose mail server,
   20898 because it is likely to reject legitimate email.
   20899 </p>
   20900 
   20901 <p>
   20902 This feature is available in Postfix 2.0 and later.
   20903 </p>
   20904 
   20905 
   20906 </DD>
   20907 
   20908 <DT><b><a name="strict_mailbox_ownership">strict_mailbox_ownership</a>
   20909 (default: yes)</b></DT><DD>
   20910 
   20911 <p> Defer delivery when a mailbox file is not owned by its recipient.
   20912 The default setting is not backwards compatible.  </p>
   20913 
   20914 <p> This feature is available in Postfix 2.5.3 and later. </p>
   20915 
   20916 
   20917 </DD>
   20918 
   20919 <DT><b><a name="strict_mime_encoding_domain">strict_mime_encoding_domain</a>
   20920 (default: no)</b></DT><DD>
   20921 
   20922 <p>
   20923 Reject mail with invalid Content-Transfer-Encoding: information
   20924 for the message/* or multipart/* MIME content types.  This blocks
   20925 mail from poorly written software.
   20926 </p>
   20927 
   20928 <p>
   20929 This feature should not be enabled on a general purpose mail server,
   20930 because it will reject mail after a single violation.
   20931 </p>
   20932 
   20933 <p>
   20934 This feature is available in Postfix 2.0 and later.
   20935 </p>
   20936 
   20937 
   20938 </DD>
   20939 
   20940 <DT><b><a name="strict_rfc821_envelopes">strict_rfc821_envelopes</a>
   20941 (default: no)</b></DT><DD>
   20942 
   20943 <p>
   20944 Require that addresses received in SMTP MAIL FROM and RCPT TO
   20945 commands are enclosed with &lt;&gt;, and that those addresses do
   20946 not contain <a href="https://tools.ietf.org/html/rfc822">RFC 822</a> style comments or phrases.  This stops mail
   20947 from poorly written software.
   20948 </p>
   20949 
   20950 <p>
   20951 By default, the Postfix SMTP server accepts <a href="https://tools.ietf.org/html/rfc822">RFC 822</a> syntax in MAIL
   20952 FROM and RCPT TO addresses.
   20953 </p>
   20954 
   20955 
   20956 </DD>
   20957 
   20958 <DT><b><a name="strict_smtputf8">strict_smtputf8</a>
   20959 (default: no)</b></DT><DD>
   20960 
   20961 <p> Enable stricter enforcement of the SMTPUTF8 protocol. The Postfix
   20962 SMTP server accepts UTF8 sender or recipient addresses only when
   20963 the client requests an SMTPUTF8 mail transaction. </p>
   20964 
   20965 <p> This feature is available in Postfix 3.0 and later. </p>
   20966 
   20967 
   20968 </DD>
   20969 
   20970 <DT><b><a name="sun_mailtool_compatibility">sun_mailtool_compatibility</a>
   20971 (default: no)</b></DT><DD>
   20972 
   20973 <p>
   20974 Obsolete SUN mailtool compatibility feature. Instead, use
   20975 "<a href="postconf.5.html#mailbox_delivery_lock">mailbox_delivery_lock</a> = dotlock".
   20976 </p>
   20977 
   20978 
   20979 </DD>
   20980 
   20981 <DT><b><a name="swap_bangpath">swap_bangpath</a>
   20982 (default: yes)</b></DT><DD>
   20983 
   20984 <p>
   20985 Enable the rewriting of "site!user" into "user@site".  This is
   20986 necessary if your machine is connected to UUCP networks.  It is
   20987 enabled by default.
   20988 </p>
   20989 
   20990 <p> Note: with Postfix version 2.2, message header address rewriting
   20991 happens only when one of the following conditions is true: </p>
   20992 
   20993 <ul>
   20994 
   20995 <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
   20996 
   20997 <li> The message is received from a network client that matches
   20998 $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
   20999 
   21000 <li> The message is received from the network, and the
   21001 <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
   21002 
   21003 </ul>
   21004 
   21005 <p> To get the behavior before Postfix version 2.2, specify
   21006 "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
   21007 
   21008 <p>
   21009 Example:
   21010 </p>
   21011 
   21012 <pre>
   21013 <a href="postconf.5.html#swap_bangpath">swap_bangpath</a> = no
   21014 </pre>
   21015 
   21016 
   21017 </DD>
   21018 
   21019 <DT><b><a name="syslog_facility">syslog_facility</a>
   21020 (default: mail)</b></DT><DD>
   21021 
   21022 <p>
   21023 The syslog facility of Postfix logging. Specify a facility as
   21024 defined in syslog.conf(5). The default facility is "mail".
   21025 </p>
   21026 
   21027 <p>
   21028 Warning: a non-default <a href="postconf.5.html#syslog_facility">syslog_facility</a> setting takes effect only
   21029 after a Postfix process has completed initialization.  Errors during
   21030 process initialization will be logged with the default facility.
   21031 Examples are errors while parsing the command line arguments, and
   21032 errors while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
   21033 </p>
   21034 
   21035 
   21036 </DD>
   21037 
   21038 <DT><b><a name="syslog_name">syslog_name</a>
   21039 (default: see "postconf -d" output)</b></DT><DD>
   21040 
   21041 <p>
   21042 A prefix that is prepended to the process name in syslog
   21043 records, so that, for example, "smtpd" becomes "prefix/smtpd".
   21044 </p>
   21045 
   21046 <p>
   21047 Warning: a non-default <a href="postconf.5.html#syslog_name">syslog_name</a> setting takes effect only after
   21048 a Postfix process has completed initialization. Errors during
   21049 process initialization will be logged with the default name. Examples
   21050 are errors while parsing the command line arguments, and errors
   21051 while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
   21052 </p>
   21053 
   21054 
   21055 </DD>
   21056 
   21057 <DT><b><a name="tcp_windowsize">tcp_windowsize</a>
   21058 (default: 0)</b></DT><DD>
   21059 
   21060 <p> An optional workaround for routers that break TCP window scaling.
   21061 Specify a value &gt; 0 and &lt; 65536 to enable this feature.  With
   21062 Postfix TCP servers (<a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a>), this feature is implemented
   21063 by the Postfix <a href="master.8.html">master(8)</a> daemon.  </p>
   21064 
   21065 <p> To change this parameter without stopping Postfix, you need to
   21066 first terminate all Postfix TCP servers: </p>
   21067 
   21068 <blockquote>
   21069 <pre>
   21070 # postconf -e <a href="postconf.5.html#master_service_disable">master_service_disable</a>=inet
   21071 # postfix reload
   21072 </pre>
   21073 </blockquote>
   21074 
   21075 <p> This immediately terminates all processes that accept network
   21076 connections.  Next, you enable Postfix TCP servers with the updated
   21077 <a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> setting: </p>
   21078 
   21079 <blockquote>
   21080 <pre>
   21081 # 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>=
   21082 # postfix reload
   21083 </pre>
   21084 </blockquote>
   21085 
   21086 <p> If you skip these steps with a running Postfix system, then the
   21087 <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>,
   21088 <a href="lmtp.8.html">lmtp(8)</a>).  </p>
   21089 
   21090 <p> This feature is available in Postfix 2.6 and later. </p>
   21091 
   21092 
   21093 </DD>
   21094 
   21095 <DT><b><a name="tls_append_default_CA">tls_append_default_CA</a>
   21096 (default: no)</b></DT><DD>
   21097 
   21098 <p> Append the system-supplied default Certification Authority
   21099 certificates to the ones specified with *_tls_CApath or *_tls_CAfile.
   21100 The default is "no"; this prevents Postfix from trusting third-party
   21101 certificates and giving them relay permission with
   21102 <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>.  </p>
   21103 
   21104 <p> This feature is available in Postfix 2.4.15, 2.5.11, 2.6.8,
   21105 2.7.2 and later versions. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = yes" for
   21106 backwards compatibility, to avoid breaking certificate verification
   21107 with sites that don't use <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p>
   21108 
   21109 
   21110 </DD>
   21111 
   21112 <DT><b><a name="tls_config_file">tls_config_file</a>
   21113 (default: default)</b></DT><DD>
   21114 
   21115 <p> Optional configuration file with baseline OpenSSL settings.
   21116 OpenSSL loads any SSL settings found in the configuration file for
   21117 the selected application name (see <a href="postconf.5.html#tls_config_name">tls_config_name</a>) or else the
   21118 built-in application name "openssl_conf" when no application name is
   21119 specified, or no corresponding configuration section is present.
   21120 </p>
   21121 
   21122 <p> With OpenSSL releases 1.1.1 and 1.1.1a, applications (including
   21123 Postfix) can neither specify an alternative configuration file, nor
   21124 avoid loading the default configuration file.  </p>
   21125 
   21126 <p> With OpenSSL 1.1.1b or later, this parameter may be set to one of:
   21127 </p>
   21128 
   21129 <dl>
   21130 
   21131 <dt> <b>default</b> (default) </dt> <dd> Load the system-wide
   21132 "openssl.cnf" configuration file.  </dd>
   21133 
   21134 <dt> <b>none</b> (recommended, OpenSSL 1.1.1b or later only) </dt>
   21135 <dd> This setting disables loading of  the system-wide "openssl.cnf"
   21136 file.  </dd>
   21137 
   21138 <dt> <b><i>/absolute-path</i></b> (OpenSSL 1.1.1b or later only) </dt>
   21139 <dd> Load the configuration file specified by <i>/absolute-path</i>.
   21140 With this setting it is an error for the file to not contain any
   21141 settings for the selected <a href="postconf.5.html#tls_config_name">tls_config_name</a>.  There is no fallback to
   21142 the default "openssl_conf" name. </dd>
   21143 
   21144 </dl>
   21145 
   21146 <p> Failures in processing of the built-in default configuration file,
   21147 are silently ignored.  Any errors in loading a non-default configuration
   21148 file are detected by Postfix, and cause TLS support to be disabled.
   21149 </p>
   21150 
   21151 <p> The OpenSSL configuration file format is not documented here,
   21152 beyond giving two examples. <p>
   21153 
   21154 <p> Example: Default settings for all applications. </p>
   21155 
   21156 <blockquote>
   21157 <pre>
   21158 # The name 'openssl_conf' is the default application name
   21159 # The section name to the right of the '=' sign is arbitrary,
   21160 # any name will do, so long as it refers to the desired section.
   21161 #
   21162 # The name 'system_default' selects the settings applied internally
   21163 # by the SSL library as part of SSL object creation.  Applications
   21164 # can then apply any additional settings of their choice.
   21165 #
   21166 # In this example, TLS versions prior to 1.2 are disabled by default.
   21167 #
   21168 openssl_conf = system_wide_settings
   21169 [system_wide_settings]
   21170 ssl_conf = ssl_library_settings
   21171 [ssl_library_settings]
   21172 system_default = initial_ssl_settings
   21173 [initial_ssl_settings]
   21174 MinProtocol = TLSv1.2
   21175 </pre>
   21176 </blockquote>
   21177 
   21178 <p> Example: Custom settings for an application named "postfix". </p>
   21179 
   21180 <blockquote>
   21181 <pre>
   21182 # The mapping from an application name to the corresponding configuration
   21183 # section must appear near the top of the file, (in what is sometimes called
   21184 # the "default section") prior to the start of any explicitly named
   21185 # "[sections]".  The named sections can appear in any order and don't nest.
   21186 #
   21187 postfix = postfix_settings
   21188 [postfix_settings]
   21189 ssl_conf = postfix_ssl_settings
   21190 [postfix_ssl_settings]
   21191 system_default = baseline_postfix_settings
   21192 [baseline_postfix_settings]
   21193 MinProtocol = TLSv1
   21194 </pre>
   21195 </blockquote>
   21196 
   21197 <p> Example: Custom OpenSSL group settings. </p>
   21198 
   21199 <pre>
   21200 <a href="postconf.5.html">main.cf</a>:
   21201     <a href="postconf.5.html#tls_config_file">tls_config_file</a> = ${<a href="postconf.5.html#config_directory">config_directory</a>}/openssl.cnf
   21202     <a href="postconf.5.html#tls_config_name">tls_config_name</a> = postfix
   21203     # Clear Postfix curve/group settings to let custom OpenSSL
   21204     # configuration settings take effect.  For most users, the
   21205     # default Postfix settings are strongly recommended.
   21206     <a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a> =
   21207     <a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a> =
   21208 </pre>
   21209 
   21210 <pre>
   21211 openssl.cnf:
   21212     postfix = postfix_settings
   21213 </pre>
   21214 
   21215 <pre>
   21216     [postfix_settings]
   21217     ssl_conf = postfix_ssl_settings
   21218 </pre>
   21219 
   21220 <pre>
   21221     [postfix_ssl_settings]
   21222     system_default = baseline_postfix_settings
   21223 </pre>
   21224 
   21225 <pre>
   21226     [baseline_postfix_settings]
   21227     # New OpenSSL 3.5 syntax, for older releases consider
   21228     # the Postfix default:
   21229     #
   21230     # Groups = X25519:X448:prime256v1:secp384r1:secp521r1:ffdhe2048:ffdhe3072
   21231     #
   21232     Groups = ?X25519MLKEM768 / ?*X25519:?secp256r1 / ?X448:?secp384r1:?secp521r1 / ?ffdhe2048:?ffdhe3072
   21233 </pre>
   21234 
   21235 <p> Caution: It is typically best to just use the compiled-in default
   21236 OpenSSL group settings, by setting "<a href="postconf.5.html#tls_config_file">tls_config_file</a> = none". Overly
   21237 strict system-wide TLS settings will conflict with Postfix's
   21238 opportunistic TLS, where being less restrictive is better than
   21239 downgrading to cleartext SMTP. </p>
   21240 
   21241 <p> This feature is available in Postfix &ge; 3.9, 3.8.1, 3.7.6,
   21242 3.6.10, and 3.5.20. </p>
   21243 
   21244 
   21245 </DD>
   21246 
   21247 <DT><b><a name="tls_config_name">tls_config_name</a>
   21248 (default: empty)</b></DT><DD>
   21249 
   21250 <p> The application name passed by Postfix to OpenSSL library
   21251 initialization functions.  This name is used to select the desired
   21252 configuration "section" in the OpenSSL configuration file specified
   21253 via the <a href="postconf.5.html#tls_config_file">tls_config_file</a> parameter.  When empty, or when the
   21254 selected name is not present in the configuration file, the default
   21255 application name ("openssl_conf") is used as a fallback.  </p>
   21256 
   21257 <p> This feature is available in Postfix &ge; 3.9.  </p>
   21258 
   21259 
   21260 </DD>
   21261 
   21262 <DT><b><a name="tls_daemon_random_bytes">tls_daemon_random_bytes</a>
   21263 (default: 32)</b></DT><DD>
   21264 
   21265 <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>
   21266 process requests from the <a href="tlsmgr.8.html">tlsmgr(8)</a> server in order to seed its
   21267 internal pseudo random number generator (PRNG).  The default of 32
   21268 bytes (equivalent to 256 bits) is sufficient to generate a 128bit
   21269 (or 168bit) session key. </p>
   21270 
   21271 <p> This feature is available in Postfix 2.2 and later.  </p>
   21272 
   21273 
   21274 </DD>
   21275 
   21276 <DT><b><a name="tls_dane_digest_agility">tls_dane_digest_agility</a>
   21277 (default: on)</b></DT><DD>
   21278 
   21279 <p> Configure <a href="https://tools.ietf.org/html/rfc7671">RFC7671</a> DANE TLSA digest algorithm agility.
   21280 Do not change this setting from its default value. </p>
   21281 
   21282 <p> See Section 8 of <a href="https://tools.ietf.org/html/rfc7671">RFC7671</a> for correct key rotation procedures.  </p>
   21283 
   21284 <p> This feature is available in Postfix 2.11 through 3.1.  Postfix
   21285 3.2 and later ignore this configuration parameter and behave as
   21286 though it were set to "on".  </p>
   21287 
   21288 
   21289 </DD>
   21290 
   21291 <DT><b><a name="tls_dane_digests">tls_dane_digests</a>
   21292 (default: sha512 sha256)</b></DT><DD>
   21293 
   21294 <p> DANE TLSA (<a href="https://tools.ietf.org/html/rfc6698">RFC 6698</a>, <a href="https://tools.ietf.org/html/rfc7671">RFC 7671</a>, <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a>) resource-record "matching
   21295 type" digest algorithms in descending preference order.  All the
   21296 specified algorithms must be supported by the underlying OpenSSL
   21297 library, otherwise the Postfix SMTP client will not support DANE
   21298 TLSA security.  </p>
   21299 
   21300 <p> Specify a list of digest names separated by commas and/or
   21301 whitespace.  Each digest name may be followed by an optional
   21302 "=&lt;number&gt;" suffix.  For example, "sha512" may instead be specified
   21303 as "sha512=2" and "sha256" may instead be specified as "sha256=1".
   21304 The optional number must match the <a
   21305 href="https://www.iana.org/assignments/dane-parameters/dane-parameters.xhtml#matching-types"
   21306 >IANA</a> assigned TLSA matching type number the algorithm in question.
   21307 Postfix will check this constraint for the algorithms it knows about.
   21308 Additional matching type algorithms registered with IANA can be added
   21309 with explicit numbers provided they are supported by OpenSSL. </p>
   21310 
   21311 <p> Invalid list elements are logged with a warning and disable DANE
   21312 support.  TLSA RRs that specify digests not included in the list are
   21313 ignored with a warning. </p>
   21314 
   21315 <p> Note: It is unwise to omit sha256 from the digest list.  This
   21316 digest algorithm is the only mandatory to implement digest algorithm
   21317 in <a href="https://tools.ietf.org/html/rfc6698">RFC 6698</a>, and many servers are expected to publish TLSA records
   21318 with just sha256 digests.  Unless one of the standard digests is
   21319 seriously compromised and servers have had ample time to update their
   21320 TLSA records you should not omit any standard digests, just arrange
   21321 them in order from strongest to weakest.  </p>
   21322 
   21323 <p> This feature is available in Postfix 2.11 and later. </p>
   21324 
   21325 
   21326 </DD>
   21327 
   21328 <DT><b><a name="tls_dane_trust_anchor_digest_enable">tls_dane_trust_anchor_digest_enable</a>
   21329 (default: yes)</b></DT><DD>
   21330 
   21331 <p> Enable support for <a href="https://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE TLSA) DNS records that contain
   21332 digests of trust-anchors with certificate usage "2".  Do not change
   21333 this setting from its default value.  </p>
   21334 
   21335 <p> This feature is available in Postfix 2.11 through 3.1.  It has
   21336 been withdrawn in Postfix 3.2, as trust-anchor TLSA records are now
   21337 widely used and have proved sufficiently reliable.  Postfix 3.2 and
   21338 later ignore this configuration parameter and behaves as though it
   21339 were set to "yes".  </p>
   21340 
   21341 
   21342 </DD>
   21343 
   21344 <DT><b><a name="tls_disable_workarounds">tls_disable_workarounds</a>
   21345 (default: see "postconf -d" output)</b></DT><DD>
   21346 
   21347 <p> List or bit-mask of OpenSSL bug work-arounds to disable. </p>
   21348 
   21349 <p> The OpenSSL toolkit includes a set of work-arounds for buggy SSL/TLS
   21350 implementations. Applications, such as Postfix, that want to maximize
   21351 interoperability ask the OpenSSL library to enable the full set of
   21352 recommended work-arounds. </p>
   21353 
   21354 <p> From time to time, it is discovered that a work-around creates a
   21355 security issue, and should no longer be used. If upgrading OpenSSL
   21356 to a fixed version is not an option or an upgrade is not available
   21357 in a timely manner, or in closed environments where no buggy clients
   21358 or servers exist, it may be appropriate to disable some or all of the
   21359 OpenSSL interoperability work-arounds. This parameter specifies which
   21360 bug work-arounds to disable. </p>
   21361 
   21362 <p> If the value of the parameter is a hexadecimal long integer starting
   21363 with "0x", the bug work-arounds corresponding to the bits specified in
   21364 its value are removed from the <b>SSL_OP_ALL</b> work-around bit-mask
   21365 (see openssl/ssl.h and SSL_CTX_set_options(3)). You can specify more
   21366 bits than are present in SSL_OP_ALL, excess bits are ignored. Specifying
   21367 0xFFFFFFFF disables all bug-workarounds on a 32-bit system. This should
   21368 also be sufficient on 64-bit systems, until OpenSSL abandons support
   21369 for 32-bit systems and starts using the high 32 bits of a 64-bit
   21370 bug-workaround mask. </p>
   21371 
   21372 <p> Otherwise, the parameter is a white-space or comma separated list
   21373 of specific named bug work-arounds chosen from the list below. It
   21374 is possible that your OpenSSL version includes new bug work-arounds
   21375 added after your Postfix source code was last updated, in that case
   21376 you can only disable one of these via the hexadecimal syntax above. </p>
   21377 
   21378 <dl>
   21379 
   21380 <dt><b>CRYPTOPRO_TLSEXT_BUG</b></dt> <dd>New with GOST support in
   21381 OpenSSL 1.0.0.</dd>
   21382 
   21383 <dt><b>DONT_INSERT_EMPTY_FRAGMENTS</b></dt> <dd>See
   21384 SSL_CTX_set_options(3)</dd>
   21385 
   21386 <dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
   21387 
   21388 <dt><b>MICROSOFT_BIG_SSLV3_BUFFER</b></dt> <dd>See
   21389 SSL_CTX_set_options(3)</dd>
   21390 
   21391 <dt><b>MICROSOFT_SESS_ID_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
   21392 
   21393 <dt><b>MSIE_SSLV2_RSA_PADDING</b></dt> <dd> also aliased as
   21394 <b>CVE-2005-2969</b>. Postfix 2.8 disables this work-around by
   21395 default with OpenSSL versions that may predate the fix. Fixed in
   21396 OpenSSL 0.9.7h and OpenSSL 0.9.8a.</dd>
   21397 
   21398 <dt><b>NETSCAPE_CHALLENGE_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
   21399 
   21400 <dt><b>NETSCAPE_REUSE_CIPHER_CHANGE_BUG</b></dt> <dd> also aliased
   21401 as <b>CVE-2010-4180</b>. Postfix 2.8 disables this work-around by
   21402 default with OpenSSL versions that may predate the fix. Fixed in
   21403 OpenSSL 0.9.8q and OpenSSL 1.0.0c.</dd>
   21404 
   21405 <dt><b>SSLEAY_080_CLIENT_DH_BUG</b></dt> <dd>See
   21406 SSL_CTX_set_options(3)</dd>
   21407 
   21408 <dt><b>SSLREF2_REUSE_CERT_TYPE_BUG</b></dt> <dd>See
   21409 SSL_CTX_set_options(3)</dd>
   21410 
   21411 <dt><b>TLS_BLOCK_PADDING_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
   21412 
   21413 <dt><b>TLS_D5_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
   21414 
   21415 <dt><b>TLS_ROLLBACK_BUG</b></dt> <dd>See SSL_CTX_set_options(3).
   21416 This is disabled in OpenSSL 0.9.7 and later. Nobody should still
   21417 be using 0.9.6! </dd>
   21418 
   21419 <dt><b>TLSEXT_PADDING</b></dt><dd>Postfix &ge; 3.4. See SSL_CTX_set_options(3).</dd>
   21420 
   21421 </dl>
   21422 
   21423 <p> This feature is available in Postfix 2.8 and later.  </p>
   21424 
   21425 
   21426 </DD>
   21427 
   21428 <DT><b><a name="tls_eecdh_auto_curves">tls_eecdh_auto_curves</a>
   21429 (default: see "postconf -d" output)</b></DT><DD>
   21430 
   21431 <p> The prioritized list of elliptic curves, that should be enabled in the
   21432 Postfix SMTP client and server.  The selected curves should be implemented
   21433 by OpenSSL and be standardized for use in the TLS "supported groups" extension
   21434 (<a href="https://tools.ietf.org/html/rfc8422">RFC8422</a>, <a href="https://tools.ietf.org/html/rfc8446">RFC8446</a> and <a href="https://tools.ietf.org/html/rfc8447">RFC8447</a>).  Be sure to include at least "x25519" and
   21435 "prime256v1" (the OpenSSL name for "secp256r1", a.k.a. "P-256").  The default
   21436 list is suitable for most users. </p>
   21437 
   21438 <p> On the client side, the first curve listed will be used to construct the
   21439 client's initial TLS 1.3 "keyshare".  If this is not supported by the server,
   21440 the TLS handshake may require an additional round-trip after the server issues
   21441 a HelloRetryRequest (HRR) indicating a suitable mutually supported curve. </p>
   21442 
   21443 <p> Postfix skips curve names that are unknown to OpenSSL, or that are known
   21444 but not yet implemented.  This makes it possible to "anticipate" support for
   21445 curves that should be used once they become available, or to deploy the same
   21446 setting on a server "farm" where not all servers support the same curves.  </p>
   21447 
   21448 <p> As of Postfix 3.10, when compiled with OpenSSL 3.0 or later, the "curve"
   21449 names can be more general key encapsulation mechanisms (KEMs), and/or may be
   21450 loaded from an external "provider" (via a suitable <a href="postconf.5.html#tls_config_file">tls_config_file</a>).  </p>
   21451 
   21452 <p> See also the "<a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a>" parameter, which supports
   21453 customizing the list of FFDHE groups enabled with TLS 1.3.  That setting
   21454 is introduced with Postfix 3.8, when built against OpenSSL 3.0 or later.
   21455 </p>
   21456 
   21457 <p> Post-quantum cryptography support: OpenSSL 3.5 introduces new
   21458 configuration syntax that Postfix will not attempt to emulate.  That
   21459 said, when compiled against OpenSSL 3.5 or later, the Postfix default
   21460 setting is a minor adjustment of the OpenSSL compiled-in default
   21461 setting, it just delays generation of the hybrid post-quantum
   21462 <b>X25519MLKEM768</b> key-share until it is explicitly requested by the
   21463 server.  This avoids interoperability issues with some SMTP servers that
   21464 are unable to handle the resulting large TLS Client Hello. </p>
   21465 
   21466 <p> If, despite the strongly recommended defaults, you need fine-grained
   21467 control over the supported groups, with Postfix 3.6.17, 3.7.13, 3.8.8,
   21468 3.9.2, and later, set both <a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a> and if available
   21469 <a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a> to the empty value, to enable algorithm selection
   21470 through OpenSSL configuration.  See <a href="postconf.5.html#tls_config_file">tls_config_file</a> for a configuration
   21471 example.  </p>
   21472 
   21473 <p> This feature is available in Postfix 3.2 and later, when it is
   21474 compiled and linked with OpenSSL 1.0.2 or later on platforms where
   21475 EC algorithms have not been disabled by the vendor. </p>
   21476 
   21477 
   21478 </DD>
   21479 
   21480 <DT><b><a name="tls_eecdh_strong_curve">tls_eecdh_strong_curve</a>
   21481 (default: prime256v1)</b></DT><DD>
   21482 
   21483 <p> The elliptic curve used by the Postfix SMTP server for sensibly
   21484 strong
   21485 ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
   21486 server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The phrase "sensibly
   21487 strong" means approximately 128-bit security based on best known
   21488 attacks. The selected curve must be implemented by OpenSSL (as
   21489 reported by ecparam(1) with the "-list_curves" option) and be one
   21490 of the curves listed in Section 5.1.1 of <a href="https://tools.ietf.org/html/rfc8422">RFC 8422</a>. You should not
   21491 generally change this setting.  Remote SMTP client implementations
   21492 must support this curve for EECDH key exchange to take place.  It
   21493 is unwise to choose only "bleeding-edge" curves supported by only a
   21494 small subset of clients.  </p>
   21495 
   21496 <p> This feature is not used as of Postfix 3.6. Do not specify. </p>
   21497 
   21498 <p> The default "strong" curve is rated in NSA <a
   21499 href="https://web.archive.org/web/20160330034144/https://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
   21500 B</a> for information classified up to SECRET.  </p>
   21501 
   21502 <p> Note: elliptic curve names are poorly standardized; different
   21503 standards groups are assigning different names to the same underlying
   21504 curves.  The curve with the X9.62 name "prime256v1" is also known
   21505 under the SECG name "secp256r1", but OpenSSL does not recognize the
   21506 latter name. </p>
   21507 
   21508 <p> If you want to take maximal advantage of ciphers that offer <a
   21509 href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
   21510 the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
   21511 started</a> section of <a
   21512 href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
   21513 full document conveniently presents all information about Postfix
   21514 "perfect" forward secrecy support in one place: what forward secrecy
   21515 is, how to tweak settings, and what you can expect to see when
   21516 Postfix uses ciphers with forward secrecy.  </p>
   21517 
   21518 <p> This feature is available in Postfix 2.6 and later, when it is
   21519 compiled and linked with OpenSSL 1.0.0 or later on platforms where
   21520 EC algorithms have not been disabled by the vendor. </p>
   21521 
   21522 
   21523 </DD>
   21524 
   21525 <DT><b><a name="tls_eecdh_ultra_curve">tls_eecdh_ultra_curve</a>
   21526 (default: secp384r1)</b></DT><DD>
   21527 
   21528 <p> The elliptic curve used by the Postfix SMTP server for maximally
   21529 strong
   21530 ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
   21531 server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = ultra". The phrase "maximally
   21532 strong" means approximately 192-bit security based on best known attacks.
   21533 This additional strength comes at a significant computational cost, most
   21534 users should instead set "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong".  The selected
   21535 curve must be implemented by OpenSSL (as reported by ecparam(1) with the
   21536 "-list_curves" option) and be one of the curves listed in Section 5.1.1
   21537 of <a href="https://tools.ietf.org/html/rfc8422">RFC 8422</a>. You should not generally change this setting.  Remote SMTP
   21538 client implementations must support this curve for EECDH key exchange
   21539 to take place.  It is unwise to choose only "bleeding-edge" curves
   21540 supported by only a small subset of clients. </p>
   21541 
   21542 <p> This feature is not used as of Postfix 3.6. Do not specify. </p>
   21543 
   21544 <p> This default "ultra" curve is rated in NSA <a
   21545 href="https://web.archive.org/web/20160330034144/https://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
   21546 B</a> for information classified up to TOP SECRET. </p>
   21547 
   21548 <p> If you want to take maximal advantage of ciphers that offer <a
   21549 href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
   21550 the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
   21551 started</a> section of <a
   21552 href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>.  The
   21553 full document conveniently presents all information about Postfix
   21554 "perfect" forward secrecy support in one place: what forward secrecy
   21555 is, how to tweak settings, and what you can expect to see when
   21556 Postfix uses ciphers with forward secrecy.  </p>
   21557 
   21558 <p> This feature is available in Postfix 2.6 and later, when it is
   21559 compiled and linked with OpenSSL 1.0.0 or later on platforms where
   21560 EC algorithms have not been disabled by the vendor. </p>
   21561 
   21562 
   21563 </DD>
   21564 
   21565 <DT><b><a name="tls_export_cipherlist">tls_export_cipherlist</a>
   21566 (default: see "postconf -d" output)</b></DT><DD>
   21567 
   21568 <p> The OpenSSL cipherlist for "export" or higher grade ciphers.
   21569 Ignored as of Postfix 3.8.  In earlier Postfix releases this
   21570 defined the meaning of the "export" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
   21571 <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>,
   21572 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>, <a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and
   21573 <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>.  You are strongly encouraged not to
   21574 change this setting.  </p>
   21575 
   21576 <p> This feature is available in Postfix 2.3 and later.  </p>
   21577 
   21578 
   21579 </DD>
   21580 
   21581 <DT><b><a name="tls_fast_shutdown_enable">tls_fast_shutdown_enable</a>
   21582 (default: yes)</b></DT><DD>
   21583 
   21584 <p> A workaround for implementations that hang Postfix while shutting
   21585 down a TLS session, until Postfix times out. With this enabled,
   21586 Postfix will not wait for the remote TLS peer to respond to a TLS
   21587 'close' notification. This behavior is recommended for TLSv1.0 and
   21588 later. </p>
   21589 
   21590 
   21591 </DD>
   21592 
   21593 <DT><b><a name="tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a>
   21594 (default: see "postconf -d" output)</b></DT><DD>
   21595 
   21596 <p> The prioritized list of finite-field Diffie-Hellman ephemeral
   21597 (FFDHE) key exchange groups supported by the Postfix SMTP client and
   21598 server.  OpenSSL 3.0 adds support for FFDHE key agreement in TLS 1.3.
   21599 In OpenSSL 1.1.1, TLS 1.3 was only supported with elliptic-curve based
   21600 key agreement.  The "<a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a>" parameter makes it possible
   21601 to configure the list of FFDHE groups that the Postfix client or server
   21602 will enable in OpenSSL 3.0 and up.  This parameter has no effect when
   21603 Postfix is built against earlier OpenSSL versions. </p>
   21604 
   21605 <p> The default list of FFDHE groups that Postfix enables in OpenSSL 3.0
   21606 and up includes just the 2048 and 3072-bit groups.  Stronger FFDHE
   21607 groups perform poorly and EC groups are a much better choice for the
   21608 same security level.  Postfix ignores group names that are unknown to
   21609 OpenSSL, or that are known but not yet implemented.  The FFDHE groups
   21610 are largely a backup, in case some peer does not support EC key
   21611 exchange, or EC key exchange needs to be disabled for some pressing
   21612 reason. </p>
   21613 
   21614 <p> Setting this parameter empty disables FFDHE support in TLS 1.3,
   21615 unless FFDHE groups are included in the "<a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a>" setting,
   21616 perhaps indirectly, as with the "DEFAULT" keyword available with OpenSSL
   21617 3.5 or later.  In that case, prefixing each group name with a "-" has
   21618 the effect of removing it from the list.
   21619 Whether FFDHE key agreement is enabled in TLS 1.2 and earlier depends
   21620 on whether any of the "kDHE" ciphers are included in the cipherlist.
   21621 </p>
   21622 
   21623 <p> Conversely, setting "<a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a>" empty disables TLS 1.3
   21624 EC key agreement in OpenSSL 3.0 and later. If both are set empty,
   21625 Postfix will fall back to OpenSSL preferences as described in the
   21626 documentation of "<a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a>".
   21627 
   21628 <p> The default list includes "ffdhe2048" and "ffdhe3072".  While
   21629 it should not be necessary in most cases, you can add "ffdhe4096"
   21630 to the list if you run into an exotic server that does not support
   21631 ECDHE and insists on much stronger than sensible DHE parameters.  </p>
   21632 
   21633 <p> This feature is available in Postfix 3.8 and later, when it is
   21634 compiled and linked with OpenSSL 3.0 or later. </p>
   21635 
   21636 
   21637 </DD>
   21638 
   21639 <DT><b><a name="tls_high_cipherlist">tls_high_cipherlist</a>
   21640 (default: see "postconf -d" output)</b></DT><DD>
   21641 
   21642 <p> The OpenSSL cipherlist for "high" grade ciphers. This defines
   21643 the meaning of the "high" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
   21644 <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>,
   21645 <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
   21646 encouraged not to change this setting.  </p>
   21647 
   21648 <p> This feature is available in Postfix 2.3 and later. </p>
   21649 
   21650 
   21651 </DD>
   21652 
   21653 <DT><b><a name="tls_legacy_public_key_fingerprints">tls_legacy_public_key_fingerprints</a>
   21654 (default: no)</b></DT><DD>
   21655 
   21656 <p> A temporary migration aid for sites that use certificate
   21657 <i>public-key</i> fingerprints with Postfix 2.9.0..2.9.5, which use
   21658 an incorrect algorithm. This parameter has no effect on the certificate
   21659 fingerprint support that is available since Postfix 2.2. </p>
   21660 
   21661 <p> Specify "<a href="postconf.5.html#tls_legacy_public_key_fingerprints">tls_legacy_public_key_fingerprints</a> = yes" temporarily,
   21662 pending a migration from configuration files with incorrect Postfix
   21663 2.9.0..2.9.5 certificate public-key finger prints, to the correct
   21664 fingerprints used by Postfix 2.9.6 and later.  To compute the correct
   21665 certificate public-key fingerprints, see <a href="TLS_README.html">TLS_README</a>. </p>
   21666 
   21667 <p> This feature is available in Postfix 2.9.6 through 3.10.
   21668 This parameter has had no effect since Postfix 3.9.0, and has been
   21669 removed as of postfix 3.11.0. </p>
   21670 
   21671 
   21672 </DD>
   21673 
   21674 <DT><b><a name="tls_low_cipherlist">tls_low_cipherlist</a>
   21675 (default: see "postconf -d" output)</b></DT><DD>
   21676 
   21677 <p> The OpenSSL cipherlist for "low" or higher grade ciphers.
   21678 Ignored as of Postfix 3.8.  In earlier Postfix releases this
   21679 defined the meaning of the "low" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
   21680 <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>,
   21681 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>, <a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and
   21682 <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly encouraged not to
   21683 change this setting.  </p>
   21684 
   21685 <p> This feature is available in Postfix 2.3 and later.  </p>
   21686 
   21687 
   21688 </DD>
   21689 
   21690 <DT><b><a name="tls_medium_cipherlist">tls_medium_cipherlist</a>
   21691 (default: see "postconf -d" output)</b></DT><DD>
   21692 
   21693 <p> The OpenSSL cipherlist for "medium" or higher grade ciphers. This
   21694 defines the meaning of the "medium" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
   21695 <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>,
   21696 <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
   21697 default cipherlist for mandatory TLS encryption in the TLS client
   21698 (with anonymous ciphers disabled when verifying server certificates).
   21699 This is the default cipherlist for opportunistic TLS with Postfix
   21700 releases after the middle of 2015.  You are strongly encouraged not
   21701 to change this setting.  </p>
   21702 
   21703 <p> This feature is available in Postfix 2.3 and later. </p>
   21704 
   21705 
   21706 </DD>
   21707 
   21708 <DT><b><a name="tls_null_cipherlist">tls_null_cipherlist</a>
   21709 (default: eNULL:!aNULL)</b></DT><DD>
   21710 
   21711 <p> The OpenSSL cipherlist for "NULL" grade ciphers that provide
   21712 authentication without encryption. This defines the meaning of the "null"
   21713 setting in <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
   21714 <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>.  You are strongly encouraged not to
   21715 change this setting. </p>
   21716 
   21717 <p> This feature is available in Postfix 2.3 and later. </p>
   21718 
   21719 
   21720 </DD>
   21721 
   21722 <DT><b><a name="tls_preempt_cipherlist">tls_preempt_cipherlist</a>
   21723 (default: no)</b></DT><DD>
   21724 
   21725 <p> With SSLv3 and later, use the Postfix SMTP server's cipher
   21726 preference order instead of the remote client's cipher preference
   21727 order. </p>
   21728 
   21729 <p> By default, the OpenSSL server selects the client's most preferred
   21730 cipher that the server supports. With SSLv3 and later, the server may
   21731 choose its own most preferred cipher that is supported (offered) by
   21732 the client. Setting "<a href="postconf.5.html#tls_preempt_cipherlist">tls_preempt_cipherlist</a> = yes" enables server cipher
   21733 preferences. </p>
   21734 
   21735 <p> While server cipher selection may in some cases lead to a more secure
   21736 or performant cipher choice, there is some risk of interoperability
   21737 issues. In the past, some SSL clients have listed lower priority ciphers
   21738 that they did not implement correctly. If the server chooses a cipher
   21739 that the client prefers less, it may select a cipher whose client
   21740 implementation is flawed. Most notably Windows 2003 Microsoft
   21741 Exchange servers have flawed implementations of DES-CBC3-SHA, which
   21742 OpenSSL considers stronger than RC4-SHA.  Enabling server cipher-suite
   21743 selection may create interoperability issues with Windows 2003
   21744 Microsoft Exchange clients.  </p>
   21745 
   21746 <p> This feature is available in Postfix 2.8 and later, in combination
   21747 with OpenSSL 0.9.7 and later. </p>
   21748 
   21749 
   21750 </DD>
   21751 
   21752 <DT><b><a name="tls_random_bytes">tls_random_bytes</a>
   21753 (default: 32)</b></DT><DD>
   21754 
   21755 <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>
   21756 when (re)seeding the in-memory pseudo random number generator (PRNG)
   21757 pool. The default of 32 bytes (256 bits) is good enough for 128bit
   21758 symmetric keys.  If using EGD or a device file, a maximum of 255
   21759 bytes is read. </p>
   21760 
   21761 <p> This feature is available in Postfix 2.2 and later.  </p>
   21762 
   21763 
   21764 </DD>
   21765 
   21766 <DT><b><a name="tls_random_exchange_name">tls_random_exchange_name</a>
   21767 (default: see "postconf -d" output)</b></DT><DD>
   21768 
   21769 <p> Name of the pseudo random number generator (PRNG) state file
   21770 that is maintained by <a href="tlsmgr.8.html">tlsmgr(8)</a>. The file is created when it does
   21771 not exist, and its length is fixed at 1024 bytes.  </p>
   21772 
   21773 <p> As of version 2.5, Postfix no longer uses root privileges when
   21774 opening this file, and the default file location was changed from
   21775 ${<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
   21776 a migration aid, an attempt to open the file under a non-Postfix
   21777 directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
   21778 warning is logged. </p>
   21779 
   21780 <p> This feature is available in Postfix 2.2 and later.  </p>
   21781 
   21782 
   21783 </DD>
   21784 
   21785 <DT><b><a name="tls_random_prng_update_period">tls_random_prng_update_period</a>
   21786 (default: 3600s)</b></DT><DD>
   21787 
   21788 <p> The time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to save the state of
   21789 the pseudo random number generator (PRNG) to the file specified
   21790 with $<a href="postconf.5.html#tls_random_exchange_name">tls_random_exchange_name</a>.  </p>
   21791 
   21792 <p> Specify a non-zero time value (an integral value plus an optional
   21793 one-letter suffix that specifies the time unit).  Time units: s
   21794 (seconds), m (minutes), h (hours), d (days), w (weeks).
   21795 The default time unit is s (seconds).  </p>
   21796 
   21797 <p> This feature is available in Postfix 2.2 and later.  </p>
   21798 
   21799 
   21800 </DD>
   21801 
   21802 <DT><b><a name="tls_random_reseed_period">tls_random_reseed_period</a>
   21803 (default: 3600s)</b></DT><DD>
   21804 
   21805 <p> The maximal time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to re-seed the
   21806 in-memory pseudo random number generator (PRNG) pool from external
   21807 sources.  The actual time between re-seeding attempts is calculated
   21808 using the PRNG, and is between 0 and the time specified.  </p>
   21809 
   21810 <p> Specify a non-zero time value (an integral value plus an optional
   21811 one-letter suffix that specifies the time unit).  Time units: s
   21812 (seconds), m (minutes), h (hours), d (days), w (weeks).
   21813 The default time unit is s (seconds).  </p>
   21814 
   21815 <p> This feature is available in Postfix 2.2 and later.  </p>
   21816 
   21817 
   21818 </DD>
   21819 
   21820 <DT><b><a name="tls_random_source">tls_random_source</a>
   21821 (default: see "postconf -d" output)</b></DT><DD>
   21822 
   21823 <p> The external entropy source for the in-memory <a href="tlsmgr.8.html">tlsmgr(8)</a> pseudo
   21824 random number generator (PRNG) pool. Be sure to specify a non-blocking
   21825 source.  If this source is not a regular file, the entropy source
   21826 type must be prepended:  egd:/path/to/egd_socket for a source with
   21827 EGD compatible socket interface, or dev:/path/to/device for a
   21828 device file.  </p>
   21829 
   21830 <p> Note: on OpenBSD systems specify dev:/dev/arandom when dev:/dev/urandom
   21831 gives timeout errors.  </p>
   21832 
   21833 <p> This feature is available in Postfix 2.2 and later.  </p>
   21834 
   21835 
   21836 </DD>
   21837 
   21838 <DT><b><a name="tls_required_enable">tls_required_enable</a>
   21839 (default: yes)</b></DT><DD>
   21840 
   21841 <p> Enable support for the "TLS-Required: no" message header, defined
   21842 in <a href="https://tools.ietf.org/html/rfc8689">RFC 8689</a>. By adding this header to a message, a sender requests
   21843 no enforcement of TLS policy. This disables TLS policy lookup, and
   21844 limits the Postfix SMTP client
   21845 TLS security level to "may", that is, do not verify remote SMTP
   21846 server certificates, and fall back to plaintext if TLS is unavailable.
   21847 If a message contains a "TLS-Required: no" header, then Postfix
   21848 will add that header to a delivery status notification for that
   21849 message. </p>
   21850 
   21851 <p> Note: the ESMTP REQUIRETLS option overrides the "TLS-Required:
   21852 no" message header.  </p>
   21853 
   21854 <p> This feature is available in Postfix &ge; 3.10. </p>
   21855 
   21856 
   21857 </DD>
   21858 
   21859 <DT><b><a name="tls_server_sni_maps">tls_server_sni_maps</a>
   21860 (default: empty)</b></DT><DD>
   21861 
   21862 <p> Optional lookup tables that map names received from remote SMTP
   21863 clients via the TLS Server Name Indication (SNI) extension to the
   21864 appropriate keys and certificate chains.  This parameter is implemented
   21865 in the Postfix TLS library, and applies to both <a href="smtpd.8.html">smtpd(8)</a> and the SMTP
   21866 server mode of <a href="tlsproxy.8.html">tlsproxy(8)</a>. </p>
   21867 
   21868 <p> When this parameter is non-empty, the Postfix SMTP server enables
   21869 SNI extension processing, and logs SNI values that are invalid or
   21870 don't match an entry in the specified tables.  When an entry
   21871 does match, the SNI name is logged as part of the connection summary
   21872 at log levels 1 and higher.  </p>
   21873 
   21874 <p> The lookup key is either the verbatim SNI domain name or an
   21875 ancestor domain prefixed with a leading dot.  For internationalized
   21876 domains, the lookup key must be in IDNA 2008 A-label form (as
   21877 required in the TLS SNI extension). </p>
   21878 
   21879 <p> The syntax of the lookup value is the same as with the
   21880 <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> parameter (see there for additional details),
   21881 but here scoped to just TLS connections in which the client sends
   21882 a matching SNI domain name. </p>
   21883 
   21884 <p> Example: </p>
   21885 <blockquote>
   21886 <pre>
   21887 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   21888     #
   21889     # The indexed SNI table must be created with "postmap -F"
   21890     #
   21891     indexed = ${<a href="postconf.5.html#default_database_type">default_database_type</a>}:${<a href="postconf.5.html#config_directory">config_directory</a>}/
   21892     <a href="postconf.5.html#tls_server_sni_maps">tls_server_sni_maps</a> = ${indexed}sni
   21893 </pre>
   21894 </blockquote>
   21895 
   21896 <blockquote>
   21897 <pre>
   21898 /etc/postfix/sni:
   21899     #
   21900     # The example.com domain has both an RSA and ECDSA certificate
   21901     # chain.  The chain files MUST start with the private key,
   21902     # with the certificate chain next, starting with the leaf
   21903     # (server) certificate, and then the issuer certificates.
   21904     #
   21905     example.com /etc/postfix/sni-chains/rsa2048.example.com.pem,
   21906                 /etc/postfix/sni-chains/ecdsa-p256.example.com.pem
   21907     #
   21908     # The example.net domain has a wildcard certificate, and two
   21909     # additional DNS names.  So its certificate chain is also used
   21910     # with any subdomain, plus the additional names.
   21911     #
   21912     example.net /etc/postfix/sni-chains/example.net.pem
   21913     .example.net /etc/postfix/sni-chains/example.net.pem
   21914     example.info /etc/postfix/sni-chains/example.net.pem
   21915     example.org /etc/postfix/sni-chains/example.net.pem
   21916 </pre>
   21917 </blockquote>
   21918 
   21919 <p> Note that the SNI lookup tables should also have entries for
   21920 the domains that correspond to the Postfix SMTP server's default
   21921 certificate(s). This ensures that the remote SMTP client's TLS SNI
   21922 extension gets a positive response when it specifies one of the
   21923 Postfix SMTP server's <a href="ADDRESS_CLASS_README.html#default_domain_class">default domains</a>, and ensures that the Postfix
   21924 SMTP server will not log an SNI name mismatch for such a domain.
   21925 The Postfix SMTP server's default certificates are then only used
   21926 when the client sends no SNI or when it sends SNI with a domain
   21927 that the server knows no certificate(s) for. </p>
   21928 
   21929 <p> The mapping from an SNI domain name to a certificate chain is indirect.  In
   21930 the input source files for "cdb", "hash", "btree" or other tables that are
   21931 converted to on-disk indexed files via <a href="postmap.1.html">postmap(1)</a>, the value specified for each
   21932 key is a list of filenames.  When <a href="postmap.1.html">postmap(1)</a> is used with the <b>-F</b> option,
   21933 the generated table stores for each lookup key the base64-encoded contents of
   21934 the associated files.  When querying tables via <b>postmap -Fq</b>, the table
   21935 value is decoded from base64, yielding the original file content, plus a new
   21936 line. </p>
   21937 
   21938 <p> With "regexp", "pcre", "inline", "texthash", "static" and similar
   21939 tables that are interpreted at run-time, and don't have a separate
   21940 source format, the table value is again a list files, that are loaded
   21941 into memory when the table is opened.  </p>
   21942 
   21943 <p> With tables whose content is managed outside of Postfix, such
   21944 as LDAP, MySQL, PostgreSQL, socketmap and tcp, the value must be a
   21945 concatenation of the desired PEM keys and certificate chains, that
   21946 is then further encoded to yield a single-line base64 string.
   21947 Creation of such tables and secure storage (the value includes
   21948 private key material) are outside the responsibility of Postfix.  </p>
   21949 
   21950 <p> With "socketmap" and "tcp" the data will be transmitted in the clear, and
   21951 there is no query access control, so these are generally unsuitable for storing
   21952 SNI chains.  With LDAP and SQL, you should restrict read access and use TLS to
   21953 protect the sensitive data in transit.  </p>
   21954 
   21955 <p> Typically there is only one private key and its chain of certificates
   21956 starting with the "leaf" certificate corresponding to that key, and
   21957 continuing with the appropriate intermediate issuer CA certificates,
   21958 with each certificate ideally followed by its issuer.  Servers
   21959 that have keys and certificates for more than one algorithm (e.g.
   21960 both an RSA key and an ECDSA key, or even RSA, ECDSA and Ed25519)
   21961 can use multiple chains concatenated together, with the key always
   21962 listed before the corresponding certificates. </p>
   21963 
   21964 <p> This feature is available in Postfix 3.4 and later.  </p>
   21965 
   21966 
   21967 </DD>
   21968 
   21969 <DT><b><a name="tls_session_ticket_cipher">tls_session_ticket_cipher</a>
   21970 (default: Postfix &ge; 3.0: aes-256-cbc, Postfix &lt; 3.0: aes-128-cbc)</b></DT><DD>
   21971 
   21972 <p> Algorithm used to encrypt <a href="https://tools.ietf.org/html/rfc5077">RFC5077</a> TLS session tickets.  This
   21973 algorithm must use CBC mode, have a 128-bit block size, and must
   21974 have a key length between 128 and 256 bits.  The default is
   21975 aes-256-cbc.  Overriding the default to choose a different algorithm
   21976 is discouraged.  </p>
   21977 
   21978 <p> Setting this parameter empty disables session ticket support
   21979 in the Postfix SMTP server.  Another way to disable session ticket
   21980 support is via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter.  </p>
   21981 
   21982 <p> This feature is available in Postfix 3.0 and later. </p>
   21983 
   21984 
   21985 </DD>
   21986 
   21987 <DT><b><a name="tls_ssl_options">tls_ssl_options</a>
   21988 (default: empty)</b></DT><DD>
   21989 
   21990 <p> List or bit-mask of OpenSSL options to enable. </p>
   21991 
   21992 <p> The OpenSSL toolkit provides a set of options that applications
   21993 can enable to tune the OpenSSL behavior.  Some of these work around
   21994 bugs in other implementations and are on by default.  You can use
   21995 the <a href="postconf.5.html#tls_disable_workarounds">tls_disable_workarounds</a> parameter to selectively disable some
   21996 or all of the bug work-arounds, making OpenSSL more strict at the
   21997 cost of non-interoperability with SSL clients or servers that exhibit
   21998 the bugs.  </p>
   21999 
   22000 <p> Other options are off by default, and typically enable or disable
   22001 features rather than bug work-arounds.  These may be turned on (with
   22002 care) via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter.  The value is a white-space
   22003 or comma separated list of named options chosen from the list below.
   22004 The names are not case-sensitive, you can use lower-case if you
   22005 prefer.  The upper case values below match the corresponding macro
   22006 name in the ssl.h header file with the SSL_OP_ prefix removed.  It
   22007 is possible that your OpenSSL version includes new options added
   22008 after your Postfix source code was last updated, in that case you
   22009 can only enable one of these via the hexadecimal syntax below.  </p>
   22010 
   22011 <p> You should only enable features via the hexadecimal mask when
   22012 the need to control the feature is critical (to deal with a new
   22013 vulnerability or a serious interoperability problem).  Postfix DOES
   22014 NOT promise backwards compatible behavior with respect to the mask
   22015 bits.  A feature enabled via the mask in one release may be enabled
   22016 by other means in a later release, and the mask bit will then be
   22017 ignored.  Therefore, use of the hexadecimal mask is only a temporary
   22018 measure until a new Postfix or OpenSSL release provides a better
   22019 solution.  </p>
   22020 
   22021 <p> If the value of the parameter is a hexadecimal long integer
   22022 starting with "0x", the options corresponding to the bits specified
   22023 in its value are enabled (see openssl/ssl.h and SSL_CTX_set_options(3)).
   22024 You can only enable options not already controlled by other Postfix
   22025 settings.  For example, you cannot disable protocols or enable
   22026 server cipher preference.  Do not attempt to enable all features by
   22027 specifying 0xFFFFFFFF, this is unlikely to be a good idea.  Some
   22028 bug work-arounds are also valid here, allowing them to be re-enabled
   22029 if/when they're no longer enabled by default.  The supported values
   22030 include: </p>
   22031 
   22032 <dl>
   22033 
   22034 <dt><b>ENABLE_MIDDLEBOX_COMPAT</b></dt> <dd>Postfix &ge; 3.4. See
   22035 SSL_CTX_set_options(3).</dd>
   22036 
   22037 <dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3).</dd>
   22038 
   22039 <dt><b>NO_TICKET</b></dt> <dd>Enabled by default when needed in
   22040 fully-patched Postfix &ge; 2.7.  Not needed at all for Postfix &ge;
   22041 2.11, unless for some reason you do not want to support TLS session
   22042 resumption.  Best not set explicitly.  See SSL_CTX_set_options(3).</dd>
   22043 
   22044 <dt><b>NO_COMPRESSION</b></dt> <dd>Disable SSL compression even if
   22045 supported by the OpenSSL library.  Compression is CPU-intensive,
   22046 and compression before encryption does not always improve security.  </dd>
   22047 
   22048 <dt><b>NO_RENEGOTIATION</b></dt> <dd>Postfix &ge; 3.4.  This can
   22049 reduce opportunities for a potential CPU exhaustion attack.  See
   22050 SSL_CTX_set_options(3).</dd>
   22051 
   22052 <dt><b>NO_SESSION_RESUMPTION_ON_RENEGOTIATION</b></dt> <dd>Postfix
   22053 &ge; 3.4. See SSL_CTX_set_options(3).</dd>
   22054 
   22055 <dt><b>PRIORITIZE_CHACHA</b></dt> <dd>Postfix &ge; 3.4. See SSL_CTX_set_options(3).</dd>
   22056 
   22057 </dl>
   22058 
   22059 <p> This feature is available in Postfix 2.11 and later.  </p>
   22060 
   22061 
   22062 </DD>
   22063 
   22064 <DT><b><a name="tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a>
   22065 (default: yes)</b></DT><DD>
   22066 
   22067 <p> Match multiple DNS labels with "*" in wildcard certificates.
   22068 </p>
   22069 
   22070 <p> Some mail service providers prepend the customer domain name
   22071 to a base domain for which they have a wildcard TLS certificate.
   22072 For example, the MX records for example.com hosted by example.net
   22073 may be: </p>
   22074 
   22075 <blockquote>
   22076 <pre>
   22077 example.com. IN MX 0 example.com.mx1.example.net.
   22078 example.com. IN MX 0 example.com.mx2.example.net.
   22079 </pre>
   22080 </blockquote>
   22081 
   22082 <p> and the TLS certificate may be for "*.example.net". The "*"
   22083 then corresponds with multiple labels in the mail server domain
   22084 name.  While multi-label wildcards are not widely supported, and
   22085 are not blessed by any standard, there is little to be gained by
   22086 disallowing their use in this context.  </p>
   22087 
   22088 <p> Notes: <p>
   22089 
   22090 <ul>
   22091 
   22092 <li> <p> In a certificate name, the "*" is special only when it is
   22093 used as the first label. </p>
   22094 
   22095 <li> <p> While Postfix (2.11 or later) can match "*" with multiple
   22096 domain name labels, other implementations likely will not.  </p>
   22097 
   22098 <li> <p> Earlier Postfix implementations behave as if
   22099 "<a href="postconf.5.html#tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a> = no". </p>
   22100 
   22101 </ul>
   22102 
   22103 <p> This feature is available in Postfix 2.11 and later.  </p>
   22104 
   22105 
   22106 </DD>
   22107 
   22108 <DT><b><a name="tlsmgr_service_name">tlsmgr_service_name</a>
   22109 (default: tlsmgr)</b></DT><DD>
   22110 
   22111 <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
   22112 service maintains TLS session caches and other information in support
   22113 of TLS. </p>
   22114 
   22115 <p> This feature is available in Postfix 2.11 and later. </p>
   22116 
   22117 
   22118 </DD>
   22119 
   22120 <DT><b><a name="tlsproxy_client_CAfile">tlsproxy_client_CAfile</a>
   22121 (default: $<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>)</b></DT><DD>
   22122 
   22123 <p> A file containing CA certificates of root CAs trusted to sign
   22124 either remote TLS server certificates or intermediate CA certificates.
   22125 See <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> for further details. </p>
   22126 
   22127 <p> This feature is available in Postfix 3.4 and later. </p>
   22128 
   22129 
   22130 </DD>
   22131 
   22132 <DT><b><a name="tlsproxy_client_CApath">tlsproxy_client_CApath</a>
   22133 (default: $<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a>)</b></DT><DD>
   22134 
   22135 <p> Directory with PEM format Certification Authority certificates
   22136 that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client uses to verify a remote TLS
   22137 server certificate. See <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> for further details. </p>
   22138 
   22139 <p> This feature is available in Postfix 3.4 and later. </p>
   22140 
   22141 
   22142 </DD>
   22143 
   22144 <DT><b><a name="tlsproxy_client_cert_file">tlsproxy_client_cert_file</a>
   22145 (default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD>
   22146 
   22147 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client RSA certificate in PEM
   22148 format. See <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for further details.  The preferred way
   22149 to configure tlsproxy client keys and certificates is via the
   22150 "<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p>
   22151 
   22152 <p> This feature is available in Postfix 3.4 and later. </p>
   22153 
   22154 
   22155 </DD>
   22156 
   22157 <DT><b><a name="tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>
   22158 (default: $<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>)</b></DT><DD>
   22159 
   22160 <p> Files with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client keys and certificate
   22161 chains in PEM format. See <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> for further details. </p>
   22162 
   22163 <p> This feature is available in Postfix 3.4 and later. </p>
   22164 
   22165 
   22166 </DD>
   22167 
   22168 <DT><b><a name="tlsproxy_client_dcert_file">tlsproxy_client_dcert_file</a>
   22169 (default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD>
   22170 
   22171 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client DSA certificate in PEM
   22172 format. See <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> for further details. DSA is obsolete and
   22173 should not be used. </p>
   22174 
   22175 <p> This feature is available in Postfix 3.4 and later. </p>
   22176 
   22177 
   22178 </DD>
   22179 
   22180 <DT><b><a name="tlsproxy_client_dkey_file">tlsproxy_client_dkey_file</a>
   22181 (default: $<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a>)</b></DT><DD>
   22182 
   22183 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client DSA private key in PEM
   22184 format. See <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> for further details. DSA is obsolete and
   22185 should not be used. </p>
   22186 
   22187 <p> This feature is available in Postfix 3.4 and later. </p>
   22188 
   22189 
   22190 </DD>
   22191 
   22192 <DT><b><a name="tlsproxy_client_eccert_file">tlsproxy_client_eccert_file</a>
   22193 (default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD>
   22194 
   22195 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client ECDSA certificate in PEM
   22196 format. See <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> for further details. The preferred way
   22197 to configure tlsproxy client keys and certificates is via the
   22198 "<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p>
   22199 
   22200 <p> This feature is available in Postfix 3.4 and later. </p>
   22201 
   22202 
   22203 </DD>
   22204 
   22205 <DT><b><a name="tlsproxy_client_eckey_file">tlsproxy_client_eckey_file</a>
   22206 (default: $<a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a>)</b></DT><DD>
   22207 
   22208 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client ECDSA private key in PEM
   22209 format. See <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> for further details.  The preferred way
   22210 to configure tlsproxy client keys and certificates is via the
   22211 "<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p>
   22212 
   22213 <p> This feature is available in Postfix 3.4 and later. </p>
   22214 
   22215 
   22216 </DD>
   22217 
   22218 <DT><b><a name="tlsproxy_client_enforce_tls">tlsproxy_client_enforce_tls</a>
   22219 (default: $<a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>)</b></DT><DD>
   22220 
   22221 <p> Enforcement mode: require that SMTP servers use TLS encryption.
   22222 See <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> for further details. Use
   22223 <a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> instead. </p>
   22224 
   22225 <p> This feature is deprecated as of Postfix 3.9. Specify
   22226 <a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> instead. </p>
   22227 
   22228 <p> This feature is available in Postfix 3.4 and later. </p>
   22229 
   22230 
   22231 </DD>
   22232 
   22233 <DT><b><a name="tlsproxy_client_fingerprint_digest">tlsproxy_client_fingerprint_digest</a>
   22234 (default: $<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>)</b></DT><DD>
   22235 
   22236 <p> The message digest algorithm used to construct remote TLS server
   22237 certificate fingerprints. See <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> for
   22238 further details. </p>
   22239 
   22240 <p> This feature is available in Postfix 3.4 and later. </p>
   22241 
   22242 
   22243 </DD>
   22244 
   22245 <DT><b><a name="tlsproxy_client_key_file">tlsproxy_client_key_file</a>
   22246 (default: $<a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a>)</b></DT><DD>
   22247 
   22248 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client RSA private key in PEM
   22249 format. See <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> for further details. The preferred way to
   22250 configure tlsproxy client keys and certificates is via the
   22251 "<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p>
   22252 
   22253 <p> This feature is available in Postfix 3.4 and later. </p>
   22254 
   22255 
   22256 </DD>
   22257 
   22258 <DT><b><a name="tlsproxy_client_level">tlsproxy_client_level</a>
   22259 (default: $<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a>)</b></DT><DD>
   22260 
   22261 <p> The default TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
   22262 client. See <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> for further details. </p>
   22263 
   22264 <p> This feature is available in Postfix 3.4 - 3.6. It was
   22265 renamed to <a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> in Postfix 3.7. </p>
   22266 
   22267 
   22268 </DD>
   22269 
   22270 <DT><b><a name="tlsproxy_client_loglevel">tlsproxy_client_loglevel</a>
   22271 (default: $<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>)</b></DT><DD>
   22272 
   22273 <p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client logging of TLS
   22274 activity. See <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> for further details. </p>
   22275 
   22276 <p> This feature is available in Postfix 3.4 and later. </p>
   22277 
   22278 
   22279 </DD>
   22280 
   22281 <DT><b><a name="tlsproxy_client_loglevel_parameter">tlsproxy_client_loglevel_parameter</a>
   22282 (default: <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>)</b></DT><DD>
   22283 
   22284 <p> The name of the parameter that provides the <a href="postconf.5.html#tlsproxy_client_loglevel">tlsproxy_client_loglevel</a>
   22285 value. </p>
   22286 
   22287 <p> This feature is available in Postfix 3.4 and later. </p>
   22288 
   22289 
   22290 </DD>
   22291 
   22292 <DT><b><a name="tlsproxy_client_per_site">tlsproxy_client_per_site</a>
   22293 (default: $<a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a>)</b></DT><DD>
   22294 
   22295 <p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS
   22296 usage policy by next-hop destination and by remote TLS server
   22297 hostname.  See <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> for further details. </p>
   22298 
   22299 <p> This feature is deprecated as of Postfix 3.9. Specify
   22300 <a href="postconf.5.html#tlsproxy_client_policy_maps">tlsproxy_client_policy_maps</a> instead. </p>
   22301 
   22302 <p> This feature is available in Postfix 3.4 and later. </p>
   22303 
   22304 
   22305 </DD>
   22306 
   22307 <DT><b><a name="tlsproxy_client_policy">tlsproxy_client_policy</a>
   22308 (default: $<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>)</b></DT><DD>
   22309 
   22310 <p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS
   22311 security policy by next-hop destination. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>
   22312 for further details. </p>
   22313 
   22314 <p> This feature is available in Postfix 3.4 - 3.6. It was
   22315 renamed to <a href="postconf.5.html#tlsproxy_client_policy_maps">tlsproxy_client_policy_maps</a> in Postfix 3.7. </p>
   22316 
   22317 
   22318 </DD>
   22319 
   22320 <DT><b><a name="tlsproxy_client_policy_maps">tlsproxy_client_policy_maps</a>
   22321 (default: $<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>)</b></DT><DD>
   22322 
   22323 <p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS
   22324 security policy by next-hop destination. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>
   22325 for further details. </p>
   22326 
   22327 <p> This feature is available in Postfix 3.7 and later. It
   22328 was previously called <a href="postconf.5.html#tlsproxy_client_policy">tlsproxy_client_policy</a>. </p>
   22329 
   22330 
   22331 </DD>
   22332 
   22333 <DT><b><a name="tlsproxy_client_scert_verifydepth">tlsproxy_client_scert_verifydepth</a>
   22334 (default: $<a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>)</b></DT><DD>
   22335 
   22336 <p> The verification depth for remote TLS server certificates.
   22337 See <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a> for further details. </p>
   22338 
   22339 <p> This feature is available in Postfix 3.4 and later. </p>
   22340 
   22341 
   22342 </DD>
   22343 
   22344 <DT><b><a name="tlsproxy_client_security_level">tlsproxy_client_security_level</a>
   22345 (default: $<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a>)</b></DT><DD>
   22346 
   22347 <p> The default TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
   22348 client. See <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> for further details. </p>
   22349 
   22350 <p> This feature is available in Postfix 3.7 and later. It
   22351 was previously called <a href="postconf.5.html#tlsproxy_client_level">tlsproxy_client_level</a>. </p>
   22352 
   22353 
   22354 </DD>
   22355 
   22356 <DT><b><a name="tlsproxy_client_use_tls">tlsproxy_client_use_tls</a>
   22357 (default: $<a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>)</b></DT><DD>
   22358 
   22359 <p> Opportunistic mode: use TLS when a remote server announces TLS
   22360 support. See <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> for further details. Use
   22361 <a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> instead. </p>
   22362 
   22363 <p> This feature is deprecated as of Postfix 3.9. Specify
   22364 <a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> instead. </p>
   22365 
   22366 <p> This feature is available in Postfix 3.4 and later. </p>
   22367 
   22368 
   22369 </DD>
   22370 
   22371 <DT><b><a name="tlsproxy_enforce_tls">tlsproxy_enforce_tls</a>
   22372 (default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
   22373 
   22374 <p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
   22375 require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> for
   22376 further details. Use <a href="postconf.5.html#tlsproxy_tls_security_level">tlsproxy_tls_security_level</a> instead. </p>
   22377 
   22378 <p> This feature is deprecated as of Postfix 3.9. Specify
   22379 <a href="postconf.5.html#tlsproxy_tls_security_level">tlsproxy_tls_security_level</a> instead. </p>
   22380 
   22381 <p> This feature is available in Postfix 2.8 and later. </p>
   22382 
   22383 
   22384 </DD>
   22385 
   22386 <DT><b><a name="tlsproxy_service_name">tlsproxy_service_name</a>
   22387 (default: tlsproxy)</b></DT><DD>
   22388 
   22389 <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
   22390 service performs plaintext &lt;=&gt; TLS ciphertext conversion. <p>
   22391 
   22392 <p> This feature is available in Postfix 2.8 and later. </p>
   22393 
   22394 
   22395 </DD>
   22396 
   22397 <DT><b><a name="tlsproxy_tls_CAfile">tlsproxy_tls_CAfile</a>
   22398 (default: $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)</b></DT><DD>
   22399 
   22400 <p> A file containing (PEM format) CA certificates of root CAs
   22401 trusted to sign either remote SMTP client certificates or intermediate
   22402 CA certificates.  See <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> for further details. </p>
   22403 
   22404 <p> This feature is available in Postfix 2.8 and later. </p>
   22405 
   22406 
   22407 </DD>
   22408 
   22409 <DT><b><a name="tlsproxy_tls_CApath">tlsproxy_tls_CApath</a>
   22410 (default: $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>)</b></DT><DD>
   22411 
   22412 <p> A directory containing (PEM format) CA certificates of root CAs
   22413 trusted to sign either remote SMTP client certificates or intermediate
   22414 CA certificates. See <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> for further details. </p>
   22415 
   22416 <p> This feature is available in Postfix 2.8 and later. </p>
   22417 
   22418 
   22419 </DD>
   22420 
   22421 <DT><b><a name="tlsproxy_tls_always_issue_session_ids">tlsproxy_tls_always_issue_session_ids</a>
   22422 (default: $<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>)</b></DT><DD>
   22423 
   22424 <p> Force the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server to issue a TLS session id,
   22425 even when TLS session caching is turned off. See
   22426 <a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> for further details. </p>
   22427 
   22428 <p> This feature is available in Postfix 2.8 and later. </p>
   22429 
   22430 
   22431 </DD>
   22432 
   22433 <DT><b><a name="tlsproxy_tls_ask_ccert">tlsproxy_tls_ask_ccert</a>
   22434 (default: $<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>)</b></DT><DD>
   22435 
   22436 <p> Ask a remote SMTP client for a client certificate. See
   22437 <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> for further details. </p>
   22438 
   22439 <p> This feature is available in Postfix 2.8 and later. </p>
   22440 
   22441 
   22442 </DD>
   22443 
   22444 <DT><b><a name="tlsproxy_tls_ccert_verifydepth">tlsproxy_tls_ccert_verifydepth</a>
   22445 (default: $<a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>)</b></DT><DD>
   22446 
   22447 <p> The verification depth for remote SMTP client certificates. A
   22448 depth of 1 is sufficient if the issuing CA is listed in a local CA
   22449 file. See <a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> for further details. </p>
   22450 
   22451 <p> This feature is available in Postfix 2.8 and later. </p>
   22452 
   22453 
   22454 </DD>
   22455 
   22456 <DT><b><a name="tlsproxy_tls_cert_file">tlsproxy_tls_cert_file</a>
   22457 (default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
   22458 
   22459 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA certificate in PEM
   22460 format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
   22461 private RSA key.  See <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for further details.  With
   22462 Postfix &ge; 3.4 the preferred way to configure tlsproxy server keys and
   22463 certificates is via the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p>
   22464 
   22465 <p> This feature is available in Postfix 2.8 and later. </p>
   22466 
   22467 
   22468 </DD>
   22469 
   22470 <DT><b><a name="tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>
   22471 (default: $<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>)</b></DT><DD>
   22472 
   22473 <p> Files with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server keys and certificate
   22474 chains in PEM format. See <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> for further details. </p>
   22475 
   22476 <p> This feature is available in Postfix 3.4 and later. </p>
   22477 
   22478 
   22479 </DD>
   22480 
   22481 <DT><b><a name="tlsproxy_tls_ciphers">tlsproxy_tls_ciphers</a>
   22482 (default: $<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>)</b></DT><DD>
   22483 
   22484 <p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
   22485 will use with opportunistic TLS encryption. See <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>
   22486 for further details. </p>
   22487 
   22488 <p> This feature is available in Postfix 2.8 and later. </p>
   22489 
   22490 
   22491 </DD>
   22492 
   22493 <DT><b><a name="tlsproxy_tls_dcert_file">tlsproxy_tls_dcert_file</a>
   22494 (default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
   22495 
   22496 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA certificate in PEM
   22497 format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
   22498 private DSA key.  DSA is obsolete and should not be used.  See
   22499 <a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> for further details.  </p>
   22500 
   22501 <p> This feature is available in Postfix 2.8 and later. </p>
   22502 
   22503 
   22504 </DD>
   22505 
   22506 <DT><b><a name="tlsproxy_tls_dh1024_param_file">tlsproxy_tls_dh1024_param_file</a>
   22507 (default: $<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>)</b></DT><DD>
   22508 
   22509 <p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
   22510 should use with non-export EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
   22511 for further details. </p>
   22512 
   22513 <p> This feature is deprecated as of Postfix 3.9. Do not specify. </p>
   22514 
   22515 <p> This feature is available in Postfix 2.8 and later. </p>
   22516 
   22517 
   22518 </DD>
   22519 
   22520 <DT><b><a name="tlsproxy_tls_dh512_param_file">tlsproxy_tls_dh512_param_file</a>
   22521 (default: $<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>)</b></DT><DD>
   22522 
   22523 <p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
   22524 should use with export-grade EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
   22525 for further details.  The default SMTP server cipher grade is
   22526 "medium" with Postfix releases after the middle of 2015, and as a
   22527 result export-grade cipher suites are by default not used.  </p>
   22528 
   22529 <p> With Postfix &ge; 3.6 export-grade Diffie-Hellman key exchange
   22530 is no longer supported, and this parameter is silently ignored. </p>
   22531 
   22532 <p> This feature is available in Postfix 2.8 and later. </p>
   22533 
   22534 
   22535 </DD>
   22536 
   22537 <DT><b><a name="tlsproxy_tls_dkey_file">tlsproxy_tls_dkey_file</a>
   22538 (default: $<a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>)</b></DT><DD>
   22539 
   22540 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA private key in PEM
   22541 format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
   22542 DSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>.  DSA is
   22543 obsolete and should not be used.  See <a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> for further
   22544 details. </p>
   22545 
   22546 <p> This feature is available in Postfix 2.8 and later. </p>
   22547 
   22548 
   22549 </DD>
   22550 
   22551 <DT><b><a name="tlsproxy_tls_eccert_file">tlsproxy_tls_eccert_file</a>
   22552 (default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
   22553 
   22554 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA certificate in PEM
   22555 format.  This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
   22556 private ECDSA key.  See <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> for further details.  With
   22557 Postfix &ge; 3.4 the preferred way to configure tlsproxy server keys and
   22558 certificates is via the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p>
   22559 
   22560 <p> This feature is available in Postfix 2.8 and later. </p>
   22561 
   22562 
   22563 </DD>
   22564 
   22565 <DT><b><a name="tlsproxy_tls_eckey_file">tlsproxy_tls_eckey_file</a>
   22566 (default: $<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>)</b></DT><DD>
   22567 
   22568 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA private key in PEM
   22569 format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
   22570 ECDSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>.  See
   22571 <a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> for further details.  With Postfix &ge; 3.4 the
   22572 preferred way to configure tlsproxy server keys and certificates is via
   22573 the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p>
   22574 
   22575 <p> This feature is available in Postfix 2.8 and later. </p>
   22576 
   22577 
   22578 </DD>
   22579 
   22580 <DT><b><a name="tlsproxy_tls_eecdh_grade">tlsproxy_tls_eecdh_grade</a>
   22581 (default: $<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>)</b></DT><DD>
   22582 
   22583 <p> The Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server security grade for ephemeral
   22584 elliptic-curve Diffie-Hellman (EECDH) key exchange. See
   22585 <a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> for further details. </p>
   22586 
   22587 <p> This feature is not used as of Postfix 3.6. Do not specify. </p>
   22588 
   22589 <p> This feature is available in Postfix 2.8 and later. </p>
   22590 
   22591 
   22592 </DD>
   22593 
   22594 <DT><b><a name="tlsproxy_tls_enable_rpk">tlsproxy_tls_enable_rpk</a>
   22595 (default: $<a href="postconf.5.html#smtpd_tls_enable_rpk">smtpd_tls_enable_rpk</a>)</b></DT><DD>
   22596 
   22597 <p> Request that remote SMTP clients send an <a href="https://tools.ietf.org/html/rfc7250">RFC7250</a> raw public key
   22598 instead of an X.509 certificate, when asking or requiring client
   22599 authentication. See $<a href="postconf.5.html#smtpd_tls_enable_rpk">smtpd_tls_enable_rpk</a> for details. </p>
   22600 
   22601 <p> This feature is available in Postfix 3.9 and later. </p>
   22602 
   22603 
   22604 </DD>
   22605 
   22606 <DT><b><a name="tlsproxy_tls_exclude_ciphers">tlsproxy_tls_exclude_ciphers</a>
   22607 (default: $<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>)</b></DT><DD>
   22608 
   22609 <p> List of ciphers or cipher types to exclude from the <a href="tlsproxy.8.html">tlsproxy(8)</a>
   22610 server cipher list at all TLS security levels. See
   22611 <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> for further details. </p>
   22612 
   22613 <p> This feature is available in Postfix 2.8 and later. </p>
   22614 
   22615 
   22616 </DD>
   22617 
   22618 <DT><b><a name="tlsproxy_tls_fingerprint_digest">tlsproxy_tls_fingerprint_digest</a>
   22619 (default: $<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>)</b></DT><DD>
   22620 
   22621 <p> The message digest algorithm to construct remote SMTP
   22622 client-certificate
   22623 fingerprints. See <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> for further details.
   22624 </p>
   22625 
   22626 <p> This feature is available in Postfix 2.8 and later. </p>
   22627 
   22628 
   22629 </DD>
   22630 
   22631 <DT><b><a name="tlsproxy_tls_key_file">tlsproxy_tls_key_file</a>
   22632 (default: $<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a>)</b></DT><DD>
   22633 
   22634 <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA private key in PEM
   22635 format.  This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
   22636 RSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>.  See
   22637 <a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a> for further details.  With Postfix &ge; 3.4 the
   22638 preferred way to configure tlsproxy server keys and certificates is via
   22639 the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p>
   22640 
   22641 <p> This feature is available in Postfix 2.8 and later. </p>
   22642 
   22643 
   22644 </DD>
   22645 
   22646 <DT><b><a name="tlsproxy_tls_loglevel">tlsproxy_tls_loglevel</a>
   22647 (default: $<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a>)</b></DT><DD>
   22648 
   22649 <p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server logging of TLS
   22650 activity.  Each logging level also includes the information that
   22651 is logged at a lower logging level. See <a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> for
   22652 further details.  </p>
   22653 
   22654 <p> This feature is available in Postfix 2.8 and later. </p>
   22655 
   22656 
   22657 </DD>
   22658 
   22659 <DT><b><a name="tlsproxy_tls_mandatory_ciphers">tlsproxy_tls_mandatory_ciphers</a>
   22660 (default: $<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>)</b></DT><DD>
   22661 
   22662 <p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
   22663 will use with mandatory TLS encryption. See <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
   22664 for further details. </p>
   22665 
   22666 <p> This feature is available in Postfix 2.8 and later. </p>
   22667 
   22668 
   22669 </DD>
   22670 
   22671 <DT><b><a name="tlsproxy_tls_mandatory_exclude_ciphers">tlsproxy_tls_mandatory_exclude_ciphers</a>
   22672 (default: $<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>)</b></DT><DD>
   22673 
   22674 <p> Additional list of ciphers or cipher types to exclude from the
   22675 <a href="tlsproxy.8.html">tlsproxy(8)</a> server cipher list at mandatory TLS security levels.
   22676 See <a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> for further details. </p>
   22677 
   22678 <p> This feature is available in Postfix 2.8 and later. </p>
   22679 
   22680 
   22681 </DD>
   22682 
   22683 <DT><b><a name="tlsproxy_tls_mandatory_protocols">tlsproxy_tls_mandatory_protocols</a>
   22684 (default: $<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>)</b></DT><DD>
   22685 
   22686 <p> The SSL/TLS protocols accepted by the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
   22687 with mandatory TLS encryption. If the list is empty, the server
   22688 supports all available SSL/TLS protocol versions.  See
   22689 <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> for further details. </p>
   22690 
   22691 <p> This feature is available in Postfix 2.8 and later. </p>
   22692 
   22693 
   22694 </DD>
   22695 
   22696 <DT><b><a name="tlsproxy_tls_protocols">tlsproxy_tls_protocols</a>
   22697 (default: $<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>)</b></DT><DD>
   22698 
   22699 <p> List of TLS protocols that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server will
   22700 exclude or include with opportunistic TLS encryption. See
   22701 <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> for further details. </p>
   22702 
   22703 <p> This feature is available in Postfix 2.8 and later. </p>
   22704 
   22705 
   22706 </DD>
   22707 
   22708 <DT><b><a name="tlsproxy_tls_req_ccert">tlsproxy_tls_req_ccert</a>
   22709 (default: $<a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>)</b></DT><DD>
   22710 
   22711 <p> With mandatory TLS encryption, require a trusted remote SMTP
   22712 client certificate in order to allow TLS connections to proceed.
   22713 See <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> for further details. </p>
   22714 
   22715 <p> This feature is available in Postfix 2.8 and later. </p>
   22716 
   22717 
   22718 </DD>
   22719 
   22720 <DT><b><a name="tlsproxy_tls_security_level">tlsproxy_tls_security_level</a>
   22721 (default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
   22722 
   22723 <p> The SMTP TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server;
   22724 when a non-empty value is specified, this overrides the obsolete
   22725 parameters <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
   22726 <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> for further details. </p>
   22727 
   22728 <p> This feature is available in Postfix 2.8 and later. </p>
   22729 
   22730 
   22731 </DD>
   22732 
   22733 <DT><b><a name="tlsproxy_tls_session_cache_timeout">tlsproxy_tls_session_cache_timeout</a>
   22734 (default: $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>)</b></DT><DD>
   22735 
   22736 <p> Obsolete expiration time of Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server TLS session
   22737 cache information. Since the cache is shared with <a href="smtpd.8.html">smtpd(8)</a> and managed
   22738 by <a href="tlsmgr.8.html">tlsmgr(8)</a>, there is only one expiration time for the SMTP server cache
   22739 shared by all three services, namely <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p>
   22740 
   22741 <p> This feature is available in Postfix 2.8-2.10. </p>
   22742 
   22743 
   22744 </DD>
   22745 
   22746 <DT><b><a name="tlsproxy_use_tls">tlsproxy_use_tls</a>
   22747 (default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
   22748 
   22749 <p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
   22750 but do not require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>
   22751 for further details. Use <a href="postconf.5.html#tlsproxy_tls_security_level">tlsproxy_tls_security_level</a> instead. </p>
   22752 
   22753 <p> This feature is deprecated as of Postfix 3.9. Specify
   22754 <a href="postconf.5.html#tlsproxy_tls_security_level">tlsproxy_tls_security_level</a> instead. </p>
   22755 
   22756 <p> This feature is available in Postfix 2.8 and later. </p>
   22757 
   22758 
   22759 </DD>
   22760 
   22761 <DT><b><a name="tlsproxy_watchdog_timeout">tlsproxy_watchdog_timeout</a>
   22762 (default: 10s)</b></DT><DD>
   22763 
   22764 <p> How much time a <a href="tlsproxy.8.html">tlsproxy(8)</a> process may take to process local
   22765 or remote I/O before it is terminated by a built-in watchdog timer.
   22766 This is a safety mechanism that prevents <a href="tlsproxy.8.html">tlsproxy(8)</a> from becoming
   22767 non-responsive due to a bug in Postfix itself or in system software.
   22768 To avoid false alarms and unnecessary cache corruption this limit
   22769 cannot be set under 10s.  </p>
   22770 
   22771 <p> Specify a non-zero time value (an integral value plus an optional
   22772 one-letter suffix that specifies the time unit).  Time units: s
   22773 (seconds), m (minutes), h (hours), d (days), w (weeks).
   22774 The default time unit is s (seconds).  </p>
   22775 
   22776 <p> This feature is available in Postfix 2.8 and later  </p>
   22777 
   22778 
   22779 </DD>
   22780 
   22781 <DT><b><a name="trace_service_name">trace_service_name</a>
   22782 (default: trace)</b></DT><DD>
   22783 
   22784 <p>
   22785 The name of the trace service. This service is implemented by the
   22786 <a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
   22787 of mail deliveries and produces a mail delivery report when verbose
   22788 delivery is requested with "<b>sendmail -v</b>".
   22789 </p>
   22790 
   22791 <p>
   22792 This feature is available in Postfix 2.1 and later.
   22793 </p>
   22794 
   22795 
   22796 </DD>
   22797 
   22798 <DT><b><a name="transport_delivery_slot_cost">transport_delivery_slot_cost</a>
   22799 (default: $<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b></DT><DD>
   22800 
   22801 <p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
   22802 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
   22803 the message delivery transport. </p>
   22804 
   22805 <p> Note: <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> parameters will not
   22806 show up in "postconf" command output before Postfix version 2.9.
   22807 This limitation applies to many parameters whose name is a combination
   22808 of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
   22809 "_delivery_slot_cost"). </p>
   22810 
   22811 
   22812 </DD>
   22813 
   22814 <DT><b><a name="transport_delivery_slot_discount">transport_delivery_slot_discount</a>
   22815 (default: $<a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>)</b></DT><DD>
   22816 
   22817 <p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>
   22818 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
   22819 the message delivery transport. </p>
   22820 
   22821 <p> Note: <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> parameters will
   22822 not show up in "postconf" command output before Postfix version
   22823 2.9.  This limitation applies to many parameters whose name is a
   22824 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
   22825 this case: "_delivery_slot_discount"). </p>
   22826 
   22827 
   22828 </DD>
   22829 
   22830 <DT><b><a name="transport_delivery_slot_loan">transport_delivery_slot_loan</a>
   22831 (default: $<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b></DT><DD>
   22832 
   22833 <p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>
   22834 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
   22835 the message delivery transport. </p>
   22836 
   22837 <p> Note: <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> parameters will not
   22838 show up in "postconf" command output before Postfix version 2.9.
   22839 This limitation applies to many parameters whose name is a combination
   22840 of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
   22841 "_delivery_slot_loan"). </p>
   22842 
   22843 
   22844 </DD>
   22845 
   22846 <DT><b><a name="transport_destination_concurrency_failed_cohort_limit">transport_destination_concurrency_failed_cohort_limit</a>
   22847 (default: $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>)</b></DT><DD>
   22848 
   22849 <p> A transport-specific override for the
   22850 <a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> parameter value,
   22851 where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
   22852 transport. </p>
   22853 
   22854 <p> Note: some <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>
   22855 parameters will not show up in "postconf" command output before
   22856 Postfix version 2.9.  This limitation applies to many parameters
   22857 whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
   22858 built-in suffix (in this case:
   22859 "_destination_concurrency_failed_cohort_limit"). </p>
   22860 
   22861 <p> This feature is available in Postfix 2.5 and later. </p>
   22862 
   22863 
   22864 </DD>
   22865 
   22866 <DT><b><a name="transport_destination_concurrency_limit">transport_destination_concurrency_limit</a>
   22867 (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
   22868 
   22869 <p> A transport-specific override for the
   22870 <a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> parameter value, where
   22871 <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
   22872 transport. </p>
   22873 
   22874 <p> Note: some <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a>
   22875 parameters will not show up in "postconf" command output before
   22876 Postfix version 2.9.  This limitation applies to many parameters
   22877 whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
   22878 built-in suffix (in this case: "_destination_concurrency_limit").
   22879 </p>
   22880 
   22881 
   22882 </DD>
   22883 
   22884 <DT><b><a name="transport_destination_concurrency_negative_feedback">transport_destination_concurrency_negative_feedback</a>
   22885 (default: $<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>)</b></DT><DD>
   22886 
   22887 <p> A transport-specific override for the
   22888 <a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> parameter value,
   22889 where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
   22890 transport. </p>
   22891 
   22892 <p> Note: some <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
   22893 parameters will not show up in "postconf" command output before
   22894 Postfix version 2.9.  This limitation applies to many parameters
   22895 whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
   22896 built-in suffix (in this case:
   22897 "_destination_concurrency_negative_feedback"). </p>
   22898 
   22899 <p> This feature is available in Postfix 2.5 and later. </p>
   22900 
   22901 
   22902 </DD>
   22903 
   22904 <DT><b><a name="transport_destination_concurrency_positive_feedback">transport_destination_concurrency_positive_feedback</a>
   22905 (default: $<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>)</b></DT><DD>
   22906 
   22907 <p> A transport-specific override for the
   22908 <a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> parameter value,
   22909 where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
   22910 transport. </p>
   22911 
   22912 <p> Note: some <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
   22913 parameters will not show up in "postconf" command output before
   22914 Postfix version 2.9.  This limitation applies to many parameters
   22915 whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
   22916 built-in suffix (in this case:
   22917 "_destination_concurrency_positive_feedback"). </p>
   22918 
   22919 <p> This feature is available in Postfix 2.5 and later. </p>
   22920 
   22921 
   22922 </DD>
   22923 
   22924 <DT><b><a name="transport_destination_rate_delay">transport_destination_rate_delay</a>
   22925 (default: $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>)</b></DT><DD>
   22926 
   22927 <p> A transport-specific override for the <a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>
   22928 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
   22929 the message delivery transport. </p>
   22930 
   22931 <p> Note: some <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> parameters
   22932 will not show up in "postconf" command output before Postfix version
   22933 2.9.  This limitation applies to many parameters whose name is a
   22934 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
   22935 this case: "_destination_rate_delay"). </p>
   22936 
   22937 <p> This feature is available in Postfix 2.5 and later. </p>
   22938 
   22939 
   22940 </DD>
   22941 
   22942 <DT><b><a name="transport_destination_recipient_limit">transport_destination_recipient_limit</a>
   22943 (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
   22944 
   22945 <p> A transport-specific override for the
   22946 <a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> parameter value, where
   22947 <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
   22948 transport. </p>
   22949 
   22950 <p> Note: some <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> parameters
   22951 will not show up in "postconf" command output before Postfix version
   22952 2.9.  This limitation applies to many parameters whose name is a
   22953 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
   22954 this case: "_destination_recipient_limit"). </p>
   22955 
   22956 
   22957 </DD>
   22958 
   22959 <DT><b><a name="transport_extra_recipient_limit">transport_extra_recipient_limit</a>
   22960 (default: $<a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>)</b></DT><DD>
   22961 
   22962 <p> A transport-specific override for the <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
   22963 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
   22964 the message delivery transport. </p>
   22965 
   22966 <p> Note: <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> parameters will
   22967 not show up in "postconf" command output before Postfix version
   22968 2.9.  This limitation applies to many parameters whose name is a
   22969 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
   22970 this case: "_extra_recipient_limit").  </p>
   22971 
   22972 
   22973 </DD>
   22974 
   22975 <DT><b><a name="transport_initial_destination_concurrency">transport_initial_destination_concurrency</a>
   22976 (default: $<a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>)</b></DT><DD>
   22977 
   22978 <p> A transport-specific override for the <a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>
   22979 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
   22980 the message delivery transport. </p>
   22981 
   22982 <p> Note: some <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a>
   22983 parameters will not show up in "postconf" command output before
   22984 Postfix version 2.9.  This limitation applies to many parameters
   22985 whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
   22986 built-in suffix (in this case: "_initial_destination_concurrency").
   22987 </p>
   22988 
   22989 <p> This feature is available in Postfix 2.5 and later. </p>
   22990 
   22991 
   22992 </DD>
   22993 
   22994 <DT><b><a name="transport_maps">transport_maps</a>
   22995 (default: empty)</b></DT><DD>
   22996 
   22997 <p>
   22998 Optional lookup tables with mappings from recipient address to
   22999 (message delivery transport, next-hop destination).  See <a href="transport.5.html">transport(5)</a>
   23000 for syntax details.
   23001 </p>
   23002 
   23003 <p> This information may override the message delivery transport
   23004 and/or next-hop destination that are specified with $<a href="postconf.5.html#local_transport">local_transport</a>,
   23005 $<a href="postconf.5.html#virtual_transport">virtual_transport</a>, $<a href="postconf.5.html#relay_transport">relay_transport</a>, $<a href="postconf.5.html#default_transport">default_transport</a>,
   23006 $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>, $<a href="postconf.5.html#relayhost">relayhost</a>,
   23007 $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>, or the recipient domain.
   23008 </p>
   23009 
   23010 <p>
   23011 Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by
   23012 whitespace or comma. Tables will be searched in the specified order
   23013 until a match is found.  </p>
   23014 
   23015 <p> Pattern matching of domain names is controlled by the presence
   23016 or 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>
   23017 parameter value.  </p>
   23018 
   23019 <p> For safety reasons, as of Postfix 2.3 this feature does not
   23020 allow $number substitutions in regular expression maps. </p>
   23021 
   23022 <p>
   23023 Examples:
   23024 </p>
   23025 
   23026 <pre>
   23027 <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/transport
   23028 </pre>
   23029 
   23030 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   23031 
   23032 <p> Execute the command "postmap /etc/postfix/transport" after you
   23033 change the transport file, to (re)build a default-type indexed file.
   23034 Execute "postmap <i>type</i>:/etc/postfix/transport" to specify an
   23035 explicit type. </p>
   23036 
   23037 <p> The default indexed file type is configured with the
   23038 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   23039 execute the command "postconf -m". </p>
   23040 
   23041 <p> Configuration changes will become visible after a minute or so.
   23042 Use "postfix reload" to eliminate the delay. </p>
   23043 
   23044 
   23045 </DD>
   23046 
   23047 <DT><b><a name="transport_minimum_delivery_slots">transport_minimum_delivery_slots</a>
   23048 (default: $<a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>)</b></DT><DD>
   23049 
   23050 <p> A transport-specific override for the <a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>
   23051 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
   23052 the message delivery transport. </p>
   23053 
   23054 <p> Note: <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> parameters will
   23055 not show up in "postconf" command output before Postfix version
   23056 2.9.  This limitation applies to many parameters whose name is a
   23057 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
   23058 this case: "_minimum_delivery_slots"). </p>
   23059 
   23060 
   23061 </DD>
   23062 
   23063 <DT><b><a name="transport_recipient_limit">transport_recipient_limit</a>
   23064 (default: $<a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>)</b></DT><DD>
   23065 
   23066 <p> A transport-specific override for the <a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>
   23067 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
   23068 the message delivery transport. </p>
   23069 
   23070 <p> Note: some <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> parameters will not
   23071 show up in "postconf" command output before Postfix version 2.9.
   23072 This limitation applies to many parameters whose name is a combination
   23073 of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
   23074 "_recipient_limit"). </p>
   23075 
   23076 
   23077 </DD>
   23078 
   23079 <DT><b><a name="transport_recipient_refill_delay">transport_recipient_refill_delay</a>
   23080 (default: $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>)</b></DT><DD>
   23081 
   23082 <p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>
   23083 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
   23084 the message delivery transport. </p>
   23085 
   23086 <p> Note: <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> parameters will
   23087 not show up in "postconf" command output before Postfix version
   23088 2.9.  This limitation applies to many parameters whose name is a
   23089 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
   23090 this case: "_recipient_refill_delay").  </p>
   23091 
   23092 <p> This feature is available in Postfix 2.4 and later. </p>
   23093 
   23094 
   23095 </DD>
   23096 
   23097 <DT><b><a name="transport_recipient_refill_limit">transport_recipient_refill_limit</a>
   23098 (default: $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>)</b></DT><DD>
   23099 
   23100 <p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>
   23101 parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
   23102 the message delivery transport. </p>
   23103 
   23104 <p> Note: <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> parameters will
   23105 not show up in "postconf" command output before Postfix version
   23106 2.9.  This limitation applies to many parameters whose name is a
   23107 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
   23108 this case: "_recipient_refill_limit").  </p>
   23109 
   23110 <p> This feature is available in Postfix 2.4 and later. </p>
   23111 
   23112 
   23113 </DD>
   23114 
   23115 <DT><b><a name="transport_retry_time">transport_retry_time</a>
   23116 (default: 60s)</b></DT><DD>
   23117 
   23118 <p>
   23119 The time between attempts by the Postfix queue manager to contact
   23120 a malfunctioning message delivery transport.
   23121 </p>
   23122 
   23123 <p> Specify a non-zero time value (an integral value plus an optional
   23124 one-letter suffix that specifies the time unit).  Time units: s
   23125 (seconds), m (minutes), h (hours), d (days), w (weeks).
   23126 The default time unit is s (seconds).  </p>
   23127 
   23128 
   23129 </DD>
   23130 
   23131 <DT><b><a name="transport_time_limit">transport_time_limit</a>
   23132 (default: $<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b></DT><DD>
   23133 
   23134 <p> A transport-specific override for the <a href="postconf.5.html#command_time_limit">command_time_limit</a> parameter
   23135 value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message
   23136 delivery transport. </p>
   23137 
   23138 <p> Specify a non-zero time value (an integral value plus an optional
   23139 one-letter suffix that specifies the time unit).  Time units: s
   23140 (seconds), m (minutes), h (hours), d (days), w (weeks).
   23141 The default time unit is s (seconds).  </p>
   23142 
   23143 <p> Note: <a href="postconf.5.html#transport_time_limit"><i>transport</i>_time_limit</a> parameters will not show up
   23144 in "postconf" command output before Postfix version 2.9.  This
   23145 limitation applies to many parameters whose name is a combination
   23146 of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
   23147 "_time_limit"). </p>
   23148 
   23149 
   23150 </DD>
   23151 
   23152 <DT><b><a name="transport_transport_rate_delay">transport_transport_rate_delay</a>
   23153 (default: $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>)</b></DT><DD>
   23154 
   23155 <p> A transport-specific override for the <a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>
   23156 parameter value, where the initial <i>transport</i> in the parameter
   23157 name is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
   23158 
   23159 <p> Specify a non-negative time value (an integral value plus an optional
   23160 one-letter suffix that specifies the time unit).  Time units: s
   23161 (seconds), m (minutes), h (hours), d (days), w (weeks).
   23162 The default time unit is s (seconds).  </p>
   23163 
   23164 <p> Note: <a href="postconf.5.html#transport_transport_rate_delay"><i>transport</i>_transport_rate_delay</a> parameters will
   23165 not show up in "postconf" command output before Postfix version
   23166 2.9.  This limitation applies to many parameters whose name is a
   23167 combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
   23168 this case: "_transport_rate_delay").  </p>
   23169 
   23170 
   23171 </DD>
   23172 
   23173 <DT><b><a name="trigger_timeout">trigger_timeout</a>
   23174 (default: 10s)</b></DT><DD>
   23175 
   23176 <p>
   23177 The time limit for sending a trigger to a Postfix daemon (for
   23178 example, the <a href="pickup.8.html">pickup(8)</a> or <a href="qmgr.8.html">qmgr(8)</a> daemon). This time limit prevents
   23179 programs from getting stuck when the mail system is under heavy
   23180 load.
   23181 </p>
   23182 
   23183 <p> Specify a non-zero time value (an integral value plus an optional
   23184 one-letter suffix that specifies the time unit).  Time units: s
   23185 (seconds), m (minutes), h (hours), d (days), w (weeks).
   23186 The default time unit is s (seconds).  </p>
   23187 
   23188 
   23189 </DD>
   23190 
   23191 <DT><b><a name="undisclosed_recipients_header">undisclosed_recipients_header</a>
   23192 (default: see "postconf -d" output)</b></DT><DD>
   23193 
   23194 <p>
   23195 Message header that the Postfix <a href="cleanup.8.html">cleanup(8)</a> server inserts when a
   23196 message contains no To: or Cc: message header. With Postfix 2.8
   23197 and later, the default value is empty. With Postfix 2.4-2.7,
   23198 specify an empty value to disable this feature.  </p>
   23199 
   23200 <p> Example: </p>
   23201 
   23202 <pre>
   23203 # Default value before Postfix 2.8.
   23204 # Note: the ":" and ";" are both required.
   23205 <a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> = To: undisclosed-recipients:;
   23206 </pre>
   23207 
   23208 
   23209 </DD>
   23210 
   23211 <DT><b><a name="unknown_address_reject_code">unknown_address_reject_code</a>
   23212 (default: 450)</b></DT><DD>
   23213 
   23214 <p>
   23215 The numerical response code when the Postfix SMTP server rejects a
   23216 sender or recipient address because its domain is unknown.  This
   23217 is one of the possible replies from the restrictions
   23218 <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>.
   23219 </p>
   23220 
   23221 <p>
   23222 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   23223 </p>
   23224 
   23225 
   23226 </DD>
   23227 
   23228 <DT><b><a name="unknown_address_tempfail_action">unknown_address_tempfail_action</a>
   23229 (default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
   23230 
   23231 <p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
   23232 or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> fail due to a temporary error
   23233 condition. Specify "defer" to defer the remote SMTP client request
   23234 immediately. With the default "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix
   23235 SMTP server continues to look for opportunities to reject mail, and
   23236 defers the client request only if it would otherwise be accepted.
   23237 </p>
   23238 
   23239 <p> This feature is available in Postfix 2.6 and later. </p>
   23240 
   23241 
   23242 </DD>
   23243 
   23244 <DT><b><a name="unknown_client_reject_code">unknown_client_reject_code</a>
   23245 (default: 450)</b></DT><DD>
   23246 
   23247 <p>
   23248 The numerical Postfix SMTP server response code when a client
   23249 without valid address &lt;=&gt; name mapping is rejected by the
   23250 <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> restriction. The SMTP server always replies
   23251 with 450 when the mapping failed due to a temporary error condition.
   23252 </p>
   23253 
   23254 <p>
   23255 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   23256 </p>
   23257 
   23258 
   23259 </DD>
   23260 
   23261 <DT><b><a name="unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>
   23262 (default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
   23263 
   23264 <p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>
   23265 fails due to a temporary error condition. Specify "defer" to defer
   23266 the remote SMTP client request immediately. With the default
   23267 "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
   23268 for opportunities to reject mail, and defers the client request
   23269 only if it would otherwise be accepted. </p>
   23270 
   23271 <p> This feature is available in Postfix 2.6 and later. </p>
   23272 
   23273 
   23274 </DD>
   23275 
   23276 <DT><b><a name="unknown_hostname_reject_code">unknown_hostname_reject_code</a>
   23277 (default: 450)</b></DT><DD>
   23278 
   23279 <p>
   23280 The numerical Postfix SMTP server response code when the hostname
   23281 specified with the HELO or EHLO command is rejected by the
   23282 <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> restriction.
   23283 </p>
   23284 
   23285 <p>
   23286 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   23287 </p>
   23288 
   23289 
   23290 </DD>
   23291 
   23292 <DT><b><a name="unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a>
   23293 (default: 550)</b></DT><DD>
   23294 
   23295 <p>
   23296 The numerical Postfix SMTP server response code when a recipient
   23297 address is local, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> specifies a list of
   23298 lookup tables that does not match the recipient.  A recipient
   23299 address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
   23300 $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> or $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>.
   23301 </p>
   23302 
   23303 <p>
   23304 The default setting is 550 (reject mail) but it is safer to initially
   23305 use 450 (try again later) so you have time to find out if your
   23306 <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> settings are OK.
   23307 </p>
   23308 
   23309 <p>
   23310 Example:
   23311 </p>
   23312 
   23313 <pre>
   23314 <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 450
   23315 </pre>
   23316 
   23317 <p>
   23318 This feature is available in Postfix 2.0 and later.
   23319 </p>
   23320 
   23321 
   23322 </DD>
   23323 
   23324 <DT><b><a name="unknown_relay_recipient_reject_code">unknown_relay_recipient_reject_code</a>
   23325 (default: 550)</b></DT><DD>
   23326 
   23327 <p>
   23328 The numerical Postfix SMTP server reply code when a recipient
   23329 address 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
   23330 a list of lookup tables that does not match the recipient address.
   23331 </p>
   23332 
   23333 <p>
   23334 This feature is available in Postfix 2.0 and later.
   23335 </p>
   23336 
   23337 
   23338 </DD>
   23339 
   23340 <DT><b><a name="unknown_virtual_alias_reject_code">unknown_virtual_alias_reject_code</a>
   23341 (default: 550)</b></DT><DD>
   23342 
   23343 <p>
   23344 The Postfix SMTP server reply code when a recipient address matches
   23345 $<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
   23346 of lookup tables that does not match the recipient address.
   23347 </p>
   23348 
   23349 <p>
   23350 This feature is available in Postfix 2.0 and later.
   23351 </p>
   23352 
   23353 
   23354 </DD>
   23355 
   23356 <DT><b><a name="unknown_virtual_mailbox_reject_code">unknown_virtual_mailbox_reject_code</a>
   23357 (default: 550)</b></DT><DD>
   23358 
   23359 <p>
   23360 The Postfix SMTP server reply code when a recipient address matches
   23361 $<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
   23362 of lookup tables that does not match the recipient address.
   23363 </p>
   23364 
   23365 <p>
   23366 This feature is available in Postfix 2.0 and later.
   23367 </p>
   23368 
   23369 
   23370 </DD>
   23371 
   23372 <DT><b><a name="unverified_recipient_defer_code">unverified_recipient_defer_code</a>
   23373 (default: 450)</b></DT><DD>
   23374 
   23375 <p>
   23376 The numerical Postfix SMTP server response when a recipient address
   23377 probe fails due to a temporary error condition.
   23378 </p>
   23379 
   23380 <p>
   23381 Unlike elsewhere in Postfix, you can specify 250 in order to
   23382 accept the address anyway.
   23383 </p>
   23384 
   23385 <p>
   23386 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   23387 </p>
   23388 
   23389 <p>
   23390 This feature is available in Postfix 2.6 and later.
   23391 </p>
   23392 
   23393 
   23394 </DD>
   23395 
   23396 <DT><b><a name="unverified_recipient_reject_code">unverified_recipient_reject_code</a>
   23397 (default: 450)</b></DT><DD>
   23398 
   23399 <p>
   23400 The numerical Postfix SMTP server response when a recipient address
   23401 is rejected by the <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> restriction.
   23402 </p>
   23403 
   23404 <p>
   23405 Unlike elsewhere in Postfix, you can specify 250 in order to
   23406 accept the address anyway.
   23407 </p>
   23408 
   23409 <p>
   23410 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   23411 </p>
   23412 
   23413 <p>
   23414 This feature is available in Postfix 2.1 and later.
   23415 </p>
   23416 
   23417 
   23418 </DD>
   23419 
   23420 <DT><b><a name="unverified_recipient_reject_reason">unverified_recipient_reject_reason</a>
   23421 (default: empty)</b></DT><DD>
   23422 
   23423 <p> The Postfix SMTP server's reply when rejecting mail with
   23424 <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. Do not include the numeric SMTP reply
   23425 code or the enhanced status code. By default, the response includes
   23426 actual address verification details.
   23427 
   23428 <p> Example: </p>
   23429 
   23430 <pre>
   23431 <a href="postconf.5.html#unverified_recipient_reject_reason">unverified_recipient_reject_reason</a> = Recipient address lookup failed
   23432 </pre>
   23433 
   23434 <p> This feature is available in Postfix 2.6 and later. </p>
   23435 
   23436 
   23437 </DD>
   23438 
   23439 <DT><b><a name="unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>
   23440 (default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
   23441 
   23442 <p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>
   23443 fails due to a temporary error condition. Specify "defer" to defer
   23444 the remote SMTP client request immediately. With the default
   23445 "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
   23446 for opportunities to reject mail, and defers the client request
   23447 only if it would otherwise be accepted. </p>
   23448 
   23449 <p> This feature is available in Postfix 2.6 and later. </p>
   23450 
   23451 
   23452 </DD>
   23453 
   23454 <DT><b><a name="unverified_sender_defer_code">unverified_sender_defer_code</a>
   23455 (default: 450)</b></DT><DD>
   23456 
   23457 <p>
   23458 The numerical Postfix SMTP server response code when a sender address
   23459 probe fails due to a temporary error condition.
   23460 </p>
   23461 
   23462 <p>
   23463 Unlike elsewhere in Postfix, you can specify 250 in order to
   23464 accept the address anyway.
   23465 </p>
   23466 
   23467 <p>
   23468 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   23469 </p>
   23470 
   23471 <p>
   23472 This feature is available in Postfix 2.6 and later.
   23473 </p>
   23474 
   23475 
   23476 </DD>
   23477 
   23478 <DT><b><a name="unverified_sender_reject_code">unverified_sender_reject_code</a>
   23479 (default: 450)</b></DT><DD>
   23480 
   23481 <p>
   23482 The numerical Postfix SMTP server response code when a recipient
   23483 address is rejected by the <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> restriction.
   23484 </p>
   23485 
   23486 <p>
   23487 Unlike elsewhere in Postfix, you can specify 250 in order to
   23488 accept the address anyway.
   23489 </p>
   23490 
   23491 <p>
   23492 Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>.
   23493 </p>
   23494 
   23495 <p>
   23496 This feature is available in Postfix 2.1 and later.
   23497 </p>
   23498 
   23499 
   23500 </DD>
   23501 
   23502 <DT><b><a name="unverified_sender_reject_reason">unverified_sender_reject_reason</a>
   23503 (default: empty)</b></DT><DD>
   23504 
   23505 <p> The Postfix SMTP server's reply when rejecting mail with
   23506 <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>. Do not include the numeric SMTP reply
   23507 code or the enhanced status code. By default, the response includes
   23508 actual address verification details.
   23509 
   23510 <p> Example: </p>
   23511 
   23512 <pre>
   23513 <a href="postconf.5.html#unverified_sender_reject_reason">unverified_sender_reject_reason</a> = Sender address lookup failed
   23514 </pre>
   23515 
   23516 <p> This feature is available in Postfix 2.6 and later. </p>
   23517 
   23518 
   23519 </DD>
   23520 
   23521 <DT><b><a name="unverified_sender_tempfail_action">unverified_sender_tempfail_action</a>
   23522 (default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
   23523 
   23524 <p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>
   23525 fails due to a temporary error condition. Specify "defer" to defer
   23526 the remote SMTP client request immediately. With the default
   23527 "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
   23528 for opportunities to reject mail, and defers the client request
   23529 only if it would otherwise be accepted. </p>
   23530 
   23531 <p> This feature is available in Postfix 2.6 and later. </p>
   23532 
   23533 
   23534 </DD>
   23535 
   23536 <DT><b><a name="use_srv_lookup">use_srv_lookup</a>
   23537 (default: empty)</b></DT><DD>
   23538 
   23539 <p> Enables discovery for the specified service(s) using DNS SRV
   23540 records. For example, with "<a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = submission" and
   23541 "<a href="postconf.5.html#relayhost">relayhost</a> = example.com:submission", the Postfix SMTP client will
   23542 look up DNS SRV records for _submission._tcp.example.com, and will
   23543 relay email through the hosts and ports that are specified with
   23544 those records. See <a href="https://tools.ietf.org/html/rfc2782">RFC 2782</a> for details of the host selection
   23545 process. </p>
   23546 
   23547 <p> Specify zero or more service names separated by comma and/or
   23548 whitespace. Any name in the services(5) database may be specified,
   23549 though in practice only submission or submissions (formerly called
   23550 smtp) make sense.  </p>
   23551 
   23552 <p> When SRV record lookup is enabled with <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a>, you can
   23553 enclose a domain name in "[]" to force IP address lookup instead
   23554 of SRV record lookup. </p>
   23555 
   23556 <p> Example 1: MUA-to-MTA submission using SRV record lookup for
   23557 the "submission" service for domain "example.com". This uses the
   23558 default SMTP delivery agent with STARTTLS, and looks up SRV records
   23559 for "_submission._tcp.example.com". </p>
   23560 
   23561 <pre>
   23562 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   23563     <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = submission
   23564     <a href="postconf.5.html#relayhost">relayhost</a> = example.com:submission
   23565     <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
   23566     ...see <a href="SASL_README.html">SASL_README</a> for sasl configuration...
   23567 </pre>
   23568 
   23569 <p> Example 2: MUA-to-MTA submission using SRV record lookup for
   23570 the "submissions" service for domain "example.org". This uses a
   23571 dedicated SMTP delivery agent (smtp-wraptls) with tls_wrappermode
   23572 turned on, and looks up SRV records for "_submissions._tcp.example.org".
   23573 </p>
   23574 
   23575 <p> Note: specify the older name "smtps" instead of "submissions"
   23576 when a provider has DNS SRV records like "_smtps._tcp.example.org"
   23577 instead of "_submissions._tcp.example.org". </p>
   23578 
   23579 <pre>
   23580 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   23581     <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = submissions
   23582     <a href="postconf.5.html#default_transport">default_transport</a> = smtp-wraptls:example.org:submissions
   23583     ...see <a href="SASL_README.html">SASL_README</a> for sasl configuration...
   23584 </pre>
   23585 
   23586 <pre>
   23587 /etc/postfix/<a href="master.5.html">master.cf</a>:
   23588     smtp-wraptls   unix   ...   ...   ...   ...   ...   smtp
   23589         -o { <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> = yes }
   23590         -o { <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt }
   23591 </pre>
   23592 
   23593 <p> Example 3: Sender-dependent selection for a combination of
   23594 MUA-to-MTA submission services. This combines examples 1 and 2 with
   23595 examples of how to disable SRV and look up IP address records for
   23596 "smtp-relay.example.net" and "smtp-relay.other.example".  Again,
   23597 specify the older name "smtps" instead of "submissions" when a
   23598 provider has DNS SRV records like "_smtps._tcp.example.org" instead
   23599 of "_submissions._tcp.example.org". </p>
   23600 
   23601 <pre>
   23602 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   23603     <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = submission, submissions
   23604     <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> = <a href="DATABASE_README.html#types">inline</a>:{
   23605         # Destinations that support SRV record lookup.
   23606         { user1 (a] example.com = <a href="smtp.8.html">smtp</a>:example.com:submission }
   23607         { user2 (a] example.org = smtp-wraptls:example.org:submissions }
   23608         # Use [destination] to force IP address lookups.
   23609         { user3 (a] example.net = <a href="smtp.8.html">smtp</a>:[smtp-relay.example.net]:submission }
   23610         { user4 (a] other.example =
   23611               smtp-wraptls:[smtp-relay.other.example]:submissions } }
   23612     ...see <a href="SASL_README.html">SASL_README</a> for sasl configuration...
   23613 </pre>
   23614 
   23615 <p> Example 4: MTA-to-MTA traffic, using SRV record lookup for the
   23616 SMTP service. This is useful for Postfix tests, and may be useful
   23617 in environments where ports are dynamically assigned to servers.
   23618 </p>
   23619 
   23620 <pre>
   23621 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
   23622     <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = smtp
   23623     # Fall back to MX record lookup when SRV records are unavailable.
   23624     #<a href="postconf.5.html#allow_srv_lookup_fallback">allow_srv_lookup_fallback</a> = yes
   23625     #<a href="postconf.5.html#ignore_srv_lookup_error">ignore_srv_lookup_error</a> = yes
   23626 </pre>
   23627 
   23628 <p> This feature is available in Postfix 3.8 and later. </p>
   23629 
   23630 
   23631 </DD>
   23632 
   23633 <DT><b><a name="verp_delimiter_filter">verp_delimiter_filter</a>
   23634 (default: -=+)</b></DT><DD>
   23635 
   23636 <p>
   23637 The characters Postfix accepts as VERP delimiter characters on the
   23638 Postfix <a href="sendmail.1.html">sendmail(1)</a> command line and in SMTP commands.
   23639 </p>
   23640 
   23641 <p>
   23642 This feature is available in Postfix 1.1 and later.
   23643 </p>
   23644 
   23645 
   23646 </DD>
   23647 
   23648 <DT><b><a name="virtual_alias_address_length_limit">virtual_alias_address_length_limit</a>
   23649 (default: 1000)</b></DT><DD>
   23650 
   23651 <p>
   23652 The maximal length of an email address after virtual alias expansion.
   23653 This stops <a href="ADDRESS_REWRITING_README.html#virtual">virtual aliasing</a> loops that increase the address length
   23654 exponentially.
   23655 </p>
   23656 
   23657 <p>
   23658 This feature is available in Postfix 3.0 and later.
   23659 </p>
   23660 
   23661 
   23662 </DD>
   23663 
   23664 <DT><b><a name="virtual_alias_domains">virtual_alias_domains</a>
   23665 (default: $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>)</b></DT><DD>
   23666 
   23667 <p> Postfix is the final destination for the specified list of virtual
   23668 alias domains, that is, domains for which all addresses are aliased
   23669 to addresses in other local or remote domains. The SMTP server
   23670 validates recipient addresses with $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> and rejects
   23671 non-existent recipients. See also the <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> class
   23672 in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file </p>
   23673 
   23674 <p>
   23675 This feature is available in Postfix 2.0 and later. The default
   23676 value is backwards compatible with Postfix version 1.1.
   23677 </p>
   23678 
   23679 <p>
   23680 The default value is $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> so that you can keep all
   23681 information about <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a> in one place.  If you have
   23682 many users, it is better to separate information that changes more
   23683 frequently (virtual address -&gt; local or remote address mapping)
   23684 from information that changes less frequently (the list of virtual
   23685 domain names).
   23686 </p>
   23687 
   23688 <p> Specify a list of host or domain names, "/file/name" or
   23689 "<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. A
   23690 "/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
   23691 lookup table is matched when a table entry matches a host or domain name
   23692 (the lookup result is ignored).  Continue long lines by starting
   23693 the next line with whitespace. Specify "!pattern" to exclude a host
   23694 or domain name from the list. The form "!/file/name" is supported
   23695 only in Postfix version 2.4 and later.  </p>
   23696 
   23697 <p>
   23698 See also the <a href="VIRTUAL_README.html">VIRTUAL_README</a> and <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> documents
   23699 for further information.
   23700 </p>
   23701 
   23702 <p>
   23703 Example:
   23704 </p>
   23705 
   23706 <pre>
   23707 <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = virtual1.tld virtual2.tld
   23708 </pre>
   23709 
   23710 
   23711 </DD>
   23712 
   23713 <DT><b><a name="virtual_alias_expansion_limit">virtual_alias_expansion_limit</a>
   23714 (default: 1000)</b></DT><DD>
   23715 
   23716 <p>
   23717 The maximal number of addresses that virtual alias expansion produces
   23718 from each original recipient.
   23719 </p>
   23720 
   23721 <p>
   23722 This feature is available in Postfix 2.1 and later.
   23723 </p>
   23724 
   23725 
   23726 </DD>
   23727 
   23728 <DT><b><a name="virtual_alias_maps">virtual_alias_maps</a>
   23729 (default: $<a href="postconf.5.html#virtual_maps">virtual_maps</a>)</b></DT><DD>
   23730 
   23731 <p>
   23732 Optional lookup tables that are often searched with a full email
   23733 address (including domain) and that apply to all recipients: <a href="local.8.html">local(8)</a>,
   23734 virtual, and remote; this is unlike <a href="postconf.5.html#alias_maps">alias_maps</a> that are only searched
   23735 with an email address localpart (no domain) and that apply
   23736 only to <a href="local.8.html">local(8)</a> recipients.
   23737 The <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> table format and lookups
   23738 are documented in <a href="virtual.5.html">virtual(5)</a>. For an overview of Postfix address
   23739 manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
   23740 </p>
   23741 
   23742 <p>
   23743 This feature is available in Postfix 2.0 and later. The default
   23744 value is backwards compatible with Postfix version 1.1.
   23745 </p>
   23746 
   23747 <p>
   23748 Specify zero or more "type:name" lookup tables, separated by
   23749 whitespace or comma. Tables will be searched in the specified order
   23750 until a match is found.
   23751 Note: these lookups are recursive.
   23752 </p>
   23753 
   23754 <p>
   23755 Examples:
   23756 </p>
   23757 
   23758 <pre>
   23759 <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="lmdb_table.5.html">lmdb</a>:/etc/postfix/virtual
   23760 </pre>
   23761 
   23762 <p> Instead of <a href="lmdb_table.5.html">lmdb</a>:, some systems use <a href="CDB_README.html">cdb</a>:, <a href="DATABASE_README.html#types">hash</a>:, or <a href="DATABASE_README.html#types">dbm</a>:. </p>
   23763 
   23764 <p> Execute the command "postmap /etc/postfix/virtual" after you
   23765 change the virtual file, to (re)build a default-type indexed file.
   23766 Execute "postmap <i>type</i>:/etc/postfix/virtual" to specify an
   23767 explicit type. </p>
   23768 
   23769 <p> The default indexed file type is configured with the
   23770 <a href="postconf.5.html#default_database_type">default_database_type</a> parameter. To list available explicit types,
   23771 execute the command "postconf -m". </p>
   23772 
   23773 <p> Configuration changes will become visible after a minute or so.
   23774 Use "postfix reload" to eliminate the delay. </p>
   23775 
   23776 
   23777 </DD>
   23778 
   23779 <DT><b><a name="virtual_alias_recursion_limit">virtual_alias_recursion_limit</a>
   23780 (default: 1000)</b></DT><DD>
   23781 
   23782 <p>
   23783 The maximal nesting depth of virtual alias expansion.  Currently
   23784 the recursion limit is applied only to the left branch of the
   23785 expansion graph, so the depth of the tree can in the worst case
   23786 reach the sum of the expansion and recursion limits.  This may
   23787 change in the future.
   23788 </p>
   23789 
   23790 <p>
   23791 This feature is available in Postfix 2.1 and later.
   23792 </p>
   23793 
   23794 
   23795 </DD>
   23796 
   23797 <DT><b><a name="virtual_delivery_status_filter">virtual_delivery_status_filter</a>
   23798 (default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
   23799 
   23800 <p> Optional filter for the <a href="virtual.8.html">virtual(8)</a> delivery agent to change the
   23801 delivery status code or explanatory text of successful or unsuccessful
   23802 deliveries.  See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details.  </p>
   23803 
   23804 <p> This feature is available in Postfix 3.0 and later. </p>
   23805 
   23806 
   23807 </DD>
   23808 
   23809 <DT><b><a name="virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a>
   23810 (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
   23811 
   23812 <p> The maximal number of parallel deliveries to the same destination
   23813 via the virtual message delivery transport. This limit is enforced
   23814 by the queue manager. The message delivery transport name is the
   23815 first field in the entry in the <a href="master.5.html">master.cf</a> file.  </p>
   23816 
   23817 
   23818 </DD>
   23819 
   23820 <DT><b><a name="virtual_destination_recipient_limit">virtual_destination_recipient_limit</a>
   23821 (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
   23822 
   23823 <p> The maximal number of recipients per message for the virtual
   23824 message delivery transport. This limit is enforced by the queue
   23825 manager. The message delivery transport name is the first field in
   23826 the entry in the <a href="master.5.html">master.cf</a> file.  </p>
   23827 
   23828 <p> Setting this parameter to a value of 1 changes the meaning of
   23829 <a href="postconf.5.html#virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> from concurrency per domain
   23830 into concurrency per recipient.  </p>
   23831 
   23832 
   23833 </DD>
   23834 
   23835 <DT><b><a name="virtual_gid_maps">virtual_gid_maps</a>
   23836 (default: empty)</b></DT><DD>
   23837 
   23838 <p>
   23839 Lookup tables with the per-recipient group ID for <a href="virtual.8.html">virtual(8)</a> mailbox
   23840 delivery.
   23841 </p>
   23842 
   23843 <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
   23844 It does not apply when mail is delivered with a different mail
   23845 delivery program.  </p>
   23846 
   23847 <p>
   23848 Specify zero or more "type:name" lookup tables, separated by
   23849 whitespace or comma. Tables will be searched in the specified order
   23850 until a match is found.
   23851 </p>
   23852 
   23853 <p>
   23854 In a lookup table, specify a left-hand side of "@domain.tld" to
   23855 match any user in the specified domain that does not have a specific
   23856 "user (a] domain.tld" entry.
   23857 </p>
   23858 
   23859 <p>
   23860 When a recipient address has an optional address extension
   23861 (user+foo (a] domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
   23862 the full address first, and when the lookup fails, it looks up the
   23863 unextended address (user (a] domain.tld).
   23864 </p>
   23865 
   23866 <p>
   23867 Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
   23868 regular expression substitution of $1 etc. in regular expression
   23869 lookup tables, because that would open a security hole.
   23870 </p>
   23871 
   23872 <p>
   23873 Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
   23874 silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
   23875 it will open the table directly. Before Postfix version 2.2, the
   23876 <a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
   23877 </p>
   23878 
   23879 
   23880 </DD>
   23881 
   23882 <DT><b><a name="virtual_mailbox_base">virtual_mailbox_base</a>
   23883 (default: empty)</b></DT><DD>
   23884 
   23885 <p>
   23886 A prefix that the <a href="virtual.8.html">virtual(8)</a> delivery agent prepends to all pathname
   23887 results from $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> table lookups.  This is a safety
   23888 measure to ensure that an out of control map doesn't litter the
   23889 file system with mailboxes.  While <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> could be
   23890 set to "/", this setting isn't recommended.
   23891 </p>
   23892 
   23893 <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
   23894 It does not apply when mail is delivered with a different mail
   23895 delivery program.  </p>
   23896 
   23897 <p>
   23898 Example:
   23899 </p>
   23900 
   23901 <pre>
   23902 <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /var/mail
   23903 </pre>
   23904 
   23905 
   23906 </DD>
   23907 
   23908 <DT><b><a name="virtual_mailbox_domains">virtual_mailbox_domains</a>
   23909 (default: $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>)</b></DT><DD>
   23910 
   23911 <p> Postfix is the final destination for the specified list of domains;
   23912 mail is delivered via the $<a href="postconf.5.html#virtual_transport">virtual_transport</a> mail delivery transport.
   23913 By default this is the Postfix <a href="virtual.8.html">virtual(8)</a> delivery agent.  The SMTP
   23914 server validates recipient addresses with $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
   23915 and rejects mail for non-existent recipients.  See also the virtual
   23916 mailbox domain class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.  </p>
   23917 
   23918 <p> This parameter expects the same syntax as the <a href="postconf.5.html#mydestination">mydestination</a>
   23919 configuration parameter.  </p>
   23920 
   23921 <p>
   23922 This feature is available in Postfix 2.0 and later. The default
   23923 value is backwards compatible with Postfix version 1.1.
   23924 </p>
   23925 
   23926 
   23927 </DD>
   23928 
   23929 <DT><b><a name="virtual_mailbox_limit">virtual_mailbox_limit</a>
   23930 (default: 51200000)</b></DT><DD>
   23931 
   23932 <p>
   23933 The maximal size in bytes of an individual <a href="virtual.8.html">virtual(8)</a> mailbox or
   23934 maildir file, or zero (no limit).  </p>
   23935 
   23936 <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
   23937 It does not apply when mail is delivered with a different mail
   23938 delivery program.  </p>
   23939 
   23940 
   23941 </DD>
   23942 
   23943 <DT><b><a name="virtual_mailbox_lock">virtual_mailbox_lock</a>
   23944 (default: see "postconf -d" output)</b></DT><DD>
   23945 
   23946 <p>
   23947 How to lock a UNIX-style <a href="virtual.8.html">virtual(8)</a> mailbox before attempting
   23948 delivery.  For a list of available file locking methods, use the
   23949 "<b>postconf -l</b>" command.
   23950 </p>
   23951 
   23952 <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
   23953 It does not apply when mail is delivered with a different mail
   23954 delivery program.  </p>
   23955 
   23956 <p>
   23957 This setting is ignored with <b>maildir</b> style delivery, because
   23958 such deliveries are safe without application-level locks.
   23959 </p>
   23960 
   23961 <p>
   23962 Note 1: the <b>dotlock</b> method requires that the recipient UID
   23963 or GID has write access to the parent directory of the recipient's
   23964 mailbox file.
   23965 </p>
   23966 
   23967 <p>
   23968 Note 2: the default setting of this parameter is system dependent.
   23969 </p>
   23970 
   23971 
   23972 </DD>
   23973 
   23974 <DT><b><a name="virtual_mailbox_maps">virtual_mailbox_maps</a>
   23975 (default: empty)</b></DT><DD>
   23976 
   23977 <p>
   23978 Optional lookup tables with all valid addresses in the domains that
   23979 match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
   23980 </p>
   23981 
   23982 <p>
   23983 Specify zero or more "type:name" lookup tables, separated by
   23984 whitespace or comma. Tables will be searched in the specified order
   23985 until a match is found.
   23986 </p>
   23987 
   23988 <p>
   23989 In a lookup table, specify a left-hand side of "@domain.tld" to
   23990 match any user in the specified domain that does not have a specific
   23991 "user (a] domain.tld" entry.
   23992 </p>
   23993 
   23994 <p>
   23995 With the default "<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> = $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>",
   23996 lookup tables also need entries with a left-hand side of "domain.tld"
   23997 to satisfy virtual_mailbox_domain lookups (the right-hand side is
   23998 required but will not be used).
   23999 </p>
   24000 
   24001 <p> The remainder of this text is specific to the <a href="virtual.8.html">virtual(8)</a> delivery
   24002 agent.  It does not apply when mail is delivered with a different
   24003 mail delivery program.  </p>
   24004 
   24005 <p>
   24006 The <a href="virtual.8.html">virtual(8)</a> delivery agent uses this table to look up the
   24007 per-recipient mailbox or maildir pathname.  If the lookup result
   24008 ends in a slash ("/"), maildir-style delivery is carried out,
   24009 otherwise the path is assumed to specify a UNIX-style mailbox file.
   24010 Note that $<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> is unconditionally prepended to
   24011 this path.
   24012 </p>
   24013 
   24014 <p>
   24015 When a recipient address has an optional address extension
   24016 (user+foo (a] domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
   24017 the full address first, and when the lookup fails, it looks up the
   24018 unextended address (user (a] domain.tld).
   24019 </p>
   24020 
   24021 <p>
   24022 Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
   24023 regular expression substitution of $1 etc. in regular expression
   24024 lookup tables, because that would open a security hole.
   24025 </p>
   24026 
   24027 <p>
   24028 Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
   24029 silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
   24030 it will open the table directly. Before Postfix version 2.2, the
   24031 <a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
   24032 </p>
   24033 
   24034 
   24035 </DD>
   24036 
   24037 <DT><b><a name="virtual_maps">virtual_maps</a>
   24038 (default: empty)</b></DT><DD>
   24039 
   24040 <p> Optional lookup tables with a) names of domains for which all
   24041 addresses are aliased to addresses in other local or remote domains,
   24042 and b) addresses that are aliased to addresses in other local or
   24043 remote domains.  Available before Postfix version 2.0. With Postfix
   24044 version 2.0 and later, this is replaced by separate controls: <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>
   24045 and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
   24046 
   24047 
   24048 </DD>
   24049 
   24050 <DT><b><a name="virtual_minimum_uid">virtual_minimum_uid</a>
   24051 (default: 100)</b></DT><DD>
   24052 
   24053 <p>
   24054 The minimum user ID value that the <a href="virtual.8.html">virtual(8)</a> delivery agent accepts
   24055 as a result from $<a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> table lookup.  Returned
   24056 values less than this will be rejected, and the message will be
   24057 deferred.
   24058 </p>
   24059 
   24060 <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
   24061 It does not apply when mail is delivered with a different mail
   24062 delivery program.  </p>
   24063 
   24064 
   24065 </DD>
   24066 
   24067 <DT><b><a name="virtual_transport">virtual_transport</a>
   24068 (default: virtual)</b></DT><DD>
   24069 
   24070 <p>
   24071 The default mail delivery transport and next-hop destination for
   24072 final delivery to domains listed with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
   24073 This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
   24074 </p>
   24075 
   24076 <p>
   24077 Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
   24078 is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
   24079 The <i>:nexthop</i> destination is optional; its syntax is documented
   24080 in the manual page of the corresponding delivery agent.
   24081 </p>
   24082 
   24083 <p>
   24084 This feature is available in Postfix 2.0 and later.
   24085 </p>
   24086 
   24087 
   24088 </DD>
   24089 
   24090 <DT><b><a name="virtual_uid_maps">virtual_uid_maps</a>
   24091 (default: empty)</b></DT><DD>
   24092 
   24093 <p>
   24094 Lookup tables with the per-recipient user ID that the <a href="virtual.8.html">virtual(8)</a>
   24095 delivery agent uses while writing to the recipient's mailbox.
   24096 </p>
   24097 
   24098 <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
   24099 It does not apply when mail is delivered with a different mail
   24100 delivery program.  </p>
   24101 
   24102 <p>
   24103 Specify zero or more "type:name" lookup tables, separated by
   24104 whitespace or comma. Tables will be searched in the specified order
   24105 until a match is found.
   24106 </p>
   24107 
   24108 <p>
   24109 In a lookup table, specify a left-hand side of "@domain.tld"
   24110 to match any user in the specified domain that does not have a
   24111 specific "user (a] domain.tld" entry.
   24112 </p>
   24113 
   24114 <p>
   24115 When a recipient address has an optional address extension
   24116 (user+foo (a] domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
   24117 the full address first, and when the lookup fails, it looks up the
   24118 unextended address (user (a] domain.tld).
   24119 </p>
   24120 
   24121 <p>
   24122 Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
   24123 regular expression substitution of $1 etc. in regular expression
   24124 lookup tables, because that would open a security hole.
   24125 </p>
   24126 
   24127 <p>
   24128 Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
   24129 silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
   24130 it will open the table directly. Before Postfix version 2.2, the
   24131 <a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
   24132 </p>
   24133 
   24134 
   24135 </DD>
   24136 
   24137 </dl>
   24138 
   24139 </body>
   24140 
   24141 </html>
   24142