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 ≥ 2.2 and ≥ 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 ≥ 2.2 and ≥ 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 ≥ 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), "<", "≤", "≥", 88 and ">". The comparison is numerical when both operands are all 89 digits, otherwise the comparison is lexicographical. These forms 90 are supported with Postfix versions ≥ 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 ≥ 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 < 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 ≤ 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 <> if you want 490 to use the null sender address. Beware, some sites reject mail from 491 <>, 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> = <> 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 <>. </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 ≥ 3.0: no, Postfix < 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 <CR> or <LF> 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 <CR><LF> sequence, and different mail systems handle 1531 such stray characters in an implementation-dependent manner. Stray 1532 <CR> or <LF> 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 <CR> or <LF> 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 "<level", 1754 "<=level", and other operators to compare compatibility levels. 1755 With the standard operators "<", "<=", 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 .. & 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> & 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 ≥ 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 > 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 > 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->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 <> 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 <> in case of null address. </dd> 2688 2689 <dt><b>$sender</b></dt> 2690 2691 <dd>The sender address or <> 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 <> in case of the null address. </dd> 2700 2701 <dt><b>${name?value}</b></dt> 2702 2703 <dt><b>${name?{value}}</b> (Postfix ≥ 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 ≥ 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 ≥ 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 ≥ 100s are rounded off to an integral number of 2971 seconds. 2972 2973 <li> Delays < 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 ≥ 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: <>)</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: <>)</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: <>)</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 ≤ 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 ≤ 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 ≤ 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 ≤ 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 ≤ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 "&" 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 ≥ 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> <</b><i>address</i><b>></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=<"name with spaces"@example.com> 4534 </pre> 4535 </blockquote> 4536 4537 <p> Older Postfix versions would log the internal (unquoted) form: </p> 4538 4539 <blockquote> 4540 <pre> 4541 from=<name with spaces (a] example.com> 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 > 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 ≥ 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 ≥ 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 ≥ 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> > 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 > 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 ≥ 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 ≤ 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 < 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> <> </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 ≥ 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 ≥ 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 ≥ 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 < 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 ≥ 3.11: shutdown; Postfix < 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 ≥ 3.0: host, Postfix < 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≤ 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=<<i>sender</i>> 8301 to=<<i>recipient</i>> 8302 </pre> 8303 </dd> 8304 8305 </dl> 8306 8307 <p> This feature is available in Postfix ≥ 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 < 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 < 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 ≥ 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 < 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 => 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 ≥ 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 ≥ 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 ≤ 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 ≥ 3.0: empty, Postfix < 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 ≥ 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 <CR><LF> into UNIX format (<LF>). 11500 </p> 11501 11502 <dl> 11503 11504 <dt> <b>always</b> </dt> <dd> Always convert message lines ending 11505 in <CR><LF>. 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 <CR><LF> only if the first input line ends in 11510 <CR><LF>. 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 <CR><LF>. 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 < 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 <CR><LF> 12635 at the end of each line. Longer lines are broken by inserting 12636 "<CR><LF><SPACE>", 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 <CR><LF> 12642 is consistent with the SMTP limit of 1000 characters including 12643 <CR><LF>. 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 ".<CR><LF>" in order to work around the PIX firewall 12930 "<CR><LF>.<CR><LF>" 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 "<CR><LF>.<CR><LF>" 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 "<CR><LF>.<CR><LF>" 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 ".<CR><LF>" 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 <CR><LF> 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 ≥ 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 ≥ 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=<>" 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 ≥ 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 ≥ 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 ≥ 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 > 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—which, 14010 as of OpenSSL 1.1.1, include DSA (obsolete), RSA, ECDSA, Ed25519 14011 and Ed448—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 < 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≤ 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 ≥ 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 ≥ 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 — 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 ≥ 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 ≥ 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 ">=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: ">=<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 "<=<i>version</i>". There must be no whitespace between 14844 the ">=" or "<=" 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 ≥ 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> = >=TLSv1.2, <=0305 14863 # Allow only TLS 1.2 and up: 14864 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = >=0x0303 14865 </pre> 14866 </blockquote> 14867 14868 <p> With Postfix < 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 ≥ 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 ≥ 3.6: 14905 <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = >=TLSv1.2, <=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 ≥ 2.6) and 15064 "connection_reuse" attribute (Postfix ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 3.6 and 15215 # compatibility level ≥ 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 ">=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: ">=<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 "<=<i>version</i>". There must be no whitespace between 15283 the ">=" or "<=" 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 ≥ 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> = >=TLSv1, <=0305 15302 # Allow only TLS 1.0 and up: 15303 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = >=0x0301 15304 </pre> 15305 </blockquote> 15306 15307 <p> With Postfix < 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 ≥ 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 ≥ 3.6: 15334 <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = >=TLSv1, <=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 ≥ 3.11: may; Postfix < 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> ≥ 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> < 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 ≥ 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> = >=TLSv1 15539 # Legacy (Postfix < 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> = >=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 ≥ 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> = >=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 ≤ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 < 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 ≥ 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 ≤ 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 ≥ 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 ≤ 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 < 2.3: reject_unknown_client)</dt> 16629 16630 <dd>Reject the request when 1) the client IP address->name mapping 16631 fails, or 2) the name->address mapping fails, or 3) the name->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->name or name->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->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->name and name->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->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 <CR><LF> 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:<<i>User 16827 Name <user (a] example.com>></i>". Postfix will ignore the "<i>User 16828 Name</i>" part and deliver to the <i><user (a] example.com></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:<'user@domain'>. 16854 # WARNING: do not lose the parameters that follow the address. 16855 /^(RCPT\s+TO:\s*<)'([^[:space:]]+)'(>.*)/ $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*<listname@example\.com>.*)/ $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*<.*>.*)\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 ≥ 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 ≥ 3.9: normalize)</b></DT><DD> 17186 17187 <p> Reject or restrict input lines from an SMTP client that end in 17188 <LF> instead of the standard <CR><LF>. 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 ≥ 3.9) </dt> 17199 <dd> Require the standard 17200 End-of-DATA sequence <CR><LF>.<CR><LF>. 17201 Otherwise, allow command or message content lines ending in the 17202 non-standard <LF>, and process them as if the client sent the 17203 standard <CR><LF>. <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 <CR><LF>.<CR><LF>. <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 <LF>". 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 <CR><LF>.<CR><LF>. Reject a command 17222 or message content when a line contains bare <LF>, log a "bare 17223 <LF> 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 < 3.9) </dt> 17237 <dd> Do not require the standard End-of-DATA 17238 sequence <CR><LF>.<CR><LF>. Always process 17239 a bare <LF> as if the client sent <CR><LF>. 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 <CR><LF>.<CR><LF>. 17252 # Otherwise, allow bare <LF> and process it as if the client sent 17253 # <CR><LF>. 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 <CR><LF>.<CR><LF>. 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 <LF> and log a "bare <LF> received" 17274 # error. Require that input lines end in <CR><LF>, and require the 17275 # standard End-of-DATA sequence <CR><LF>.<CR><LF>. 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 < 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 < 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 < 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 <user (a] example.com>; 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 ≥ 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: <>)</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 ≤ 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 ≥ 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 <user@example> 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 ≤ 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 > $<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 > $<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 ≤ $<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 < 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 ≥ 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 > 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—which, 19603 as of OpenSSL 1.1.1, include DSA (obsolete), RSA, ECDSA, Ed25519 19604 and Ed448—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 < 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 3.2 compiled and linked with OpenSSL ≥ 1.0.2. This 19978 is the default setting under the above conditions (and the only 19979 setting used with Postfix ≥ 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–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 ≥ 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 ≤ 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 ≥ 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 — 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 ≥ 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 ≥ 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 ">=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: ">=<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 "<=<i>version</i>". There must be no whitespace between 20364 the ">=" or "<=" 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 ≥ 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> = >=TLSv1.2, <=0305 20383 # Allow only TLS 1.2 and up: 20384 <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = >=0x0303 20385 </pre> 20386 </blockquote> 20387 20388 <p> With Postfix < 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 ≥ 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 ≥ 3.6: 20403 <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = >=TLSv1.2, <=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 ">=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: ">=<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 "<=<i>version</i>". There must be no whitespace between 20435 the ">=" or "<=" 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 ≥ 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> = >=TLSv1, <=0305 20454 # Allow only TLS 1.0 and up: 20455 <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = >=0x0301 20456 </pre> 20457 </blockquote> 20458 20459 <p> With Postfix < 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 ≥ 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 ≥ 3.6: 20473 <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = >=TLSv1, <=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 ≥ 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 ≥ 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 ≤ 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 ≥ 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 <>, 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 > 0 and < 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 ≥ 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 ≥ 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 "=<number>" 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 ≥ 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 ≥ 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 ≥ 3.0: aes-256-cbc, Postfix < 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 ≥ 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 ≥ 2.7. Not needed at all for Postfix ≥ 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 ≥ 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 ≥ 3.4. See SSL_CTX_set_options(3).</dd> 22054 22055 <dt><b>PRIORITIZE_CHACHA</b></dt> <dd>Postfix ≥ 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 <=> 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 ≥ 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 <=> 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 -> 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