1<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" 2 "http://www.w3.org/TR/html4/loose.dtd"> 3 4<html> 5 6<head> 7 8<title>Postfix Configuration Parameters </title> 9 10<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 11<link rel='stylesheet' type='text/css' href='postfix-doc.css'> 12 13</head> 14 15<body> 16 17<h1><img src="postfix-logo.jpg" width="203" height="98" alt="">Postfix Configuration Parameters </h1> 18 19<hr> 20 21<h2> Postfix main.cf file format </h2> 22 23<p> The Postfix main.cf configuration file specifies a very small 24subset of all the parameters that control the operation of the 25Postfix mail system. Parameters not explicitly specified are left 26at their default values. </p> 27 28<p> The general format of the main.cf file is as follows: </p> 29 30<ul> 31 32<li> <p> Each logical line is in the form "parameter = value". 33Whitespace around the "=" is ignored, as is whitespace at the end 34of a logical line. </p> 35 36<li> <p> Empty lines and whitespace-only lines are ignored, as are 37lines whose first non-whitespace character is a `#'. </p> 38 39<li> <p> A logical line starts with non-whitespace text. A line 40that starts with whitespace continues a logical line. </p> 41 42<li> <p> A parameter value may refer to other parameters. </p> 43 44<ul> 45 46<li> <p> The expressions "$name" and "${name}" are recursively 47replaced with the value of the named parameter. The parameter name 48must contain only characters from the set [a-zA-Z0-9_]. 49An undefined parameter value is replaced with the empty value. </p> 50 51<li> <p> The expressions "${name?value}" and "${name?{value}}" are 52replaced with "value" when "$name" is non-empty. The parameter name 53must contain only characters from the set [a-zA-Z0-9_]. These forms are 54supported with Postfix versions ≥ 2.2 and ≥ 3.0, respectively. 55</p> 56 57<li> <p> The expressions "${name:value}" and "${name:{value}}" are 58replaced with "value" when "$name" is empty. The parameter name must 59contain only characters from the set [a-zA-Z0-9_]. These forms are 60supported with Postfix versions ≥ 2.2 and ≥ 3.0, respectively. 61</p> 62 63<li> <p> The expression "${name?{value1}:{value2}}" is replaced 64with "value1" when "$name" is non-empty, and with "value2" when 65"$name" is empty. The "{}" is required for "value1", optional for 66"value2". The parameter name must contain only characters from the 67set [a-zA-Z0-9_]. This form is supported with Postfix versions 68≥ 3.0. </p> 69 70<li> <p> The first item inside "${...}" may be a relational expression 71of the form: "{value3} == {value4}". Besides the "==" (equality) 72operator Postfix supports "!=" (inequality), "<", "≤", "≥", 73and ">". The comparison is numerical when both operands are all 74digits, otherwise the comparison is lexicographical. These forms 75are supported with Postfix versions ≥ 3.0. </p> 76 77<li> <p> Each "value" is subject to recursive named parameter and 78relational expression evaluation, except where noted. </p> 79 80<li> <p> Whitespace before or after each "{value}" is ignored. </p> 81 82<li> <p> Specify "$$" to produce a single "$" character. </p> 83 84<li> <p> The legacy form "$(...)" is equivalent to the preferred 85form "${...}". </p> 86 87</ul> 88 89<li> <p> When the same parameter is defined multiple times, only 90the last instance is remembered. </p> 91 92<li> <p> Otherwise, the order of main.cf parameter definitions does 93not matter. </p> 94 95</ul> 96 97<p> The remainder of this document is a description of all Postfix 98configuration parameters. Default values are shown after the 99parameter name in parentheses, and can be looked up with the 100"<b>postconf -d</b>" command. </p> 101 102<p> Note: this is not an invitation to make changes to Postfix 103configuration parameters. Unnecessary changes are likely to impair 104the operation of the mail system. </p> 105 106<dl> 107<DT><b><a name="2bounce_notice_recipient">2bounce_notice_recipient</a> 108(default: postmaster)</b></DT><DD> 109 110<p> The recipient of undeliverable mail that cannot be returned to 111the sender. This feature is enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> 112parameter. </p> 113 114 115</DD> 116 117<DT><b><a name="access_map_defer_code">access_map_defer_code</a> 118(default: 450)</b></DT><DD> 119 120<p> 121The numerical Postfix SMTP server response code for 122an <a href="access.5.html">access(5)</a> map "defer" action, including "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" 123or "<a href="postconf.5.html#defer_if_reject">defer_if_reject</a>". Prior to Postfix 2.6, the response 124is hard-coded as "450". 125</p> 126 127<p> 128Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 129</p> 130 131<p> 132This feature is available in Postfix 2.6 and later. 133</p> 134 135 136</DD> 137 138<DT><b><a name="access_map_reject_code">access_map_reject_code</a> 139(default: 554)</b></DT><DD> 140 141<p> 142The numerical Postfix SMTP server response code for 143an <a href="access.5.html">access(5)</a> map "reject" action. 144</p> 145 146<p> 147Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 148</p> 149 150 151</DD> 152 153<DT><b><a name="address_verify_cache_cleanup_interval">address_verify_cache_cleanup_interval</a> 154(default: 12h)</b></DT><DD> 155 156<p> The amount of time between <a href="verify.8.html">verify(8)</a> address verification 157database cleanup runs. This feature requires that the database 158supports the "delete" and "sequence" operators. Specify a zero 159interval to disable database cleanup. </p> 160 161<p> After each database cleanup run, the <a href="verify.8.html">verify(8)</a> daemon logs the 162number of entries that were retained and dropped. A cleanup run is 163logged as "partial" when the daemon terminates early after "<b>postfix 164reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a> 165seconds. </p> 166 167<p> Specify a non-negative time value (an integral value plus an optional 168one-letter suffix that specifies the time unit). Time units: s 169(seconds), m (minutes), h (hours), d (days), w (weeks). 170The default time unit is h (hours). </p> 171 172<p> This feature is available in Postfix 2.7. </p> 173 174 175</DD> 176 177<DT><b><a name="address_verify_default_transport">address_verify_default_transport</a> 178(default: $<a href="postconf.5.html#default_transport">default_transport</a>)</b></DT><DD> 179 180<p> 181Overrides the <a href="postconf.5.html#default_transport">default_transport</a> parameter setting for address 182verification probes. 183</p> 184 185<p> 186This feature is available in Postfix 2.1 and later. 187</p> 188 189 190</DD> 191 192<DT><b><a name="address_verify_local_transport">address_verify_local_transport</a> 193(default: $<a href="postconf.5.html#local_transport">local_transport</a>)</b></DT><DD> 194 195<p> 196Overrides the <a href="postconf.5.html#local_transport">local_transport</a> parameter setting for address 197verification probes. 198</p> 199 200<p> 201This feature is available in Postfix 2.1 and later. 202</p> 203 204 205</DD> 206 207<DT><b><a name="address_verify_map">address_verify_map</a> 208(default: see "postconf -d" output)</b></DT><DD> 209 210<p> 211Lookup table for persistent address verification status 212storage. The table is maintained by the <a href="verify.8.html">verify(8)</a> service, and 213is opened before the process releases privileges. 214</p> 215 216<p> 217The lookup table is persistent by default (Postfix 2.7 and later). 218Specify an empty table name to keep the information in volatile 219memory which is lost after "<b>postfix reload</b>" or "<b>postfix 220stop</b>". This is the default with Postfix version 2.6 and earlier. 221</p> 222 223<p> 224Specify a location in a file system that will not fill up. If the 225database becomes corrupted, the world comes to an end. To recover, 226delete (NOT: truncate) the file and do "<b>postfix reload</b>". 227</p> 228 229<p> Postfix daemon processes do not use root privileges when opening 230this file (Postfix 2.5 and later). The file must therefore be 231stored under a Postfix-owned directory such as the <a href="postconf.5.html#data_directory">data_directory</a>. 232As a migration aid, an attempt to open the file under a non-Postfix 233directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a 234warning is logged. </p> 235 236<p> 237Examples: 238</p> 239 240<pre> 241<a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">hash</a>:/var/db/postfix/verify 242<a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/verify 243</pre> 244 245<p> 246This feature is available in Postfix 2.1 and later. 247</p> 248 249 250</DD> 251 252<DT><b><a name="address_verify_negative_cache">address_verify_negative_cache</a> 253(default: yes)</b></DT><DD> 254 255<p> 256Enable caching of failed address verification probe results. When 257this feature is enabled, the cache may pollute quickly with garbage. 258When this feature is disabled, Postfix will generate an address 259probe for every lookup. 260</p> 261 262<p> 263This feature is available in Postfix 2.1 and later. 264</p> 265 266 267</DD> 268 269<DT><b><a name="address_verify_negative_expire_time">address_verify_negative_expire_time</a> 270(default: 3d)</b></DT><DD> 271 272<p> 273The time after which a failed probe expires from the address 274verification cache. 275</p> 276 277<p> Specify a non-zero time value (an integral value plus an optional 278one-letter suffix that specifies the time unit). Time units: s 279(seconds), m (minutes), h (hours), d (days), w (weeks). 280The default time unit is d (days). </p> 281 282<p> 283This feature is available in Postfix 2.1 and later. 284</p> 285 286 287</DD> 288 289<DT><b><a name="address_verify_negative_refresh_time">address_verify_negative_refresh_time</a> 290(default: 3h)</b></DT><DD> 291 292<p> 293The time after which a failed address verification probe needs to 294be refreshed. 295</p> 296 297<p> Specify a non-zero time value (an integral value plus an optional 298one-letter suffix that specifies the time unit). Time units: s 299(seconds), m (minutes), h (hours), d (days), w (weeks). 300The default time unit is h (hours). </p> 301 302<p> 303This feature is available in Postfix 2.1 and later. 304</p> 305 306 307</DD> 308 309<DT><b><a name="address_verify_pending_request_limit">address_verify_pending_request_limit</a> 310(default: see "postconf -d" output)</b></DT><DD> 311 312<p> A safety limit that prevents address verification requests from 313overwhelming the Postfix queue. By default, the number of pending 314requests is limited to 1/4 of the <a href="QSHAPE_README.html#active_queue">active queue</a> maximum size 315(<a href="postconf.5.html#qmgr_message_active_limit">qmgr_message_active_limit</a>). The queue manager enforces the limit 316by tempfailing requests that exceed the limit. This affects only 317unknown addresses and inactive addresses that have expired, because 318the <a href="verify.8.html">verify(8)</a> daemon automatically refreshes an active address 319before it expires. </p> 320 321<p> This feature is available in Postfix 3.1 and later. </p> 322 323 324</DD> 325 326<DT><b><a name="address_verify_poll_count">address_verify_poll_count</a> 327(default: normal: 3, overload: 1)</b></DT><DD> 328 329<p> 330How many times to query the <a href="verify.8.html">verify(8)</a> service for the completion 331of an address verification request in progress. 332</p> 333 334<p> By default, the Postfix SMTP server polls the <a href="verify.8.html">verify(8)</a> service 335up to three times under non-overload conditions, and only once when 336under overload. With Postfix version 2.5 and earlier, the SMTP 337server always polls the <a href="verify.8.html">verify(8)</a> service up to three times by 338default. </p> 339 340<p> 341Specify 1 to implement a crude form of greylisting, that is, always 342defer the first delivery request for a new address. 343</p> 344 345<p> 346Examples: 347</p> 348 349<pre> 350# Postfix ≤ 2.6 default 351<a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 3 352# Poor man's greylisting 353<a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 1 354</pre> 355 356<p> 357This feature is available in Postfix 2.1 and later. 358</p> 359 360 361</DD> 362 363<DT><b><a name="address_verify_poll_delay">address_verify_poll_delay</a> 364(default: 3s)</b></DT><DD> 365 366<p> 367The delay between queries for the completion of an address 368verification request in progress. 369</p> 370 371<p> 372The default polling delay is 3 seconds. 373</p> 374 375<p> Specify a non-zero time value (an integral value plus an optional 376one-letter suffix that specifies the time unit). Time units: s 377(seconds), m (minutes), h (hours), d (days), w (weeks). 378The default time unit is s (seconds). </p> 379 380<p> 381This feature is available in Postfix 2.1 and later. 382</p> 383 384 385</DD> 386 387<DT><b><a name="address_verify_positive_expire_time">address_verify_positive_expire_time</a> 388(default: 31d)</b></DT><DD> 389 390<p> 391The time after which a successful probe expires from the address 392verification cache. 393</p> 394 395<p> Specify a non-zero time value (an integral value plus an optional 396one-letter suffix that specifies the time unit). Time units: s 397(seconds), m (minutes), h (hours), d (days), w (weeks). 398The default time unit is d (days). </p> 399 400<p> 401This feature is available in Postfix 2.1 and later. 402</p> 403 404 405</DD> 406 407<DT><b><a name="address_verify_positive_refresh_time">address_verify_positive_refresh_time</a> 408(default: 7d)</b></DT><DD> 409 410<p> 411The time after which a successful address verification probe needs 412to be refreshed. The address verification status is not updated 413when the probe fails (optimistic caching). 414</p> 415 416<p> Specify a non-zero time value (an integral value plus an optional 417one-letter suffix that specifies the time unit). Time units: s 418(seconds), m (minutes), h (hours), d (days), w (weeks). 419The default time unit is d (days). </p> 420 421<p> 422This feature is available in Postfix 2.1 and later. 423</p> 424 425 426</DD> 427 428<DT><b><a name="address_verify_relay_transport">address_verify_relay_transport</a> 429(default: $<a href="postconf.5.html#relay_transport">relay_transport</a>)</b></DT><DD> 430 431<p> 432Overrides the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter setting for address 433verification probes. 434</p> 435 436<p> 437This feature is available in Postfix 2.1 and later. 438</p> 439 440 441</DD> 442 443<DT><b><a name="address_verify_relayhost">address_verify_relayhost</a> 444(default: $<a href="postconf.5.html#relayhost">relayhost</a>)</b></DT><DD> 445 446<p> 447Overrides the <a href="postconf.5.html#relayhost">relayhost</a> parameter setting for address verification 448probes. This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. 449</p> 450 451<p> 452This feature is available in Postfix 2.1 and later. 453</p> 454 455 456</DD> 457 458<DT><b><a name="address_verify_sender">address_verify_sender</a> 459(default: $<a href="postconf.5.html#double_bounce_sender">double_bounce_sender</a>)</b></DT><DD> 460 461<p> The sender address to use in address verification probes; prior 462to Postfix 2.5 the default was "postmaster". To 463avoid problems with address probes that are sent in response to 464address probes, the Postfix SMTP server excludes the probe sender 465address from all SMTPD access blocks. </p> 466 467<p> 468Specify an empty value (<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> =) or <> if you want 469to use the null sender address. Beware, some sites reject mail from 470<>, even though RFCs require that such addresses be accepted. 471</p> 472 473<p> 474Examples: 475</p> 476 477<pre> 478<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = <> 479<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = postmaster@<a href="postconf.5.html#mydomain">mydomain</a> 480</pre> 481 482<p> 483This feature is available in Postfix 2.1 and later. 484</p> 485 486 487</DD> 488 489<DT><b><a name="address_verify_sender_dependent_default_transport_maps">address_verify_sender_dependent_default_transport_maps</a> 490(default: $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>)</b></DT><DD> 491 492<p> Overrides the <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter 493setting for address verification probes. </p> 494 495<p> This feature is available in Postfix 2.7 and later. </p> 496 497 498</DD> 499 500<DT><b><a name="address_verify_sender_dependent_relayhost_maps">address_verify_sender_dependent_relayhost_maps</a> 501(default: $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>)</b></DT><DD> 502 503<p> 504Overrides the <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> parameter setting for address 505verification probes. 506</p> 507 508<p> 509This feature is available in Postfix 2.3 and later. 510</p> 511 512 513</DD> 514 515<DT><b><a name="address_verify_sender_ttl">address_verify_sender_ttl</a> 516(default: 0s)</b></DT><DD> 517 518<p> The time between changes in the time-dependent portion of address 519verification probe sender addresses. The time-dependent portion is 520appended to the localpart of the address specified with the 521<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> parameter. This feature is ignored when the 522probe sender addresses is the null sender, i.e. the <a href="postconf.5.html#address_verify_sender">address_verify_sender</a> 523value is empty or <>. </p> 524 525<p> Historically, the probe sender address was fixed. This has 526caused such addresses to end up on spammer mailing lists, and has 527resulted in wasted network and processing resources. </p> 528 529<p> To enable time-dependent probe sender addresses, specify a 530non-zero time value. Specify a value of at least several hours, 531to avoid problems with senders that use greylisting. Avoid nice 532TTL values, to make the result less predictable. </p> 533 534<p> Specify a non-negative time value (an integral value plus an optional 535one-letter suffix that specifies the time unit). Time units: s 536(seconds), m (minutes), h (hours), d (days), w (weeks). 537The default time unit is s (seconds). </p> 538 539<p> This feature is available in Postfix 2.9 and later. </p> 540 541 542</DD> 543 544<DT><b><a name="address_verify_service_name">address_verify_service_name</a> 545(default: verify)</b></DT><DD> 546 547<p> 548The name of the <a href="verify.8.html">verify(8)</a> address verification service. This service 549maintains the status of sender and/or recipient address verification 550probes, and generates probes on request by other Postfix processes. 551</p> 552 553 554</DD> 555 556<DT><b><a name="address_verify_transport_maps">address_verify_transport_maps</a> 557(default: $<a href="postconf.5.html#transport_maps">transport_maps</a>)</b></DT><DD> 558 559<p> 560Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address verification 561probes. 562</p> 563 564<p> 565This feature is available in Postfix 2.1 and later. 566</p> 567 568 569</DD> 570 571<DT><b><a name="address_verify_virtual_transport">address_verify_virtual_transport</a> 572(default: $<a href="postconf.5.html#virtual_transport">virtual_transport</a>)</b></DT><DD> 573 574<p> 575Overrides the <a href="postconf.5.html#virtual_transport">virtual_transport</a> parameter setting for address 576verification probes. 577</p> 578 579<p> 580This feature is available in Postfix 2.1 and later. 581</p> 582 583 584</DD> 585 586<DT><b><a name="alias_database">alias_database</a> 587(default: see "postconf -d" output)</b></DT><DD> 588 589<p> 590The alias databases for <a href="local.8.html">local(8)</a> delivery that are updated with 591"<b>newaliases</b>" or with "<b>sendmail -bi</b>". 592</p> 593 594<p> 595This is a separate configuration parameter because not all the 596tables specified with $<a href="postconf.5.html#alias_maps">alias_maps</a> have to be local files. 597</p> 598 599<p> 600Examples: 601</p> 602 603<pre> 604<a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases 605<a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/mail/aliases 606</pre> 607 608 609</DD> 610 611<DT><b><a name="alias_maps">alias_maps</a> 612(default: see "postconf -d" output)</b></DT><DD> 613 614<p> 615The alias databases that are used for <a href="local.8.html">local(8)</a> delivery. See 616<a href="aliases.5.html">aliases(5)</a> for syntax details. 617Specify zero or more "type:name" lookup tables, separated by 618whitespace or comma. Tables will be searched in the specified order 619until a match is found. 620Note: these lookups are recursive. 621</p> 622 623<p> 624The default list is system dependent. On systems with NIS, the 625default is to search the local alias database, then the NIS alias 626database. 627</p> 628 629<p> 630If you change the alias database, run "<b>postalias /etc/aliases</b>" 631(or wherever your system stores the mail alias file), or simply 632run "<b>newaliases</b>" to build the necessary DBM or DB file. 633</p> 634 635<p> 636The <a href="local.8.html">local(8)</a> delivery agent disallows regular expression substitution 637of $1 etc. in <a href="postconf.5.html#alias_maps">alias_maps</a>, because that would open a security hole. 638</p> 639 640<p> 641The <a href="local.8.html">local(8)</a> delivery agent will silently ignore requests to use 642the <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 643table directly. Before Postfix version 2.2, the <a href="local.8.html">local(8)</a> delivery 644agent will terminate with a fatal error. 645</p> 646 647<p> 648Examples: 649</p> 650 651<pre> 652<a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases, nis:mail.aliases 653<a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases 654</pre> 655 656 657</DD> 658 659<DT><b><a name="allow_mail_to_commands">allow_mail_to_commands</a> 660(default: alias, forward)</b></DT><DD> 661 662<p> 663Restrict <a href="local.8.html">local(8)</a> mail delivery to external commands. The default 664is to disallow delivery to "|command" in :include: files (see 665<a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology). 666</p> 667 668<p> 669Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>, 670in order to allow commands in <a href="aliases.5.html">aliases(5)</a>, .forward files or in 671:include: files, respectively. 672</p> 673 674<p> 675Example: 676</p> 677 678<pre> 679<a href="postconf.5.html#allow_mail_to_commands">allow_mail_to_commands</a> = alias,forward,include 680</pre> 681 682 683</DD> 684 685<DT><b><a name="allow_mail_to_files">allow_mail_to_files</a> 686(default: alias, forward)</b></DT><DD> 687 688<p> 689Restrict <a href="local.8.html">local(8)</a> mail delivery to external files. The default is 690to disallow "/file/name" destinations in :include: files (see 691<a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology). 692</p> 693 694<p> 695Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>, 696in order to allow "/file/name" destinations in <a href="aliases.5.html">aliases(5)</a>, .forward 697files and in :include: files, respectively. 698</p> 699 700<p> 701Example: 702</p> 703 704<pre> 705<a href="postconf.5.html#allow_mail_to_files">allow_mail_to_files</a> = alias,forward,include 706</pre> 707 708 709</DD> 710 711<DT><b><a name="allow_min_user">allow_min_user</a> 712(default: no)</b></DT><DD> 713 714<p> 715Allow a sender or recipient address to have `-' as the first 716character. By 717default, this is not allowed, to avoid accidents with software that 718passes email addresses via the command line. Such software 719would not be able to distinguish a malicious address from a 720bona fide command-line option. Although this can be prevented by 721inserting a "--" option terminator into the command line, this is 722difficult to enforce consistently and globally. </p> 723 724<p> As of Postfix version 2.5, this feature is implemented by 725<a href="trivial-rewrite.8.html">trivial-rewrite(8)</a>. With earlier versions this feature was implemented 726by <a href="qmgr.8.html">qmgr(8)</a> and was limited to recipient addresses only. </p> 727 728 729</DD> 730 731<DT><b><a name="allow_percent_hack">allow_percent_hack</a> 732(default: yes)</b></DT><DD> 733 734<p> 735Enable the rewriting of the form "user%domain" to "user@domain". 736This is enabled by default. 737</p> 738 739<p> Note: as of Postfix version 2.2, message header address rewriting 740happens only when one of the following conditions is true: </p> 741 742<ul> 743 744<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, 745 746<li> The message is received from a network client that matches 747$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>, 748 749<li> The message is received from the network, and the 750<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value. 751 752</ul> 753 754<p> To get the behavior before Postfix version 2.2, specify 755"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p> 756 757<p> 758Example: 759</p> 760 761<pre> 762<a href="postconf.5.html#allow_percent_hack">allow_percent_hack</a> = no 763</pre> 764 765 766</DD> 767 768<DT><b><a name="allow_srv_lookup_fallback">allow_srv_lookup_fallback</a> 769(default: no)</b></DT><DD> 770 771<p> When SRV record lookup fails or no SRV record exists, fall back 772to MX or IP address lookup as if SRV record lookup was not enabled. <p> 773 774<p> This feature is available in Postfix 3.8 and later. </p> 775 776 777</DD> 778 779<DT><b><a name="allow_untrusted_routing">allow_untrusted_routing</a> 780(default: no)</b></DT><DD> 781 782<p> 783Forward mail with sender-specified routing (user[@%!]remote[@%!]site) 784from untrusted clients to destinations matching $<a href="postconf.5.html#relay_domains">relay_domains</a>. 785</p> 786 787<p> 788By default, this feature is turned off. This closes a nasty open 789relay loophole where a backup MX host can be tricked into forwarding 790junk mail to a primary MX host which then spams it out to the world. 791</p> 792 793<p> 794This parameter also controls if non-local addresses with sender-specified 795routing can match Postfix access tables. By default, such addresses 796cannot match Postfix access tables, because the address is ambiguous. 797</p> 798 799 800</DD> 801 802<DT><b><a name="alternate_config_directories">alternate_config_directories</a> 803(default: empty)</b></DT><DD> 804 805<p> 806A list of non-default Postfix configuration directories that may 807be specified with "-c <a href="postconf.5.html#config_directory">config_directory</a>" on the command line (in the 808case of <a href="sendmail.1.html">sendmail(1)</a>, with the "-C" option), or via the MAIL_CONFIG 809environment parameter. 810</p> 811 812<p> 813This list must be specified in the default Postfix <a href="postconf.5.html">main.cf</a> file, 814and will be used by set-gid Postfix commands such as <a href="postqueue.1.html">postqueue(1)</a> 815and <a href="postdrop.1.html">postdrop(1)</a>. 816</p> 817 818<p> 819Specify absolute pathnames, separated by comma or space. Note: $name 820expansion is not supported. 821</p> 822 823 824</DD> 825 826<DT><b><a name="always_add_missing_headers">always_add_missing_headers</a> 827(default: no)</b></DT><DD> 828 829<p> Always add (Resent-) From:, To:, Date: or Message-ID: headers 830when not present. Postfix 2.6 and later add these headers only 831when clients match the <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter 832setting. Earlier Postfix versions always add these headers; this 833may break DKIM signatures that cover non-existent headers. 834The <a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> parameter setting determines 835whether a To: header will be added. </p> 836 837 838</DD> 839 840<DT><b><a name="always_bcc">always_bcc</a> 841(default: empty)</b></DT><DD> 842 843<p> 844Optional address that receives a "blind carbon copy" of each message 845that is received by the Postfix mail system. 846</p> 847 848<p> 849Note: with Postfix 2.3 and later the BCC address is added as if it 850was specified with NOTIFY=NONE. The sender will not be notified 851when the BCC address is undeliverable, as long as all down-stream 852software implements <a href="https://tools.ietf.org/html/rfc3461">RFC 3461</a>. 853</p> 854 855<p> 856Note: with Postfix 2.2 and earlier the sender will be notified 857when the BCC address is undeliverable. 858</p> 859 860<p> Note: automatic BCC recipients are produced only for new mail. 861To avoid mailer loops, automatic BCC recipients are not generated 862after Postfix forwards mail internally, or after Postfix generates 863mail itself. </p> 864 865 866</DD> 867 868<DT><b><a name="anvil_rate_time_unit">anvil_rate_time_unit</a> 869(default: 60s)</b></DT><DD> 870 871<p> 872The time unit over which client connection rates and other rates 873are calculated. 874</p> 875 876<p> 877This feature is implemented by the <a href="anvil.8.html">anvil(8)</a> service which is available 878in Postfix version 2.2 and later. 879</p> 880 881<p> 882The default interval is relatively short. Because of the high 883frequency of updates, the <a href="anvil.8.html">anvil(8)</a> server uses volatile memory 884only. Thus, information is lost whenever the process terminates. 885</p> 886 887<p> Specify a non-zero time value (an integral value plus an optional 888one-letter suffix that specifies the time unit). Time units: s 889(seconds), m (minutes), h (hours), d (days), w (weeks). 890The default time unit is s (seconds). </p> 891 892 893</DD> 894 895<DT><b><a name="anvil_status_update_time">anvil_status_update_time</a> 896(default: 600s)</b></DT><DD> 897 898<p> 899How frequently the <a href="anvil.8.html">anvil(8)</a> connection and rate limiting server 900logs peak usage information. 901</p> 902 903<p> Specify a non-zero time value (an integral value plus an optional 904one-letter suffix that specifies the time unit). Time units: s 905(seconds), m (minutes), h (hours), d (days), w (weeks). 906The default time unit is s (seconds). </p> 907 908<p> 909This feature is available in Postfix 2.2 and later. 910</p> 911 912 913</DD> 914 915<DT><b><a name="append_at_myorigin">append_at_myorigin</a> 916(default: yes)</b></DT><DD> 917 918<p> 919With locally submitted mail, append the string "@$<a href="postconf.5.html#myorigin">myorigin</a>" to mail 920addresses without domain information. With remotely submitted mail, 921append the string "@$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>" instead. 922</p> 923 924<p> 925Note 1: this feature is enabled by default and must not be turned off. 926Postfix does not support domain-less addresses. 927</p> 928 929<p> Note 2: with Postfix version 2.2, message header address rewriting 930happens only when one of the following conditions is true: </p> 931 932<ul> 933 934<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, 935 936<li> The message is received from a network client that matches 937$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>, 938 939<li> The message is received from the network, and the 940<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value. 941 942</ul> 943 944<p> To get the behavior before Postfix version 2.2, specify 945"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p> 946 947 948</DD> 949 950<DT><b><a name="append_dot_mydomain">append_dot_mydomain</a> 951(default: Postfix ≥ 3.0: no, Postfix < 3.0: yes)</b></DT><DD> 952 953<p> 954With locally submitted mail, append the string ".$<a href="postconf.5.html#mydomain">mydomain</a>" to 955addresses that have no ".domain" information. With remotely submitted 956mail, append the string ".$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>" 957instead. 958</p> 959 960<p> 961Note 1: When disabled (Postfix 3.0 and later), users will not be 962able to send mail to "user@partialdomainname" but will have to 963specify full domain names instead. 964</p> 965 966<p> Note 2: with Postfix version 2.2, message header address rewriting 967happens only when one of the following conditions is true: </p> 968 969<ul> 970 971<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, 972 973<li> The message is received from a network client that matches 974$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>, 975 976<li> The message is received from the network, and the 977<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value. 978 979</ul> 980 981<p> To get the behavior before Postfix version 2.2, specify 982"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p> 983 984 985</DD> 986 987<DT><b><a name="application_event_drain_time">application_event_drain_time</a> 988(default: 100s)</b></DT><DD> 989 990<p> 991How long the <a href="postkick.1.html">postkick(1)</a> command waits for a request to enter the 992Postfix daemon process input buffer before giving up. 993</p> 994 995<p> Specify a non-zero time value (an integral value plus an optional 996one-letter suffix that specifies the time unit). Time units: s 997(seconds), m (minutes), h (hours), d (days), w (weeks). 998The default time unit is s (seconds). </p> 999 1000<p> 1001This feature is available in Postfix 2.1 and later. 1002</p> 1003 1004 1005</DD> 1006 1007<DT><b><a name="authorized_flush_users">authorized_flush_users</a> 1008(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD> 1009 1010<p> 1011List of users who are authorized to flush the queue. 1012</p> 1013 1014<p> 1015By default, all users are allowed to flush the queue. Access is 1016always granted if the invoking user is the super-user or the 1017$<a href="postconf.5.html#mail_owner">mail_owner</a> user. Otherwise, the real UID of the process is looked 1018up in the system password file, and access is granted only if the 1019corresponding login name is on the access list. The username 1020"unknown" is used for processes whose real UID is not found in the 1021password file. </p> 1022 1023<p> 1024Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns, 1025separated by commas and/or whitespace. The list is matched left to 1026right, and the search stops on the first match. A "/file/name" 1027pattern is replaced 1028by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name 1029matches a lookup key (the lookup result is ignored). Continue long 1030lines by starting the next line with whitespace. Specify "!pattern" 1031to exclude a name from the list. The form "!/file/name" is supported 1032only in Postfix version 2.4 and later. </p> 1033 1034<p> 1035This feature is available in Postfix 2.2 and later. 1036</p> 1037 1038 1039</DD> 1040 1041<DT><b><a name="authorized_mailq_users">authorized_mailq_users</a> 1042(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD> 1043 1044<p> 1045List of users who are authorized to view the queue. 1046</p> 1047 1048<p> 1049By default, all users are allowed to view the queue. Access is 1050always granted if the invoking user is the super-user or the 1051$<a href="postconf.5.html#mail_owner">mail_owner</a> user. Otherwise, the real UID of the process is looked 1052up in the system password file, and access is granted only if the 1053corresponding login name is on the access list. The username 1054"unknown" is used for processes whose real UID is not found in the 1055password file. </p> 1056 1057<p> 1058Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns, 1059separated by commas and/or whitespace. The list is matched left to 1060right, and the search stops on the first match. A "/file/name" 1061pattern is replaced 1062by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name 1063matches a lookup key (the lookup result is ignored). Continue long 1064lines by starting the next line with whitespace. Specify "!pattern" 1065to exclude a user name from the list. The form "!/file/name" is 1066supported only in Postfix version 2.4 and later. </p> 1067 1068<p> 1069This feature is available in Postfix 2.2 and later. 1070</p> 1071 1072 1073</DD> 1074 1075<DT><b><a name="authorized_submit_users">authorized_submit_users</a> 1076(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD> 1077 1078<p> 1079List of users who are authorized to submit mail with the <a href="sendmail.1.html">sendmail(1)</a> 1080command (and with the privileged <a href="postdrop.1.html">postdrop(1)</a> helper command). 1081</p> 1082 1083<p> 1084By default, all users are allowed to submit mail. Otherwise, the 1085real UID of the process is looked up in the system password file, 1086and access is granted only if the corresponding login name is on 1087the access list. The username "unknown" is used for processes 1088whose real UID is not found in the password file. To deny mail 1089submission access to all users specify an empty list. </p> 1090 1091<p> 1092Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns, 1093separated by commas and/or whitespace. The list is matched left to right, 1094and the search stops on the first match. A "/file/name" pattern is 1095replaced by its contents; 1096a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup key 1097(the lookup result is ignored). Continue long lines by starting the 1098next line with whitespace. Specify "!pattern" to exclude a user 1099name from the list. The form "!/file/name" is supported only in 1100Postfix version 2.4 and later. </p> 1101 1102<p> 1103Example: 1104</p> 1105 1106<pre> 1107<a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> = !www, <a href="DATABASE_README.html#types">static</a>:all 1108</pre> 1109 1110<p> 1111This feature is available in Postfix 2.2 and later. 1112</p> 1113 1114 1115</DD> 1116 1117<DT><b><a name="authorized_verp_clients">authorized_verp_clients</a> 1118(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD> 1119 1120<p> What remote SMTP clients are allowed to specify the XVERP command. 1121This command requests that mail be delivered one recipient at a 1122time with a per recipient return address. </p> 1123 1124<p> By default, only trusted clients are allowed to specify XVERP. 1125</p> 1126 1127<p> This parameter was introduced with Postfix version 1.1. Postfix 1128version 2.1 renamed this parameter to <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> 1129and changed the default to none. </p> 1130 1131<p> Specify a list of network/netmask patterns, separated by commas 1132and/or whitespace. The mask specifies the number of bits in the 1133network part of a host address. You can also specify hostnames or 1134.domain names (the initial dot causes the domain to match any name 1135below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name" 1136pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table 1137is matched when a table entry matches a lookup string (the lookup 1138result is ignored). Continue long lines by starting the next line 1139with whitespace. Specify "!pattern" to exclude an address or network 1140block from the list. The form "!/file/name" is supported only in 1141Postfix version 2.4 and later. </p> 1142 1143<p> Note: IP version 6 address information must be specified inside 1144<tt>[]</tt> in the <a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a> value, and in files 1145specified with "/file/name". IP version 6 addresses contain the 1146":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" 1147pattern. </p> 1148 1149 1150</DD> 1151 1152<DT><b><a name="backwards_bounce_logfile_compatibility">backwards_bounce_logfile_compatibility</a> 1153(default: yes)</b></DT><DD> 1154 1155<p> 1156Produce additional <a href="bounce.8.html">bounce(8)</a> logfile records that can be read by 1157Postfix versions before 2.0. The current and more extensible "name = 1158value" format is needed in order to implement more sophisticated 1159functionality. 1160</p> 1161 1162<p> 1163This feature is available in Postfix 2.1 and later. 1164</p> 1165 1166 1167</DD> 1168 1169<DT><b><a name="berkeley_db_create_buffer_size">berkeley_db_create_buffer_size</a> 1170(default: 16777216)</b></DT><DD> 1171 1172<p> 1173The per-table I/O buffer size for programs that create Berkeley DB 1174hash or btree tables. Specify a byte count. 1175</p> 1176 1177<p> 1178This feature is available in Postfix 2.0 and later. 1179</p> 1180 1181 1182</DD> 1183 1184<DT><b><a name="berkeley_db_read_buffer_size">berkeley_db_read_buffer_size</a> 1185(default: 131072)</b></DT><DD> 1186 1187<p> 1188The per-table I/O buffer size for programs that read Berkeley DB 1189hash or btree tables. Specify a byte count. 1190</p> 1191 1192<p> 1193This feature is available in Postfix 2.0 and later. 1194</p> 1195 1196 1197</DD> 1198 1199<DT><b><a name="best_mx_transport">best_mx_transport</a> 1200(default: empty)</b></DT><DD> 1201 1202<p> 1203Where the Postfix SMTP client should deliver mail when it detects 1204a "mail loops back to myself" error condition. This happens when 1205the local MTA is the best SMTP mail exchanger for a destination 1206not 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>, 1207$<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, 1208the Postfix SMTP client returns such mail as undeliverable. 1209</p> 1210 1211<p> 1212Specify, for example, "<a href="postconf.5.html#best_mx_transport">best_mx_transport</a> = local" to pass the mail 1213from the Postfix SMTP client to the <a href="local.8.html">local(8)</a> delivery agent. You 1214can specify 1215any message delivery "transport" or "transport:nexthop" that is 1216defined in the <a href="master.5.html">master.cf</a> file. See the <a href="transport.5.html">transport(5)</a> manual page 1217for the syntax and meaning of "transport" or "transport:nexthop". 1218</p> 1219 1220<p> 1221However, this feature is expensive because it ties up a Postfix 1222SMTP client process while the <a href="local.8.html">local(8)</a> delivery agent is doing its 1223work. It is more efficient (for Postfix) to list all <a href="VIRTUAL_README.html#canonical">hosted domains</a> 1224in a table or database. 1225</p> 1226 1227 1228</DD> 1229 1230<DT><b><a name="biff">biff</a> 1231(default: yes)</b></DT><DD> 1232 1233<p> 1234Whether or not to use the local <a href="postconf.5.html#biff">biff</a> service. This service sends 1235"new mail" notifications to users who have requested new mail 1236notification with the UNIX command "<a href="postconf.5.html#biff">biff</a> y". 1237</p> 1238 1239<p> 1240For compatibility reasons this feature is on by default. On systems 1241with lots of interactive users, the <a href="postconf.5.html#biff">biff</a> service can be a performance 1242drain. Specify "<a href="postconf.5.html#biff">biff</a> = no" in <a href="postconf.5.html">main.cf</a> to disable. 1243</p> 1244 1245 1246</DD> 1247 1248<DT><b><a name="body_checks">body_checks</a> 1249(default: empty)</b></DT><DD> 1250 1251<p> Optional lookup tables for content inspection as specified in 1252the <a href="header_checks.5.html">body_checks(5)</a> manual page. </p> 1253 1254<p> Note: with Postfix versions before 2.0, these rules inspect 1255all content after the primary message headers. </p> 1256 1257 1258</DD> 1259 1260<DT><b><a name="body_checks_size_limit">body_checks_size_limit</a> 1261(default: 51200)</b></DT><DD> 1262 1263<p> 1264How much text in a message body segment (or attachment, if you 1265prefer to use that term) is subjected to <a href="postconf.5.html#body_checks">body_checks</a> inspection. 1266The amount of text is limited to avoid scanning huge attachments. 1267</p> 1268 1269<p> 1270This feature is available in Postfix 2.0 and later. 1271</p> 1272 1273 1274</DD> 1275 1276<DT><b><a name="bounce_notice_recipient">bounce_notice_recipient</a> 1277(default: postmaster)</b></DT><DD> 1278 1279<p> 1280The recipient of postmaster notifications with the message headers 1281of mail that Postfix did not deliver and of SMTP conversation 1282transcripts of mail that Postfix did not receive. This feature is 1283enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter. </p> 1284 1285 1286</DD> 1287 1288<DT><b><a name="bounce_queue_lifetime">bounce_queue_lifetime</a> 1289(default: 5d)</b></DT><DD> 1290 1291<p> 1292Consider a bounce message as undeliverable, when delivery fails 1293with a temporary error, and the time in the queue has reached the 1294<a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> limit. By default, this limit is the same 1295as for regular mail. 1296</p> 1297 1298<p> Specify a non-negative time value (an integral value plus an optional 1299one-letter suffix that specifies the time unit). Time units: s 1300(seconds), m (minutes), h (hours), d (days), w (weeks). 1301The default time unit is d (days). </p> 1302 1303<p> 1304Specify 0 when mail delivery should be tried only once. 1305</p> 1306 1307<p> 1308This feature is available in Postfix 2.1 and later. 1309</p> 1310 1311 1312</DD> 1313 1314<DT><b><a name="bounce_service_name">bounce_service_name</a> 1315(default: bounce)</b></DT><DD> 1316 1317<p> 1318The name of the <a href="bounce.8.html">bounce(8)</a> service. This service maintains a record 1319of failed delivery attempts and generates non-delivery notifications. 1320</p> 1321 1322<p> 1323This feature is available in Postfix 2.0 and later. 1324</p> 1325 1326 1327</DD> 1328 1329<DT><b><a name="bounce_size_limit">bounce_size_limit</a> 1330(default: 50000)</b></DT><DD> 1331 1332<p> The maximal amount of original message text that is sent in a 1333non-delivery notification. Specify a byte count. A message is 1334returned as either message/rfc822 (the complete original) or as 1335text/rfc822-headers (the headers only). With Postfix version 2.4 1336and earlier, a message is always returned as message/rfc822 and is 1337truncated when it exceeds the size limit. 1338</p> 1339 1340<p> Notes: </p> 1341 1342<ul> 1343 1344<li> <p> If you increase this limit, then you should increase the 1345<a href="postconf.5.html#mime_nesting_limit">mime_nesting_limit</a> value proportionally. </p> 1346 1347<li> <p> Be careful when making changes. Excessively large values 1348will result in the loss of non-delivery notifications, when a bounce 1349message size exceeds a local or remote MTA's message size limit. 1350</p> 1351 1352</ul> 1353 1354 1355</DD> 1356 1357<DT><b><a name="bounce_template_file">bounce_template_file</a> 1358(default: empty)</b></DT><DD> 1359 1360<p> Pathname of a configuration file with bounce message templates. 1361These override the built-in templates of delivery status notification 1362(DSN) messages for undeliverable mail, delayed mail, successful 1363delivery, or delivery verification. The <a href="bounce.5.html">bounce(5)</a> manual page 1364describes how to edit and test template files. </p> 1365 1366<p> Template message body text may contain $name references to 1367Postfix configuration parameters. The result of $name expansion can 1368be previewed with "<b>postconf -b <i>file_name</i></b>" before the file 1369is placed into the Postfix configuration directory. </p> 1370 1371<p> This feature is available in Postfix 2.3 and later. </p> 1372 1373 1374</DD> 1375 1376<DT><b><a name="broken_sasl_auth_clients">broken_sasl_auth_clients</a> 1377(default: no)</b></DT><DD> 1378 1379<p> 1380Enable interoperability with remote SMTP clients that implement an obsolete 1381version of the AUTH command (<a href="https://tools.ietf.org/html/rfc4954">RFC 4954</a>). Examples of such clients 1382are MicroSoft Outlook Express version 4 and MicroSoft Exchange 1383version 5.0. 1384</p> 1385 1386<p> 1387Specify "<a href="postconf.5.html#broken_sasl_auth_clients">broken_sasl_auth_clients</a> = yes" to have Postfix advertise 1388AUTH support in a non-standard way. 1389</p> 1390 1391 1392</DD> 1393 1394<DT><b><a name="canonical_classes">canonical_classes</a> 1395(default: envelope_sender, envelope_recipient, header_sender, header_recipient)</b></DT><DD> 1396 1397<p> What addresses are subject to <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping. 1398By default, <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping is applied to envelope 1399sender and recipient addresses, and to header sender and header 1400recipient addresses. </p> 1401 1402<p> Specify one or more of: envelope_sender, envelope_recipient, 1403header_sender, header_recipient </p> 1404 1405<p> This feature is available in Postfix 2.2 and later. </p> 1406 1407 1408</DD> 1409 1410<DT><b><a name="canonical_maps">canonical_maps</a> 1411(default: empty)</b></DT><DD> 1412 1413<p> 1414Optional address mapping lookup tables for message headers and 1415envelopes. The mapping is applied to both sender and recipient 1416addresses, in both envelopes and in headers, as controlled 1417with the <a href="postconf.5.html#canonical_classes">canonical_classes</a> parameter. This is typically used 1418to clean up dirty addresses from legacy mail systems, or to replace 1419login names by Firstname.Lastname. The table format and lookups 1420are documented in <a href="canonical.5.html">canonical(5)</a>. For an overview of Postfix address 1421manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document. 1422</p> 1423 1424<p> 1425Specify zero or more "type:name" lookup tables, separated by 1426whitespace or comma. Tables will be searched in the specified order 1427until a match is found. 1428Note: these lookups are recursive. 1429</p> 1430 1431<p> 1432If you use this feature, run "<b>postmap /etc/postfix/canonical</b>" to 1433build the necessary DBM or DB file after every change. The changes 1434will become visible after a minute or so. Use "<b>postfix reload</b>" 1435to eliminate the delay. 1436</p> 1437 1438<p> Note: with Postfix version 2.2, message header address mapping 1439happens only when message header address rewriting is enabled: </p> 1440 1441<ul> 1442 1443<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, 1444 1445<li> The message is received from a network client that matches 1446$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>, 1447 1448<li> The message is received from the network, and the 1449<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value. 1450 1451</ul> 1452 1453<p> To get the behavior before Postfix version 2.2, specify 1454"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p> 1455 1456<p> 1457Examples: 1458</p> 1459 1460<pre> 1461<a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/canonical 1462<a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/canonical 1463</pre> 1464 1465 1466</DD> 1467 1468<DT><b><a name="cleanup_service_name">cleanup_service_name</a> 1469(default: cleanup)</b></DT><DD> 1470 1471<p> 1472The name of the <a href="cleanup.8.html">cleanup(8)</a> service. This service rewrites addresses 1473into the standard form, and performs <a href="canonical.5.html">canonical(5)</a> address mapping 1474and <a href="virtual.5.html">virtual(5)</a> aliasing. 1475</p> 1476 1477<p> 1478This feature is available in Postfix 2.0 and later. 1479</p> 1480 1481 1482</DD> 1483 1484<DT><b><a name="command_directory">command_directory</a> 1485(default: see "postconf -d" output)</b></DT><DD> 1486 1487<p> 1488The location of all postfix administrative commands. 1489</p> 1490 1491 1492</DD> 1493 1494<DT><b><a name="command_execution_directory">command_execution_directory</a> 1495(default: empty)</b></DT><DD> 1496 1497<p> The <a href="local.8.html">local(8)</a> delivery agent working directory for delivery to 1498external commands. Failure to change directory causes the delivery 1499to be deferred. </p> 1500 1501<p> The <a href="postconf.5.html#command_execution_directory">command_execution_directory</a> value is not subject to Postfix 1502configuration parameter $name expansion. Instead, the following 1503$name expansions are done on <a href="postconf.5.html#command_execution_directory">command_execution_directory</a> before the 1504directory is used. Expansion happens in the context 1505of the delivery request. The result of $name expansion is filtered 1506with the character set that is specified with the 1507<a href="postconf.5.html#execution_directory_expansion_filter">execution_directory_expansion_filter</a> parameter. </p> 1508 1509<dl> 1510 1511<dt><b>$user</b></dt> 1512 1513<dd>The recipient's username. </dd> 1514 1515<dt><b>$shell</b></dt> 1516 1517<dd>The recipient's login shell pathname. </dd> 1518 1519<dt><b>$home</b></dt> 1520 1521<dd>The recipient's home directory. </dd> 1522 1523<dt><b>$recipient</b></dt> 1524 1525<dd>The full recipient address. </dd> 1526 1527<dt><b>$extension</b></dt> 1528 1529<dd>The optional recipient address extension. </dd> 1530 1531<dt><b>$domain</b></dt> 1532 1533<dd>The recipient domain. </dd> 1534 1535<dt><b>$local</b></dt> 1536 1537<dd>The entire recipient localpart. </dd> 1538 1539<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt> 1540 1541<dd>The address extension delimiter that was found in the recipient 1542address (Postfix 2.11 and later), or the system-wide recipient 1543address extension delimiter (Postfix 2.10 and earlier). </dd> 1544 1545<dt><b>${name?value}</b></dt> 1546 1547<dt><b>${name?{value}}</b> (Postfix ≥ 3.0)</dt> 1548 1549<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd> 1550 1551<dt><b>${name:value}</b></dt> 1552 1553<dt><b>${name:{value}}</b> (Postfix ≥ 3.0)</dt> 1554 1555<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd> 1556 1557<dt><b>${name?{value1}:{value2}}</b> (Postfix ≥ 3.0)</dt> 1558 1559<dd>Expands to <i>value1</i> when <i>$name</i> is non-empty, 1560<i>value2</i> otherwise. </dd> 1561 1562</dl> 1563 1564<p> 1565Instead of $name you can also specify ${name} or $(name). 1566</p> 1567 1568<p> This feature is available in Postfix 2.2 and later. </p> 1569 1570 1571</DD> 1572 1573<DT><b><a name="command_expansion_filter">command_expansion_filter</a> 1574(default: see "postconf -d" output)</b></DT><DD> 1575 1576<p> 1577Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in 1578$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>. 1579Characters outside the 1580allowed set are replaced by underscores. 1581</p> 1582 1583 1584</DD> 1585 1586<DT><b><a name="command_time_limit">command_time_limit</a> 1587(default: 1000s)</b></DT><DD> 1588 1589<p> 1590Time limit for delivery to external commands. This limit is used 1591by the <a href="local.8.html">local(8)</a> delivery agent, and is the default time limit for 1592delivery by the <a href="pipe.8.html">pipe(8)</a> delivery agent. 1593</p> 1594 1595<p> 1596Note: if you set this time limit to a large value you must update the 1597global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter as well. 1598</p> 1599 1600 1601</DD> 1602 1603<DT><b><a name="compatibility_level">compatibility_level</a> 1604(default: 0)</b></DT><DD> 1605 1606<p> A safety net that causes Postfix to run with backwards-compatible 1607default settings after an upgrade to a newer Postfix version. </p> 1608 1609<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> 1610value is less than the Postfix built-in value), Postfix looks for 1611settings that are left at their implicit default value, and logs a 1612message when a backwards-compatible default setting is required. 1613</p> 1614 1615<blockquote> 1616<pre> 1617using backwards-compatible default setting <i>name=value</i> 1618 to [accept a specific client request] 1619 1620using backwards-compatible default setting <i>name=value</i> 1621 to [enable specific Postfix behavior] 1622</pre> 1623</blockquote> 1624 1625<p> See <a href="COMPATIBILITY_README.html">COMPATIBILITY_README</a> for specific message details. If such 1626a message is logged in the context of a legitimate request, the 1627system administrator should make the backwards-compatible setting 1628permanent in <a href="postconf.5.html">main.cf</a> or <a href="master.5.html">master.cf</a>, for example: </p> 1629 1630<blockquote> 1631<pre> 1632# <b>postconf</b> <i>name=value</i> 1633# <b>postfix reload</b> 1634</pre> 1635</blockquote> 1636 1637<p> When no more backwards-compatible settings need to be made 1638permanent, the administrator should turn off backwards compatibility 1639by updating the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting in <a href="postconf.5.html">main.cf</a>:</p> 1640 1641<blockquote> 1642<pre> 1643# <b>postconf <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i></b> 1644# <b>postfix reload</b> 1645</pre> 1646</blockquote> 1647 1648<p> For <i>N</i> specify the number that is logged in your <a href="postfix.1.html">postfix(1)</a> 1649warning message: </p> 1650 1651<blockquote> 1652<pre> 1653warning: To disable backwards compatibility use "postconf 1654 <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i>" and "postfix reload" 1655</pre> 1656</blockquote> 1657 1658<p> Starting with Postfix version 3.6, the compatibility level in 1659the above warning message is the Postfix version that introduced 1660the last incompatible change. The level is formatted as 1661<i>major.minor.patch</i>, where <i>patch</i> is usually omitted and 1662defaults to zero. Earlier compatibility levels are 0, 1 and 2. </p> 1663 1664<p> NOTE: this also introduces support for the "<level", 1665"<=level", and other operators to compare compatibility levels. 1666With the standard operators "<", "<=", etc., compatibility 1667level "3.10" would be smaller than "3.9" which is undesirable. </p> 1668 1669<p> This feature is available in Postfix 3.0 and later. </p> 1670 1671 1672</DD> 1673 1674<DT><b><a name="config_directory">config_directory</a> 1675(default: see "postconf -d" output)</b></DT><DD> 1676 1677<p> The default location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> 1678configuration files. This can be overruled via the following 1679mechanisms: </p> 1680 1681<ul> 1682 1683<li> <p> The MAIL_CONFIG environment variable (daemon processes 1684and commands). </p> 1685 1686<li> <p> The "-c" command-line option (commands only). </p> 1687 1688</ul> 1689 1690<p> With Postfix commands that run with set-gid privileges, a 1691<a href="postconf.5.html#config_directory">config_directory</a> override either requires root privileges, or it 1692requires that the directory is listed with the <a href="postconf.5.html#alternate_config_directories">alternate_config_directories</a> 1693parameter in the default <a href="postconf.5.html">main.cf</a> file. </p> 1694 1695 1696</DD> 1697 1698<DT><b><a name="confirm_delay_cleared">confirm_delay_cleared</a> 1699(default: no)</b></DT><DD> 1700 1701<p> After sending a "your message is delayed" notification, inform 1702the sender when the delay clears up. This can result in a sudden 1703burst of notifications at the end of a prolonged network outage, 1704and is therefore disabled by default. </p> 1705 1706<p> See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>. </p> 1707 1708<p> This feature is available in Postfix 3.0 and later. </p> 1709 1710 1711</DD> 1712 1713<DT><b><a name="connection_cache_protocol_timeout">connection_cache_protocol_timeout</a> 1714(default: 5s)</b></DT><DD> 1715 1716<p> Time limit for connection cache connect, send or receive 1717operations. The time limit is enforced in the client. </p> 1718 1719<p> This feature is available in Postfix 2.3 and later. </p> 1720 1721 1722</DD> 1723 1724<DT><b><a name="connection_cache_service_name">connection_cache_service_name</a> 1725(default: scache)</b></DT><DD> 1726 1727<p> The name of the <a href="scache.8.html">scache(8)</a> connection cache service. This service 1728maintains a limited pool of cached sessions. </p> 1729 1730<p> This feature is available in Postfix 2.2 and later. </p> 1731 1732 1733</DD> 1734 1735<DT><b><a name="connection_cache_status_update_time">connection_cache_status_update_time</a> 1736(default: 600s)</b></DT><DD> 1737 1738<p> How frequently the <a href="scache.8.html">scache(8)</a> server logs usage statistics with 1739connection cache hit and miss rates for logical destinations and for 1740physical endpoints. </p> 1741 1742 1743</DD> 1744 1745<DT><b><a name="connection_cache_ttl_limit">connection_cache_ttl_limit</a> 1746(default: 2s)</b></DT><DD> 1747 1748<p> The maximal time-to-live value that the <a href="scache.8.html">scache(8)</a> connection 1749cache server 1750allows. Requests that specify a larger TTL will be stored with the 1751maximum allowed TTL. The purpose of this additional control is to 1752protect the infrastructure against careless people. The cache TTL 1753is already bounded by $<a href="postconf.5.html#max_idle">max_idle</a>. </p> 1754 1755 1756</DD> 1757 1758<DT><b><a name="content_filter">content_filter</a> 1759(default: empty)</b></DT><DD> 1760 1761<p> After the message is queued, send the entire message to the 1762specified <i>transport:destination</i>. The <i>transport</i> name 1763specifies the first field of a mail delivery agent definition in 1764<a href="master.5.html">master.cf</a>; the syntax of the next-hop <i>destination</i> is described 1765in the manual page of the corresponding delivery agent. More 1766information about external content filters is in the Postfix 1767<a href="FILTER_README.html">FILTER_README</a> file. </p> 1768 1769<p> Notes: </p> 1770 1771<ul> 1772 1773<li> <p> This setting has lower precedence than a FILTER action 1774that 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> 1775table. </p> 1776 1777<li> <p> The meaning of an empty next-hop filter <i>destination</i> 1778is version dependent. Postfix 2.7 and later will use the recipient 1779domain; earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>. Specify 1780"<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility with Postfix 17812.6 or earlier, or specify a <a href="postconf.5.html#content_filter">content_filter</a> value with an explicit 1782next-hop <i>destination</i>. </p> 1783 1784</ul> 1785 1786 1787</DD> 1788 1789<DT><b><a name="cyrus_sasl_config_path">cyrus_sasl_config_path</a> 1790(default: empty)</b></DT><DD> 1791 1792<p> Search path for Cyrus SASL application configuration files, 1793currently used only to locate the $<a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.conf file. 1794Specify zero or more directories separated by a colon character, 1795or an empty value to use Cyrus SASL's built-in search path. </p> 1796 1797<p> This feature is available in Postfix 2.5 and later when compiled 1798with Cyrus SASL 2.1.22 or later. </p> 1799 1800 1801</DD> 1802 1803<DT><b><a name="daemon_directory">daemon_directory</a> 1804(default: see "postconf -d" output)</b></DT><DD> 1805 1806<p> 1807The directory with Postfix support programs and daemon programs. 1808These should not be invoked directly by humans. The directory must 1809be owned by root. 1810</p> 1811 1812 1813</DD> 1814 1815<DT><b><a name="daemon_table_open_error_is_fatal">daemon_table_open_error_is_fatal</a> 1816(default: no)</b></DT><DD> 1817 1818<p> How a Postfix daemon process handles errors while opening lookup 1819tables: gradual degradation or immediate termination. </p> 1820 1821<dl> 1822 1823<dt> <b> no </b> (default) </dt> <dd> <p> Gradual degradation: a 1824daemon process logs a message of type "error" and continues execution 1825with reduced functionality. Features that do not depend on the 1826unavailable table will work normally, while features that depend 1827on the table will result in a type "warning" message. <br> When 1828the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter value contains the "data" class, the 1829Postfix SMTP server and client will report transcripts of sessions 1830with an error because a table is unavailable. </p> </dd> 1831 1832<dt> <b> yes </b> (historical behavior) </dt> <dd> <p> Immediate 1833termination: a daemon process logs a type "fatal" message and 1834terminates immediately. This option reduces the number of possible 1835code paths through Postfix, and may therefore be slightly more 1836secure than the default. </p> </dd> 1837 1838</dl> 1839 1840<p> For the sake of sanity, the number of type "error" messages is 1841limited to 13 over the lifetime of a daemon process. </p> 1842 1843<p> This feature is available in Postfix 2.9 and later. </p> 1844 1845 1846</DD> 1847 1848<DT><b><a name="daemon_timeout">daemon_timeout</a> 1849(default: 18000s)</b></DT><DD> 1850 1851<p> How much time a Postfix daemon process may take to handle a 1852request before it is terminated by a built-in watchdog timer. </p> 1853 1854<p> Specify a non-zero time value (an integral value plus an optional 1855one-letter suffix that specifies the time unit). Time units: s 1856(seconds), m (minutes), h (hours), d (days), w (weeks). 1857The default time unit is s (seconds). </p> 1858 1859 1860</DD> 1861 1862<DT><b><a name="data_directory">data_directory</a> 1863(default: see "postconf -d" output)</b></DT><DD> 1864 1865<p> The directory with Postfix-writable data files (for example: 1866caches, pseudo-random numbers). This directory must be owned by 1867the <a href="postconf.5.html#mail_owner">mail_owner</a> account, and must not be shared with non-Postfix 1868software. </p> 1869 1870<p> This feature is available in Postfix 2.5 and later. </p> 1871 1872 1873</DD> 1874 1875<DT><b><a name="debug_peer_level">debug_peer_level</a> 1876(default: 2)</b></DT><DD> 1877 1878<p> The increment in verbose logging level when a nexthop destination, 1879remote client or server name or network address matches a pattern 1880given with the <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter. </p> 1881 1882<p> Per-nexthop debug logging is available in Postfix 3.6 and later. </p> 1883 1884 1885</DD> 1886 1887<DT><b><a name="debug_peer_list">debug_peer_list</a> 1888(default: empty)</b></DT><DD> 1889 1890<p> Optional list of nexthop destination, remote client or server 1891name or network address patterns that, if matched, cause the verbose 1892logging level to increase by the amount specified in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>. 1893</p> 1894 1895<p> Per-nexthop debug logging is available in Postfix 3.6 and later. </p> 1896 1897<p> Specify domain names, network/netmask patterns, "/file/name" 1898patterns or "<a href="DATABASE_README.html">type:table</a>" lookup tables. The right-hand side result 1899from "<a href="DATABASE_README.html">type:table</a>" lookups is ignored. </p> 1900 1901<p> Pattern matching of domain names is controlled by the presence 1902or 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> 1903parameter value. </p> 1904 1905<p> 1906Examples: 1907</p> 1908 1909<pre> 1910<a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = 127.0.0.1 1911<a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = example.com 1912</pre> 1913 1914 1915</DD> 1916 1917<DT><b><a name="debugger_command">debugger_command</a> 1918(default: empty)</b></DT><DD> 1919 1920<p> 1921The external command to execute when a Postfix daemon program is 1922invoked with the -D option. 1923</p> 1924 1925<p> 1926Use "command .. & sleep 5" so that the debugger can attach before 1927the process marches on. If you use an X-based debugger, be sure to 1928set up your XAUTHORITY environment variable before starting Postfix. 1929</p> 1930 1931<p> 1932Note: the command is subject to $name expansion, before it is 1933passed to the default command interpreter. Specify "$$" to 1934produce a single "$" character. 1935</p> 1936 1937<p> 1938Example: 1939</p> 1940 1941<pre> 1942<a href="postconf.5.html#debugger_command">debugger_command</a> = 1943 PATH=/usr/bin:/usr/X11R6/bin 1944 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 1945</pre> 1946 1947 1948</DD> 1949 1950<DT><b><a name="default_database_type">default_database_type</a> 1951(default: see "postconf -d" output)</b></DT><DD> 1952 1953<p> 1954The default database type for use in <a href="newaliases.1.html">newaliases(1)</a>, <a href="postalias.1.html">postalias(1)</a> 1955and <a href="postmap.1.html">postmap(1)</a> commands. On many UNIX systems the default type is 1956either <b>dbm</b> or <b>hash</b>. The default setting is frozen 1957when the Postfix system is built. 1958</p> 1959 1960<p> 1961Examples: 1962</p> 1963 1964<pre> 1965<a href="postconf.5.html#default_database_type">default_database_type</a> = hash 1966<a href="postconf.5.html#default_database_type">default_database_type</a> = dbm 1967</pre> 1968 1969 1970</DD> 1971 1972<DT><b><a name="default_delivery_slot_cost">default_delivery_slot_cost</a> 1973(default: 5)</b></DT><DD> 1974 1975<p> 1976How often the Postfix queue manager's scheduler is allowed to 1977preempt delivery of one message with another. 1978</p> 1979 1980<p> 1981Each transport maintains a so-called "available delivery slot counter" 1982for each message. One message can be preempted by another one when 1983the other message can be delivered using no more delivery slots 1984(i.e., invocations of delivery agents) than the current message 1985counter has accumulated (or will eventually accumulate - see about 1986slot loans below). This parameter controls how often the counter is 1987incremented - it happens after each <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> 1988recipients have been delivered. 1989</p> 1990 1991<p> 1992The cost of 0 is used to disable the preempting scheduling completely. 1993The minimum value the scheduling algorithm can use is 2 - use it 1994if you want to maximize the message throughput rate. Although there 1995is no maximum, it doesn't make much sense to use values above say 199650. 1997</p> 1998 1999<p> 2000The only reason why the value of 2 is not the default is the way 2001this parameter affects the delivery of mailing-list mail. In the 2002worst case, delivery can take somewhere between (cost+1/cost) 2003and (cost/cost-1) times more than if the preemptive scheduler was 2004disabled. The default value of 5 turns out to provide reasonable 2005message response times while making sure the mailing-list deliveries 2006are not extended by more than 20-25 percent even in the worst case. 2007</p> 2008 2009<p> Use <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> to specify a 2010transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2011name of the message delivery transport. 2012</p> 2013 2014<p> 2015Examples: 2016</p> 2017 2018<pre> 2019<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 0 2020<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 2 2021</pre> 2022 2023 2024</DD> 2025 2026<DT><b><a name="default_delivery_slot_discount">default_delivery_slot_discount</a> 2027(default: 50)</b></DT><DD> 2028 2029<p> 2030The default value for transport-specific _delivery_slot_discount 2031settings. 2032</p> 2033 2034<p> 2035This parameter speeds up the moment when a message preemption can 2036happen. Instead of waiting until the full amount of delivery slots 2037required is available, the preemption can happen when 2038<a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> percent of the required amount 2039plus <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> still remains to be accumulated. 2040Note that the full amount will still have to be accumulated before 2041another preemption can take place later. 2042</p> 2043 2044<p> Use <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> to specify a 2045transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2046name of the message delivery transport. 2047</p> 2048 2049 2050</DD> 2051 2052<DT><b><a name="default_delivery_slot_loan">default_delivery_slot_loan</a> 2053(default: 3)</b></DT><DD> 2054 2055<p> 2056The default value for transport-specific _delivery_slot_loan 2057settings. 2058</p> 2059 2060<p> 2061This parameter speeds up the moment when a message preemption can 2062happen. Instead of waiting until the full amount of delivery slots 2063required is available, the preemption can happen when 2064<a href="postconf.5.html#transport_delivery_slot_discount">transport_delivery_slot_discount</a> percent of the required amount 2065plus <a href="postconf.5.html#transport_delivery_slot_loan">transport_delivery_slot_loan</a> still remains to be accumulated. 2066Note that the full amount will still have to be accumulated before 2067another preemption can take place later. 2068</p> 2069 2070<p> Use <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> to specify a 2071transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2072name of the message delivery transport. 2073</p> 2074 2075 2076</DD> 2077 2078<DT><b><a name="default_delivery_status_filter">default_delivery_status_filter</a> 2079(default: empty)</b></DT><DD> 2080 2081<p> Optional filter to replace the delivery status code or explanatory 2082text of successful or unsuccessful deliveries. This does not allow 2083the replacement of a successful status code (2.X.X) with an 2084unsuccessful status code (4.X.X or 5.X.X) or vice versa. </p> 2085 2086<p> Note: the (smtp|lmtp)_delivery_status_filter is applied only 2087once per recipient: when delivery is successful, when delivery is 2088rejected with 5XX, or when there are no more alternate MX or A 2089destinations. 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 2090responses for all delivery attempts. </p> 2091 2092<p> The following parameters can be used to implement a filter for 2093specific delivery agents: <a href="postconf.5.html#lmtp_delivery_status_filter">lmtp_delivery_status_filter</a>, 2094<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>, 2095<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 2096parameters support the same filter syntax as described here. </p> 2097 2098<p> Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup table names, separated 2099by comma or whitespace. For each successful or unsuccessful delivery 2100to a recipient, the tables are queried in the specified order with 2101one line of text that is structured as follows: </p> 2102 2103<blockquote> 2104enhanced-status-code SPACE explanatory-text 2105</blockquote> 2106 2107<p> The first table match wins. The lookup result must have the 2108same structure as the query, a successful status code (2.X.X) must 2109be replaced with a successful status code, an unsuccessful status 2110code (4.X.X or 5.X.X) must be replaced with an unsuccessful status 2111code, and the explanatory text field must be non-empty. Other results 2112will result in a warning. </p> 2113 2114<p> Example 1: convert specific soft TLS errors into hard errors, 2115by overriding the first number in the enhanced status code. </p> 2116 2117<blockquote> 2118<pre> 2119/etc/postfix/<a href="postconf.5.html">main.cf</a>: 2120 <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 2121</pre> 2122</blockquote> 2123 2124<blockquote> 2125<pre> 2126/etc/postfix/smtp_dsn_filter: 2127 /^4(\.\d+\.\d+ TLS is required, but host \S+ refused to start TLS: .+)/ 2128 5$1 2129 /^4(\.\d+\.\d+ TLS is required, but was not offered by host .+)/ 2130 5$1 2131 # Do not change the following into hard bounces. They may 2132 # result from a local configuration problem. 2133 # 4.\d+.\d+ TLS is required, but our TLS engine is unavailable 2134 # 4.\d+.\d+ TLS is required, but unavailable 2135 # 4.\d+.\d+ Cannot start TLS: handshake failure 2136</pre> 2137</blockquote> 2138 2139<p> Example 2: censor the per-recipient delivery status text so 2140that it does not reveal the destination command or filename 2141when a remote sender requests confirmation of successful delivery. 2142</p> 2143 2144<blockquote> 2145<pre> 2146/etc/postfix/<a href="postconf.5.html">main.cf</a>: 2147 <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 2148</pre> 2149</blockquote> 2150 2151<blockquote> 2152<pre> 2153/etc/postfix/local_dsn_filter: 2154 /^(2\S+ delivered to file).+/ $1 2155 /^(2\S+ delivered to command).+/ $1 2156</pre> 2157</blockquote> 2158 2159<p> Notes: </p> 2160 2161<ul> 2162 2163<li> <p> This feature will NOT override the <a href="postconf.5.html#soft_bounce">soft_bounce</a> safety net. </p> 2164 2165<li> <p> This feature will change the enhanced status code and text 2166that is logged to the maillog file, and that is reported to the 2167sender in delivery confirmation or non-delivery notifications. 2168</p> 2169 2170</ul> 2171 2172<p> This feature is available in Postfix 3.0 and later. </p> 2173 2174 2175</DD> 2176 2177<DT><b><a name="default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> 2178(default: 1)</b></DT><DD> 2179 2180<p> How many pseudo-cohorts must suffer connection or handshake 2181failure before a specific destination is considered unavailable 2182(and further delivery is suspended). Specify zero to disable this 2183feature. A destination's pseudo-cohort failure count is reset each 2184time a delivery completes without connection or handshake failure 2185for that specific destination. </p> 2186 2187<p> A pseudo-cohort is the number of deliveries equal to a destination's 2188delivery concurrency. </p> 2189 2190<p> Use <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> to specify 2191a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2192name of the message delivery transport. </p> 2193 2194<p> This feature is available in Postfix 2.5. The default setting 2195is compatible with earlier Postfix versions. </p> 2196 2197 2198</DD> 2199 2200<DT><b><a name="default_destination_concurrency_limit">default_destination_concurrency_limit</a> 2201(default: 20)</b></DT><DD> 2202 2203<p> 2204The default maximal number of parallel deliveries to the same 2205destination. This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>, 2206<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. 2207With a per-destination recipient limit > 1, a destination is a domain, 2208otherwise it is a recipient. 2209</p> 2210 2211<p> Use <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> to specify a 2212transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2213name of the message delivery transport. 2214</p> 2215 2216 2217</DD> 2218 2219<DT><b><a name="default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> 2220(default: 1)</b></DT><DD> 2221 2222<p> The per-destination amount of delivery concurrency negative 2223feedback, after a delivery completes with a connection or handshake 2224failure. Feedback values are in the range 0..1 inclusive. With 2225negative feedback, concurrency is decremented at the beginning of 2226a sequence of length 1/feedback. This is unlike positive feedback, 2227where concurrency is incremented at the end of a sequence of length 22281/feedback. </p> 2229 2230<p> As of Postfix version 2.5, negative feedback cannot reduce 2231delivery concurrency to zero. Instead, a destination is marked 2232dead (further delivery suspended) after the failed pseudo-cohort 2233count reaches $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> 2234(or $<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>). 2235To make the scheduler completely immune to connection or handshake 2236failures, specify a zero feedback value and a zero failed pseudo-cohort 2237limit. </p> 2238 2239<p> Specify one of the following forms: </p> 2240 2241<dl> 2242 2243<dt> <b><i>number</i> </b> </dt> 2244 2245<dt> <b><i>number</i> / <i>number</i> </b> </dt> 2246 2247<dd> Constant feedback. The value must be in the range 0..1 inclusive. 2248The default setting of "1" is compatible with Postfix versions 2249before 2.5, where a destination's delivery concurrency is throttled 2250down to zero (and further delivery suspended) after a single failed 2251pseudo-cohort. </dd> 2252 2253<dt> <b><i>number</i> / concurrency </b> </dt> 2254 2255<dd> Variable feedback of "<i>number</i> / (delivery concurrency)". 2256The <i>number</i> must be in the range 0..1 inclusive. With 2257<i>number</i> equal to "1", a destination's delivery concurrency 2258is decremented by 1 after each failed pseudo-cohort. </dd> 2259 2260</dl> 2261 2262<p> A pseudo-cohort is the number of deliveries equal to a destination's 2263delivery concurrency. </p> 2264 2265<p> Use <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a> 2266to specify a transport-specific override, where <i>transport</i> 2267is the <a href="master.5.html">master.cf</a> 2268name of the message delivery transport. </p> 2269 2270<p> This feature is available in Postfix 2.5. The default setting 2271is compatible with earlier Postfix versions. </p> 2272 2273 2274</DD> 2275 2276<DT><b><a name="default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> 2277(default: 1)</b></DT><DD> 2278 2279<p> The per-destination amount of delivery concurrency positive 2280feedback, after a delivery completes without connection or handshake 2281failure. Feedback values are in the range 0..1 inclusive. The 2282concurrency increases until it reaches the per-destination maximal 2283concurrency limit. With positive feedback, concurrency is incremented 2284at the end of a sequence with length 1/feedback. This is unlike 2285negative feedback, where concurrency is decremented at the start 2286of a sequence of length 1/feedback. </p> 2287 2288<p> Specify one of the following forms: </p> 2289 2290<dl> 2291 2292<dt> <b><i>number</i> </b> </dt> 2293 2294<dt> <b><i>number</i> / <i>number</i> </b> </dt> 2295 2296<dd> Constant feedback. The value must be in the range 0..1 2297inclusive. The default setting of "1" is compatible with Postfix 2298versions before 2.5, where a destination's delivery concurrency 2299doubles after each successful pseudo-cohort. </dd> 2300 2301<dt> <b><i>number</i> / concurrency </b> </dt> 2302 2303<dd> Variable feedback of "<i>number</i> / (delivery concurrency)". 2304The <i>number</i> must be in the range 0..1 inclusive. With 2305<i>number</i> equal to "1", a destination's delivery concurrency 2306is incremented by 1 after each successful pseudo-cohort. </dd> 2307 2308</dl> 2309 2310<p> A pseudo-cohort is the number of deliveries equal to a destination's 2311delivery concurrency. </p> 2312 2313<p> Use <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a> 2314to specify a transport-specific override, where <i>transport</i> 2315is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p> 2316 2317<p> This feature is available in Postfix 2.5 and later. </p> 2318 2319 2320</DD> 2321 2322<DT><b><a name="default_destination_rate_delay">default_destination_rate_delay</a> 2323(default: 0s)</b></DT><DD> 2324 2325<p> The default amount of delay that is inserted between individual 2326message deliveries to the same destination and over the same message 2327delivery transport. Specify a non-zero value to rate-limit those 2328message deliveries to at most one per $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>. 2329</p> 2330 2331<p> The resulting behavior depends on the value of the corresponding 2332per-destination recipient limit. 2333 2334</p> 2335 2336<ul> 2337 2338<li> <p> With a corresponding per-destination recipient limit > 23391, the rate delay specifies the time between deliveries to the 2340<i>same domain</i>. Different domains are delivered in parallel, 2341subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p> 2342 2343<li> <p> With a corresponding per-destination recipient limit equal 2344to 1, the rate delay specifies the time between deliveries to the 2345<i>same recipient</i>. Different recipients are delivered in 2346parallel, subject to the process limits specified in <a href="master.5.html">master.cf</a>. 2347</p> 2348 2349</ul> 2350 2351<p> To enable the delay, specify a non-zero time value (an integral 2352value plus an optional one-letter suffix that specifies the time 2353unit). </p> 2354 2355<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 2356(weeks). The default time unit is s (seconds). </p> 2357 2358<p> NOTE: the delay is enforced by the queue manager. The delay 2359timer state does not survive "<b>postfix reload</b>" or "<b>postfix 2360stop</b>". 2361</p> 2362 2363<p> Use <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> to specify a 2364transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2365name of the message delivery transport. 2366</p> 2367 2368<p> NOTE: with a non-zero _destination_rate_delay, specify a 2369<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> of 10 2370or more to prevent Postfix from deferring all mail for the same 2371destination after only one connection or handshake error. </p> 2372 2373<p> This feature is available in Postfix 2.5 and later. </p> 2374 2375 2376</DD> 2377 2378<DT><b><a name="default_destination_recipient_limit">default_destination_recipient_limit</a> 2379(default: 50)</b></DT><DD> 2380 2381<p> 2382The default maximal number of recipients per message delivery. 2383This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>, <a href="pipe.8.html">pipe(8)</a>, 2384<a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents. 2385</p> 2386 2387<p> Setting this parameter to a value of 1 affects email deliveries 2388as follows:</p> 2389 2390<ul> 2391 2392<li> <p> It changes the meaning of the corresponding per-destination 2393concurrency limit, from concurrency of deliveries to the <i>same 2394domain</i> into concurrency of deliveries to the <i>same recipient</i>. 2395Different recipients are delivered in parallel, subject to the 2396process limits specified in <a href="master.5.html">master.cf</a>. </p> 2397 2398<li> <p> It changes the meaning of the corresponding per-destination 2399rate delay, from the delay between deliveries to the <i>same 2400domain</i> into the delay between deliveries to the <i>same 2401recipient</i>. Again, different recipients are delivered in parallel, 2402subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p> 2403 2404<li> <p> It changes the meaning of other corresponding per-destination 2405settings in a similar manner, from settings for delivery to the 2406<i>same domain</i> into settings for delivery to the <i>same 2407recipient</i>. 2408 2409</ul> 2410 2411<p> Use <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> to specify a 2412transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2413name of the message delivery transport. 2414</p> 2415 2416 2417</DD> 2418 2419<DT><b><a name="default_extra_recipient_limit">default_extra_recipient_limit</a> 2420(default: 1000)</b></DT><DD> 2421 2422<p> 2423The default value for the extra per-transport limit imposed on the 2424number of in-memory recipients. This extra recipient space is 2425reserved for the cases when the Postfix queue manager's scheduler 2426preempts one message with another and suddenly needs some extra 2427recipient slots for the chosen message in order to avoid performance 2428degradation. 2429</p> 2430 2431<p> Use <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> to specify a 2432transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2433name of the message delivery transport. 2434</p> 2435 2436 2437</DD> 2438 2439<DT><b><a name="default_filter_nexthop">default_filter_nexthop</a> 2440(default: empty)</b></DT><DD> 2441 2442<p> When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies no explicit 2443next-hop destination, use $<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> instead; when 2444that value is empty, use the domain in the recipient address. 2445Specify "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility 2446with Postfix version 2.6 and earlier, or specify an explicit next-hop 2447destination with each <a href="postconf.5.html#content_filter">content_filter</a> value or FILTER action. </p> 2448 2449<p> This feature is available in Postfix 2.7 and later. </p> 2450 2451 2452</DD> 2453 2454<DT><b><a name="default_minimum_delivery_slots">default_minimum_delivery_slots</a> 2455(default: 3)</b></DT><DD> 2456 2457<p> 2458How many recipients a message must have in order to invoke the 2459Postfix queue manager's scheduling algorithm at all. Messages 2460which would never accumulate at least this many delivery slots 2461(subject to slot cost parameter as well) are never preempted. 2462</p> 2463 2464<p> Use <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> to specify a 2465transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2466name of the message delivery transport. 2467</p> 2468 2469 2470</DD> 2471 2472<DT><b><a name="default_privs">default_privs</a> 2473(default: nobody)</b></DT><DD> 2474 2475<p> 2476The default rights used by the <a href="local.8.html">local(8)</a> delivery agent for delivery 2477to an external file or command. These rights are used when delivery 2478is requested from an <a href="aliases.5.html">aliases(5)</a> file that is owned by <b>root</b>, or 2479when delivery is done on behalf of <b>root</b>. <b>DO NOT SPECIFY A 2480PRIVILEGED USER OR THE POSTFIX OWNER</b>. 2481</p> 2482 2483 2484</DD> 2485 2486<DT><b><a name="default_process_limit">default_process_limit</a> 2487(default: 100)</b></DT><DD> 2488 2489<p> 2490The default maximal number of Postfix child processes that provide 2491a given service. This limit can be overruled for specific services 2492in the <a href="master.5.html">master.cf</a> file. 2493</p> 2494 2495 2496</DD> 2497 2498<DT><b><a name="default_rbl_reply">default_rbl_reply</a> 2499(default: see "postconf -d" output)</b></DT><DD> 2500 2501<p> 2502The default Postfix SMTP server response template for a request that is 2503rejected by an RBL-based restriction. This template can be overruled 2504by specific entries in the optional <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> lookup table. 2505</p> 2506 2507<p> 2508This feature is available in Postfix 2.0 and later. 2509</p> 2510 2511<p> 2512The template does not support Postfix configuration parameter $name 2513substitution. Instead, it supports exactly one level of $name 2514substitution for the following attributes: 2515</p> 2516 2517<dl> 2518 2519<dt><b>$client</b></dt> 2520 2521<dd>The client hostname and IP address, formatted as name[address]. </dd> 2522 2523<dt><b>$client_address</b></dt> 2524 2525<dd>The client IP address. </dd> 2526 2527<dt><b>$client_name</b></dt> 2528 2529<dd>The client hostname or "unknown". See <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> 2530for more details. </dd> 2531 2532<dt><b>$reverse_client_name</b></dt> 2533 2534<dd>The client hostname from address->name lookup, or "unknown". 2535See <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a> for more details. </dd> 2536 2537<dt><b>$helo_name</b></dt> 2538 2539<dd>The hostname given in HELO or EHLO command or empty string. </dd> 2540 2541<dt><b>$rbl_class</b></dt> 2542 2543<dd>The denylisted entity type: Client host, Helo command, Sender 2544address, or Recipient address. </dd> 2545 2546<dt><b>$rbl_code</b></dt> 2547 2548<dd>The numerical SMTP response code, as specified with the 2549<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> configuration parameter. Note: The numerical 2550SMTP response code is required, and must appear at the start of the 2551reply. With Postfix version 2.3 and later this information may be followed 2552by an <a href="https://tools.ietf.org/html/rfc3463">RFC 3463</a> enhanced status code. </dd> 2553 2554<dt><b>$rbl_domain</b></dt> 2555 2556<dd>The RBL domain where $rbl_what is denylisted. </dd> 2557 2558<dt><b>$rbl_reason</b></dt> 2559 2560<dd>The reason why $rbl_what is denylisted, or an empty string. </dd> 2561 2562<dt><b>$rbl_what</b></dt> 2563 2564<dd>The entity that is denylisted (an IP address, a hostname, a domain 2565name, or an email address whose domain was denylisted). </dd> 2566 2567<dt><b>$recipient</b></dt> 2568 2569<dd>The recipient address or <> in case of the null address. </dd> 2570 2571<dt><b>$recipient_domain</b></dt> 2572 2573<dd>The recipient domain or empty string. </dd> 2574 2575<dt><b>$recipient_name</b></dt> 2576 2577<dd>The recipient address localpart or <> in case of null address. </dd> 2578 2579<dt><b>$sender</b></dt> 2580 2581<dd>The sender address or <> in case of the null address. </dd> 2582 2583<dt><b>$sender_domain</b></dt> 2584 2585<dd>The sender domain or empty string. </dd> 2586 2587<dt><b>$sender_name</b></dt> 2588 2589<dd>The sender address localpart or <> in case of the null address. </dd> 2590 2591<dt><b>${name?value}</b></dt> 2592 2593<dt><b>${name?{value}}</b> (Postfix ≥ 3.0)</dt> 2594 2595<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd> 2596 2597<dt><b>${name:value}</b></dt> 2598 2599<dt><b>${name:{value}}</b> (Postfix ≥ 3.0)</dt> 2600 2601<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd> 2602 2603<dt><b>${name?{value1}:{value2}}</b> (Postfix ≥ 3.0)</dt> 2604 2605<dd>Expands to <i>value1</i> when <i>$name</i> is non-empty, 2606<i>value2</i> otherwise. </dd> 2607 2608</dl> 2609 2610<p> 2611Instead of $name you can also specify ${name} or $(name). 2612</p> 2613 2614<p> Note: when an enhanced status code is specified in an RBL reply 2615template, it is subject to modification. The following transformations 2616are needed when the same RBL reply template is used for client, 2617helo, sender, or recipient access restrictions. </p> 2618 2619<ul> 2620 2621<li> <p> When rejecting a sender address, the Postfix SMTP server 2622will transform a recipient DSN status (e.g., 4.1.1-4.1.6) into the 2623corresponding sender DSN status, and vice versa. </p> 2624 2625<li> <p> When rejecting non-address information (such as the HELO 2626command argument or the client hostname/address), the Postfix SMTP 2627server will transform a sender or recipient DSN status into a generic 2628non-address DSN status (e.g., 4.0.0). </p> 2629 2630</ul> 2631 2632 2633</DD> 2634 2635<DT><b><a name="default_recipient_limit">default_recipient_limit</a> 2636(default: 20000)</b></DT><DD> 2637 2638<p> 2639The default per-transport upper limit on the number of in-memory 2640recipients. These limits take priority over the global 2641<a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> after the message has been assigned 2642to the respective transports. See also <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a> 2643and <a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>. 2644</p> 2645 2646<p> Use <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> to specify a 2647transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2648name of the message delivery transport. 2649</p> 2650 2651 2652</DD> 2653 2654<DT><b><a name="default_recipient_refill_delay">default_recipient_refill_delay</a> 2655(default: 5s)</b></DT><DD> 2656 2657<p> 2658The default per-transport maximum delay between refilling recipients. 2659When not all message recipients fit into memory at once, keep loading 2660more of them at least once every this many seconds. This is used to 2661make sure the recipients are refilled in a timely manner even when 2662$<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> is too high for too slow deliveries. 2663</p> 2664 2665<p> Use <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> to specify a 2666transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2667name of the message delivery transport. 2668</p> 2669 2670<p> This feature is available in Postfix 2.4 and later. </p> 2671 2672 2673</DD> 2674 2675<DT><b><a name="default_recipient_refill_limit">default_recipient_refill_limit</a> 2676(default: 100)</b></DT><DD> 2677 2678<p> 2679The default per-transport limit on the number of recipients refilled at 2680once. When not all message recipients fit into memory at once, keep 2681loading more of them in batches of at least this many at a time. See also 2682$<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>, which may result in recipient batches 2683lower than this when this limit is too high for too slow deliveries. 2684</p> 2685 2686<p> Use <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> to specify a 2687transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2688name of the message delivery transport. 2689</p> 2690 2691<p> This feature is available in Postfix 2.4 and later. </p> 2692 2693 2694</DD> 2695 2696<DT><b><a name="default_transport">default_transport</a> 2697(default: smtp)</b></DT><DD> 2698 2699<p> 2700The default mail delivery transport and next-hop destination for 2701destinations that do not match $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>, 2702$<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>, 2703or $<a href="postconf.5.html#relay_domains">relay_domains</a>. This information can be overruled with the 2704<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter and with the 2705<a href="transport.5.html">transport(5)</a> table. </p> 2706 2707<p> 2708In order of decreasing precedence, the nexthop destination is taken 2709from $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>, $<a href="postconf.5.html#default_transport">default_transport</a>, 2710$<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>, $<a href="postconf.5.html#relayhost">relayhost</a>, or from the recipient 2711domain. 2712</p> 2713 2714<p> 2715Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i> 2716is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>. 2717The <i>:nexthop</i> destination is optional; its syntax is documented 2718in the manual page of the corresponding delivery agent. In the case of 2719SMTP or LMTP, specify one or more destinations separated by comma or 2720whitespace (with Postfix 3.5 and later). 2721</p> 2722 2723<p> 2724Example: 2725</p> 2726 2727<pre> 2728<a href="postconf.5.html#default_transport">default_transport</a> = uucp:relayhostname 2729</pre> 2730 2731 2732</DD> 2733 2734<DT><b><a name="default_transport_rate_delay">default_transport_rate_delay</a> 2735(default: 0s)</b></DT><DD> 2736 2737<p> The default amount of delay that is inserted between individual 2738message deliveries over the same message delivery transport, 2739regardless of destination. Specify a non-zero value to rate-limit 2740those message deliveries to at most one per $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>. 2741</p> 2742 2743<p>Use <a href="postconf.5.html#transport_transport_rate_delay"><i>transport</i>_transport_rate_delay</a> to specify a 2744transport-specific override, where the initial <i>transport</i> is 2745the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p> 2746 2747<p> Example: throttle outbound SMTP mail to at most 3 deliveries 2748per minute. </p> 2749 2750<pre> 2751/etc/postfix/<a href="postconf.5.html">main.cf</a>: 2752 smtp_transport_rate_delay = 20s 2753</pre> 2754 2755<p> To enable the delay, specify a non-zero time value (an integral 2756value plus an optional one-letter suffix that specifies the time 2757unit). </p> 2758 2759<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 2760(weeks). The default time unit is s (seconds). </p> 2761 2762<p> NOTE: the delay is enforced by the queue manager. </p> 2763 2764<p> This feature is available in Postfix 3.1 and later. </p> 2765 2766 2767</DD> 2768 2769<DT><b><a name="default_verp_delimiters">default_verp_delimiters</a> 2770(default: +=)</b></DT><DD> 2771 2772<p> The two default VERP delimiter characters. These are used when 2773no explicit delimiters are specified with the SMTP XVERP command 2774or with the "<b>sendmail -XV</b>" command-line option (Postfix 2.2 2775and earlier: <b>-V</b>). Specify characters that are allowed by the 2776<a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> setting. 2777</p> 2778 2779<p> 2780This feature is available in Postfix 1.1 and later. 2781</p> 2782 2783 2784</DD> 2785 2786<DT><b><a name="defer_code">defer_code</a> 2787(default: 450)</b></DT><DD> 2788 2789<p> 2790The numerical Postfix SMTP server response code when a remote SMTP 2791client request is rejected by the "defer" restriction. 2792</p> 2793 2794<p> 2795Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 2796</p> 2797 2798 2799</DD> 2800 2801<DT><b><a name="defer_service_name">defer_service_name</a> 2802(default: defer)</b></DT><DD> 2803 2804<p> 2805The name of the defer service. This service is implemented by the 2806<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record 2807of failed delivery attempts and generates non-delivery notifications. 2808</p> 2809 2810<p> 2811This feature is available in Postfix 2.0 and later. 2812</p> 2813 2814 2815</DD> 2816 2817<DT><b><a name="defer_transports">defer_transports</a> 2818(default: empty)</b></DT><DD> 2819 2820<p> 2821The names of message delivery transports that should not deliver mail 2822unless someone issues "<b>sendmail -q</b>" or equivalent. Specify zero 2823or more mail delivery transport names that appear in the 2824first field of <a href="master.5.html">master.cf</a>. 2825</p> 2826 2827<p> 2828Example: 2829</p> 2830 2831<pre> 2832<a href="postconf.5.html#defer_transports">defer_transports</a> = smtp 2833</pre> 2834 2835 2836</DD> 2837 2838<DT><b><a name="delay_logging_resolution_limit">delay_logging_resolution_limit</a> 2839(default: 2)</b></DT><DD> 2840 2841<p> The maximal number of digits after the decimal point when logging 2842sub-second delay values. Specify a number in the range 0..6. </p> 2843 2844<p> Large delay values are rounded off to an integral number of seconds; 2845delay values below the <a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> are logged 2846as "0", and delay values under 100s are logged with at most two-digit 2847precision. </p> 2848 2849<p> The format of the "delays=a/b/c/d" logging is as follows: </p> 2850 2851<ul> 2852 2853<li> a = time from message arrival to last <a href="QSHAPE_README.html#active_queue">active queue</a> entry 2854 2855<li> b = time from last <a href="QSHAPE_README.html#active_queue">active queue</a> entry to connection setup 2856 2857<li> c = time in connection setup, including DNS, EHLO and STARTTLS 2858 2859<li> d = time in message transmission 2860 2861</ul> 2862 2863<p> This feature is available in Postfix 2.3 and later. </p> 2864 2865 2866</DD> 2867 2868<DT><b><a name="delay_notice_recipient">delay_notice_recipient</a> 2869(default: postmaster)</b></DT><DD> 2870 2871<p> 2872The recipient of postmaster notifications with the message headers 2873of mail that cannot be delivered within $<a href="postconf.5.html#delay_warning_time">delay_warning_time</a> time 2874units. </p> 2875 2876<p> 2877See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>. 2878</p> 2879 2880 2881</DD> 2882 2883<DT><b><a name="delay_warning_time">delay_warning_time</a> 2884(default: 0h)</b></DT><DD> 2885 2886<p> 2887The time after which the sender receives a copy of the message 2888headers of mail that is still queued. The <a href="postconf.5.html#confirm_delay_cleared">confirm_delay_cleared</a> 2889parameter controls sender notification when the delay clears up. 2890</p> 2891 2892<p> 2893To enable this feature, specify a non-zero time value (an integral 2894value plus an optional one-letter suffix that specifies the time 2895unit). 2896</p> 2897 2898<p> 2899Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 2900The default time unit is h (hours). 2901</p> 2902 2903<p> 2904See 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>. 2905</p> 2906 2907 2908</DD> 2909 2910<DT><b><a name="deliver_lock_attempts">deliver_lock_attempts</a> 2911(default: 20)</b></DT><DD> 2912 2913<p> 2914The maximal number of attempts to acquire an exclusive lock on a 2915mailbox file or <a href="bounce.8.html">bounce(8)</a> logfile. 2916</p> 2917 2918 2919</DD> 2920 2921<DT><b><a name="deliver_lock_delay">deliver_lock_delay</a> 2922(default: 1s)</b></DT><DD> 2923 2924<p> 2925The time between attempts to acquire an exclusive lock on a mailbox 2926file or <a href="bounce.8.html">bounce(8)</a> logfile. 2927</p> 2928 2929<p> Specify a non-zero time value (an integral value plus an optional 2930one-letter suffix that specifies the time unit). Time units: s 2931(seconds), m (minutes), h (hours), d (days), w (weeks). 2932The default time unit is s (seconds). </p> 2933 2934 2935</DD> 2936 2937<DT><b><a name="destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a> 2938(default: no)</b></DT><DD> 2939 2940<p> Make the queue manager's feedback algorithm verbose for performance 2941analysis purposes. </p> 2942 2943<p> This feature is available in Postfix 2.5 and later. </p> 2944 2945 2946</DD> 2947 2948<DT><b><a name="detect_8bit_encoding_header">detect_8bit_encoding_header</a> 2949(default: yes)</b></DT><DD> 2950 2951<p> Automatically detect 8BITMIME body content by looking at 2952Content-Transfer-Encoding: message headers; historically, this 2953behavior was hard-coded to be "always on". </p> 2954 2955<p> This feature is available in Postfix 2.5 and later. </p> 2956 2957 2958</DD> 2959 2960<DT><b><a name="disable_dns_lookups">disable_dns_lookups</a> 2961(default: no)</b></DT><DD> 2962 2963<p> 2964Disable DNS lookups in the Postfix SMTP and LMTP clients. When 2965disabled, hosts are looked up with the getaddrinfo() system 2966library routine which normally also looks in /etc/hosts. As of 2967Postfix 2.11, this parameter is deprecated; use <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> 2968instead. 2969</p> 2970 2971<p> 2972DNS lookups are enabled by default. 2973</p> 2974 2975 2976</DD> 2977 2978<DT><b><a name="disable_mime_input_processing">disable_mime_input_processing</a> 2979(default: no)</b></DT><DD> 2980 2981<p> 2982Turn off MIME processing while receiving mail. This means that no 2983special treatment is given to Content-Type: message headers, and 2984that all text after the initial message headers is considered to 2985be part of the message body. 2986</p> 2987 2988<p> 2989This feature is available in Postfix 2.0 and later. 2990</p> 2991 2992<p> 2993Mime input processing is enabled by default, and is needed in order 2994to recognize MIME headers in message content. 2995</p> 2996 2997 2998</DD> 2999 3000<DT><b><a name="disable_mime_output_conversion">disable_mime_output_conversion</a> 3001(default: no)</b></DT><DD> 3002 3003<p> 3004Disable the conversion of 8BITMIME format to 7BIT format. Mime 3005output conversion is needed when the destination does not advertise 30068BITMIME support. 3007</p> 3008 3009<p> 3010This feature is available in Postfix 2.0 and later. 3011</p> 3012 3013 3014</DD> 3015 3016<DT><b><a name="disable_verp_bounces">disable_verp_bounces</a> 3017(default: no)</b></DT><DD> 3018 3019<p> 3020Disable sending one bounce report per recipient. 3021</p> 3022 3023<p> 3024The default, one per recipient, is what ezmlm needs. 3025</p> 3026 3027<p> 3028This feature is available in Postfix 1.1 and later. 3029</p> 3030 3031 3032</DD> 3033 3034<DT><b><a name="disable_vrfy_command">disable_vrfy_command</a> 3035(default: no)</b></DT><DD> 3036 3037<p> 3038Disable the SMTP VRFY command. This stops some techniques used to 3039harvest email addresses. 3040</p> 3041 3042<p> 3043Example: 3044</p> 3045 3046<pre> 3047<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> = no 3048</pre> 3049 3050 3051</DD> 3052 3053<DT><b><a name="dns_ncache_ttl_fix_enable">dns_ncache_ttl_fix_enable</a> 3054(default: no)</b></DT><DD> 3055 3056<p> Enable a workaround for future libc incompatibility. The Postfix 3057implementation of <a href="https://tools.ietf.org/html/rfc2308">RFC 2308</a> negative reply caching relies on the 3058promise that res_query() and res_search() invoke res_send(), which 3059returns the server response in an application buffer even if the 3060requested record does not exist. If this promise is broken, specify 3061"yes" to enable a workaround for DNS reputation lookups. </p> 3062 3063<p> 3064This feature is available in Postfix 3.1 and later. 3065</p> 3066 3067 3068</DD> 3069 3070<DT><b><a name="dnsblog_reply_delay">dnsblog_reply_delay</a> 3071(default: 0s)</b></DT><DD> 3072 3073<p> A debugging aid to artificially delay DNS responses. </p> 3074 3075<p> This feature is available in Postfix 2.8. </p> 3076 3077 3078</DD> 3079 3080<DT><b><a name="dnsblog_service_name">dnsblog_service_name</a> 3081(default: dnsblog)</b></DT><DD> 3082 3083<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 3084service performs DNS allow/denylist lookups. </p> 3085 3086<p> This feature is available in Postfix 2.8 and later. </p> 3087 3088 3089</DD> 3090 3091<DT><b><a name="dnssec_probe">dnssec_probe</a> 3092(default: ns:.)</b></DT><DD> 3093 3094<p> The DNS query type (default: "ns") and DNS query name (default: 3095".") that Postfix may use to determine whether DNSSEC validation 3096is available. 3097</p> 3098 3099<p> Background: DNSSEC validation is needed for Postfix DANE support; 3100this ensures that Postfix receives TLSA records with secure TLS 3101server certificate info. When DNSSEC validation is unavailable, 3102mail deliveries using <i>opportunistic</i> DANE will not be protected 3103by server certificate info in TLSA records, and mail deliveries 3104using <i>mandatory</i> DANE will not be made at all. </p> 3105 3106<p> By default, a Postfix process will send a DNSSEC probe after 31071) the process made a DNS query that requested DNSSEC validation, 31082) the process did not receive a DNSSEC validated response to this 3109query or to an earlier query, and 3) the process did not already 3110send a DNSSEC probe. <p> 3111 3112<p> When the DNSSEC probe has no response, or when the response is 3113not DNSSEC validated, Postfix logs a warning that DNSSEC validation 3114may be unavailable. </p> 3115 3116<p> Example: </p> 3117 3118<pre> 3119warning: DNSSEC validation may be unavailable 3120warning: reason: <a href="postconf.5.html#dnssec_probe">dnssec_probe</a> 'ns:.' received a response that is not DNSSEC validated 3121warning: reason: <a href="postconf.5.html#dnssec_probe">dnssec_probe</a> 'ns:.' received no response: Server failure 3122</pre> 3123 3124<p> Possible reasons why DNSSEC validation may be unavailable: </p> 3125 3126<ul> 3127 3128<li> The local /etc/resolv.conf file specifies a DNS resolver that 3129does not validate DNSSEC signatures (that's 3130$<a href="postconf.5.html#queue_directory">queue_directory</a>/etc/resolv.conf when a Postfix daemon runs in a 3131chroot jail). 3132 3133<li> The local system library does not pass on the "DNSSEC validated" 3134bit to Postfix, or Postfix does not know how to ask the library to 3135do that. 3136 3137</ul> 3138 3139<p> By default, the DNSSEC probe asks for the DNS root zone NS 3140records, because resolvers should always have that information 3141cached. If Postfix runs on a network where the DNS root zone is not 3142reachable, specify a different probe, or specify an empty <a href="postconf.5.html#dnssec_probe">dnssec_probe</a> 3143value to disable the feature. </p> 3144 3145<p> This feature is available in Postfix 3.6 and later. It was backported 3146to Postfix versions 3.5.9, 3.4.19, 3.3.16. 3.2.21. </p> 3147 3148 3149</DD> 3150 3151<DT><b><a name="dont_remove">dont_remove</a> 3152(default: 0)</b></DT><DD> 3153 3154<p> 3155Don't remove queue files and save them to the "saved" mail queue. 3156This is a debugging aid. To inspect the envelope information and 3157content of a Postfix queue file, use the <a href="postcat.1.html">postcat(1)</a> command. 3158</p> 3159 3160 3161</DD> 3162 3163<DT><b><a name="double_bounce_sender">double_bounce_sender</a> 3164(default: double-bounce)</b></DT><DD> 3165 3166<p> The sender address of postmaster notifications that are generated 3167by the mail system. All mail to this address is silently discarded, 3168in order to terminate mail bounce loops. </p> 3169 3170 3171</DD> 3172 3173<DT><b><a name="duplicate_filter_limit">duplicate_filter_limit</a> 3174(default: 1000)</b></DT><DD> 3175 3176<p> The maximal number of addresses remembered by the address 3177duplicate filter for <a href="aliases.5.html">aliases(5)</a> or <a href="virtual.5.html">virtual(5)</a> alias expansion, or 3178for <a href="showq.8.html">showq(8)</a> queue displays. </p> 3179 3180 3181</DD> 3182 3183<DT><b><a name="empty_address_default_transport_maps_lookup_key">empty_address_default_transport_maps_lookup_key</a> 3184(default: <>)</b></DT><DD> 3185 3186<p> The <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> search string that 3187will be used instead of the null sender address. </p> 3188 3189<p> This feature is available in Postfix 2.7 and later. </p> 3190 3191 3192</DD> 3193 3194<DT><b><a name="empty_address_local_login_sender_maps_lookup_key">empty_address_local_login_sender_maps_lookup_key</a> 3195(default: <>)</b></DT><DD> 3196 3197<p> 3198The lookup key to be used in <a href="postconf.5.html#local_login_sender_maps">local_login_sender_maps</a> tables, instead 3199of the null sender address. 3200</p> 3201 3202<p> This feature is available in Postfix 3.6 and later. </p> 3203 3204 3205</DD> 3206 3207<DT><b><a name="empty_address_recipient">empty_address_recipient</a> 3208(default: MAILER-DAEMON)</b></DT><DD> 3209 3210<p> 3211The recipient of mail addressed to the null address. Postfix does 3212not accept such addresses in SMTP commands, but they may still be 3213created locally as the result of configuration or software error. 3214</p> 3215 3216 3217</DD> 3218 3219<DT><b><a name="empty_address_relayhost_maps_lookup_key">empty_address_relayhost_maps_lookup_key</a> 3220(default: <>)</b></DT><DD> 3221 3222<p> The <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> search string that will be 3223used instead of the null sender address. </p> 3224 3225<p> This feature is available in Postfix 2.5 and later. With 3226earlier versions, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> lookups were 3227skipped for the null sender address. </p> 3228 3229 3230</DD> 3231 3232<DT><b><a name="enable_errors_to">enable_errors_to</a> 3233(default: no)</b></DT><DD> 3234 3235<p> Report mail delivery errors to the address specified with the 3236non-standard Errors-To: message header, instead of the envelope 3237sender address (this feature is removed with Postfix version 2.2, is 3238turned off by default with Postfix version 2.1, and is always turned on 3239with older Postfix versions). </p> 3240 3241 3242</DD> 3243 3244<DT><b><a name="enable_idna2003_compatibility">enable_idna2003_compatibility</a> 3245(default: no)</b></DT><DD> 3246 3247<p> Enable 'transitional' compatibility between IDNA2003 and IDNA2008, 3248when converting UTF-8 domain names to/from the ASCII form that is 3249used for DNS lookups. Specify "yes" for compatibility with Postfix 3250≤ 3.1 (not recommended). This affects the conversion of domain 3251names that contain for example the German sz and the Greek zeta. 3252See <a href="http://unicode.org/cldr/utility/idna.jsp">http://unicode.org/cldr/utility/idna.jsp</a> for more examples. 3253</p> 3254 3255<p> This feature is available in Postfix 3.2 and later. </p> 3256 3257 3258</DD> 3259 3260<DT><b><a name="enable_long_queue_ids">enable_long_queue_ids</a> 3261(default: no)</b></DT><DD> 3262 3263<p> Enable long, non-repeating, queue IDs (queue file names). The 3264benefit of non-repeating names is simpler logfile analysis and 3265easier queue migration (there is no need to run "postsuper" to 3266change queue file names that don't match their message file inode 3267number). </p> 3268 3269<p> Note: see below for how to convert long queue file names to 3270Postfix ≤ 2.8. </p> 3271 3272<p> Changing the parameter value to "yes" has the following effects: 3273</p> 3274 3275<ul> 3276 3277<li> <p> Existing queue file names are not affected. </p> 3278 3279<li> <p> New queue files are created with names such as 3Pt2mN2VXxznjll. 3280These are encoded in a 52-character alphabet that contains digits 3281(0-9), upper-case letters (B-Z) and lower-case letters (b-z). For 3282safety reasons the vowels (AEIOUaeiou) are excluded from the alphabet. 3283The name format is: 6 or more characters for the time in seconds, 32844 characters for the time in microseconds, the 'z'; the remainder 3285is the file inode number encoded in the first 51 characters of the 328652-character alphabet. </p> 3287 3288<li> <p> New messages have a Message-ID header with 3289<i>queueID</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>. </p> 3290 3291<li> <p> The mailq (postqueue -p) output has a wider Queue ID column. 3292The number of whitespace-separated fields is not changed. <p> 3293 3294<li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters 3295of the queue file creation time in microseconds, after conversion 3296into hexadecimal representation. This produces the same queue hashing 3297behavior as if the queue file name was created with "<a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a> 3298= no". </p> 3299 3300</ul> 3301 3302<p> Changing the parameter value to "no" has the following effects: 3303</p> 3304 3305<ul> 3306 3307<li> <p> Existing long queue file names are renamed to the short 3308form (while running "postfix reload" or "postsuper"). </p> 3309 3310<li> <p> New queue files are created with names such as C3CD21F3E90 3311from a hexadecimal alphabet that contains digits (0-9) and upper-case 3312letters (A-F). The name format is: 5 characters for the time in 3313microseconds; the remainder is the file inode number. </p> 3314 3315<li> <p> New messages have a Message-ID header with 3316<i>YYYYMMDDHHMMSS.queueid</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>, where 3317<i>YYYYMMDDHHMMSS</i> are the year, month, day, hour, minute and 3318second. 3319 3320<li> <p> The mailq (postqueue -p) output has the same format as 3321with Postfix ≤ 2.8. <p> 3322 3323<li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters 3324of the queue file name, with the hexadecimal representation of the 3325file creation time in microseconds. </p> 3326 3327</ul> 3328 3329<p> Before migration to Postfix ≤ 2.8, the following commands 3330are required to convert long queue file names into short names: </p> 3331 3332<pre> 3333# postfix stop 3334# postconf <a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>=no 3335# postsuper 3336</pre> 3337 3338<p> Repeat the postsuper command until it reports no more queue file 3339name changes. </p> 3340 3341<p> This feature is available in Postfix 2.9 and later. </p> 3342 3343 3344</DD> 3345 3346<DT><b><a name="enable_original_recipient">enable_original_recipient</a> 3347(default: yes)</b></DT><DD> 3348 3349<p> Enable support for the original recipient address after an 3350address is rewritten to a different address (for example with 3351aliasing or with canonical mapping). </p> 3352 3353<p> The original recipient address is used as follows: </p> 3354 3355<dl> 3356 3357<dt> Final delivery </dt> <dd> With "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> = 3358yes", the original recipient address is stored in the <b>X-Original-To</b> 3359message header. This header may be used to distinguish between 3360different recipients that share the same mailbox. </dd> 3361 3362<dt> Recipient deduplication </dt> <dd> With "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> 3363= yes", the <a href="cleanup.8.html">cleanup(8)</a> daemon performs duplicate recipient elimination 3364based on the content of (original recipient, maybe-rewritten 3365recipient) pairs. Otherwise, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs duplicate 3366recipient elimination based only on the maybe-rewritten recipient 3367address. </dd> 3368 3369</dl> 3370 3371<p> Note: with Postfix ≤ 3.2 the "setting <a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> 3372= <b>no</b>" breaks address verification for addresses that are 3373aliased or otherwise rewritten (Postfix is unable to store the 3374address verification result under the original probe destination 3375address; instead, it can store the result only under the rewritten 3376address). </p> 3377 3378<p> This feature is available in Postfix 2.1 and later. Postfix 3379version 2.0 behaves as if this parameter is always set to <b>yes</b>. 3380Postfix versions before 2.0 have no support for the original recipient 3381address. </p> 3382 3383 3384</DD> 3385 3386<DT><b><a name="enable_threaded_bounces">enable_threaded_bounces</a> 3387(default: no)</b></DT><DD> 3388 3389<p> Enable non-delivery, success, and delay notifications that link 3390to the original message by including a References: and In-Reply-To: 3391header with the original Message-ID value. There are advantages and 3392disadvantages to consider. </p> 3393 3394<dl> 3395 3396<dt> <b> advantage </b> </dt> <dd> This allows mail readers to present 3397a delivery status notification in the same email thread as the original 3398message. </dd> 3399 3400<dt> <b> disadvantage </b> </dt> <dd> This makes it easy for users to 3401mistakenly delete the whole email thread (all related messages), 3402instead of deleting only the non-delivery notification. </dd> 3403 3404</dl> 3405 3406<p> This feature is available in Postfix 3.6 and later. </p> 3407 3408 3409</DD> 3410 3411<DT><b><a name="error_notice_recipient">error_notice_recipient</a> 3412(default: postmaster)</b></DT><DD> 3413 3414<p> The recipient of postmaster notifications about mail delivery 3415problems that are caused by policy, resource, software or protocol 3416errors. These notifications are enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> 3417parameter. </p> 3418 3419 3420</DD> 3421 3422<DT><b><a name="error_service_name">error_service_name</a> 3423(default: error)</b></DT><DD> 3424 3425<p> 3426The name of the <a href="error.8.html">error(8)</a> pseudo delivery agent. This service always 3427returns mail as undeliverable. 3428</p> 3429 3430<p> 3431This feature is available in Postfix 2.0 and later. 3432</p> 3433 3434 3435</DD> 3436 3437<DT><b><a name="execution_directory_expansion_filter">execution_directory_expansion_filter</a> 3438(default: see "postconf -d" output)</b></DT><DD> 3439 3440<p> Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows 3441in $name expansions of $<a href="postconf.5.html#command_execution_directory">command_execution_directory</a>. Characters 3442outside the allowed set are replaced by underscores. </p> 3443 3444<p> This feature is available in Postfix 2.2 and later. </p> 3445 3446 3447</DD> 3448 3449<DT><b><a name="expand_owner_alias">expand_owner_alias</a> 3450(default: no)</b></DT><DD> 3451 3452<p> 3453When delivering to an alias "<i>aliasname</i>" that has an 3454"owner-<i>aliasname</i>" companion alias, set the envelope sender 3455address to the expansion of the "owner-<i>aliasname</i>" alias. 3456Normally, Postfix sets the envelope sender address to the name of 3457the "owner-<i>aliasname</i>" alias. 3458</p> 3459 3460 3461</DD> 3462 3463<DT><b><a name="export_environment">export_environment</a> 3464(default: see "postconf -d" output)</b></DT><DD> 3465 3466<p> 3467The list of environment variables that a Postfix process will export 3468to non-Postfix processes. The TZ variable is needed for sane 3469time keeping on System-V-ish systems. 3470</p> 3471 3472<p> 3473Specify a list of names and/or name=value pairs, separated by 3474whitespace or comma. Specify "{ name=value }" to protect whitespace 3475or comma in parameter values (whitespace after the opening "{" and 3476before the closing "}" 3477is ignored). The form name=value is supported with Postfix version 34782.1 and later; the use of {} is supported with Postfix 3.0 and 3479later. </p> 3480 3481<p> 3482Example: 3483</p> 3484 3485<pre> 3486<a href="postconf.5.html#export_environment">export_environment</a> = TZ PATH=/bin:/usr/bin 3487</pre> 3488 3489 3490</DD> 3491 3492<DT><b><a name="extract_recipient_limit">extract_recipient_limit</a> 3493(default: 10240)</b></DT><DD> 3494 3495<p> 3496The maximal number of recipient addresses that Postfix will extract 3497from message headers when mail is submitted with "<b>sendmail -t</b>". 3498</p> 3499 3500<p> 3501This feature was removed in Postfix version 2.1. 3502</p> 3503 3504 3505</DD> 3506 3507<DT><b><a name="fallback_relay">fallback_relay</a> 3508(default: empty)</b></DT><DD> 3509 3510<p> 3511Optional list of relay hosts for SMTP destinations that can't be 3512found or that are unreachable. With Postfix 2.3 this parameter 3513is renamed to <a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a>. </p> 3514 3515<p> 3516By default, mail is returned to the sender when a destination is 3517not found, and delivery is deferred when a destination is unreachable. 3518</p> 3519 3520<p> The fallback relays must be SMTP destinations. Specify a domain, 3521host, host:port, [host]:port, [address] or [address]:port; the form 3522[host] turns off MX lookups. If you specify multiple SMTP 3523destinations, Postfix will try them in the specified order. </p> 3524 3525<p> Note: before Postfix 2.2, do not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature 3526when relaying mail 3527for a backup or primary MX domain. Mail would loop between the 3528Postfix MX host and the <a href="postconf.5.html#fallback_relay">fallback_relay</a> host when the final destination 3529is unavailable. </p> 3530 3531<ul> 3532 3533<li> In <a href="postconf.5.html">main.cf</a> specify "<a href="postconf.5.html#relay_transport">relay_transport</a> = relay", 3534 3535<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 3536the end of the <tt>relay</tt> entry. 3537 3538<li> In transport maps, specify "relay:<i>nexthop...</i>" 3539as the right-hand side for backup or primary MX domain entries. 3540 3541</ul> 3542 3543<p> Postfix version 2.2 and later will not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature 3544for destinations that it is MX host for. 3545</p> 3546 3547 3548</DD> 3549 3550<DT><b><a name="fallback_transport">fallback_transport</a> 3551(default: empty)</b></DT><DD> 3552 3553<p> 3554Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery 3555agent should use for names that are not found in the <a href="aliases.5.html">aliases(5)</a> 3556or UNIX password database. 3557</p> 3558 3559<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 3560is: 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>, 3561<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>, 3562<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> 3563 3564 3565</DD> 3566 3567<DT><b><a name="fallback_transport_maps">fallback_transport_maps</a> 3568(default: empty)</b></DT><DD> 3569 3570<p> Optional lookup tables with per-recipient message delivery 3571transports for recipients that the <a href="local.8.html">local(8)</a> delivery agent could 3572not find in the <a href="aliases.5.html">aliases(5)</a> or UNIX password database. </p> 3573 3574<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 3575is: 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>, 3576<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>, 3577<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> 3578 3579<p> For safety reasons, this feature does not allow $number 3580substitutions in regular expression maps. </p> 3581 3582<p> This feature is available in Postfix 2.3 and later. </p> 3583 3584 3585</DD> 3586 3587<DT><b><a name="fast_flush_domains">fast_flush_domains</a> 3588(default: $<a href="postconf.5.html#relay_domains">relay_domains</a>)</b></DT><DD> 3589 3590<p> 3591Optional list of destinations that are eligible for per-destination 3592logfiles with mail that is queued to those destinations. 3593</p> 3594 3595<p> 3596By default, Postfix maintains "fast flush" logfiles only for 3597destinations that the Postfix SMTP server is willing to relay to 3598(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 3599the <a href="postconf.5.html#relay_domains">relay_domains</a> parameter in the <a href="postconf.5.html">postconf(5)</a> manual). 3600</p> 3601 3602<p> Specify a list of hosts or domains, "/file/name" patterns or 3603"<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace. 3604Continue long lines by starting the next line with whitespace. A 3605"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" 3606lookup table is matched when the domain or its parent domain appears 3607as lookup key. </p> 3608 3609<p> Pattern matching of domain names is controlled by the presence 3610or 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> 3611parameter value. </p> 3612 3613<p> 3614Specify "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> =" (i.e., empty) to disable the feature 3615altogether. 3616</p> 3617 3618 3619</DD> 3620 3621<DT><b><a name="fast_flush_purge_time">fast_flush_purge_time</a> 3622(default: 7d)</b></DT><DD> 3623 3624<p> 3625The time after which an empty per-destination "fast flush" logfile 3626is deleted. 3627</p> 3628 3629<p> 3630You can specify the time as a number, or as a number followed by 3631a letter that indicates the time unit: s=seconds, m=minutes, h=hours, 3632d=days, w=weeks. The default time unit is days. 3633</p> 3634 3635 3636</DD> 3637 3638<DT><b><a name="fast_flush_refresh_time">fast_flush_refresh_time</a> 3639(default: 12h)</b></DT><DD> 3640 3641<p> 3642The time after which a non-empty but unread per-destination "fast 3643flush" logfile needs to be refreshed. The contents of a logfile 3644are refreshed by requesting delivery of all messages listed in the 3645logfile. 3646</p> 3647 3648<p> 3649You can specify the time as a number, or as a number followed by 3650a letter that indicates the time unit: s=seconds, m=minutes, h=hours, 3651d=days, w=weeks. The default time unit is hours. 3652</p> 3653 3654 3655</DD> 3656 3657<DT><b><a name="fault_injection_code">fault_injection_code</a> 3658(default: 0)</b></DT><DD> 3659 3660<p> 3661Force specific internal tests to fail, to test the handling of 3662errors that are difficult to reproduce otherwise. 3663</p> 3664 3665 3666</DD> 3667 3668<DT><b><a name="flush_service_name">flush_service_name</a> 3669(default: flush)</b></DT><DD> 3670 3671<p> 3672The name of the <a href="flush.8.html">flush(8)</a> service. This service maintains per-destination 3673logfiles with the queue file names of mail that is queued for those 3674destinations. 3675</p> 3676 3677<p> 3678This feature is available in Postfix 2.0 and later. 3679</p> 3680 3681 3682</DD> 3683 3684<DT><b><a name="fork_attempts">fork_attempts</a> 3685(default: 5)</b></DT><DD> 3686 3687<p> The maximal number of attempts to fork() a child process. </p> 3688 3689 3690</DD> 3691 3692<DT><b><a name="fork_delay">fork_delay</a> 3693(default: 1s)</b></DT><DD> 3694 3695<p> The delay between attempts to fork() a child process. </p> 3696 3697<p> Specify a non-zero time value (an integral value plus an optional 3698one-letter suffix that specifies the time unit). Time units: s 3699(seconds), m (minutes), h (hours), d (days), w (weeks). 3700The default time unit is s (seconds). </p> 3701 3702 3703</DD> 3704 3705<DT><b><a name="forward_expansion_filter">forward_expansion_filter</a> 3706(default: see "postconf -d" output)</b></DT><DD> 3707 3708<p> 3709Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in 3710$name expansions of $<a href="postconf.5.html#forward_path">forward_path</a>. Characters outside the 3711allowed set are replaced by underscores. 3712</p> 3713 3714 3715</DD> 3716 3717<DT><b><a name="forward_path">forward_path</a> 3718(default: see "postconf -d" output)</b></DT><DD> 3719 3720<p> The <a href="local.8.html">local(8)</a> delivery agent search list for finding a .forward 3721file with user-specified delivery methods. The first file that is 3722found is used. </p> 3723 3724<p> The <a href="postconf.5.html#forward_path">forward_path</a> value is not subject to Postfix configuration 3725parameter $name expansion. Instead, the following $name expansions 3726are done on <a href="postconf.5.html#forward_path">forward_path</a> before the search actually happens. 3727The result of $name expansion is 3728filtered with the character set that is specified with the 3729<a href="postconf.5.html#forward_expansion_filter">forward_expansion_filter</a> parameter. </p> 3730 3731<dl> 3732 3733<dt><b>$user</b></dt> 3734 3735<dd>The recipient's username. </dd> 3736 3737<dt><b>$shell</b></dt> 3738 3739<dd>The recipient's login shell pathname. </dd> 3740 3741<dt><b>$home</b></dt> 3742 3743<dd>The recipient's home directory. </dd> 3744 3745<dt><b>$recipient</b></dt> 3746 3747<dd>The full recipient address. </dd> 3748 3749<dt><b>$extension</b></dt> 3750 3751<dd>The optional recipient address extension. </dd> 3752 3753<dt><b>$domain</b></dt> 3754 3755<dd>The recipient domain. </dd> 3756 3757<dt><b>$local</b></dt> 3758 3759<dd>The entire recipient localpart. </dd> 3760 3761<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt> 3762 3763<dd>The address extension delimiter that was found in the recipient 3764address (Postfix 2.11 and later), or the 'first' delimiter specified 3765with the system-wide recipient address extension delimiter (Postfix 37663.5.22, 3.5.12, 3.7.8, 3.8.3 and later). Historically, this was 3767always the system-wide recipient 3768address extension delimiter (Postfix 2.10 and earlier). </dd> 3769 3770<dt><b>${name?value}</b></dt> 3771 3772<dt><b>${name?{value}}</b> (Postfix ≥ 3.0)</dt> 3773 3774<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd> 3775 3776<dt><b>${name:value}</b></dt> 3777 3778<dt><b>${name:{value}}</b> (Postfix ≥ 3.0)</dt> 3779 3780<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd> 3781 3782<dt><b>${name?{value1}:{value2}}</b> (Postfix ≥ 3.0)</dt> 3783 3784<dd>Expands to <i>value1</i> when <i>$name</i> is non-empty, 3785<i>value2</i> otherwise. </dd> 3786 3787</dl> 3788 3789<p> 3790Instead of $name you can also specify ${name} or $(name). 3791</p> 3792 3793<p> 3794Examples: 3795</p> 3796 3797<pre> 3798<a href="postconf.5.html#forward_path">forward_path</a> = /var/forward/$user 3799<a href="postconf.5.html#forward_path">forward_path</a> = 3800 /var/forward/$user/.forward$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>$extension, 3801 /var/forward/$user/.forward 3802</pre> 3803 3804 3805</DD> 3806 3807<DT><b><a name="frozen_delivered_to">frozen_delivered_to</a> 3808(default: yes)</b></DT><DD> 3809 3810<p> Update the <a href="local.8.html">local(8)</a> delivery agent's idea of the Delivered-To: 3811address (see <a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a>) only once, at the start of 3812a delivery attempt; do not update the Delivered-To: address while 3813expanding aliases or .forward files. </p> 3814 3815<p> This feature is available in Postfix 2.3 and later. With older 3816Postfix releases, the behavior is as if this parameter is set to 3817"no". The old setting can be expensive with deeply nested aliases 3818or .forward files. When an alias or .forward file changes the 3819Delivered-To: address, it ties up one queue file and one cleanup 3820process instance while mail is being forwarded. </p> 3821 3822 3823</DD> 3824 3825<DT><b><a name="hash_queue_depth">hash_queue_depth</a> 3826(default: 1)</b></DT><DD> 3827 3828<p> 3829The number of subdirectory levels for queue directories listed with 3830the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> parameter. Queue hashing is implemented by 3831creating one or more levels of directories with one-character names. 3832Originally, these directory names were equal to the first characters 3833of the queue file name, with the hexadecimal representation of the 3834file creation time in microseconds. </p> 3835 3836<p> With long queue file names, queue hashing produces the same 3837results as with short names. The file creation time in microseconds 3838is converted into hexadecimal form before the result is used for 3839queue hashing. The base 16 encoding gives finer control over the 3840number of subdirectories than is possible with the base 52 encoding 3841of long queue file names. </p> 3842 3843<p> 3844After 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, 3845execute the command "<b>postfix reload</b>". 3846</p> 3847 3848 3849</DD> 3850 3851<DT><b><a name="hash_queue_names">hash_queue_names</a> 3852(default: deferred, defer)</b></DT><DD> 3853 3854<p> 3855The names of queue directories that are split across multiple 3856subdirectory levels. 3857</p> 3858 3859<p> Before Postfix version 2.2, the default list of hashed queues 3860was significantly larger. Claims about improvements in file system 3861technology 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> 3862is no longer needed. Fewer hashed directories speed up the time 3863needed to restart Postfix. </p> 3864 3865<p> 3866After 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, 3867execute the command "<b>postfix reload</b>". 3868</p> 3869 3870 3871</DD> 3872 3873<DT><b><a name="header_address_token_limit">header_address_token_limit</a> 3874(default: 10240)</b></DT><DD> 3875 3876<p> 3877The maximal number of address tokens are allowed in an address 3878message header. Information that exceeds the limit is discarded. 3879The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a> server. 3880</p> 3881 3882 3883</DD> 3884 3885<DT><b><a name="header_checks">header_checks</a> 3886(default: empty)</b></DT><DD> 3887 3888<p> 3889Optional lookup tables for content inspection of primary non-MIME 3890message headers, as specified in the <a href="header_checks.5.html">header_checks(5)</a> manual page. 3891</p> 3892 3893 3894</DD> 3895 3896<DT><b><a name="header_from_format">header_from_format</a> 3897(default: standard)</b></DT><DD> 3898 3899<p> The format of the Postfix-generated <b>From:</b> header. This 3900setting affects the appearance of 'full name' information when a 3901local program such as /bin/mail submits a message without a From: 3902header through the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. </p> 3903 3904<p> Specify one of the following: </p> 3905 3906<dl> 3907 3908<dt><b>standard</b> (default)</dt> <dd> Produce a header formatted 3909as "<b>From:</b> <i>name</i><b> <</b><i>address</i><b>></b>". 3910This is the default as of Postfix 3.3.</dd> 3911 3912<dt><b>obsolete</b></dt> <dd>Produce a header formatted as "<b>From:</b> 3913<i>address</i> <b>(</b><i>name</i><b>)</b>". This is the behavior 3914prior to Postfix 3.3. </dd> 3915 3916</dl> 3917 3918<p> Notes: </p> 3919 3920<ul> 3921 3922<li> <p> Postfix generates the format "<b>From:</b> <i>address</i>" 3923when <i>name</i> information is unavailable or the envelope sender 3924address is empty. This is the same behavior as prior to Postfix 39253.3. </p> 3926 3927<li> <p> In the <b>standard</b> form, the <i>name</i> will be quoted 3928if it contains <b>specials</b> as defined in <a href="https://tools.ietf.org/html/rfc5322">RFC 5322</a>, or the "!%" 3929address operators. </p> 3930 3931<li> <p> The Postfix <a href="sendmail.1.html">sendmail(1)</a> command gets <i>name</i> information 3932from the <b>-F</b> command-line option, from the <b>NAME</b> 3933environment variable, or from the UNIX password file. </p> 3934 3935</ul> 3936 3937<p> This feature is available in Postfix 3.3 and later. </p> 3938 3939 3940</DD> 3941 3942<DT><b><a name="header_size_limit">header_size_limit</a> 3943(default: 102400)</b></DT><DD> 3944 3945<p> 3946The maximal amount of memory in bytes for storing a message header. 3947If a header is larger, the excess is discarded. The limit is 3948enforced by the <a href="cleanup.8.html">cleanup(8)</a> server. 3949</p> 3950 3951 3952</DD> 3953 3954<DT><b><a name="helpful_warnings">helpful_warnings</a> 3955(default: yes)</b></DT><DD> 3956 3957<p> 3958Log warnings about problematic configuration settings, and provide 3959helpful suggestions. 3960</p> 3961 3962<p> 3963This feature is available in Postfix 2.0 and later. 3964</p> 3965 3966 3967</DD> 3968 3969<DT><b><a name="home_mailbox">home_mailbox</a> 3970(default: empty)</b></DT><DD> 3971 3972<p> 3973Optional pathname of a mailbox file relative to a <a href="local.8.html">local(8)</a> user's 3974home directory. 3975</p> 3976 3977<p> 3978Specify a pathname ending in "/" for qmail-style delivery. 3979</p> 3980 3981<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 3982is: 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>, 3983<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>, 3984<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> 3985 3986<p> 3987Examples: 3988</p> 3989 3990<pre> 3991<a href="postconf.5.html#home_mailbox">home_mailbox</a> = Mailbox 3992<a href="postconf.5.html#home_mailbox">home_mailbox</a> = Maildir/ 3993</pre> 3994 3995 3996</DD> 3997 3998<DT><b><a name="hopcount_limit">hopcount_limit</a> 3999(default: 50)</b></DT><DD> 4000 4001<p> 4002The maximal number of Received: message headers that is allowed 4003in the primary message headers. A message that exceeds the limit 4004is bounced, in order to stop a mailer loop. 4005</p> 4006 4007 4008</DD> 4009 4010<DT><b><a name="html_directory">html_directory</a> 4011(default: see "postconf -d" output)</b></DT><DD> 4012 4013<p> 4014The location of Postfix HTML files that describe how to build, 4015configure or operate a specific Postfix subsystem or feature. 4016</p> 4017 4018 4019</DD> 4020 4021<DT><b><a name="ignore_mx_lookup_error">ignore_mx_lookup_error</a> 4022(default: no)</b></DT><DD> 4023 4024<p> Ignore DNS MX lookups that produce no response. By default, 4025the Postfix SMTP client defers delivery and tries again after some 4026delay. This behavior is required by the SMTP standard. </p> 4027 4028<p> 4029Specify "<a href="postconf.5.html#ignore_mx_lookup_error">ignore_mx_lookup_error</a> = yes" to force a DNS A record 4030lookup instead. This violates the SMTP standard and can result in 4031mis-delivery of mail. 4032</p> 4033 4034 4035</DD> 4036 4037<DT><b><a name="ignore_srv_lookup_error">ignore_srv_lookup_error</a> 4038(default: no)</b></DT><DD> 4039 4040<p> When SRV record lookup fails, fall back to MX or IP address 4041lookup as if SRV record lookup was not enabled. </p> 4042 4043<p> This feature is available in Postfix 3.8 and later. </p> 4044 4045 4046</DD> 4047 4048<DT><b><a name="import_environment">import_environment</a> 4049(default: see "postconf -d" output)</b></DT><DD> 4050 4051<p> The list of environment variables that a privileged Postfix 4052process will import from a non-Postfix parent process, or name=value 4053environment overrides. Unprivileged utilities will enforce the 4054name=value overrides, but otherwise will not change their process 4055environment. Examples of relevant environment variables: </p> 4056 4057<dl> 4058 4059<dt><b>TZ</b></dt> 4060 4061<dd>May be needed for sane time keeping on most System-V-ish systems. 4062</dd> 4063 4064<dt><b>DISPLAY</b></dt> 4065 4066<dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd> 4067 4068<dt><b>XAUTHORITY</b></dt> 4069 4070<dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd> 4071 4072<dt><b>MAIL_CONFIG</b></dt> 4073 4074<dd>Needed to make "<b>postfix -c</b>" work. </dd> 4075 4076<dt><b>POSTLOG_SERVICE</b></dt> 4077 4078<dd>Needed to make "<b><a href="postconf.5.html#maillog_file">maillog_file</a></b>" work during daemon 4079process initialization. </dd> 4080 4081<dt><b>POSTLOG_HOSTNAME</b></dt> 4082 4083<dd>Needed to make "<b><a href="postconf.5.html#maillog_file">maillog_file</a></b>" work during daemon 4084process initialization. </dd> 4085 4086</dl> 4087 4088<p> Specify a list of names and/or name=value pairs, separated by 4089whitespace or comma. Specify "{ name=value }" to protect whitespace 4090or comma in environment variable values (whitespace after the opening "{" and 4091before the closing "}" 4092is ignored). The form name=value is supported with Postfix version 40932.1 and later; the use of {} is supported with Postfix 3.0 and 4094later. </p> 4095 4096 4097</DD> 4098 4099<DT><b><a name="in_flow_delay">in_flow_delay</a> 4100(default: 1s)</b></DT><DD> 4101 4102<p> Time to pause before accepting a new message, when the message 4103arrival rate exceeds the message delivery rate. This feature is 4104turned on by default (it's disabled on SCO UNIX due to an SCO bug). 4105</p> 4106 4107<p> 4108With the default 100 Postfix SMTP server process limit, "<a href="postconf.5.html#in_flow_delay">in_flow_delay</a> 4109= 1s" limits the mail inflow to 100 messages per second above the 4110number of messages delivered per second. 4111</p> 4112 4113<p> 4114Specify 0 to disable the feature. Valid delays are 0..10. 4115</p> 4116 4117 4118</DD> 4119 4120<DT><b><a name="inet_interfaces">inet_interfaces</a> 4121(default: all)</b></DT><DD> 4122 4123<p> The local network interface addresses that this mail system receives 4124mail on. Specify "all" to receive mail on all network 4125interfaces (default), and "loopback-only" to receive mail 4126on loopback network interfaces only (Postfix version 2.2 and later). The 4127parameter also controls delivery of mail to <tt>user@[ip.address]</tt>. 4128</p> 4129 4130<p> 4131Note 1: you need to stop and start Postfix when this parameter changes. 4132</p> 4133 4134<p> Note 2: address information may be enclosed inside <tt>[]</tt>, 4135but this form is not required here. </p> 4136 4137<p> When <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies just one IPv4 and/or IPv6 address 4138that is not a loopback address, the Postfix SMTP client will use 4139this address as the IP source address for outbound mail. Support 4140for IPv6 is available in Postfix version 2.2 and later. </p> 4141 4142<p> 4143On a multi-homed firewall with separate Postfix instances listening on the 4144"inside" and "outside" interfaces, this can prevent each instance from 4145being able to reach remote SMTP servers on the "other side" of the 4146firewall. Setting 4147<a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> to 0.0.0.0 avoids the potential problem for 4148IPv4, and setting <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> to :: solves the problem 4149for IPv6. </p> 4150 4151<p> 4152A better solution for multi-homed firewalls is to leave <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> 4153at the default value and instead use explicit IP addresses in 4154the <a href="master.5.html">master.cf</a> SMTP server definitions. This preserves the Postfix 4155SMTP client's 4156loop detection, by ensuring that each side of the firewall knows that the 4157other IP address is still the same host. Setting $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> to a 4158single IPv4 and/or IPV6 address is primarily useful with virtual 4159hosting of domains on 4160secondary IP addresses, when each IP address serves a different domain 4161(and has a different $<a href="postconf.5.html#myhostname">myhostname</a> setting). </p> 4162 4163<p> 4164See also the <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> parameter, for network addresses that 4165are forwarded to Postfix by way of a proxy or address translator. 4166</p> 4167 4168<p> 4169Examples: 4170</p> 4171 4172<pre> 4173<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = all (DEFAULT) 4174<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback-only (Postfix version 2.2 and later) 4175<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1 4176<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1, [::1] (Postfix version 2.2 and later) 4177<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 192.168.1.2, 127.0.0.1 4178</pre> 4179 4180 4181</DD> 4182 4183<DT><b><a name="inet_protocols">inet_protocols</a> 4184(default: see 'postconf -d output')</b></DT><DD> 4185 4186<p> The Internet protocols Postfix will attempt to use when making 4187or accepting connections. Specify one or more of "ipv4" 4188or "ipv6", separated by whitespace or commas. The form 4189"all" is equivalent to "ipv4, ipv6" or "ipv4", depending 4190on whether the operating system implements IPv6. </p> 4191 4192<p> With Postfix 2.8 and earlier the default is "ipv4". For backwards 4193compatibility with these releases, the Postfix 2.9 and later upgrade 4194procedure appends an explicit "<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4" setting to 4195<a href="postconf.5.html">main.cf</a> when no explicit setting is present. This compatibility 4196workaround will be phased out as IPv6 deployment becomes more common. 4197</p> 4198 4199<p> This feature is available in Postfix 2.2 and later. </p> 4200 4201<p> Note: you MUST stop and start Postfix after changing this 4202parameter. </p> 4203 4204<p> On systems that pre-date IPV6_V6ONLY support (<a href="https://tools.ietf.org/html/rfc3493">RFC 3493</a>), an 4205IPv6 server will also accept IPv4 connections, even when IPv4 is 4206turned off with the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter. On systems with 4207IPV6_V6ONLY support, Postfix will use separate server sockets for 4208IPv6 and IPv4, and each will accept only connections for the 4209corresponding protocol. </p> 4210 4211<p> When IPv4 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter, 4212Postfix will look up DNS type A records, and will convert 4213IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original 4214IPv4 form (1.2.3.4). The latter is needed on hosts that pre-date 4215IPV6_V6ONLY support (<a href="https://tools.ietf.org/html/rfc3493">RFC 3493</a>). </p> 4216 4217<p> When IPv6 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter, 4218Postfix will do DNS type AAAA record lookups. </p> 4219 4220<p> When both IPv4 and IPv6 support are enabled, the Postfix SMTP 4221client will choose the protocol as specified with the 4222<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> parameter. Postfix versions before 2.8 4223attempt to connect via IPv6 before attempting to use IPv4. </p> 4224 4225<p> 4226Examples: 4227</p> 4228 4229<pre> 4230<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4 4231<a href="postconf.5.html#inet_protocols">inet_protocols</a> = all (DEFAULT) 4232<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv6 4233<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4, ipv6 4234</pre> 4235 4236 4237</DD> 4238 4239<DT><b><a name="info_log_address_format">info_log_address_format</a> 4240(default: external)</b></DT><DD> 4241 4242<p> The email address form that will be used in non-debug logging 4243(info, warning, etc.). As of Postfix 3.5 when an address localpart 4244contains spaces or other special characters, the localpart will be 4245quoted, for example: </p> 4246 4247<blockquote> 4248<pre> 4249 from=<"name with spaces"@example.com> 4250</pre> 4251</blockquote> 4252 4253<p> Older Postfix versions would log the internal (unquoted) form: </p> 4254 4255<blockquote> 4256<pre> 4257 from=<name with spaces@example.com> 4258</pre> 4259</blockquote> 4260 4261<p> The external and internal forms are identical for the vast 4262majority of email addresses that contain no spaces or other special 4263characters in the localpart. </p> 4264 4265<p> The logging in external form is consistent with the address 4266form that Postfix 3.2 and later prefer for most table lookups. This 4267is therefore the more useful form for non-debug logging. </p> 4268 4269<p> Specify "<b><a href="postconf.5.html#info_log_address_format">info_log_address_format</a> = internal</b>" for backwards 4270compatibility. </p> 4271 4272<p> Postfix uses the unquoted form internally, because an attacker 4273can specify an email address in different forms by playing games 4274with quotes and backslashes. An attacker should not be able to use 4275such games to circumvent Postfix access policies. </p> 4276 4277<p> This feature is available in Postfix 3.5 and later. </p> 4278 4279 4280</DD> 4281 4282<DT><b><a name="initial_destination_concurrency">initial_destination_concurrency</a> 4283(default: 5)</b></DT><DD> 4284 4285<p> 4286The initial per-destination concurrency level for parallel delivery 4287to the same destination. 4288With per-destination recipient limit > 1, a destination is a domain, 4289otherwise it is a recipient. 4290</p> 4291 4292<p> Use <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> to specify 4293a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 4294name of the message delivery transport (Postfix 2.5 and later). </p> 4295 4296<p> 4297Warning: with concurrency of 1, one bad message can be enough to 4298block all mail to a site. 4299</p> 4300 4301 4302</DD> 4303 4304<DT><b><a name="internal_mail_filter_classes">internal_mail_filter_classes</a> 4305(default: empty)</b></DT><DD> 4306 4307<p> What categories of Postfix-generated mail are subject to 4308before-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> 4309and <a href="postconf.5.html#body_checks">body_checks</a>. Specify zero or more of the following, separated 4310by whitespace or comma. </p> 4311 4312<dl> 4313 4314<dt><b>bounce</b></dt> <dd> Inspect the content of delivery 4315status notifications. </dd> 4316 4317<dt><b>notify</b></dt> <dd> Inspect the content of postmaster 4318notifications by the <a href="smtp.8.html">smtp(8)</a> and <a href="smtpd.8.html">smtpd(8)</a> processes. </dd> 4319 4320</dl> 4321 4322<p> NOTE: It's generally not safe to enable content inspection of 4323Postfix-generated email messages. The user is warned. </p> 4324 4325<p> This feature is available in Postfix 2.3 and later. </p> 4326 4327 4328</DD> 4329 4330<DT><b><a name="invalid_hostname_reject_code">invalid_hostname_reject_code</a> 4331(default: 501)</b></DT><DD> 4332 4333<p> 4334The numerical Postfix SMTP server response code when the client 4335HELO or EHLO command parameter is rejected by the <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> 4336restriction. 4337</p> 4338 4339<p> 4340Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 4341</p> 4342 4343 4344</DD> 4345 4346<DT><b><a name="ipc_idle">ipc_idle</a> 4347(default: version dependent)</b></DT><DD> 4348 4349<p> 4350The time after which a client closes an idle internal communication 4351channel. The purpose is to allow Postfix daemon processes to 4352terminate voluntarily after they become idle. This is used, for 4353example, by the Postfix address resolving and rewriting clients. 4354</p> 4355 4356<p> With Postfix 2.4 the default value was reduced from 100s to 5s. </p> 4357 4358<p> Specify a non-zero time value (an integral value plus an optional 4359one-letter suffix that specifies the time unit). Time units: s 4360(seconds), m (minutes), h (hours), d (days), w (weeks). 4361The default time unit is s (seconds). </p> 4362 4363 4364</DD> 4365 4366<DT><b><a name="ipc_timeout">ipc_timeout</a> 4367(default: 3600s)</b></DT><DD> 4368 4369<p> 4370The time limit for sending or receiving information over an internal 4371communication channel. The purpose is to break out of deadlock 4372situations. If the time limit is exceeded the software aborts with a 4373fatal error. 4374</p> 4375 4376<p> Specify a non-zero time value (an integral value plus an optional 4377one-letter suffix that specifies the time unit). Time units: s 4378(seconds), m (minutes), h (hours), d (days), w (weeks). 4379The default time unit is s (seconds). </p> 4380 4381 4382</DD> 4383 4384<DT><b><a name="ipc_ttl">ipc_ttl</a> 4385(default: 1000s)</b></DT><DD> 4386 4387<p> 4388The time after which a client closes an active internal communication 4389channel. The purpose is to allow Postfix daemon processes to 4390terminate voluntarily 4391after reaching their client limit. This is used, for example, by 4392the Postfix address resolving and rewriting clients. 4393</p> 4394 4395<p> Specify a non-zero time value (an integral value plus an optional 4396one-letter suffix that specifies the time unit). Time units: s 4397(seconds), m (minutes), h (hours), d (days), w (weeks). 4398The default time unit is s (seconds). </p> 4399 4400<p> 4401This feature is available in Postfix 2.1 and later. 4402</p> 4403 4404 4405</DD> 4406 4407<DT><b><a name="known_tcp_ports">known_tcp_ports</a> 4408(default: lmtp=24, smtp=25, smtps=submissions=465, submission=587)</b></DT><DD> 4409 4410<p> Optional setting that avoids lookups in the services(5) database. 4411This feature was implemented to address inconsistencies in the name 4412of the port "465" service. The ABNF is: 4413</p> 4414 4415<blockquote> 4416<p> 4417<a href="postconf.5.html#known_tcp_ports">known_tcp_ports</a> = empty | name-to-port *("," name-to-port) <br> 4418name-to-port = 1*(service-name "=') port-number 4419</p> 4420</blockquote> 4421 4422<p> The comma is required. Whitespace is optional but it cannot appear 4423inside a service name or port number. </p> 4424 4425<p> This feature is available in Postfix 3.6 and later. </p> 4426 4427 4428</DD> 4429 4430<DT><b><a name="line_length_limit">line_length_limit</a> 4431(default: 2048)</b></DT><DD> 4432 4433<p> Upon input, long lines are chopped up into pieces of at most 4434this length; upon delivery, long lines are reconstructed. </p> 4435 4436 4437</DD> 4438 4439<DT><b><a name="lmdb_map_size">lmdb_map_size</a> 4440(default: 16777216)</b></DT><DD> 4441 4442<p> 4443The initial OpenLDAP LMDB database size limit in bytes. Each time 4444a database becomes full, its size limit is doubled. 4445</p> 4446 4447<p> 4448This feature is available in Postfix 2.11 and later. 4449</p> 4450 4451 4452</DD> 4453 4454<DT><b><a name="lmtp_address_preference">lmtp_address_preference</a> 4455(default: ipv6)</b></DT><DD> 4456 4457<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> 4458configuration parameter. See there for details. </p> 4459 4460<p> This feature is available in Postfix 2.8 and later. </p> 4461 4462 4463</DD> 4464 4465<DT><b><a name="lmtp_address_verify_target">lmtp_address_verify_target</a> 4466(default: rcpt)</b></DT><DD> 4467 4468<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a> 4469configuration parameter. See there for details. </p> 4470 4471<p> This feature is available in Postfix 3.0 and later. </p> 4472 4473 4474</DD> 4475 4476<DT><b><a name="lmtp_assume_final">lmtp_assume_final</a> 4477(default: no)</b></DT><DD> 4478 4479<p> When a remote LMTP server announces no DSN support, assume that 4480the 4481server performs final delivery, and send "delivered" delivery status 4482notifications instead of "relayed". The default setting is backwards 4483compatible to avoid the infinitesimal possibility of breaking 4484existing LMTP-based content filters. </p> 4485 4486 4487</DD> 4488 4489<DT><b><a name="lmtp_balance_inet_protocols">lmtp_balance_inet_protocols</a> 4490(default: yes)</b></DT><DD> 4491 4492<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_balance_inet_protocols">smtp_balance_inet_protocols</a> 4493configuration parameter. See there for details. </p> 4494 4495<p> This feature is available in Postfix 3.3 and later. </p> 4496 4497 4498</DD> 4499 4500<DT><b><a name="lmtp_bind_address">lmtp_bind_address</a> 4501(default: empty)</b></DT><DD> 4502 4503<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> configuration 4504parameter. See there for details. </p> 4505 4506<p> This feature is available in Postfix 2.3 and later. </p> 4507 4508 4509</DD> 4510 4511<DT><b><a name="lmtp_bind_address6">lmtp_bind_address6</a> 4512(default: empty)</b></DT><DD> 4513 4514<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> configuration 4515parameter. See there for details. </p> 4516 4517<p> This feature is available in Postfix 2.3 and later. </p> 4518 4519 4520</DD> 4521 4522<DT><b><a name="lmtp_bind_address_enforce">lmtp_bind_address_enforce</a> 4523(default: empty)</b></DT><DD> 4524 4525<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address_enforce">smtp_bind_address_enforce</a> 4526configuration parameter. See there for details. </p> 4527 4528<p> This feature is available in Postfix 3.7 and later. </p> 4529 4530 4531</DD> 4532 4533<DT><b><a name="lmtp_body_checks">lmtp_body_checks</a> 4534(default: empty)</b></DT><DD> 4535 4536<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_body_checks">smtp_body_checks</a> configuration 4537parameter. See there for details. </p> 4538 4539<p> This feature is available in Postfix 2.5 and later. </p> 4540 4541 4542</DD> 4543 4544<DT><b><a name="lmtp_cache_connection">lmtp_cache_connection</a> 4545(default: yes)</b></DT><DD> 4546 4547<p> 4548Keep Postfix LMTP client connections open for up to $<a href="postconf.5.html#max_idle">max_idle</a> 4549seconds. When the LMTP client receives a request for the same 4550connection the connection is reused. 4551</p> 4552 4553<p> This parameter is available in Postfix version 2.2 and earlier. 4554With Postfix version 2.3 and later, see <a href="postconf.5.html#lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>, 4555<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>. 4556</p> 4557 4558<p> 4559The effectiveness of cached connections will be determined by the 4560number of remote LMTP servers in use, and the concurrency limit specified 4561for the Postfix LMTP client. Cached connections are closed under any of 4562the following conditions: 4563</p> 4564 4565<ul> 4566 4567<li> The Postfix LMTP client idle time limit is reached. This limit is 4568specified with the Postfix <a href="postconf.5.html#max_idle">max_idle</a> configuration parameter. 4569 4570<li> A delivery request specifies a different destination than the 4571one currently cached. 4572 4573<li> The per-process limit on the number of delivery requests is 4574reached. This limit is specified with the Postfix <a href="postconf.5.html#max_use">max_use</a> 4575configuration parameter. 4576 4577<li> Upon the onset of another delivery request, the remote LMTP server 4578associated with the current session does not respond to the RSET 4579command. 4580 4581</ul> 4582 4583<p> 4584Most of these limitations have been with the Postfix 4585connection cache that is shared among multiple LMTP client 4586programs. 4587</p> 4588 4589 4590</DD> 4591 4592<DT><b><a name="lmtp_cname_overrides_servername">lmtp_cname_overrides_servername</a> 4593(default: yes)</b></DT><DD> 4594 4595<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_cname_overrides_servername">smtp_cname_overrides_servername</a> 4596configuration parameter. See there for details. </p> 4597 4598<p> This feature is available in Postfix 2.3 and later. </p> 4599 4600 4601</DD> 4602 4603<DT><b><a name="lmtp_connect_timeout">lmtp_connect_timeout</a> 4604(default: 0s)</b></DT><DD> 4605 4606<p> The Postfix LMTP client time limit for completing a TCP connection, or 4607zero (use the operating system built-in time limit). When no 4608connection can be made within the deadline, the LMTP client tries 4609the next address on the mail exchanger list. </p> 4610 4611<p> Specify a non-negative time value (an integral value plus an optional 4612one-letter suffix that specifies the time unit). Time units: s 4613(seconds), m (minutes), h (hours), d (days), w (weeks). 4614The default time unit is s (seconds). </p> 4615 4616<p> 4617Example: 4618</p> 4619 4620<pre> 4621<a href="postconf.5.html#lmtp_connect_timeout">lmtp_connect_timeout</a> = 30s 4622</pre> 4623 4624 4625</DD> 4626 4627<DT><b><a name="lmtp_connection_cache_destinations">lmtp_connection_cache_destinations</a> 4628(default: empty)</b></DT><DD> 4629 4630<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_destinations">smtp_connection_cache_destinations</a> 4631configuration parameter. See there for details. </p> 4632 4633<p> This feature is available in Postfix 2.3 and later. </p> 4634 4635 4636</DD> 4637 4638<DT><b><a name="lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a> 4639(default: yes)</b></DT><DD> 4640 4641<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a> 4642configuration parameter. See there for details. </p> 4643 4644<p> This feature is available in Postfix 2.3 and later. </p> 4645 4646 4647</DD> 4648 4649<DT><b><a name="lmtp_connection_cache_time_limit">lmtp_connection_cache_time_limit</a> 4650(default: 2s)</b></DT><DD> 4651 4652<p> The LMTP-specific version of the 4653<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> configuration parameter. 4654See there for details. </p> 4655 4656<p> This feature is available in Postfix 2.3 and later. </p> 4657 4658 4659</DD> 4660 4661<DT><b><a name="lmtp_connection_reuse_count_limit">lmtp_connection_reuse_count_limit</a> 4662(default: 0)</b></DT><DD> 4663 4664<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a> 4665configuration parameter. See there for details. </p> 4666 4667<p> This feature is available in Postfix 2.11 and later. </p> 4668 4669 4670</DD> 4671 4672<DT><b><a name="lmtp_connection_reuse_time_limit">lmtp_connection_reuse_time_limit</a> 4673(default: 300s)</b></DT><DD> 4674 4675<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> 4676configuration parameter. See there for details. </p> 4677 4678<p> This feature is available in Postfix 2.3 and later. </p> 4679 4680 4681</DD> 4682 4683<DT><b><a name="lmtp_data_done_timeout">lmtp_data_done_timeout</a> 4684(default: 600s)</b></DT><DD> 4685 4686<p> The Postfix LMTP client time limit for sending the LMTP ".", 4687and for receiving the remote LMTP server response. When no response 4688is received within the deadline, a warning is logged that the mail 4689may be delivered multiple times. </p> 4690 4691<p> Specify a non-zero time value (an integral value plus an optional 4692one-letter suffix that specifies the time unit). Time units: s 4693(seconds), m (minutes), h (hours), d (days), w (weeks). 4694The default time unit is s (seconds). </p> 4695 4696 4697</DD> 4698 4699<DT><b><a name="lmtp_data_init_timeout">lmtp_data_init_timeout</a> 4700(default: 120s)</b></DT><DD> 4701 4702<p> 4703The Postfix LMTP client time limit for sending the LMTP DATA command, 4704and 4705for receiving the remote LMTP server response. 4706</p> 4707 4708<p> Specify a non-zero time value (an integral value plus an optional 4709one-letter suffix that specifies the time unit). Time units: s 4710(seconds), m (minutes), h (hours), d (days), w (weeks). 4711The default time unit is s (seconds). </p> 4712 4713 4714</DD> 4715 4716<DT><b><a name="lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a> 4717(default: 180s)</b></DT><DD> 4718 4719<p> 4720The Postfix LMTP client time limit for sending the LMTP message 4721content. 4722When the connection stalls for more than $<a href="postconf.5.html#lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a> 4723the LMTP client terminates the transfer. 4724</p> 4725 4726<p> Specify a non-zero time value (an integral value plus an optional 4727one-letter suffix that specifies the time unit). Time units: s 4728(seconds), m (minutes), h (hours), d (days), w (weeks). 4729The default time unit is s (seconds). </p> 4730 4731 4732</DD> 4733 4734<DT><b><a name="lmtp_defer_if_no_mx_address_found">lmtp_defer_if_no_mx_address_found</a> 4735(default: no)</b></DT><DD> 4736 4737<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> 4738configuration parameter. See there for details. </p> 4739 4740<p> This feature is available in Postfix 2.3 and later. </p> 4741 4742 4743</DD> 4744 4745<DT><b><a name="lmtp_delivery_status_filter">lmtp_delivery_status_filter</a> 4746(default: empty)</b></DT><DD> 4747 4748<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a> 4749configuration parameter. See there for details. </p> 4750 4751<p> This feature is available in Postfix 3.0 and later. </p> 4752 4753 4754</DD> 4755 4756<DT><b><a name="lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a> 4757(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD> 4758 4759<p> The maximal number of parallel deliveries to the same destination 4760via the lmtp message delivery transport. This limit is enforced by 4761the queue manager. The message delivery transport name is the first 4762field in the entry in the <a href="master.5.html">master.cf</a> file. </p> 4763 4764 4765</DD> 4766 4767<DT><b><a name="lmtp_destination_recipient_limit">lmtp_destination_recipient_limit</a> 4768(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD> 4769 4770<p> The maximal number of recipients per message for the lmtp 4771message delivery transport. This limit is enforced by the queue 4772manager. The message delivery transport name is the first field in 4773the entry in the <a href="master.5.html">master.cf</a> file. </p> 4774 4775<p> Setting this parameter to a value of 1 changes the meaning of 4776<a href="postconf.5.html#lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a> from concurrency per domain into 4777concurrency per recipient. </p> 4778 4779 4780</DD> 4781 4782<DT><b><a name="lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a> 4783(default: empty)</b></DT><DD> 4784 4785<p> Lookup tables, indexed by the remote LMTP server address, with 4786case insensitive lists of LHLO keywords (pipelining, starttls, 4787auth, etc.) that the Postfix LMTP client will ignore in the LHLO 4788response 4789from a remote LMTP server. See <a href="postconf.5.html#lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a> for 4790details. The table is not indexed by hostname for consistency with 4791<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p> 4792 4793<p> This feature is available in Postfix 2.3 and later. </p> 4794 4795 4796</DD> 4797 4798<DT><b><a name="lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a> 4799(default: empty)</b></DT><DD> 4800 4801<p> A case insensitive list of LHLO keywords (pipelining, starttls, 4802auth, etc.) that the Postfix LMTP client will ignore in the LHLO 4803response 4804from a remote LMTP server. </p> 4805 4806<p> This feature is available in Postfix 2.3 and later. </p> 4807 4808<p> Notes: </p> 4809 4810<ul> 4811 4812<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent 4813this action from being logged. </p> 4814 4815<li> <p> Use the <a href="postconf.5.html#lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a> feature to 4816discard LHLO keywords selectively. </p> 4817 4818</ul> 4819 4820 4821</DD> 4822 4823<DT><b><a name="lmtp_dns_reply_filter">lmtp_dns_reply_filter</a> 4824(default: empty)</b></DT><DD> 4825 4826<p> Optional filter for Postfix LMTP client DNS lookup results. 4827See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example. </p> 4828 4829<p> This feature is available in Postfix 3.0 and later. </p> 4830 4831 4832</DD> 4833 4834<DT><b><a name="lmtp_dns_resolver_options">lmtp_dns_resolver_options</a> 4835(default: empty)</b></DT><DD> 4836 4837<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_resolver_options">smtp_dns_resolver_options</a> 4838configuration parameter. See there for details. </p> 4839 4840<p> This feature is available in Postfix 2.8 and later. </p> 4841 4842 4843</DD> 4844 4845<DT><b><a name="lmtp_dns_support_level">lmtp_dns_support_level</a> 4846(default: empty)</b></DT><DD> 4847 4848<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> 4849configuration parameter. See there for details. </p> 4850 4851<p> This feature is available in Postfix 2.11 and later. </p> 4852 4853 4854</DD> 4855 4856<DT><b><a name="lmtp_enforce_tls">lmtp_enforce_tls</a> 4857(default: no)</b></DT><DD> 4858 4859<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> configuration 4860parameter. See there for details. </p> 4861 4862<p> This feature is available in Postfix 2.3 and later. </p> 4863 4864 4865</DD> 4866 4867<DT><b><a name="lmtp_fallback_relay">lmtp_fallback_relay</a> 4868(default: empty)</b></DT><DD> 4869 4870<p> Optional list of relay hosts for LMTP destinations that can't be 4871found or that are unreachable. In <a href="postconf.5.html">main.cf</a> elements are separated by 4872whitespace or commas. </p> 4873 4874<p> By default, mail is returned to the sender when a destination is not 4875found, and delivery is deferred when a destination is unreachable. </p> 4876 4877<p> The fallback relays must be TCP destinations, specified without 4878a leading "inet:" prefix. Specify a host or host:port. Since MX 4879lookups do not apply with LMTP, there is no need to use the "[host]" or 4880"[host]:port" forms. If you specify multiple LMTP destinations, Postfix 4881will try them in the specified order. </p> 4882 4883<p> 4884This feature is available in Postfix 3.1 and later. 4885</p> 4886 4887 4888</DD> 4889 4890<DT><b><a name="lmtp_generic_maps">lmtp_generic_maps</a> 4891(default: empty)</b></DT><DD> 4892 4893<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_generic_maps">smtp_generic_maps</a> configuration 4894parameter. See there for details. </p> 4895 4896<p> This feature is available in Postfix 2.3 and later. </p> 4897 4898 4899</DD> 4900 4901<DT><b><a name="lmtp_header_checks">lmtp_header_checks</a> 4902(default: empty)</b></DT><DD> 4903 4904<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_header_checks">smtp_header_checks</a> configuration 4905parameter. See there for details. </p> 4906 4907<p> This feature is available in Postfix 2.5 and later. </p> 4908 4909 4910</DD> 4911 4912<DT><b><a name="lmtp_host_lookup">lmtp_host_lookup</a> 4913(default: dns)</b></DT><DD> 4914 4915<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a> configuration 4916parameter. See there for details. </p> 4917 4918<p> This feature is available in Postfix 2.3 and later. </p> 4919 4920 4921</DD> 4922 4923<DT><b><a name="lmtp_lhlo_name">lmtp_lhlo_name</a> 4924(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD> 4925 4926<p> 4927The hostname to send in the LMTP LHLO command. 4928</p> 4929 4930<p> 4931The default value is the machine hostname. Specify a hostname or 4932[ip.add.re.ss] or [ip:v6:add:re::ss]. 4933</p> 4934 4935<p> 4936This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all LMTP 4937clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific 4938client, for example: 4939</p> 4940 4941<blockquote> 4942<pre> 4943/etc/postfix/<a href="master.5.html">master.cf</a>: 4944 mylmtp ... lmtp -o <a href="postconf.5.html#lmtp_lhlo_name">lmtp_lhlo_name</a>=foo.bar.com 4945</pre> 4946</blockquote> 4947 4948<p> 4949This feature is available in Postfix 2.3 and later. 4950</p> 4951 4952 4953</DD> 4954 4955<DT><b><a name="lmtp_lhlo_timeout">lmtp_lhlo_timeout</a> 4956(default: 300s)</b></DT><DD> 4957 4958<p> The Postfix LMTP client time limit for sending the LHLO command, 4959and for receiving the initial remote LMTP server response. </p> 4960 4961<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 4962(weeks). The default time unit is s (seconds). </p> 4963 4964 4965</DD> 4966 4967<DT><b><a name="lmtp_line_length_limit">lmtp_line_length_limit</a> 4968(default: 998)</b></DT><DD> 4969 4970<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_line_length_limit">smtp_line_length_limit</a> 4971configuration parameter. See there for details. </p> 4972 4973<p> This feature is available in Postfix 2.3 and later. </p> 4974 4975 4976</DD> 4977 4978<DT><b><a name="lmtp_mail_timeout">lmtp_mail_timeout</a> 4979(default: 300s)</b></DT><DD> 4980 4981<p> 4982The Postfix LMTP client time limit for sending the MAIL FROM command, 4983and for receiving the remote LMTP server response. 4984</p> 4985 4986<p> Specify a non-zero time value (an integral value plus an optional 4987one-letter suffix that specifies the time unit). Time units: s 4988(seconds), m (minutes), h (hours), d (days), w (weeks). 4989The default time unit is s (seconds). </p> 4990 4991 4992</DD> 4993 4994<DT><b><a name="lmtp_mime_header_checks">lmtp_mime_header_checks</a> 4995(default: empty)</b></DT><DD> 4996 4997<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mime_header_checks">smtp_mime_header_checks</a> 4998configuration parameter. See there for details. </p> 4999 5000<p> This feature is available in Postfix 2.5 and later. </p> 5001 5002 5003</DD> 5004 5005<DT><b><a name="lmtp_min_data_rate">lmtp_min_data_rate</a> 5006(default: 500)</b></DT><DD> 5007 5008<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_min_data_rate">smtp_min_data_rate</a> configuration 5009parameter. See there for details. </p> 5010 5011<p> This feature is available in Postfix 3.7 and later. </p> 5012 5013 5014</DD> 5015 5016<DT><b><a name="lmtp_mx_address_limit">lmtp_mx_address_limit</a> 5017(default: 5)</b></DT><DD> 5018 5019<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a> configuration 5020parameter. See there for details. </p> 5021 5022<p> This feature is available in Postfix 2.3 and later. </p> 5023 5024 5025</DD> 5026 5027<DT><b><a name="lmtp_mx_session_limit">lmtp_mx_session_limit</a> 5028(default: 2)</b></DT><DD> 5029 5030<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_session_limit">smtp_mx_session_limit</a> configuration 5031parameter. See there for details. </p> 5032 5033<p> This feature is available in Postfix 2.3 and later. </p> 5034 5035 5036</DD> 5037 5038<DT><b><a name="lmtp_nested_header_checks">lmtp_nested_header_checks</a> 5039(default: empty)</b></DT><DD> 5040 5041<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_nested_header_checks">smtp_nested_header_checks</a> 5042configuration parameter. See there for details. </p> 5043 5044<p> This feature is available in Postfix 2.5 and later. </p> 5045 5046 5047</DD> 5048 5049<DT><b><a name="lmtp_per_record_deadline">lmtp_per_record_deadline</a> 5050(default: no)</b></DT><DD> 5051 5052<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a> 5053configuration parameter. See there for details. </p> 5054 5055<p> This feature is available in Postfix 2.9 and later. </p> 5056 5057 5058</DD> 5059 5060<DT><b><a name="lmtp_per_request_deadline">lmtp_per_request_deadline</a> 5061(default: no)</b></DT><DD> 5062 5063<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_per_request_deadline">smtp_per_request_deadline</a> 5064configuration parameter. See there for details. </p> 5065 5066<p> This feature is available in Postfix 3.7 and later. </p> 5067 5068 5069</DD> 5070 5071<DT><b><a name="lmtp_pix_workaround_delay_time">lmtp_pix_workaround_delay_time</a> 5072(default: 10s)</b></DT><DD> 5073 5074<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> 5075configuration parameter. See there for details. </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_pix_workaround_maps">lmtp_pix_workaround_maps</a> 5083(default: empty)</b></DT><DD> 5084 5085<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> 5086configuration parameter. See there for details. </p> 5087 5088<p> This feature is available in Postfix 2.4 and later. </p> 5089 5090 5091</DD> 5092 5093<DT><b><a name="lmtp_pix_workaround_threshold_time">lmtp_pix_workaround_threshold_time</a> 5094(default: 500s)</b></DT><DD> 5095 5096<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> 5097configuration parameter. See there for details. </p> 5098 5099<p> This feature is available in Postfix 2.3 and later. </p> 5100 5101 5102</DD> 5103 5104<DT><b><a name="lmtp_pix_workarounds">lmtp_pix_workarounds</a> 5105(default: empty)</b></DT><DD> 5106 5107<p> The LMTP-specific version of the smtp_pix_workaround 5108configuration parameter. See there for details. </p> 5109 5110<p> This feature is available in Postfix 2.4 and later. </p> 5111 5112 5113</DD> 5114 5115<DT><b><a name="lmtp_quit_timeout">lmtp_quit_timeout</a> 5116(default: 300s)</b></DT><DD> 5117 5118<p> 5119The Postfix LMTP client time limit for sending the QUIT command, 5120and for receiving the remote LMTP server response. 5121</p> 5122 5123<p> Specify a non-zero time value (an integral value plus an optional 5124one-letter suffix that specifies the time unit). Time units: s 5125(seconds), m (minutes), h (hours), d (days), w (weeks). 5126The default time unit is s (seconds). </p> 5127 5128 5129</DD> 5130 5131<DT><b><a name="lmtp_quote_rfc821_envelope">lmtp_quote_rfc821_envelope</a> 5132(default: yes)</b></DT><DD> 5133 5134<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a> 5135configuration parameter. See there for details. </p> 5136 5137<p> This feature is available in Postfix 2.3 and later. </p> 5138 5139 5140</DD> 5141 5142<DT><b><a name="lmtp_randomize_addresses">lmtp_randomize_addresses</a> 5143(default: yes)</b></DT><DD> 5144 5145<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_randomize_addresses">smtp_randomize_addresses</a> 5146configuration parameter. See there for details. </p> 5147 5148<p> This feature is available in Postfix 2.3 and later. </p> 5149 5150 5151</DD> 5152 5153<DT><b><a name="lmtp_rcpt_timeout">lmtp_rcpt_timeout</a> 5154(default: 300s)</b></DT><DD> 5155 5156<p> 5157The Postfix LMTP client time limit for sending the RCPT TO command, 5158and for receiving the remote LMTP server response. 5159</p> 5160 5161<p> Specify a non-zero time value (an integral value plus an optional 5162one-letter suffix that specifies the time unit). Time units: s 5163(seconds), m (minutes), h (hours), d (days), w (weeks). 5164The default time unit is s (seconds). </p> 5165 5166 5167</DD> 5168 5169<DT><b><a name="lmtp_reply_filter">lmtp_reply_filter</a> 5170(default: empty)</b></DT><DD> 5171 5172<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> 5173configuration parameter. See there for details. </p> 5174 5175<p> This feature is available in Postfix 2.7 and later. </p> 5176 5177 5178</DD> 5179 5180<DT><b><a name="lmtp_rset_timeout">lmtp_rset_timeout</a> 5181(default: 20s)</b></DT><DD> 5182 5183<p> The Postfix LMTP client time limit for sending the RSET command, 5184and for receiving the remote LMTP server response. The LMTP client 5185sends RSET in 5186order to finish a recipient address probe, or to verify that a 5187cached connection is still alive. </p> 5188 5189<p> Specify a non-zero time value (an integral value plus an optional 5190one-letter suffix that specifies the time unit). Time units: s 5191(seconds), m (minutes), h (hours), d (days), w (weeks). 5192The default time unit is s (seconds). </p> 5193 5194 5195</DD> 5196 5197<DT><b><a name="lmtp_sasl_auth_cache_name">lmtp_sasl_auth_cache_name</a> 5198(default: empty)</b></DT><DD> 5199 5200<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> 5201configuration parameter. See there for details. </p> 5202 5203<p> This feature is available in Postfix 2.5 and later. </p> 5204 5205 5206</DD> 5207 5208<DT><b><a name="lmtp_sasl_auth_cache_time">lmtp_sasl_auth_cache_time</a> 5209(default: 90d)</b></DT><DD> 5210 5211<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a> 5212configuration parameter. See there for details. </p> 5213 5214<p> This feature is available in Postfix 2.5 and later. </p> 5215 5216 5217</DD> 5218 5219<DT><b><a name="lmtp_sasl_auth_enable">lmtp_sasl_auth_enable</a> 5220(default: no)</b></DT><DD> 5221 5222<p> 5223Enable SASL authentication in the Postfix LMTP client. 5224</p> 5225 5226 5227</DD> 5228 5229<DT><b><a name="lmtp_sasl_auth_soft_bounce">lmtp_sasl_auth_soft_bounce</a> 5230(default: yes)</b></DT><DD> 5231 5232<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> 5233configuration parameter. See there for details. </p> 5234 5235<p> This feature is available in Postfix 2.5 and later. </p> 5236 5237 5238</DD> 5239 5240<DT><b><a name="lmtp_sasl_mechanism_filter">lmtp_sasl_mechanism_filter</a> 5241(default: empty)</b></DT><DD> 5242 5243<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> 5244configuration parameter. See there for details. </p> 5245 5246<p> This feature is available in Postfix 2.3 and later. </p> 5247 5248 5249</DD> 5250 5251<DT><b><a name="lmtp_sasl_password_maps">lmtp_sasl_password_maps</a> 5252(default: empty)</b></DT><DD> 5253 5254<p> 5255Optional Postfix LMTP client lookup tables with one username:password entry 5256per host or domain. If a remote host or domain has no username:password 5257entry, then the Postfix LMTP client will not attempt to authenticate 5258to the remote host. 5259</p> 5260 5261 5262</DD> 5263 5264<DT><b><a name="lmtp_sasl_path">lmtp_sasl_path</a> 5265(default: empty)</b></DT><DD> 5266 5267<p> Implementation-specific information that is passed through to 5268the SASL plug-in implementation that is selected with 5269<b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>. Typically this specifies the name of a 5270configuration file or rendezvous point. </p> 5271 5272<p> This feature is available in Postfix 2.3 and later. </p> 5273 5274 5275</DD> 5276 5277<DT><b><a name="lmtp_sasl_security_options">lmtp_sasl_security_options</a> 5278(default: noplaintext, noanonymous)</b></DT><DD> 5279 5280<p> SASL security options; as of Postfix 2.3 the list of available 5281features depends on the SASL client implementation that is selected 5282with <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>. </p> 5283 5284<p> The following security features are defined for the <b>cyrus</b> 5285client SASL implementation: </p> 5286 5287<dl> 5288 5289<dt><b>noplaintext</b></dt> 5290 5291<dd>Disallow authentication methods that use plaintext passwords. </dd> 5292 5293<dt><b>noactive</b></dt> 5294 5295<dd>Disallow authentication methods that are vulnerable to non-dictionary 5296active attacks. </dd> 5297 5298<dt><b>nodictionary</b></dt> 5299 5300<dd>Disallow authentication methods that are vulnerable to passive 5301dictionary attacks. </dd> 5302 5303<dt><b>noanonymous</b></dt> 5304 5305<dd>Disallow anonymous logins. </dd> 5306 5307</dl> 5308 5309<p> 5310Example: 5311</p> 5312 5313<pre> 5314<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a> = noplaintext 5315</pre> 5316 5317 5318</DD> 5319 5320<DT><b><a name="lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a> 5321(default: $<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a>)</b></DT><DD> 5322 5323<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a> 5324configuration parameter. See there for details. </p> 5325 5326<p> This feature is available in Postfix 2.3 and later. </p> 5327 5328 5329</DD> 5330 5331<DT><b><a name="lmtp_sasl_tls_verified_security_options">lmtp_sasl_tls_verified_security_options</a> 5332(default: $<a href="postconf.5.html#lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>)</b></DT><DD> 5333 5334<p> The LMTP-specific version of the 5335<a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> configuration parameter. 5336See there for details. </p> 5337 5338<p> This feature is available in Postfix 2.3 and later. </p> 5339 5340 5341</DD> 5342 5343<DT><b><a name="lmtp_sasl_type">lmtp_sasl_type</a> 5344(default: cyrus)</b></DT><DD> 5345 5346<p> The SASL plug-in type that the Postfix LMTP client should use 5347for authentication. The available types are listed with the 5348"<b>postconf -A</b>" command. </p> 5349 5350<p> This feature is available in Postfix 2.3 and later. </p> 5351 5352 5353</DD> 5354 5355<DT><b><a name="lmtp_send_dummy_mail_auth">lmtp_send_dummy_mail_auth</a> 5356(default: no)</b></DT><DD> 5357 5358<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a> 5359configuration parameter. See there for details. </p> 5360 5361<p> This feature is available in Postfix 2.9 and later. </p> 5362 5363 5364</DD> 5365 5366<DT><b><a name="lmtp_send_xforward_command">lmtp_send_xforward_command</a> 5367(default: no)</b></DT><DD> 5368 5369<p> 5370Send an XFORWARD command to the remote LMTP server when the LMTP LHLO 5371server response announces XFORWARD support. This allows an <a href="lmtp.8.html">lmtp(8)</a> 5372delivery agent, used for content filter message injection, to 5373forward the name, address, protocol and HELO name of the original 5374client to the content filter and downstream LMTP server. 5375Before you change the value to yes, it is best to make sure that 5376your content filter supports this command. 5377</p> 5378 5379<p> 5380This feature is available in Postfix 2.1 and later. 5381</p> 5382 5383 5384</DD> 5385 5386<DT><b><a name="lmtp_sender_dependent_authentication">lmtp_sender_dependent_authentication</a> 5387(default: no)</b></DT><DD> 5388 5389<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a> 5390configuration parameter. See there for details. </p> 5391 5392<p> This feature is available in Postfix 2.3 and later. </p> 5393 5394 5395</DD> 5396 5397<DT><b><a name="lmtp_skip_5xx_greeting">lmtp_skip_5xx_greeting</a> 5398(default: yes)</b></DT><DD> 5399 5400<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> 5401configuration parameter. See there for details. </p> 5402 5403<p> This feature is available in Postfix 2.3 and later. </p> 5404 5405 5406</DD> 5407 5408<DT><b><a name="lmtp_skip_quit_response">lmtp_skip_quit_response</a> 5409(default: no)</b></DT><DD> 5410 5411<p> 5412Wait for the response to the LMTP QUIT command. 5413</p> 5414 5415 5416</DD> 5417 5418<DT><b><a name="lmtp_starttls_timeout">lmtp_starttls_timeout</a> 5419(default: 300s)</b></DT><DD> 5420 5421<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_starttls_timeout">smtp_starttls_timeout</a> configuration 5422parameter. See there for details. </p> 5423 5424<p> This feature is available in Postfix 2.3 and later. </p> 5425 5426 5427</DD> 5428 5429<DT><b><a name="lmtp_tcp_port">lmtp_tcp_port</a> 5430(default: 24)</b></DT><DD> 5431 5432<p> 5433The default TCP port that the Postfix LMTP client connects to. 5434Specify a symbolic name (see services(5)) or a numeric port. 5435</p> 5436 5437 5438</DD> 5439 5440<DT><b><a name="lmtp_tls_CAfile">lmtp_tls_CAfile</a> 5441(default: empty)</b></DT><DD> 5442 5443<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> 5444configuration 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_tls_CApath">lmtp_tls_CApath</a> 5452(default: empty)</b></DT><DD> 5453 5454<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> 5455configuration parameter. See there for details. </p> 5456 5457<p> This feature is available in Postfix 2.3 and later. </p> 5458 5459 5460</DD> 5461 5462<DT><b><a name="lmtp_tls_block_early_mail_reply">lmtp_tls_block_early_mail_reply</a> 5463(default: empty)</b></DT><DD> 5464 5465<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> 5466configuration parameter. See there for details. </p> 5467 5468<p> This feature is available in Postfix 2.7 and later. </p> 5469 5470 5471</DD> 5472 5473<DT><b><a name="lmtp_tls_cert_file">lmtp_tls_cert_file</a> 5474(default: empty)</b></DT><DD> 5475 5476<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> 5477configuration parameter. See there for details. </p> 5478 5479<p> This feature is available in Postfix 2.3 and later. </p> 5480 5481 5482</DD> 5483 5484<DT><b><a name="lmtp_tls_chain_files">lmtp_tls_chain_files</a> 5485(default: empty)</b></DT><DD> 5486 5487<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> configuration 5488parameter. See there for details. </p> 5489 5490<p> This feature is available in Postfix 3.4 and later. </p> 5491 5492 5493</DD> 5494 5495<DT><b><a name="lmtp_tls_ciphers">lmtp_tls_ciphers</a> 5496(default: medium)</b></DT><DD> 5497 5498<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> configuration 5499parameter. See there for details. </p> 5500 5501<p> This feature is available in Postfix 2.6 and later. </p> 5502 5503 5504</DD> 5505 5506<DT><b><a name="lmtp_tls_connection_reuse">lmtp_tls_connection_reuse</a> 5507(default: no)</b></DT><DD> 5508 5509<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> configuration 5510parameter. See there for details. </p> 5511 5512<p> This feature is available in Postfix 3.4 and later. </p> 5513 5514 5515</DD> 5516 5517<DT><b><a name="lmtp_tls_dcert_file">lmtp_tls_dcert_file</a> 5518(default: empty)</b></DT><DD> 5519 5520<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> 5521configuration parameter. See there for details. </p> 5522 5523<p> This feature is available in Postfix 2.3 and later. </p> 5524 5525 5526</DD> 5527 5528<DT><b><a name="lmtp_tls_dkey_file">lmtp_tls_dkey_file</a> 5529(default: $<a href="postconf.5.html#lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>)</b></DT><DD> 5530 5531<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> 5532configuration parameter. See there for details. </p> 5533 5534<p> This feature is available in Postfix 2.3 and later. </p> 5535 5536 5537</DD> 5538 5539<DT><b><a name="lmtp_tls_eccert_file">lmtp_tls_eccert_file</a> 5540(default: empty)</b></DT><DD> 5541 5542<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> configuration 5543parameter. See there for details. </p> 5544 5545<p> This feature is available in Postfix 2.6 and later, when Postfix is 5546compiled and linked with OpenSSL 1.0.0 or later. </p> 5547 5548 5549</DD> 5550 5551<DT><b><a name="lmtp_tls_eckey_file">lmtp_tls_eckey_file</a> 5552(default: empty)</b></DT><DD> 5553 5554<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> configuration 5555parameter. See there for details. </p> 5556 5557<p> This feature is available in Postfix 2.6 and later, when Postfix is 5558compiled and linked with OpenSSL 1.0.0 or later. </p> 5559 5560 5561</DD> 5562 5563<DT><b><a name="lmtp_tls_enforce_peername">lmtp_tls_enforce_peername</a> 5564(default: yes)</b></DT><DD> 5565 5566<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> 5567configuration parameter. See there for details. </p> 5568 5569<p> This feature is available in Postfix 2.3 and later. </p> 5570 5571 5572</DD> 5573 5574<DT><b><a name="lmtp_tls_exclude_ciphers">lmtp_tls_exclude_ciphers</a> 5575(default: empty)</b></DT><DD> 5576 5577<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> 5578configuration parameter. See there for details. </p> 5579 5580<p> This feature is available in Postfix 2.3 and later. </p> 5581 5582 5583</DD> 5584 5585<DT><b><a name="lmtp_tls_fingerprint_cert_match">lmtp_tls_fingerprint_cert_match</a> 5586(default: empty)</b></DT><DD> 5587 5588<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> 5589configuration parameter. See there for details. </p> 5590 5591<p> This feature is available in Postfix 2.5 and later. </p> 5592 5593 5594</DD> 5595 5596<DT><b><a name="lmtp_tls_fingerprint_digest">lmtp_tls_fingerprint_digest</a> 5597(default: see "postconf -d" output)</b></DT><DD> 5598 5599<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> 5600configuration parameter. See there for details. </p> 5601 5602<p> This feature is available in Postfix 2.5 and later. </p> 5603 5604 5605</DD> 5606 5607<DT><b><a name="lmtp_tls_force_insecure_host_tlsa_lookup">lmtp_tls_force_insecure_host_tlsa_lookup</a> 5608(default: no)</b></DT><DD> 5609 5610<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> 5611configuration parameter. See there for details. </p> 5612 5613<p> This feature is available in Postfix 2.11 and later. </p> 5614 5615 5616</DD> 5617 5618<DT><b><a name="lmtp_tls_key_file">lmtp_tls_key_file</a> 5619(default: $<a href="postconf.5.html#lmtp_tls_cert_file">lmtp_tls_cert_file</a>)</b></DT><DD> 5620 5621<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> 5622configuration parameter. See there for details. </p> 5623 5624<p> This feature is available in Postfix 2.3 and later. </p> 5625 5626 5627</DD> 5628 5629<DT><b><a name="lmtp_tls_loglevel">lmtp_tls_loglevel</a> 5630(default: 0)</b></DT><DD> 5631 5632<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> 5633configuration parameter. See there for details. </p> 5634 5635<p> This feature is available in Postfix 2.3 and later. </p> 5636 5637 5638</DD> 5639 5640<DT><b><a name="lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a> 5641(default: medium)</b></DT><DD> 5642 5643<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> 5644configuration parameter. See there for details. </p> 5645 5646<p> This feature is available in Postfix 2.3 and later. </p> 5647 5648 5649</DD> 5650 5651<DT><b><a name="lmtp_tls_mandatory_exclude_ciphers">lmtp_tls_mandatory_exclude_ciphers</a> 5652(default: empty)</b></DT><DD> 5653 5654<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> 5655configuration parameter. See there for details. </p> 5656 5657<p> This feature is available in Postfix 2.3 and later. </p> 5658 5659 5660</DD> 5661 5662<DT><b><a name="lmtp_tls_mandatory_protocols">lmtp_tls_mandatory_protocols</a> 5663(default: see postconf -d output)</b></DT><DD> 5664 5665<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> 5666configuration parameter. See there for details. </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_tls_note_starttls_offer">lmtp_tls_note_starttls_offer</a> 5674(default: no)</b></DT><DD> 5675 5676<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a> 5677configuration parameter. See there for details. </p> 5678 5679<p> This feature is available in Postfix 2.3 and later. </p> 5680 5681 5682</DD> 5683 5684<DT><b><a name="lmtp_tls_per_site">lmtp_tls_per_site</a> 5685(default: empty)</b></DT><DD> 5686 5687<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> configuration 5688parameter. See there for details. </p> 5689 5690<p> This feature is available in Postfix 2.3 and later. </p> 5691 5692 5693</DD> 5694 5695<DT><b><a name="lmtp_tls_policy_maps">lmtp_tls_policy_maps</a> 5696(default: empty)</b></DT><DD> 5697 5698<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> 5699configuration parameter. See there for details. </p> 5700 5701<p> This feature is available in Postfix 2.3 and later. </p> 5702 5703 5704</DD> 5705 5706<DT><b><a name="lmtp_tls_protocols">lmtp_tls_protocols</a> 5707(default: see postconf -d output)</b></DT><DD> 5708 5709<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> configuration 5710parameter. See there for details. </p> 5711 5712<p> This feature is available in Postfix 2.6 and later. </p> 5713 5714 5715</DD> 5716 5717<DT><b><a name="lmtp_tls_scert_verifydepth">lmtp_tls_scert_verifydepth</a> 5718(default: 9)</b></DT><DD> 5719 5720<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a> 5721configuration parameter. See there for details. </p> 5722 5723<p> This feature is available in Postfix 2.3 and later. </p> 5724 5725 5726</DD> 5727 5728<DT><b><a name="lmtp_tls_secure_cert_match">lmtp_tls_secure_cert_match</a> 5729(default: nexthop)</b></DT><DD> 5730 5731<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> 5732configuration parameter. See there for details. </p> 5733 5734<p> This feature is available in Postfix 2.3 and later. </p> 5735 5736 5737</DD> 5738 5739<DT><b><a name="lmtp_tls_security_level">lmtp_tls_security_level</a> 5740(default: empty)</b></DT><DD> 5741 5742<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> configuration 5743parameter. See there for details. </p> 5744 5745<p> This feature is available in Postfix 2.3 and later. </p> 5746 5747 5748</DD> 5749 5750<DT><b><a name="lmtp_tls_servername">lmtp_tls_servername</a> 5751(default: empty)</b></DT><DD> 5752 5753<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_servername">smtp_tls_servername</a> configuration 5754parameter. See there for details. </p> 5755 5756<p> This feature is available in Postfix 3.4 and later. </p> 5757 5758 5759</DD> 5760 5761<DT><b><a name="lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a> 5762(default: empty)</b></DT><DD> 5763 5764<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> 5765configuration parameter. See there for details. </p> 5766 5767<p> This feature is available in Postfix 2.3 and later. </p> 5768 5769 5770</DD> 5771 5772<DT><b><a name="lmtp_tls_session_cache_timeout">lmtp_tls_session_cache_timeout</a> 5773(default: 3600s)</b></DT><DD> 5774 5775<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> 5776configuration parameter. See there for details. </p> 5777 5778<p> This feature is available in Postfix 2.3 and later. </p> 5779 5780 5781</DD> 5782 5783<DT><b><a name="lmtp_tls_trust_anchor_file">lmtp_tls_trust_anchor_file</a> 5784(default: empty)</b></DT><DD> 5785 5786<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a> 5787configuration parameter. See there for details. </p> 5788 5789<p> This feature is available in Postfix 2.11 and later. </p> 5790 5791 5792</DD> 5793 5794<DT><b><a name="lmtp_tls_verify_cert_match">lmtp_tls_verify_cert_match</a> 5795(default: hostname)</b></DT><DD> 5796 5797<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> 5798configuration parameter. See there for details. </p> 5799 5800<p> This feature is available in Postfix 2.3 and later. </p> 5801 5802 5803</DD> 5804 5805<DT><b><a name="lmtp_tls_wrappermode">lmtp_tls_wrappermode</a> 5806(default: no)</b></DT><DD> 5807 5808<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> configuration 5809parameter. See there for details. </p> 5810 5811<p> This feature is available in Postfix 3.0 and later. </p> 5812 5813 5814</DD> 5815 5816<DT><b><a name="lmtp_use_tls">lmtp_use_tls</a> 5817(default: no)</b></DT><DD> 5818 5819<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> configuration 5820parameter. See there for details. </p> 5821 5822<p> This feature is available in Postfix 2.3 and later. </p> 5823 5824 5825</DD> 5826 5827<DT><b><a name="lmtp_xforward_timeout">lmtp_xforward_timeout</a> 5828(default: 300s)</b></DT><DD> 5829 5830<p> 5831The Postfix LMTP client time limit for sending the XFORWARD command, 5832and for receiving the remote LMTP server response. 5833</p> 5834 5835<p> 5836In case of problems the client does NOT try the next address on 5837the mail exchanger list. 5838</p> 5839 5840<p> Specify a non-zero time value (an integral value plus an optional 5841one-letter suffix that specifies the time unit). Time units: s 5842(seconds), m (minutes), h (hours), d (days), w (weeks). 5843The default time unit is s (seconds). </p> 5844 5845<p> 5846This feature is available in Postfix 2.1 and later. 5847</p> 5848 5849 5850</DD> 5851 5852<DT><b><a name="local_command_shell">local_command_shell</a> 5853(default: empty)</b></DT><DD> 5854 5855<p> 5856Optional shell program for <a href="local.8.html">local(8)</a> delivery to non-Postfix commands. 5857By default, non-Postfix commands are executed directly; commands 5858are given to the default shell (typically, /bin/sh) only when they 5859contain shell meta characters or shell built-in commands. 5860</p> 5861 5862<p> "sendmail's restricted shell" (smrsh) is what most people will 5863use in order to restrict what programs can be run from e.g. .forward 5864files (smrsh is part of the Sendmail distribution). </p> 5865 5866<p> Note: when a shell program is specified, it is invoked even 5867when the command contains no shell built-in commands or meta 5868characters. </p> 5869 5870<p> 5871Example: 5872</p> 5873 5874<pre> 5875<a href="postconf.5.html#local_command_shell">local_command_shell</a> = /some/where/smrsh -c 5876<a href="postconf.5.html#local_command_shell">local_command_shell</a> = /bin/bash -c 5877</pre> 5878 5879 5880</DD> 5881 5882<DT><b><a name="local_delivery_status_filter">local_delivery_status_filter</a> 5883(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD> 5884 5885<p> Optional filter for the <a href="local.8.html">local(8)</a> delivery agent to change the 5886status code or explanatory text of successful or unsuccessful 5887deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p> 5888 5889<p> This feature is available in Postfix 3.0 and later. </p> 5890 5891 5892</DD> 5893 5894<DT><b><a name="local_destination_concurrency_limit">local_destination_concurrency_limit</a> 5895(default: 2)</b></DT><DD> 5896 5897<p> The maximal number of parallel deliveries via the local mail 5898delivery transport to the same recipient (when 5899"<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> = 1") or the maximal number of 5900parallel deliveries to the same <a href="ADDRESS_CLASS_README.html#local_domain_class">local domain</a> (when 5901"<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> > 1"). This limit is enforced by 5902the queue manager. The message delivery transport name is the first 5903field in the entry in the <a href="master.5.html">master.cf</a> file. </p> 5904 5905<p> A low limit of 2 is recommended, just in case someone has an 5906expensive shell command in a .forward file or in an alias (e.g., 5907a mailing list manager). You don't want to run lots of those at 5908the same time. </p> 5909 5910 5911</DD> 5912 5913<DT><b><a name="local_destination_recipient_limit">local_destination_recipient_limit</a> 5914(default: 1)</b></DT><DD> 5915 5916<p> The maximal number of recipients per message delivery via the 5917local mail delivery transport. This limit is enforced by the queue 5918manager. The message delivery transport name is the first field in 5919the entry in the <a href="master.5.html">master.cf</a> file. </p> 5920 5921<p> Setting this parameter to a value > 1 changes the meaning of 5922<a href="postconf.5.html#local_destination_concurrency_limit">local_destination_concurrency_limit</a> from concurrency per recipient 5923into concurrency per domain. </p> 5924 5925 5926</DD> 5927 5928<DT><b><a name="local_header_rewrite_clients">local_header_rewrite_clients</a> 5929(default: <a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a>)</b></DT><DD> 5930 5931<p> Rewrite or add message headers in mail from these clients, 5932updating incomplete addresses with the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or 5933$<a href="postconf.5.html#mydomain">mydomain</a>, and adding missing headers. </p> 5934 5935<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 5936for details of how domain names are appended to incomplete addresses. 5937</p> 5938 5939<p> See <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> to optionally rewrite or add 5940message headers in mail from other clients. </p> 5941 5942<p> Specify a list of zero or more of the following: </p> 5943 5944<dl> 5945 5946<dt><b><a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a></b></dt> 5947 5948<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 5949client IP address matches $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. This is enabled by 5950default. </dd> 5951 5952<dt><b><a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a></b></dt> 5953 5954<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 5955client IP address matches any network or network address listed in 5956$<a href="postconf.5.html#mynetworks">mynetworks</a>. This setting will not prevent remote mail header 5957address rewriting when mail from a remote client is forwarded by 5958a neighboring system. </dd> 5959 5960<dt><b><a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> </b></dt> 5961 5962<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 5963client is successfully authenticated via the <a href="https://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH) 5964protocol. </dd> 5965 5966<dt><b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> </b></dt> 5967 5968<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 5969remote SMTP client TLS certificate fingerprint or public key fingerprint 5970(Postfix 2.9 and later) is listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>. 5971The fingerprint digest algorithm is configurable via the 5972<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to 5973Postfix version 2.5). </dd> 5974 5975<dd> The default algorithm is <b>sha256</b> with Postfix ≥ 3.6 5976and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix 5977≤ 3.5, the default algorithm is <b>md5</b>. The best-practice 5978algorithm is now <b>sha256</b>. Recent advances in hash function 5979cryptanalysis have led to md5 and sha1 being deprecated in favor of 5980sha256. However, as long as there are no known "second pre-image" 5981attacks against the older algorithms, their use in this context, though 5982not recommended, is still likely safe. </dd> 5983 5984<dt><b><a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a> </b></dt> 5985 5986<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 5987remote SMTP client TLS certificate is successfully verified, regardless of 5988whether it is listed on the server, and regardless of the certifying 5989authority. </dd> 5990 5991<dt><b><a name="check_address_map">check_address_map</a> <i><a href="DATABASE_README.html">type:table</a></i> </b></dt> 5992 5993<dt><b><i><a href="DATABASE_README.html">type:table</a></i> </b></dt> 5994 5995<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 5996client IP address matches the specified lookup table. 5997The lookup result is ignored, and no subnet lookup is done. This 5998is suitable for, e.g., pop-before-smtp lookup tables. </dd> 5999 6000</dl> 6001 6002<p> Examples: </p> 6003 6004<p> The Postfix < 2.2 backwards compatible setting: always rewrite 6005message headers, and always append my own domain to incomplete 6006header addresses. </p> 6007 6008<blockquote> 6009<pre> 6010<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all 6011</pre> 6012</blockquote> 6013 6014<p> The purist (and default) setting: rewrite headers only in mail 6015from Postfix sendmail and in SMTP mail from this machine. </p> 6016 6017<blockquote> 6018<pre> 6019<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> 6020</pre> 6021</blockquote> 6022 6023<p> The intermediate setting: rewrite header addresses and append 6024$<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> information only with mail from Postfix 6025sendmail, from local clients, or from authorized SMTP clients. </p> 6026 6027<p> Note: this setting will not prevent remote mail header address 6028rewriting when mail from a remote client is forwarded by a neighboring 6029system. </p> 6030 6031<blockquote> 6032<pre> 6033<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, 6034 <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> 6035 <a href="postconf.5.html#check_address_map">check_address_map</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/pop-before-smtp 6036</pre> 6037</blockquote> 6038 6039 6040</DD> 6041 6042<DT><b><a name="local_login_sender_maps">local_login_sender_maps</a> 6043(default: <a href="DATABASE_README.html#types">static</a>:*)</b></DT><DD> 6044 6045<p> A list of lookup tables that are searched by the UNIX login name, 6046and that return a list of allowed envelope sender patterns separated 6047by space or comma. These sender patterns are enforced by the Postfix 6048<a href="postdrop.1.html">postdrop(1)</a> command. The default is backwards-compatible: 6049every user may specify any sender envelope address. </p> 6050 6051<p> When no UNIX login name is available, the <a href="postdrop.1.html">postdrop(1)</a> command will 6052prepend "<b>uid:</b>" to the numerical UID and use that instead. </p> 6053 6054<p> This feature ignores address extensions in the user-specified 6055envelope sender address. </p> 6056 6057<p> The following sender patterns are special; these cannot be used 6058as part of a longer pattern. </p> 6059 6060<dl compact> 6061 6062<dt> <b> * </b> <dd> This pattern allows any envelope sender address. 6063</dd> 6064 6065<dt> <b> <> </b> </dt> <dd> This pattern allows the empty 6066envelope sender address. See the 6067<a href="postconf.5.html#empty_address_local_login_sender_maps_lookup_key">empty_address_local_login_sender_maps_lookup_key</a> configuration 6068parameter. </dd> 6069 6070<dt> <b> @</b><i>domain</i> </dt> <dd> This pattern allows an 6071envelope sender address when the '<b>@</b>' and <i>domain</i> part 6072match. </dd> 6073 6074</dl> 6075 6076<p> Examples: </p> 6077 6078<pre> 6079/etc/postfix/<a href="postconf.5.html">main.cf</a>: 6080 # Allow root and postfix full control, anyone else can only 6081 # send mail as themselves. Use "uid:" followed by the numerical 6082 # UID when the UID has no entry in the UNIX password file. 6083 <a href="postconf.5.html#local_login_sender_maps">local_login_sender_maps</a> = 6084 <a href="DATABASE_README.html#types">inline</a>:{ { root = * }, { postfix = * } }, 6085 <a href="pcre_table.5.html">pcre</a>:/etc/postfix/login_senders 6086</pre> 6087 6088<pre> 6089/etc/postfix/login_senders: 6090 # Allow both the bare username and the user@domain forms. 6091 /(.+)/ $1 $1@example.com 6092</pre> 6093 6094<p> This feature is available in Postfix 3.6 and later. </p> 6095 6096 6097</DD> 6098 6099<DT><b><a name="local_recipient_maps">local_recipient_maps</a> 6100(default: <a href="proxymap.8.html">proxy</a>:unix:passwd.byname $<a href="postconf.5.html#alias_maps">alias_maps</a>)</b></DT><DD> 6101 6102<p> Lookup tables with all names or addresses of local recipients: 6103a recipient address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, 6104$<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. Specify @domain as a 6105wild-card for domains that do not have a valid recipient list. 6106Technically, tables listed with $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> are used as 6107lists: Postfix needs to know only if a lookup string is found or 6108not, but it does not use the result from table lookup. </p> 6109 6110<p> 6111Specify zero or more "type:name" lookup tables, separated by 6112whitespace or comma. Tables will be searched in the specified order 6113until a match is found. 6114</p> 6115 6116<p> 6117If this parameter is non-empty (the default), then the Postfix SMTP 6118server will reject mail for unknown local users. 6119</p> 6120 6121<p> 6122To turn off local recipient checking in the Postfix SMTP server, 6123specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty). 6124</p> 6125 6126<p> 6127The default setting assumes that you use the default Postfix local 6128delivery agent for local delivery. You need to update the 6129<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> setting if: 6130</p> 6131 6132<ul> 6133 6134<li>You redefine the local delivery agent in <a href="master.5.html">master.cf</a>. 6135 6136<li>You redefine the "<a href="postconf.5.html#local_transport">local_transport</a>" setting in <a href="postconf.5.html">main.cf</a>. 6137 6138<li>You use the "<a href="postconf.5.html#luser_relay">luser_relay</a>", "<a href="postconf.5.html#mailbox_transport">mailbox_transport</a>", or "<a href="postconf.5.html#fallback_transport">fallback_transport</a>" 6139feature of the Postfix <a href="local.8.html">local(8)</a> delivery agent. 6140 6141</ul> 6142 6143<p> 6144Details are described in the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> file. 6145</p> 6146 6147<p> 6148Beware: if the Postfix SMTP server runs chrooted, you need to access 6149the passwd file via the <a href="proxymap.8.html">proxymap(8)</a> service, in order to overcome 6150chroot access restrictions. The alternative, maintaining a copy of 6151the system password file in the chroot jail is not practical. 6152</p> 6153 6154<p> 6155Examples: 6156</p> 6157 6158<pre> 6159<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> = 6160</pre> 6161 6162 6163</DD> 6164 6165<DT><b><a name="local_transport">local_transport</a> 6166(default: <a href="local.8.html">local</a>:$<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD> 6167 6168<p> The default mail delivery transport and next-hop destination 6169for final delivery to domains listed with <a href="postconf.5.html#mydestination">mydestination</a>, and for 6170[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>. 6171This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. </p> 6172 6173<p> 6174By default, local mail is delivered to the transport called "local", 6175which is just the name of a service that is defined the <a href="master.5.html">master.cf</a> file. 6176</p> 6177 6178<p> 6179Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i> 6180is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>. 6181The <i>:nexthop</i> destination is optional; its syntax is documented 6182in the manual page of the corresponding delivery agent. 6183</p> 6184 6185<p> 6186Beware: if you override the default local delivery agent then you 6187need to review the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> document, otherwise the 6188SMTP server may reject mail for local recipients. 6189</p> 6190 6191 6192</DD> 6193 6194<DT><b><a name="luser_relay">luser_relay</a> 6195(default: empty)</b></DT><DD> 6196 6197<p> 6198Optional catch-all destination for unknown <a href="local.8.html">local(8)</a> recipients. 6199By default, mail for unknown recipients in domains that match 6200$<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 6201as undeliverable. 6202</p> 6203 6204<p> 6205The <a href="postconf.5.html#luser_relay">luser_relay</a> value is not subject to Postfix configuration 6206parameter $name expansion. Instead, the following $name expansions 6207are done: 6208</p> 6209 6210<dl> 6211 6212<dt><b>$domain</b></dt> 6213 6214<dd>The recipient domain. </dd> 6215 6216<dt><b>$extension</b></dt> 6217 6218<dd>The recipient address extension. </dd> 6219 6220<dt><b>$home</b></dt> 6221 6222<dd>The recipient's home directory. </dd> 6223 6224<dt><b>$local</b></dt> 6225 6226<dd>The entire recipient address localpart. </dd> 6227 6228<dt><b>$recipient</b></dt> 6229 6230<dd>The full recipient address. </dd> 6231 6232<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt> 6233 6234<dd>The address extension delimiter that was found in the recipient 6235address (Postfix 2.11 and later), or the system-wide recipient 6236address extension delimiter (Postfix 2.10 and earlier). </dd> 6237 6238<dt><b>$shell</b></dt> 6239 6240<dd>The recipient's login shell. </dd> 6241 6242<dt><b>$user</b></dt> 6243 6244<dd>The recipient username. </dd> 6245 6246<dt><b>${name?value}</b></dt> 6247 6248<dt><b>${name?{value}}</b> (Postfix ≥ 3.0)</dt> 6249 6250<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd> 6251 6252<dt><b>${name:value}</b></dt> 6253 6254<dt><b>${name:{value}}</b> (Postfix ≥ 3.0)</dt> 6255 6256<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd> 6257 6258<dt><b>${name?{value1}:{value2}}</b> (Postfix ≥ 3.0)</dt> 6259 6260<dd>Expands to <i>value1</i> when <i>$name</i> is non-empty, 6261<i>value2</i> otherwise. </dd> 6262 6263</dl> 6264 6265<p> 6266Instead of $name you can also specify ${name} or $(name). 6267</p> 6268 6269<p> 6270Note: <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. 6271</p> 6272 6273<p> 6274Note: if you use this feature for accounts not in the UNIX password 6275file, then you must specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty) 6276in the <a href="postconf.5.html">main.cf</a> file, otherwise the Postfix SMTP server will reject mail 6277for non-UNIX accounts with "User unknown in local recipient table". 6278</p> 6279 6280<p> 6281Examples: 6282</p> 6283 6284<pre> 6285<a href="postconf.5.html#luser_relay">luser_relay</a> = $user@other.host 6286<a href="postconf.5.html#luser_relay">luser_relay</a> = $local@other.host 6287<a href="postconf.5.html#luser_relay">luser_relay</a> = admin+$local 6288</pre> 6289 6290 6291</DD> 6292 6293<DT><b><a name="mail_name">mail_name</a> 6294(default: Postfix)</b></DT><DD> 6295 6296<p> 6297The mail system name that is displayed in Received: headers, in 6298the SMTP greeting banner, and in bounced mail. 6299</p> 6300 6301 6302</DD> 6303 6304<DT><b><a name="mail_owner">mail_owner</a> 6305(default: postfix)</b></DT><DD> 6306 6307<p> 6308The UNIX system account that owns the Postfix queue and most Postfix 6309daemon processes. Specify the name of an unprivileged user account 6310that does not share a user or group ID with other accounts, and that 6311owns no other files 6312or processes on the system. In particular, don't specify nobody 6313or daemon. PLEASE USE A DEDICATED USER ID AND GROUP ID. 6314</p> 6315 6316<p> 6317When this parameter value is changed you need to re-run "<b>postfix 6318set-permissions</b>" (with Postfix version 2.0 and earlier: 6319"<b>/etc/postfix/post-install set-permissions</b>". 6320</p> 6321 6322 6323</DD> 6324 6325<DT><b><a name="mail_release_date">mail_release_date</a> 6326(default: see "postconf -d" output)</b></DT><DD> 6327 6328<p> 6329The Postfix release date, in "YYYYMMDD" format. 6330</p> 6331 6332 6333</DD> 6334 6335<DT><b><a name="mail_spool_directory">mail_spool_directory</a> 6336(default: see "postconf -d" output)</b></DT><DD> 6337 6338<p> 6339The directory where <a href="local.8.html">local(8)</a> UNIX-style mailboxes are kept. The 6340default setting depends on the system type. Specify a name ending 6341in / for maildir-style delivery. 6342</p> 6343 6344<p> 6345Note: maildir delivery is done with the privileges of the recipient. 6346If you use the <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> setting for maildir style 6347delivery, then you must create the top-level maildir directory in 6348advance. Postfix will not create it. 6349</p> 6350 6351<p> 6352Examples: 6353</p> 6354 6355<pre> 6356<a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/mail 6357<a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/spool/mail 6358</pre> 6359 6360 6361</DD> 6362 6363<DT><b><a name="mail_version">mail_version</a> 6364(default: see "postconf -d" output)</b></DT><DD> 6365 6366<p> 6367The version of the mail system. Stable releases are named 6368<i>major</i>.<i>minor</i>.<i>patchlevel</i>. Experimental releases 6369also include the release date. The version string can be used in, 6370for example, the SMTP greeting banner. 6371</p> 6372 6373 6374</DD> 6375 6376<DT><b><a name="mailbox_command">mailbox_command</a> 6377(default: empty)</b></DT><DD> 6378 6379<p> 6380Optional external command that the <a href="local.8.html">local(8)</a> delivery agent should 6381use for mailbox delivery. The command is run with the user ID and 6382the primary group ID privileges of the recipient. Exception: 6383command delivery for root executes with $<a href="postconf.5.html#default_privs">default_privs</a> privileges. 6384This is not a problem, because 1) mail for root should always be 6385aliased to a real user and 2) don't log in as root, use "su" instead. 6386</p> 6387 6388<p> 6389The following environment variables are exported to the command: 6390</p> 6391 6392<dl> 6393 6394<dt><b>CLIENT_ADDRESS</b></dt> 6395 6396<dd>Remote client network address. Available in Postfix version 2.2 and 6397later. </dd> 6398 6399<dt><b>CLIENT_HELO</b></dt> 6400 6401<dd>Remote client EHLO command parameter. Available in Postfix version 2.2 6402and later.</dd> 6403 6404<dt><b>CLIENT_HOSTNAME</b></dt> 6405 6406<dd>Remote client hostname. Available in Postfix version 2.2 and later. 6407</dd> 6408 6409<dt><b>CLIENT_PROTOCOL</b></dt> 6410 6411<dd>Remote client protocol. Available in Postfix version 2.2 and later. 6412</dd> 6413 6414<dt><b>DOMAIN</b></dt> 6415 6416<dd>The domain part of the recipient address. </dd> 6417 6418<dt><b>EXTENSION</b></dt> 6419 6420<dd>The optional address extension. </dd> 6421 6422<dt><b>HOME</b></dt> 6423 6424<dd>The recipient home directory. </dd> 6425 6426<dt><b>LOCAL</b></dt> 6427 6428<dd>The recipient address localpart. </dd> 6429 6430<dt><b>LOGNAME</b></dt> 6431 6432<dd>The recipient's username. </dd> 6433 6434<dt><b>ORIGINAL_RECIPIENT</b></dt> 6435 6436<dd>The entire recipient address, before any address rewriting or 6437aliasing. </dd> 6438 6439<dt><b>RECIPIENT</b></dt> 6440 6441<dd>The full recipient address. </dd> 6442 6443<dt><b>SASL_METHOD</b></dt> 6444 6445<dd>SASL authentication method specified in the remote client AUTH 6446command. Available in Postfix version 2.2 and later. </dd> 6447 6448<dt><b>SASL_SENDER</b></dt> 6449 6450<dd>SASL sender address specified in the remote client MAIL FROM 6451command. Available in Postfix version 2.2 and later. </dd> 6452 6453<dt><b>SASL_USER</b></dt> 6454 6455<dd>SASL username specified in the remote client AUTH command. 6456Available in Postfix version 2.2 and later. </dd> 6457 6458<dt><b>SENDER</b></dt> 6459 6460<dd>The full sender address. </dd> 6461 6462<dt><b>SHELL</b></dt> 6463 6464<dd>The recipient's login shell. </dd> 6465 6466<dt><b>USER</b></dt> 6467 6468<dd>The recipient username. </dd> 6469 6470</dl> 6471 6472<p> 6473Unlike other Postfix configuration parameters, the <a href="postconf.5.html#mailbox_command">mailbox_command</a> 6474parameter is not subjected to $name substitutions. This is to make 6475it easier to specify shell syntax (see example below). 6476</p> 6477 6478<p> 6479If you can, avoid shell meta characters because they will force 6480Postfix to run an expensive shell process. If you're delivering 6481via "procmail" then running a shell won't make a noticeable difference 6482in the total cost. 6483</p> 6484 6485<p> 6486Note: if you use the <a href="postconf.5.html#mailbox_command">mailbox_command</a> feature to deliver mail 6487system-wide, you must set up an alias that forwards mail for root 6488to a real user. 6489</p> 6490 6491<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 6492is: 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>, 6493<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>, 6494<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> 6495 6496<p> 6497Examples: 6498</p> 6499 6500<pre> 6501<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail 6502<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail -a "$EXTENSION" 6503<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/maildrop -d "$USER" 6504 -f "$SENDER" "$EXTENSION" 6505</pre> 6506 6507 6508</DD> 6509 6510<DT><b><a name="mailbox_command_maps">mailbox_command_maps</a> 6511(default: empty)</b></DT><DD> 6512 6513<p> 6514Optional lookup tables with per-recipient external commands to use 6515for <a href="local.8.html">local(8)</a> mailbox delivery. Behavior is as with <a href="postconf.5.html#mailbox_command">mailbox_command</a>. 6516</p> 6517 6518<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 6519is: 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>, 6520<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>, 6521<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> 6522 6523<p> 6524Specify zero or more "type:name" lookup tables, separated by 6525whitespace or comma. Tables will be searched in the specified order 6526until a match is found. 6527</p> 6528 6529 6530</DD> 6531 6532<DT><b><a name="mailbox_delivery_lock">mailbox_delivery_lock</a> 6533(default: see "postconf -d" output)</b></DT><DD> 6534 6535<p> 6536How to lock a UNIX-style <a href="local.8.html">local(8)</a> mailbox before attempting delivery. 6537For a list of available file locking methods, use the "<b>postconf 6538-l</b>" command. 6539</p> 6540 6541<p> 6542This setting is ignored with <b>maildir</b> style delivery, 6543because such deliveries are safe without explicit locks. 6544</p> 6545 6546<p> 6547Note: The <b>dotlock</b> method requires that the recipient UID or 6548GID has write access to the parent directory of the mailbox file. 6549</p> 6550 6551<p> 6552Note: the default setting of this parameter is system dependent. 6553</p> 6554 6555 6556</DD> 6557 6558<DT><b><a name="mailbox_size_limit">mailbox_size_limit</a> 6559(default: 51200000)</b></DT><DD> 6560 6561<p> The maximal size of any <a href="local.8.html">local(8)</a> individual mailbox or maildir 6562file, or zero (no limit). In fact, this limits the size of any 6563file that is written to upon local delivery, including files written 6564by external commands that are executed by the <a href="local.8.html">local(8)</a> delivery 6565agent. The value cannot exceed LONG_MAX (typically, a 32-bit or 656664-bit signed integer). 6567</p> 6568 6569<p> 6570This limit must not be smaller than the message size limit. 6571</p> 6572 6573 6574</DD> 6575 6576<DT><b><a name="mailbox_transport">mailbox_transport</a> 6577(default: empty)</b></DT><DD> 6578 6579<p> 6580Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery 6581agent should use for mailbox delivery to all local recipients, 6582whether or not they are found in the UNIX passwd database. 6583</p> 6584 6585<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 6586is: 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>, 6587<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>, 6588<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> 6589 6590 6591</DD> 6592 6593<DT><b><a name="mailbox_transport_maps">mailbox_transport_maps</a> 6594(default: empty)</b></DT><DD> 6595 6596<p> Optional lookup tables with per-recipient message delivery 6597transports to use for <a href="local.8.html">local(8)</a> mailbox delivery, whether or not the 6598recipients are found in the UNIX passwd database. </p> 6599 6600<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 6601is: 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>, 6602<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>, 6603<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> 6604 6605<p> 6606Specify zero or more "type:name" lookup tables, separated by 6607whitespace or comma. Tables will be searched in the specified order 6608until a match is found. 6609</p> 6610 6611<p> For safety reasons, this feature does not allow $number 6612substitutions in regular expression maps. </p> 6613 6614<p> This feature is available in Postfix 2.3 and later. </p> 6615 6616 6617</DD> 6618 6619<DT><b><a name="maillog_file">maillog_file</a> 6620(default: empty)</b></DT><DD> 6621 6622<p> The name of an optional logfile that is written by the Postfix 6623<a href="postlogd.8.html">postlogd(8)</a> service. An empty value selects logging to syslogd(8). 6624Specify "/dev/stdout" to select logging to standard output. Stdout 6625logging requires that Postfix is started with "postfix start-fg". 6626</p> 6627 6628<p> Note 1: The <a href="postconf.5.html#maillog_file">maillog_file</a> parameter value must contain a prefix 6629that is specified with the <a href="postconf.5.html#maillog_file_prefixes">maillog_file_prefixes</a> parameter. </p> 6630 6631<p> Note 2: Some Postfix non-daemon programs may still log information 6632to syslogd(8), before they have processed their configuration 6633parameters and command-line options. </p> 6634 6635<p> This feature is available in Postfix 3.4 and later. </p> 6636 6637 6638</DD> 6639 6640<DT><b><a name="maillog_file_compressor">maillog_file_compressor</a> 6641(default: gzip)</b></DT><DD> 6642 6643<p> The program to run after rotating $<a href="postconf.5.html#maillog_file">maillog_file</a> with "postfix 6644logrotate". The command is run with the rotated logfile name as its 6645first argument. </p> 6646 6647<p> This feature is available in Postfix 3.4 and later. </p> 6648 6649 6650</DD> 6651 6652<DT><b><a name="maillog_file_prefixes">maillog_file_prefixes</a> 6653(default: /var, /dev/stdout)</b></DT><DD> 6654 6655<p> A list of allowed prefixes for a <a href="postconf.5.html#maillog_file">maillog_file</a> value. This is a 6656safety feature to contain the damage from a single configuration 6657mistake. Specify one or more prefix strings, separated by comma or 6658whitespace. </p> 6659 6660<p> This feature is available in Postfix 3.4 and later. </p> 6661 6662 6663</DD> 6664 6665<DT><b><a name="maillog_file_rotate_suffix">maillog_file_rotate_suffix</a> 6666(default: %Y%m%d-%H%M%S)</b></DT><DD> 6667 6668<p> The format of the suffix to append to $<a href="postconf.5.html#maillog_file">maillog_file</a> while rotating 6669the file with "postfix logrotate". See strftime(3) for syntax. The 6670default suffix, YYYYMMDD-HHMMSS, allows logs to be rotated frequently. 6671</p> 6672 6673<p> This feature is available in Postfix 3.4 and later. </p> 6674 6675 6676</DD> 6677 6678<DT><b><a name="mailq_path">mailq_path</a> 6679(default: see "postconf -d" output)</b></DT><DD> 6680 6681<p> 6682Sendmail compatibility feature that specifies where the Postfix 6683<a href="mailq.1.html">mailq(1)</a> command is installed. This command can be used to 6684list the Postfix mail queue. 6685</p> 6686 6687 6688</DD> 6689 6690<DT><b><a name="manpage_directory">manpage_directory</a> 6691(default: see "postconf -d" output)</b></DT><DD> 6692 6693<p> 6694Where the Postfix manual pages are installed. 6695</p> 6696 6697 6698</DD> 6699 6700<DT><b><a name="maps_rbl_domains">maps_rbl_domains</a> 6701(default: empty)</b></DT><DD> 6702 6703<p> 6704Obsolete feature: use the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> feature instead. 6705</p> 6706 6707 6708</DD> 6709 6710<DT><b><a name="maps_rbl_reject_code">maps_rbl_reject_code</a> 6711(default: 554)</b></DT><DD> 6712 6713<p> 6714The numerical Postfix SMTP server response code when a remote SMTP 6715client 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>, 6716<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 6717<a href="postconf.5.html#reject_rhsbl_recipient">reject_rhsbl_recipient</a> restriction. 6718</p> 6719 6720<p> 6721Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 6722</p> 6723 6724 6725</DD> 6726 6727<DT><b><a name="masquerade_classes">masquerade_classes</a> 6728(default: envelope_sender, header_sender, header_recipient)</b></DT><DD> 6729 6730<p> 6731What addresses are subject to address masquerading. 6732</p> 6733 6734<p> 6735By default, address masquerading is limited to envelope sender 6736addresses, and to header sender and header recipient addresses. 6737This allows you to use address masquerading on a mail gateway while 6738still being able to forward mail to users on individual machines. 6739</p> 6740 6741<p> 6742Specify zero or more of: envelope_sender, envelope_recipient, 6743header_sender, header_recipient 6744</p> 6745 6746 6747</DD> 6748 6749<DT><b><a name="masquerade_domains">masquerade_domains</a> 6750(default: empty)</b></DT><DD> 6751 6752<p> 6753Optional list of domains whose subdomain structure will be stripped 6754off in email addresses. 6755</p> 6756 6757<p> 6758The list is processed left to right, and processing stops at the 6759first match. Thus, 6760</p> 6761 6762<blockquote> 6763<pre> 6764<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = foo.example.com example.com 6765</pre> 6766</blockquote> 6767 6768<p> 6769strips "user@any.thing.foo.example.com" to "user@foo.example.com", 6770but strips "user@any.thing.else.example.com" to "user@example.com". 6771</p> 6772 6773<p> 6774A domain name prefixed with ! means do not masquerade this domain 6775or its subdomains. Thus, 6776</p> 6777 6778<blockquote> 6779<pre> 6780<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = !foo.example.com example.com 6781</pre> 6782</blockquote> 6783 6784<p> 6785does not change "user@any.thing.foo.example.com" or "user@foo.example.com", 6786but strips "user@any.thing.else.example.com" to "user@example.com". 6787</p> 6788 6789<p> Note: with Postfix version 2.2, message header address masquerading 6790happens only when message header address rewriting is enabled: </p> 6791 6792<ul> 6793 6794<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, 6795 6796<li> The message is received from a network client that matches 6797$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>, 6798 6799<li> The message is received from the network, and the 6800<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value. 6801 6802</ul> 6803 6804<p> To get the behavior before Postfix version 2.2, specify 6805"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p> 6806 6807<p> 6808Example: 6809</p> 6810 6811<pre> 6812<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = $<a href="postconf.5.html#mydomain">mydomain</a> 6813</pre> 6814 6815 6816</DD> 6817 6818<DT><b><a name="masquerade_exceptions">masquerade_exceptions</a> 6819(default: empty)</b></DT><DD> 6820 6821<p> 6822Optional list of user names that are not subjected to address 6823masquerading, even when their addresses match $<a href="postconf.5.html#masquerade_domains">masquerade_domains</a>. 6824</p> 6825 6826<p> 6827By default, address masquerading makes no exceptions. 6828</p> 6829 6830<p> 6831Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns, 6832separated by commas and/or whitespace. The list is matched left to 6833right, and the search stops on the first match. A "/file/name" 6834pattern is replaced 6835by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name 6836matches a lookup key (the lookup result is ignored). Continue long 6837lines by starting the next line with whitespace. Specify "!pattern" 6838to exclude a name from the list. The form "!/file/name" is supported 6839only in Postfix version 2.4 and later. </p> 6840 6841<p> 6842Examples: 6843</p> 6844 6845<pre> 6846<a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root, mailer-daemon 6847<a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root 6848</pre> 6849 6850 6851</DD> 6852 6853<DT><b><a name="master_service_disable">master_service_disable</a> 6854(default: empty)</b></DT><DD> 6855 6856<p> Selectively disable <a href="master.8.html">master(8)</a> listener ports by service type 6857or by service name and type. Specify a list of service types 6858("inet", "unix", "fifo", or "pass") or "name/type" tuples, where 6859"name" is the first field of a <a href="master.5.html">master.cf</a> entry and "type" is a 6860service type. As with other Postfix matchlists, a search stops at 6861the first match. Specify "!pattern" to exclude a service from the 6862list. By default, all <a href="master.8.html">master(8)</a> listener ports are enabled. </p> 6863 6864<p> Note: this feature does not support "/file/name" or "<a href="DATABASE_README.html">type:table</a>" 6865patterns, nor does it support wildcards such as "*" or "all". This 6866is intentional. </p> 6867 6868<p> Examples: </p> 6869 6870<pre> 6871# With Postfix 2.6..2.10 use '.' instead of '/'. 6872# Turn on all <a href="master.8.html">master(8)</a> listener ports (the default). 6873<a href="postconf.5.html#master_service_disable">master_service_disable</a> = 6874# Turn off only the main SMTP listener port. 6875<a href="postconf.5.html#master_service_disable">master_service_disable</a> = smtp/inet 6876# Turn off all TCP/IP listener ports. 6877<a href="postconf.5.html#master_service_disable">master_service_disable</a> = inet 6878# Turn off all TCP/IP listener ports except "foo". 6879<a href="postconf.5.html#master_service_disable">master_service_disable</a> = !foo/inet, inet 6880</pre> 6881 6882<p> This feature is available in Postfix 2.6 and later. </p> 6883 6884 6885</DD> 6886 6887<DT><b><a name="max_idle">max_idle</a> 6888(default: 100s)</b></DT><DD> 6889 6890<p> 6891The maximum amount of time that an idle Postfix daemon process waits 6892for an incoming connection before terminating voluntarily. This 6893parameter 6894is ignored by the Postfix queue manager and by other long-lived 6895Postfix daemon processes. 6896</p> 6897 6898<p> Specify a non-zero time value (an integral value plus an optional 6899one-letter suffix that specifies the time unit). Time units: s 6900(seconds), m (minutes), h (hours), d (days), w (weeks). 6901The default time unit is s (seconds). </p> 6902 6903 6904</DD> 6905 6906<DT><b><a name="max_use">max_use</a> 6907(default: 100)</b></DT><DD> 6908 6909<p> 6910The maximal number of incoming connections that a Postfix daemon 6911process will service before terminating voluntarily. This parameter 6912is ignored by the Postfix queue 6913manager and by other long-lived Postfix daemon processes. 6914</p> 6915 6916 6917</DD> 6918 6919<DT><b><a name="maximal_backoff_time">maximal_backoff_time</a> 6920(default: 4000s)</b></DT><DD> 6921 6922<p> 6923The maximal time between attempts to deliver a deferred message. 6924</p> 6925 6926<p> This parameter should be set to a value greater than or equal 6927to $<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> 6928 6929<p> Specify a non-zero time value (an integral value plus an optional 6930one-letter suffix that specifies the time unit). Time units: s 6931(seconds), m (minutes), h (hours), d (days), w (weeks). 6932The default time unit is s (seconds). </p> 6933 6934 6935</DD> 6936 6937<DT><b><a name="maximal_queue_lifetime">maximal_queue_lifetime</a> 6938(default: 5d)</b></DT><DD> 6939 6940<p> 6941Consider a message as undeliverable, when delivery fails with a 6942temporary error, and the time in the queue has reached the 6943<a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> limit. 6944</p> 6945 6946<p> Specify a non-negative time value (an integral value plus an optional 6947one-letter suffix that specifies the time unit). Time units: s 6948(seconds), m (minutes), h (hours), d (days), w (weeks). 6949The default time unit is d (days). </p> 6950 6951<p> 6952Specify 0 when mail delivery should be tried only once. 6953</p> 6954 6955 6956</DD> 6957 6958<DT><b><a name="message_drop_headers">message_drop_headers</a> 6959(default: bcc, content-length, resent-bcc, return-path)</b></DT><DD> 6960 6961<p> Names of message headers that the <a href="cleanup.8.html">cleanup(8)</a> daemon will remove 6962after applying <a href="header_checks.5.html">header_checks(5)</a> and before invoking Milter applications. 6963The default setting is compatible with Postfix < 3.0. </p> 6964 6965<p> Specify a list of header names, separated by comma or space. 6966Names are matched in a case-insensitive manner. The list of supported 6967header names is limited only by available memory. </p> 6968 6969<p> This feature is available in Postfix 3.0 and later. </p> 6970 6971 6972</DD> 6973 6974<DT><b><a name="message_reject_characters">message_reject_characters</a> 6975(default: empty)</b></DT><DD> 6976 6977<p> The set of characters that Postfix will reject in message 6978content. The usual C-like escape sequences are recognized: <tt>\a 6979\b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and 6980<tt>\\</tt>. </p> 6981 6982<p> Note 1: this feature does not recognize text that requires MIME 6983decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a> 6984and <a href="postconf.5.html#body_checks">body_checks</a>. </p> 6985 6986<p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a> 6987= <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>". </p> 6988 6989<p> Example: </p> 6990 6991<pre> 6992<a href="postconf.5.html#message_reject_characters">message_reject_characters</a> = \0 6993</pre> 6994 6995<p> This feature is available in Postfix 2.3 and later. </p> 6996 6997 6998</DD> 6999 7000<DT><b><a name="message_size_limit">message_size_limit</a> 7001(default: 10240000)</b></DT><DD> 7002 7003<p> 7004The maximal size in bytes of a message, including envelope information. 7005The value cannot exceed LONG_MAX (typically, a 32-bit or 64-bit 7006signed integer). 7007</p> 7008 7009<p> Note: be careful when making changes. Excessively small values 7010will result in the loss of non-delivery notifications, when a bounce 7011message size exceeds the local or remote MTA's message size limit. 7012</p> 7013 7014 7015</DD> 7016 7017<DT><b><a name="message_strip_characters">message_strip_characters</a> 7018(default: empty)</b></DT><DD> 7019 7020<p> The set of characters that Postfix will remove from message 7021content. The usual C-like escape sequences are recognized: <tt>\a 7022\b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and 7023<tt>\\</tt>. </p> 7024 7025<p> Note 1: this feature does not recognize text that requires MIME 7026decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a> 7027and <a href="postconf.5.html#body_checks">body_checks</a>. </p> 7028 7029<p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a> 7030= <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>". </p> 7031 7032<p> Example: </p> 7033 7034<pre> 7035<a href="postconf.5.html#message_strip_characters">message_strip_characters</a> = \0 7036</pre> 7037 7038<p> This feature is available in Postfix 2.3 and later. </p> 7039 7040 7041</DD> 7042 7043<DT><b><a name="meta_directory">meta_directory</a> 7044(default: see 'postconf -d' output)</b></DT><DD> 7045 7046<p> The location of non-executable files that are shared among 7047multiple Postfix instances, such as postfix-files, dynamicmaps.cf, 7048and the multi-instance template files <a href="postconf.5.html">main.cf</a>.proto and <a href="master.5.html">master.cf</a>.proto. 7049This directory should contain only Postfix-related files. Typically, 7050the <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> 7051parameter (/etc/postfix or /usr/local/etc/postfix). </p> 7052 7053<p> For backwards compatibility with Postfix versions 2.6..2.11, 7054specify "<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 7055installing or upgrading Postfix, or specify "<a href="postconf.5.html#meta_directory">meta_directory</a> = 7056/path/name" on the "make makefiles", "make install" or "make upgrade" 7057command line. </p> 7058 7059<p> This feature is available in Postfix 3.0 and later. </p> 7060 7061 7062</DD> 7063 7064<DT><b><a name="milter_command_timeout">milter_command_timeout</a> 7065(default: 30s)</b></DT><DD> 7066 7067<p> The time limit for sending an SMTP command to a Milter (mail 7068filter) application, and for receiving the response. </p> 7069 7070<p> Specify a non-zero time value (an integral value plus an optional 7071one-letter suffix that specifies the time unit). Time units: s 7072(seconds), m (minutes), h (hours), d (days), w (weeks). 7073The default time unit is s (seconds). </p> 7074 7075<p> This feature is available in Postfix 2.3 and later. </p> 7076 7077 7078</DD> 7079 7080<DT><b><a name="milter_connect_macros">milter_connect_macros</a> 7081(default: see "postconf -d" output)</b></DT><DD> 7082 7083<p> The macros that are sent to Milter (mail filter) applications 7084after completion of an SMTP connection. See <a href="MILTER_README.html">MILTER_README</a> 7085for a list of available macro names and their meanings. </p> 7086 7087<p> This feature is available in Postfix 2.3 and later. </p> 7088 7089 7090</DD> 7091 7092<DT><b><a name="milter_connect_timeout">milter_connect_timeout</a> 7093(default: 30s)</b></DT><DD> 7094 7095<p> The time limit for connecting to a Milter (mail filter) 7096application, and for negotiating protocol options. </p> 7097 7098<p> Specify a non-zero time value (an integral value plus an optional 7099one-letter suffix that specifies the time unit). Time units: s 7100(seconds), m (minutes), h (hours), d (days), w (weeks). 7101The default time unit is s (seconds). </p> 7102 7103<p> This feature is available in Postfix 2.3 and later. </p> 7104 7105 7106</DD> 7107 7108<DT><b><a name="milter_content_timeout">milter_content_timeout</a> 7109(default: 300s)</b></DT><DD> 7110 7111<p> The time limit for sending message content to a Milter (mail 7112filter) application, and for receiving the response. </p> 7113 7114<p> Specify a non-zero time value (an integral value plus an optional 7115one-letter suffix that specifies the time unit). Time units: s 7116(seconds), m (minutes), h (hours), d (days), w (weeks). 7117The default time unit is s (seconds). </p> 7118 7119<p> This feature is available in Postfix 2.3 and later. </p> 7120 7121 7122</DD> 7123 7124<DT><b><a name="milter_data_macros">milter_data_macros</a> 7125(default: see "postconf -d" output)</b></DT><DD> 7126 7127<p> The macros that are sent to version 4 or higher Milter (mail 7128filter) applications after the SMTP DATA command. See <a href="MILTER_README.html">MILTER_README</a> 7129for a list of available macro names and their meanings. </p> 7130 7131<p> This feature is available in Postfix 2.3 and later. </p> 7132 7133 7134</DD> 7135 7136<DT><b><a name="milter_default_action">milter_default_action</a> 7137(default: tempfail)</b></DT><DD> 7138 7139<p> The default action when a Milter (mail filter) response is 7140unavailable (for example, bad Postfix configuration or Milter 7141failure). Specify one of the following: </p> 7142 7143<dl compact> 7144 7145<dt>accept</dt> <dd>Proceed as if the mail filter was not present. 7146</dd> 7147 7148<dt>reject</dt> <dd>Reject all further commands in this session 7149with a permanent status code.</dd> 7150 7151<dt>tempfail</dt> <dd>Reject all further commands in this session 7152with a temporary status code. </dd> 7153 7154<dt>quarantine</dt> <dd>Like "accept", but freeze the message in 7155the "<a href="QSHAPE_README.html#hold_queue">hold" queue</a>. Available with Postfix 2.6 and later. </dd> 7156 7157</dl> 7158 7159<p> This feature is available in Postfix 2.3 and later. </p> 7160 7161 7162</DD> 7163 7164<DT><b><a name="milter_end_of_data_macros">milter_end_of_data_macros</a> 7165(default: see "postconf -d" output)</b></DT><DD> 7166 7167<p> The macros that are sent to Milter (mail filter) applications 7168after the message end-of-data. See <a href="MILTER_README.html">MILTER_README</a> for a list of 7169available macro names and their meanings. </p> 7170 7171<p> This feature is available in Postfix 2.3 and later. </p> 7172 7173 7174</DD> 7175 7176<DT><b><a name="milter_end_of_header_macros">milter_end_of_header_macros</a> 7177(default: see "postconf -d" output)</b></DT><DD> 7178 7179<p> The macros that are sent to Milter (mail filter) applications 7180after the end of the message header. See <a href="MILTER_README.html">MILTER_README</a> for a list 7181of available macro names and their meanings. </p> 7182 7183<p> This feature is available in Postfix 2.5 and later. </p> 7184 7185 7186</DD> 7187 7188<DT><b><a name="milter_header_checks">milter_header_checks</a> 7189(default: empty)</b></DT><DD> 7190 7191<p> Optional lookup tables for content inspection of message headers 7192that are produced by Milter applications. See the <a href="header_checks.5.html">header_checks(5)</a> 7193manual page available actions. Currently, PREPEND is not implemented. 7194</p> 7195 7196<p> The following example sends all mail that is marked as SPAM to 7197a spam handling machine. Note that matches are case-insensitive 7198by default. </p> 7199 7200<pre> 7201/etc/postfix/<a href="postconf.5.html">main.cf</a>: 7202 <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> 7203</pre> 7204 7205<pre> 7206/etc/postfix/<a href="postconf.5.html#milter_header_checks">milter_header_checks</a>: 7207 /^X-SPAM-FLAG:\s+YES/ FILTER mysmtp:sanitizer.example.com:25 7208</pre> 7209 7210<p> The <a href="postconf.5.html#milter_header_checks">milter_header_checks</a> mechanism could also be used for 7211allowlisting. For example it could be used to skip heavy content 7212inspection for DKIM-signed mail from known friendly domains. </p> 7213 7214<p> This feature is available in Postfix 2.7, and as an optional 7215patch for Postfix 2.6. </p> 7216 7217 7218</DD> 7219 7220<DT><b><a name="milter_helo_macros">milter_helo_macros</a> 7221(default: see "postconf -d" output)</b></DT><DD> 7222 7223<p> The macros that are sent to Milter (mail filter) applications 7224after the SMTP HELO or EHLO command. See 7225<a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their meanings. 7226</p> 7227 7228<p> This feature is available in Postfix 2.3 and later. </p> 7229 7230 7231</DD> 7232 7233<DT><b><a name="milter_macro_daemon_name">milter_macro_daemon_name</a> 7234(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD> 7235 7236<p> The {daemon_name} macro value for Milter (mail filter) applications. 7237See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their 7238meanings. </p> 7239 7240<p> This feature is available in Postfix 2.3 and later. </p> 7241 7242 7243</DD> 7244 7245<DT><b><a name="milter_macro_defaults">milter_macro_defaults</a> 7246(default: empty)</b></DT><DD> 7247 7248<p> Optional list of <i>name=value</i> pairs that specify default 7249values for arbitrary macros that Postfix may send to Milter 7250applications. These defaults are used when there is no corresponding 7251information from the message delivery context. </p> 7252 7253<p> Specify <i>name=value</i> or <i>{name=value}</i> pairs separated 7254by comma or whitespace. Enclose a pair in "{}" when a value contains 7255comma or whitespace (this form ignores whitespace after the enclosing 7256"{", around the "=", and before the enclosing "}"). </p> 7257 7258<p> This feature is available in Postfix 3.1 and later. </p> 7259 7260 7261</DD> 7262 7263<DT><b><a name="milter_macro_v">milter_macro_v</a> 7264(default: $<a href="postconf.5.html#mail_name">mail_name</a> $<a href="postconf.5.html#mail_version">mail_version</a>)</b></DT><DD> 7265 7266<p> The {v} macro value for Milter (mail filter) applications. 7267See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their 7268meanings. </p> 7269 7270<p> This feature is available in Postfix 2.3 and later. </p> 7271 7272 7273</DD> 7274 7275<DT><b><a name="milter_mail_macros">milter_mail_macros</a> 7276(default: see "postconf -d" output)</b></DT><DD> 7277 7278<p> The macros that are sent to Milter (mail filter) applications 7279after the SMTP MAIL FROM command. See <a href="MILTER_README.html">MILTER_README</a> 7280for a list of available macro names and their meanings. </p> 7281 7282<p> This feature is available in Postfix 2.3 and later. </p> 7283 7284 7285</DD> 7286 7287<DT><b><a name="milter_protocol">milter_protocol</a> 7288(default: 6)</b></DT><DD> 7289 7290<p> The mail filter protocol version and optional protocol extensions 7291for communication with a Milter application; prior to Postfix 2.6 7292the default protocol is 2. Postfix 7293sends this version number during the initial protocol handshake. 7294It should match the version number that is expected by the mail 7295filter application (or by its Milter library). </p> 7296 7297<p>Protocol versions: </p> 7298 7299<dl compact> 7300 7301<dt>2</dt> <dd>Use Sendmail 8 mail filter protocol version 2 (default 7302with Sendmail version 8.11 .. 8.13 and Postfix version 2.3 .. 73032.5).</dd> 7304 7305<dt>3</dt> <dd>Use Sendmail 8 mail filter protocol version 3.</dd> 7306 7307<dt>4</dt> <dd>Use Sendmail 8 mail filter protocol version 4.</dd> 7308 7309<dt>6</dt> <dd>Use Sendmail 8 mail filter protocol version 6 (default 7310with Sendmail version 8.14 and Postfix version 2.6).</dd> 7311 7312</dl> 7313 7314<p>Protocol extensions: </p> 7315 7316<dl compact> 7317 7318<dt>no_header_reply</dt> <dd> Specify this when the Milter application 7319will not reply for each individual message header.</dd> 7320 7321</dl> 7322 7323<p> This feature is available in Postfix 2.3 and later. </p> 7324 7325 7326</DD> 7327 7328<DT><b><a name="milter_rcpt_macros">milter_rcpt_macros</a> 7329(default: see "postconf -d" output)</b></DT><DD> 7330 7331<p> The macros that are sent to Milter (mail filter) applications 7332after the SMTP RCPT TO command. See <a href="MILTER_README.html">MILTER_README</a> 7333for a list of available macro names and their meanings. </p> 7334 7335<p> This feature is available in Postfix 2.3 and later. </p> 7336 7337 7338</DD> 7339 7340<DT><b><a name="milter_unknown_command_macros">milter_unknown_command_macros</a> 7341(default: see "postconf -d" output)</b></DT><DD> 7342 7343<p> The macros that are sent to version 3 or higher Milter (mail 7344filter) applications after an unknown SMTP command. See <a href="MILTER_README.html">MILTER_README</a> 7345for a list of available macro names and their meanings. </p> 7346 7347<p> This feature is available in Postfix 2.3 and later. </p> 7348 7349 7350</DD> 7351 7352<DT><b><a name="mime_boundary_length_limit">mime_boundary_length_limit</a> 7353(default: 2048)</b></DT><DD> 7354 7355<p> 7356The maximal length of MIME multipart boundary strings. The MIME 7357processor is unable to distinguish between boundary strings that 7358do not differ in the first $<a href="postconf.5.html#mime_boundary_length_limit">mime_boundary_length_limit</a> characters. 7359</p> 7360 7361<p> 7362This feature is available in Postfix 2.0 and later. 7363</p> 7364 7365 7366</DD> 7367 7368<DT><b><a name="mime_header_checks">mime_header_checks</a> 7369(default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD> 7370 7371<p> 7372Optional lookup tables for content inspection of MIME related 7373message headers, as described in the <a href="header_checks.5.html">header_checks(5)</a> manual page. 7374</p> 7375 7376<p> 7377This feature is available in Postfix 2.0 and later. 7378</p> 7379 7380 7381</DD> 7382 7383<DT><b><a name="mime_nesting_limit">mime_nesting_limit</a> 7384(default: 100)</b></DT><DD> 7385 7386<p> 7387The maximal recursion level that the MIME processor will handle. 7388Postfix refuses mail that is nested deeper than the specified limit. 7389</p> 7390 7391<p> 7392This feature is available in Postfix 2.0 and later. 7393</p> 7394 7395 7396</DD> 7397 7398<DT><b><a name="minimal_backoff_time">minimal_backoff_time</a> 7399(default: 300s)</b></DT><DD> 7400 7401<p> 7402The minimal time between attempts to deliver a deferred message; 7403prior to Postfix 2.4 the default value was 1000s. 7404</p> 7405 7406<p> 7407This parameter also limits the time an unreachable destination is 7408kept in the short-term, in-memory, destination status cache. 7409</p> 7410 7411<p> This parameter should be set greater than or equal to 7412$<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> 7413 7414<p> Specify a non-zero time value (an integral value plus an optional 7415one-letter suffix that specifies the time unit). Time units: s 7416(seconds), m (minutes), h (hours), d (days), w (weeks). 7417The default time unit is s (seconds). </p> 7418 7419 7420</DD> 7421 7422<DT><b><a name="multi_instance_directories">multi_instance_directories</a> 7423(default: empty)</b></DT><DD> 7424 7425<p> An optional list of non-default Postfix configuration directories; 7426these directories belong to additional Postfix instances that share 7427the Postfix executable files and documentation with the default 7428Postfix instance, and that are started, stopped, etc., together 7429with the default Postfix instance. Specify a list of pathnames 7430separated by comma or whitespace. </p> 7431 7432<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 7433runs in single-instance mode and operates on a single Postfix 7434instance only. Otherwise, the <a href="postfix.1.html">postfix(1)</a> command runs in multi-instance 7435mode and invokes the multi-instance manager specified with the 7436<a href="postconf.5.html#multi_instance_wrapper">multi_instance_wrapper</a> parameter. The multi-instance manager in 7437turn executes <a href="postfix.1.html">postfix(1)</a> commands for the default instance and for 7438all Postfix instances in $<a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>. </p> 7439 7440<p> Currently, this parameter setting is ignored except for the 7441default <a href="postconf.5.html">main.cf</a> file. </p> 7442 7443<p> This feature is available in Postfix 2.6 and later. </p> 7444 7445 7446</DD> 7447 7448<DT><b><a name="multi_instance_enable">multi_instance_enable</a> 7449(default: no)</b></DT><DD> 7450 7451<p> Allow this Postfix instance to be started, stopped, etc., by a 7452multi-instance manager. By default, new instances are created in 7453a safe state that prevents them from being started inadvertently. 7454This parameter is reserved for the multi-instance manager. </p> 7455 7456<p> This feature is available in Postfix 2.6 and later. </p> 7457 7458 7459</DD> 7460 7461<DT><b><a name="multi_instance_group">multi_instance_group</a> 7462(default: empty)</b></DT><DD> 7463 7464<p> The optional instance group name of this Postfix instance. A 7465group identifies closely-related Postfix instances that the 7466multi-instance manager can start, stop, etc., as a unit. This 7467parameter is reserved for the multi-instance manager. </p> 7468 7469<p> This feature is available in Postfix 2.6 and later. </p> 7470 7471 7472</DD> 7473 7474<DT><b><a name="multi_instance_name">multi_instance_name</a> 7475(default: empty)</b></DT><DD> 7476 7477<p> The optional instance name of this Postfix instance. This name 7478becomes also the default value for the <a href="postconf.5.html#syslog_name">syslog_name</a> parameter. </p> 7479 7480<p> This feature is available in Postfix 2.6 and later. </p> 7481 7482 7483</DD> 7484 7485<DT><b><a name="multi_instance_wrapper">multi_instance_wrapper</a> 7486(default: empty)</b></DT><DD> 7487 7488<p> The pathname of a multi-instance manager command that the 7489<a href="postfix.1.html">postfix(1)</a> command invokes when the <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a> 7490parameter value is non-empty. The pathname may be followed by 7491initial command arguments separated by whitespace; shell 7492metacharacters such as quotes are not supported in this context. 7493</p> 7494 7495<p> The <a href="postfix.1.html">postfix(1)</a> command invokes the manager command with the 7496<a href="postfix.1.html">postfix(1)</a> non-option command arguments on the manager command line, 7497and with all installation configuration parameters exported into 7498the manager command process environment. The manager command in 7499turn invokes the <a href="postfix.1.html">postfix(1)</a> command for individual Postfix instances 7500as "postfix -c <i><a href="postconf.5.html#config_directory">config_directory</a></i> <i>command</i>". </p> 7501 7502<p> This feature is available in Postfix 2.6 and later. </p> 7503 7504 7505</DD> 7506 7507<DT><b><a name="multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> 7508(default: 550)</b></DT><DD> 7509 7510<p> 7511The numerical Postfix SMTP server response code when a remote SMTP 7512client request is blocked by the <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a> 7513restriction. 7514</p> 7515 7516<p> 7517Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 7518</p> 7519 7520<p> 7521This feature is available in Postfix 2.1 and later. 7522</p> 7523 7524 7525</DD> 7526 7527<DT><b><a name="mydestination">mydestination</a> 7528(default: $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a>, localhost)</b></DT><DD> 7529 7530<p> The list of domains that are delivered via the $<a href="postconf.5.html#local_transport">local_transport</a> 7531mail delivery transport. By default this is the Postfix <a href="local.8.html">local(8)</a> 7532delivery agent which looks up all recipients in /etc/passwd and 7533/etc/aliases. The SMTP server validates recipient addresses with 7534$<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> and rejects non-existent recipients. See also 7535the <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. 7536</p> 7537 7538<p> 7539The default <a href="postconf.5.html#mydestination">mydestination</a> value specifies names for the local 7540machine only. On a mail domain gateway, you should also include 7541$<a href="postconf.5.html#mydomain">mydomain</a>. 7542</p> 7543 7544<p> 7545The $<a href="postconf.5.html#local_transport">local_transport</a> delivery method is also selected for mail 7546addressed to user@[the.net.work.address] of the mail system (the 7547IP 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> 7548parameters). 7549</p> 7550 7551<p> 7552Warnings: 7553</p> 7554 7555<ul> 7556 7557<li><p>Do not specify the names of virtual domains - those domains 7558are specified elsewhere. See <a href="VIRTUAL_README.html">VIRTUAL_README</a> for more information. </p> 7559 7560<li><p>Do not specify the names of domains that this machine is 7561backup MX host for. See <a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> for how to 7562set up backup MX hosts. </p> 7563 7564<li><p>By default, the Postfix SMTP server rejects mail for recipients 7565not listed with the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> parameter. See the 7566<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> 7567and <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> parameters. </p> 7568 7569</ul> 7570 7571<p> 7572Specify a list of host or domain names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" 7573patterns, separated by commas and/or whitespace. A "/file/name" 7574pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table 7575is matched when a name matches a lookup key (the lookup result is 7576ignored). Continue long lines by starting the next line with 7577whitespace. </p> 7578 7579<p> 7580Examples: 7581</p> 7582 7583<pre> 7584<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> 7585<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> 7586</pre> 7587 7588 7589</DD> 7590 7591<DT><b><a name="mydomain">mydomain</a> 7592(default: see "postconf -d" output)</b></DT><DD> 7593 7594<p> 7595The internet domain name of this mail system. The default is to 7596use $<a href="postconf.5.html#myhostname">myhostname</a> minus the first component, or "localdomain" (Postfix 75972.3 and later). $<a href="postconf.5.html#mydomain">mydomain</a> is used as 7598a default value for many other configuration parameters. 7599</p> 7600 7601<p> 7602Example: 7603</p> 7604 7605<pre> 7606<a href="postconf.5.html#mydomain">mydomain</a> = domain.tld 7607</pre> 7608 7609 7610</DD> 7611 7612<DT><b><a name="myhostname">myhostname</a> 7613(default: see "postconf -d" output)</b></DT><DD> 7614 7615<p> 7616The internet hostname of this mail system. The default is to use 7617the fully-qualified domain name (FQDN) from gethostname(), or to 7618use the non-FQDN result from gethostname() and append ".$<a href="postconf.5.html#mydomain">mydomain</a>". 7619$<a href="postconf.5.html#myhostname">myhostname</a> is used as a default value for many other configuration 7620parameters. </p> 7621 7622<p> 7623Example: 7624</p> 7625 7626<pre> 7627<a href="postconf.5.html#myhostname">myhostname</a> = host.example.com 7628</pre> 7629 7630 7631</DD> 7632 7633<DT><b><a name="mynetworks">mynetworks</a> 7634(default: see "postconf -d" output)</b></DT><DD> 7635 7636<p> 7637The list of "trusted" remote SMTP clients that have more privileges than 7638"strangers". 7639</p> 7640 7641<p> 7642In particular, "trusted" SMTP clients are allowed to relay mail 7643through Postfix. See the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> parameter 7644description in the <a href="postconf.5.html">postconf(5)</a> manual. 7645</p> 7646 7647<p> 7648You can specify the list of "trusted" network addresses by hand 7649or you can let Postfix do it for you (which is the default). 7650See the description of the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> parameter for more 7651information. 7652</p> 7653 7654<p> 7655If you specify the <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand, 7656Postfix ignores the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> setting. 7657</p> 7658 7659<p> Specify a list of network addresses or network/netmask patterns, 7660separated by commas and/or whitespace. Continue long lines by 7661starting the next line with whitespace. </p> 7662 7663<p> The netmask specifies the number of bits in the network part 7664of a host address. You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>" 7665patterns. A "/file/name" pattern is replaced by its contents; a 7666"<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry matches a 7667lookup string (the lookup result is ignored). </p> 7668 7669<p> The list is matched left to right, and the search stops on the 7670first match. Specify "!pattern" to exclude an address or network 7671block from the list. The form "!/file/name" is supported only 7672in Postfix version 2.4 and later. </p> 7673 7674<p> Note 1: Pattern matching of domain names is controlled by the 7675presence 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> 7676parameter value. </p> 7677 7678<p> Note 2: IP version 6 address information must be specified inside 7679<tt>[]</tt> in the <a href="postconf.5.html#mynetworks">mynetworks</a> value, and in files specified with 7680"/file/name". IP version 6 addresses contain the ":" character, 7681and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" pattern. </p> 7682 7683<p> Note 3: CIDR ranges cannot be specified in hash tables. Use cidr 7684tables if CIDR ranges are used. </p> 7685 7686<p> Examples: </p> 7687 7688<pre> 7689<a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28 7690<a href="postconf.5.html#mynetworks">mynetworks</a> = !192.168.0.1, 192.168.0.0/28 7691<a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64 7692<a href="postconf.5.html#mynetworks">mynetworks</a> = $<a href="postconf.5.html#config_directory">config_directory</a>/mynetworks 7693<a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/network_table 7694<a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="cidr_table.5.html">cidr</a>:/etc/postfix/network_table.cidr 7695</pre> 7696 7697 7698</DD> 7699 7700<DT><b><a name="mynetworks_style">mynetworks_style</a> 7701(default: Postfix ≥ 3.0: host, Postfix < 3.0: subnet)</b></DT><DD> 7702 7703<p> 7704The method to generate the default value for the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter. 7705This is the list of trusted networks for relay access control etc. 7706</p> 7707 7708<ul> 7709 7710<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = host" when Postfix should 7711"trust" only the local machine. </p> 7712 7713<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = subnet" when Postfix 7714should "trust" remote SMTP clients in the same IP subnetworks as the local 7715machine. On Linux, this works correctly only with interfaces 7716specified with the "ifconfig" or "ip" command. </p> 7717 7718<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = class" when Postfix should 7719"trust" remote SMTP clients in the same IP class A/B/C networks as the 7720local machine. Caution: this may cause 7721Postfix to "trust" your entire provider's network. Instead, specify 7722an explicit <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand, as described with the <a href="postconf.5.html#mynetworks">mynetworks</a> 7723configuration parameter. </p> 7724 7725</ul> 7726 7727 7728</DD> 7729 7730<DT><b><a name="myorigin">myorigin</a> 7731(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD> 7732 7733<p> 7734The domain name that locally-posted mail appears to come 7735from, and that locally posted mail is delivered to. The default, 7736$<a href="postconf.5.html#myhostname">myhostname</a>, is adequate for small sites. If you run a domain with 7737multiple machines, you should (1) change this to $<a href="postconf.5.html#mydomain">mydomain</a> and (2) 7738set up a domain-wide alias database that aliases each user to 7739user@that.users.mailhost. 7740</p> 7741 7742<p> 7743Example: 7744</p> 7745 7746<pre> 7747<a href="postconf.5.html#myorigin">myorigin</a> = $<a href="postconf.5.html#mydomain">mydomain</a> 7748</pre> 7749 7750 7751</DD> 7752 7753<DT><b><a name="nested_header_checks">nested_header_checks</a> 7754(default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD> 7755 7756<p> 7757Optional lookup tables for content inspection of non-MIME message 7758headers in attached messages, as described in the <a href="header_checks.5.html">header_checks(5)</a> 7759manual page. 7760</p> 7761 7762<p> 7763This feature is available in Postfix 2.0 and later. 7764</p> 7765 7766 7767</DD> 7768 7769<DT><b><a name="newaliases_path">newaliases_path</a> 7770(default: see "postconf -d" output)</b></DT><DD> 7771 7772<p> 7773Sendmail compatibility feature that specifies the location of the 7774<a href="newaliases.1.html">newaliases(1)</a> command. This command can be used to rebuild the 7775<a href="local.8.html">local(8)</a> <a href="aliases.5.html">aliases(5)</a> database. 7776</p> 7777 7778 7779</DD> 7780 7781<DT><b><a name="non_fqdn_reject_code">non_fqdn_reject_code</a> 7782(default: 504)</b></DT><DD> 7783 7784<p> 7785The numerical Postfix SMTP server reply code when a client request 7786is 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> 7787or <a href="postconf.5.html#reject_non_fqdn_recipient">reject_non_fqdn_recipient</a> restriction. 7788</p> 7789 7790 7791</DD> 7792 7793<DT><b><a name="non_smtpd_milters">non_smtpd_milters</a> 7794(default: empty)</b></DT><DD> 7795 7796<p> A list of Milter (mail filter) applications for new mail that 7797does not arrive via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. This includes local 7798submission via the <a href="sendmail.1.html">sendmail(1)</a> command line, new mail that arrives 7799via the Postfix <a href="qmqpd.8.html">qmqpd(8)</a> server, and old mail that is re-injected 7800into the queue with "postsuper -r". Specify space or comma as a 7801separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details. </p> 7802 7803<p> This feature is available in Postfix 2.3 and later. </p> 7804 7805 7806</DD> 7807 7808<DT><b><a name="notify_classes">notify_classes</a> 7809(default: resource, software)</b></DT><DD> 7810 7811<p> 7812The list of error classes that are reported to the postmaster. These 7813postmaster notifications do not replace user notifications. The 7814default is to report only the most serious problems. The paranoid 7815may wish to turn on the policy (UCE and mail relaying) and protocol 7816error (broken mail software) reports. 7817</p> 7818 7819<p> NOTE: postmaster notifications may contain confidential information 7820such as SASL passwords or message content. It is the system 7821administrator's responsibility to treat such information with care. 7822</p> 7823 7824<p> 7825The error classes are: 7826</p> 7827 7828<dl> 7829 7830<dt><b>bounce</b> (also implies <b>2bounce</b>)</dt> 7831 7832<dd>Send the postmaster copies of the headers of bounced mail, and 7833send transcripts of SMTP sessions when Postfix rejects mail. The 7834notification is sent to the address specified with the 7835<a href="postconf.5.html#bounce_notice_recipient">bounce_notice_recipient</a> configuration parameter (default: postmaster). 7836</dd> 7837 7838<dt><b>2bounce</b></dt> 7839 7840<dd>Send undeliverable bounced mail to the postmaster. The notification 7841is sent to the address specified with the <a href="postconf.5.html#2bounce_notice_recipient">2bounce_notice_recipient</a> 7842configuration parameter (default: postmaster). </dd> 7843 7844<dt><b>data</b></dt> 7845 7846<dd>Send the postmaster a transcript of the SMTP session with an 7847error because a critical data file was unavailable. The notification 7848is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> 7849configuration parameter (default: postmaster). <br> This feature 7850is available in Postfix 2.9 and later. </dd> 7851 7852<dt><b>delay</b></dt> 7853 7854<dd>Send the postmaster copies of the headers of delayed mail (see 7855<a href="postconf.5.html#delay_warning_time">delay_warning_time</a>). The 7856notification is sent to the address specified with the 7857<a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a> configuration parameter (default: postmaster). 7858</dd> 7859 7860<dt><b>policy</b></dt> 7861 7862<dd>Send the postmaster a transcript of the SMTP session when a 7863client request was rejected because of (UCE) policy. The notification 7864is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> 7865configuration parameter (default: postmaster). </dd> 7866 7867<dt><b>protocol</b></dt> 7868 7869<dd>Send the postmaster a transcript of the SMTP session in case 7870of client or server protocol errors. The notification is sent to 7871the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration 7872parameter (default: postmaster). </dd> 7873 7874<dt><b>resource</b></dt> 7875 7876<dd>Inform the postmaster of mail not delivered due to resource 7877problems. The notification is sent to the address specified with 7878the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default: 7879postmaster). </dd> 7880 7881<dt><b>software</b></dt> 7882 7883<dd>Inform the postmaster of mail not delivered due to software 7884problems. The notification is sent to the address specified with 7885the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default: 7886postmaster). </dd> 7887 7888</dl> 7889 7890<p> 7891Examples: 7892</p> 7893 7894<pre> 7895<a href="postconf.5.html#notify_classes">notify_classes</a> = bounce, delay, policy, protocol, resource, software 7896<a href="postconf.5.html#notify_classes">notify_classes</a> = 2bounce, resource, software 7897</pre> 7898 7899 7900</DD> 7901 7902<DT><b><a name="openssl_path">openssl_path</a> 7903(default: openssl)</b></DT><DD> 7904 7905<p> 7906The location of the OpenSSL command line program openssl(1). This 7907is used by the "<b><a href="postfix-tls.1.html">postfix tls</a></b>" command to create private keys, 7908certificate signing requests, self-signed certificates, and to 7909compute public key digests for DANE TLSA records. In multi-instance 7910environments, this parameter is always determined from the configuration 7911of the default Postfix instance. 7912</p> 7913 7914<p> Example: </p> 7915 7916<blockquote> 7917<pre> 7918/etc/postfix/<a href="postconf.5.html">main.cf</a>: 7919 # NetBSD pkgsrc: 7920 <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/pkg/bin/openssl 7921 # Local build: 7922 <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/local/bin/openssl 7923</pre> 7924</blockquote> 7925 7926<p> 7927This feature is available in Postfix 3.1 and later. 7928</p> 7929 7930 7931</DD> 7932 7933<DT><b><a name="owner_request_special">owner_request_special</a> 7934(default: yes)</b></DT><DD> 7935 7936<p> 7937Enable special treatment for owner-<i>listname</i> entries in the 7938<a href="aliases.5.html">aliases(5)</a> file, and don't split owner-<i>listname</i> and 7939<i>listname</i>-request address localparts when the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> 7940is set to "-". This feature is useful for mailing lists. 7941</p> 7942 7943 7944</DD> 7945 7946<DT><b><a name="parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> 7947(default: see "postconf -d" output)</b></DT><DD> 7948 7949<p> 7950A list of Postfix features where the pattern "example.com" also 7951matches subdomains of example.com, 7952instead of requiring an explicit ".example.com" pattern. This is 7953planned backwards compatibility: eventually, all Postfix features 7954are expected to require explicit ".example.com" style patterns when 7955you really want to match subdomains. 7956</p> 7957 7958<p> The following Postfix feature names are supported. </p> 7959 7960<dl> 7961 7962<dt> Postfix version 1.0 and later</dt> 7963 7964<dd> 7965<a href="postconf.5.html#debug_peer_list">debug_peer_list</a>, 7966<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a>, 7967<a href="postconf.5.html#mynetworks">mynetworks</a>, 7968<a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>, 7969<a href="postconf.5.html#relay_domains">relay_domains</a>, 7970<a href="postconf.5.html#transport_maps">transport_maps</a> 7971</dd> 7972 7973<dt> Postfix version 1.1 and later</dt> 7974 7975<dd> 7976<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>, 7977<a href="SMTPD_ACCESS_README.html">smtpd_access_maps</a>, 7978</dd> 7979 7980<dt> Postfix version 2.8 and later </dt> 7981 7982<dd> 7983<a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> 7984</dd> 7985 7986<dt> Postfix version 3.0 and later </dt> 7987 7988<dd> 7989<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> 7990</dd> 7991 7992</dl> 7993 7994 7995</DD> 7996 7997<DT><b><a name="permit_mx_backup_networks">permit_mx_backup_networks</a> 7998(default: empty)</b></DT><DD> 7999 8000<p> 8001Restrict the use of the <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> SMTP access feature to 8002only domains whose primary MX hosts match the listed networks. 8003The parameter value syntax is the same as with the <a href="postconf.5.html#mynetworks">mynetworks</a> 8004parameter; note, however, that the default value is empty. </p> 8005 8006<p> Pattern matching of domain names is controlled by the presence 8007or absence of "<a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>" in the 8008<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </p> 8009 8010 8011</DD> 8012 8013<DT><b><a name="pickup_service_name">pickup_service_name</a> 8014(default: pickup)</b></DT><DD> 8015 8016<p> 8017The name of the <a href="pickup.8.html">pickup(8)</a> service. This service picks up local mail 8018submissions from the Postfix <a href="QSHAPE_README.html#maildrop_queue">maildrop queue</a>. 8019</p> 8020 8021<p> 8022This feature is available in Postfix 2.0 and later. 8023</p> 8024 8025 8026</DD> 8027 8028<DT><b><a name="pipe_delivery_status_filter">pipe_delivery_status_filter</a> 8029(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD> 8030 8031<p> Optional filter for the <a href="pipe.8.html">pipe(8)</a> delivery agent to change the 8032delivery status code or explanatory text of successful or unsuccessful 8033deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p> 8034 8035<p> This feature is available in Postfix 3.0 and later. </p> 8036 8037 8038</DD> 8039 8040<DT><b><a name="plaintext_reject_code">plaintext_reject_code</a> 8041(default: 450)</b></DT><DD> 8042 8043<p> 8044The numerical Postfix SMTP server response code when a request 8045is rejected by the <b><a href="postconf.5.html#reject_plaintext_session">reject_plaintext_session</a></b> restriction. 8046</p> 8047 8048<p> This feature is available in Postfix 2.3 and later. </p> 8049 8050 8051</DD> 8052 8053<DT><b><a name="postlog_service_name">postlog_service_name</a> 8054(default: postlog)</b></DT><DD> 8055 8056<p> The name of the <a href="postlogd.8.html">postlogd(8)</a> service entry in <a href="master.5.html">master.cf</a>. 8057This service appends logfile records to the file specified 8058with the <a href="postconf.5.html#maillog_file">maillog_file</a> parameter. </p> 8059 8060<p> This feature is available in Postfix 3.4 and later. </p> 8061 8062 8063</DD> 8064 8065<DT><b><a name="postlogd_watchdog_timeout">postlogd_watchdog_timeout</a> 8066(default: 10s)</b></DT><DD> 8067 8068<p> How much time a <a href="postlogd.8.html">postlogd(8)</a> process may take to process a request 8069before it is terminated by a built-in watchdog timer. This is a 8070safety mechanism that prevents <a href="postlogd.8.html">postlogd(8)</a> from becoming non-responsive 8071due to a bug in Postfix itself or in system software. This limit 8072cannot be set under 10s. </p> 8073 8074<p> Specify a non-zero time value (an integral value plus an optional 8075one-letter suffix that specifies the time unit). Time units: s 8076(seconds), m (minutes), h (hours), d (days), w (weeks). 8077The default time unit is s (seconds). </p> 8078 8079<p> This feature is available in Postfix 3.4 and later. </p> 8080 8081 8082</DD> 8083 8084<DT><b><a name="postmulti_control_commands">postmulti_control_commands</a> 8085(default: reload flush)</b></DT><DD> 8086 8087<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager 8088treats as "control" commands, that operate on running instances. For 8089these commands, disabled instances are skipped. </p> 8090 8091<p> This feature is available in Postfix 2.6 and later. </p> 8092 8093 8094</DD> 8095 8096<DT><b><a name="postmulti_start_commands">postmulti_start_commands</a> 8097(default: start)</b></DT><DD> 8098 8099<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats 8100as "start" commands. For these commands, disabled instances are "checked" 8101rather than "started", and failure to "start" a member instance of an 8102instance group will abort the start-up of later instances. </p> 8103 8104<p> This feature is available in Postfix 2.6 and later. </p> 8105 8106 8107</DD> 8108 8109<DT><b><a name="postmulti_stop_commands">postmulti_stop_commands</a> 8110(default: see "postconf -d" output)</b></DT><DD> 8111 8112<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats 8113as "stop" commands. For these commands, disabled instances are skipped, 8114and enabled instances are processed in reverse order. </p> 8115 8116<p> This feature is available in Postfix 2.6 and later. </p> 8117 8118 8119</DD> 8120 8121<DT><b><a name="postscreen_access_list">postscreen_access_list</a> 8122(default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>)</b></DT><DD> 8123 8124<p> Permanent allow/denylist for remote SMTP client IP addresses. 8125<a href="postscreen.8.html">postscreen(8)</a> searches this list immediately after a remote SMTP 8126client connects. Specify a comma- or whitespace-separated list of 8127commands (in upper or lower case) or lookup tables. The search stops 8128upon the first command that fires for the client IP address. </p> 8129 8130<dl> 8131 8132<dt> <b> <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a> </b> </dt> <dd> Allowlist the client and 8133terminate the search if the client IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>. 8134Do not subject the client to any before/after 220 greeting tests. 8135Pass the connection immediately to a Postfix SMTP server process. 8136<br> Pattern matching of domain names is controlled by the presence 8137or absence of "<a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a>" in the 8138<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </dd> 8139 8140<dt> <b> <a href="DATABASE_README.html">type:table</a> </b> </dt> <dd> Query the specified lookup 8141table. Each table lookup result is an access list, except that 8142access lists inside a table cannot specify <a href="DATABASE_README.html">type:table</a> entries. <br> 8143To discourage the use of hash, btree, etc. tables, there is no 8144support for substring matching like <a href="smtpd.8.html">smtpd(8)</a>. Use CIDR tables 8145instead. </dd> 8146 8147<dt> <b> permit </b> </dt> <dd> Allowlist the client and terminate 8148the search. Do not subject the client to any before/after 220 8149greeting tests. Pass the connection immediately to a Postfix SMTP 8150server process. </dd> 8151 8152<dt> <b> reject </b> </dt> <dd> Denylist the client and terminate 8153the search. Subject the client to the action configured with the 8154<a href="postconf.5.html#postscreen_denylist_action">postscreen_denylist_action</a> configuration parameter. </dd> 8155 8156<dt> <b> dunno </b> </dt> <dd> All <a href="postscreen.8.html">postscreen(8)</a> access lists 8157implicitly have this command at the end. <br> When <b> dunno </b> 8158is executed inside a lookup table, return from the lookup table and 8159evaluate the next command. <br> When <b> dunno </b> is executed 8160outside a lookup table, terminate the search, and subject the client 8161to the configured before/after 220 greeting tests. </dd> 8162 8163</dl> 8164 8165<p> Example: </p> 8166 8167<pre> 8168/etc/postfix/<a href="postconf.5.html">main.cf</a>: 8169 <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, 8170 <a href="cidr_table.5.html">cidr</a>:/etc/postfix/postscreen_access.cidr 8171 # Postfix < 3.6 use <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a>. 8172 <a href="postconf.5.html#postscreen_denylist_action">postscreen_denylist_action</a> = enforce 8173</pre> 8174 8175<pre> 8176/etc/postfix/postscreen_access.<a href="cidr_table.5.html">cidr</a>: 8177 # Rules are evaluated in the order as specified. 8178 # Denylist 192.168.* except 192.168.0.1. 8179 192.168.0.1 dunno 8180 192.168.0.0/16 reject 8181</pre> 8182 8183<p> This feature is available in Postfix 2.8. </p> 8184 8185 8186</DD> 8187 8188<DT><b><a name="postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> 8189(default: <a href="DATABASE_README.html#types">static</a>:all)</b></DT><DD> 8190 8191<p> A list of local <a href="postscreen.8.html">postscreen(8)</a> server IP addresses where a 8192non-allowlisted remote SMTP client can obtain <a href="postscreen.8.html">postscreen(8)</a>'s temporary 8193allowlist status. This status is required before the client can 8194talk to a Postfix SMTP server process. By default, a client can 8195obtain <a href="postscreen.8.html">postscreen(8)</a>'s allowlist status on any local <a href="postscreen.8.html">postscreen(8)</a> 8196server IP address. </p> 8197 8198<p> When <a href="postscreen.8.html">postscreen(8)</a> listens on both primary and backup MX 8199addresses, the <a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> parameter can be 8200configured to give the temporary allowlist status only when a client 8201connects to a primary MX address. Once a client is allowlisted it 8202can talk to a Postfix SMTP server on any address. Thus, clients 8203that connect only to backup MX addresses will never become allowlisted, 8204and will never be allowed to talk to a Postfix SMTP server process. 8205</p> 8206 8207<p> Specify a list of network addresses or network/netmask patterns, 8208separated by commas and/or whitespace. The netmask specifies the 8209number of bits in the network part of a host address. Continue long 8210lines by starting the next line with whitespace. </p> 8211 8212<p> You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A 8213"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" 8214lookup table is matched when a table entry matches a lookup string 8215(the lookup result is ignored). </p> 8216 8217<p> The list is matched left to right, and the search stops on the 8218first match. Specify "!pattern" to exclude an address or network 8219block from the list. </p> 8220 8221<p> Note: IP version 6 address information must be specified inside 8222[] in the <a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> value, and in files 8223specified with "/file/name". IP version 6 addresses contain the 8224":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" 8225pattern. </p> 8226 8227<p> Example: </p> 8228 8229<pre> 8230/etc/postfix/<a href="postconf.5.html">main.cf</a>: 8231 # Don't allowlist connections to the backup IP address. 8232 # Postfix < 3.6 use <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a>. 8233 <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 8234</pre> 8235 8236<p> This feature is available in Postfix 3.6 and later. </p> 8237 8238<p> Available as <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> in Postfix 2.9 - 3.5. </p> 8239 8240 8241</DD> 8242 8243<DT><b><a name="postscreen_bare_newline_action">postscreen_bare_newline_action</a> 8244(default: ignore)</b></DT><DD> 8245 8246<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends 8247a bare newline character, that is, a newline not preceded by carriage 8248return. Specify one of the following: </p> 8249 8250<dl> 8251 8252<dt> <b>ignore</b> </dt> 8253 8254<dd> Ignore the failure of this test. Allow other tests to complete. 8255Do <i>not</i> repeat this test before the result from some 8256other test expires. 8257This option is useful for testing and collecting statistics 8258without blocking mail permanently. </dd> 8259 8260<dt> <b>enforce</b> </dt> 8261 8262<dd> Allow other tests to complete. Reject attempts to deliver mail 8263with a 550 SMTP reply, and log the helo/sender/recipient information. 8264Repeat this test the next time the client connects. </dd> 8265 8266<dt> <b>drop</b> </dt> 8267 8268<dd> Drop the connection immediately with a 521 SMTP reply. Repeat 8269this test the next time the client connects. </dd> 8270 8271</dl> 8272 8273<p> This feature is available in Postfix 2.8. </p> 8274 8275 8276</DD> 8277 8278<DT><b><a name="postscreen_bare_newline_enable">postscreen_bare_newline_enable</a> 8279(default: no)</b></DT><DD> 8280 8281<p> Enable "bare newline" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a> 8282server. These tests are expensive: a remote SMTP client must 8283disconnect after 8284it passes the test, before it can talk to a real Postfix SMTP server. 8285</p> 8286 8287<p> This feature is available in Postfix 2.8. </p> 8288 8289 8290</DD> 8291 8292<DT><b><a name="postscreen_bare_newline_ttl">postscreen_bare_newline_ttl</a> 8293(default: 30d)</b></DT><DD> 8294 8295<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from 8296a successful "bare newline" SMTP protocol test. During this 8297time, the client IP address is excluded from this test. The default 8298is long because a remote SMTP client must disconnect after it passes 8299the test, 8300before it can talk to a real Postfix SMTP server. </p> 8301 8302<p> Specify a non-zero time value (an integral value plus an optional 8303one-letter suffix that specifies the time unit). Time units: s 8304(seconds), m (minutes), h (hours), d (days), w (weeks). 8305The default time unit is d (days). </p> 8306 8307<p> This feature is available in Postfix 2.8. </p> 8308 8309 8310</DD> 8311 8312<DT><b><a name="postscreen_blacklist_action">postscreen_blacklist_action</a> 8313(default: ignore)</b></DT><DD> 8314 8315<p> Renamed to <a href="postconf.5.html#postscreen_denylist_action">postscreen_denylist_action</a> in Postfix 3.6. </p> 8316 8317<p> This feature is available in Postfix 2.8 - 3.5. </p> 8318 8319 8320</DD> 8321 8322<DT><b><a name="postscreen_cache_cleanup_interval">postscreen_cache_cleanup_interval</a> 8323(default: 12h)</b></DT><DD> 8324 8325<p> The amount of time between <a href="postscreen.8.html">postscreen(8)</a> cache cleanup runs. 8326Cache cleanup increases the load on the cache database and should 8327therefore not be run frequently. This feature requires that the 8328cache database supports the "delete" and "sequence" operators. 8329Specify a zero interval to disable cache cleanup. </p> 8330 8331<p> After each cache cleanup run, the <a href="postscreen.8.html">postscreen(8)</a> daemon logs the 8332number of entries that were retained and dropped. A cleanup run is 8333logged as "partial" when the daemon terminates early after "<b>postfix 8334reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a> 8335seconds. </p> 8336 8337<p> Specify a non-negative time value (an integral value plus an optional 8338one-letter suffix that specifies the time unit). Time units: s 8339(seconds), m (minutes), h (hours), d (days), w (weeks). 8340The default time unit is h (hours). </p> 8341 8342<p> This feature is available in Postfix 2.8. </p> 8343 8344 8345</DD> 8346 8347<DT><b><a name="postscreen_cache_map">postscreen_cache_map</a> 8348(default: <a href="DATABASE_README.html#types">btree</a>:$<a href="postconf.5.html#data_directory">data_directory</a>/postscreen_cache)</b></DT><DD> 8349 8350<p> Persistent storage for the <a href="postscreen.8.html">postscreen(8)</a> server decisions. </p> 8351 8352<p> To share a <a href="postscreen.8.html">postscreen(8)</a> cache between multiple <a href="postscreen.8.html">postscreen(8)</a> 8353instances, use "<a href="postconf.5.html#postscreen_cache_map">postscreen_cache_map</a> = <a href="proxymap.8.html">proxy</a>:<a href="DATABASE_README.html#types">btree</a>:/path/to/file". 8354This requires Postfix version 2.9 or later; earlier <a href="proxymap.8.html">proxymap(8)</a> 8355implementations don't support cache cleanup. For an alternative 8356approach see the <a href="memcache_table.5.html">memcache_table(5)</a> manpage. </p> 8357 8358<p> This feature is available in Postfix 2.8. </p> 8359 8360 8361</DD> 8362 8363<DT><b><a name="postscreen_cache_retention_time">postscreen_cache_retention_time</a> 8364(default: 7d)</b></DT><DD> 8365 8366<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will cache an expired 8367temporary allowlist entry before it is removed. This prevents clients 8368from being logged as "NEW" just because their cache entry expired 8369an hour ago. It also prevents the cache from filling up with clients 8370that passed some deep protocol test once and never came back. </p> 8371 8372<p> Specify a non-zero time value (an integral value plus an optional 8373one-letter suffix that specifies the time unit). Time units: s 8374(seconds), m (minutes), h (hours), d (days), w (weeks). 8375The default time unit is d (days). </p> 8376 8377<p> This feature is available in Postfix 2.8. </p> 8378 8379 8380</DD> 8381 8382<DT><b><a name="postscreen_client_connection_count_limit">postscreen_client_connection_count_limit</a> 8383(default: $<a href="postconf.5.html#smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>)</b></DT><DD> 8384 8385<p> How many simultaneous connections any remote SMTP client is 8386allowed to have 8387with the <a href="postscreen.8.html">postscreen(8)</a> daemon. By default, this limit is the same 8388as with the Postfix SMTP server. Note that the triage process can 8389take several seconds, with the time spent in <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a> 8390delay, and with the time spent talking to the <a href="postscreen.8.html">postscreen(8)</a> built-in 8391dummy SMTP protocol engine. </p> 8392 8393<p> This feature is available in Postfix 2.8. </p> 8394 8395 8396</DD> 8397 8398<DT><b><a name="postscreen_command_count_limit">postscreen_command_count_limit</a> 8399(default: 20)</b></DT><DD> 8400 8401<p> The limit on the total number of commands per SMTP session for 8402<a href="postscreen.8.html">postscreen(8)</a>'s built-in SMTP protocol engine. This SMTP engine 8403defers or rejects all attempts to deliver mail, therefore there is 8404no need to enforce separate limits on the number of junk commands 8405and error commands. </p> 8406 8407<p> This feature is available in Postfix 2.8. </p> 8408 8409 8410</DD> 8411 8412<DT><b><a name="postscreen_command_filter">postscreen_command_filter</a> 8413(default: $<a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>)</b></DT><DD> 8414 8415<p> A mechanism to transform commands from remote SMTP clients. 8416See <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for further details. </p> 8417 8418<p> This feature is available in Postfix 2.8 and later. </p> 8419 8420 8421</DD> 8422 8423<DT><b><a name="postscreen_command_time_limit">postscreen_command_time_limit</a> 8424(default: normal: 300s, overload: 10s)</b></DT><DD> 8425 8426<p> The time limit to read an entire command line with <a href="postscreen.8.html">postscreen(8)</a>'s 8427built-in SMTP protocol engine. </p> 8428 8429<p> This feature is available in Postfix 2.8. </p> 8430 8431 8432</DD> 8433 8434<DT><b><a name="postscreen_denylist_action">postscreen_denylist_action</a> 8435(default: ignore)</b></DT><DD> 8436 8437<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client is 8438permanently denylisted with the <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> parameter. 8439Specify one of the following: </p> 8440 8441<dl> 8442 8443<dt> <b>ignore</b> (default) </dt> 8444 8445<dd> Ignore this result. Allow other tests to complete. Repeat 8446this test the next time the client connects. 8447This option is useful for testing and collecting statistics 8448without blocking mail. </dd> 8449 8450<dt> <b>enforce</b> </dt> 8451 8452<dd> Allow other tests to complete. Reject attempts to deliver mail 8453with a 550 SMTP reply, and log the helo/sender/recipient information. 8454Repeat this test the next time the client connects. </dd> 8455 8456<dt> <b>drop</b> </dt> 8457 8458<dd> Drop the connection immediately with a 521 SMTP reply. Repeat 8459this test the next time the client connects. </dd> 8460 8461</dl> 8462 8463<p> This feature is available in Postfix 3.6 and later. </p> 8464 8465<p> Available as <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> in Postfix 2.8 - 3.5. </p> 8466 8467 8468</DD> 8469 8470<DT><b><a name="postscreen_disable_vrfy_command">postscreen_disable_vrfy_command</a> 8471(default: $<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a>)</b></DT><DD> 8472 8473<p> Disable the SMTP VRFY command in the <a href="postscreen.8.html">postscreen(8)</a> daemon. See 8474<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> for details. </p> 8475 8476<p> This feature is available in Postfix 2.8. </p> 8477 8478 8479</DD> 8480 8481<DT><b><a name="postscreen_discard_ehlo_keyword_address_maps">postscreen_discard_ehlo_keyword_address_maps</a> 8482(default: $<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>)</b></DT><DD> 8483 8484<p> Lookup tables, indexed by the remote SMTP client address, with 8485case insensitive lists of EHLO keywords (pipelining, starttls, auth, 8486etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO response 8487to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details. 8488The table is not searched by hostname for robustness reasons. </p> 8489 8490<p> This feature is available in Postfix 2.8 and later. </p> 8491 8492 8493</DD> 8494 8495<DT><b><a name="postscreen_discard_ehlo_keywords">postscreen_discard_ehlo_keywords</a> 8496(default: $<a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>)</b></DT><DD> 8497 8498<p> A case insensitive list of EHLO keywords (pipelining, starttls, 8499auth, etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO 8500response to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> 8501for details. </p> 8502 8503<p> This feature is available in Postfix 2.8 and later. </p> 8504 8505 8506</DD> 8507 8508<DT><b><a name="postscreen_dnsbl_action">postscreen_dnsbl_action</a> 8509(default: ignore)</b></DT><DD> 8510 8511<p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client's combined 8512DNSBL score is equal to or greater than a threshold (as defined 8513with 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> 8514parameters). Specify one of the following: </p> 8515 8516<dl> 8517 8518<dt> <b>ignore</b> (default) </dt> 8519 8520<dd> Ignore the failure of this test. Allow other tests to complete. 8521Repeat this test the next time the client connects. 8522This option is useful for testing and collecting statistics 8523without blocking mail. </dd> 8524 8525<dt> <b>enforce</b> </dt> 8526 8527<dd> Allow other tests to complete. Reject attempts to deliver mail 8528with a 550 SMTP reply, and log the helo/sender/recipient information. 8529Repeat this test the next time the client connects. </dd> 8530 8531<dt> <b>drop</b> </dt> 8532 8533<dd> Drop the connection immediately with a 521 SMTP reply. Repeat 8534this test the next time the client connects. </dd> 8535 8536</dl> 8537 8538<p> This feature is available in Postfix 2.8. </p> 8539 8540 8541</DD> 8542 8543<DT><b><a name="postscreen_dnsbl_allowlist_threshold">postscreen_dnsbl_allowlist_threshold</a> 8544(default: 0)</b></DT><DD> 8545 8546<p> Allow a remote SMTP client to skip "before" and "after 220 8547greeting" protocol tests, based on its combined DNSBL score as 8548defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> parameter. </p> 8549 8550<p> Specify a negative value to enable this feature. When a client 8551passes the <a href="postconf.5.html#postscreen_dnsbl_allowlist_threshold">postscreen_dnsbl_allowlist_threshold</a> without having 8552failed other tests, all pending or disabled tests are flagged as 8553completed with a time-to-live value equal to <a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>. 8554When a test was already completed, its time-to-live value is updated 8555if it was less than <a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>. </p> 8556 8557<p> This feature is available in Postfix 3.6 and later. </p> 8558 8559<p> Available as <a href="postconf.5.html#postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a> in Postfix 2.11 8560- 3.5. </p> 8561 8562 8563</DD> 8564 8565<DT><b><a name="postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a> 8566(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> 8567 8568<p> The maximum amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the 8569result from a successful DNS-based reputation test before a 8570client IP address is required to pass that test again. If the DNS 8571reply specifies a shorter TTL value, that value will be used unless 8572it would be smaller than <a href="postconf.5.html#postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>. </p> 8573 8574<p> Specify a non-zero time value (an integral value plus an optional 8575one-letter suffix that specifies the time unit). Time units: s 8576(seconds), m (minutes), h (hours), d (days), w (weeks). 8577The default time unit is h (hours). </p> 8578 8579<p> This feature is available in Postfix 3.1. The default setting 8580is backwards-compatible with older Postfix versions. </p> 8581 8582 8583</DD> 8584 8585<DT><b><a name="postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a> 8586(default: 60s)</b></DT><DD> 8587 8588<p> The minimum amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the 8589result from a successful DNS-based reputation test before a 8590client IP address is required to pass that test again. If the DNS 8591reply specifies a larger TTL value, that value will be used unless 8592it would be larger than <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>. </p> 8593 8594<p> Specify a non-zero time value (an integral value plus an optional 8595one-letter suffix that specifies the time unit). Time units: s 8596(seconds), m (minutes), h (hours), d (days), w (weeks). 8597The default time unit is s (seconds). </p> 8598 8599<p> This feature is available in Postfix 3.1. </p> 8600 8601 8602</DD> 8603 8604<DT><b><a name="postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> 8605(default: empty)</b></DT><DD> 8606 8607<p> A mapping from an actual DNSBL domain name which includes a secret 8608password, to the DNSBL domain name that postscreen will reply with 8609when it rejects mail. When no mapping is found, the actual DNSBL 8610domain will be used. </p> 8611 8612<p> For maximal stability it is best to use a file that is read 8613into 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 8614to <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 8615file can be used, and b) <a href="DATABASE_README.html#types">texthash</a>: does not detect changes after 8616the file is read). </p> 8617 8618<p> Example: </p> 8619 8620<pre> 8621/etc/postfix/<a href="postconf.5.html">main.cf</a>: 8622 <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 8623</pre> 8624 8625<pre> 8626/etc/postfix/dnsbl_reply: 8627 secret.zen.spamhaus.org zen.spamhaus.org 8628</pre> 8629 8630<p> This feature is available in Postfix 2.8. </p> 8631 8632 8633</DD> 8634 8635<DT><b><a name="postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> 8636(default: empty)</b></DT><DD> 8637 8638<p>Optional list of patterns with DNS allow/denylist domains, filters 8639and weight 8640factors. When the list is non-empty, the <a href="dnsblog.8.html">dnsblog(8)</a> daemon will 8641query these domains with the reversed IP addresses of remote SMTP 8642clients, 8643and <a href="postscreen.8.html">postscreen(8)</a> will update an SMTP client's DNSBL score with 8644each non-error reply as described below. </p> 8645 8646<p> Caution: when postscreen rejects mail, its SMTP response contains 8647the DNSBL 8648domain name. Use the <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> feature to hide 8649"password" information in DNSBL domain names. </p> 8650 8651<p> When a client's score is equal to or greater than the threshold 8652specified with <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>, <a href="postscreen.8.html">postscreen(8)</a> can drop 8653the connection with the remote SMTP client. </p> 8654 8655<p> Specify a list of domain=filter*weight patterns, separated by 8656comma or whitespace. </p> 8657 8658<ul> 8659 8660<li> <p> When a pattern specifies no "=filter", <a href="postscreen.8.html">postscreen(8)</a> will 8661use any non-error DNSBL query result. Otherwise, <a href="postscreen.8.html">postscreen(8)</a> 8662will use only DNSBL 8663query results that match the filter. The filter has the form d.d.d.d, 8664where each d is a number, or a pattern inside [] that contains one 8665or more ";"-separated numbers or number..number ranges. </p> 8666 8667<li> <p> When a pattern specifies no "*weight", the weight of the 8668pattern is 1. Otherwise, the weight must be an integral number. 8669Specify a negative number for allowlisting. </p> 8670 8671<li> <p> When a pattern matches one or more DNSBL query results, 8672<a href="postscreen.8.html">postscreen(8)</a> adds that pattern's weight once to the remote SMTP 8673client's DNSBL score. </p> 8674 8675</ul> 8676 8677<p> Examples: </p> 8678 8679<p> To use example.com as a high-confidence blocklist, and to 8680block mail with example.net and example.org only when both agree: 8681</p> 8682 8683<pre> 8684<a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a> = 2 8685<a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com*2, example.net, example.org 8686</pre> 8687 8688<p> To filter only DNSBL replies containing 127.0.0.4: </p> 8689 8690<pre> 8691<a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com=127.0.0.4 8692</pre> 8693 8694<p> This feature is available in Postfix 2.8. </p> 8695 8696 8697</DD> 8698 8699<DT><b><a name="postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a> 8700(default: 1)</b></DT><DD> 8701 8702<p> The inclusive lower bound for blocking a remote SMTP client, based on 8703its combined DNSBL score as defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> 8704parameter. </p> 8705 8706<p> This feature is available in Postfix 2.8. </p> 8707 8708 8709</DD> 8710 8711<DT><b><a name="postscreen_dnsbl_timeout">postscreen_dnsbl_timeout</a> 8712(default: 10s)</b></DT><DD> 8713 8714<p> The time limit for DNSBL or DNSWL lookups. This is separate from 8715the timeouts in the <a href="dnsblog.8.html">dnsblog(8)</a> daemon which are defined by system 8716resolver(3) routines. </p> 8717 8718<p> Specify a non-zero time value (an integral value plus an optional 8719one-letter suffix that specifies the time unit). Time units: s 8720(seconds), m (minutes), h (hours), d (days), w (weeks). 8721The default time unit is s (seconds). </p> 8722 8723<p> This feature is available in Postfix 3.0. </p> 8724 8725 8726</DD> 8727 8728<DT><b><a name="postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a> 8729(default: 1h)</b></DT><DD> 8730 8731<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from 8732a successful DNS-based reputation test before a client 8733IP address is required to pass that test again. </p> 8734 8735<p> Specify a non-zero time value (an integral value plus an optional 8736one-letter suffix that specifies the time unit). Time units: s 8737(seconds), m (minutes), h (hours), d (days), w (weeks). 8738The default time unit is h (hours). </p> 8739 8740<p> This feature is available in Postfix 2.8-3.0. It was 8741replaced by <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a> in Postfix 3.1. </p> 8742 8743 8744</DD> 8745 8746<DT><b><a name="postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a> 8747(default: 0)</b></DT><DD> 8748 8749<p> Renamed to <a href="postconf.5.html#postscreen_dnsbl_allowlist_threshold">postscreen_dnsbl_allowlist_threshold</a> in Postfix 3.6. </p> 8750 8751<p> This feature is available in Postfix 2.11 - 3.5. </p> 8752 8753 8754</DD> 8755 8756<DT><b><a name="postscreen_enforce_tls">postscreen_enforce_tls</a> 8757(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD> 8758 8759<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and 8760require that clients use TLS encryption. See smtpd_postscreen_enforce_tls 8761for details. </p> 8762 8763<p> This feature is available in Postfix 2.8 and later. 8764Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p> 8765 8766 8767</DD> 8768 8769<DT><b><a name="postscreen_expansion_filter">postscreen_expansion_filter</a> 8770(default: see "postconf -d" output)</b></DT><DD> 8771 8772<p> List of characters that are permitted in <a href="postconf.5.html#postscreen_reject_footer">postscreen_reject_footer</a> 8773attribute expansions. See <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> for further 8774details. </p> 8775 8776<p> This feature is available in Postfix 2.8 and later. </p> 8777 8778 8779</DD> 8780 8781<DT><b><a name="postscreen_forbidden_commands">postscreen_forbidden_commands</a> 8782(default: $<a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>)</b></DT><DD> 8783 8784<p> List of commands that the <a href="postscreen.8.html">postscreen(8)</a> server considers in 8785violation of the SMTP protocol. See <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a> for 8786syntax, and <a href="postconf.5.html#postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a> for possible actions. 8787</p> 8788 8789<p> This feature is available in Postfix 2.8. </p> 8790 8791 8792</DD> 8793 8794<DT><b><a name="postscreen_greet_action">postscreen_greet_action</a> 8795(default: ignore)</b></DT><DD> 8796 8797<p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client speaks 8798before its turn within the time specified with the <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a> 8799parameter. Specify one of the following: </p> 8800 8801<dl> 8802 8803<dt> <b>ignore</b> (default) </dt> 8804 8805<dd> Ignore the failure of this test. Allow other tests to complete. 8806Repeat this test the next time the client connects. 8807This option is useful for testing and collecting statistics 8808without blocking mail. </dd> 8809 8810<dt> <b>enforce</b> </dt> 8811 8812<dd> Allow other tests to complete. Reject attempts to deliver mail 8813with a 550 SMTP reply, and log the helo/sender/recipient information. 8814Repeat this test the next time the client connects. </dd> 8815 8816<dt> <b>drop</b> </dt> 8817 8818<dd> Drop the connection immediately with a 521 SMTP reply. Repeat 8819this test the next time the client connects. </dd> 8820 8821</dl> 8822 8823<p> In either case, <a href="postscreen.8.html">postscreen(8)</a> will not allowlist the remote SMTP client 8824IP address. </p> 8825 8826<p> This feature is available in Postfix 2.8. </p> 8827 8828 8829</DD> 8830 8831<DT><b><a name="postscreen_greet_banner">postscreen_greet_banner</a> 8832(default: $<a href="postconf.5.html#smtpd_banner">smtpd_banner</a>)</b></DT><DD> 8833 8834<p> The <i>text</i> in the optional "220-<i>text</i>..." server 8835response that 8836<a href="postscreen.8.html">postscreen(8)</a> sends ahead of the real Postfix SMTP server's "220 8837text..." response, in an attempt to confuse bad SMTP clients so 8838that they speak before their turn (pre-greet). Specify an empty 8839value to disable this feature. </p> 8840 8841<p> This feature is available in Postfix 2.8. </p> 8842 8843 8844</DD> 8845 8846<DT><b><a name="postscreen_greet_ttl">postscreen_greet_ttl</a> 8847(default: 1d)</b></DT><DD> 8848 8849<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from 8850a successful PREGREET test. During this time, the client IP address 8851is excluded from this test. The default is relatively short, because 8852a good client can immediately talk to a real Postfix SMTP server. </p> 8853 8854<p> Specify a non-zero time value (an integral value plus an optional 8855one-letter suffix that specifies the time unit). Time units: s 8856(seconds), m (minutes), h (hours), d (days), w (weeks). 8857The default time unit is d (days). </p> 8858 8859<p> This feature is available in Postfix 2.8. </p> 8860 8861 8862</DD> 8863 8864<DT><b><a name="postscreen_greet_wait">postscreen_greet_wait</a> 8865(default: normal: 6s, overload: 2s)</b></DT><DD> 8866 8867<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will wait for an SMTP 8868client to send a command before its turn, and for DNS blocklist 8869lookup results to arrive (default: up to 2 seconds under stress, 8870up to 6 seconds otherwise). <p> 8871 8872<p> Specify a non-zero time value (an integral value plus an optional 8873one-letter suffix that specifies the time unit). Time units: s 8874(seconds), m (minutes), h (hours), d (days), w (weeks). 8875The default time unit is s (seconds). </p> 8876 8877<p> This feature is available in Postfix 2.8. </p> 8878 8879 8880</DD> 8881 8882<DT><b><a name="postscreen_helo_required">postscreen_helo_required</a> 8883(default: $<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a>)</b></DT><DD> 8884 8885<p> Require that a remote SMTP client sends HELO or EHLO before 8886commencing a MAIL transaction. </p> 8887 8888<p> This feature is available in Postfix 2.8. </p> 8889 8890 8891</DD> 8892 8893<DT><b><a name="postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a> 8894(default: drop)</b></DT><DD> 8895 8896<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends 8897non-SMTP commands as specified with the <a href="postconf.5.html#postscreen_forbidden_commands">postscreen_forbidden_commands</a> 8898parameter. Specify one of the following: </p> 8899 8900<dl> 8901 8902<dt> <b>ignore</b> </dt> 8903 8904<dd> Ignore the failure of this test. Allow other tests to complete. 8905Do <i>not</i> repeat this test before the result from some 8906other test expires. 8907This option is useful for testing and collecting statistics 8908without blocking mail permanently. </dd> 8909 8910<dt> <b>enforce</b> </dt> 8911 8912<dd> Allow other tests to complete. Reject attempts to deliver mail 8913with a 550 SMTP reply, and log the helo/sender/recipient information. 8914Repeat this test the next time the client connects. </dd> 8915 8916<dt> <b>drop</b> </dt> 8917 8918<dd> Drop the connection immediately with a 521 SMTP reply. Repeat 8919this test the next time the client connects. This action is the 8920same as with the Postfix SMTP server's <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a> 8921feature. </dd> 8922 8923</dl> 8924 8925<p> This feature is available in Postfix 2.8. </p> 8926 8927 8928</DD> 8929 8930<DT><b><a name="postscreen_non_smtp_command_enable">postscreen_non_smtp_command_enable</a> 8931(default: no)</b></DT><DD> 8932 8933<p> Enable "non-SMTP command" tests in the <a href="postscreen.8.html">postscreen(8)</a> server. These 8934tests are expensive: a client must disconnect after it passes the 8935test, before it can talk to a real Postfix SMTP server. </p> 8936 8937<p> This feature is available in Postfix 2.8. </p> 8938 8939 8940</DD> 8941 8942<DT><b><a name="postscreen_non_smtp_command_ttl">postscreen_non_smtp_command_ttl</a> 8943(default: 30d)</b></DT><DD> 8944 8945<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from 8946a successful "non_smtp_command" SMTP protocol test. During this 8947time, the client IP address is excluded from this test. The default 8948is long because a client must disconnect after it passes the test, 8949before it can talk to a real Postfix SMTP server. </p> 8950 8951<p> Specify a non-zero time value (an integral value plus an optional 8952one-letter suffix that specifies the time unit). Time units: s 8953(seconds), m (minutes), h (hours), d (days), w (weeks). 8954The default time unit is d (days). </p> 8955 8956<p> This feature is available in Postfix 2.8. </p> 8957 8958 8959</DD> 8960 8961<DT><b><a name="postscreen_pipelining_action">postscreen_pipelining_action</a> 8962(default: enforce)</b></DT><DD> 8963 8964<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client 8965sends 8966multiple commands instead of sending one command and waiting for 8967the server to respond. Specify one of the following: </p> 8968 8969<dl> 8970 8971<dt> <b>ignore</b> </dt> 8972 8973<dd> Ignore the failure of this test. Allow other tests to complete. 8974Do <i>not</i> repeat this test before the result from some 8975other test expires. 8976This option is useful for testing and collecting statistics 8977without blocking mail permanently. </dd> 8978 8979<dt> <b>enforce</b> </dt> 8980 8981<dd> Allow other tests to complete. Reject attempts to deliver mail 8982with a 550 SMTP reply, and log the helo/sender/recipient information. 8983Repeat this test the next time the client connects. </dd> 8984 8985<dt> <b>drop</b> </dt> 8986 8987<dd> Drop the connection immediately with a 521 SMTP reply. Repeat 8988this test the next time the client connects. </dd> 8989 8990</dl> 8991 8992<p> This feature is available in Postfix 2.8. </p> 8993 8994 8995</DD> 8996 8997<DT><b><a name="postscreen_pipelining_enable">postscreen_pipelining_enable</a> 8998(default: no)</b></DT><DD> 8999 9000<p> Enable "pipelining" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a> 9001server. These tests are expensive: a good client must disconnect 9002after it passes the test, before it can talk to a real Postfix SMTP 9003server. </p> 9004 9005<p> This feature is available in Postfix 2.8. </p> 9006 9007 9008</DD> 9009 9010<DT><b><a name="postscreen_pipelining_ttl">postscreen_pipelining_ttl</a> 9011(default: 30d)</b></DT><DD> 9012 9013<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from 9014a successful "pipelining" SMTP protocol test. During this time, the 9015client IP address is excluded from this test. The default is 9016long because a good client must disconnect after it passes the test, 9017before it can talk to a real Postfix SMTP server. </p> 9018 9019<p> Specify a non-zero time value (an integral value plus an optional 9020one-letter suffix that specifies the time unit). Time units: s 9021(seconds), m (minutes), h (hours), d (days), w (weeks). 9022The default time unit is d (days). </p> 9023 9024<p> This feature is available in Postfix 2.8. </p> 9025 9026 9027</DD> 9028 9029<DT><b><a name="postscreen_post_queue_limit">postscreen_post_queue_limit</a> 9030(default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD> 9031 9032<p> The number of clients that can be waiting for service from a 9033real Postfix SMTP server process. When this queue is full, all 9034clients will 9035receive a 421 response. </p> 9036 9037<p> This feature is available in Postfix 2.8. </p> 9038 9039 9040</DD> 9041 9042<DT><b><a name="postscreen_pre_queue_limit">postscreen_pre_queue_limit</a> 9043(default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD> 9044 9045<p> The number of non-allowlisted clients that can be waiting for 9046a decision whether they will receive service from a real Postfix 9047SMTP server 9048process. When this queue is full, all non-allowlisted clients will 9049receive a 421 response. </p> 9050 9051<p> This feature is available in Postfix 2.8. </p> 9052 9053 9054</DD> 9055 9056<DT><b><a name="postscreen_reject_footer">postscreen_reject_footer</a> 9057(default: $<a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>)</b></DT><DD> 9058 9059<p> Optional information that is appended after a 4XX or 5XX 9060<a href="postscreen.8.html">postscreen(8)</a> server 9061response. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> for further details. </p> 9062 9063<p> This feature is available in Postfix 2.8 and later. </p> 9064 9065 9066</DD> 9067 9068<DT><b><a name="postscreen_reject_footer_maps">postscreen_reject_footer_maps</a> 9069(default: $<a href="postconf.5.html#smtpd_reject_footer_maps">smtpd_reject_footer_maps</a>)</b></DT><DD> 9070 9071<p> Optional lookup table for information that is appended after a 4XX 9072or 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 9073further details. </p> 9074 9075<p> This feature is available in Postfix 3.4 and later. </p> 9076 9077 9078</DD> 9079 9080<DT><b><a name="postscreen_tls_security_level">postscreen_tls_security_level</a> 9081(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD> 9082 9083<p> The SMTP TLS security level for the <a href="postscreen.8.html">postscreen(8)</a> server; when 9084a non-empty value is specified, this overrides the obsolete parameters 9085<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> 9086for details. </p> 9087 9088<p> This feature is available in Postfix 2.8 and later. </p> 9089 9090 9091</DD> 9092 9093<DT><b><a name="postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> 9094(default: empty)</b></DT><DD> 9095 9096<p> The name of the proxy protocol used by an optional before-postscreen 9097proxy agent. When a proxy agent is used, this protocol conveys local 9098and remote address and port information. Specify 9099"<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> = haproxy" to enable the haproxy 9100protocol; version 2 is supported with Postfix 3.5 and later. <p> 9101 9102<p> This feature is available in Postfix 2.10 and later. </p> 9103 9104 9105</DD> 9106 9107<DT><b><a name="postscreen_upstream_proxy_timeout">postscreen_upstream_proxy_timeout</a> 9108(default: 5s)</b></DT><DD> 9109 9110<p> The time limit for the proxy protocol specified with the 9111<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> parameter. </p> 9112 9113<p> This feature is available in Postfix 2.10 and later. </p> 9114 9115 9116</DD> 9117 9118<DT><b><a name="postscreen_use_tls">postscreen_use_tls</a> 9119(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD> 9120 9121<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients, 9122but do not require that clients use TLS encryption. </p> 9123 9124<p> This feature is available in Postfix 2.8 and later. 9125Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p> 9126 9127 9128</DD> 9129 9130<DT><b><a name="postscreen_watchdog_timeout">postscreen_watchdog_timeout</a> 9131(default: 10s)</b></DT><DD> 9132 9133<p> How much time a <a href="postscreen.8.html">postscreen(8)</a> process may take to respond to 9134a remote SMTP client command or to perform a cache operation before it 9135is terminated by a built-in watchdog timer. This is a safety 9136mechanism that prevents <a href="postscreen.8.html">postscreen(8)</a> from becoming non-responsive 9137due to a bug in Postfix itself or in system software. To avoid 9138false alarms and unnecessary cache corruption this limit cannot be 9139set under 10s. </p> 9140 9141<p> Specify a non-zero time value (an integral value plus an optional 9142one-letter suffix that specifies the time unit). Time units: s 9143(seconds), m (minutes), h (hours), d (days), w (weeks). 9144The default time unit is s (seconds). </p> 9145 9146<p> This feature is available in Postfix 2.8. </p> 9147 9148 9149</DD> 9150 9151<DT><b><a name="postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> 9152(default: <a href="DATABASE_README.html#types">static</a>:all)</b></DT><DD> 9153 9154<p> Renamed to <a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> in Postfix 3.6. </p> 9155 9156<p> This feature is available in Postfix 2.9 - 3.5. </p> 9157 9158 9159</DD> 9160 9161<DT><b><a name="prepend_delivered_header">prepend_delivered_header</a> 9162(default: command, file, forward)</b></DT><DD> 9163 9164<p> The message delivery contexts where the Postfix <a href="local.8.html">local(8)</a> delivery 9165agent prepends a Delivered-To: message header with the address 9166that the mail was delivered to. This information is used for mail 9167delivery loop detection. </p> 9168 9169<p> 9170By default, the Postfix local delivery agent prepends a Delivered-To: 9171header when forwarding mail and when delivering to file (mailbox) 9172and command. Turning off the Delivered-To: header when forwarding 9173mail is not recommended. 9174</p> 9175 9176<p> 9177Specify zero or more of <b>forward</b>, <b>file</b>, or <b>command</b>. 9178</p> 9179 9180<p> 9181Example: 9182</p> 9183 9184<pre> 9185<a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a> = forward 9186</pre> 9187 9188 9189</DD> 9190 9191<DT><b><a name="process_id">process_id</a> 9192(read-only)</b></DT><DD> 9193 9194<p> 9195The process ID of a Postfix command or daemon process. 9196</p> 9197 9198 9199</DD> 9200 9201<DT><b><a name="process_id_directory">process_id_directory</a> 9202(default: pid)</b></DT><DD> 9203 9204<p> 9205The location of Postfix PID files relative to $<a href="postconf.5.html#queue_directory">queue_directory</a>. 9206This is a read-only parameter. 9207</p> 9208 9209 9210</DD> 9211 9212<DT><b><a name="process_name">process_name</a> 9213(read-only)</b></DT><DD> 9214 9215<p> 9216The process name of a Postfix command or daemon process. 9217</p> 9218 9219 9220</DD> 9221 9222<DT><b><a name="propagate_unmatched_extensions">propagate_unmatched_extensions</a> 9223(default: canonical, virtual)</b></DT><DD> 9224 9225<p> 9226What address lookup tables copy an address extension from the lookup 9227key to the lookup result. 9228</p> 9229 9230<p> 9231For example, with a <a href="virtual.5.html">virtual(5)</a> mapping of "<i>joe@example.com => 9232joe.user@example.net</i>", the address "<i>joe+foo@example.com</i>" 9233would rewrite to "<i>joe.user+foo@example.net</i>". 9234</p> 9235 9236<p> 9237Specify zero or more of <b>canonical</b>, <b>virtual</b>, <b>alias</b>, 9238<b>forward</b>, <b>include</b> or <b>generic</b>. These cause 9239address extension 9240propagation 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, 9241with <a href="local.8.html">local(8)</a> .forward and :include: file lookups, and with <a href="smtp.8.html">smtp(8)</a> 9242generic maps, respectively. </p> 9243 9244<p> 9245Note: enabling this feature for types other than <b>canonical</b> 9246and <b>virtual</b> is likely to cause problems when mail is forwarded 9247to other sites, especially with mail that is sent to a mailing list 9248exploder address. 9249</p> 9250 9251<p> 9252Examples: 9253</p> 9254 9255<pre> 9256<a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual, alias, 9257 forward, include 9258<a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual 9259</pre> 9260 9261 9262</DD> 9263 9264<DT><b><a name="proxy_interfaces">proxy_interfaces</a> 9265(default: empty)</b></DT><DD> 9266 9267<p> 9268The remote network interface addresses that this mail system receives mail 9269on by way of a proxy or network address translation unit. 9270</p> 9271 9272<p> 9273This feature is available in Postfix 2.0 and later. 9274</p> 9275 9276<p> You must specify your "outside" proxy/NAT addresses when your 9277system is a backup MX host for other domains, otherwise mail delivery 9278loops will happen when the primary MX host is down. </p> 9279 9280<p> 9281Example: 9282</p> 9283 9284<pre> 9285<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> = 1.2.3.4 9286</pre> 9287 9288 9289</DD> 9290 9291<DT><b><a name="proxy_read_maps">proxy_read_maps</a> 9292(default: see "postconf -d" output)</b></DT><DD> 9293 9294<p> 9295The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to 9296access for the read-only service. 9297</p> 9298 9299<p> 9300Specify zero or more "type:name" lookup tables, separated by 9301whitespace or comma. 9302Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored. 9303</p> 9304 9305<p> 9306This feature is available in Postfix 2.0 and later. 9307</p> 9308 9309 9310</DD> 9311 9312<DT><b><a name="proxy_write_maps">proxy_write_maps</a> 9313(default: see "postconf -d" output)</b></DT><DD> 9314 9315<p> The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to 9316access for the read-write service. Postfix-owned local database 9317files should be stored under the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>. 9318Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored. </p> 9319 9320<p> 9321This feature is available in Postfix 2.5 and later. 9322</p> 9323 9324 9325</DD> 9326 9327<DT><b><a name="proxymap_service_name">proxymap_service_name</a> 9328(default: proxymap)</b></DT><DD> 9329 9330<p> The name of the proxymap read-only table lookup service. This 9331service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon. </p> 9332 9333<p> This feature is available in Postfix 2.6 and later. </p> 9334 9335 9336</DD> 9337 9338<DT><b><a name="proxywrite_service_name">proxywrite_service_name</a> 9339(default: proxywrite)</b></DT><DD> 9340 9341<p> The name of the proxywrite read-write table lookup service. 9342This service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon. 9343</p> 9344 9345<p> This feature is available in Postfix 2.6 and later. </p> 9346 9347 9348</DD> 9349 9350<DT><b><a name="qmgr_clog_warn_time">qmgr_clog_warn_time</a> 9351(default: 300s)</b></DT><DD> 9352 9353<p> 9354The minimal delay between warnings that a specific destination is 9355clogging up the Postfix <a href="QSHAPE_README.html#active_queue">active queue</a>. Specify 0 to disable. 9356</p> 9357 9358<p> Specify a non-negative time value (an integral value plus an optional 9359one-letter suffix that specifies the time unit). Time units: s 9360(seconds), m (minutes), h (hours), d (days), w (weeks). 9361The default time unit is s (seconds). </p> 9362 9363<p> 9364This feature is enabled with the <a href="postconf.5.html#helpful_warnings">helpful_warnings</a> parameter. 9365</p> 9366 9367<p> 9368This feature is available in Postfix 2.0 and later. 9369</p> 9370 9371 9372</DD> 9373 9374<DT><b><a name="qmgr_daemon_timeout">qmgr_daemon_timeout</a> 9375(default: 1000s)</b></DT><DD> 9376 9377<p> How much time a Postfix queue manager process may take to handle 9378a request before it is terminated by a built-in watchdog timer. 9379</p> 9380 9381<p> Specify a non-zero time value (an integral value plus an optional 9382one-letter suffix that specifies the time unit). Time units: s 9383(seconds), m (minutes), h (hours), d (days), w (weeks). 9384The default time unit is s (seconds). </p> 9385 9386<p> This feature is available in Postfix 2.8 and later. </p> 9387 9388 9389</DD> 9390 9391<DT><b><a name="qmgr_fudge_factor">qmgr_fudge_factor</a> 9392(default: 100)</b></DT><DD> 9393 9394<p> 9395Obsolete feature: the percentage of delivery resources that a busy 9396mail system will use up for delivery of a large mailing list 9397message. 9398</p> 9399 9400<p> 9401This feature exists only in the <a href="qmgr.8.html">oqmgr(8)</a> old queue manager. The 9402current queue manager solves the problem in a better way. 9403</p> 9404 9405 9406</DD> 9407 9408<DT><b><a name="qmgr_ipc_timeout">qmgr_ipc_timeout</a> 9409(default: 60s)</b></DT><DD> 9410 9411<p> The time limit for the queue manager to send or receive information 9412over an internal communication channel. The purpose is to break 9413out of deadlock situations. If the time limit is exceeded the 9414software either retries or aborts the operation. </p> 9415 9416<p> Specify a non-zero time value (an integral value plus an optional 9417one-letter suffix that specifies the time unit). Time units: s 9418(seconds), m (minutes), h (hours), d (days), w (weeks). 9419The default time unit is s (seconds). </p> 9420 9421<p> This feature is available in Postfix 2.8 and later. </p> 9422 9423 9424</DD> 9425 9426<DT><b><a name="qmgr_message_active_limit">qmgr_message_active_limit</a> 9427(default: 20000)</b></DT><DD> 9428 9429<p> 9430The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>. 9431</p> 9432 9433 9434</DD> 9435 9436<DT><b><a name="qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> 9437(default: 20000)</b></DT><DD> 9438 9439<p> The maximal number of recipients held in memory by the Postfix 9440queue manager, and the maximal size of the short-term, 9441in-memory "dead" destination status cache. </p> 9442 9443 9444</DD> 9445 9446<DT><b><a name="qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a> 9447(default: 10)</b></DT><DD> 9448 9449<p> 9450The minimal number of in-memory recipients for any message. This 9451takes priority over any other in-memory recipient limits (i.e., 9452the global <a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> and the per transport 9453_recipient_limit) if necessary. The minimum value allowed for this 9454parameter is 1. 9455</p> 9456 9457 9458</DD> 9459 9460<DT><b><a name="qmqpd_authorized_clients">qmqpd_authorized_clients</a> 9461(default: empty)</b></DT><DD> 9462 9463<p> 9464What remote QMQP clients are allowed to connect to the Postfix QMQP 9465server port. 9466</p> 9467 9468<p> 9469By default, no client is allowed to use the service. This is 9470because the QMQP server will relay mail to any destination. 9471</p> 9472 9473<p> 9474Specify a list of client patterns. A list pattern specifies a host 9475name, a domain name, an internet address, or a network/mask pattern, 9476where the mask specifies the number of bits in the network part. 9477When a pattern specifies a file name, its contents are substituted 9478for the file name; when a pattern is a "<a href="DATABASE_README.html">type:table</a>" table specification, 9479table lookup is used instead. </p> 9480 9481<p> 9482Patterns are separated by whitespace and/or commas. In order to 9483reverse the result, precede a pattern with an 9484exclamation point (!). The form "!/file/name" is supported only 9485in Postfix version 2.4 and later. 9486</p> 9487 9488<p> Pattern matching of domain names is controlled by the presence 9489or absence of "<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>" in the 9490<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </p> 9491 9492<p> 9493Example: 9494</p> 9495 9496<pre> 9497<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a> = !192.168.0.1, 192.168.0.0/24 9498</pre> 9499 9500 9501</DD> 9502 9503<DT><b><a name="qmqpd_client_port_logging">qmqpd_client_port_logging</a> 9504(default: no)</b></DT><DD> 9505 9506<p> Enable logging of the remote QMQP client port in addition to 9507the hostname and IP address. The logging format is "host[address]:port". 9508</p> 9509 9510<p> This feature is available in Postfix 2.5 and later. </p> 9511 9512 9513</DD> 9514 9515<DT><b><a name="qmqpd_error_delay">qmqpd_error_delay</a> 9516(default: 1s)</b></DT><DD> 9517 9518<p> 9519How long the Postfix QMQP server will pause before sending a negative 9520reply to the remote QMQP client. The purpose is to slow down confused 9521or malicious clients. 9522</p> 9523 9524<p> Specify a non-negative time value (an integral value plus an optional 9525one-letter suffix that specifies the time unit). Time units: s 9526(seconds), m (minutes), h (hours), d (days), w (weeks). 9527The default time unit is s (seconds). </p> 9528 9529 9530</DD> 9531 9532<DT><b><a name="qmqpd_timeout">qmqpd_timeout</a> 9533(default: 300s)</b></DT><DD> 9534 9535<p> 9536The time limit for sending or receiving information over the network. 9537If a read or write operation blocks for more than $<a href="postconf.5.html#qmqpd_timeout">qmqpd_timeout</a> 9538seconds the Postfix QMQP server gives up and disconnects. 9539</p> 9540 9541<p> Specify a non-zero time value (an integral value plus an optional 9542one-letter suffix that specifies the time unit). Time units: s 9543(seconds), m (minutes), h (hours), d (days), w (weeks). 9544The default time unit is s (seconds). </p> 9545 9546 9547</DD> 9548 9549<DT><b><a name="queue_directory">queue_directory</a> 9550(default: see "postconf -d" output)</b></DT><DD> 9551 9552<p> 9553The location of the Postfix top-level queue directory. This is the 9554root directory of Postfix daemon processes that run chrooted. 9555</p> 9556 9557 9558</DD> 9559 9560<DT><b><a name="queue_file_attribute_count_limit">queue_file_attribute_count_limit</a> 9561(default: 100)</b></DT><DD> 9562 9563<p> 9564The maximal number of (name=value) attributes that may be stored 9565in a Postfix queue file. The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a> 9566server. 9567</p> 9568 9569<p> 9570This feature is available in Postfix 2.0 and later. 9571</p> 9572 9573 9574</DD> 9575 9576<DT><b><a name="queue_minfree">queue_minfree</a> 9577(default: 0)</b></DT><DD> 9578 9579<p> 9580The minimal amount of free space in bytes in the queue file system 9581that is needed to receive mail. This is currently used by the 9582Postfix SMTP server to decide if it will accept any mail at all. 9583</p> 9584 9585<p> 9586By default, the Postfix SMTP server rejects MAIL FROM commands when 9587the amount of free space is less than 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a> 9588(Postfix version 2.1 and later). 9589To specify a higher minimum free space limit, specify a <a href="postconf.5.html#queue_minfree">queue_minfree</a> 9590value that is at least 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>. 9591</p> 9592 9593<p> 9594With Postfix versions 2.0 and earlier, a <a href="postconf.5.html#queue_minfree">queue_minfree</a> value of 9595zero means there is no minimum required amount of free space. 9596</p> 9597 9598 9599</DD> 9600 9601<DT><b><a name="queue_run_delay">queue_run_delay</a> 9602(default: 300s)</b></DT><DD> 9603 9604<p> 9605The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue manager; 9606prior to Postfix 2.4 the default value was 1000s. 9607</p> 9608 9609<p> This parameter should be set less than or equal to 9610$<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> 9611 9612<p> Specify a non-zero time value (an integral value plus an optional 9613one-letter suffix that specifies the time unit). Time units: s 9614(seconds), m (minutes), h (hours), d (days), w (weeks). 9615The default time unit is s (seconds). </p> 9616 9617 9618</DD> 9619 9620<DT><b><a name="queue_service_name">queue_service_name</a> 9621(default: qmgr)</b></DT><DD> 9622 9623<p> 9624The name of the <a href="qmgr.8.html">qmgr(8)</a> service. This service manages the Postfix 9625queue and schedules delivery requests. 9626</p> 9627 9628<p> 9629This feature is available in Postfix 2.0 and later. 9630</p> 9631 9632 9633</DD> 9634 9635<DT><b><a name="rbl_reply_maps">rbl_reply_maps</a> 9636(default: empty)</b></DT><DD> 9637 9638<p> 9639Optional lookup tables with RBL response templates. The tables are 9640indexed by the RBL domain name. By default, Postfix uses the default 9641template as specified with the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> configuration 9642parameter. See there for a discussion of the syntax of RBL reply 9643templates. 9644</p> 9645 9646<p> 9647This feature is available in Postfix 2.0 and later. 9648</p> 9649 9650 9651</DD> 9652 9653<DT><b><a name="readme_directory">readme_directory</a> 9654(default: see "postconf -d" output)</b></DT><DD> 9655 9656<p> 9657The location of Postfix README files that describe how to build, 9658configure or operate a specific Postfix subsystem or feature. 9659</p> 9660 9661 9662</DD> 9663 9664<DT><b><a name="receive_override_options">receive_override_options</a> 9665(default: empty)</b></DT><DD> 9666 9667<p> Enable or disable recipient validation, built-in content 9668filtering, or address mapping. Typically, these are specified in 9669<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 9670<a href="pickup.8.html">pickup(8)</a> daemons. </p> 9671 9672<p> Specify zero or more of the following options. The options 9673override <a href="postconf.5.html">main.cf</a> settings and are either implemented by <a href="smtpd.8.html">smtpd(8)</a>, 9674<a href="qmqpd.8.html">qmqpd(8)</a>, or <a href="pickup.8.html">pickup(8)</a> themselves, or they are forwarded to the 9675cleanup server. </p> 9676 9677<dl> 9678 9679<dt><b><a name="no_unknown_recipient_checks">no_unknown_recipient_checks</a></b></dt> 9680 9681<dd>Do not try to reject unknown recipients (SMTP server only). 9682This is typically specified AFTER an external content filter. 9683</dd> 9684 9685<dt><b><a name="no_address_mappings">no_address_mappings</a></b></dt> 9686 9687<dd>Disable canonical address mapping, virtual alias map expansion, 9688address masquerading, and automatic BCC (blind carbon-copy) 9689recipients. This is typically specified BEFORE an external content 9690filter. </dd> 9691 9692<dt><b><a name="no_header_body_checks">no_header_body_checks</a></b></dt> 9693 9694<dd>Disable header/body_checks. This is typically specified AFTER 9695an external content filter. </dd> 9696 9697<dt><b><a name="no_milters">no_milters</a></b></dt> 9698 9699<dd>Disable Milter (mail filter) applications. This is typically 9700specified AFTER an external content filter. </dd> 9701 9702</dl> 9703 9704<p> 9705Note: when the "BEFORE content filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a> 9706setting is specified in the <a href="postconf.5.html">main.cf</a> file, specify the "AFTER content 9707filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a> setting in <a href="master.5.html">master.cf</a> (and vice 9708versa). 9709</p> 9710 9711<p> 9712Examples: 9713</p> 9714 9715<pre> 9716<a href="postconf.5.html#receive_override_options">receive_override_options</a> = 9717 <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> 9718<a href="postconf.5.html#receive_override_options">receive_override_options</a> = <a href="postconf.5.html#no_address_mappings">no_address_mappings</a> 9719</pre> 9720 9721<p> 9722This feature is available in Postfix 2.1 and later. 9723</p> 9724 9725 9726</DD> 9727 9728<DT><b><a name="recipient_bcc_maps">recipient_bcc_maps</a> 9729(default: empty)</b></DT><DD> 9730 9731<p> 9732Optional BCC (blind carbon-copy) address lookup tables, indexed by 9733envelope recipient address. The BCC address (multiple results are not 9734supported) is added when mail enters from outside of Postfix. 9735</p> 9736 9737<p> 9738Specify zero or more "type:name" lookup tables, separated by 9739whitespace or comma. Tables will be searched in the specified order 9740until a match is found. 9741</p> 9742 9743<p> 9744The table search order is as follows: 9745</p> 9746 9747<ul> 9748 9749<li> Look up the "user+extension@domain.tld" address including the 9750optional address extension. 9751 9752<li> Look up the "user@domain.tld" address without the optional 9753address extension. 9754 9755<li> Look up the "user+extension" address local part when the 9756recipient 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> 9757or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. 9758 9759<li> Look up the "user" address local part when the recipient domain 9760equals $<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>. 9761 9762<li> Look up the "@domain.tld" part. 9763 9764</ul> 9765 9766<p> 9767Note: with Postfix 2.3 and later the BCC address is added as if it 9768was specified with NOTIFY=NONE. The sender will not be notified 9769when the BCC address is undeliverable, as long as all down-stream 9770software implements <a href="https://tools.ietf.org/html/rfc3461">RFC 3461</a>. 9771</p> 9772 9773<p> 9774Note: with Postfix 2.2 and earlier the sender will unconditionally 9775be notified when the BCC address is undeliverable. 9776</p> 9777 9778<p> Note: automatic BCC recipients are produced only for new mail. 9779To avoid mailer loops, automatic BCC recipients are not generated 9780after Postfix forwards mail internally, or after Postfix generates 9781mail itself. </p> 9782 9783<p> 9784Example: 9785</p> 9786 9787<pre> 9788<a href="postconf.5.html#recipient_bcc_maps">recipient_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_bcc 9789</pre> 9790 9791<p> 9792After a change, run "<b>postmap /etc/postfix/recipient_bcc</b>". 9793</p> 9794 9795<p> 9796This feature is available in Postfix 2.1 and later. 9797</p> 9798 9799 9800</DD> 9801 9802<DT><b><a name="recipient_canonical_classes">recipient_canonical_classes</a> 9803(default: envelope_recipient, header_recipient)</b></DT><DD> 9804 9805<p> What addresses are subject to <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address 9806mapping. By default, <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address mapping is 9807applied to envelope recipient addresses, and to header recipient 9808addresses. </p> 9809 9810<p> Specify one or more of: envelope_recipient, header_recipient 9811</p> 9812 9813<p> This feature is available in Postfix 2.2 and later. </p> 9814 9815 9816</DD> 9817 9818<DT><b><a name="recipient_canonical_maps">recipient_canonical_maps</a> 9819(default: empty)</b></DT><DD> 9820 9821<p> 9822Optional address mapping lookup tables for envelope and header 9823recipient addresses. 9824The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>. 9825</p> 9826 9827<p> 9828Note: $<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>. 9829</p> 9830 9831<p> 9832Example: 9833</p> 9834 9835<pre> 9836<a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_canonical 9837</pre> 9838 9839 9840</DD> 9841 9842<DT><b><a name="recipient_delimiter">recipient_delimiter</a> 9843(default: empty)</b></DT><DD> 9844 9845<p> The set of characters that can separate an email address 9846localpart, user name, or a .forward file name from its extension. 9847For example, with "<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +", the software tries 9848user+foo@example.com before trying user@example.com, user+foo before 9849trying user, and .forward+foo before trying .forward. </p> 9850 9851<p> More formally, an email address localpart or user name is 9852separated from its extension by the first character that matches 9853the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set. The delimiter character and extension 9854may then be used to generate an extended .forward file name. This 9855implementation recognizes one delimiter character and one extension 9856per email address localpart or email address. With Postfix 2.10 and 9857earlier, the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> specifies a single character. </p> 9858 9859<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 9860effects of <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> on lookups in aliases, canonical, 9861virtual, and relocated maps, and see the <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> 9862parameter for propagating an extension from one email address to 9863another. </p> 9864 9865<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 9866<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 9867recipient delimiter that was found in the recipient email address 9868(Postfix 2.11 and later), or it is replaced with the <a href="postconf.5.html">main.cf</a> 9869<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> parameter value (Postfix 2.10 and earlier). 9870</p> 9871 9872<p> The <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is not applied to the mailer-daemon 9873address, the postmaster address, or the double-bounce address. With 9874the 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> 9875is also not applied to addresses with the special "owner-" prefix 9876or the special "-request" suffix. </p> 9877 9878<p> 9879Examples: 9880</p> 9881 9882<pre> 9883# Handle Postfix-style extensions. 9884<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = + 9885</pre> 9886 9887<pre> 9888# Handle both Postfix and qmail extensions (Postfix 2.11 and later). 9889<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +- 9890</pre> 9891 9892<pre> 9893# Use .forward for mail without address extension, and for mail with 9894# an unrecognized address extension. 9895<a href="postconf.5.html#forward_path">forward_path</a> = $home/.forward${<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>}${extension}, 9896 $home/.forward 9897</pre> 9898 9899 9900</DD> 9901 9902<DT><b><a name="reject_code">reject_code</a> 9903(default: 554)</b></DT><DD> 9904 9905<p> 9906The numerical Postfix SMTP server response code when a remote SMTP 9907client request is rejected by the "reject" restriction. 9908</p> 9909 9910<p> 9911Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 9912</p> 9913 9914 9915</DD> 9916 9917<DT><b><a name="reject_tempfail_action">reject_tempfail_action</a> 9918(default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>)</b></DT><DD> 9919 9920<p> The Postfix SMTP server's action when a reject-type restriction 9921fails due to a temporary error condition. Specify "defer" to defer 9922the remote SMTP client request immediately. With the default 9923"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look 9924for opportunities to reject mail, and defers the client request 9925only if it would otherwise be accepted. </p> 9926 9927<p> For finer control, see: <a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>, 9928<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>, 9929and <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>. </p> 9930 9931<p> This feature is available in Postfix 2.6 and later. </p> 9932 9933 9934</DD> 9935 9936<DT><b><a name="relay_clientcerts">relay_clientcerts</a> 9937(default: empty)</b></DT><DD> 9938 9939<p> List of tables with remote SMTP client-certificate fingerprints or 9940public key fingerprints (Postfix 2.9 and later) for which the Postfix 9941SMTP server will allow access with the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> 9942feature. The fingerprint digest algorithm is configurable via the 9943<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to 9944Postfix version 2.5). </p> 9945 9946<p> The default algorithm is <b>sha256</b> with Postfix ≥ 3.6 9947and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix 9948≤ 3.5, the default algorithm is <b>md5</b>. The best-practice 9949algorithm is now <b>sha256</b>. Recent advances in hash function 9950cryptanalysis have led to md5 and sha1 being deprecated in favor of 9951sha256. However, as long as there are no known "second pre-image" 9952attacks against the older algorithms, their use in this context, though 9953not recommended, is still likely safe. </p> 9954 9955<p> Postfix lookup tables are in the form of (key, value) pairs. 9956Since we only need the key, the value can be chosen freely, e.g. 9957the name of the user or host: 9958D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home </p> 9959 9960<p> Example: </p> 9961 9962<pre> 9963<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_clientcerts 9964</pre> 9965 9966<p>For more fine-grained control, use <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> to select 9967an appropriate <a href="access.5.html">access(5)</a> policy for each client. 9968See <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a>.</p> 9969 9970<p>This feature is available with Postfix version 2.2.</p> 9971 9972 9973</DD> 9974 9975<DT><b><a name="relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> 9976(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD> 9977 9978<p> The maximal number of parallel deliveries to the same destination 9979via the relay message delivery transport. This limit is enforced 9980by the queue manager. The message delivery transport name is the 9981first field in the entry in the <a href="master.5.html">master.cf</a> file. </p> 9982 9983<p> This feature is available in Postfix 2.0 and later. </p> 9984 9985 9986</DD> 9987 9988<DT><b><a name="relay_destination_recipient_limit">relay_destination_recipient_limit</a> 9989(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD> 9990 9991<p> The maximal number of recipients per message for the relay 9992message delivery transport. This limit is enforced by the queue 9993manager. The message delivery transport name is the first field in 9994the entry in the <a href="master.5.html">master.cf</a> file. </p> 9995 9996<p> Setting this parameter to a value of 1 changes the meaning of 9997<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> from concurrency per domain 9998into concurrency per recipient. </p> 9999 10000<p> This feature is available in Postfix 2.0 and later. </p> 10001 10002 10003</DD> 10004 10005<DT><b><a name="relay_domains">relay_domains</a> 10006(default: Postfix ≥ 3.0: empty, Postfix < 3.0: $<a href="postconf.5.html#mydestination">mydestination</a>)</b></DT><DD> 10007 10008<p> What destination domains (and subdomains thereof) this system 10009will relay mail to. For details about how 10010the <a href="postconf.5.html#relay_domains">relay_domains</a> value is used, see the description of the 10011<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 10012restrictions. </p> 10013 10014<p> Domains that match $<a href="postconf.5.html#relay_domains">relay_domains</a> are delivered with the 10015$<a href="postconf.5.html#relay_transport">relay_transport</a> mail delivery transport. The SMTP server validates 10016recipient addresses with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> and rejects non-existent 10017recipients. See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the 10018<a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file. </p> 10019 10020<p> Note: Postfix will not automatically forward mail for domains 10021that list this system as their primary or backup MX host. See the 10022<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> 10023 10024<p> Specify a list of host or domain names, "/file/name" patterns 10025or "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace. 10026Continue long lines by starting the next line with whitespace. A 10027"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" 10028lookup table is matched when a (parent) domain appears as lookup 10029key. Specify "!pattern" to exclude a domain from the list. The form 10030"!/file/name" is supported only in Postfix version 2.4 and later. 10031</p> 10032 10033<p> Pattern matching of domain names is controlled by the presence 10034or 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> 10035parameter value. </p> 10036 10037 10038</DD> 10039 10040<DT><b><a name="relay_domains_reject_code">relay_domains_reject_code</a> 10041(default: 554)</b></DT><DD> 10042 10043<p> 10044The numerical Postfix SMTP server response code when a client 10045request is rejected by the <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> recipient 10046restriction. 10047</p> 10048 10049<p> 10050Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 10051</p> 10052 10053 10054</DD> 10055 10056<DT><b><a name="relay_recipient_maps">relay_recipient_maps</a> 10057(default: empty)</b></DT><DD> 10058 10059<p> Optional lookup tables with all valid addresses in the domains 10060that match $<a href="postconf.5.html#relay_domains">relay_domains</a>. Specify @domain as a wild-card for 10061domains that have no valid recipient list, and become a source of 10062backscatter mail: Postfix accepts spam for non-existent recipients 10063and then floods innocent people with undeliverable mail. Technically, 10064tables 10065listed with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> are used as lists: Postfix needs 10066to know only if a lookup string is found or not, but it does not 10067use the result from the table lookup. </p> 10068 10069<p> 10070Specify zero or more "type:name" lookup tables, separated by 10071whitespace or comma. Tables will be searched in the specified order 10072until a match is found. 10073</p> 10074 10075<p> 10076If this parameter is non-empty, then the Postfix SMTP server will reject 10077mail to unknown relay users. This feature is off by default. 10078</p> 10079 10080<p> 10081See 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> 10082file. 10083</p> 10084 10085<p> 10086Example: 10087</p> 10088 10089<pre> 10090<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_recipients 10091</pre> 10092 10093<p> 10094This feature is available in Postfix 2.0 and later. 10095</p> 10096 10097 10098</DD> 10099 10100<DT><b><a name="relay_transport">relay_transport</a> 10101(default: relay)</b></DT><DD> 10102 10103<p> 10104The default mail delivery transport and next-hop destination for 10105remote delivery to domains listed with $<a href="postconf.5.html#relay_domains">relay_domains</a>. In order of 10106decreasing precedence, the nexthop destination is taken from 10107$<a href="postconf.5.html#relay_transport">relay_transport</a>, $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>, $<a href="postconf.5.html#relayhost">relayhost</a>, or 10108from the recipient domain. This information can be overruled with 10109the <a href="transport.5.html">transport(5)</a> table. 10110</p> 10111 10112<p> 10113Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i> 10114is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>. 10115The <i>:nexthop</i> destination is optional; its syntax is documented 10116in the manual page of the corresponding delivery agent. 10117</p> 10118 10119<p> 10120See 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> 10121file. 10122</p> 10123 10124<p> 10125This feature is available in Postfix 2.0 and later. 10126</p> 10127 10128 10129</DD> 10130 10131<DT><b><a name="relayhost">relayhost</a> 10132(default: empty)</b></DT><DD> 10133 10134<p> 10135The next-hop destination(s) for non-local mail; overrides non-local 10136domains in recipient addresses. This information is overruled with 10137<a href="postconf.5.html#relay_transport">relay_transport</a>, <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>, 10138<a href="postconf.5.html#default_transport">default_transport</a>, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> 10139and with the <a href="transport.5.html">transport(5)</a> table. 10140</p> 10141 10142<p> 10143On an intranet, specify the organizational domain name. If your 10144internal DNS uses no MX records, specify the name of the intranet 10145gateway host instead. 10146</p> 10147 10148<p> 10149In the case of SMTP or LMTP delivery, specify one or more destinations 10150in the form of a domain name, hostname, hostname:port, [hostname]:port, 10151[hostaddress] or [hostaddress]:port, separated by comma or whitespace. 10152The form [hostname] turns off MX lookups. Multiple destinations are 10153supported in Postfix 3.5 and later. 10154</p> 10155 10156<p> 10157If you're connected via UUCP, see the <a href="UUCP_README.html">UUCP_README</a> file for useful 10158information. 10159</p> 10160 10161<p> 10162Examples: 10163</p> 10164 10165<pre> 10166<a href="postconf.5.html#relayhost">relayhost</a> = $<a href="postconf.5.html#mydomain">mydomain</a> 10167<a href="postconf.5.html#relayhost">relayhost</a> = [gateway.example.com] 10168<a href="postconf.5.html#relayhost">relayhost</a> = mail1.example:587, mail2.example:587 10169<a href="postconf.5.html#relayhost">relayhost</a> = [an.ip.add.ress] 10170</pre> 10171 10172 10173</DD> 10174 10175<DT><b><a name="relocated_maps">relocated_maps</a> 10176(default: empty)</b></DT><DD> 10177 10178<p> 10179Optional lookup tables with new contact information for users or 10180domains that no longer exist. The table format and lookups are 10181documented in <a href="relocated.5.html">relocated(5)</a>. 10182</p> 10183 10184<p> 10185Specify zero or more "type:name" lookup tables, separated by 10186whitespace or comma. Tables will be searched in the specified order 10187until a match is found. 10188</p> 10189 10190<p> 10191If you use this feature, run "<b>postmap /etc/postfix/relocated</b>" to 10192build the necessary DBM or DB file after change, then "<b>postfix 10193reload</b>" to make the changes visible. 10194</p> 10195 10196<p> 10197Examples: 10198</p> 10199 10200<pre> 10201<a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/relocated 10202<a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relocated 10203</pre> 10204 10205 10206</DD> 10207 10208<DT><b><a name="remote_header_rewrite_domain">remote_header_rewrite_domain</a> 10209(default: empty)</b></DT><DD> 10210 10211<p> Rewrite or add message headers in mail from remote clients if 10212the <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter value is non-empty, 10213updating incomplete addresses with the domain specified in the 10214<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter, and adding missing headers. 10215</p> 10216 10217<p> The 10218<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter controls what clients Postfix 10219considers local. </p> 10220 10221<p> Examples: </p> 10222 10223<p> The safe setting: append "domain.invalid" to incomplete header 10224addresses from remote SMTP clients, so that those addresses cannot 10225be confused with local addresses. </p> 10226 10227<blockquote> 10228<pre> 10229<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> = domain.invalid 10230</pre> 10231</blockquote> 10232 10233<p> The default, purist, setting: don't rewrite headers from remote 10234clients at all. </p> 10235 10236<blockquote> 10237<pre> 10238<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> = 10239</pre> 10240</blockquote> 10241 10242 10243</DD> 10244 10245<DT><b><a name="require_home_directory">require_home_directory</a> 10246(default: no)</b></DT><DD> 10247 10248<p> 10249Require that a <a href="local.8.html">local(8)</a> recipient's home directory exists 10250before mail delivery is attempted. By default this test is disabled. 10251It can be useful for environments that import home directories to 10252the mail server (IMPORTING HOME DIRECTORIES IS NOT RECOMMENDED). 10253</p> 10254 10255 10256</DD> 10257 10258<DT><b><a name="reset_owner_alias">reset_owner_alias</a> 10259(default: no)</b></DT><DD> 10260 10261<p> Reset the <a href="local.8.html">local(8)</a> delivery agent's idea of the owner-alias 10262attribute, when delivering mail to a child alias that does not have 10263its own owner alias. </p> 10264 10265<p> This feature is available in Postfix 2.8 and later. With older 10266Postfix releases, the behavior is as if this parameter is set to 10267"yes". </p> 10268 10269<p> As documented in <a href="aliases.5.html">aliases(5)</a>, when an alias <i>name</i> has a 10270companion alias named owner-<i>name</i>, this will replace the 10271envelope sender address, so that delivery errors will be 10272reported to the owner alias instead of the sender. This configuration 10273is recommended for mailing lists. <p> 10274 10275<p> A less known property of the owner alias is that it also forces 10276the <a href="local.8.html">local(8)</a> delivery agent to write local and remote addresses 10277from alias expansion to a new queue file, instead of attempting to 10278deliver mail to local addresses as soon as they come out of alias 10279expansion. </p> 10280 10281<p> Writing local addresses from alias expansion to a new queue 10282file allows for robust handling of temporary delivery errors: errors 10283with one local member have no effect on deliveries to other members 10284of the list. On the other hand, delivery to local addresses as 10285soon as they come out of alias expansion is fragile: a temporary 10286error with one local address from alias expansion will cause the 10287entire alias to be expanded repeatedly until the error goes away, 10288or until the message expires in the queue. In that case, a problem 10289with one list member results in multiple message deliveries to other 10290list members. </p> 10291 10292<p> The default behavior of Postfix 2.8 and later is to keep the 10293owner-alias attribute of the parent alias, when delivering mail to 10294a child alias that does not have its own owner alias. Then, local 10295addresses from that child alias will be written to a new queue file, 10296and a temporary error with one local address will not affect delivery 10297to other mailing list members. </p> 10298 10299<p> Unfortunately, older Postfix releases reset the owner-alias 10300attribute when delivering mail to a child alias that does not have 10301its own owner alias. To be precise, this resets only the decision 10302to create a new queue file, not the decision to override the envelope 10303sender address. The <a href="local.8.html">local(8)</a> delivery agent then attempts to 10304deliver local addresses as soon as they come out of child alias 10305expansion. If delivery to any address from child alias expansion 10306fails with a temporary error condition, the entire mailing list may 10307be expanded repeatedly until the mail expires in the queue, resulting 10308in multiple deliveries of the same message to mailing list members. 10309</p> 10310 10311 10312</DD> 10313 10314<DT><b><a name="resolve_dequoted_address">resolve_dequoted_address</a> 10315(default: yes)</b></DT><DD> 10316 10317<p> Resolve a recipient address safely instead of correctly, by 10318looking inside quotes. </p> 10319 10320<p> By default, the Postfix address resolver does not quote the 10321address localpart as per <a href="https://tools.ietf.org/html/rfc822">RFC 822</a>, so that additional @ or % or ! 10322operators remain visible. This behavior is safe but it is also 10323technically incorrect. </p> 10324 10325<p> If you specify "<a href="postconf.5.html#resolve_dequoted_address">resolve_dequoted_address</a> = no", then 10326the Postfix 10327resolver will not know about additional @ etc. operators in the 10328address localpart. This opens opportunities for obscure mail relay 10329attacks with user@domain@domain addresses when Postfix provides 10330backup MX service for Sendmail systems. </p> 10331 10332 10333</DD> 10334 10335<DT><b><a name="resolve_null_domain">resolve_null_domain</a> 10336(default: no)</b></DT><DD> 10337 10338<p> Resolve an address that ends in the "@" null domain as if the 10339local hostname were specified, instead of rejecting the address as 10340invalid. </p> 10341 10342<p> This feature is available in Postfix 2.1 and later. 10343Earlier versions always resolve the null domain as the local 10344hostname. </p> 10345 10346<p> The Postfix SMTP server uses this feature to reject mail from 10347or to addresses that end in the "@" null domain, and from addresses 10348that rewrite into a form that ends in the "@" null domain. </p> 10349 10350 10351</DD> 10352 10353<DT><b><a name="resolve_numeric_domain">resolve_numeric_domain</a> 10354(default: no)</b></DT><DD> 10355 10356<p> Resolve "user@ipaddress" as "user@[ipaddress]", instead of 10357rejecting the address as invalid. </p> 10358 10359<p> This feature is available in Postfix 2.3 and later. 10360 10361 10362</DD> 10363 10364<DT><b><a name="respectful_logging">respectful_logging</a> 10365(default: see 'postconf -d' output)</b></DT><DD> 10366 10367<p> Avoid logging that implies white is better than black. Instead 10368use 'allowlist', 'denylist', and variations of those words. </p> 10369 10370<p> This feature is available in Postfix 3.6 and later. </p> 10371 10372 10373</DD> 10374 10375<DT><b><a name="rewrite_service_name">rewrite_service_name</a> 10376(default: rewrite)</b></DT><DD> 10377 10378<p> 10379The name of the address rewriting service. This service rewrites 10380addresses to standard form and resolves them to a (delivery method, 10381next-hop host, recipient) triple. 10382</p> 10383 10384<p> 10385This feature is available in Postfix 2.0 and later. 10386</p> 10387 10388 10389</DD> 10390 10391<DT><b><a name="sample_directory">sample_directory</a> 10392(default: /etc/postfix)</b></DT><DD> 10393 10394<p> 10395The name of the directory with example Postfix configuration files. 10396Starting with Postfix 2.1, these files have been replaced with the 10397<a href="postconf.5.html">postconf(5)</a> manual page. 10398</p> 10399 10400 10401</DD> 10402 10403<DT><b><a name="send_cyrus_sasl_authzid">send_cyrus_sasl_authzid</a> 10404(default: no)</b></DT><DD> 10405 10406<p> When authenticating to a remote SMTP or LMTP server with the 10407default setting "no", send no SASL authoriZation ID (authzid); send 10408only the SASL authentiCation ID (authcid) plus the authcid's password. 10409</p> 10410 10411<p> The non-default setting "yes" enables the behavior of older 10412Postfix versions. These always send a SASL authzid that is equal 10413to the SASL authcid, but this causes interoperability problems 10414with some SMTP servers. </p> 10415 10416<p> This feature is available in Postfix 2.4.4 and later. </p> 10417 10418 10419</DD> 10420 10421<DT><b><a name="sender_based_routing">sender_based_routing</a> 10422(default: no)</b></DT><DD> 10423 10424<p> 10425This parameter should not be used. It was replaced by <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> 10426in Postfix version 2.3. 10427</p> 10428 10429 10430</DD> 10431 10432<DT><b><a name="sender_bcc_maps">sender_bcc_maps</a> 10433(default: empty)</b></DT><DD> 10434 10435<p> Optional BCC (blind carbon-copy) address lookup tables, indexed 10436by envelope sender address. The BCC address (multiple results are not 10437supported) is added when mail enters from outside of Postfix. </p> 10438 10439<p> 10440Specify zero or more "type:name" lookup tables, separated by 10441whitespace or comma. Tables will be searched in the specified order 10442until a match is found. 10443</p> 10444 10445<p> 10446The table search order is as follows: 10447</p> 10448 10449<ul> 10450 10451<li> Look up the "user+extension@domain.tld" address including the 10452optional address extension. 10453 10454<li> Look up the "user@domain.tld" address without the optional 10455address extension. 10456 10457<li> Look up the "user+extension" address local part when the 10458sender 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> 10459or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. 10460 10461<li> Look up the "user" address local part when the sender domain 10462equals $<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>. 10463 10464<li> Look up the "@domain.tld" part. 10465 10466</ul> 10467 10468<p> 10469Note: with Postfix 2.3 and later the BCC address is added as if it 10470was specified with NOTIFY=NONE. The sender will not be notified 10471when the BCC address is undeliverable, as long as all down-stream 10472software implements <a href="https://tools.ietf.org/html/rfc3461">RFC 3461</a>. 10473</p> 10474 10475<p> 10476Note: with Postfix 2.2 and earlier the sender will be notified 10477when the BCC address is undeliverable. 10478</p> 10479 10480<p> Note: automatic BCC recipients are produced only for new mail. 10481To avoid mailer loops, automatic BCC recipients are not generated 10482after Postfix forwards mail internally, or after Postfix generates 10483mail itself. </p> 10484 10485<p> 10486Example: 10487</p> 10488 10489<pre> 10490<a href="postconf.5.html#sender_bcc_maps">sender_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_bcc 10491</pre> 10492 10493<p> 10494After a change, run "<b>postmap /etc/postfix/sender_bcc</b>". 10495</p> 10496 10497<p> 10498This feature is available in Postfix 2.1 and later. 10499</p> 10500 10501 10502</DD> 10503 10504<DT><b><a name="sender_canonical_classes">sender_canonical_classes</a> 10505(default: envelope_sender, header_sender)</b></DT><DD> 10506 10507<p> What addresses are subject to <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address 10508mapping. By default, <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address mapping is 10509applied to envelope sender addresses, and to header sender addresses. 10510</p> 10511 10512<p> Specify one or more of: envelope_sender, header_sender </p> 10513 10514<p> This feature is available in Postfix 2.2 and later. </p> 10515 10516 10517</DD> 10518 10519<DT><b><a name="sender_canonical_maps">sender_canonical_maps</a> 10520(default: empty)</b></DT><DD> 10521 10522<p> 10523Optional address mapping lookup tables for envelope and header 10524sender addresses. 10525The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>. 10526</p> 10527 10528<p> 10529Example: you want to rewrite the SENDER address "user@ugly.example" 10530to "user@pretty.example", while still being able to send mail to 10531the RECIPIENT address "user@ugly.example". 10532</p> 10533 10534<p> 10535Note: $<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>. 10536</p> 10537 10538<p> 10539Example: 10540</p> 10541 10542<pre> 10543<a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_canonical 10544</pre> 10545 10546 10547</DD> 10548 10549<DT><b><a name="sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> 10550(default: empty)</b></DT><DD> 10551 10552<p> A sender-dependent override for the global <a href="postconf.5.html#default_transport">default_transport</a> 10553parameter setting. The tables are searched by the envelope sender 10554address and @domain. A lookup result of DUNNO terminates the search 10555without overriding the global <a href="postconf.5.html#default_transport">default_transport</a> parameter setting. 10556This information is overruled with the <a href="transport.5.html">transport(5)</a> table. </p> 10557 10558<p> 10559Specify zero or more "type:name" lookup tables, separated by 10560whitespace or comma. Tables will be searched in the specified order 10561until a match is found. 10562</p> 10563 10564<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 10565therefore the expected syntax is that of <a href="postconf.5.html#default_transport">default_transport</a>, not the 10566syntax of <a href="postconf.5.html#transport_maps">transport_maps</a>. Specifically, this does not support the 10567<a href="postconf.5.html#transport_maps">transport_maps</a> syntax for null transport, null nexthop, or null 10568email addresses. </p> 10569 10570<p> For safety reasons, this feature does not allow $number 10571substitutions in regular expression maps. </p> 10572 10573<p> This feature is available in Postfix 2.7 and later. </p> 10574 10575 10576</DD> 10577 10578<DT><b><a name="sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> 10579(default: empty)</b></DT><DD> 10580 10581<p> A sender-dependent override for the global <a href="postconf.5.html#relayhost">relayhost</a> parameter 10582setting. The tables are searched by the envelope sender address and 10583@domain. A lookup result of DUNNO terminates the search without 10584overriding the global <a href="postconf.5.html#relayhost">relayhost</a> parameter setting (Postfix 2.6 and 10585later). This information is overruled with <a href="postconf.5.html#relay_transport">relay_transport</a>, 10586<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>, <a href="postconf.5.html#default_transport">default_transport</a> and with 10587the <a href="transport.5.html">transport(5)</a> table. </p> 10588 10589<p> 10590Specify zero or more "type:name" lookup tables, separated by 10591whitespace or comma. Tables will be searched in the specified order 10592until a match is found. 10593</p> 10594 10595<p> For safety reasons, this feature does not allow $number 10596substitutions in regular expression maps. </p> 10597 10598<p> 10599This feature is available in Postfix 2.3 and later. 10600</p> 10601 10602 10603</DD> 10604 10605<DT><b><a name="sendmail_fix_line_endings">sendmail_fix_line_endings</a> 10606(default: always)</b></DT><DD> 10607 10608<p> Controls how the Postfix sendmail command converts email message 10609line endings from <CR><LF> into UNIX format (<LF>). 10610</p> 10611 10612<dl> 10613 10614<dt> <b>always</b> </dt> <dd> Always convert message lines ending 10615in <CR><LF>. This setting is the default with Postfix 106162.9 and later. </dd> 10617 10618<dt> <b>strict</b> </dt> <dd> Convert message lines ending in 10619<CR><LF> only if the first input line ends in 10620<CR><LF>. This setting is backwards-compatible with 10621Postfix 2.8 and earlier. </dd> 10622 10623<dt> <b>never</b> </dt> <dd> Never convert message lines ending in 10624<CR><LF>. This setting exists for completeness only. 10625</dd> 10626 10627</dl> 10628 10629<p> This feature is available in Postfix 2.9 and later. </p> 10630 10631 10632</DD> 10633 10634<DT><b><a name="sendmail_path">sendmail_path</a> 10635(default: see "postconf -d" output)</b></DT><DD> 10636 10637<p> 10638A Sendmail compatibility feature that specifies the location of 10639the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. This command can be used to 10640submit mail into the Postfix queue. 10641</p> 10642 10643 10644</DD> 10645 10646<DT><b><a name="service_name">service_name</a> 10647(read-only)</b></DT><DD> 10648 10649<p> The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process. This 10650can be used to distinguish the logging from different services that 10651use the same program name. </p> 10652 10653<p> Example <a href="master.5.html">master.cf</a> entries: </p> 10654 10655<pre> 10656# Distinguish inbound MTA logging from submission and smtps logging. 10657smtp inet n - n - - smtpd 10658submission inet n - n - - smtpd 10659 -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a> 10660smtps inet n - n - - smtpd 10661 -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a> 10662</pre> 10663 10664<pre> 10665# Distinguish outbound MTA logging from inbound relay logging. 10666smtp unix - - n - - smtp 10667relay unix - - n - - smtp 10668 -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a> 10669</pre> 10670 10671 10672</DD> 10673 10674<DT><b><a name="service_throttle_time">service_throttle_time</a> 10675(default: 60s)</b></DT><DD> 10676 10677<p> 10678How long the Postfix <a href="master.8.html">master(8)</a> waits before forking a server that 10679appears to be malfunctioning. 10680</p> 10681 10682<p> Specify a non-zero time value (an integral value plus an optional 10683one-letter suffix that specifies the time unit). Time units: s 10684(seconds), m (minutes), h (hours), d (days), w (weeks). 10685The default time unit is s (seconds). </p> 10686 10687 10688</DD> 10689 10690<DT><b><a name="setgid_group">setgid_group</a> 10691(default: postdrop)</b></DT><DD> 10692 10693<p> 10694The group ownership of set-gid Postfix commands and of group-writable 10695Postfix directories. When this parameter value is changed you need 10696to re-run "<b>postfix set-permissions</b>" (with Postfix version 2.0 and 10697earlier: "<b>/etc/postfix/post-install set-permissions</b>". 10698</p> 10699 10700 10701</DD> 10702 10703<DT><b><a name="shlib_directory">shlib_directory</a> 10704(default: see 'postconf -d' output)</b></DT><DD> 10705 10706<p> The location of Postfix dynamically-linked libraries 10707(libpostfix-*.so), and the default location of Postfix database 10708plugins (postfix-*.so) that have a relative pathname in the 10709dynamicmaps.cf file. The <a href="postconf.5.html#shlib_directory">shlib_directory</a> parameter defaults to 10710"no" when Postfix dynamically-linked libraries and database plugins 10711are disabled at compile time, otherwise it typically defaults to 10712/usr/lib/postfix or /usr/local/lib/postfix. </p> 10713 10714<p> Notes: </p> 10715 10716<ul> 10717 10718<li> <p> The directory specified with <a href="postconf.5.html#shlib_directory">shlib_directory</a> should contain 10719only Postfix-related files. Postfix dynamically-linked libraries 10720and database plugins should not be installed in a "public" system 10721directory such as /usr/lib or /usr/local/lib. Linking Postfix 10722dynamically-linked library files or database plugins into non-Postfix 10723programs is not supported. Postfix dynamically-linked libraries 10724and database plugins implement a Postfix-internal API that changes 10725without maintaining compatibility. </p> 10726 10727<li> <p> You can change the <a href="postconf.5.html#shlib_directory">shlib_directory</a> value after Postfix is 10728built. However, you may have to run ldconfig or equivalent to prevent 10729Postfix programs from failing because the libpostfix-*.so files are 10730not found. No ldconfig command is needed if you keep the libpostfix-*.so 10731files in the compiled-in default $<a href="postconf.5.html#shlib_directory">shlib_directory</a> location. </p> 10732 10733</ul> 10734 10735<p> This feature is available in Postfix 3.0 and later. </p> 10736 10737 10738</DD> 10739 10740<DT><b><a name="show_user_unknown_table_name">show_user_unknown_table_name</a> 10741(default: yes)</b></DT><DD> 10742 10743<p> 10744Display the name of the recipient table in the "User unknown" 10745responses. The extra detail makes troubleshooting easier but also 10746reveals information that is nobody else's business. 10747</p> 10748 10749<p> 10750This feature is available in Postfix 2.0 and later. 10751</p> 10752 10753 10754</DD> 10755 10756<DT><b><a name="showq_service_name">showq_service_name</a> 10757(default: showq)</b></DT><DD> 10758 10759<p> 10760The name of the <a href="showq.8.html">showq(8)</a> service. This service produces mail queue 10761status reports. 10762</p> 10763 10764<p> 10765This feature is available in Postfix 2.0 and later. 10766</p> 10767 10768 10769</DD> 10770 10771<DT><b><a name="smtp_address_preference">smtp_address_preference</a> 10772(default: any)</b></DT><DD> 10773 10774<p> The address type ("ipv6", "ipv4" or "any") that the Postfix 10775SMTP client will try first, when a destination has IPv6 and IPv4 10776addresses with equal MX preference. This feature has no effect 10777unless the <a href="postconf.5.html#inet_protocols">inet_protocols</a> setting enables both IPv4 and IPv6. </p> 10778 10779<p> Postfix SMTP client address preference has evolved. With Postfix 107802.8 the default is "ipv6"; earlier implementations are hard-coded 10781to prefer IPv6 over IPv4. </p> 10782 10783<p> Notes for mail delivery between sites that have both IPv4 and 10784IPv6 connectivity: </p> 10785 10786<ul> 10787 10788<li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = ipv6" is unsafe. 10789It can fail to deliver mail when there is an outage that affects 10790IPv6, while the destination is still reachable over IPv4. </p> 10791 10792<li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = any" is safe. With 10793this, mail will eventually be delivered even if there is an outage 10794that affects IPv6 or IPv4, as long as it does not affect both. </p> 10795 10796</ul> 10797 10798<p> This feature is available in Postfix 2.8 and later. </p> 10799 10800 10801</DD> 10802 10803<DT><b><a name="smtp_address_verify_target">smtp_address_verify_target</a> 10804(default: rcpt)</b></DT><DD> 10805 10806<p> In the context of email address verification, the SMTP protocol 10807stage that determines whether an email address is deliverable. 10808Specify one of "rcpt" or "data". The latter is needed with remote 10809SMTP servers that reject recipients after the DATA command. Use 10810<a href="postconf.5.html#transport_maps">transport_maps</a> to apply this feature selectively: </p> 10811 10812<blockquote> 10813<pre> 10814/etc/postfix/<a href="postconf.5.html">main.cf</a>: 10815 <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport 10816</pre> 10817</blockquote> 10818 10819<blockquote> 10820<pre> 10821/etc/postfix/transport: 10822 smtp-domain-that-verifies-after-data smtp-data-target: 10823 lmtp-domain-that-verifies-after-data lmtp-data-target: 10824</pre> 10825</blockquote> 10826 10827<blockquote> 10828<pre> 10829/etc/postfix/<a href="master.5.html">master.cf</a>: 10830 smtp-data-target unix - - n - - smtp 10831 -o <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a>=data 10832 lmtp-data-target unix - - n - - lmtp 10833 -o <a href="postconf.5.html#lmtp_address_verify_target">lmtp_address_verify_target</a>=data 10834</pre> 10835</blockquote> 10836 10837<p> Unselective use of the "data" target does no harm, but will 10838result in unnecessary "lost connection after DATA" events at remote 10839SMTP/LMTP servers. </p> 10840 10841<p> This feature is available in Postfix 3.0 and later. </p> 10842 10843 10844</DD> 10845 10846<DT><b><a name="smtp_always_send_ehlo">smtp_always_send_ehlo</a> 10847(default: yes)</b></DT><DD> 10848 10849<p> 10850Always send EHLO at the start of an SMTP session. 10851</p> 10852 10853<p> 10854With "<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> = no", the Postfix SMTP client sends 10855EHLO only when 10856the word "ESMTP" appears in the server greeting banner (example: 10857220 spike.porcupine.org ESMTP Postfix). 10858</p> 10859 10860 10861</DD> 10862 10863<DT><b><a name="smtp_balance_inet_protocols">smtp_balance_inet_protocols</a> 10864(default: yes)</b></DT><DD> 10865 10866<p> When a remote destination resolves to a combination of IPv4 and 10867IPv6 addresses, ensure that the Postfix SMTP client can try both 10868address types before it runs into the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a>. </p> 10869 10870<p> This avoids an interoperability problem when a destination resolves 10871to primarily IPv6 addresses, the smtp_address_limit feature eliminates 10872most or all IPv4 addresses, and the destination is not reachable over 10873IPv6. </p> 10874 10875<p> This feature is available in Postfix 3.3 and later. </p> 10876 10877 10878</DD> 10879 10880<DT><b><a name="smtp_bind_address">smtp_bind_address</a> 10881(default: empty)</b></DT><DD> 10882 10883<p> 10884An optional numerical network address that the Postfix SMTP client 10885should bind to when making an IPv4 connection. 10886</p> 10887 10888<p> 10889This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or 10890it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client, 10891for example: 10892</p> 10893 10894<blockquote> 10895<pre> 10896/etc/postfix/<a href="master.5.html">master.cf</a>: 10897 smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>=11.22.33.44 10898</pre> 10899</blockquote> 10900 10901<p> See <a href="postconf.5.html#smtp_bind_address_enforce">smtp_bind_address_enforce</a> for how Postfix should handle 10902errors (Postfix 3.7 and later). </p> 10903 10904<p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv4 10905address, and that address is a non-loopback address, it is 10906automatically used as the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>. This supports virtual 10907IP hosting, but can be a problem on multi-homed firewalls. See the 10908<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p> 10909 10910<p> Note 2: address information may be enclosed inside <tt>[]</tt>, 10911but this form is not required here. </p> 10912 10913 10914</DD> 10915 10916<DT><b><a name="smtp_bind_address6">smtp_bind_address6</a> 10917(default: empty)</b></DT><DD> 10918 10919<p> 10920An optional numerical network address that the Postfix SMTP client 10921should bind to when making an IPv6 connection. 10922</p> 10923 10924<p> This feature is available in Postfix 2.2 and later. </p> 10925 10926<p> 10927This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or 10928it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client, 10929for example: 10930</p> 10931 10932<blockquote> 10933<pre> 10934/etc/postfix/<a href="master.5.html">master.cf</a>: 10935 smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>=1:2:3:4:5:6:7:8 10936</pre> 10937</blockquote> 10938 10939<p> See <a href="postconf.5.html#smtp_bind_address_enforce">smtp_bind_address_enforce</a> for how Postfix should handle 10940errors (Postfix 3.7 and later). </p> 10941 10942<p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv6 10943address, and that address is a non-loopback address, it is 10944automatically used as the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>. This supports virtual 10945IP hosting, but can be a problem on multi-homed firewalls. See the 10946<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p> 10947 10948<p> Note 2: address information may be enclosed inside <tt>[]</tt>, 10949but this form is not recommended here. </p> 10950 10951 10952</DD> 10953 10954<DT><b><a name="smtp_bind_address_enforce">smtp_bind_address_enforce</a> 10955(default: no)</b></DT><DD> 10956 10957<p> Defer delivery when the Postfix SMTP client cannot apply the 10958<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 10959Postfix SMTP client will continue delivery after logging a warning. 10960</p> 10961 10962<p> This feature is available in Postfix 3.7 and later. </p> 10963 10964 10965</DD> 10966 10967<DT><b><a name="smtp_body_checks">smtp_body_checks</a> 10968(default: empty)</b></DT><DD> 10969 10970<p> Restricted <a href="header_checks.5.html">body_checks(5)</a> tables for the Postfix SMTP client. 10971These tables are searched while mail is being delivered. Actions 10972that change the delivery time or destination are not available. 10973</p> 10974 10975<p> This feature is available in Postfix 2.5 and later. </p> 10976 10977 10978</DD> 10979 10980<DT><b><a name="smtp_cname_overrides_servername">smtp_cname_overrides_servername</a> 10981(default: version dependent)</b></DT><DD> 10982 10983<p> When the remote SMTP servername is a DNS CNAME, replace the 10984servername with the result from CNAME expansion for the purpose of 10985logging, SASL password lookup, TLS 10986policy decisions, or TLS certificate verification. The value "no" 10987hardens Postfix <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> hostname-based policies against 10988false hostname information in DNS CNAME records, and makes SASL 10989password file lookups more predictable. This is the default setting 10990as of Postfix 2.3. </p> 10991 10992<p> When DNS CNAME records are validated with secure DNS lookups 10993(<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> = dnssec), they are always allowed to 10994override the above servername (Postfix 2.11 and later). </p> 10995 10996<p> This feature is available in Postfix 2.2.9 and later. </p> 10997 10998 10999</DD> 11000 11001<DT><b><a name="smtp_connect_timeout">smtp_connect_timeout</a> 11002(default: 30s)</b></DT><DD> 11003 11004<p> 11005The Postfix SMTP client time limit for completing a TCP connection, or 11006zero (use the operating system built-in time limit). 11007</p> 11008 11009<p> 11010When no connection can be made within the deadline, the Postfix 11011SMTP client 11012tries the next address on the mail exchanger list. Specify 0 to 11013disable the time limit (i.e. use whatever timeout is implemented by 11014the operating system). 11015</p> 11016 11017<p> Specify a non-negative time value (an integral value plus an optional 11018one-letter suffix that specifies the time unit). Time units: s 11019(seconds), m (minutes), h (hours), d (days), w (weeks). 11020The default time unit is s (seconds). </p> 11021 11022 11023</DD> 11024 11025<DT><b><a name="smtp_connection_cache_destinations">smtp_connection_cache_destinations</a> 11026(default: empty)</b></DT><DD> 11027 11028<p> Permanently enable SMTP connection caching for the specified 11029destinations. With SMTP connection caching, a connection is not 11030closed immediately after completion of a mail transaction. Instead, 11031the connection is kept open for up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> 11032seconds. This allows connections to be reused for other deliveries, 11033and can improve mail delivery performance. </p> 11034 11035<p> Specify a comma or white space separated list of destinations 11036or pseudo-destinations: </p> 11037 11038<ul> 11039 11040<li> if mail is sent without a <a href="postconf.5.html#relayhost">relay host</a>: a domain name (the 11041right-hand side of an email address, without the [] around a numeric 11042IP address), 11043 11044<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 11045[] or non-default TCP port), as specified in <a href="postconf.5.html">main.cf</a> or in the 11046transport map, 11047 11048<li> if mail is sent via a UNIX-domain socket: a pathname (without 11049the unix: prefix), 11050 11051<li> a /file/name with domain names and/or <a href="postconf.5.html#relayhost">relay host</a> names as 11052defined above, 11053 11054<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 11055the left-hand side. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>" 11056lookups is ignored. 11057 11058</ul> 11059 11060<p> This feature is available in Postfix 2.2 and later. </p> 11061 11062 11063</DD> 11064 11065<DT><b><a name="smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a> 11066(default: yes)</b></DT><DD> 11067 11068<p> Temporarily enable SMTP connection caching while a destination 11069has a high volume of mail in the <a href="QSHAPE_README.html#active_queue">active queue</a>. With SMTP connection 11070caching, a connection is not closed immediately after completion 11071of a mail transaction. Instead, the connection is kept open for 11072up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> seconds. This allows 11073connections to be reused for other deliveries, and can improve mail 11074delivery performance. </p> 11075 11076<p> This feature is available in Postfix 2.2 and later. </p> 11077 11078 11079</DD> 11080 11081<DT><b><a name="smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> 11082(default: 2s)</b></DT><DD> 11083 11084<p> When SMTP connection caching is enabled, the amount of time that 11085an unused SMTP client socket is kept open before it is closed. Do 11086not specify larger values without permission from the remote sites. 11087</p> 11088 11089<p> This feature is available in Postfix 2.2 and later. </p> 11090 11091 11092</DD> 11093 11094<DT><b><a name="smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a> 11095(default: 0)</b></DT><DD> 11096 11097<p> When SMTP connection caching is enabled, the number of times 11098that an SMTP session may be reused before it is closed, or zero (no 11099limit). With a reuse count limit of N, a connection is used up to 11100N+1 times. </p> 11101 11102<p> NOTE: This feature is unsafe. When a high-volume destination 11103has multiple inbound MTAs, then the slowest inbound MTA will attract 11104the most connections to that destination. This limitation does not 11105exist with the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> feature. </p> 11106 11107<p> This feature is available in Postfix 2.11. </p> 11108 11109 11110</DD> 11111 11112<DT><b><a name="smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> 11113(default: 300s)</b></DT><DD> 11114 11115<p> The amount of time during which Postfix will use an SMTP 11116connection repeatedly. The timer starts when the connection is 11117initiated (i.e. it includes the connect, greeting and helo latency, 11118in addition to the latencies of subsequent mail delivery transactions). 11119</p> 11120 11121<p> This feature addresses a performance stability problem with 11122remote SMTP servers. This problem is not specific to Postfix: it 11123can happen when any MTA sends large amounts of SMTP email to a site 11124that has multiple MX hosts. </p> 11125 11126<p> The problem starts when one of a set of MX hosts becomes slower 11127than the rest. Even though SMTP clients connect to fast and slow 11128MX hosts with equal probability, the slow MX host ends up with more 11129simultaneous inbound connections than the faster MX hosts, because 11130the slow MX host needs more time to serve each client request. </p> 11131 11132<p> The slow MX host becomes a connection attractor. If one MX 11133host becomes N times slower than the rest, it dominates mail delivery 11134latency unless there are more than N fast MX hosts to counter the 11135effect. And if the number of MX hosts is smaller than N, the mail 11136delivery latency becomes effectively that of the slowest MX host 11137divided by the total number of MX hosts. </p> 11138 11139<p> The solution uses connection caching in a way that differs from 11140Postfix version 2.2. By limiting the amount of time during which a connection 11141can be used repeatedly (instead of limiting the number of deliveries 11142over that connection), Postfix not only restores fairness in the 11143distribution of simultaneous connections across a set of MX hosts, 11144it also favors deliveries over connections that perform well, which 11145is exactly what we want. </p> 11146 11147<p> The default reuse time limit, 300s, is comparable to the various 11148smtp transaction timeouts which are fair estimates of maximum excess 11149latency for a slow delivery. Note that hosts may accept thousands 11150of messages over a single connection within the default connection 11151reuse time limit. This number is much larger than the default Postfix 11152version 2.2 limit of 10 messages per cached connection. It may prove necessary 11153to lower the limit to avoid interoperability issues with MTAs that 11154exhibit bugs when many messages are delivered via a single connection. 11155A lower reuse time limit risks losing the benefit of connection 11156reuse when the average connection and mail delivery latency exceeds 11157the reuse time limit. </p> 11158 11159<p> This feature is available in Postfix 2.3 and later. </p> 11160 11161 11162</DD> 11163 11164<DT><b><a name="smtp_data_done_timeout">smtp_data_done_timeout</a> 11165(default: 600s)</b></DT><DD> 11166 11167<p> 11168The Postfix SMTP client time limit for sending the SMTP ".", and 11169for receiving the remote SMTP server response. 11170</p> 11171 11172<p> 11173When no response is received within the deadline, a warning is 11174logged that the mail may be delivered multiple times. 11175</p> 11176 11177<p> Specify a non-zero time value (an integral value plus an optional 11178one-letter suffix that specifies the time unit). Time units: s 11179(seconds), m (minutes), h (hours), d (days), w (weeks). 11180The default time unit is s (seconds). </p> 11181 11182 11183</DD> 11184 11185<DT><b><a name="smtp_data_init_timeout">smtp_data_init_timeout</a> 11186(default: 120s)</b></DT><DD> 11187 11188<p> 11189The Postfix SMTP client time limit for sending the SMTP DATA command, 11190and for receiving the remote SMTP server response. 11191</p> 11192 11193<p> 11194Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 11195The default time unit is s (seconds). 11196</p> 11197 11198 11199</DD> 11200 11201<DT><b><a name="smtp_data_xfer_timeout">smtp_data_xfer_timeout</a> 11202(default: 180s)</b></DT><DD> 11203 11204<p> 11205The Postfix SMTP client time limit for sending the SMTP message content. 11206When the connection makes no progress for more than $<a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a> 11207seconds the Postfix SMTP client terminates the transfer. 11208</p> 11209 11210<p> 11211Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 11212The default time unit is s (seconds). 11213</p> 11214 11215 11216</DD> 11217 11218<DT><b><a name="smtp_defer_if_no_mx_address_found">smtp_defer_if_no_mx_address_found</a> 11219(default: no)</b></DT><DD> 11220 11221<p> 11222Defer mail delivery when no MX record resolves to an IP address. 11223</p> 11224 11225<p> 11226The default (no) is to return the mail as undeliverable. With older 11227Postfix versions the default was to keep trying to deliver the mail 11228until someone fixed the MX record or until the mail was too old. 11229</p> 11230 11231<p> 11232Note: the Postfix SMTP client always ignores MX records with equal 11233or worse preference 11234than the local MTA itself. 11235</p> 11236 11237<p> 11238This feature is available in Postfix 2.1 and later. 11239</p> 11240 11241 11242</DD> 11243 11244<DT><b><a name="smtp_delivery_status_filter">smtp_delivery_status_filter</a> 11245(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD> 11246 11247<p> Optional filter for the <a href="smtp.8.html">smtp(8)</a> delivery agent to change the 11248delivery status code or explanatory text of successful or unsuccessful 11249deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p> 11250 11251<p> NOTE: This feature modifies Postfix SMTP client error or non-error 11252messages that may or may not be derived from remote SMTP server 11253responses. In contrast, the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> feature modifies 11254remote SMTP server responses only. </p> 11255 11256 11257</DD> 11258 11259<DT><b><a name="smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> 11260(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD> 11261 11262<p> The maximal number of parallel deliveries to the same destination 11263via the smtp message delivery transport. This limit is enforced by 11264the queue manager. The message delivery transport name is the first 11265field in the entry in the <a href="master.5.html">master.cf</a> file. </p> 11266 11267 11268</DD> 11269 11270<DT><b><a name="smtp_destination_recipient_limit">smtp_destination_recipient_limit</a> 11271(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD> 11272 11273<p> The maximal number of recipients per message for the smtp 11274message delivery transport. This limit is enforced by the queue 11275manager. The message delivery transport name is the first field in 11276the entry in the <a href="master.5.html">master.cf</a> file. </p> 11277 11278<p> Setting this parameter to a value of 1 changes the meaning of 11279<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> from concurrency per domain 11280into concurrency per recipient. </p> 11281 11282 11283</DD> 11284 11285<DT><b><a name="smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a> 11286(default: empty)</b></DT><DD> 11287 11288<p> Lookup tables, indexed by the remote SMTP server address, with 11289case insensitive lists of EHLO keywords (pipelining, starttls, auth, 11290etc.) that the Postfix SMTP client will ignore in the EHLO response from a 11291remote SMTP server. See <a href="postconf.5.html#smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a> for details. The 11292table is not indexed by hostname for consistency with 11293<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p> 11294 11295<p> 11296Specify zero or more "type:name" lookup tables, separated by 11297whitespace or comma. Tables will be searched in the specified order 11298until a match is found. 11299</p> 11300 11301<p> This feature is available in Postfix 2.2 and later. </p> 11302 11303 11304</DD> 11305 11306<DT><b><a name="smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a> 11307(default: empty)</b></DT><DD> 11308 11309<p> A case insensitive list of EHLO keywords (pipelining, starttls, 11310auth, etc.) that the Postfix SMTP client will ignore in the EHLO 11311response from a remote SMTP server. </p> 11312 11313<p> This feature is available in Postfix 2.2 and later. </p> 11314 11315<p> Notes: </p> 11316 11317<ul> 11318 11319<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent 11320this action from being logged. </p> 11321 11322<li> <p> Use the <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a> feature to 11323discard EHLO keywords selectively. </p> 11324 11325</ul> 11326 11327 11328</DD> 11329 11330<DT><b><a name="smtp_dns_reply_filter">smtp_dns_reply_filter</a> 11331(default: empty)</b></DT><DD> 11332 11333<p> Optional filter for Postfix SMTP client DNS lookup results. 11334Specify zero or more lookup tables. The lookup tables are searched 11335in the given order for a match with the DNS lookup result, converted 11336to the following form: </p> 11337 11338<pre> 11339 <i>name ttl class type preference value</i> 11340</pre> 11341 11342<p> The <i>class</i> field is always "IN", the <i>preference</i> 11343field exists only for MX records, the names of hosts, domains, etc. 11344end in ".", and those names are in ASCII form (xn--mumble form in 11345the case of UTF8 names). </p> 11346 11347<p> When a match is found, the table lookup result specifies an 11348action. By default, the table query and the action name are 11349case-insensitive. Currently, only the <b>IGNORE</b> action is 11350implemented. </p> 11351 11352<p> Notes: </p> 11353 11354<ul> 11355 11356<li> <p> Postfix DNS reply filters have no effect on implicit DNS 11357lookups through nsswitch.conf or equivalent mechanisms. </p> 11358 11359<li> <p> The Postfix SMTP/LMTP client uses <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> 11360and <a href="postconf.5.html#lmtp_dns_reply_filter">lmtp_dns_reply_filter</a> only to discover a remote SMTP or LMTP 11361service (record types MX, A, AAAA, and TLSA). These lookups are 11362also made to implement the features <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> and 11363<a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. </p> 11364 11365<li> <p> The Postfix SMTP/LMTP client defers mail delivery when 11366a filter removes all lookup results from a successful query. </p> 11367 11368<li> <p> Postfix SMTP server uses <a href="postconf.5.html#smtpd_dns_reply_filter">smtpd_dns_reply_filter</a> only to 11369look up MX, A, AAAA, and TXT records to implement the features 11370<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>, 11371<a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>, reject_rbl_*, and reject_rhsbl_*. 11372</p> 11373 11374<li> <p> The Postfix SMTP server logs a warning or defers mail 11375delivery when a filter removes all lookup results from a successful 11376query. </p> 11377 11378</ul> 11379 11380<p> Example: ignore Google AAAA records in Postfix SMTP client DNS 11381lookups, because Google sometimes hard-rejects mail from IPv6 clients 11382with valid PTR etc. records. </p> 11383 11384<pre> 11385/etc/postfix/<a href="postconf.5.html">main.cf</a>: 11386 <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 11387</pre> 11388 11389<pre> 11390/etc/postfix/smtp_dns_reply_filter: 11391 # /domain ttl IN AAAA address/ action, all case-insensitive. 11392 # Note: the domain name ends in ".". 11393 /^\S+\.google\.com\.\s+\S+\s+\S+\s+AAAA\s+/ IGNORE 11394</pre> 11395 11396<p> This feature is available in Postfix 3.0 and later. </p> 11397 11398 11399</DD> 11400 11401<DT><b><a name="smtp_dns_resolver_options">smtp_dns_resolver_options</a> 11402(default: empty)</b></DT><DD> 11403 11404<p> DNS Resolver options for the Postfix SMTP client. Specify zero 11405or more of the following options, separated by comma or whitespace. 11406Option names are case-sensitive. Some options refer to domain names 11407that are specified in the file /etc/resolv.conf or equivalent. </p> 11408 11409<dl> 11410 11411<dt><b>res_defnames</b></dt> 11412 11413<dd> Append the current domain name to single-component names (those 11414that do not contain a "." character). This can produce incorrect 11415results, and is the hard-coded behavior prior to Postfix 2.8. </dd> 11416 11417<dt><b>res_dnsrch</b></dt> 11418 11419<dd> Search for host names in the current domain and in parent 11420domains. This can produce incorrect results and is therefore not 11421recommended. </dd> 11422 11423</dl> 11424 11425<p> This feature is available in Postfix 2.8 and later. </p> 11426 11427 11428</DD> 11429 11430<DT><b><a name="smtp_dns_support_level">smtp_dns_support_level</a> 11431(default: empty)</b></DT><DD> 11432 11433<p> Level of DNS support in the Postfix SMTP client. With 11434"<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>" left at its empty default value, the legacy 11435"<a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a>" parameter controls whether DNS is enabled in 11436the Postfix SMTP client, otherwise the legacy parameter is ignored. 11437</p> 11438 11439<p> Specify one of the following: </p> 11440 11441<dl> 11442 11443<dt><b>disabled</b></dt> 11444 11445<dd>Disable DNS lookups. No MX lookups are performed and hostname 11446to address lookups are unconditionally "native". This setting is 11447not appropriate for hosts that deliver mail to the public Internet. 11448Some obsolete how-to documents recommend disabling DNS lookups in 11449some configurations with content_filters. This is no longer required 11450and strongly discouraged. </dd> 11451 11452<dt><b>enabled</b></dt> 11453 11454<dd>Enable DNS lookups. Nexthop destination domains not enclosed 11455in "[]" will be subject to MX lookups. If "dns" and "native" are 11456included in the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter value, DNS will be 11457queried first to resolve MX-host A records, followed by "native" 11458lookups if no answer is found in DNS. </dd> 11459 11460<dt><b>dnssec</b></dt> 11461 11462<dd>Enable <a href="https://tools.ietf.org/html/rfc4033">DNSSEC</a> 11463lookups. The "dnssec" setting differs from the "enabled" setting 11464above in the following ways: <ul> <li>Any MX lookups will set 11465RES_USE_DNSSEC and RES_USE_EDNS0 to request DNSSEC-validated 11466responses. If the MX response is DNSSEC-validated the corresponding 11467hostnames are considered validated. <li> The address lookups of 11468validated hostnames are also validated, (provided of course 11469"<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" includes "dns", see below). <li>Temporary 11470failures in DNSSEC-enabled hostname-to-address resolution block any 11471"native" lookups. Additional "native" lookups only happen when 11472DNSSEC lookups hard-fail (NODATA or NXDOMAIN). </ul> </dd> 11473 11474</dl> 11475 11476<p> The Postfix SMTP client considers non-MX "[nexthop]" and 11477"[nexthop]:port" destinations equivalent to statically-validated 11478MX records of the form "nexthop. IN MX 0 nexthop." Therefore, 11479with "dnssec" support turned on, validated hostname-to-address 11480lookups apply to the nexthop domain of any "[nexthop]" or 11481"[nexthop]:port" destination. This is also true for LMTP "inet:host" 11482and "inet:host:port" destinations, as LMTP hostnames are never 11483subject to MX lookups. </p> 11484 11485<p>The "dnssec" setting is recommended only if you plan to use the 11486<a href="TLS_README.html#client_tls_dane">dane</a> or <a 11487href="TLS_README.html#client_tls_dane">dane-only</a> TLS security 11488level, otherwise enabling DNSSEC support in Postfix offers no 11489additional security. Postfix DNSSEC support relies on an upstream 11490recursive nameserver that validates DNSSEC signatures. Such a DNS 11491server will always filter out forged DNS responses, even when Postfix 11492itself is not configured to use DNSSEC. </p> 11493 11494<p> When using Postfix DANE support the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter 11495should include "dns", as <a 11496href="https://tools.ietf.org/html/rfc7672">DANE</a> is not applicable 11497to hosts resolved via "native" lookups. </p> 11498 11499<p> As mentioned above, Postfix is not a validating <a 11500href="https://tools.ietf.org/html/rfc4035#section-4.9">stub 11501resolver</a>; it relies on the system's configured DNSSEC-validating 11502<a href="https://tools.ietf.org/html/rfc4035#section-3.2">recursive 11503nameserver</a> to perform all DNSSEC validation. Since this 11504nameserver's DNSSEC-validated responses will be fully trusted, it 11505is strongly recommended that the MTA host have a local DNSSEC-validating 11506recursive caching nameserver listening on a loopback address, and 11507be configured to use only this nameserver for all lookups. Otherwise, 11508Postfix may remain subject to man-in-the-middle attacks that forge 11509responses from the recursive nameserver</p> 11510 11511<p>DNSSEC support requires a version of Postfix compiled against a 11512reasonably-modern DNS resolver(3) library that implements the 11513RES_USE_DNSSEC and RES_USE_EDNS0 resolver options. </p> 11514 11515<p> This feature is available in Postfix 2.11 and later. </p> 11516 11517 11518</DD> 11519 11520<DT><b><a name="smtp_enforce_tls">smtp_enforce_tls</a> 11521(default: no)</b></DT><DD> 11522 11523<p> Enforcement mode: require that remote SMTP servers use TLS 11524encryption, and never send mail in the clear. This also requires 11525that the remote SMTP server hostname matches the information in 11526the remote server certificate, and that the remote SMTP server 11527certificate was issued by a CA that is trusted by the Postfix SMTP 11528client. If the certificate doesn't verify or the hostname doesn't 11529match, delivery is deferred and mail stays in the queue. </p> 11530 11531<p> The server hostname is matched against all names provided as 11532dNSNames in the SubjectAlternativeName. If no dNSNames are specified, 11533the CommonName is checked. The behavior may be changed with the 11534<a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> option. </p> 11535 11536<p> This option is useful only if you are definitely sure that you 11537will only connect to servers that support <a href="https://tools.ietf.org/html/rfc2487">RFC 2487</a> _and_ that 11538provide valid server certificates. Typical use is for clients that 11539send all their email to a dedicated mailhub. </p> 11540 11541<p> This feature is available in Postfix 2.2 and later. With 11542Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p> 11543 11544 11545</DD> 11546 11547<DT><b><a name="smtp_fallback_relay">smtp_fallback_relay</a> 11548(default: $<a href="postconf.5.html#fallback_relay">fallback_relay</a>)</b></DT><DD> 11549 11550<p> Optional list of relay destinations that will be used when an 11551SMTP destination is not found, or when delivery fails due to a 11552non-permanent error. With Postfix 2.2 and earlier this parameter 11553is called <a href="postconf.5.html#fallback_relay">fallback_relay</a>. </p> 11554 11555<p> By default, <a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a> is empty, mail is returned to 11556the sender when a destination is not found, and delivery is deferred 11557after it fails due to a non-permanent error. </p> 11558 11559<p> With bulk email deliveries, it can be beneficial to run the 11560fallback relay MTA on the same host, so that it can reuse the sender 11561IP address. This speeds up deliveries that are delayed by IP-based 11562reputation systems (greylist, etc.). </p> 11563 11564<p> The fallback relays must be SMTP destinations. Specify a domain, 11565host, host:port, [host]:port, [address] or [address]:port; the form 11566[host] turns off MX lookups. If you specify multiple SMTP 11567destinations, Postfix will try them in the specified order. </p> 11568 11569<p> To prevent mailer loops between MX hosts and fall-back hosts, 11570Postfix version 2.2 and later will not use the fallback relays for 11571destinations that it is MX host for (assuming DNS lookup is turned on). 11572</p> 11573 11574 11575</DD> 11576 11577<DT><b><a name="smtp_generic_maps">smtp_generic_maps</a> 11578(default: empty)</b></DT><DD> 11579 11580<p> Optional lookup tables that perform address rewriting in the 11581Postfix SMTP client, typically to transform a locally valid address into 11582a globally valid address when sending mail across the Internet. 11583This is needed when the local machine does not have its own Internet 11584domain name, but uses something like <i>localdomain.local</i> 11585instead. </p> 11586 11587<p> 11588Specify zero or more "type:name" lookup tables, separated by 11589whitespace or comma. Tables will be searched in the specified order 11590until a match is found. 11591</p> 11592 11593<p> The table format and lookups are documented in <a href="generic.5.html">generic(5)</a>; 11594examples are shown in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> and 11595<a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> documents. </p> 11596 11597<p> This feature is available in Postfix 2.2 and later. </p> 11598 11599 11600</DD> 11601 11602<DT><b><a name="smtp_header_checks">smtp_header_checks</a> 11603(default: empty)</b></DT><DD> 11604 11605<p> Restricted <a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP client. 11606These tables are searched while mail is being delivered. Actions 11607that change the delivery time or destination are not available. 11608</p> 11609 11610<p> This feature is available in Postfix 2.5 and later. </p> 11611 11612 11613</DD> 11614 11615<DT><b><a name="smtp_helo_name">smtp_helo_name</a> 11616(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD> 11617 11618<p> 11619The hostname to send in the SMTP HELO or EHLO command. 11620</p> 11621 11622<p> 11623The default value is the machine hostname. Specify a hostname or 11624[ip.add.re.ss]. 11625</p> 11626 11627<p> 11628This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP 11629clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific 11630client, for example: 11631</p> 11632 11633<blockquote> 11634<pre> 11635/etc/postfix/<a href="master.5.html">master.cf</a>: 11636 mysmtp ... smtp -o <a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a>=foo.bar.com 11637</pre> 11638</blockquote> 11639 11640<p> 11641This feature is available in Postfix 2.0 and later. 11642</p> 11643 11644 11645</DD> 11646 11647<DT><b><a name="smtp_helo_timeout">smtp_helo_timeout</a> 11648(default: 300s)</b></DT><DD> 11649 11650<p> 11651The Postfix SMTP client time limit for sending the HELO or EHLO command, 11652and for receiving the initial remote SMTP server response. 11653</p> 11654 11655<p> Specify a non-zero time value (an integral value plus an optional 11656one-letter suffix that specifies the time unit). Time units: s 11657(seconds), m (minutes), h (hours), d (days), w (weeks). 11658The default time unit is s (seconds). </p> 11659 11660 11661</DD> 11662 11663<DT><b><a name="smtp_host_lookup">smtp_host_lookup</a> 11664(default: dns)</b></DT><DD> 11665 11666<p> 11667What mechanisms the Postfix SMTP client uses to look up a host's 11668IP address. This parameter is ignored when DNS lookups are disabled 11669(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" 11670mechanism is always tried before "native" if both are listed. 11671</p> 11672 11673<p> 11674Specify one of the following: 11675</p> 11676 11677<dl> 11678 11679<dt><b>dns</b></dt> 11680 11681<dd>Hosts can be found in the DNS (preferred). </dd> 11682 11683<dt><b>native</b></dt> 11684 11685<dd>Use the native naming service only (nsswitch.conf, or equivalent 11686mechanism). </dd> 11687 11688<dt><b>dns, native</b></dt> 11689 11690<dd>Use the native service for hosts not found in the DNS. </dd> 11691 11692</dl> 11693 11694<p> 11695This feature is available in Postfix 2.1 and later. 11696</p> 11697 11698 11699</DD> 11700 11701<DT><b><a name="smtp_line_length_limit">smtp_line_length_limit</a> 11702(default: 998)</b></DT><DD> 11703 11704<p> 11705The maximal length of message header and body lines that Postfix 11706will send via SMTP. This limit does not include the <CR><LF> 11707at the end of each line. Longer lines are broken by inserting 11708"<CR><LF><SPACE>", to minimize the damage to MIME 11709formatted mail. Specify zero to disable this limit. 11710</p> 11711 11712<p> 11713The Postfix limit of 998 characters not including <CR><LF> 11714is consistent with the SMTP limit of 1000 characters including 11715<CR><LF>. The Postfix limit was 990 with Postfix 2.8 11716and earlier. 11717</p> 11718 11719 11720</DD> 11721 11722<DT><b><a name="smtp_mail_timeout">smtp_mail_timeout</a> 11723(default: 300s)</b></DT><DD> 11724 11725<p> 11726The Postfix SMTP client time limit for sending the MAIL FROM command, 11727and for receiving the remote SMTP server response. 11728</p> 11729 11730<p> Specify a non-zero time value (an integral value plus an optional 11731one-letter suffix that specifies the time unit). Time units: s 11732(seconds), m (minutes), h (hours), d (days), w (weeks). 11733The default time unit is s (seconds). </p> 11734 11735 11736</DD> 11737 11738<DT><b><a name="smtp_mime_header_checks">smtp_mime_header_checks</a> 11739(default: empty)</b></DT><DD> 11740 11741<p> Restricted mime_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP 11742client. These tables are searched while mail is being delivered. 11743Actions that change the delivery time or destination are not 11744available. </p> 11745 11746<p> This feature is available in Postfix 2.5 and later. </p> 11747 11748 11749</DD> 11750 11751<DT><b><a name="smtp_min_data_rate">smtp_min_data_rate</a> 11752(default: 500)</b></DT><DD> 11753 11754<p> The minimum plaintext data transfer rate in bytes/second for 11755DATA requests, when deadlines are enabled with <a href="postconf.5.html#smtp_per_request_deadline">smtp_per_request_deadline</a>. 11756After a write operation transfers N plaintext message bytes (possibly 11757after TLS encryption), and after the DATA request deadline is 11758decremented by the elapsed time of that write operation, the DATA 11759request deadline is incremented by N/smtp_min_data_rate seconds. 11760However, the deadline will never be incremented beyond the time 11761limit specified with <a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>. </p> 11762 11763<p> This feature is available in Postfix 3.7 and later. </p> 11764 11765 11766</DD> 11767 11768<DT><b><a name="smtp_mx_address_limit">smtp_mx_address_limit</a> 11769(default: 5)</b></DT><DD> 11770 11771<p> 11772The maximal number of MX (mail exchanger) IP addresses that can 11773result from Postfix SMTP client mail exchanger lookups, or zero (no 11774limit). Prior to 11775Postfix version 2.3, this limit was disabled by default. 11776</p> 11777 11778<p> 11779This feature is available in Postfix 2.1 and later. 11780</p> 11781 11782 11783</DD> 11784 11785<DT><b><a name="smtp_mx_session_limit">smtp_mx_session_limit</a> 11786(default: 2)</b></DT><DD> 11787 11788<p> The maximal number of SMTP sessions per delivery request before 11789the Postfix SMTP client 11790gives up or delivers to a fall-back <a href="postconf.5.html#relayhost">relay host</a>, or zero (no 11791limit). This restriction ignores sessions that fail to complete the 11792SMTP initial handshake (Postfix version 2.2 and earlier) or that fail to 11793complete the EHLO and TLS handshake (Postfix version 2.3 and later). </p> 11794 11795<p> This feature is available in Postfix 2.1 and later. </p> 11796 11797 11798</DD> 11799 11800<DT><b><a name="smtp_nested_header_checks">smtp_nested_header_checks</a> 11801(default: empty)</b></DT><DD> 11802 11803<p> Restricted nested_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP 11804client. These tables are searched while mail is being delivered. 11805Actions that change the delivery time or destination are not 11806available. </p> 11807 11808<p> This feature is available in Postfix 2.5 and later. </p> 11809 11810 11811</DD> 11812 11813<DT><b><a name="smtp_never_send_ehlo">smtp_never_send_ehlo</a> 11814(default: no)</b></DT><DD> 11815 11816<p> Never send EHLO at the start of an SMTP session. See also the 11817<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> parameter. </p> 11818 11819 11820</DD> 11821 11822<DT><b><a name="smtp_per_record_deadline">smtp_per_record_deadline</a> 11823(default: no)</b></DT><DD> 11824 11825<p> Change the behavior of the smtp_*_timeout time limits, from a 11826time limit per read or write system call, to a time limit to send 11827or receive a complete record (an SMTP command line, SMTP response 11828line, SMTP message content line, or TLS protocol message). This 11829limits the impact from hostile peers that trickle data one byte at 11830a time. </p> 11831 11832<p> Note: when per-record deadlines are enabled, a short timeout 11833may cause problems with TLS over very slow network connections. 11834The reasons are that a TLS protocol message can be up to 16 kbytes 11835long (with TLSv1), and that an entire TLS protocol message must be 11836sent or received within the per-record deadline. </p> 11837 11838<p> This feature is available in Postfix 2.9-3.6. With older 11839Postfix releases, the behavior is as if this parameter is set to 11840"no". Postfix 3.7 and later use <a href="postconf.5.html#smtp_per_request_deadline">smtp_per_request_deadline</a>. </p> 11841 11842 11843</DD> 11844 11845<DT><b><a name="smtp_per_request_deadline">smtp_per_request_deadline</a> 11846(default: no)</b></DT><DD> 11847 11848<p> Change the behavior of the smtp_*_timeout time limits, from a 11849time limit per plaintext or TLS read or write call, to a combined 11850time limit for sending a complete SMTP request and for receiving a 11851complete SMTP response. The deadline limits only the time spent 11852waiting for plaintext or TLS read or write calls, not time spent 11853elsewhere. The per-request deadline limits the impact from hostile 11854peers that trickle data one byte at a time. </p> 11855 11856<p> See <a href="postconf.5.html#smtp_min_data_rate">smtp_min_data_rate</a> for how the per-request deadline is 11857managed during the DATA phase. </p> 11858 11859<p> Note: when per-request deadlines are enabled, a short time limit 11860may cause problems with TLS over very slow network connections. The 11861reason is that a TLS protocol message can be up to 16 kbytes long 11862(with TLSv1), and that an entire TLS protocol message must be 11863transferred within the per-request deadline. </p> 11864 11865<p> This feature is available in Postfix 3.7 and later. A weaker 11866feature, called <a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a>, is available with Postfix 118672.9-3.6. </p> 11868 11869<p> This feature is available in Postfix 3.7 and later. </p> 11870 11871 11872</DD> 11873 11874<DT><b><a name="smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> 11875(default: 10s)</b></DT><DD> 11876 11877<p> 11878How long the Postfix SMTP client pauses before sending 11879".<CR><LF>" in order to work around the PIX firewall 11880"<CR><LF>.<CR><LF>" bug. 11881</p> 11882 11883<p> 11884Choosing too short a time makes this workaround ineffective when 11885sending large messages over slow network connections. 11886</p> 11887 11888<p> Specify a non-zero time value (an integral value plus an optional 11889one-letter suffix that specifies the time unit). Time units: s 11890(seconds), m (minutes), h (hours), d (days), w (weeks). 11891The default time unit is s (seconds). </p> 11892 11893 11894</DD> 11895 11896<DT><b><a name="smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> 11897(default: empty)</b></DT><DD> 11898 11899<p> Lookup tables, indexed by the remote SMTP server address, with 11900per-destination workarounds for CISCO PIX firewall bugs. The table 11901is not indexed by hostname for consistency with 11902<a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>. </p> 11903 11904<p> 11905Specify zero or more "type:name" lookup tables, separated by 11906whitespace or comma. Tables will be searched in the specified order 11907until a match is found. 11908</p> 11909 11910<p> This feature is available in Postfix 2.4 and later. </p> 11911 11912 11913</DD> 11914 11915<DT><b><a name="smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> 11916(default: 500s)</b></DT><DD> 11917 11918<p> How long a message must be queued before the Postfix SMTP client 11919turns on the PIX firewall "<CR><LF>.<CR><LF>" 11920bug workaround for delivery through firewalls with "smtp fixup" 11921mode turned on. </p> 11922 11923<p> Specify a non-negative time value (an integral value plus an optional 11924one-letter suffix that specifies the time unit). Time units: s 11925(seconds), m (minutes), h (hours), d (days), w (weeks). 11926The default time unit is s (seconds). </p> 11927 11928<p> 11929By default, the workaround is turned off for mail that is queued 11930for less than 500 seconds. In other words, the workaround is normally 11931turned off for the first delivery attempt. 11932</p> 11933 11934<p> 11935Specify 0 to enable the PIX firewall 11936"<CR><LF>.<CR><LF>" bug workaround upon the 11937first delivery attempt. 11938</p> 11939 11940 11941</DD> 11942 11943<DT><b><a name="smtp_pix_workarounds">smtp_pix_workarounds</a> 11944(default: disable_esmtp, delay_dotcrlf)</b></DT><DD> 11945 11946<p> A list that specifies zero or more workarounds for CISCO PIX 11947firewall bugs. These workarounds are implemented by the Postfix 11948SMTP client. Workaround names are separated by comma or space, and 11949are case insensitive. This parameter setting can be overruled with 11950per-destination <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> settings. </p> 11951 11952<dl> 11953 11954<dt><b>delay_dotcrlf</b><dd> Insert a delay before sending 11955".<CR><LF>" after the end of the message content. The 11956delay is subject to the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> and 11957<a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> parameter settings. </dd> 11958 11959<dt><b>disable_esmtp</b><dd> Disable all extended SMTP commands: 11960send HELO instead of EHLO. </dd> 11961 11962</dl> 11963 11964<p> This feature is available in Postfix 2.4 and later. The default 11965settings are backwards compatible with earlier Postfix versions. 11966</p> 11967 11968 11969</DD> 11970 11971<DT><b><a name="smtp_quit_timeout">smtp_quit_timeout</a> 11972(default: 300s)</b></DT><DD> 11973 11974<p> 11975The Postfix SMTP client time limit for sending the QUIT command, 11976and for receiving the remote SMTP server response. 11977</p> 11978 11979<p> Specify a non-zero time value (an integral value plus an optional 11980one-letter suffix that specifies the time unit). Time units: s 11981(seconds), m (minutes), h (hours), d (days), w (weeks). 11982The default time unit is s (seconds). </p> 11983 11984 11985</DD> 11986 11987<DT><b><a name="smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a> 11988(default: yes)</b></DT><DD> 11989 11990<p> 11991Quote addresses in Postfix SMTP client MAIL FROM and RCPT TO commands 11992as required 11993by <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. This includes putting quotes around an address localpart 11994that ends in ".". 11995</p> 11996 11997<p> 11998The default is to comply with <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. If you have to send mail to 11999a broken SMTP server, configure a special SMTP client in <a href="master.5.html">master.cf</a>: 12000</p> 12001 12002<blockquote> 12003<pre> 12004/etc/postfix/<a href="master.5.html">master.cf</a>: 12005 broken-smtp . . . smtp -o <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>=no 12006</pre> 12007</blockquote> 12008 12009<p> 12010and route mail for the destination in question to the "broken-smtp" 12011message delivery with a <a href="transport.5.html">transport(5)</a> table. 12012</p> 12013 12014<p> 12015This feature is available in Postfix 2.1 and later. 12016</p> 12017 12018 12019</DD> 12020 12021<DT><b><a name="smtp_randomize_addresses">smtp_randomize_addresses</a> 12022(default: yes)</b></DT><DD> 12023 12024<p> 12025Randomize the order of equal-preference MX host addresses. This 12026is a performance feature of the Postfix SMTP client. 12027</p> 12028 12029 12030</DD> 12031 12032<DT><b><a name="smtp_rcpt_timeout">smtp_rcpt_timeout</a> 12033(default: 300s)</b></DT><DD> 12034 12035<p> 12036The Postfix SMTP client time limit for sending the SMTP RCPT TO 12037command, and for receiving the remote SMTP server response. 12038</p> 12039 12040<p> Specify a non-zero time value (an integral value plus an optional 12041one-letter suffix that specifies the time unit). Time units: s 12042(seconds), m (minutes), h (hours), d (days), w (weeks). 12043The default time unit is s (seconds). </p> 12044 12045 12046</DD> 12047 12048<DT><b><a name="smtp_reply_filter">smtp_reply_filter</a> 12049(default: empty)</b></DT><DD> 12050 12051<p> A mechanism to transform replies from remote SMTP servers one 12052line at a time. This is a last-resort tool to work around server 12053replies that break interoperability with the Postfix SMTP client. 12054Other uses involve fault injection to test Postfix's handling of 12055invalid responses. </p> 12056 12057<p> Notes: </p> 12058 12059<ul> 12060 12061<li> <p> In the case of a multi-line reply, the Postfix SMTP client 12062uses the final reply line's numerical SMTP reply code and enhanced 12063status code. </p> 12064 12065<li> <p> The numerical SMTP reply code (XYZ) takes precedence over 12066the enhanced status code (X.Y.Z). When the enhanced status code 12067initial digit differs from the SMTP reply code initial digit, or 12068when no enhanced status code is present, the Postfix SMTP client 12069uses a generic enhanced status code (X.0.0) instead. </p> 12070 12071</ul> 12072 12073<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search 12074string is a single SMTP reply line as received from the remote SMTP 12075server, except that the trailing <CR><LF> are removed. 12076When the lookup succeeds, the result replaces the single SMTP reply 12077line. </p> 12078 12079<p> Examples: </p> 12080 12081<pre> 12082/etc/postfix/<a href="postconf.5.html">main.cf</a>: 12083 <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/reply_filter 12084</pre> 12085 12086<pre> 12087/etc/postfix/reply_filter: 12088 # Transform garbage into "250-filler..." so that it looks like 12089 # one line from a multi-line reply. It does not matter what we 12090 # substitute here as long it has the right syntax. The Postfix 12091 # SMTP client will use the final line's numerical SMTP reply 12092 # code and enhanced status code. 12093 !/^([2-5][0-9][0-9]($|[- ]))/ 250-filler for garbage 12094</pre> 12095 12096<p> This feature is available in Postfix 2.7. </p> 12097 12098 12099</DD> 12100 12101<DT><b><a name="smtp_rset_timeout">smtp_rset_timeout</a> 12102(default: 20s)</b></DT><DD> 12103 12104<p> The Postfix SMTP client time limit for sending the RSET command, 12105and for receiving the remote SMTP server response. The SMTP client 12106sends RSET in 12107order to finish a recipient address probe, or to verify that a 12108cached session is still usable. </p> 12109 12110<p> Specify a non-zero time value (an integral value plus an optional 12111one-letter suffix that specifies the time unit). Time units: s 12112(seconds), m (minutes), h (hours), d (days), w (weeks). 12113The default time unit is s (seconds). </p> 12114 12115<p> This feature is available in Postfix 2.1 and later. </p> 12116 12117 12118</DD> 12119 12120<DT><b><a name="smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> 12121(default: empty)</b></DT><DD> 12122 12123<p> An optional table to prevent repeated SASL authentication 12124failures with the same remote SMTP server hostname, username and 12125password. Each table (key, value) pair contains a server name, a 12126username and password, and the full server response. This information 12127is stored when a remote SMTP server rejects an authentication attempt 12128with a 535 reply code. As long as the <a href="postconf.5.html#smtp_sasl_password_maps">smtp_sasl_password_maps</a> 12129information does not change, and as long as the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> 12130information does not expire (see <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>) the 12131Postfix SMTP client avoids SASL authentication attempts with the 12132same server, username and password, and instead bounces or defers 12133mail as controlled with the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> configuration 12134parameter. </p> 12135 12136<p> Use a per-destination delivery concurrency of 1 (for example, 12137"<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> = 1", 12138"<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> = 1", etc.), otherwise multiple 12139delivery agents may experience a login failure at the same time. 12140</p> 12141 12142<p> The table must be accessed via the proxywrite service, i.e. the 12143map name must start with "<a href="proxymap.8.html">proxy</a>:". The table should be stored under 12144the directory specified with the <a href="postconf.5.html#data_directory">data_directory</a> parameter. </p> 12145 12146<p> This feature uses cryptographic hashing to protect plain-text 12147passwords, and requires that Postfix is compiled with TLS support. 12148</p> 12149 12150<p> Example: </p> 12151 12152<pre> 12153<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 12154</pre> 12155 12156<p> This feature is available in Postfix 2.5 and later. </p> 12157 12158 12159</DD> 12160 12161<DT><b><a name="smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a> 12162(default: 90d)</b></DT><DD> 12163 12164<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 12165is removed. </p> 12166 12167<p> Specify a non-negative time value (an integral value plus an optional 12168one-letter suffix that specifies the time unit). Time units: s 12169(seconds), m (minutes), h (hours), d (days), w (weeks). 12170The default time unit is d (days). </p> 12171 12172<p> This feature is available in Postfix 2.5 and later. </p> 12173 12174 12175</DD> 12176 12177<DT><b><a name="smtp_sasl_auth_enable">smtp_sasl_auth_enable</a> 12178(default: no)</b></DT><DD> 12179 12180<p> 12181Enable SASL authentication in the Postfix SMTP client. By default, 12182the Postfix SMTP client uses no authentication. 12183</p> 12184 12185<p> 12186Example: 12187</p> 12188 12189<pre> 12190<a href="postconf.5.html#smtp_sasl_auth_enable">smtp_sasl_auth_enable</a> = yes 12191</pre> 12192 12193 12194</DD> 12195 12196<DT><b><a name="smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> 12197(default: yes)</b></DT><DD> 12198 12199<p> When a remote SMTP server rejects a SASL authentication request 12200with a 535 reply code, defer mail delivery instead of returning 12201mail as undeliverable. The latter behavior was hard-coded prior to 12202Postfix version 2.5. </p> 12203 12204<p> Note: the setting "yes" overrides the global <a href="postconf.5.html#soft_bounce">soft_bounce</a> 12205parameter, but the setting "no" does not. </p> 12206 12207<p> Example: </p> 12208 12209<pre> 12210# Default as of Postfix 2.5 12211<a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = yes 12212# The old hard-coded default 12213<a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = no 12214</pre> 12215 12216<p> This feature is available in Postfix 2.5 and later. </p> 12217 12218 12219</DD> 12220 12221<DT><b><a name="smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> 12222(default: empty)</b></DT><DD> 12223 12224<p> 12225If non-empty, a Postfix SMTP client filter for the remote SMTP 12226server's list of offered SASL mechanisms. Different client and 12227server implementations may support different mechanism lists; by 12228default, the Postfix SMTP client will use the intersection of the 12229two. <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> specifies an optional third mechanism 12230list to intersect with. </p> 12231 12232<p> Specify mechanism names, "/file/name" patterns or "<a href="DATABASE_README.html">type:table</a>" 12233lookup tables. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>" lookups 12234is ignored. Specify "!pattern" to exclude a mechanism name from the 12235list. The form "!/file/name" is supported only in Postfix version 122362.4 and later. </p> 12237 12238<p> This feature is available in Postfix 2.2 and later. </p> 12239 12240<p> 12241Examples: 12242</p> 12243 12244<pre> 12245<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = plain, login 12246<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = /etc/postfix/smtp_mechs 12247<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 12248</pre> 12249 12250 12251</DD> 12252 12253<DT><b><a name="smtp_sasl_password_maps">smtp_sasl_password_maps</a> 12254(default: empty)</b></DT><DD> 12255 12256<p> 12257Optional Postfix SMTP client lookup tables with one username:password 12258entry per sender, remote hostname or next-hop domain. Per-sender 12259lookup is done only when sender-dependent authentication is enabled. 12260If no username:password entry is found, then the Postfix SMTP client 12261will not attempt to authenticate to the remote host. 12262</p> 12263 12264<p> 12265The Postfix SMTP client opens the lookup table before going to 12266chroot jail, so you can leave the password file in /etc/postfix. 12267</p> 12268 12269<p> 12270Specify zero or more "type:name" lookup tables, separated by 12271whitespace or comma. Tables will be searched in the specified order 12272until a match is found. 12273</p> 12274 12275 12276</DD> 12277 12278<DT><b><a name="smtp_sasl_path">smtp_sasl_path</a> 12279(default: empty)</b></DT><DD> 12280 12281<p> Implementation-specific information that the Postfix SMTP client 12282passes through to 12283the SASL plug-in implementation that is selected with 12284<b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>. Typically this specifies the name of a 12285configuration file or rendezvous point. </p> 12286 12287<p> This feature is available in Postfix 2.3 and later. </p> 12288 12289 12290</DD> 12291 12292<DT><b><a name="smtp_sasl_security_options">smtp_sasl_security_options</a> 12293(default: noplaintext, noanonymous)</b></DT><DD> 12294 12295<p> Postfix SMTP client SASL security options; as of Postfix 2.3 12296the list of available 12297features depends on the SASL client implementation that is selected 12298with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>. </p> 12299 12300<p> The following security features are defined for the <b>cyrus</b> 12301client SASL implementation: </p> 12302 12303<p> 12304Specify zero or more of the following: 12305</p> 12306 12307<dl> 12308 12309<dt><b>noplaintext</b></dt> 12310 12311<dd>Disallow methods that use plaintext passwords. </dd> 12312 12313<dt><b>noactive</b></dt> 12314 12315<dd>Disallow methods subject to active (non-dictionary) attack. 12316</dd> 12317 12318<dt><b>nodictionary</b></dt> 12319 12320<dd>Disallow methods subject to passive (dictionary) attack. </dd> 12321 12322<dt><b>noanonymous</b></dt> 12323 12324<dd>Disallow methods that allow anonymous authentication. </dd> 12325 12326<dt><b>mutual_auth</b></dt> 12327 12328<dd>Only allow methods that provide mutual authentication (not 12329available with SASL version 1). </dd> 12330 12331</dl> 12332 12333<p> 12334Example: 12335</p> 12336 12337<pre> 12338<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> = noplaintext 12339</pre> 12340 12341 12342</DD> 12343 12344<DT><b><a name="smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a> 12345(default: $<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a>)</b></DT><DD> 12346 12347<p> The SASL authentication security options that the Postfix SMTP 12348client uses for TLS encrypted SMTP sessions. </p> 12349 12350<p> This feature is available in Postfix 2.2 and later. </p> 12351 12352 12353</DD> 12354 12355<DT><b><a name="smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> 12356(default: $<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>)</b></DT><DD> 12357 12358<p> The SASL authentication security options that the Postfix SMTP 12359client uses for TLS encrypted SMTP sessions with a verified server 12360certificate. </p> 12361 12362<p> When mail is sent to the public MX host for the recipient's 12363domain, server certificates are by default optional, and delivery 12364proceeds even if certificate verification fails. For delivery via 12365a submission service that requires SASL authentication, it may be 12366appropriate to send plaintext passwords only when the connection 12367to the server is strongly encrypted <b>and</b> the server identity 12368is verified. </p> 12369 12370<p> The <a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> parameter makes it 12371possible to only enable plaintext mechanisms when a secure connection 12372to the server is available. Submission servers subject to this 12373policy must either have verifiable certificates or offer suitable 12374non-plaintext SASL mechanisms. </p> 12375 12376<p> This feature is available in Postfix 2.6 and later. </p> 12377 12378 12379</DD> 12380 12381<DT><b><a name="smtp_sasl_type">smtp_sasl_type</a> 12382(default: cyrus)</b></DT><DD> 12383 12384<p> The SASL plug-in type that the Postfix SMTP client should use 12385for authentication. The available types are listed with the 12386"<b>postconf -A</b>" command. </p> 12387 12388<p> This feature is available in Postfix 2.3 and later. </p> 12389 12390 12391</DD> 12392 12393<DT><b><a name="smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a> 12394(default: no)</b></DT><DD> 12395 12396<p> Whether or not to append the "AUTH=<>" option to the MAIL 12397FROM command in SASL-authenticated SMTP sessions. The default is 12398not to send this, to avoid problems with broken remote SMTP servers. 12399Before Postfix 2.9 the behavior is as if "<a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a> 12400= yes". 12401 12402<p> This feature is available in Postfix 2.9 and later. </p> 12403 12404 12405</DD> 12406 12407<DT><b><a name="smtp_send_xforward_command">smtp_send_xforward_command</a> 12408(default: no)</b></DT><DD> 12409 12410<p> 12411Send the non-standard XFORWARD command when the Postfix SMTP server 12412EHLO response announces XFORWARD support. 12413</p> 12414 12415<p> 12416This allows a Postfix SMTP delivery agent, used for injecting mail 12417into 12418a content filter, to forward the name, address, protocol and HELO 12419name of the original client to the content filter and downstream 12420queuing SMTP server. This can produce more useful logging than 12421localhost[127.0.0.1] etc. 12422</p> 12423 12424<p> 12425This feature is available in Postfix 2.1 and later. 12426</p> 12427 12428 12429</DD> 12430 12431<DT><b><a name="smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a> 12432(default: no)</b></DT><DD> 12433 12434<p> 12435Enable sender-dependent authentication in the Postfix SMTP client; this is 12436available only with SASL authentication, and disables SMTP connection 12437caching to ensure that mail from different senders will use the 12438appropriate credentials. </p> 12439 12440<p> 12441This feature is available in Postfix 2.3 and later. 12442</p> 12443 12444 12445</DD> 12446 12447<DT><b><a name="smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a> 12448(default: yes)</b></DT><DD> 12449 12450<p> 12451Skip SMTP servers that greet with a 4XX status code (go away, try 12452again later). 12453</p> 12454 12455<p> 12456By default, the Postfix SMTP client moves on the next mail exchanger. 12457Specify 12458"<a href="postconf.5.html#smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a> = no" if Postfix should defer delivery 12459immediately. 12460</p> 12461 12462<p> This feature is available in Postfix 2.0 and earlier. 12463Later Postfix versions always skip remote SMTP servers that greet 12464with a 124654XX status code. </p> 12466 12467 12468</DD> 12469 12470<DT><b><a name="smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> 12471(default: yes)</b></DT><DD> 12472 12473<p> 12474Skip remote SMTP servers that greet with a 5XX status code. 12475</p> 12476 12477<p> By default, the Postfix SMTP client moves on the next mail 12478exchanger. Specify "<a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> = no" if Postfix should 12479bounce the mail immediately. Caution: the latter behavior appears 12480to contradict <a href="https://tools.ietf.org/html/rfc2821">RFC 2821</a>. </p> 12481 12482 12483</DD> 12484 12485<DT><b><a name="smtp_skip_quit_response">smtp_skip_quit_response</a> 12486(default: yes)</b></DT><DD> 12487 12488<p> 12489Do not wait for the response to the SMTP QUIT command. 12490</p> 12491 12492 12493</DD> 12494 12495<DT><b><a name="smtp_starttls_timeout">smtp_starttls_timeout</a> 12496(default: 300s)</b></DT><DD> 12497 12498<p> Time limit for Postfix SMTP client write and read operations 12499during TLS startup and shutdown handshake procedures. </p> 12500 12501<p> Specify a non-zero time value (an integral value plus an optional 12502one-letter suffix that specifies the time unit). Time units: s 12503(seconds), m (minutes), h (hours), d (days), w (weeks). 12504The default time unit is s (seconds). </p> 12505 12506<p> This feature is available in Postfix 2.2 and later. </p> 12507 12508 12509</DD> 12510 12511<DT><b><a name="smtp_tcp_port">smtp_tcp_port</a> 12512(default: smtp)</b></DT><DD> 12513 12514<p> 12515The default TCP port that the Postfix SMTP client connects to. 12516Specify a symbolic name (see services(5)) or a numeric port. 12517</p> 12518 12519 12520</DD> 12521 12522<DT><b><a name="smtp_tls_CAfile">smtp_tls_CAfile</a> 12523(default: empty)</b></DT><DD> 12524 12525<p> A file containing CA certificates of root CAs trusted to sign 12526either remote SMTP server certificates or intermediate CA certificates. 12527These are loaded into memory before the <a href="smtp.8.html">smtp(8)</a> client enters the 12528chroot jail. If the number of trusted roots is large, consider using 12529<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> instead, but note that the latter directory must be 12530present in the chroot jail if the <a href="smtp.8.html">smtp(8)</a> client is chrooted. This 12531file may also be used to augment the client certificate trust chain, 12532but it is best to include all the required certificates directly in 12533$<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> 12534 12535<p> Specify "<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /path/to/system_CA_file" to use 12536ONLY the system-supplied default Certification Authority certificates. 12537</p> 12538 12539<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from 12540appending the system-supplied default CAs and trusting third-party 12541certificates. </p> 12542 12543<p> Example: </p> 12544 12545<pre> 12546<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /etc/postfix/CAcert.pem 12547</pre> 12548 12549<p> This feature is available in Postfix 2.2 and later. </p> 12550 12551 12552</DD> 12553 12554<DT><b><a name="smtp_tls_CApath">smtp_tls_CApath</a> 12555(default: empty)</b></DT><DD> 12556 12557<p> Directory with PEM format Certification Authority certificates 12558that the Postfix SMTP client uses to verify a remote SMTP server 12559certificate. Don't forget to create the necessary "hash" links 12560with, for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs". 12561</p> 12562 12563<p> To use this option in chroot mode, this directory (or a copy) 12564must be inside the chroot jail. </p> 12565 12566<p> Specify "<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /path/to/system_CA_directory" to 12567use ONLY the system-supplied default Certification Authority certificates. 12568</p> 12569 12570<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from 12571appending the system-supplied default CAs and trusting third-party 12572certificates. </p> 12573 12574<p> Example: </p> 12575 12576<pre> 12577<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /etc/postfix/certs 12578</pre> 12579 12580<p> This feature is available in Postfix 2.2 and later. </p> 12581 12582 12583</DD> 12584 12585<DT><b><a name="smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a> 12586(default: no)</b></DT><DD> 12587 12588<p> Try to detect a mail hijacking attack based on a TLS protocol 12589vulnerability (CVE-2009-3555), where an attacker prepends malicious 12590HELO, MAIL, RCPT, DATA commands to a Postfix SMTP client TLS session. 12591The attack would succeed with non-Postfix SMTP servers that reply 12592to the malicious HELO, MAIL, RCPT, DATA commands after negotiating 12593the Postfix SMTP client TLS session. </p> 12594 12595<p> This feature is available in Postfix 2.7. </p> 12596 12597 12598</DD> 12599 12600<DT><b><a name="smtp_tls_cert_file">smtp_tls_cert_file</a> 12601(default: empty)</b></DT><DD> 12602 12603<p> File with the Postfix SMTP client RSA certificate in PEM format. 12604This file may also contain the Postfix SMTP client private RSA key, and 12605these may be the same as the Postfix SMTP server RSA certificate and key 12606file. With Postfix ≥ 3.4 the preferred way to configure client keys 12607and certificates is via the "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p> 12608 12609<p> Do not configure client certificates unless you <b>must</b> present 12610client TLS certificates to one or more servers. Client certificates are 12611not usually needed, and can cause problems in configurations that work 12612well without them. The recommended setting is to let the defaults stand: </p> 12613 12614<blockquote> 12615<pre> 12616<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> = 12617<a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> = 12618<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> = 12619<a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> = 12620# Obsolete DSA parameters 12621<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = 12622<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> = 12623# Postfix ≥ 3.4 interface 12624<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> = 12625</pre> 12626</blockquote> 12627 12628<p> The best way to use the default settings is to comment out the above 12629parameters in <a href="postconf.5.html">main.cf</a> if present. </p> 12630 12631<p> To enable remote SMTP servers to verify the Postfix SMTP client 12632certificate, the issuing CA certificates must be made available to the 12633server. You should include the required certificates in the client 12634certificate file, the client certificate first, then the issuing 12635CA(s) (bottom-up order). </p> 12636 12637<p> Example: the certificate for "client.example.com" was issued by 12638"intermediate CA" which itself has a certificate issued by "root CA". 12639As the "root" super-user create the client.pem file with: </p> 12640 12641<blockquote> 12642<pre> 12643# <b>umask 077</b> 12644# <b>cat client_key.pem client_cert.pem intermediate_CA.pem > chain.pem </b> 12645</pre> 12646</blockquote> 12647 12648<p> If you also want to verify remote SMTP server certificates issued by 12649these CAs, you can add the CA certificates to the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>, in 12650which case it is not necessary to have them in the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>, 12651<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> 12652 12653<p> A certificate supplied here must be usable as an SSL client certificate 12654and hence pass the "openssl verify -purpose sslclient ..." test. </p> 12655 12656<p> Example: </p> 12657 12658<pre> 12659<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> = /etc/postfix/chain.pem 12660</pre> 12661 12662<p> This feature is available in Postfix 2.2 and later. </p> 12663 12664 12665</DD> 12666 12667<DT><b><a name="smtp_tls_chain_files">smtp_tls_chain_files</a> 12668(default: empty)</b></DT><DD> 12669 12670<p> List of one or more PEM files, each holding one or more private keys 12671directly followed by a corresponding certificate chain. The file names 12672are separated by commas and/or whitespace. This parameter obsoletes the 12673legacy algorithm-specific key and certificate file settings. When this 12674parameter is non-empty, the legacy parameters are ignored, and a warning 12675is logged if any are also non-empty. </p> 12676 12677<p> With the proliferation of multiple private key algorithms—which, 12678as of OpenSSL 1.1.1, include DSA (obsolete), RSA, ECDSA, Ed25519 12679and Ed448—it is increasingly impractical to use separate 12680parameters to configure the key and certificate chain for each 12681algorithm. Therefore, Postfix now supports storing multiple keys and 12682corresponding certificate chains in a single file or in a set of files. 12683 12684<p> Each key must appear <b>immediately before</b> the corresponding 12685certificate, optionally followed by additional issuer certificates that 12686complete the certificate chain for that key. When multiple files are 12687specified, they are equivalent to a single file that is concatenated 12688from those files in the given order. Thus, while a key must always 12689precede its certificate and issuer chain, it can be in a separate file, 12690so long as that file is listed immediately before the file that holds 12691the corresponding certificate chain. Once all the files are 12692concatenated, the sequence of PEM objects must be: <i>key1, cert1, 12693[chain1], key2, cert2, [chain2], ..., keyN, certN, [chainN].</i> </p> 12694 12695<p> Storing the private key in the same file as the corresponding 12696certificate is more reliable. With the key and certificate in separate 12697files, there is a chance that during key rollover a Postfix process 12698might load a private key and certificate from separate files that don't 12699match. Various operational errors may even result in a persistent 12700broken configuration in which the certificate does not match the private 12701key. </p> 12702 12703<p> The file or files must contain at most one key of each type. If, 12704for example, two or more RSA keys and corresponding chains are listed, 12705depending on the version of OpenSSL either only the last one will be 12706used or a configuration error may be detected. Note that while 12707"Ed25519" and "Ed448" are considered separate algorithms, the various 12708ECDSA curves (typically one of prime256v1, secp384r1 or secp521r1) are 12709considered as different parameters of a single "ECDSA" algorithm, so it 12710is not presently possible to configure keys for more than one ECDSA 12711curve. </p> 12712 12713<p> 12714Example (separate files for each key and corresponding certificate chain): 12715</p> 12716<blockquote> 12717<pre> 12718/etc/postfix/<a href="postconf.5.html">main.cf</a>: 12719 <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> = 12720 ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed25519.pem, 12721 ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed448.pem, 12722 ${<a href="postconf.5.html#config_directory">config_directory</a>}/rsa.pem 12723</pre> 12724</blockquote> 12725 12726<blockquote> 12727<pre> 12728/etc/postfix/ed25519.pem: 12729 -----BEGIN PRIVATE KEY----- 12730 MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3 12731 -----END PRIVATE KEY----- 12732 -----BEGIN CERTIFICATE----- 12733 MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG 12734 ... 12735 nC0egv51YPDWxEHom4QA 12736 -----END CERTIFICATE----- 12737</pre> 12738</blockquote> 12739 12740<blockquote> 12741<pre> 12742/etc/postfix/ed448.pem: 12743 -----BEGIN PRIVATE KEY----- 12744 MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe 12745 LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A== 12746 -----END PRIVATE KEY----- 12747 -----BEGIN CERTIFICATE----- 12748 MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG 12749 ... 12750 pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA 12751 -----END CERTIFICATE----- 12752</pre> 12753</blockquote> 12754 12755<blockquote> 12756<pre> 12757/etc/postfix/rsa.pem: 12758 -----BEGIN PRIVATE KEY----- 12759 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL 12760 ... 12761 ahQkZ3+krcaJvDSMgvu0tDc= 12762 -----END PRIVATE KEY----- 12763 -----BEGIN CERTIFICATE----- 12764 MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL 12765 ... 12766 Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE= 12767 -----END CERTIFICATE----- 12768</pre> 12769</blockquote> 12770 12771<p> 12772Example (all keys and certificates in a single file): 12773</p> 12774<blockquote> 12775<pre> 12776/etc/postfix/<a href="postconf.5.html">main.cf</a>: 12777 <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 12778</pre> 12779</blockquote> 12780 12781<blockquote> 12782<pre> 12783/etc/postfix/chains.pem: 12784 -----BEGIN PRIVATE KEY----- 12785 MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3 12786 -----END PRIVATE KEY----- 12787 -----BEGIN CERTIFICATE----- 12788 MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG 12789 ... 12790 nC0egv51YPDWxEHom4QA 12791 -----END CERTIFICATE----- 12792 -----BEGIN PRIVATE KEY----- 12793 MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe 12794 LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A== 12795 -----END PRIVATE KEY----- 12796 -----BEGIN CERTIFICATE----- 12797 MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG 12798 ... 12799 pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA 12800 -----END CERTIFICATE----- 12801 -----BEGIN PRIVATE KEY----- 12802 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL 12803 ... 12804 ahQkZ3+krcaJvDSMgvu0tDc= 12805 -----END PRIVATE KEY----- 12806 -----BEGIN CERTIFICATE----- 12807 MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL 12808 ... 12809 Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE= 12810 -----END CERTIFICATE----- 12811</pre> 12812</blockquote> 12813 12814<p> This feature is available in Postfix 3.4 and later. </p> 12815 12816 12817</DD> 12818 12819<DT><b><a name="smtp_tls_cipherlist">smtp_tls_cipherlist</a> 12820(default: empty)</b></DT><DD> 12821 12822<p> Obsolete Postfix < 2.3 control for the Postfix SMTP client TLS 12823cipher list. As this feature applies to all TLS security levels, it is easy 12824to create interoperability problems by choosing a non-default cipher 12825list. Do not use a non-default TLS cipher list on hosts that deliver email 12826to the public Internet: you will be unable to send email to servers that 12827only support the ciphers you exclude. Using a restricted cipher list 12828may be more appropriate for an internal MTA, where one can exert some 12829control over the TLS software and settings of the peer servers. </p> 12830 12831<p> <b>Note:</b> do not use "" quotes around the parameter value. </p> 12832 12833<p> This feature is available in Postfix version 2.2. It is not used with 12834Postfix 2.3 and later; use <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> instead. </p> 12835 12836 12837</DD> 12838 12839<DT><b><a name="smtp_tls_ciphers">smtp_tls_ciphers</a> 12840(default: medium)</b></DT><DD> 12841 12842<p> The minimum TLS cipher grade that the Postfix SMTP client 12843will use with opportunistic TLS encryption. Cipher types listed in 12844<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> are excluded from the base definition of 12845the selected cipher grade. The default value is "medium" for 12846Postfix releases after the middle of 2015, "export" for older 12847releases. </p> 12848 12849<p> When TLS is mandatory the cipher grade is chosen via the 12850<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> configuration parameter, see there for syntax 12851details. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure 12852ciphers on a per-destination basis. </p> 12853 12854<p> This feature is available in Postfix 2.6 and later. With earlier Postfix 12855releases only the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter is implemented, 12856and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p> 12857 12858 12859</DD> 12860 12861<DT><b><a name="smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> 12862(default: no)</b></DT><DD> 12863 12864<p> Try to make multiple deliveries per TLS-encrypted connection. 12865This uses the <a href="tlsproxy.8.html">tlsproxy(8)</a> service to encrypt an SMTP connection, 12866uses the <a href="scache.8.html">scache(8)</a> service to save that connection, and relies on 12867hints from the <a href="qmgr.8.html">qmgr(8)</a> daemon. </p> 12868 12869<p> See "<a href="TLS_README.html#client_tls_reuse">Client-side 12870TLS connection reuse</a>" for background details. </p> 12871 12872<p> This feature is available in Postfix 3.4 and later. </p> 12873 12874 12875</DD> 12876 12877<DT><b><a name="smtp_tls_dane_insecure_mx_policy">smtp_tls_dane_insecure_mx_policy</a> 12878(default: see "postconf -d" output)</b></DT><DD> 12879 12880<p> The TLS policy for MX hosts with "secure" TLSA records when the 12881nexthop destination security level is <b>dane</b>, but the MX 12882record was found via an "insecure" MX lookup. The choices are: 12883</p> 12884 12885<dl> 12886<dt><b>may</b></dt> 12887<dd> The TLSA records will be ignored and TLS will be optional. If 12888the MX host does not appear to support STARTTLS, or the STARTTLS 12889handshake fails, mail may be sent in the clear. </dd> 12890<dt><b>encrypt</b></dt> 12891<dd> The TLSA records will signal a requirement to use TLS. While 12892TLS encryption will be required, authentication will not be performed. 12893</dd> 12894<dt><b>dane</b></dt> 12895<dd>The TLSA records will be used just as with "secure" MX records. 12896TLS encryption will be required, and, if at least one of the TLSA 12897records is "usable", authentication will be required. When 12898authentication succeeds, it will be logged only as "Trusted", not 12899"Verified", because the MX host name could have been forged. </dd> 12900</dl> 12901 12902<p> The default setting for Postfix ≥ 3.6 is "dane" with 12903"<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = dane", otherwise "may". This behavior 12904was backported to Postfix versions 3.5.9, 3.4.19, 3.3.16. 3.2.21. 12905With earlier Postfix versions the default setting was always "dane". 12906</p> 12907 12908<p> Though with "insecure" MX records an active attacker can 12909compromise SMTP transport security by returning forged MX records, 12910such attacks are "tamper-evident" since any forged MX hostnames 12911will be recorded in the mail logs. Attackers who place a high value 12912on staying hidden may be deterred from forging MX records. </p> 12913 12914<p> 12915This feature is available in Postfix 3.1 and later. The <b>may</b> 12916policy is backwards-compatible with earlier Postfix versions. 12917</p> 12918 12919 12920</DD> 12921 12922<DT><b><a name="smtp_tls_dcert_file">smtp_tls_dcert_file</a> 12923(default: empty)</b></DT><DD> 12924 12925<p> File with the Postfix SMTP client DSA certificate in PEM format. 12926This file may also contain the Postfix SMTP client private DSA key. 12927The DSA algorithm is obsolete and should not be used. </p> 12928 12929<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details. 12930</p> 12931 12932<p> Example: </p> 12933 12934<pre> 12935<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem 12936</pre> 12937 12938<p> This feature is available in Postfix 2.2 and later. </p> 12939 12940 12941</DD> 12942 12943<DT><b><a name="smtp_tls_dkey_file">smtp_tls_dkey_file</a> 12944(default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD> 12945 12946<p> File with the Postfix SMTP client DSA private key in PEM format. 12947This file may be combined with the Postfix SMTP client DSA certificate 12948file specified with $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>. The DSA algorithm is obsolete 12949and should not be used. </p> 12950 12951<p> The private key must be accessible without a pass-phrase, i.e. it 12952must not be encrypted. File permissions should grant read-only 12953access to the system superuser account ("root"), and no access 12954to anyone else. </p> 12955 12956<p> This feature is available in Postfix 2.2 and later. </p> 12957 12958 12959</DD> 12960 12961<DT><b><a name="smtp_tls_eccert_file">smtp_tls_eccert_file</a> 12962(default: empty)</b></DT><DD> 12963 12964<p> File with the Postfix SMTP client ECDSA certificate in PEM format. 12965This file may also contain the Postfix SMTP client ECDSA private key. 12966With Postfix ≥ 3.4 the preferred way to configure client keys and 12967certificates is via the "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p> 12968 12969<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details. 12970</p> 12971 12972<p> Example: </p> 12973 12974<pre> 12975<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> = /etc/postfix/ecdsa-ccert.pem 12976</pre> 12977 12978<p> This feature is available in Postfix 2.6 and later, when Postfix is 12979compiled and linked with OpenSSL 1.0.0 or later. </p> 12980 12981 12982</DD> 12983 12984<DT><b><a name="smtp_tls_eckey_file">smtp_tls_eckey_file</a> 12985(default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD> 12986 12987<p> File with the Postfix SMTP client ECDSA private key in PEM format. 12988This file may be combined with the Postfix SMTP client ECDSA certificate 12989file specified with $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. With Postfix ≥ 3.4 the 12990preferred way to configure client keys and certificates is via the 12991"<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p> 12992 12993<p> The private key must be accessible without a pass-phrase, i.e. it 12994must not be encrypted. File permissions should grant read-only 12995access to the system superuser account ("root"), and no access 12996to anyone else. </p> 12997 12998<p> This feature is available in Postfix 2.6 and later, when Postfix is 12999compiled and linked with OpenSSL 1.0.0 or later. </p> 13000 13001 13002</DD> 13003 13004<DT><b><a name="smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> 13005(default: yes)</b></DT><DD> 13006 13007<p> With mandatory TLS encryption, require that the remote SMTP 13008server hostname matches the information in the remote SMTP server 13009certificate. As of <a href="https://tools.ietf.org/html/rfc2487">RFC 2487</a> the requirements for hostname checking 13010for MTA clients are not specified. </p> 13011 13012<p> This option can be set to "no" to disable strict peer name 13013checking. This setting has no effect on sessions that are controlled 13014via the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table. </p> 13015 13016<p> Disabling the hostname verification can make sense in a closed 13017environment where special CAs are created. If not used carefully, 13018this option opens the danger of a "man-in-the-middle" attack (the 13019CommonName of this attacker will be logged). </p> 13020 13021<p> This feature is available in Postfix 2.2 and later. With 13022Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p> 13023 13024 13025</DD> 13026 13027<DT><b><a name="smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> 13028(default: empty)</b></DT><DD> 13029 13030<p> List of ciphers or cipher types to exclude from the Postfix 13031SMTP client cipher 13032list at all TLS security levels. This is not an OpenSSL cipherlist, it is 13033a simple list separated by whitespace and/or commas. The elements are a 13034single cipher, or one or more "+" separated cipher properties, in which 13035case only ciphers matching <b>all</b> the properties are excluded. </p> 13036 13037<p> Examples (some of these will cause problems): </p> 13038 13039<blockquote> 13040<pre> 13041<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL 13042<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = MD5, DES 13043<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = DES+MD5 13044<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5 13045<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = kEDH+aRSA 13046</pre> 13047</blockquote> 13048 13049<p> The first setting disables anonymous ciphers. The next setting 13050disables ciphers that use the MD5 digest algorithm or the (single) DES 13051encryption algorithm. The next setting disables ciphers that use MD5 and 13052DES together. The next setting disables the two ciphers "AES256-SHA" 13053and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH" 13054key exchange with RSA authentication. </p> 13055 13056<p> This feature is available in Postfix 2.3 and later. </p> 13057 13058 13059</DD> 13060 13061<DT><b><a name="smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> 13062(default: empty)</b></DT><DD> 13063 13064<p> List of acceptable remote SMTP server certificate fingerprints for 13065the "fingerprint" TLS security level (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> = 13066fingerprint). At this security level, Certification Authorities are not 13067used, and certificate expiration times are ignored. Instead, server 13068certificates are verified directly via their certificate fingerprint 13069or public key fingerprint (Postfix 2.9 and later). The fingerprint 13070is a message digest of the server certificate (or public key). The 13071digest algorithm is selected via the <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> 13072parameter. </p> 13073 13074<p> The colons between each pair of nibbles in the fingerprint value 13075are optional (Postfix ≥ 3.6). These were required in earlier 13076Postfix releases. </p> 13077 13078<p> When an <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a></b> table entry specifies the 13079"fingerprint" security level, any "match" attributes in that entry specify 13080the list of valid fingerprints for the corresponding destination. Multiple 13081fingerprints can be combined with a "|" delimiter in a single match 13082attribute, or multiple match attributes can be employed. </p> 13083 13084<p> Example: Certificate fingerprint verification with internal mailhub. 13085Two matching fingerprints are listed. The <a href="postconf.5.html#relayhost">relayhost</a> may be multiple 13086physical hosts behind a load-balancer, each with its own private/public 13087key and self-signed certificate. Alternatively, a single <a href="postconf.5.html#relayhost">relayhost</a> may 13088be in the process of switching from one set of private/public keys to 13089another, and both keys are trusted just prior to the transition. </p> 13090 13091<blockquote> 13092<pre> 13093<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com] 13094<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint 13095<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = sha256 13096<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> = 13097 cd:fc:d8:db:f8:c4:82:96:6c:...:28:71:e8:f5:8d:a5:0d:9b:d4:a6 13098 dd:5c:ef:f5:c3:bc:64:25:36:...:99:36:06:ce:40:ef:de:2e:ad:a4 13099</pre> 13100</blockquote> 13101 13102<p> Example: Certificate fingerprint verification with selected destinations. 13103As in the example above, we show two matching fingerprints: </p> 13104 13105<blockquote> 13106<pre> 13107/etc/postfix/<a href="postconf.5.html">main.cf</a>: 13108 <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/tls_policy 13109 <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = sha256 13110</pre> 13111</blockquote> 13112 13113<blockquote> 13114<pre> 13115/etc/postfix/tls_policy: 13116 example.com fingerprint 13117 match=51:e9:af:2e:1e:40:1f:...:64:0a:30:35:2d:09:16:31:5a:eb:82:76 13118 match=b6:b4:72:34:e2:59:cd:...:c2:ca:63:0d:4d:cc:2c:7d:84:de:e6:2f 13119</pre> 13120</blockquote> 13121 13122<p> This feature is available in Postfix 2.5 and later. </p> 13123 13124 13125</DD> 13126 13127<DT><b><a name="smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> 13128(default: see "postconf -d" output)</b></DT><DD> 13129 13130<p> The message digest algorithm used to construct remote SMTP server 13131certificate fingerprints. At the "fingerprint" TLS security level 13132(<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> = fingerprint), the server certificate is 13133verified by directly matching its certificate fingerprint or its public 13134key fingerprint (Postfix 2.9 and later). The fingerprint is the 13135message digest of the server certificate (or its public key) 13136using the selected 13137algorithm. With a digest algorithm resistant to "second pre-image" 13138attacks, it is not feasible to create a new public key and a matching 13139certificate (or public/private key-pair) that has the same fingerprint. </p> 13140 13141<p> The default algorithm is <b>sha256</b> with Postfix ≥ 3.6 13142and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix 13143≤ 3.5, the default algorithm is <b>md5</b>. </p> 13144 13145<p> The best-practice algorithm is now <b>sha256</b>. Recent advances in hash 13146function cryptanalysis have led to md5 and sha1 being deprecated in favor of 13147sha256. However, as long as there are no known "second pre-image" attacks 13148against the older algorithms, their use in this context, though not 13149recommended, is still likely safe. </p> 13150 13151<p> While additional digest algorithms are often available with OpenSSL's 13152libcrypto, only those used by libssl in SSL cipher suites are available to 13153Postfix. You'll likely find support for md5, sha1, sha256 and sha512. </p> 13154 13155<p> To find the fingerprint of a specific certificate file, with a 13156specific digest algorithm, run: 13157</p> 13158 13159<blockquote> 13160<pre> 13161$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem 13162</pre> 13163</blockquote> 13164 13165<p> The text to the right of the "=" sign is the desired fingerprint. 13166For example: </p> 13167 13168<blockquote> 13169<pre> 13170$ openssl x509 -noout -fingerprint -sha256 -in cert.pem 13171SHA256 Fingerprint=D4:6A:AB:19:24:...:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A 13172</pre> 13173</blockquote> 13174 13175<p> To extract the public key fingerprint from an X.509 certificate, 13176you need to extract the public key from the certificate and compute 13177the appropriate digest of its DER (ASN.1) encoding. With OpenSSL 13178the "-pubkey" option of the "x509" command extracts the public 13179key always in "PEM" format. We pipe the result to another OpenSSL 13180command that converts the key to DER and then to the "dgst" command 13181to compute the fingerprint. </p> 13182 13183<p> The actual command to transform the key to DER format depends on the 13184version of OpenSSL used. As of OpenSSL 1.0.0, the "pkey" command supports 13185all key types. </p> 13186<blockquote> 13187<pre> 13188# OpenSSL ≥ 1.0 with SHA-256 fingerprints. 13189$ openssl x509 -in cert.pem -noout -pubkey | 13190 openssl pkey -pubin -outform DER | 13191 openssl dgst -sha256 -c 13192(stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:...:fc:09:1a:61:98:b5:bc:7c:60:58 13193</pre> 13194</blockquote> 13195 13196<p> The Postfix SMTP server and client log the peer (leaf) certificate 13197fingerprint and the public key fingerprint when the TLS loglevel is 2 or 13198higher. </p> 13199 13200<p> This feature is available in Postfix 2.5 and later. </p> 13201 13202 13203</DD> 13204 13205<DT><b><a name="smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a> 13206(default: no)</b></DT><DD> 13207 13208<p> Lookup the associated DANE TLSA RRset even when a hostname is 13209not an alias and its address records lie in an unsigned zone. This 13210is unlikely to ever yield DNSSEC validated results, since child 13211zones of unsigned zones are also unsigned in the absence of DLV or 13212locally configured non-root trust-anchors. We anticipate that such 13213mechanisms will not be used for just the "_tcp" subdomain of a host. 13214Suppressing the TLSA RRset lookup reduces latency and avoids potential 13215interoperability problems with nameservers for unsigned zones that 13216are not prepared to handle the new TLSA RRset. </p> 13217 13218<p> This feature is available in Postfix 2.11. </p> 13219 13220 13221</DD> 13222 13223<DT><b><a name="smtp_tls_key_file">smtp_tls_key_file</a> 13224(default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD> 13225 13226<p> File with the Postfix SMTP client RSA private key in PEM format. 13227This file may be combined with the Postfix SMTP client RSA certificate 13228file specified with $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>. With Postfix ≥ 3.4 the 13229preferred way to configure client keys and certificates is via the 13230"<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p> 13231 13232<p> The private key must be accessible without a pass-phrase, i.e. it 13233must not be encrypted. File permissions should grant read-only 13234access to the system superuser account ("root"), and no access 13235to anyone else. </p> 13236 13237<p> Example: </p> 13238 13239<pre> 13240<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> 13241</pre> 13242 13243<p> This feature is available in Postfix 2.2 and later. </p> 13244 13245 13246</DD> 13247 13248<DT><b><a name="smtp_tls_loglevel">smtp_tls_loglevel</a> 13249(default: 0)</b></DT><DD> 13250 13251<p> Enable additional Postfix SMTP client logging of TLS activity. 13252Each logging level also includes the information that is logged at 13253a lower logging level. </p> 13254 13255<dl compact> 13256 13257<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd> 13258 13259<dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion 13260— no logging of remote SMTP server certificate trust-chain 13261verification errors if server certificate verification is not required. 13262With Postfix 2.8 and earlier, log the summary message and unconditionally 13263log trust-chain verification errors. </dd> 13264 13265<dt> </dt> <dd> 2 Also log levels during TLS negotiation. </dd> 13266 13267<dt> </dt> <dd> 3 Also log the hexadecimal and ASCII dump of the 13268TLS negotiation process. </dd> 13269 13270<dt> </dt> <dd> 4 Also log the hexadecimal and ASCII dump of complete 13271transmission after STARTTLS. </dd> 13272 13273</dl> 13274 13275<p> Do not use "<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> = 2" or higher except in case of 13276problems. Use of loglevel 4 is strongly discouraged. </p> 13277 13278<p> This feature is available in Postfix 2.2 and later. </p> 13279 13280 13281</DD> 13282 13283<DT><b><a name="smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> 13284(default: medium)</b></DT><DD> 13285 13286<p> The minimum TLS cipher grade that the Postfix SMTP client will 13287use with 13288mandatory TLS encryption. The default value "medium" is suitable 13289for most destinations with which you may want to enforce TLS, and 13290is beyond the reach of today's cryptanalytic methods. See 13291<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure ciphers 13292on a per-destination basis. </p> 13293 13294<p> The following cipher grades are supported: </p> 13295 13296<dl> 13297<dt><b>high</b></dt> 13298<dd> Enable only "HIGH" grade OpenSSL ciphers. This setting may 13299be appropriate when all mandatory TLS destinations (e.g. when all 13300mail is routed to a suitably capable <a href="postconf.5.html#relayhost">relayhost</a>) support at least one 13301"HIGH" grade cipher. The underlying cipherlist is specified via the 13302<a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a> configuration parameter, which you are strongly 13303encouraged not to change. </dd> 13304 13305<dt><b>medium</b></dt> 13306<dd> Enable "MEDIUM" grade or better OpenSSL ciphers. 13307The underlying cipherlist is specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a> 13308configuration parameter, which you are strongly encouraged not to change. 13309</dd> 13310 13311<dt><b>null</b></dt> 13312<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication 13313without encryption. This setting is only appropriate in the rare case 13314that all servers are prepared to use NULL ciphers (not normally enabled 13315in TLS servers). A plausible use-case is an LMTP server listening on a 13316UNIX-domain socket that is configured to support "NULL" ciphers. The 13317underlying cipherlist is specified via the <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> 13318configuration parameter, which you are strongly encouraged not to 13319change. </dd> 13320 13321<dt><b>low</b></dt> 13322<dd> Enable "LOW" grade or stronger OpenSSL ciphers. In Postfix 13323≥ 3.8 this cipher grade is always identical to "medium". Recent 13324versions of OpenSSL do not support any "LOW" grade ciphers. In 13325earlier Postfix releases the underlying cipherlist was specified 13326via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration parameter, which you are 13327strongly encouraged not to change. This obsolete cipher grade 13328SHOULD NOT be used. </dd> 13329 13330<dt><b>export</b></dt> 13331<dd> Enable "EXPORT" grade or stronger OpenSSL ciphers. In Postfix 13332≥ 3.8 this cipher grade is always identical to "medium". Recent 13333versions of OpenSSL do not support any "EXPORT" grade ciphers. In 13334earlier Postfix releases the underlying cipherlist was specified 13335via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration parameter, which you are 13336strongly encouraged not to change. This obsolete cipher grade 13337SHOULD NOT be used. </dd> 13338 13339</dl> 13340 13341<p> The underlying cipherlists for grades other than "null" include 13342anonymous ciphers, but these are automatically filtered out if the 13343Postfix SMTP client is configured to verify server certificates. 13344You are very unlikely to need to take any steps to exclude anonymous 13345ciphers, they are excluded automatically as necessary. If you must 13346exclude anonymous ciphers at the "may" or "encrypt" security levels, 13347when the Postfix SMTP client does not need or use peer certificates, set 13348"<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only when 13349TLS is enforced, set "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> = aNULL". </p> 13350 13351<p> This feature is available in Postfix 2.3 and later. </p> 13352 13353 13354</DD> 13355 13356<DT><b><a name="smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> 13357(default: empty)</b></DT><DD> 13358 13359<p> Additional list of ciphers or cipher types to exclude from the 13360Postfix SMTP client cipher list at mandatory TLS security levels. This list 13361works in addition to the exclusions listed with <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> 13362(see there for syntax details). </p> 13363 13364<p> Starting with Postfix 2.6, the mandatory cipher exclusions can be 13365specified on a per-destination basis via the TLS policy "exclude" 13366attribute. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for notes and examples. </p> 13367 13368<p> This feature is available in Postfix 2.3 and later. </p> 13369 13370 13371</DD> 13372 13373<DT><b><a name="smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> 13374(default: see "postconf -d" output)</b></DT><DD> 13375 13376<p> TLS protocols that the Postfix SMTP client will use with mandatory 13377TLS encryption. In <a href="postconf.5.html">main.cf</a> the values are separated by whitespace, 13378commas or colons. In the policy table "protocols" attribute (see 13379<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon. An empty value 13380means allow all protocols. </p> 13381 13382<p> The valid protocol names (see SSL_get_version(3)) are "SSLv2", 13383"SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" and "TLSv1.3". Starting with 13384Postfix 3.6, the default value is ">=TLSv1", which sets TLS 1.0 as 13385the lowest supported TLS protocol version (see below). Older releases 13386use the "!" exclusion syntax, also described below. </p> 13387 13388<p> As of Postfix 3.6, the preferred way to limit the range of 13389acceptable protocols is to set a lowest acceptable TLS protocol version 13390and/or a highest acceptable TLS protocol version. To set the lower 13391bound include an element of the form: ">=<i>version</i>" where 13392<i>version</i> is a either one of the TLS protocol names listed above, 13393or a hexadecimal number corresponding to the desired TLS protocol 13394version (0301 for TLS 1.0, 0302 for TLS 1.1, etc.). For the upper 13395bound, use "<=<i>version</i>". There must be no whitespace between 13396the ">=" or "<=" symbols and the protocol name or number. </p> 13397 13398<p> Hexadecimal protocol numbers make it possible to specify protocol 13399bounds for TLS versions that are known to OpenSSL, but might not be 13400known to Postfix. They cannot be used with the legacy exclusion syntax. 13401Leading "0" or "0x" prefixes are supported, but not required. 13402Therefore, "301", "0301", "0x301" and "0x0301" are all equivalent to 13403"TLSv1". Hexadecimal versions unknown to OpenSSL will fail to set the 13404upper or lower bound, and a warning will be logged. Hexadecimal 13405versions should only be used when Postfix is linked with some future 13406version of OpenSSL that supports TLS 1.4 or later, but Postfix does not 13407yet support a symbolic name for that protocol version. </p> 13408 13409<p>Hexadecimal example (Postfix ≥ 3.6):</p> 13410<blockquote> 13411<pre> 13412# Allow only TLS 1.2 through (hypothetical) TLS 1.4, once supported 13413# in some future version of OpenSSL (presently a warning is logged). 13414<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = >=TLSv1.2, <=0305 13415# Allow only TLS 1.2 and up: 13416<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = >=0x0303 13417</pre> 13418</blockquote> 13419 13420<p> With Postfix < 3.6 there is no support for a minimum or maximum 13421version, and the protocol range is configured via protocol exclusions. 13422To require at least TLS 1.0, set "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, 13423!SSLv3". Listing the protocols to include, rather than the protocols to 13424exclude, is supported, but not recommended. The exclusion syntax more 13425accurately matches the underlying OpenSSL interface. </p> 13426 13427<p> When using the exclusion syntax, take care to ensure that the range 13428of protocols supported by the Postfix SMTP client is contiguous. When 13429a protocol version is enabled, disabling any higher version implicitly 13430disables all versions above that higher version. Thus, for example: </p> 13431 13432<blockquote> 13433<pre> 13434<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3, !TLSv1.1 13435</pre> 13436</blockquote> 13437 13438<p> also disables any protocol versions higher than TLSv1.1 leaving 13439only "TLSv1" enabled. </p> 13440 13441<p> Support for "TLSv1.3" was introduced in OpenSSL 1.1.1. Disabling 13442this protocol via "!TLSv1.3" is supported since Postfix 3.4 (or patch 13443releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2). </p> 13444 13445<p> While the vast majority of SMTP servers with DANE TLSA records now 13446support at least TLS 1.2, a few still only support TLS 1.0. If you use 13447"dane" or "dane-only" it is best not to disable TLSv1, except perhaps 13448via the policy table for destinations which you are sure will support 13449"TLSv1.2". </p> 13450 13451<p> See the documentation of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> parameter and 13452<a href="TLS_README.html">TLS_README</a> for more information about security levels. </p> 13453 13454<p> Example: </p> 13455<pre> 13456# Preferred syntax with Postfix ≥ 3.6: 13457<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = >=TLSv1.2, <=TLSv1.3 13458# Legacy syntax: 13459<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 13460</pre> 13461 13462<p> This feature is available in Postfix 2.3 and later. </p> 13463 13464 13465</DD> 13466 13467<DT><b><a name="smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a> 13468(default: no)</b></DT><DD> 13469 13470<p> Log the hostname of a remote SMTP server that offers STARTTLS, 13471when TLS is not already enabled for that server. </p> 13472 13473<p> The logfile record looks like: </p> 13474 13475<pre> 13476postfix/smtp[pid]: Host offered STARTTLS: [name.of.host] 13477</pre> 13478 13479<p> This feature is available in Postfix 2.2 and later. </p> 13480 13481 13482</DD> 13483 13484<DT><b><a name="smtp_tls_per_site">smtp_tls_per_site</a> 13485(default: empty)</b></DT><DD> 13486 13487<p> Optional lookup tables with the Postfix SMTP client TLS usage 13488policy by next-hop destination and by remote SMTP server hostname. 13489When both lookups succeed, the more specific per-site policy (NONE, 13490MUST, etc.) overrides the less specific one (MAY), and the more secure 13491per-site policy (MUST, etc.) overrides the less secure one (NONE). 13492With Postfix 2.3 and later <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> is strongly discouraged: 13493use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p> 13494 13495<p> Use of the bare hostname as the per-site table lookup key is 13496discouraged. Always use the full destination nexthop (enclosed in 13497[] with a possible ":port" suffix). A recipient domain or MX-enabled 13498transport next-hop with no port suffix may look like a bare hostname, 13499but is still a suitable <i>destination</i>. </p> 13500 13501<p> Specify a next-hop destination or server hostname on the left-hand 13502side; no wildcards are allowed. The next-hop destination is either 13503the recipient domain, or the destination specified with a <a href="transport.5.html">transport(5)</a> 13504table, the <a href="postconf.5.html#relayhost">relayhost</a> parameter, or the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter. 13505On the right hand side specify one of the following keywords: </p> 13506 13507<dl> 13508 13509<dt> NONE </dt> <dd> Don't use TLS at all. This overrides a less 13510specific <b>MAY</b> lookup result from the alternate host or next-hop 13511lookup 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>, 13512and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd> 13513 13514<dt> MAY </dt> <dd> Try to use TLS if the server announces support, 13515otherwise use an unencrypted connection. This has less precedence 13516than a more specific result (including <b>NONE</b>) from the alternate 13517host or next-hop lookup key, and has less precedence than the more 13518specific 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> 13519= yes". </dd> 13520 13521<dt> MUST_NOPEERMATCH </dt> <dd> Require TLS encryption, but do not 13522require that the remote SMTP server hostname matches the information 13523in the remote SMTP server certificate, or that the server certificate 13524was issued by a trusted CA. This overrides a less secure <b>NONE</b> 13525or a less specific <b>MAY</b> lookup result from the alternate host 13526or next-hop lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>, 13527<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> 13528 13529<dt> MUST </dt> <dd> Require TLS encryption, require that the remote 13530SMTP server hostname matches the information in the remote SMTP 13531server certificate, and require that the remote SMTP server certificate 13532was issued by a trusted CA. This overrides a less secure <b>NONE</b> 13533or <b>MUST_NOPEERMATCH</b> or a less specific <b>MAY</b> lookup 13534result from the alternate host or next-hop lookup key, and overrides 13535the 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> 13536settings. </dd> 13537 13538</dl> 13539 13540<p> The above keywords correspond to the "none", "may", "encrypt" and 13541"verify" security levels for the new <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> parameter 13542introduced in Postfix 2.3. Starting with Postfix 2.3, and independently 13543of how the policy is specified, the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and 13544<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameters apply when TLS encryption 13545is mandatory. Connections for which encryption is optional typically 13546enable all "export" grade and better ciphers (see <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> 13547and <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>). </p> 13548 13549<p> As long as no secure DNS lookup mechanism is available, false 13550hostnames in MX or CNAME responses can change the server hostname 13551that Postfix uses for TLS policy lookup and server certificate 13552verification. Even with a perfect match between the server hostname and 13553the server certificate, there is no guarantee that Postfix is connected 13554to the right server. See <a href="TLS_README.html">TLS_README</a> (Closing a DNS loophole with obsolete 13555per-site TLS policies) for a possible work-around. </p> 13556 13557<p> This feature is available in Postfix 2.2 and later. With 13558Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p> 13559 13560 13561</DD> 13562 13563<DT><b><a name="smtp_tls_policy_maps">smtp_tls_policy_maps</a> 13564(default: empty)</b></DT><DD> 13565 13566<p> Optional lookup tables with the Postfix SMTP client TLS security 13567policy by next-hop destination; when a non-empty value is specified, 13568this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter. See 13569<a href="TLS_README.html">TLS_README</a> for a more detailed discussion of TLS security levels. 13570</p> 13571 13572<p> 13573Specify zero or more "type:name" lookup tables, separated by 13574whitespace or comma. Tables will be searched in the specified order 13575until a match is found. 13576</p> 13577 13578<p> The TLS policy table is indexed by the full next-hop destination, 13579which is either the recipient domain, or the verbatim next-hop 13580specified in the transport table, $<a href="postconf.5.html#local_transport">local_transport</a>, $<a href="postconf.5.html#virtual_transport">virtual_transport</a>, 13581$<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 13582square brackets and any non-default destination server port suffix. The 13583LMTP socket type prefix (inet: or unix:) is not included in the lookup 13584key. </p> 13585 13586<p> Only the next-hop domain, or $<a href="postconf.5.html#myhostname">myhostname</a> with LMTP over UNIX-domain 13587sockets, is used as the nexthop name for certificate verification. The 13588port and any enclosing square brackets are used in the table lookup key, 13589but are not used for server name verification. </p> 13590 13591<p> When the lookup key is a domain name without enclosing square brackets 13592or any <i>:port</i> suffix (typically the recipient domain), and the full 13593domain is not found in the table, just as with the <a href="transport.5.html">transport(5)</a> table, 13594the parent domain starting with a leading "." is matched recursively. This 13595allows one to specify a security policy for a recipient domain and all 13596its sub-domains. </p> 13597 13598<p> The lookup result is a security level, followed by an optional list 13599of whitespace and/or comma separated name=value attributes that override 13600related <a href="postconf.5.html">main.cf</a> settings. The TLS security levels in order of increasing 13601security are: </p> 13602 13603<dl> 13604 13605<dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt> 13606<dd>No TLS. No additional attributes are supported at this level. </dd> 13607 13608<dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt> 13609<dd>Opportunistic TLS. Since sending in the clear is acceptable, 13610demanding stronger than default TLS security merely reduces 13611interoperability. The optional "ciphers", "exclude", and "protocols" 13612attributes (available for opportunistic TLS with Postfix ≥ 2.6) 13613and "connection_reuse" attribute (Postfix ≥ 3.4) override the 13614"<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>", 13615and 13616"<a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a>" configuration parameters. In the policy table, 13617multiple ciphers, protocols or excluded ciphers must be separated by colons, 13618as attribute values may not contain whitespace or commas. When opportunistic 13619TLS handshakes fail, Postfix retries the connection with TLS disabled. 13620This allows mail delivery to sites with non-interoperable TLS 13621implementations.</dd> 13622 13623<dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt> 13624<dd>Mandatory TLS encryption. At this level 13625and higher, the optional "protocols" attribute overrides the <a href="postconf.5.html">main.cf</a> 13626<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameter, the optional "ciphers" attribute 13627overrides 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 13628optional "exclude" attribute (Postfix ≥ 2.6) overrides the <a href="postconf.5.html">main.cf</a> 13629<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> parameter, and the optional 13630"connection_reuse" attribute (Postfix ≥ 3.4) overrides the 13631<a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. In the policy table, 13632multiple ciphers, protocols or excluded ciphers must be separated by colons, 13633as attribute values may not contain whitespace or commas. </dd> 13634 13635<dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt> 13636<dd>Opportunistic DANE TLS. The TLS policy for the destination is 13637obtained via TLSA records in DNSSEC. If no TLSA records are found, 13638the effective security level used is <a 13639href="TLS_README.html#client_tls_may">may</a>. If TLSA records are 13640found, but none are usable, the effective security level is <a 13641href="TLS_README.html#client_tls_encrypt">encrypt</a>. When usable 13642TLSA records are obtained for the remote SMTP server, the 13643server certificate must match the TLSA records. <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE) 13644TLS authentication and DNSSEC support is available with Postfix 136452.11 and later. The optional "connection_reuse" attribute (Postfix 13646≥ 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. 13647When the effective security level used is <a 13648href="TLS_README.html#client_tls_may">may</a>, the optional "ciphers", 13649"exclude", and "protocols" attributes (Postfix ≥ 2.6) override the 13650"<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>" 13651configuration parameters. 13652When the effective security level used is <a 13653href="TLS_README.html#client_tls_encrypt">encrypt</a>, the optional "ciphers", 13654"exclude", and "protocols" attributes (Postfix ≥ 2.6) override the 13655"<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 13656"<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>" configuration parameters. 13657</dd> 13658 13659<dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt> 13660<dd>Mandatory DANE TLS. The TLS policy for the destination is 13661obtained via TLSA records in DNSSEC. If no TLSA records are found, 13662or none are usable, no connection is made to the server. When 13663usable TLSA records are obtained for the remote SMTP server, the 13664server certificate must match the TLSA records. <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE) TLS 13665authentication and DNSSEC support is available with Postfix 2.11 13666and later. The optional "ciphers", "exclude", and "protocols" attributes 13667(Postfix ≥ 2.6) override the "<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>", 13668"<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>" 13669configuration parameters. The optional "connection_reuse" attribute 13670(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. 13671</dd> 13672 13673<dt><b><a href="TLS_README.html#client_tls_fprint">fingerprint</a></b></dt> 13674<dd>Certificate fingerprint 13675verification. Available with Postfix 2.5 and later. At this security 13676level, there are no trusted Certification Authorities. The certificate 13677trust chain, expiration date, ... are not checked. Instead, 13678the optional "match" attribute, or else the <a href="postconf.5.html">main.cf</a> 13679<b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> parameter, lists the certificate 13680fingerprints or the public key fingerprint (Postfix 2.9 and later) 13681of the valid server certificate. The digest 13682algorithm used to calculate the fingerprint is selected by the 13683<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Multiple fingerprints can 13684be combined with a "|" delimiter in a single match attribute, or multiple 13685match attributes can be employed. The ":" character is not used as a 13686delimiter as it occurs between each pair of fingerprint (hexadecimal) 13687digits. The optional "ciphers", "exclude", and "protocols" attributes 13688(Postfix ≥ 2.6) override the "<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>", 13689"<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>" 13690configuration parameters. The optional "connection_reuse" attribute 13691(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> 13692parameter. </dd> 13693 13694<dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt> 13695<dd>Mandatory TLS verification. At this security 13696level, DNS MX lookups are trusted to be secure enough, and the name 13697verified in the server certificate is usually obtained indirectly via 13698unauthenticated DNS MX lookups. The optional "match" attribute overrides 13699the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. In the policy table, 13700multiple match patterns and strategies must be separated by colons. 13701In practice explicit control over matching is more common with the 13702"secure" policy, described below. The optional "ciphers", "exclude", 13703and "protocols" attributes (Postfix ≥ 2.6) override the 13704"<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 13705"<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>" configuration parameters. The optional 13706"connection_reuse" attribute (Postfix ≥ 3.4) overrides the <a href="postconf.5.html">main.cf</a> 13707<a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. </dd> 13708 13709<dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt> 13710<dd>Secure-channel TLS. At this security level, DNS 13711MX lookups, though potentially used to determine the candidate next-hop 13712gateway IP addresses, are <b>not</b> trusted to be secure enough for TLS 13713peername verification. Instead, the default name verified in the server 13714certificate is obtained directly from the next-hop, or is explicitly 13715specified via the optional "match" attribute which overrides the 13716<a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> parameter. In the policy table, 13717multiple match patterns and strategies must be separated by colons. 13718The match attribute is most useful when multiple domains are supported by 13719a common server: the policy entries for additional domains specify matching 13720rules for the primary domain certificate. While transport table overrides 13721that route the secondary domains to the primary nexthop also allow secure 13722verification, they risk delivery to the wrong destination when domains 13723change hands or are re-assigned to new gateways. With the "match" 13724attribute approach, routing is not perturbed, and mail is deferred if 13725verification of a new MX host fails. The optional "ciphers", "exclude", 13726and "protocols" attributes (Postfix ≥ 2.6) override the 13727"<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 13728"<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>" configuration parameters. The optional 13729"connection_reuse" attribute (Postfix ≥ 3.4) overrides the <a href="postconf.5.html">main.cf</a> 13730<a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. </dd> 13731 13732</dl> 13733 13734<p> 13735Example: 13736</p> 13737 13738<pre> 13739/etc/postfix/<a href="postconf.5.html">main.cf</a>: 13740 <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/tls_policy 13741 # Postfix 2.5 and later. 13742 # 13743 # The default digest is sha256 with Postfix ≥ 3.6 and 13744 # compatibility level ≥ 3. 13745 # 13746 <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = sha256 13747</pre> 13748 13749<pre> 13750/etc/postfix/tls_policy: 13751 example.edu none 13752 example.mil may 13753 example.gov encrypt protocols=TLSv1 13754 example.com verify ciphers=high 13755 example.net secure 13756 .example.net secure match=.example.net:example.net 13757 [mail.example.org]:587 secure match=nexthop 13758 # Postfix 2.5 and later 13759 [thumb.example.org] fingerprint 13760 match=b6:b4:72:34:e2:59:cd:...:c2:ca:63:0d:4d:cc:2c:7d:84:de:e6:2f 13761 match=51:e9:af:2e:1e:40:1f:...:64:0a:30:35:2d:09:16:31:5a:eb:82:76 13762</pre> 13763 13764<p> <b>Note:</b> The "hostname" strategy if listed in a non-default 13765setting of <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> or in the "match" attribute 13766in the policy table can render the "secure" level vulnerable to 13767DNS forgery. Do not use the "hostname" strategy for secure-channel 13768configurations in environments where DNS security is not assured. </p> 13769 13770<p> This feature is available in Postfix 2.3 and later. </p> 13771 13772 13773</DD> 13774 13775<DT><b><a name="smtp_tls_protocols">smtp_tls_protocols</a> 13776(default: see postconf -d output)</b></DT><DD> 13777 13778<p> TLS protocols that the Postfix SMTP client will use with 13779opportunistic TLS encryption. In <a href="postconf.5.html">main.cf</a> the values are separated by 13780whitespace, commas or colons. In the policy table "protocols" attribute 13781(see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon. An empty 13782value means allow all protocols. </p> 13783 13784<p> The valid protocol names (see SSL_get_version(3)) are "SSLv2", 13785"SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" and "TLSv1.3". Starting with 13786Postfix 3.6, the default value is ">=TLSv1", which sets TLS 1.0 as 13787the lowest supported TLS protocol version (see below). Older releases 13788use the "!" exclusion syntax, also described below. </p> 13789 13790<p> As of Postfix 3.6, the preferred way to limit the range of 13791acceptable protocols is to set the lowest acceptable TLS protocol 13792version and/or the highest acceptable TLS protocol version. To set the 13793lower bound include an element of the form: ">=<i>version</i>" where 13794<i>version</i> is either one of the TLS protocol names listed above, 13795or a hexadecimal number corresponding to the desired TLS protocol 13796version (0301 for TLS 1.0, 0302 for TLS 1.1, etc.). For the upper 13797bound, use "<=<i>version</i>". There must be no whitespace between 13798the ">=" or "<=" symbols and the protocol name or number. </p> 13799 13800<p> Hexadecimal protocol numbers make it possible to specify protocol 13801bounds for TLS versions that are known to OpenSSL, but might not be 13802known to Postfix. They cannot be used with the legacy exclusion syntax. 13803Leading "0" or "0x" prefixes are supported, but not required. 13804Therefore, "301", "0301", "0x301" and "0x0301" are all equivalent to 13805"TLSv1". Hexadecimal versions unknown to OpenSSL will fail to set the 13806upper or lower bound, and a warning will be logged. Hexadecimal 13807versions should only be used when Postfix is linked with some future 13808version of OpenSSL that supports TLS 1.4 or later, but Postfix does not 13809yet support a symbolic name for that protocol version. </p> 13810 13811<p>Hexadecimal example (Postfix ≥ 3.6):</p> 13812<blockquote> 13813<pre> 13814# Allow only TLS 1.0 through (hypothetical) TLS 1.4, once supported 13815# in some future version of OpenSSL (presently a warning is logged). 13816<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = >=TLSv1, <=0305 13817# Allow only TLS 1.0 and up: 13818<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = >=0x0301 13819</pre> 13820</blockquote> 13821 13822<p> With Postfix < 3.6 there is no support for a minimum or maximum 13823version, and the protocol range is configured via protocol exclusions. 13824To require at least TLS 1.0, set "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3". 13825Listing the protocols to include, rather than protocols to exclude, is 13826supported, but not recommended. The exclusion form more accurately 13827matches the underlying OpenSSL interface. </p> 13828 13829<p> When using the exclusion syntax, take care to ensure that the range of 13830protocols advertised by an SSL/TLS client is contiguous. When a protocol 13831version is enabled, disabling any higher version implicitly disables all 13832versions above that higher version. Thus, for example: 13833</p> 13834<blockquote> 13835<pre> 13836<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3, !TLSv1.1 13837</pre> 13838</blockquote> 13839<p> also disables any protocols version higher than TLSv1.1 leaving 13840only "TLSv1" enabled. </p> 13841 13842<p> Support for "TLSv1.3" was introduced in OpenSSL 1.1.1. Disabling 13843this protocol via "!TLSv1.3" is supported since Postfix 3.4 (or patch 13844releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2). </p> 13845 13846<p> Example: </p> 13847<pre> 13848# Preferred syntax with Postfix ≥ 3.6: 13849<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = >=TLSv1, <=TLSv1.3 13850# Legacy syntax: 13851<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3 13852</pre> 13853 13854<p> This feature is available in Postfix 2.6 and later. </p> 13855 13856 13857</DD> 13858 13859<DT><b><a name="smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a> 13860(default: 9)</b></DT><DD> 13861 13862<p> The verification depth for remote SMTP server certificates. A depth 13863of 1 is sufficient if the issuing CA is listed in a local CA file. </p> 13864 13865<p> The default verification depth is 9 (the OpenSSL default) for 13866compatibility with earlier Postfix behavior. Prior to Postfix 2.5, 13867the default value was 5, but the limit was not actually enforced. If 13868you have set this to a lower non-default value, certificates with longer 13869trust chains may now fail to verify. Certificate chains with 1 or 2 13870CAs are common, deeper chains are more rare and any number between 5 13871and 9 should suffice in practice. You can choose a lower number if, 13872for example, you trust certificates directly signed by an issuing CA 13873but not any CAs it delegates to. </p> 13874 13875<p> This feature is available in Postfix 2.2 and later. </p> 13876 13877 13878</DD> 13879 13880<DT><b><a name="smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> 13881(default: nexthop, dot-nexthop)</b></DT><DD> 13882 13883<p> How the Postfix SMTP client verifies the server certificate 13884peername for the "secure" TLS security level. In a "secure" TLS policy table 13885($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute 13886overrides this <a href="postconf.5.html">main.cf</a> setting. </p> 13887 13888<p> This parameter specifies one or more patterns or strategies separated 13889by commas, whitespace or colons. In the policy table the only valid 13890separator is the colon character. </p> 13891 13892<p> For a description of the pattern and strategy syntax see the 13893<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. The "hostname" strategy should 13894be avoided in this context, as in the absence of a secure global DNS, using 13895the results of MX lookups in certificate verification is not immune to active 13896(man-in-the-middle) attacks on DNS. </p> 13897 13898<p> 13899Sample <a href="postconf.5.html">main.cf</a> setting: 13900</p> 13901 13902<blockquote> 13903<pre> 13904<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop 13905</pre> 13906</blockquote> 13907 13908<p> 13909Sample policy table override: 13910</p> 13911 13912<blockquote> 13913<pre> 13914example.net secure match=example.com:.example.com 13915.example.net secure match=example.com:.example.com 13916</pre> 13917</blockquote> 13918 13919<p> This feature is available in Postfix 2.3 and later. </p> 13920 13921 13922</DD> 13923 13924<DT><b><a name="smtp_tls_security_level">smtp_tls_security_level</a> 13925(default: empty)</b></DT><DD> 13926 13927<p> The default SMTP TLS security level for the Postfix SMTP client. 13928When a non-empty value is specified, this overrides the obsolete 13929parameters <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>; 13930when no value is specified for <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> or the obsolete 13931parameters, the default SMTP TLS security level is 13932<a href="TLS_README.html#client_tls_none">none</a>. </p> 13933 13934<p> Specify one of the following security levels: </p> 13935 13936<dl> 13937 13938<dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt> 13939<dd> No TLS. TLS will not be used unless enabled for specific 13940destinations via <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </dd> 13941 13942<dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt> 13943<dd> Opportunistic TLS. Use TLS if this is supported by the remote 13944SMTP server, otherwise use plaintext. Since 13945sending in the clear is acceptable, demanding stronger than default TLS 13946security merely reduces interoperability. 13947The "<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) 13948configuration parameters provide control over the protocols and 13949cipher grade used with opportunistic TLS. With earlier releases the 13950opportunistic TLS cipher grade is always "export" and no protocols 13951are disabled. 13952When TLS handshakes fail, the connection is retried with TLS disabled. 13953This allows mail delivery to sites with non-interoperable TLS 13954implementations. </dd> 13955 13956<dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt> 13957<dd>Mandatory TLS encryption. Since a minimum 13958level of security is intended, it is reasonable to be specific about 13959sufficiently secure protocol versions and ciphers. At this security level 13960and 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 13961<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> specify the TLS protocols and minimum 13962cipher grade which the administrator considers secure enough for 13963mandatory encrypted sessions. This security level is not an appropriate 13964default for systems delivering mail to the Internet. </dd> 13965 13966<dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt> 13967<dd>Opportunistic DANE TLS. At this security level, the TLS policy 13968for the destination is obtained via DNSSEC. For TLSA policy to be 13969in effect, the destination domain's containing DNS zone must be 13970signed and the Postfix SMTP client's operating system must be 13971configured to send its DNS queries to a recursive DNS nameserver 13972that is able to validate the signed records. Each MX host's DNS 13973zone should also be signed, and should publish DANE TLSA (<a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a>) 13974records that specify how that MX host's TLS certificate is to be 13975verified. TLSA records do not preempt the normal SMTP MX host 13976selection algorithm, if some MX hosts support TLSA and others do 13977not, TLS security will vary from delivery to delivery. It is up 13978to the domain owner to configure their MX hosts and their DNS 13979sensibly. To configure the Postfix SMTP client for DNSSEC lookups 13980see 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> 13981parameter. When DNSSEC-validated TLSA records are not found the 13982effective tls security level is "may". When TLSA records are found, 13983but are all unusable the effective security level is "encrypt". For 13984purposes of protocol and cipher selection, the "dane" security level 13985is treated like a "mandatory" TLS security level, and weak ciphers 13986and protocols are disabled. Since DANE authenticates server 13987certificates the "aNULL" cipher-suites are transparently excluded 13988at this level, no need to configure this manually. <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE) 13989TLS authentication is available with Postfix 2.11 and later. </dd> 13990 13991<dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt> 13992<dd>Mandatory DANE TLS. This is just like "dane" above, but DANE 13993TLSA authentication is required. There is no fallback to "may" or 13994"encrypt" when TLSA records are missing or unusable. <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> 13995(DANE) TLS authentication is available with Postfix 2.11 and later. 13996</dd> 13997 13998<dt><b><a href="TLS_README.html#client_tls_fprint">fingerprint</a></b></dt> 13999<dd>Certificate fingerprint verification. 14000At this security level, there are no trusted Certification Authorities. 14001The certificate trust chain, expiration date, etc., are 14002not checked. Instead, the <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> 14003parameter lists the certificate fingerprint or public key fingerprint 14004(Postfix 2.9 and later) of the valid server certificate. The digest 14005algorithm used to calculate the fingerprint is selected by the 14006<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Available with Postfix 140072.5 and later. </dd> 14008 14009<dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt> 14010<dd>Mandatory TLS verification. At this security 14011level, DNS MX lookups are trusted to be secure enough, and the name 14012verified in the server certificate is usually obtained indirectly 14013via unauthenticated DNS MX lookups. The <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> 14014parameter controls how the server name is verified. In practice explicit 14015control over matching is more common at the "secure" level, described 14016below. This security level is not an appropriate default for systems 14017delivering mail to the Internet. </dd> 14018 14019<dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt> 14020<dd>Secure-channel TLS. At this security level, 14021DNS MX lookups, though potentially used to determine the candidate 14022next-hop gateway IP addresses, are <b>not</b> trusted to be secure enough 14023for TLS peername verification. Instead, the default name verified in 14024the server certificate is obtained from the next-hop domain as specified 14025in the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> configuration parameter. The default 14026matching rule is that a server certificate matches when its name is equal 14027to or is a sub-domain of the nexthop domain. This security level is not 14028an appropriate default for systems delivering mail to the Internet. </dd> 14029 14030</dl> 14031 14032<p> 14033Examples: 14034</p> 14035 14036<pre> 14037# 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. 14038<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = none 14039</pre> 14040 14041<pre> 14042# Opportunistic TLS. 14043<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may 14044# Do not tweak opportunistic ciphers or protocols unless it is essential 14045# to do so (if a security vulnerability is found in the SSL library that 14046# can be mitigated by disabling a particular protocol or raising the 14047# cipher grade). 14048<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> = medium 14049<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = >=TLSv1 14050# Legacy (Postfix < 3.6) syntax: 14051<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3 14052</pre> 14053 14054<pre> 14055# Mandatory (high-grade) TLS encryption. 14056<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt 14057<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high 14058</pre> 14059 14060<pre> 14061# Authenticated TLS 1.2 or better matching the nexthop domain or a 14062# subdomain. 14063<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = secure 14064<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high 14065<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = >=TLSv1.2 14066<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop, dot-nexthop 14067</pre> 14068 14069<pre> 14070# Certificate fingerprint verification (Postfix ≥ 2.5). 14071# The CA-less "fingerprint" security level only scales to a limited 14072# number of destinations. As a global default rather than a per-site 14073# setting, this is practical only when mail for all recipients is sent 14074# to a central mail hub. 14075<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com] 14076<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint 14077<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = >=TLSv1.2 14078<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high 14079<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> = 14080 3D:95:34:51:...:40:99:C0:C1 14081 EC:3B:2D:B0:...:A3:9D:72:F6 14082</pre> 14083 14084<p> This feature is available in Postfix 2.3 and later. </p> 14085 14086 14087</DD> 14088 14089<DT><b><a name="smtp_tls_servername">smtp_tls_servername</a> 14090(default: empty)</b></DT><DD> 14091 14092<p> Optional name to send to the remote SMTP server in the TLS Server 14093Name Indication (SNI) extension. The SNI extension is always on when 14094DANE is used to authenticate the server, and in that case the SNI name 14095sent is the one required by <a href="https://tools.ietf.org/html/rfc7672">RFC7672</a> and this parameter is ignored. </p> 14096 14097<p> Some SMTP servers use the received SNI name to select an appropriate 14098certificate chain to present to the client. While this may improve 14099interoperability with such servers, it may reduce interoperability with 14100other servers that choose to abort the connection when they don't have a 14101certificate chain configured for the requested name. Such servers 14102should select a default certificate chain and continue the handshake, 14103but some may not. Therefore, absent DANE, no SNI name is sent by 14104default. </p> 14105 14106<p> The SNI name must be either a valid DNS hostname, or else one of the 14107special values <b>hostname</b> or <b>nexthop</b>, which select either the 14108remote hostname or the nexthop domain respectively. DNS names for SNI must be 14109in A-label (punycode) form. Invalid DNS names log a configuration error 14110warning and mail delivery is deferred. </p> 14111 14112<p> Except when using a <a href="postconf.5.html#relayhost">relayhost</a> to forward all email, the only 14113sensible non-empty <a href="postconf.5.html">main.cf</a> setting for this parameter is 14114<b>hostname</b>. Other non-empty values are only practical on a 14115per-destination basis via the <b>servername</b> attribute of the Postfix 14116TLS <a href="TLS_README.html#client_tls_policy">policy table</a>. When 14117in doubt, leave this parameter empty, and configure per-destination SNI 14118as needed. </p> 14119 14120<p> This feature is available in Postfix 3.4 and later. </p> 14121 14122 14123</DD> 14124 14125<DT><b><a name="smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> 14126(default: empty)</b></DT><DD> 14127 14128<p> Name of the file containing the optional Postfix SMTP client 14129TLS session cache. Specify a database type that supports enumeration, 14130such as <b>btree</b> or <b>sdbm</b>; there is no need to support 14131concurrent access. The file is created if it does not exist. The <a href="smtp.8.html">smtp(8)</a> 14132daemon does not use this parameter directly, rather the cache is 14133implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that 14134per-smtp-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not effective. 14135Note that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon: 14136$<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> 14137(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 14138be stored separately. It is not at this time possible to store multiple 14139caches in a single database. </p> 14140 14141<p> Note: <b>dbm</b> databases are not suitable. TLS 14142session objects are too large. </p> 14143 14144<p> As of version 2.5, Postfix no longer uses root privileges when 14145opening this file. The file should now be stored under the Postfix-owned 14146<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file 14147under a non-Postfix directory is redirected to the Postfix-owned 14148<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p> 14149 14150<p> Example: </p> 14151 14152<pre> 14153<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 14154</pre> 14155 14156<p> This feature is available in Postfix 2.2 and later. </p> 14157 14158 14159</DD> 14160 14161<DT><b><a name="smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> 14162(default: 3600s)</b></DT><DD> 14163 14164<p> The expiration time of Postfix SMTP client TLS session cache 14165information. A cache cleanup is performed periodically 14166every $<a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> seconds. As with 14167$<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>, this parameter is implemented in the 14168<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtp-instance <a href="master.5.html">master.cf</a> overrides 14169are not possible. </p> 14170 14171<p> As of Postfix 2.11 this setting cannot exceed 100 days. If set 14172≤ 0, session caching is disabled. If set to a positive value 14173less than 2 minutes, the minimum value of 2 minutes is used instead. </p> 14174 14175<p> Specify a non-zero time value (an integral value plus an optional 14176one-letter suffix that specifies the time unit). Time units: s 14177(seconds), m (minutes), h (hours), d (days), w (weeks). 14178The default time unit is s (seconds). </p> 14179 14180<p> This feature is available in Postfix 2.2 and later. </p> 14181 14182 14183</DD> 14184 14185<DT><b><a name="smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a> 14186(default: empty)</b></DT><DD> 14187 14188<p> Zero or more PEM-format files with trust-anchor certificates 14189and/or public keys. If the parameter is not empty the root CAs in 14190CAfile and CApath are no longer trusted. Rather, the Postfix SMTP 14191client will only trust certificate-chains signed by one of the 14192trust-anchors contained in the chosen files. The specified 14193trust-anchor certificates and public keys are not subject to 14194expiration, and need not be (self-signed) root CAs. They may, if 14195desired, be intermediate certificates. Therefore, these certificates 14196also may be found "in the middle" of the trust chain presented by 14197the remote SMTP server, and any untrusted issuing parent certificates 14198will be ignored. Specify a list of pathnames separated by comma 14199or whitespace. </p> 14200 14201<p> Whether specified in <a href="postconf.5.html">main.cf</a>, or on a per-destination basis, 14202the trust-anchor PEM file must be accessible to the Postfix SMTP 14203client in the chroot jail if applicable. The trust-anchor file 14204should contain only certificates and public keys, no private key 14205material, and must be readable by the non-privileged $<a href="postconf.5.html#mail_owner">mail_owner</a> 14206user. This allows destinations to be bound to a set of specific 14207CAs or public keys without trusting the same CAs for all destinations. 14208</p> 14209 14210<p> The <a href="postconf.5.html">main.cf</a> parameter supports single-purpose Postfix installations 14211that send mail to a fixed set of SMTP peers. At most sites, if 14212trust-anchor files are used at all, they will be specified on a 14213per-destination basis via the "tafile" attribute of the "verify" 14214and "secure" levels in <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </p> 14215 14216<p> The underlying mechanism is in support of <a href="https://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE TLSA), 14217which defines mechanisms for an SMTP client MTA to securely determine 14218server TLS certificates via DNS. </p> 14219 14220<p> If you want your trust anchors to be public keys, with OpenSSL 14221you can extract a single PEM public key from a PEM X.509 file 14222containing a single certificate, as follows: </p> 14223 14224<blockquote> 14225<pre> 14226$ openssl x509 -in cert.pem -out ta-key.pem -noout -pubkey 14227</pre> 14228</blockquote> 14229 14230<p> This feature is available in Postfix 2.11 and later. </p> 14231 14232 14233</DD> 14234 14235<DT><b><a name="smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> 14236(default: hostname)</b></DT><DD> 14237 14238<p> How the Postfix SMTP client verifies the server certificate 14239peername for the 14240"verify" TLS security level. In a "verify" TLS policy table 14241($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute 14242overrides this <a href="postconf.5.html">main.cf</a> setting. </p> 14243 14244<p> This parameter specifies one or more patterns or strategies separated 14245by commas, whitespace or colons. In the policy table the only valid 14246separator is the colon character. </p> 14247 14248<p> Patterns specify domain names, or domain name suffixes: </p> 14249 14250<dl> 14251 14252<dt><i>example.com</i></dt> <dd> Match the <i>example.com</i> domain, 14253i.e. one of the names in the server certificate must be <i>example.com</i>. 14254Upper and lower case distinctions are ignored. </dd> 14255 14256<dt><i>.example.com</i></dt> 14257<dd> Match subdomains of the <i>example.com</i> domain, i.e. match 14258a name in the server certificate that consists of a non-zero number of 14259labels followed by a <i>.example.com</i> suffix. Case distinctions are 14260ignored.</dd> 14261 14262</dl> 14263 14264<p> Strategies specify a transformation from the next-hop domain 14265to the expected name in the server certificate: </p> 14266 14267<dl> 14268 14269<dt>nexthop</dt> 14270<dd> Match against the next-hop domain, which is either the recipient 14271domain, or the transport next-hop configured for the domain stripped of 14272any optional socket type prefix, enclosing square brackets and trailing 14273port. When MX lookups are not suppressed, this is the original nexthop 14274domain prior to the MX lookup, not the result of the MX lookup. For 14275LMTP delivery via UNIX-domain sockets, the verified next-hop name is 14276$<a href="postconf.5.html#myhostname">myhostname</a>. This strategy is suitable for use with the "secure" 14277policy. Case is ignored.</dd> 14278 14279<dt>dot-nexthop</dt> 14280<dd> As above, but match server certificate names that are subdomains 14281of the next-hop domain. Case is ignored.</dd> 14282 14283<dt>hostname</dt> <dd> Match against the hostname of the server, often 14284obtained via an unauthenticated DNS MX lookup. For LMTP delivery via 14285UNIX-domain sockets, the verified name is $<a href="postconf.5.html#myhostname">myhostname</a>. This matches 14286the verification strategy of the "MUST" keyword in the obsolete 14287<a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table, and is suitable for use with the "verify" 14288security level. When the next-hop name is enclosed in square brackets 14289to suppress MX lookups, the "hostname" strategy is the same as the 14290"nexthop" strategy. Case is ignored.</dd> 14291 14292</dl> 14293 14294<p> 14295Sample <a href="postconf.5.html">main.cf</a> setting: 14296</p> 14297 14298<pre> 14299<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop 14300</pre> 14301 14302<p> 14303Sample policy table override: 14304</p> 14305 14306<pre> 14307example.com verify match=hostname:nexthop 14308.example.com verify match=example.com:.example.com:hostname 14309</pre> 14310 14311<p> This feature is available in Postfix 2.3 and later. </p> 14312 14313 14314</DD> 14315 14316<DT><b><a name="smtp_tls_wrappermode">smtp_tls_wrappermode</a> 14317(default: no)</b></DT><DD> 14318 14319<p> Request that the Postfix SMTP client connects using the 14320SUBMISSIONS/SMTPS protocol instead of using the STARTTLS command. </p> 14321 14322<p> This mode requires "<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt" or 14323stronger. </p> 14324 14325<p> Example: deliver all remote mail via a provider's server 14326"mail.example.com". </p> 14327 14328<pre> 14329/etc/postfix/<a href="postconf.5.html">main.cf</a>: 14330 # Client-side SMTPS requires "encrypt" or stronger. 14331 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt 14332 <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> = yes 14333 # The [] suppress MX lookups. 14334 <a href="postconf.5.html#relayhost">relayhost</a> = [mail.example.com]:465 14335</pre> 14336 14337<p> More examples are in <a href="TLS_README.html">TLS_README</a>, including examples for older 14338Postfix versions. </p> 14339 14340<p> This feature is available in Postfix 3.0 and later. </p> 14341 14342 14343</DD> 14344 14345<DT><b><a name="smtp_use_tls">smtp_use_tls</a> 14346(default: no)</b></DT><DD> 14347 14348<p> Opportunistic mode: use TLS when a remote SMTP server announces 14349STARTTLS support, otherwise send the mail in the clear. Beware: 14350some SMTP servers offer STARTTLS even if it is not configured. With 14351Postfix < 2.3, if the TLS handshake fails, and no other server is 14352available, delivery is deferred and mail stays in the queue. If this 14353is a concern for you, use the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> feature instead. </p> 14354 14355<p> This feature is available in Postfix 2.2 and later. With 14356Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p> 14357 14358 14359</DD> 14360 14361<DT><b><a name="smtp_xforward_timeout">smtp_xforward_timeout</a> 14362(default: 300s)</b></DT><DD> 14363 14364<p> 14365The Postfix SMTP client time limit for sending the XFORWARD command, 14366and for receiving the remote SMTP server response. 14367</p> 14368 14369<p> Specify a non-zero time value (an integral value plus an optional 14370one-letter suffix that specifies the time unit). Time units: s 14371(seconds), m (minutes), h (hours), d (days), w (weeks). 14372The default time unit is s (seconds). </p> 14373 14374<p> 14375This feature is available in Postfix 2.1 and later. 14376</p> 14377 14378 14379</DD> 14380 14381<DT><b><a name="smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> 14382(default: $<a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a>)</b></DT><DD> 14383 14384<p> What remote SMTP clients are allowed to specify the XVERP command. 14385This command requests that mail be delivered one recipient at a 14386time with a per recipient return address. </p> 14387 14388<p> By default, no clients are allowed to specify XVERP. </p> 14389 14390<p> This parameter was renamed with Postfix version 2.1. The default value 14391is backwards compatible with Postfix version 2.0. </p> 14392 14393<p> Specify a list of network/netmask patterns, separated by commas 14394and/or whitespace. The mask specifies the number of bits in the 14395network part of a host address. You can also specify hostnames or 14396.domain names (the initial dot causes the domain to match any name 14397below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name" 14398pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table 14399is matched when a table entry matches a lookup string (the lookup 14400result is ignored). Continue long lines by starting the next line 14401with whitespace. Specify "!pattern" to exclude an address or network 14402block from the list. The form "!/file/name" is supported only in 14403Postfix version 2.4 and later. </p> 14404 14405<p> Note: IP version 6 address information must be specified inside 14406<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> value, and in 14407files specified with "/file/name". IP version 6 addresses contain 14408the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" 14409pattern. </p> 14410 14411 14412</DD> 14413 14414<DT><b><a name="smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> 14415(default: empty)</b></DT><DD> 14416 14417<p> 14418What remote SMTP clients are allowed to use the XCLIENT feature. This 14419command overrides remote SMTP client information that is used for access 14420control. Typical use is for SMTP-based content filters, fetchmail-like 14421programs, or SMTP server access rule testing. See the <a href="XCLIENT_README.html">XCLIENT_README</a> 14422document for details. 14423</p> 14424 14425<p> 14426This feature is available in Postfix 2.1 and later. 14427</p> 14428 14429<p> 14430By default, no clients are allowed to specify XCLIENT. 14431</p> 14432 14433<p> 14434Specify a list of network/netmask patterns, separated by commas 14435and/or whitespace. The mask specifies the number of bits in the 14436network part of a host address. You can also specify hostnames or 14437.domain names (the initial dot causes the domain to match any name 14438below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name" 14439pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table 14440is matched when a table entry matches a lookup string (the lookup 14441result is ignored). Continue long lines by starting the next line 14442with whitespace. Specify "!pattern" to exclude an address or network 14443block from the list. The form "!/file/name" is supported only in 14444Postfix version 2.4 and later. </p> 14445 14446<p> Note: IP version 6 address information must be specified inside 14447<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> value, and in 14448files specified with "/file/name". IP version 6 addresses contain 14449the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" 14450pattern. </p> 14451 14452 14453</DD> 14454 14455<DT><b><a name="smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> 14456(default: empty)</b></DT><DD> 14457 14458<p> 14459What remote SMTP clients are allowed to use the XFORWARD feature. This 14460command forwards information that is used to improve logging after 14461SMTP-based content filters. See the <a href="XFORWARD_README.html">XFORWARD_README</a> document for 14462details. 14463</p> 14464 14465<p> 14466This feature is available in Postfix 2.1 and later. 14467</p> 14468 14469<p> 14470By default, no clients are allowed to specify XFORWARD. 14471</p> 14472 14473<p> 14474Specify a list of network/netmask patterns, separated by commas 14475and/or whitespace. The mask specifies the number of bits in the 14476network part of a host address. You can also specify hostnames or 14477.domain names (the initial dot causes the domain to match any name 14478below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name" 14479pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table 14480is matched when a table entry matches a lookup string (the lookup 14481result is ignored). Continue long lines by starting the next line 14482with whitespace. Specify "!pattern" to exclude an address or network 14483block from the list. The form "!/file/name" is supported only in 14484Postfix version 2.4 and later. </p> 14485 14486<p> Note: IP version 6 address information must be specified inside 14487<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> value, and in 14488files specified with "/file/name". IP version 6 addresses contain 14489the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" 14490pattern. </p> 14491 14492 14493</DD> 14494 14495<DT><b><a name="smtpd_banner">smtpd_banner</a> 14496(default: $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a>)</b></DT><DD> 14497 14498<p> 14499The text that follows the 220 status code in the SMTP greeting 14500banner. Some people like to see the mail version advertised. By 14501default, Postfix shows no version. 14502</p> 14503 14504<p> 14505You MUST specify $<a href="postconf.5.html#myhostname">myhostname</a> at the start of the text. This is 14506required by the SMTP protocol. 14507</p> 14508 14509<p> 14510Example: 14511</p> 14512 14513<pre> 14514<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>) 14515</pre> 14516 14517 14518</DD> 14519 14520<DT><b><a name="smtpd_client_auth_rate_limit">smtpd_client_auth_rate_limit</a> 14521(default: 0)</b></DT><DD> 14522 14523<p> 14524The maximal number of AUTH commands that any client is allowed to 14525send to this service per time unit, regardless of whether or not 14526Postfix actually accepts those commands. The time unit is specified 14527with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter. 14528</p> 14529 14530<p> 14531By default, there is no limit on the number of AUTH commands that a 14532client may send. 14533</p> 14534 14535<p> 14536To disable this feature, specify a limit of 0. 14537</p> 14538 14539<p> 14540WARNING: The purpose of this feature is to limit abuse. It must 14541not be used to regulate legitimate mail traffic. 14542</p> 14543 14544<p> 14545This feature is available in Postfix 3.1 and later. 14546</p> 14547 14548 14549</DD> 14550 14551<DT><b><a name="smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a> 14552(default: 50)</b></DT><DD> 14553 14554<p> 14555How many simultaneous connections any client is allowed to 14556make to this service. By default, the limit is set to half 14557the default process limit value. 14558</p> 14559 14560<p> 14561To disable this feature, specify a limit of 0. 14562</p> 14563 14564<p> 14565WARNING: The purpose of this feature is to limit abuse. It must 14566not be used to regulate legitimate mail traffic. 14567</p> 14568 14569<p> 14570This feature is available in Postfix 2.2 and later. 14571</p> 14572 14573 14574</DD> 14575 14576<DT><b><a name="smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> 14577(default: 0)</b></DT><DD> 14578 14579<p> 14580The maximal number of connection attempts any client is allowed to 14581make to this service per time unit. The time unit is specified 14582with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter. 14583</p> 14584 14585<p> 14586By default, a client can make as many connections per time unit as 14587Postfix can accept. 14588</p> 14589 14590<p> 14591To disable this feature, specify a limit of 0. 14592</p> 14593 14594<p> 14595WARNING: The purpose of this feature is to limit abuse. It must 14596not be used to regulate legitimate mail traffic. 14597</p> 14598 14599<p> 14600This feature is available in Postfix 2.2 and later. 14601</p> 14602 14603<p> 14604Example: 14605</p> 14606 14607<pre> 14608<a href="postconf.5.html#smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> = 1000 14609</pre> 14610 14611 14612</DD> 14613 14614<DT><b><a name="smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> 14615(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD> 14616 14617<p> 14618Clients that are excluded from smtpd_client_*_count/rate_limit 14619restrictions. See the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter 14620description for the parameter value syntax. 14621</p> 14622 14623<p> 14624By default, clients in trusted networks are excluded. Specify a 14625list of network blocks, hostnames or .domain names (the initial 14626dot causes the domain to match any name below it). 14627</p> 14628 14629<p> Note: IP version 6 address information must be specified inside 14630<tt>[]</tt> in the <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> value, and 14631in files specified with "/file/name". IP version 6 addresses 14632contain the ":" character, and would otherwise be confused with a 14633"<a href="DATABASE_README.html">type:table</a>" pattern. </p> 14634 14635<p> Pattern matching of domain names is controlled by the presence 14636or absence of "<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>" in the 14637<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value (Postfix 3.0 and 14638later). </p> 14639 14640<p> 14641This feature is available in Postfix 2.2 and later. 14642</p> 14643 14644 14645</DD> 14646 14647<DT><b><a name="smtpd_client_ipv4_prefix_length">smtpd_client_ipv4_prefix_length</a> 14648(default: 32)</b></DT><DD> 14649 14650<p> Aggregate smtpd_client_*_count and smtpd_client_*_rate statistics 14651by IPv4 network blocks with the specified network prefix. Aggregation 14652uses fewer <a href="anvil.8.html">anvil(8)</a> resources to maintain counters. By default, 14653aggregation is disabled for IPv4. </p> 14654 14655<p> This feature is available in Postfix 3.8 and later. </p> 14656 14657 14658</DD> 14659 14660<DT><b><a name="smtpd_client_ipv6_prefix_length">smtpd_client_ipv6_prefix_length</a> 14661(default: 84)</b></DT><DD> 14662 14663<p> Aggregate smtpd_client_*_count and smtpd_client_*_rate statistics 14664by IPv6 network blocks with the specified network prefix. Aggregation 14665uses fewer the <a href="anvil.8.html">anvil(8)</a> resources to maintain counters. By default, 14666aggregation is enabled for IPv6. </p> 14667 14668<p> This feature is available in Postfix 3.8 and later. </p> 14669 14670 14671</DD> 14672 14673<DT><b><a name="smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> 14674(default: 0)</b></DT><DD> 14675 14676<p> 14677The maximal number of message delivery requests that any client is 14678allowed to make to this service per time unit, regardless of whether 14679or not Postfix actually accepts those messages. The time unit is 14680specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter. 14681</p> 14682 14683<p> 14684By default, a client can send as many message delivery requests 14685per time unit as Postfix can accept. 14686</p> 14687 14688<p> 14689To disable this feature, specify a limit of 0. 14690</p> 14691 14692<p> 14693WARNING: The purpose of this feature is to limit abuse. It must 14694not be used to regulate legitimate mail traffic. 14695</p> 14696 14697<p> 14698This feature is available in Postfix 2.2 and later. 14699</p> 14700 14701<p> 14702Example: 14703</p> 14704 14705<pre> 14706<a href="postconf.5.html#smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> = 1000 14707</pre> 14708 14709 14710</DD> 14711 14712<DT><b><a name="smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a> 14713(default: 0)</b></DT><DD> 14714 14715<p> 14716The maximal number of new (i.e., uncached) TLS sessions that a 14717remote SMTP client is allowed to negotiate with this service per 14718time unit. The time unit is specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> 14719configuration parameter. 14720</p> 14721 14722<p> 14723By default, a remote SMTP client can negotiate as many new TLS 14724sessions per time unit as Postfix can accept. 14725</p> 14726 14727<p> 14728To disable this feature, specify a limit of 0. Otherwise, specify 14729a limit that is at least the per-client concurrent session limit, 14730or else legitimate client sessions may be rejected. 14731</p> 14732 14733<p> 14734WARNING: The purpose of this feature is to limit abuse. It must 14735not be used to regulate legitimate mail traffic. 14736</p> 14737 14738<p> 14739This feature is available in Postfix 2.3 and later. 14740</p> 14741 14742<p> 14743Example: 14744</p> 14745 14746<pre> 14747<a href="postconf.5.html#smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a> = 100 14748</pre> 14749 14750 14751</DD> 14752 14753<DT><b><a name="smtpd_client_port_logging">smtpd_client_port_logging</a> 14754(default: no)</b></DT><DD> 14755 14756<p> Enable logging of the remote SMTP client port in addition to 14757the hostname and IP address. The logging format is "host[address]:port". 14758</p> 14759 14760<p> This feature is available in Postfix 2.5 and later. </p> 14761 14762 14763</DD> 14764 14765<DT><b><a name="smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> 14766(default: 0)</b></DT><DD> 14767 14768<p> 14769The maximal number of recipient addresses that any client is allowed 14770to send to this service per time unit, regardless of whether or not 14771Postfix actually accepts those recipients. The time unit is specified 14772with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter. 14773</p> 14774 14775<p> 14776By default, a client can send as many recipient addresses per time 14777unit as Postfix can accept. 14778</p> 14779 14780<p> 14781To disable this feature, specify a limit of 0. 14782</p> 14783 14784<p> 14785WARNING: The purpose of this feature is to limit abuse. It must 14786not be used to regulate legitimate mail traffic. 14787</p> 14788 14789<p> 14790This feature is available in Postfix 2.2 and later. 14791</p> 14792 14793<p> 14794Example: 14795</p> 14796 14797<pre> 14798<a href="postconf.5.html#smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> = 1000 14799</pre> 14800 14801 14802</DD> 14803 14804<DT><b><a name="smtpd_client_restrictions">smtpd_client_restrictions</a> 14805(default: empty)</b></DT><DD> 14806 14807<p> 14808Optional restrictions that the Postfix SMTP server applies in the 14809context of a client connection request. 14810See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 14811restriction lists" for a discussion of evaluation context and time. 14812</p> 14813 14814<p> 14815The default is to allow all connection requests. 14816</p> 14817 14818<p> 14819Specify a list of restrictions, separated by commas and/or whitespace. 14820Continue long lines by starting the next line with whitespace. 14821Restrictions are applied in the order as specified; the first 14822restriction that matches wins. 14823</p> 14824 14825<p> 14826The following restrictions are specific to client hostname or 14827client network address information. 14828</p> 14829 14830<dl> 14831 14832<dt><b><a name="check_ccert_access">check_ccert_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14833 14834<dd> By default use the remote SMTP client certificate fingerprint 14835or the public key 14836fingerprint (Postfix 2.9 and later) as the lookup key for the specified 14837<a href="access.5.html">access(5)</a> database; with Postfix version 2.2, also require that the 14838remote SMTP client certificate is verified successfully. 14839The fingerprint digest algorithm is configurable via the 14840<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to 14841Postfix version 2.5). This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> 14842= yes" and is available with Postfix version 148432.2 and later. </dd> 14844 14845<dd> The default algorithm is <b>sha256</b> with Postfix ≥ 3.6 14846and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix 14847≤ 3.5, the default algorithm is <b>md5</b>. The best-practice 14848algorithm is now <b>sha256</b>. Recent advances in hash function 14849cryptanalysis have led to md5 and sha1 being deprecated in favor of 14850sha256. However, as long as there are no known "second pre-image" 14851attacks against the older algorithms, their use in this context, though 14852not recommended, is still likely safe. </dd> 14853 14854<dd> Alternatively, <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> accepts an explicit search 14855order (Postfix 3.5 and later). The default search order as described 14856above corresponds with: </dd> 14857 14858<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, 14859pubkey_fingerprint } } </dd> 14860 14861<dd> The commas are optional. </dd> 14862 14863<dt><b><a name="check_client_access">check_client_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14864 14865<dd>Search the specified access database for the client hostname, 14866parent domains, client IP address, or networks obtained by stripping 14867least significant octets. See the <a href="access.5.html">access(5)</a> manual page for details. </dd> 14868 14869<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> 14870 14871<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the 14872client hostname, and execute the corresponding action. Note: a result 14873of "OK" is not allowed for safety reasons. Instead, use DUNNO in order 14874to exclude specific hosts from denylists. This feature is available 14875in Postfix 3.0 and later. </dd> 14876 14877<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> 14878 14879<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the 14880client hostname, and execute the corresponding action. If no MX 14881record is found, look up A or AAAA records, just like the Postfix 14882SMTP client would. Note: a result 14883of "OK" is not allowed for safety reasons. Instead, use DUNNO in order 14884to exclude specific hosts from denylists. This feature is available 14885in Postfix 2.7 and later. </dd> 14886 14887<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> 14888 14889<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for 14890the client hostname, and execute the corresponding action. Note: a 14891result of "OK" is not allowed for safety reasons. Instead, use DUNNO 14892in order to exclude specific hosts from denylists. This feature is 14893available in Postfix 2.7 and later. </dd> 14894 14895<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> 14896 14897<dd>Search the specified access database for the unverified reverse 14898client hostname, parent domains, client IP address, or networks 14899obtained by stripping least significant octets. See the <a href="access.5.html">access(5)</a> 14900manual page for details. Note: a result of "OK" is not allowed for 14901safety reasons. Instead, use DUNNO in order to exclude specific 14902hosts from denylists. This feature is available in Postfix 2.6 14903and later.</dd> 14904 14905<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> 14906 14907<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the 14908unverified reverse client hostname, and execute the corresponding 14909action. Note: a result of "OK" is not allowed for safety reasons. 14910Instead, use DUNNO in order to exclude specific hosts from denylists. 14911This feature is available in Postfix 3.0 and later. </dd> 14912 14913<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> 14914 14915<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the 14916unverified reverse client hostname, and execute the corresponding 14917action. If no MX record is found, look up A or AAAA records, just 14918like the Postfix SMTP client would. 14919Note: a result of "OK" is not allowed for safety reasons. 14920Instead, use DUNNO in order to exclude specific hosts from denylists. 14921This feature is available in Postfix 2.7 and later. </dd> 14922 14923<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> 14924 14925<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for 14926the unverified reverse client hostname, and execute the corresponding 14927action. Note: a result of "OK" is not allowed for safety reasons. 14928Instead, use DUNNO in order to exclude specific hosts from denylists. 14929This feature is available in Postfix 2.7 and later. </dd> 14930 14931<dt><b><a name="check_sasl_access">check_sasl_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14932 14933<dd> Use the remote SMTP client SASL user name as the lookup key for 14934the specified <a href="access.5.html">access(5)</a> database. The lookup key has the form 14935"username@domainname" when the <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> parameter 14936value is non-empty. Unlike the <a href="postconf.5.html#check_client_access">check_client_access</a> feature, 14937<a href="postconf.5.html#check_sasl_access">check_sasl_access</a> does not perform matches of parent domains or IP 14938subnet ranges. This feature is available with Postfix version 2.11 14939and later. </dd> 14940 14941<dt><b><a name="permit_inet_interfaces">permit_inet_interfaces</a></b></dt> 14942 14943<dd>Permit the request when the client IP address matches 14944$<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. </dd> 14945 14946<dt><b><a name="permit_mynetworks">permit_mynetworks</a></b></dt> 14947 14948<dd>Permit the request when the client IP address matches any 14949network or network address listed in $<a href="postconf.5.html#mynetworks">mynetworks</a>. </dd> 14950 14951<dt><b><a name="permit_sasl_authenticated">permit_sasl_authenticated</a></b></dt> 14952 14953<dd> Permit the request when the client is successfully 14954authenticated via the <a href="https://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH) protocol. </dd> 14955 14956<dt><b><a name="permit_tls_all_clientcerts">permit_tls_all_clientcerts</a></b></dt> 14957 14958<dd> Permit the request when the remote SMTP client certificate is 14959verified successfully. This option must be used only if a special 14960CA issues the certificates and only this CA is listed as a trusted 14961CA. Otherwise, clients with a third-party certificate would also 14962be allowed to relay. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" when the 14963trusted 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>, 14964to prevent Postfix from appending the system-supplied default CAs. 14965This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes" and is available 14966with Postfix version 2.2 and later.</dd> 14967 14968<dt><b><a name="permit_tls_clientcerts">permit_tls_clientcerts</a></b></dt> 14969 14970<dd>Permit the request when the remote SMTP client certificate 14971fingerprint or public key fingerprint (Postfix 2.9 and later) is 14972listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>. 14973The fingerprint digest algorithm is configurable via the 14974<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to 14975Postfix version 2.5). This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> 14976= yes" and is available with Postfix version 2.2 and later.</dd> 14977 14978<dd> The default algorithm is <b>sha256</b> with Postfix ≥ 3.6 14979and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix 14980≤ 3.5, the default algorithm is <b>md5</b>. The best-practice 14981algorithm is now <b>sha256</b>. Recent advances in hash function 14982cryptanalysis have led to md5 and sha1 being deprecated in favor of 14983sha256. However, as long as there are no known "second pre-image" 14984attacks against the older algorithms, their use in this context, though 14985not recommended, is still likely safe. </dd> 14986 14987<dt><b><a name="reject_rbl_client">reject_rbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt> 14988 14989<dd>Reject the request when the reversed client network address is 14990listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> 14991(Postfix version 2.1 and later only). Each "<i>d</i>" is a number, 14992or a pattern inside "[]" that contains one or more ";"-separated 14993numbers or number..number ranges (Postfix version 2.8 and later). 14994If no "<i>=d.d.d.d</i>" is specified, reject the request when the 14995reversed client network address is listed with any A record under 14996<i>rbl_domain</i>. <br> 14997The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for 14998rejected requests (default: 554), the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter 14999specifies the default server reply, and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter 15000specifies tables with server replies indexed by <i>rbl_domain</i>. 15001This feature is available in Postfix 2.0 and later. </dd> 15002 15003<dt><b><a name="permit_dnswl_client">permit_dnswl_client <i>dnswl_domain=d.d.d.d</i></a></b></dt> 15004 15005<dd>Accept the request when the reversed client network address is 15006listed with the A record "<i>d.d.d.d</i>" under <i>dnswl_domain</i>. 15007Each "<i>d</i>" is a number, or a pattern inside "[]" that contains 15008one or more ";"-separated numbers or number..number ranges. 15009If no "<i>=d.d.d.d</i>" is specified, accept the request when the 15010reversed client network address is listed with any A record under 15011<i>dnswl_domain</i>. <br> For safety, <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a> is silently 15012ignored when it would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>. The 15013result is DEFER_IF_REJECT when allowlist lookup fails. This feature 15014is available in Postfix 2.8 and later. </dd> 15015 15016<dt><b><a name="reject_rhsbl_client">reject_rhsbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt> 15017 15018<dd>Reject the request when the client hostname is listed with the 15019A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version 150202.1 and later only). Each "<i>d</i>" is a number, or a pattern 15021inside "[]" that contains one or more ";"-separated numbers or 15022number..number ranges (Postfix version 2.8 and later). If no 15023"<i>=d.d.d.d</i>" is specified, reject the request when the client 15024hostname is listed with 15025any A record under <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> 15026description above for additional RBL related configuration parameters. 15027This feature is available in Postfix 2.0 and later; with Postfix 15028version 2.8 and later, <a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a> will usually 15029produce better results. </dd> 15030 15031<dt><b><a name="permit_rhswl_client">permit_rhswl_client <i>rhswl_domain=d.d.d.d</i></a></b></dt> 15032 15033<dd>Accept the request when the client hostname is listed with the 15034A record "<i>d.d.d.d</i>" under <i>rhswl_domain</i>. Each "<i>d</i>" 15035is a number, or a pattern inside "[]" that contains one or more 15036";"-separated numbers or number..number ranges. If no 15037"<i>=d.d.d.d</i>" is specified, accept the request when the client 15038hostname is listed with any A record under <i>rhswl_domain</i>. 15039<br> Caution: client name allowlisting is fragile, since the client 15040name lookup can fail due to temporary outages. Client name 15041allowlisting should be used only to reduce false positives in e.g. 15042DNS-based blocklists, and not for making access rule exceptions. 15043<br> For safety, <a href="postconf.5.html#permit_rhswl_client">permit_rhswl_client</a> is silently ignored when it 15044would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>. The result is DEFER_IF_REJECT 15045when allowlist lookup fails. This feature is available in Postfix 150462.8 and later. </dd> 15047 15048<dt><b><a name="reject_rhsbl_reverse_client">reject_rhsbl_reverse_client <i>rbl_domain=d.d.d.d</i></a></b></dt> 15049 15050<dd>Reject the request when the unverified reverse client hostname 15051is listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>. 15052Each "<i>d</i>" is a number, or a pattern inside "[]" that contains 15053one or more ";"-separated numbers or number..number ranges. 15054If no "<i>=d.d.d.d</i>" is specified, reject the request when the 15055unverified reverse client hostname is listed with any A record under 15056<i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description above for 15057additional RBL related configuration parameters. This feature is 15058available in Postfix 2.8 and later. </dd> 15059 15060<dt><b><a name="reject_unknown_client_hostname">reject_unknown_client_hostname</a></b> (with Postfix < 2.3: reject_unknown_client)</dt> 15061 15062<dd>Reject the request when 1) the client IP address->name mapping 15063fails, or 2) the name->address mapping fails, or 3) the name->address 15064mapping does not match the client IP address. <br> This is a 15065stronger restriction than the <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a> 15066feature, which triggers only under condition 1) above. <br> The 15067<a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response code 15068for rejected requests (default: 450). The reply is always 450 in 15069case the address->name or name->address lookup failed due to 15070a temporary problem. </dd> 15071 15072<dt><b><a name="reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a></b></dt> 15073 15074<dd>Reject the request when the client IP address has no address->name 15075mapping. <br> This is a weaker restriction than the 15076<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> feature, which requires not only 15077that the address->name and name->address mappings exist, but 15078also that the two mappings reproduce the client IP address. <br> 15079The <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response 15080code for rejected requests (default: 450). The reply is always 450 15081in case the address->name lookup failed due to a temporary 15082problem. <br> This feature is available in Postfix 2.3 and 15083later. </dd> 15084 15085</dl> 15086 15087<p> 15088In addition, you can use any of the following <a name="generic"> 15089generic</a> restrictions. These restrictions are applicable in 15090any SMTP command context. 15091</p> 15092 15093<dl> 15094 15095<dt><b><a name="check_policy_service">check_policy_service <i>servername</i></a></b></dt> 15096 15097<dd>Query the specified policy server. See the <a href="SMTPD_POLICY_README.html">SMTPD_POLICY_README</a> 15098document for details. This feature is available in Postfix 2.1 15099and later. </dd> 15100 15101<dt><b><a name="defer">defer</a></b></dt> 15102 15103<dd>Defer the request. The client is told to try again later. This 15104restriction is useful at the end of a restriction list, to make 15105the default policy explicit. <br> The <a href="postconf.5.html#defer_code">defer_code</a> parameter specifies 15106the SMTP server reply code (default: 450).</dd> 15107 15108<dt><b><a name="defer_if_permit">defer_if_permit</a></b></dt> 15109 15110<dd>Defer the request if some later restriction would result in an 15111explicit or implicit PERMIT action. This is useful when a denylisting 15112feature fails due to a temporary problem. This feature is available 15113in Postfix version 2.1 and later. </dd> 15114 15115<dt><b><a name="defer_if_reject">defer_if_reject</a></b></dt> 15116 15117<dd>Defer the request if some later restriction would result in a 15118REJECT action. This is useful when an allowlisting feature fails 15119due to a temporary problem. This feature is available in Postfix 15120version 2.1 and later. </dd> 15121 15122<dt><b><a name="permit">permit</a></b></dt> 15123 15124<dd>Permit the request. This restriction is useful at the end of 15125a restriction list, to make the default policy explicit.</dd> 15126 15127<dt><b><a name="reject_multi_recipient_bounce">reject_multi_recipient_bounce</a></b></dt> 15128 15129<dd>Reject the request when the envelope sender is the null address, 15130and the message has multiple envelope recipients. This usage has 15131rare but legitimate applications: under certain conditions, 15132multi-recipient mail that was posted with the DSN option NOTIFY=NEVER 15133may be forwarded with the null sender address. 15134<br> Note: this restriction can only work reliably 15135when used in <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> or 15136<a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>, because the total number of 15137recipients is not known at an earlier stage of the SMTP conversation. 15138Use at the RCPT stage will only reject the second etc. recipient. 15139<br> 15140The <a href="postconf.5.html#multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> parameter specifies the 15141response code for rejected requests (default: 550). This feature 15142is available in Postfix 2.1 and later. </dd> 15143 15144<dt><b><a name="reject_plaintext_session">reject_plaintext_session</a></b></dt> 15145 15146<dd>Reject the request when the connection is not encrypted. This 15147restriction should not be used before the client has had a chance 15148to negotiate encryption with the AUTH or STARTTLS commands. 15149<br> 15150The <a href="postconf.5.html#plaintext_reject_code">plaintext_reject_code</a> parameter specifies the response 15151code for rejected requests (default: 450). This feature is available 15152in Postfix 2.3 and later. </dd> 15153 15154<dt><b><a name="reject_unauth_pipelining">reject_unauth_pipelining</a></b></dt> 15155 15156<dd>Reject the request when the client sends SMTP commands ahead 15157of time where it is not allowed, or when the client sends SMTP 15158commands ahead of time without knowing that Postfix actually supports 15159ESMTP command pipelining. This stops mail from bulk mail software 15160that improperly uses ESMTP command pipelining in order to speed up 15161deliveries. 15162<br> With Postfix 2.6 and later, the SMTP server sets a per-session 15163flag whenever it detects illegal pipelining, including pipelined 15164HELO or EHLO commands. The <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> feature simply 15165tests whether the flag was set at any point in time during the 15166session. 15167<br> With older Postfix versions, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> checks 15168the current status of the input read queue, and its usage is not 15169recommended in contexts other than <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a>. </dd> 15170 15171<dt><b><a name="reject">reject</a></b></dt> 15172 15173<dd>Reject the request. This restriction is useful at the end of 15174a restriction list, to make the default policy explicit. The 15175<a href="postconf.5.html#reject_code">reject_code</a> configuration parameter specifies the response code for 15176rejected requests (default: 554).</dd> 15177 15178<dt><b><a name="sleep">sleep <i>seconds</i></a></b></dt> 15179 15180<dd>Pause for the specified number of seconds and proceed with 15181the next restriction in the list, if any. This may stop zombie 15182mail when used as: 15183<pre> 15184/etc/postfix/<a href="postconf.5.html">main.cf</a>: 15185 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> = 15186 sleep 1, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> 15187 <a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = no 15188</pre> 15189This feature is available in Postfix 2.3. </dd> 15190 15191<dt><b><a name="warn_if_reject">warn_if_reject</a></b></dt> 15192 15193<dd> A safety net for testing. When "<a href="postconf.5.html#warn_if_reject">warn_if_reject</a>" is placed 15194before a reject-type restriction, access table query, or 15195<a href="postconf.5.html#check_policy_service">check_policy_service</a> query, this logs a "reject_warning" message 15196instead of rejecting a request (when a reject-type restriction fails 15197due to a temporary error, this logs a "reject_warning" message for 15198any implicit "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" actions that would normally prevent 15199mail from being accepted by some later access restriction). This 15200feature has no effect on <a href="postconf.5.html#defer_if_reject">defer_if_reject</a> restrictions. </dd> 15201 15202</dl> 15203 15204<p> 15205Other restrictions that are valid in this context: 15206</p> 15207 15208<ul> 15209 15210<li> SMTP command specific restrictions that are described under 15211the <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 15212<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameters. When helo, sender or 15213recipient restrictions are listed under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, 15214they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that 15215$<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> is evaluated at the time of the RCPT TO 15216command. 15217 15218</ul> 15219 15220<p> 15221Example: 15222</p> 15223 15224<pre> 15225<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> 15226</pre> 15227 15228 15229</DD> 15230 15231<DT><b><a name="smtpd_command_filter">smtpd_command_filter</a> 15232(default: empty)</b></DT><DD> 15233 15234<p> A mechanism to transform commands from remote SMTP clients. 15235This is a last-resort tool to work around client commands that break 15236interoperability with the Postfix SMTP server. Other uses involve 15237fault injection to test Postfix's handling of invalid commands. 15238</p> 15239 15240<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search 15241string is the SMTP command as received from the remote SMTP client, 15242except that initial whitespace and the trailing <CR><LF> 15243are removed. The result value is executed by the Postfix SMTP 15244server. </p> 15245 15246<p> There is no need to use <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for the following 15247cases: </p> 15248 15249<ul> 15250 15251<li> <p> Use "<a href="postconf.5.html#resolve_numeric_domain">resolve_numeric_domain</a> = yes" to accept 15252"<i>user@ipaddress</i>". </p> 15253 15254<li> <p> Postfix already accepts the correct form 15255"<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> 15256to translate these into domain names if necessary. </p> 15257 15258<li> <p> Use "<a href="postconf.5.html#strict_rfc821_envelopes">strict_rfc821_envelopes</a> = no" to accept "RCPT TO:<<i>User 15259Name <user@example.com>></i>". Postfix will ignore the "<i>User 15260Name</i>" part and deliver to the <i><user@example.com></i> address. 15261</p> 15262 15263</ul> 15264 15265<p> Examples of problems that can be solved with the <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> 15266feature: </p> 15267 15268<pre> 15269/etc/postfix/<a href="postconf.5.html">main.cf</a>: 15270 <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/command_filter 15271</pre> 15272 15273<pre> 15274/etc/postfix/command_filter: 15275 # Work around clients that send malformed HELO commands. 15276 /^HELO\s*$/ HELO domain.invalid 15277</pre> 15278 15279<pre> 15280 # Work around clients that send empty lines. 15281 /^\s*$/ NOOP 15282</pre> 15283 15284<pre> 15285 # Work around clients that send RCPT TO:<'user@domain'>. 15286 # WARNING: do not lose the parameters that follow the address. 15287 /^(RCPT\s+TO:\s*<)'([^[:space:]]+)'(>.*)/ $1$2$3 15288</pre> 15289 15290<pre> 15291 # Append XVERP to MAIL FROM commands to request VERP-style delivery. 15292 # See <a href="VERP_README.html">VERP_README</a> for more information on how to use Postfix VERP. 15293 /^(MAIL\s+FROM:\s*<listname@example\.com>.*)/ $1 XVERP 15294</pre> 15295 15296<pre> 15297 # Bounce-never mail sink. Use <a href="postconf.5.html#notify_classes">notify_classes</a>=bounce,resource,software 15298 # to send bounced mail to the postmaster (with message body removed). 15299 /^(RCPT\s+TO:\s*<.*>.*)\s+NOTIFY=\S+(.*)/ $1 NOTIFY=NEVER$2 15300 /^(RCPT\s+TO:.*)/ $1 NOTIFY=NEVER 15301</pre> 15302 15303<p> This feature is available in Postfix 2.7. </p> 15304 15305 15306</DD> 15307 15308<DT><b><a name="smtpd_data_restrictions">smtpd_data_restrictions</a> 15309(default: empty)</b></DT><DD> 15310 15311<p> 15312Optional access restrictions that the Postfix SMTP server applies 15313in the context of the SMTP DATA command. 15314See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 15315restriction lists" for a discussion of evaluation context and time. 15316</p> 15317 15318<p> 15319This feature is available in Postfix 2.0 and later. 15320</p> 15321 15322<p> 15323Specify a list of restrictions, separated by commas and/or whitespace. 15324Continue long lines by starting the next line with whitespace. 15325Restrictions are applied in the order as specified; the first 15326restriction that matches wins. 15327</p> 15328 15329<p> 15330The following restrictions are valid in this context: 15331</p> 15332 15333<ul> 15334 15335<li><a href="#generic">Generic</a> restrictions that can be used 15336in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>. 15337 15338<li>SMTP command specific restrictions described under 15339<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>, 15340<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>. 15341 15342<li>However, no recipient information is available in the case of 15343multi-recipient mail. Acting on only one recipient would be misleading, 15344because any decision will affect all recipients equally. Acting on 15345all recipients would require a possibly very large amount of memory, 15346and would also be misleading for the reasons mentioned before. 15347 15348</ul> 15349 15350<p> 15351Examples: 15352</p> 15353 15354<pre> 15355<a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> 15356<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> 15357</pre> 15358 15359 15360</DD> 15361 15362<DT><b><a name="smtpd_delay_open_until_valid_rcpt">smtpd_delay_open_until_valid_rcpt</a> 15363(default: yes)</b></DT><DD> 15364 15365<p> Postpone the start of an SMTP mail transaction until a valid 15366RCPT TO command is received. Specify "no" to create a mail transaction 15367as soon as the Postfix SMTP server receives a valid MAIL FROM 15368command. </p> 15369 15370<p> With sites that reject lots of mail, the default setting reduces 15371the use of 15372disk, CPU and memory resources. The downside is that rejected 15373recipients are logged with NOQUEUE instead of a mail transaction 15374ID. This complicates the logfile analysis of multi-recipient mail. 15375</p> 15376 15377<p> This feature is available in Postfix 2.3 and later. </p> 15378 15379 15380</DD> 15381 15382<DT><b><a name="smtpd_delay_reject">smtpd_delay_reject</a> 15383(default: yes)</b></DT><DD> 15384 15385<p> 15386Wait until the RCPT TO command before evaluating 15387$<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 15388$<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, or wait until the ETRN command before 15389evaluating $<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>. 15390</p> 15391 15392<p> 15393This feature is turned on by default because some clients apparently 15394mis-behave when the Postfix SMTP server rejects commands before 15395RCPT TO. 15396</p> 15397 15398<p> 15399The default setting has one major benefit: it allows Postfix to log 15400recipient address information when rejecting a client name/address 15401or sender address, so that it is possible to find out whose mail 15402is being rejected. 15403</p> 15404 15405 15406</DD> 15407 15408<DT><b><a name="smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> 15409(default: empty)</b></DT><DD> 15410 15411<p> Lookup tables, indexed by the remote SMTP client address, with 15412case insensitive lists of EHLO keywords (pipelining, starttls, auth, 15413etc.) that the Postfix SMTP server will not send in the EHLO response 15414to a 15415remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details. 15416The tables are not searched by hostname for robustness reasons. </p> 15417 15418<p> 15419Specify zero or more "type:name" lookup tables, separated by 15420whitespace or comma. Tables will be searched in the specified order 15421until a match is found. 15422</p> 15423 15424<p> This feature is available in Postfix 2.2 and later. </p> 15425 15426 15427</DD> 15428 15429<DT><b><a name="smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> 15430(default: empty)</b></DT><DD> 15431 15432<p> A case insensitive list of EHLO keywords (pipelining, starttls, 15433auth, etc.) that the Postfix SMTP server will not send in the EHLO 15434response 15435to a remote SMTP client. </p> 15436 15437<p> This feature is available in Postfix 2.2 and later. </p> 15438 15439<p> Notes: </p> 15440 15441<ul> 15442 15443<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent 15444this action from being logged. </p> 15445 15446<li> <p> Use the <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> feature 15447to discard EHLO keywords selectively. </p> 15448 15449</ul> 15450 15451 15452</DD> 15453 15454<DT><b><a name="smtpd_dns_reply_filter">smtpd_dns_reply_filter</a> 15455(default: empty)</b></DT><DD> 15456 15457<p> Optional filter for Postfix SMTP server DNS lookup results. 15458See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example. 15459</p> 15460 15461<p> This feature is available in Postfix 3.0 and later. </p> 15462 15463 15464</DD> 15465 15466<DT><b><a name="smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a> 15467(default: empty)</b></DT><DD> 15468 15469<p> Optional access restrictions that the Postfix SMTP server 15470applies in the context of the SMTP END-OF-DATA command. 15471See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 15472restriction lists" for a discussion of evaluation context and time. 15473</p> 15474 15475<p> This feature is available in Postfix 2.2 and later. </p> 15476 15477<p> See <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> for details and limitations. </p> 15478 15479 15480</DD> 15481 15482<DT><b><a name="smtpd_enforce_tls">smtpd_enforce_tls</a> 15483(default: no)</b></DT><DD> 15484 15485<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, 15486and require that clients use TLS encryption. According to <a href="https://tools.ietf.org/html/rfc2487">RFC 2487</a> 15487this MUST NOT be applied in case of a publicly-referenced SMTP 15488server. This option is therefore off by default. </p> 15489 15490<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> 15491 15492<p> Note 2: when invoked via "<b>sendmail -bs</b>", Postfix will never offer 15493STARTTLS due to insufficient privileges to access the server private 15494key. This is intended behavior. </p> 15495 15496<p> This feature is available in Postfix 2.2 and later. With 15497Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p> 15498 15499 15500</DD> 15501 15502<DT><b><a name="smtpd_error_sleep_time">smtpd_error_sleep_time</a> 15503(default: 1s)</b></DT><DD> 15504 15505<p>With Postfix version 2.1 and later: the SMTP server response delay after 15506a client has made more than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors, and 15507fewer than $<a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a> errors, without delivering mail. 15508</p> 15509 15510<p>With Postfix version 2.0 and earlier: the SMTP server delay 15511before sending a reject (4xx or 5xx) response, when the client has 15512made fewer than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors without delivering 15513mail. When the client has made $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> or more errors, 15514delay all responses with the larger of (number of errors) seconds 15515or $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a>. </p> 15516 15517<p> Specify a non-negative time value (an integral value plus an optional 15518one-letter suffix that specifies the time unit). Time units: s 15519(seconds), m (minutes), h (hours), d (days), w (weeks). 15520The default time unit is s (seconds). </p> 15521 15522 15523</DD> 15524 15525<DT><b><a name="smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> 15526(default: empty)</b></DT><DD> 15527 15528<p> 15529Optional restrictions that the Postfix SMTP server applies in the 15530context of a client ETRN command. 15531See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 15532restriction lists" for a discussion of evaluation context and time. 15533</p> 15534 15535<p> 15536The Postfix ETRN implementation accepts only destinations that are 15537eligible for the Postfix "fast flush" service. See the <a href="ETRN_README.html">ETRN_README</a> 15538file for details. 15539</p> 15540 15541<p> 15542Specify a list of restrictions, separated by commas and/or whitespace. 15543Continue long lines by starting the next line with whitespace. 15544Restrictions are applied in the order as specified; the first 15545restriction that matches wins. 15546</p> 15547 15548<p> 15549The following restrictions are specific to the domain name information 15550received with the ETRN command. 15551</p> 15552 15553<dl> 15554 15555<dt><b><a name="check_etrn_access">check_etrn_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 15556 15557<dd>Search the specified access database for the ETRN domain name 15558or its parent domains. See the <a href="access.5.html">access(5)</a> manual page for details. 15559</dd> 15560 15561</dl> 15562 15563<p> 15564Other restrictions that are valid in this context: 15565</p> 15566 15567<ul> 15568 15569<li><a href="#generic">Generic</a> restrictions that can be used 15570in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>. 15571 15572<li>SMTP command specific restrictions described under 15573<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>. 15574 15575</ul> 15576 15577<p> 15578Example: 15579</p> 15580 15581<pre> 15582<a href="postconf.5.html#smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, reject 15583</pre> 15584 15585 15586</DD> 15587 15588<DT><b><a name="smtpd_expansion_filter">smtpd_expansion_filter</a> 15589(default: see "postconf -d" output)</b></DT><DD> 15590 15591<p> 15592What characters are allowed in $name expansions of RBL reply 15593templates. Characters not in the allowed set are replaced by "_". 15594Use C like escapes to specify special characters such as whitespace. 15595</p> 15596 15597<p> 15598The <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> value is not subject to Postfix configuration 15599parameter $name expansion. 15600</p> 15601 15602<p> 15603This feature is available in Postfix 2.0 and later. 15604</p> 15605 15606 15607</DD> 15608 15609<DT><b><a name="smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a> 15610(default: Postfix < 3.9: no)</b></DT><DD> 15611 15612<p> Reply with "Error: bare <LF> received" and disconnect 15613when a remote SMTP client sends a line ending in <LF>, violating 15614the <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a> requirement that lines must end in <CR><LF>. 15615This feature is disbled by default with Postfix < 3.9. Use 15616<a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a> to exclude non-standard clients 15617such as netcat. Specify "<a href="postconf.5.html#smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a> = no" to disable 15618(not recommended for an Internet-connected MTA). </p> 15619 15620<p> See <a href="https://www.postfix.org/smtp-smuggling.html"> 15621https://www.postfix.org/smtp-smuggling.html</a> for details. 15622 15623<p> Example: </p> 15624 15625<blockquote> 15626<pre> 15627# Disconnect remote SMTP clients that send bare newlines, but allow 15628# local clients with non-standard SMTP implementations such as netcat, 15629# fax machines, or load balancer health checks. 15630# 15631<a href="postconf.5.html#smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a> = yes 15632<a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a> 15633</pre> 15634</blockquote> 15635 15636<p> This feature is available in Postfix ≥ 3.9, 3.8.4, 3.7.9, 156373.6.13, and 3.5.23. </p> 15638 15639 15640</DD> 15641 15642<DT><b><a name="smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a> 15643(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD> 15644 15645<p> Exclude the specified clients from <a href="postconf.5.html#smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a> 15646enforcement. It uses the same syntax and parent-domain matching 15647behavior as <a href="postconf.5.html#mynetworks">mynetworks</a>. </p> 15648 15649<p> Example: </p> 15650 15651<blockquote> 15652<pre> 15653# Disconnect remote SMTP clients that send bare newlines, but allow 15654# local clients with non-standard SMTP implementations such as netcat, 15655# fax machines, or load balancer health checks. 15656# 15657<a href="postconf.5.html#smtpd_forbid_bare_newline">smtpd_forbid_bare_newline</a> = yes 15658<a href="postconf.5.html#smtpd_forbid_bare_newline_exclusions">smtpd_forbid_bare_newline_exclusions</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a> 15659</pre> 15660</blockquote> 15661 15662<p> This feature is available in Postfix ≥ 3.9, 3.8.4, 3.7.9, 156633.6.13, and 3.5.23. </p> 15664 15665 15666</DD> 15667 15668<DT><b><a name="smtpd_forbid_unauth_pipelining">smtpd_forbid_unauth_pipelining</a> 15669(default: Postfix ≥ 3.9: yes)</b></DT><DD> 15670 15671<p> Disconnect remote SMTP clients that violate <a href="https://tools.ietf.org/html/rfc2920">RFC 2920</a> (or 5321) 15672command pipelining constraints. The server replies with "554 5.5.0 15673Error: SMTP protocol synchronization" and logs the unexpected remote 15674SMTP client input. Specify "<a href="postconf.5.html#smtpd_forbid_unauth_pipelining">smtpd_forbid_unauth_pipelining</a> = yes" 15675to enable. This feature is enabled by default with Postfix ≥ 156763.9. </p> 15677 15678<p> This feature is available in Postfix ≥ 3.9, 3.8.1, 3.7.6, 156793.6.10, and 3.5.20. </p> 15680 15681 15682</DD> 15683 15684<DT><b><a name="smtpd_forbidden_commands">smtpd_forbidden_commands</a> 15685(default: CONNECT GET POST <a href="regexp_table.5.html">regexp</a>:{{/^[^A-Z]/ Bogus}})</b></DT><DD> 15686 15687<p> 15688List of commands that cause the Postfix SMTP server to immediately 15689terminate the session with a 221 code. This can be used to disconnect 15690clients that obviously attempt to abuse the system. In addition to the 15691commands listed in this parameter, commands that follow the "Label:" 15692format of message headers will also cause a disconnect. With Postfix 15693versions 3.6 and earlier, the default value is "CONNECT GET POST". 15694</p> 15695 15696<p> 15697This feature is available in Postfix 2.2 and later. 15698</p> 15699 15700<p> 15701Support for inline regular expressions was added in Postfix version 157023.7. See <a href="regexp_table.5.html">regexp_table(5)</a> for a description of the syntax and features. 15703</p> 15704 15705 15706</DD> 15707 15708<DT><b><a name="smtpd_hard_error_limit">smtpd_hard_error_limit</a> 15709(default: normal: 20, overload: 1)</b></DT><DD> 15710 15711<p> 15712The maximal number of errors a remote SMTP client is allowed to 15713make without delivering mail. The Postfix SMTP server disconnects 15714when the limit is reached. Normally the default limit is 20, but 15715it changes under overload to just 1. With Postfix 2.5 and earlier, 15716the SMTP server always allows up to 20 errors by default. 15717Valid values are greater than zero. 15718 15719</p> 15720 15721 15722</DD> 15723 15724<DT><b><a name="smtpd_helo_required">smtpd_helo_required</a> 15725(default: no)</b></DT><DD> 15726 15727<p> 15728Require that a remote SMTP client introduces itself with the HELO 15729or EHLO command before sending the MAIL command or other commands 15730that require EHLO negotiation. 15731</p> 15732 15733<p> 15734Example: 15735</p> 15736 15737<pre> 15738<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes 15739</pre> 15740 15741 15742</DD> 15743 15744<DT><b><a name="smtpd_helo_restrictions">smtpd_helo_restrictions</a> 15745(default: empty)</b></DT><DD> 15746 15747<p> 15748Optional restrictions that the Postfix SMTP server applies in the 15749context of a client HELO command. 15750See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 15751restriction lists" for a discussion of evaluation context and time. 15752</p> 15753 15754<p> 15755The default is to permit everything. 15756</p> 15757 15758<p> Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this 15759restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can 15760simply skip <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> by not sending HELO or EHLO). 15761</p> 15762 15763<p> 15764Specify a list of restrictions, separated by commas and/or whitespace. 15765Continue long lines by starting the next line with whitespace. 15766Restrictions are applied in the order as specified; the first 15767restriction that matches wins. 15768</p> 15769 15770<p> 15771The following restrictions are specific to the hostname information 15772received with the HELO or EHLO command. 15773</p> 15774 15775<dl> 15776 15777<dt><b><a name="check_helo_access">check_helo_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 15778 15779<dd>Search the specified <a href="access.5.html">access(5)</a> database for the HELO or EHLO 15780hostname or parent domains, and execute the corresponding action. 15781Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this 15782restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can 15783simply skip <a href="postconf.5.html#check_helo_access">check_helo_access</a> by not sending HELO or EHLO). </dd> 15784 15785<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> 15786 15787<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for 15788the HELO or EHLO hostname, and execute the corresponding action. 15789Note 1: a result of "OK" is not allowed for safety reasons. Instead, 15790use DUNNO in order to exclude specific hosts from denylists. Note 157912: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this 15792restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can 15793simply skip check_helo_a_access by not sending HELO or EHLO). This 15794feature is available in Postfix 3.0 and later. 15795</dd> 15796 15797<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> 15798 15799<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for 15800the HELO or EHLO hostname, and execute the corresponding action. 15801If no MX record is found, look up A or AAAA records, just like the 15802Postfix SMTP client would. 15803Note 1: a result of "OK" is not allowed for safety reasons. Instead, 15804use DUNNO in order to exclude specific hosts from denylists. Note 158052: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this 15806restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can 15807simply skip <a href="postconf.5.html#check_helo_mx_access">check_helo_mx_access</a> by not sending HELO or EHLO). This 15808feature is available in Postfix 2.1 and later. 15809</dd> 15810 15811<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> 15812 15813<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers 15814for the HELO or EHLO hostname, and execute the corresponding action. 15815Note 1: a result of "OK" is not allowed for safety reasons. Instead, 15816use DUNNO in order to exclude specific hosts from denylists. Note 158172: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this 15818restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can 15819simply skip <a href="postconf.5.html#check_helo_ns_access">check_helo_ns_access</a> by not sending HELO or EHLO). This 15820feature is available in Postfix 2.1 and later. 15821</dd> 15822 15823<dt><b><a name="reject_invalid_helo_hostname">reject_invalid_helo_hostname</a></b> (with Postfix < 2.3: reject_invalid_hostname)</dt> 15824 15825<dd>Reject the request when the HELO or EHLO hostname is malformed. 15826Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce 15827this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply 15828skip <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> by not sending HELO or EHLO). 15829<br> The <a href="postconf.5.html#invalid_hostname_reject_code">invalid_hostname_reject_code</a> specifies the response code 15830for rejected requests (default: 501).</dd> 15831 15832<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> 15833 15834<dd>Reject the request when the HELO or EHLO hostname is not in 15835fully-qualified domain or address literal form, as required by the 15836RFC. Note: specify 15837"<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this restriction 15838(without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply skip 15839<a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a> by not sending HELO or EHLO). <br> 15840The <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for 15841rejected requests (default: 504).</dd> 15842 15843<dt><b><a name="reject_rhsbl_helo">reject_rhsbl_helo <i>rbl_domain=d.d.d.d</i></a></b></dt> 15844 15845<dd>Reject the request when the HELO or EHLO hostname is 15846listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> 15847(Postfix version 2.1 and later only). Each "<i>d</i>" is a number, 15848or a pattern inside "[]" that contains one or more ";"-separated 15849numbers or number..number ranges (Postfix version 2.8 and later). 15850If no "<i>=d.d.d.d</i>" is 15851specified, reject the request when the HELO or EHLO hostname is 15852listed with any A record under <i>rbl_domain</i>. See the 15853<a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description for additional RBL related configuration 15854parameters. Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully 15855enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a 15856client can simply skip <a href="postconf.5.html#reject_rhsbl_helo">reject_rhsbl_helo</a> by not sending HELO or 15857EHLO). This feature is available in Postfix 2.0 15858and later. </dd> 15859 15860<dt><b><a name="reject_unknown_helo_hostname">reject_unknown_helo_hostname</a></b> (with Postfix < 2.3: reject_unknown_hostname)</dt> 15861 15862<dd>Reject the request when the HELO or EHLO hostname has no DNS A 15863or MX record. <br> The reply is specified with the 15864<a href="postconf.5.html#unknown_hostname_reject_code">unknown_hostname_reject_code</a> parameter (default: 450) or 15865<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>). 15866See the respective parameter descriptions for details. <br> 15867Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully 15868enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a 15869client can simply skip <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> by not sending 15870HELO or EHLO). </dd> 15871 15872</dl> 15873 15874<p> 15875Other restrictions that are valid in this context: 15876</p> 15877 15878<ul> 15879 15880<li> <a href="#generic">Generic</a> restrictions that can be used 15881in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>. 15882 15883<li> Client hostname or network address specific restrictions 15884described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>. 15885 15886<li> SMTP command specific restrictions described under 15887<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 15888sender or recipient restrictions are listed under <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>, 15889they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that 15890$<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> is evaluated at the time of the RCPT TO 15891command. 15892 15893</ul> 15894 15895<p> 15896Examples: 15897</p> 15898 15899<pre> 15900<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> 15901<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> 15902</pre> 15903 15904 15905</DD> 15906 15907<DT><b><a name="smtpd_history_flush_threshold">smtpd_history_flush_threshold</a> 15908(default: 100)</b></DT><DD> 15909 15910<p> 15911The maximal number of lines in the Postfix SMTP server command history 15912before it is flushed upon receipt of EHLO, RSET, or end of DATA. 15913</p> 15914 15915 15916</DD> 15917 15918<DT><b><a name="smtpd_junk_command_limit">smtpd_junk_command_limit</a> 15919(default: normal: 100, overload: 1)</b></DT><DD> 15920 15921<p> 15922The number of junk commands (NOOP, VRFY, ETRN or RSET) that a remote 15923SMTP client can send before the Postfix SMTP server starts to 15924increment the error counter with each junk command. The junk 15925command count is reset after mail is delivered. See also the 15926<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 15927parameters. Normally the default limit is 100, but it changes under 15928overload to just 1. With Postfix 2.5 and earlier, the SMTP server 15929always allows up to 100 junk commands by default. </p> 15930 15931 15932</DD> 15933 15934<DT><b><a name="smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a> 15935(default: empty)</b></DT><DD> 15936 15937<p> Enable logging of the named "permit" actions in SMTP server 15938access lists (by default, the SMTP server logs "reject" actions but 15939not "permit" actions). This feature does not affect conditional 15940actions such as "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>". </p> 15941 15942<p> Specify a list of "permit" action names, "/file/name" or 15943"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. The 15944list is matched left to right, and the search stops on the first 15945match. A "/file/name" pattern is replaced by its contents; a 15946"<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup 15947key (the lookup result is ignored). Continue long lines by starting 15948the next line with whitespace. Specify "!pattern" to exclude a name 15949from the list. </p> 15950 15951<p> Examples: </p> 15952 15953<pre> 15954/etc/postfix/<a href="postconf.5.html">main.cf</a>: 15955 # Log all "permit" actions. 15956 <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 15957</pre> 15958 15959<pre> 15960/etc/postfix/<a href="postconf.5.html">main.cf</a>: 15961 # Log "<a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a>" only. 15962 <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> 15963</pre> 15964 15965<p> This feature is available in Postfix 2.10 and later. </p> 15966 15967 15968</DD> 15969 15970<DT><b><a name="smtpd_milter_maps">smtpd_milter_maps</a> 15971(default: empty)</b></DT><DD> 15972 15973<p> Lookup tables with Milter settings per remote SMTP client IP 15974address. The lookup result overrides the <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> setting, 15975and has the same syntax. </p> 15976 15977<p> Note: lookup tables cannot return empty responses. Specify a 15978lookup result of DISABLE (case does not matter) to indicate that 15979Milter support should be disabled. </p> 15980 15981<p> Example to disable Milters for local clients: </p> 15982 15983<pre> 15984/etc/postfix/<a href="postconf.5.html">main.cf</a>: 15985 <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 15986 <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> = inet:host:port, { inet:host:port, ... }, ... 15987</pre> 15988 15989<pre> 15990/etc/postfix/smtpd_milter_map: 15991 # Disable Milters for local clients. 15992 127.0.0.0/8 DISABLE 15993 192.168.0.0/16 DISABLE 15994 ::/64 DISABLE 15995 2001:db8::/32 DISABLE 15996</pre> 15997 15998<p> This feature is available in Postfix 3.2 and later. </p> 15999 16000 16001</DD> 16002 16003<DT><b><a name="smtpd_milters">smtpd_milters</a> 16004(default: empty)</b></DT><DD> 16005 16006<p> A list of Milter (mail filter) applications for new mail that 16007arrives via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. Specify space or comma as 16008separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details. </p> 16009 16010<p> This feature is available in Postfix 2.3 and later. </p> 16011 16012 16013</DD> 16014 16015<DT><b><a name="smtpd_min_data_rate">smtpd_min_data_rate</a> 16016(default: 500)</b></DT><DD> 16017 16018<p> The minimum plaintext data transfer rate in bytes/second for 16019DATA and BDAT requests, when deadlines are enabled with 16020<a href="postconf.5.html#smtpd_per_request_deadline">smtpd_per_request_deadline</a>. After a read operation transfers N 16021plaintext message bytes (possibly after TLS decryption), and after 16022the DATA or BDAT request deadline is decremented by the elapsed 16023time of that read operation, the DATA or BDAT request deadline is 16024incremented by N/smtpd_min_data_rate seconds. However, the deadline 16025will never be incremented beyond the time limit specified with 16026<a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a>. </p> 16027 16028<p> This feature is available in Postfix 3.7 and later. </p> 16029 16030 16031</DD> 16032 16033<DT><b><a name="smtpd_noop_commands">smtpd_noop_commands</a> 16034(default: empty)</b></DT><DD> 16035 16036<p> 16037List of commands that the Postfix SMTP server replies to with "250 16038Ok", without doing any syntax checks and without changing state. 16039This list overrides any commands built into the Postfix SMTP server. 16040</p> 16041 16042 16043</DD> 16044 16045<DT><b><a name="smtpd_null_access_lookup_key">smtpd_null_access_lookup_key</a> 16046(default: <>)</b></DT><DD> 16047 16048<p> 16049The lookup key to be used in SMTP <a href="access.5.html">access(5)</a> tables instead of the 16050null sender address. 16051</p> 16052 16053 16054</DD> 16055 16056<DT><b><a name="smtpd_peername_lookup">smtpd_peername_lookup</a> 16057(default: yes)</b></DT><DD> 16058 16059<p> Attempt to look up the remote SMTP client hostname, and verify that 16060the name matches the client IP address. A client name is set to 16061"unknown" when it cannot be looked up or verified, or when name 16062lookup is disabled. Turning off name lookup reduces delays due to 16063DNS lookup and increases the maximal inbound delivery rate. </p> 16064 16065<p> This feature is available in Postfix 2.3 and later. </p> 16066 16067 16068</DD> 16069 16070<DT><b><a name="smtpd_per_record_deadline">smtpd_per_record_deadline</a> 16071(default: normal: no, overload: yes)</b></DT><DD> 16072 16073<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> 16074time limits, from a 16075time limit per read or write system call, to a time limit to send 16076or receive a complete record (an SMTP command line, SMTP response 16077line, SMTP message content line, or TLS protocol message). This 16078limits the impact from hostile peers that trickle data one byte at 16079a time. </p> 16080 16081<p> Note: when per-record deadlines are enabled, a short timeout 16082may cause problems with TLS over very slow network connections. 16083The reasons are that a TLS protocol message can be up to 16 kbytes 16084long (with TLSv1), and that an entire TLS protocol message must be 16085sent or received within the per-record deadline. </p> 16086 16087<p> This feature is available in Postfix 2.9-3.6. With older 16088Postfix releases, the behavior is as if this parameter is set to 16089"no". Postfix 3.7 and later use <a href="postconf.5.html#smtpd_per_request_deadline">smtpd_per_request_deadline</a>. </p> 16090 16091 16092</DD> 16093 16094<DT><b><a name="smtpd_per_request_deadline">smtpd_per_request_deadline</a> 16095(default: normal: no, overload: yes)</b></DT><DD> 16096 16097<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> 16098time limits, from a time limit per plaintext or TLS read or write 16099call, to a combined time limit for receiving a complete SMTP request 16100and for sending a complete SMTP response. The deadline limits only 16101the time spent waiting for plaintext or TLS read or write calls, 16102not time spent elsewhere. The per-request deadline limits the impact 16103from hostile peers that trickle data one byte at a time. </p> 16104 16105<p> See <a href="postconf.5.html#smtpd_min_data_rate">smtpd_min_data_rate</a> for how the per-request deadline is 16106managed during the DATA and BDAT phase. </p> 16107 16108<p> Note: when per-request deadlines are enabled, a short time limit 16109may cause problems with TLS over very slow network connections. The 16110reason is that a TLS protocol message can be up to 16 kbytes long 16111(with TLSv1), and that an entire TLS protocol message must be 16112transferred within the per-request deadline. </p> 16113 16114<p> This feature is available in Postfix 3.7 and later. A weaker 16115feature, called <a href="postconf.5.html#smtpd_per_record_deadline">smtpd_per_record_deadline</a>, is available with Postfix 161162.9-3.6. With older Postfix releases, the behavior is as if this 16117parameter is set to "no". </p> 16118 16119<p> This feature is available in Postfix 3.7 and later. </p> 16120 16121 16122</DD> 16123 16124<DT><b><a name="smtpd_policy_service_default_action">smtpd_policy_service_default_action</a> 16125(default: 451 4.3.5 Server configuration problem)</b></DT><DD> 16126 16127<p> The default action when an SMTPD policy service request fails. 16128Specify "DUNNO" to behave as if the failed SMTPD policy service 16129request was not sent, and to continue processing other access 16130restrictions, if any. </p> 16131 16132<p> Limitations: </p> 16133 16134<ul> 16135 16136<li> <p> This parameter may specify any value that would be a valid 16137SMTPD policy server response (or <a href="access.5.html">access(5)</a> map lookup result). An 16138<a href="access.5.html">access(5)</a> map or policy server in this parameter value may need to 16139be declared in advance with a restriction_class setting. </p> 16140 16141<li> <p> If the specified action invokes another <a href="postconf.5.html#check_policy_service">check_policy_service</a> 16142request, that request will have the built-in default action. </p> 16143 16144</ul> 16145 16146<p> This feature is available in Postfix 3.0 and later. </p> 16147 16148 16149</DD> 16150 16151<DT><b><a name="smtpd_policy_service_max_idle">smtpd_policy_service_max_idle</a> 16152(default: 300s)</b></DT><DD> 16153 16154<p> 16155The time after which an idle SMTPD policy service connection is 16156closed. 16157</p> 16158 16159<p> Specify a non-zero time value (an integral value plus an optional 16160one-letter suffix that specifies the time unit). Time units: s 16161(seconds), m (minutes), h (hours), d (days), w (weeks). 16162The default time unit is s (seconds). </p> 16163 16164<p> 16165This feature is available in Postfix 2.1 and later. 16166</p> 16167 16168 16169</DD> 16170 16171<DT><b><a name="smtpd_policy_service_max_ttl">smtpd_policy_service_max_ttl</a> 16172(default: 1000s)</b></DT><DD> 16173 16174<p> 16175The time after which an active SMTPD policy service connection is 16176closed. 16177</p> 16178 16179<p> Specify a non-zero time value (an integral value plus an optional 16180one-letter suffix that specifies the time unit). Time units: s 16181(seconds), m (minutes), h (hours), d (days), w (weeks). 16182The default time unit is s (seconds). </p> 16183 16184<p> 16185This feature is available in Postfix 2.1 and later. 16186</p> 16187 16188 16189</DD> 16190 16191<DT><b><a name="smtpd_policy_service_policy_context">smtpd_policy_service_policy_context</a> 16192(default: empty)</b></DT><DD> 16193 16194<p> Optional information that the Postfix SMTP server specifies in 16195the "policy_context" attribute of a policy service request (originally, 16196to share the same service endpoint among multiple <a href="postconf.5.html#check_policy_service">check_policy_service</a> 16197clients). </p> 16198 16199<p> 16200This feature is available in Postfix 3.1 and later. 16201</p> 16202 16203 16204</DD> 16205 16206<DT><b><a name="smtpd_policy_service_request_limit">smtpd_policy_service_request_limit</a> 16207(default: 0)</b></DT><DD> 16208 16209<p> 16210The maximal number of requests per SMTPD policy service connection, 16211or zero (no limit). Once a connection reaches this limit, the 16212connection is closed and the next request will be sent over a new 16213connection. This is a workaround to avoid error-recovery delays 16214with policy servers that cannot maintain a persistent connection. 16215</p> 16216 16217<p> 16218This feature is available in Postfix 3.0 and later. 16219</p> 16220 16221 16222</DD> 16223 16224<DT><b><a name="smtpd_policy_service_retry_delay">smtpd_policy_service_retry_delay</a> 16225(default: 1s)</b></DT><DD> 16226 16227<p> The delay between attempts to resend a failed SMTPD policy 16228service request. Specify a value greater than zero. </p> 16229 16230<p> Specify a non-zero time value (an integral value plus an optional 16231one-letter suffix that specifies the time unit). Time units: s 16232(seconds), m (minutes), h (hours), d (days), w (weeks). 16233The default time unit is s (seconds). </p> 16234 16235<p> This feature is available in Postfix 3.0 and later. </p> 16236 16237 16238</DD> 16239 16240<DT><b><a name="smtpd_policy_service_timeout">smtpd_policy_service_timeout</a> 16241(default: 100s)</b></DT><DD> 16242 16243<p> 16244The time limit for connecting to, writing to, or receiving from a 16245delegated SMTPD policy server. 16246</p> 16247 16248<p> Specify a non-zero time value (an integral value plus an optional 16249one-letter suffix that specifies the time unit). Time units: s 16250(seconds), m (minutes), h (hours), d (days), w (weeks). 16251The default time unit is s (seconds). </p> 16252 16253<p> 16254This feature is available in Postfix 2.1 and later. 16255</p> 16256 16257 16258</DD> 16259 16260<DT><b><a name="smtpd_policy_service_try_limit">smtpd_policy_service_try_limit</a> 16261(default: 2)</b></DT><DD> 16262 16263<p> The maximal number of attempts to send an SMTPD policy service 16264request before giving up. Specify a value greater than zero. </p> 16265 16266<p> This feature is available in Postfix 3.0 and later. </p> 16267 16268 16269</DD> 16270 16271<DT><b><a name="smtpd_proxy_ehlo">smtpd_proxy_ehlo</a> 16272(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD> 16273 16274<p> 16275How the Postfix SMTP server announces itself to the proxy filter. 16276By default, the Postfix hostname is used. 16277</p> 16278 16279<p> 16280This feature is available in Postfix 2.1 and later. 16281</p> 16282 16283 16284</DD> 16285 16286<DT><b><a name="smtpd_proxy_filter">smtpd_proxy_filter</a> 16287(default: empty)</b></DT><DD> 16288 16289<p> The hostname and TCP port of the mail filtering proxy server. 16290The proxy receives all mail from the Postfix SMTP server, and is 16291supposed to give the result to another Postfix SMTP server process. 16292</p> 16293 16294<p> Specify "host:port" or "inet:host:port" for a TCP endpoint, or 16295"unix:pathname" for a UNIX-domain endpoint. The host can be specified 16296as an IP address or as a symbolic name; no MX lookups are done. 16297When no "host" or "host:" is specified, the local machine is 16298assumed. Pathname interpretation is relative to the Postfix queue 16299directory. </p> 16300 16301<p> This feature is available in Postfix 2.1 and later. </p> 16302 16303<p> The "inet:" and "unix:" prefixes are available in Postfix 2.3 16304and later. </p> 16305 16306 16307</DD> 16308 16309<DT><b><a name="smtpd_proxy_options">smtpd_proxy_options</a> 16310(default: empty)</b></DT><DD> 16311 16312<p> 16313List of options that control how the Postfix SMTP server 16314communicates with a before-queue content filter. Specify zero or 16315more of the following, separated by comma or whitespace. </p> 16316 16317<dl> 16318 16319<dt><b>speed_adjust</b></dt> 16320 16321<dd> <p> Do not connect to a before-queue content filter until an entire 16322message has been received. This reduces the number of simultaneous 16323before-queue content filter processes. </p> 16324 16325<p> NOTE 1: A filter must not <i>selectively</i> reject recipients 16326of a multi-recipient message. Rejecting all recipients is OK, as 16327is accepting all recipients. </p> 16328 16329<p> NOTE 2: This feature increases the minimum amount of free queue 16330space by $<a href="postconf.5.html#message_size_limit">message_size_limit</a>. The extra space is needed to save the 16331message to a temporary file. </p> </dd> 16332 16333</dl> 16334 16335<p> 16336This feature is available in Postfix 2.7 and later. 16337</p> 16338 16339 16340</DD> 16341 16342<DT><b><a name="smtpd_proxy_timeout">smtpd_proxy_timeout</a> 16343(default: 100s)</b></DT><DD> 16344 16345<p> 16346The time limit for connecting to a proxy filter and for sending or 16347receiving information. When a connection fails the client gets a 16348generic error message while more detailed information is logged to 16349the maillog file. 16350</p> 16351 16352<p> Specify a non-zero time value (an integral value plus an optional 16353one-letter suffix that specifies the time unit). Time units: s 16354(seconds), m (minutes), h (hours), d (days), w (weeks). 16355The default time unit is s (seconds). </p> 16356 16357<p> 16358This feature is available in Postfix 2.1 and later. 16359</p> 16360 16361 16362</DD> 16363 16364<DT><b><a name="smtpd_recipient_limit">smtpd_recipient_limit</a> 16365(default: 1000)</b></DT><DD> 16366 16367<p> 16368The maximal number of recipients that the Postfix SMTP server 16369accepts per message delivery request. 16370</p> 16371 16372 16373</DD> 16374 16375<DT><b><a name="smtpd_recipient_overshoot_limit">smtpd_recipient_overshoot_limit</a> 16376(default: 1000)</b></DT><DD> 16377 16378<p> The number of recipients that a remote SMTP client can send in 16379excess of the limit specified with $<a href="postconf.5.html#smtpd_recipient_limit">smtpd_recipient_limit</a>, before 16380the Postfix SMTP server increments the per-session error count 16381for each excess recipient. </p> 16382 16383 16384</DD> 16385 16386<DT><b><a name="smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> 16387(default: see "postconf -d" output)</b></DT><DD> 16388 16389<p> 16390Optional restrictions that the Postfix SMTP server applies in the 16391context of a client RCPT TO command, after <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>. 16392See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 16393restriction lists" for a discussion of evaluation context and time. 16394</p> 16395 16396<p> With Postfix versions before 2.10, the rules for relay permission 16397and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>, 16398resulting in error-prone configuration. As of Postfix 2.10, relay 16399permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>, 16400so that a permissive spam blocking policy under 16401<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive 16402mail relay policy. </p> 16403 16404<p> For backwards compatibility, sites that migrate from Postfix 16405versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty 16406value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p> 16407 16408<p> 16409IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the 16410<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify 16411at least one of the following restrictions. Otherwise Postfix will 16412refuse to receive mail: 16413</p> 16414 16415<blockquote> 16416<pre> 16417reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> 16418</pre> 16419</blockquote> 16420 16421<blockquote> 16422<pre> 16423defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a> 16424</pre> 16425</blockquote> 16426 16427<p> 16428Specify a list of restrictions, separated by commas and/or whitespace. 16429Continue long lines by starting the next line with whitespace. 16430Restrictions are applied in the order as specified; the first 16431restriction that matches wins. 16432</p> 16433 16434<p> 16435The following restrictions are specific to the recipient address 16436that is received with the RCPT TO command. 16437</p> 16438 16439<dl> 16440 16441<dt><b><a name="check_recipient_access">check_recipient_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 16442 16443<dd>Search the specified <a href="access.5.html">access(5)</a> database for the resolved RCPT 16444TO address, domain, parent domains, or localpart@, and execute the 16445corresponding action. </dd> 16446 16447<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> 16448 16449<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for 16450the RCPT TO domain, and execute the corresponding action. Note: 16451a result of "OK" is not allowed for safety reasons. Instead, use 16452DUNNO in order to exclude specific hosts from denylists. This 16453feature is available in Postfix 3.0 and later. </dd> 16454 16455<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> 16456 16457<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for 16458the RCPT TO domain, and execute the corresponding action. If no 16459MX record is found, look up A or AAAA records, just like the Postfix 16460SMTP client would. Note: 16461a result of "OK" is not allowed for safety reasons. Instead, use 16462DUNNO in order to exclude specific hosts from denylists. This 16463feature is available in Postfix 2.1 and later. </dd> 16464 16465<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> 16466 16467<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers 16468for the RCPT TO domain, and execute the corresponding action. 16469Note: a result of "OK" is not allowed for safety reasons. Instead, 16470use DUNNO in order to exclude specific hosts from denylists. This 16471feature is available in Postfix 2.1 and later. </dd> 16472 16473<dt><b><a name="permit_auth_destination">permit_auth_destination</a></b></dt> 16474 16475<dd>Permit the request when one of the following is true: 16476 16477<ul> 16478 16479<li> Postfix is a mail forwarder: the resolved RCPT TO domain matches 16480$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and the address contains no 16481sender-specified routing (user@elsewhere@domain), 16482 16483<li> Postfix is the final destination: the resolved RCPT TO domain 16484matches $<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>, 16485$<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 16486contains no sender-specified routing (user@elsewhere@domain). 16487 16488</ul></dd> 16489 16490<dt><b><a name="permit_mx_backup">permit_mx_backup</a></b></dt> 16491 16492<dd>Permit the request when the local mail system is a backup MX for 16493the RCPT TO domain, or when the domain is an authorized destination 16494(see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> for definition). 16495 16496<ul> 16497 16498<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> does not accept addresses that have 16499sender-specified routing information (example: user@elsewhere@domain). 16500 16501<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> can be vulnerable to mis-use when 16502access is not restricted with <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>. 16503 16504<li> Safety: as of Postfix version 2.3, <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> no longer 16505accepts the address when the local mail system is a primary MX for 16506the recipient domain. Exception: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> accepts the address 16507when it specifies an authorized destination (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> 16508for definition). 16509 16510<li> Limitation: mail may be rejected in case of a temporary DNS 16511lookup problem with Postfix prior to version 2.0. 16512 16513</ul></dd> 16514 16515<dt><b><a name="reject_non_fqdn_recipient">reject_non_fqdn_recipient</a></b></dt> 16516 16517<dd>Reject the request when the RCPT TO address specifies a 16518domain that is not in 16519fully-qualified domain form, as required by the RFC. <br> The 16520<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for 16521rejected requests (default: 504). </dd> 16522 16523<dt><b><a name="reject_rhsbl_recipient">reject_rhsbl_recipient <i>rbl_domain=d.d.d.d</i></a></b></dt> 16524 16525<dd>Reject the request when the RCPT TO domain is listed with the 16526A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version 165272.1 and later only). Each "<i>d</i>" is a number, or a pattern 16528inside "[]" that contains one or more ";"-separated numbers or 16529number..number ranges (Postfix version 2.8 and later). If no 16530"<i>=d.d.d.d</i>" is specified, reject 16531the request when the RCPT TO domain is listed with 16532any A record under <i>rbl_domain</i>. <br> The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> 16533parameter specifies the response code for rejected requests (default: 16534554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter specifies the default server 16535reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter specifies tables with server 16536replies indexed by <i>rbl_domain</i>. This feature is available 16537in Postfix version 2.0 and later.</dd> 16538 16539<dt><b><a name="reject_unauth_destination">reject_unauth_destination</a></b></dt> 16540 16541<dd>Reject the request unless one of the following is true: 16542 16543<ul> 16544 16545<li> Postfix is a mail forwarder: the resolved RCPT TO domain matches 16546$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and contains no sender-specified 16547routing (user@elsewhere@domain), 16548 16549<li> Postfix is the final destination: the resolved RCPT TO domain 16550matches $<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>, 16551$<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 16552no sender-specified routing (user@elsewhere@domain). 16553 16554</ul>The <a href="postconf.5.html#relay_domains_reject_code">relay_domains_reject_code</a> parameter specifies the response 16555code for rejected requests (default: 554). </dd> 16556 16557<dt><b><a name="defer_unauth_destination">defer_unauth_destination</a></b></dt> 16558 16559<dd> Reject the same requests as <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>, with a 16560non-permanent error code. This feature is available in Postfix 165612.10 and later.</dd> 16562 16563<dt><b><a name="reject_unknown_recipient_domain">reject_unknown_recipient_domain</a></b></dt> 16564 16565<dd>Reject the request when Postfix is not final destination for 16566the recipient domain, and the RCPT TO domain has 1) no DNS MX and 16567no DNS A 16568record or 2) a malformed MX record such as a record with 16569a zero-length MX hostname (Postfix version 2.3 and later). <br> The 16570reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter 16571(default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default: 16572<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 556 (nullmx, Postfix 3.0 and 16573later). See the respective parameter descriptions for details. 16574</dd> 16575 16576<dt><b><a name="reject_unlisted_recipient">reject_unlisted_recipient</a></b> (with Postfix version 2.0: check_recipient_maps)</dt> 16577 16578<dd> Reject the request when the RCPT TO address is not listed in 16579the list of valid recipients for its domain class. See the 16580<a href="postconf.5.html#smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> parameter description for details. 16581This feature is available in Postfix 2.1 and later.</dd> 16582 16583<dt><b><a name="reject_unverified_recipient">reject_unverified_recipient</a></b></dt> 16584 16585<dd>Reject the request when mail to the RCPT TO address is known 16586to bounce, or when the recipient address destination is not reachable. 16587Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server; 16588see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The 16589<a href="postconf.5.html#unverified_recipient_reject_code">unverified_recipient_reject_code</a> parameter specifies the numerical 16590response code when an address is known to bounce (default: 450, 16591change it to 550 when you are confident that it is safe to do so). 16592<br>The <a href="postconf.5.html#unverified_recipient_defer_code">unverified_recipient_defer_code</a> parameter specifies the 16593numerical response code when an address probe failed due to a 16594temporary problem (default: 450). <br> The 16595<a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> parameter specifies the action 16596after address probe failure due to a temporary problem (default: 16597<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). <br> This feature breaks for aliased addresses 16598with "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> = no" (Postfix ≤ 3.2). <br> 16599This feature is available in Postfix 2.1 and later. </dd> 16600 16601</dl> 16602 16603<p> 16604Other restrictions that are valid in this context: 16605</p> 16606 16607<ul> 16608 16609<li><a href="#generic">Generic</a> restrictions that can be used 16610in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>. 16611 16612<li>SMTP command specific restrictions described under 16613<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 16614<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>. 16615 16616</ul> 16617 16618<p> 16619Example: 16620</p> 16621 16622<pre> 16623# The Postfix before 2.10 default mail relay policy. Later Postfix 16624# versions implement this preferably with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>. 16625<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> 16626</pre> 16627 16628 16629</DD> 16630 16631<DT><b><a name="smtpd_reject_footer">smtpd_reject_footer</a> 16632(default: empty)</b></DT><DD> 16633 16634<p> Optional information that is appended after each Postfix SMTP 16635server 166364XX or 5XX response. </p> 16637 16638<p> The following example uses "\c" at the start of the template 16639(supported in Postfix 2.10 and later) to suppress the line break 16640between the reply text and the footer text. With earlier Postfix 16641versions, the footer text always begins on a new line, and the "\c" 16642is output literally. </p> 16643 16644<pre> 16645/etc/postfix/<a href="postconf.5.html">main.cf</a>: 16646 <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> = \c. For assistance, call 800-555-0101. 16647 Please provide the following information in your problem report: 16648 time ($localtime), client ($client_address) and server 16649 ($server_name). 16650</pre> 16651 16652<p> Server response: </p> 16653 16654<pre> 16655 550-5.5.1 <user@example> Recipient address rejected: User 16656 unknown. For assistance, call 800-555-0101. Please provide the 16657 following information in your problem report: time (Jan 4 15:42:00), 16658 client (192.168.1.248) and server (mail1.example.com). 16659</pre> 16660 16661<p> Note: the above text is meant to make it easier to find the 16662Postfix logfile records for a failed SMTP session. The text itself 16663is not logged to the Postfix SMTP server's maillog file. </p> 16664 16665<p> Be sure to keep the text as short as possible. Long text may 16666be truncated before it is logged to the remote SMTP client's maillog 16667file, or before it is returned to the sender in a delivery status 16668notification. </p> 16669 16670<p> The template text is not subject to Postfix configuration 16671parameter $name expansion. Instead, this feature supports a limited 16672number of $name attributes in the footer text. These attributes are 16673replaced with their current value for the SMTP session. </p> 16674 16675<p> Note: specify $$name in footer text that is looked up from 16676<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 16677Postfix server will not use the footer text and will log a warning 16678instead. </p> 16679 16680<dl> 16681 16682<dt> <b>client_address</b> </dt> <dd> The Client IP address that 16683is logged in the maillog file. </dd> 16684 16685<dt> <b>client_port</b> </dt> <dd> The client TCP port that is 16686logged in the maillog file. </dd> 16687 16688<dt> <b>localtime</b> </dt> <dd> The server local time (Mmm dd 16689hh:mm:ss) that is logged in the maillog file. </dd> 16690 16691<dt> <b>server_name</b> </dt> <dd> The server's <a href="postconf.5.html#myhostname">myhostname</a> value. 16692This attribute is made available for sites with multiple MTAs 16693(perhaps behind a load-balancer), where the server name can help 16694the server support team to quickly find the right log files. </dd> 16695 16696</dl> 16697 16698<p> Notes: </p> 16699 16700<ul> 16701 16702<li> <p> NOT SUPPORTED are other attributes such as sender, recipient, 16703or <a href="postconf.5.html">main.cf</a> parameters. </p> 16704 16705<li> <p> For safety reasons, text that does not match 16706$<a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> is censored. </p> 16707 16708</ul> 16709 16710<p> This feature supports the two-character sequence \n as a request 16711for a line break in the footer text. Postfix automatically inserts 16712after each line break the three-digit SMTP reply code (and optional 16713enhanced status code) from the original Postfix reject message. 16714</p> 16715 16716<p> To work around mail software that mis-handles multi-line replies, 16717specify the two-character sequence \c at the start of the template. 16718This suppresses the line break between the reply text and the footer 16719text (Postfix 2.10 and later). </p> 16720 16721<p> This feature is available in Postfix 2.8 and later. </p> 16722 16723 16724</DD> 16725 16726<DT><b><a name="smtpd_reject_footer_maps">smtpd_reject_footer_maps</a> 16727(default: empty)</b></DT><DD> 16728 16729<p> Lookup tables, indexed by the complete Postfix SMTP server 4xx or 167305xx response, with reject footer templates. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> 16731for details. </p> 16732 16733<p> 16734Specify zero or more "type:name" lookup tables, separated by 16735whitespace or comma. Tables will be searched in the specified order 16736until a match is found. 16737</p> 16738 16739<p> This feature is available in Postfix 3.4 and later. </p> 16740 16741 16742</DD> 16743 16744<DT><b><a name="smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> 16745(default: yes)</b></DT><DD> 16746 16747<p> 16748Request that the Postfix SMTP server rejects mail for unknown 16749recipient addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_recipient">reject_unlisted_recipient</a> 16750access restriction is specified. This prevents the Postfix queue 16751from filling up with undeliverable MAILER-DAEMON messages. 16752</p> 16753 16754<p> An address is considered "unknown" when 1) it does not match a 16755<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 16756valid for its address class. For a definition of class-based address 16757validation, see <a href="ADDRESS_CLASS_README.html#classes"> 16758ADDRESS_CLASS_README</a>. </p> 16759 16760<p> 16761This feature is available in Postfix 2.1 and later. 16762</p> 16763 16764 16765</DD> 16766 16767<DT><b><a name="smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> 16768(default: no)</b></DT><DD> 16769 16770<p> Request that the Postfix SMTP server rejects mail from unknown 16771sender addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a> 16772access restriction is specified. This can slow down an explosion 16773of forged mail from worms or viruses. </p> 16774 16775<p> An address is considered "unknown" when 1) it does not match a 16776<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 16777valid for its address class. For a definition of class-based address 16778validation, see <a href="ADDRESS_CLASS_README.html#classes"> 16779ADDRESS_CLASS_README</a>. </p> 16780 16781<p> 16782This feature is available in Postfix 2.1 and later. 16783</p> 16784 16785 16786</DD> 16787 16788<DT><b><a name="smtpd_relay_before_recipient_restrictions">smtpd_relay_before_recipient_restrictions</a> 16789(default: see "postconf -d" output)</b></DT><DD> 16790 16791<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>. 16792Historically, <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> was evaluated after 16793<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>, contradicting documented behavior. </p> 16794 16795<p> Background: the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> feature is primarily 16796designed to enforce a mail relaying policy, while 16797<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> is primarily designed to enforce spam 16798blocking policy. Both are evaluated while replying to the RCPT TO 16799command, and both support the same features. </p> 16800 16801<p> This feature is available in Postfix 3.6 and later. </p> 16802 16803 16804</DD> 16805 16806<DT><b><a name="smtpd_relay_restrictions">smtpd_relay_restrictions</a> 16807(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> 16808 16809<p> Access restrictions for mail relay control that the Postfix 16810SMTP server applies in the context of the RCPT TO command, before 16811<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. 16812See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 16813restriction lists" for a discussion of evaluation context and time. 16814</p> 16815 16816<p> With Postfix versions before 2.10, the rules for relay permission 16817and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>, 16818resulting in error-prone configuration. As of Postfix 2.10, relay 16819permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>, 16820so that a permissive spam blocking policy under 16821<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive 16822mail relay policy. </p> 16823 16824<p> For backwards compatibility, sites that migrate from Postfix 16825versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty 16826value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p> 16827 16828<p> 16829By default, the Postfix SMTP server accepts: 16830</p> 16831 16832<ul> 16833 16834<li> Mail from clients whose IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>, or: 16835 16836<li> Mail from clients who are SASL authenticated, or: 16837 16838<li> Mail to remote destinations that match $<a href="postconf.5.html#relay_domains">relay_domains</a>, except 16839for addresses that contain sender-specified routing 16840(user@elsewhere@domain), or: 16841 16842<li> Mail to local destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> 16843or $<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 16844$<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>. 16845 16846</ul> 16847 16848<p> 16849IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the 16850<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify 16851at least one of the following restrictions. Otherwise Postfix will 16852refuse to receive mail: 16853</p> 16854 16855<blockquote> 16856<pre> 16857reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> 16858</pre> 16859</blockquote> 16860 16861<blockquote> 16862<pre> 16863defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a> 16864</pre> 16865</blockquote> 16866 16867<p> 16868Specify a list of restrictions, separated by commas and/or whitespace. 16869Continue long lines by starting the next line with whitespace. 16870The same restrictions are available as documented under 16871<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. 16872</p> 16873 16874<p> This feature is available in Postix 2.10 and later. </p> 16875 16876 16877</DD> 16878 16879<DT><b><a name="smtpd_restriction_classes">smtpd_restriction_classes</a> 16880(default: empty)</b></DT><DD> 16881 16882<p> 16883User-defined aliases for groups of access restrictions. The aliases 16884can be specified in <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> etc., and on the 16885right-hand side of a Postfix <a href="access.5.html">access(5)</a> table. 16886</p> 16887 16888<p> 16889One major application is for implementing per-recipient UCE control. 16890See the <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a> document for other examples. 16891</p> 16892 16893 16894</DD> 16895 16896<DT><b><a name="smtpd_sasl_application_name">smtpd_sasl_application_name</a> 16897(default: smtpd)</b></DT><DD> 16898 16899<p> 16900The application name that the Postfix SMTP server uses for SASL 16901server initialization. This 16902controls the name of the SASL configuration file. The default value 16903is <b>smtpd</b>, corresponding to a SASL configuration file named 16904<b>smtpd.conf</b>. 16905</p> 16906 16907<p> 16908This feature is available in Postfix 2.1 and 2.2. With Postfix 2.3 16909it was renamed to <a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>. 16910</p> 16911 16912 16913</DD> 16914 16915<DT><b><a name="smtpd_sasl_auth_enable">smtpd_sasl_auth_enable</a> 16916(default: no)</b></DT><DD> 16917 16918<p> 16919Enable SASL authentication in the Postfix SMTP server. By default, 16920the Postfix SMTP server does not use authentication. 16921</p> 16922 16923<p> 16924If a remote SMTP client is authenticated, the <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> 16925access restriction can be used to permit relay access, like this: 16926</p> 16927 16928<blockquote> 16929<pre> 16930# With Postfix 2.10 and later, the mail relay policy is 16931# preferably specified under <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>. 16932<a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> = 16933 <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ... 16934</pre> 16935 16936<pre> 16937# With Postfix before 2.10, the relay policy can be 16938# specified only under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. 16939<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> = 16940 <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ... 16941</pre> 16942</blockquote> 16943 16944<p> To reject all SMTP connections from unauthenticated clients, 16945specify "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes" (which is the default) and use: 16946</p> 16947 16948<blockquote> 16949<pre> 16950<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 16951</pre> 16952</blockquote> 16953 16954<p> 16955See the <a href="SASL_README.html">SASL_README</a> file for SASL configuration and operation details. 16956</p> 16957 16958 16959</DD> 16960 16961<DT><b><a name="smtpd_sasl_authenticated_header">smtpd_sasl_authenticated_header</a> 16962(default: no)</b></DT><DD> 16963 16964<p> Report the SASL authenticated user name in the <a href="smtpd.8.html">smtpd(8)</a> Received 16965message header. </p> 16966 16967<p> This feature is available in Postfix 2.3 and later. </p> 16968 16969 16970</DD> 16971 16972<DT><b><a name="smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> 16973(default: empty)</b></DT><DD> 16974 16975<p> 16976What remote SMTP clients the Postfix SMTP server will not offer 16977AUTH support to. 16978</p> 16979 16980<p> 16981Some clients (Netscape 4 at least) have a bug that causes them to 16982require a login and password whenever AUTH is offered, whether it's 16983necessary or not. To work around this, specify, for example, 16984$<a href="postconf.5.html#mynetworks">mynetworks</a> to prevent Postfix from offering AUTH to local clients. 16985</p> 16986 16987<p> 16988Specify a list of network/netmask patterns, separated by commas 16989and/or whitespace. The mask specifies the number of bits in the 16990network part of a host address. You can also specify "/file/name" or 16991"<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name" pattern is replaced by its 16992contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry 16993matches a lookup string (the lookup result is ignored). Continue 16994long lines by starting the next line with whitespace. Specify 16995"!pattern" to exclude an address or network block from the list. 16996The form "!/file/name" is supported only in Postfix version 2.4 and 16997later. </p> 16998 16999<p> Note: IP version 6 address information must be specified inside 17000<tt>[]</tt> in the <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> value, and in 17001files specified with "/file/name". IP version 6 addresses contain 17002the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" 17003pattern. </p> 17004 17005<p> 17006Example: 17007</p> 17008 17009<pre> 17010<a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a> 17011</pre> 17012 17013<p> 17014This feature is available in Postfix 2.1 and later. 17015</p> 17016 17017 17018</DD> 17019 17020<DT><b><a name="smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> 17021(default: empty)</b></DT><DD> 17022 17023<p> 17024The name of the Postfix SMTP server's local SASL authentication 17025realm. 17026</p> 17027 17028<p> 17029By default, the local authentication realm name is the null string. 17030</p> 17031 17032<p> 17033Examples: 17034</p> 17035 17036<pre> 17037<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#mydomain">mydomain</a> 17038<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#myhostname">myhostname</a> 17039</pre> 17040 17041 17042</DD> 17043 17044<DT><b><a name="smtpd_sasl_mechanism_filter">smtpd_sasl_mechanism_filter</a> 17045(default: !external, <a href="DATABASE_README.html#types">static</a>:rest)</b></DT><DD> 17046 17047<p> If non-empty, a filter for the SASL mechanism names that the 17048Postfix SMTP server will announce in the EHLO response. By default, 17049the Postfix SMTP server will not announce the EXTERNAL mechanism, 17050because Postfix support for that is not implemented. </p> 17051 17052<p> Specify mechanism names, "/file/name" patterns, or "<a href="DATABASE_README.html">type:table</a>" 17053lookup tables, separated by comma or whitespace. The right-hand 17054side result from "<a href="DATABASE_README.html">type:table</a>" lookups is ignored. Specify "!pattern" 17055to exclude a mechanism name from the list. </p> 17056 17057<p> 17058Examples: 17059</p> 17060 17061<pre> 17062<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 17063<a href="postconf.5.html#smtpd_sasl_mechanism_filter">smtpd_sasl_mechanism_filter</a> = login, plain 17064<a href="postconf.5.html#smtpd_sasl_mechanism_filter">smtpd_sasl_mechanism_filter</a> = /etc/postfix/smtpd_mechs 17065</pre> 17066 17067<p> This feature is available in Postfix 3.6 and later. </p> 17068 17069 17070</DD> 17071 17072<DT><b><a name="smtpd_sasl_path">smtpd_sasl_path</a> 17073(default: smtpd)</b></DT><DD> 17074 17075<p> Implementation-specific information that the Postfix SMTP server 17076passes through to 17077the SASL plug-in implementation that is selected with 17078<b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>. Typically this specifies the name of a 17079configuration file or rendezvous point. </p> 17080 17081<p> This feature is available in Postfix 2.3 and later. In earlier 17082releases it was called <b><a href="postconf.5.html#smtpd_sasl_application_name">smtpd_sasl_application_name</a></b>. </p> 17083 17084 17085</DD> 17086 17087<DT><b><a name="smtpd_sasl_response_limit">smtpd_sasl_response_limit</a> 17088(default: 12288)</b></DT><DD> 17089 17090<p> The maximum length of a SASL client's response to a server challenge. 17091When the client's "initial response" is longer than the normal limit for 17092SMTP commands, the client must omit its initial response, and wait for an 17093empty server challenge; it can then send what would have been its "initial 17094response" as a response to the empty server challenge. <a href="https://tools.ietf.org/html/rfc4954">RFC4954</a> requires the 17095server to accept client responses up to at least 12288 octets of 17096base64-encoded text. The default value is therefore also the minimum value 17097accepted for this parameter.</p> 17098 17099<p> This feature is available in Postfix 3.4 and later. Prior versions use 17100"<a href="postconf.5.html#line_length_limit">line_length_limit</a>", which may need to be raised to accommodate larger client 17101responses, as may be needed with GSSAPI authentication of Windows AD users 17102who are members of many groups. </p> 17103 17104 17105</DD> 17106 17107<DT><b><a name="smtpd_sasl_security_options">smtpd_sasl_security_options</a> 17108(default: noanonymous)</b></DT><DD> 17109 17110<p> Postfix SMTP server SASL security options; as of Postfix 2.3 17111the list of available 17112features depends on the SASL server implementation that is selected 17113with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>. </p> 17114 17115<p> The following security features are defined for the <b>cyrus</b> 17116server SASL implementation: </p> 17117 17118<p> 17119Restrict what authentication mechanisms the Postfix SMTP server 17120will offer to the client. The list of available authentication 17121mechanisms is system dependent. 17122</p> 17123 17124<p> 17125Specify zero or more of the following: 17126</p> 17127 17128<dl> 17129 17130<dt><b>noplaintext</b></dt> 17131 17132<dd>Disallow methods that use plaintext passwords. </dd> 17133 17134<dt><b>noactive</b></dt> 17135 17136<dd>Disallow methods subject to active (non-dictionary) attack. </dd> 17137 17138<dt><b>nodictionary</b></dt> 17139 17140<dd>Disallow methods subject to passive (dictionary) attack. </dd> 17141 17142<dt><b>noanonymous</b></dt> 17143 17144<dd>Disallow methods that allow anonymous authentication. </dd> 17145 17146<dt><b>forward_secrecy</b></dt> 17147 17148<dd>Only allow methods that support forward secrecy (Dovecot only). 17149</dd> 17150 17151<dt><b>mutual_auth</b></dt> 17152 17153<dd>Only allow methods that provide mutual authentication (not available 17154with Cyrus SASL version 1). </dd> 17155 17156</dl> 17157 17158<p> 17159By default, the Postfix SMTP server accepts plaintext passwords but 17160not anonymous logins. 17161</p> 17162 17163<p> 17164Warning: it appears that clients try authentication methods in the 17165order as advertised by the server (e.g., PLAIN ANONYMOUS CRAM-MD5) 17166which means that if you disable plaintext passwords, clients will 17167log in anonymously, even when they should be able to use CRAM-MD5. 17168So, if you disable plaintext logins, disable anonymous logins too. 17169Postfix treats anonymous login as no authentication. 17170</p> 17171 17172<p> 17173Example: 17174</p> 17175 17176<pre> 17177<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a> = noanonymous, noplaintext 17178</pre> 17179 17180 17181</DD> 17182 17183<DT><b><a name="smtpd_sasl_service">smtpd_sasl_service</a> 17184(default: smtp)</b></DT><DD> 17185 17186<p> The service name that is passed to the SASL plug-in that is 17187selected 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>. 17188</p> 17189 17190<p> This feature is available in Postfix 2.11 and later. Prior 17191versions behave as if "<b>smtp</b>" is specified. </p> 17192 17193 17194</DD> 17195 17196<DT><b><a name="smtpd_sasl_tls_security_options">smtpd_sasl_tls_security_options</a> 17197(default: $<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a>)</b></DT><DD> 17198 17199<p> The SASL authentication security options that the Postfix SMTP 17200server uses for TLS encrypted SMTP sessions. </p> 17201 17202<p> This feature is available in Postfix 2.2 and later. </p> 17203 17204 17205</DD> 17206 17207<DT><b><a name="smtpd_sasl_type">smtpd_sasl_type</a> 17208(default: cyrus)</b></DT><DD> 17209 17210<p> The SASL plug-in type that the Postfix SMTP server should use 17211for authentication. The available types are listed with the 17212"<b>postconf -a</b>" command. </p> 17213 17214<p> This feature is available in Postfix 2.3 and later. </p> 17215 17216 17217</DD> 17218 17219<DT><b><a name="smtpd_sender_login_maps">smtpd_sender_login_maps</a> 17220(default: empty)</b></DT><DD> 17221 17222<p> 17223Optional lookup table with the SASL login names that own the sender 17224(MAIL FROM) addresses. 17225</p> 17226 17227<p> 17228Specify zero or more "type:name" lookup tables, separated by 17229whitespace or comma. Tables will be searched in the specified order 17230until a match is found. With lookups from 17231indexed files such as DB or DBM, or from networked tables such as 17232NIS, LDAP or SQL, the following search operations are done with a 17233sender address of <i>user@domain</i>: </p> 17234 17235<dl> 17236 17237<dt> 1) <i>user@domain</i> </dt> 17238 17239<dd>This table lookup is always done and has the highest precedence. </dd> 17240 17241<dt> 2) <i>user</i> </dt> 17242 17243<dd>This table lookup is done only when the <i>domain</i> part of the 17244sender 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> 17245or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. </dd> 17246 17247<dt> 3) <i>@domain</i> </dt> 17248 17249<dd>This table lookup is done last and has the lowest precedence. </dd> 17250 17251</dl> 17252 17253<p> 17254In all cases the result of table lookup must be either "not found" 17255or a list of SASL login names separated by comma and/or whitespace. 17256</p> 17257 17258 17259</DD> 17260 17261<DT><b><a name="smtpd_sender_restrictions">smtpd_sender_restrictions</a> 17262(default: empty)</b></DT><DD> 17263 17264<p> 17265Optional restrictions that the Postfix SMTP server applies in the 17266context of a client MAIL FROM command. 17267See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 17268restriction lists" for a discussion of evaluation context and time. 17269</p> 17270 17271<p> 17272The default is to permit everything. 17273</p> 17274 17275<p> 17276Specify a list of restrictions, separated by commas and/or whitespace. 17277Continue long lines by starting the next line with whitespace. 17278Restrictions are applied in the order as specified; the first 17279restriction that matches wins. 17280</p> 17281 17282<p> 17283The following restrictions are specific to the sender address 17284received with the MAIL FROM command. 17285</p> 17286 17287<dl> 17288 17289<dt><b><a name="check_sender_access">check_sender_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 17290 17291<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MAIL FROM 17292address, domain, parent domains, or localpart@, and execute the 17293corresponding action. </dd> 17294 17295<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> 17296 17297<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for 17298the MAIL FROM domain, and execute the corresponding action. Note: 17299a result of "OK" is not allowed for safety reasons. Instead, use 17300DUNNO in order to exclude specific hosts from denylists. This 17301feature is available in Postfix 3.0 and later. </dd> 17302 17303<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> 17304 17305<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for 17306the MAIL FROM domain, and execute the corresponding action. If no 17307MX record is found, look up A or AAAA records, just like the Postfix 17308SMTP client would. Note: 17309a result of "OK" is not allowed for safety reasons. Instead, use 17310DUNNO in order to exclude specific hosts from denylists. This 17311feature is available in Postfix 2.1 and later. </dd> 17312 17313<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> 17314 17315<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers 17316for the MAIL FROM domain, and execute the corresponding action. 17317Note: a result of "OK" is not allowed for safety reasons. Instead, 17318use DUNNO in order to exclude specific hosts from denylists. This 17319feature is available in Postfix 2.1 and later. </dd> 17320 17321<dt><b><a name="reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a></b></dt> 17322 17323<dd> Reject the request when the client is authenticated with SASL, 17324but either the MAIL FROM address is not listed in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>, 17325or the SASL login name is not an owner for that address. 17326<br> 17327This prevents an authenticated client from using a MAIL FROM address 17328that they do not explicitly own. 17329<br> 17330This feature is available in Postfix version 2.1 and later. </dd> 17331 17332<dt><b><a name="reject_known_sender_login_mismatch">reject_known_sender_login_mismatch</a></b></dt> 17333 17334<dd> When the client is authenticated with SASL, reject the request 17335when the MAIL FROM address is listed in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>, 17336but the SASL login name is not an owner for that address. 17337<br> 17338When the client is not authenticated with SASL, reject the request 17339when SASL is enabled, and the MAIL FROM address is listed in 17340$<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>. 17341<br> 17342This protects any MAIL FROM address that is listed in 17343$<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>, while still allowing a client to use any 17344unlisted MAIL FROM address. 17345<br> 17346This feature is available in Postfix version 2.11 and later.</dd> 17347 17348<dt><b><a name="reject_non_fqdn_sender">reject_non_fqdn_sender</a></b></dt> 17349 17350<dd>Reject the request when the MAIL FROM address specifies a 17351domain that is not in 17352fully-qualified domain form as required by the RFC. <br> The 17353<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for 17354rejected requests (default: 504). </dd> 17355 17356<dt><b><a name="reject_rhsbl_sender">reject_rhsbl_sender <i>rbl_domain=d.d.d.d</i></a></b></dt> 17357 17358<dd>Reject the request when the MAIL FROM domain is listed with 17359the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix 17360version 2.1 and later only). Each "<i>d</i>" is a number, or a 17361pattern inside "[]" that contains one or more ";"-separated numbers 17362or number..number ranges (Postfix version 2.8 and later). If no 17363"<i>=d.d.d.d</i>" is specified, 17364reject the request when the MAIL FROM domain is 17365listed with any A record under <i>rbl_domain</i>. <br> The 17366<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for 17367rejected requests (default: 554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter 17368specifies the default server reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter 17369specifies tables with server replies indexed by <i>rbl_domain</i>. 17370This feature is available in Postfix 2.0 and later.</dd> 17371 17372<dt><b><a name="reject_sender_login_mismatch">reject_sender_login_mismatch</a></b></dt> 17373 17374<dd> As of Postfix 2.1, this is an alias for 17375"<a href="postconf.5.html#reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a>, 17376<a href="postconf.5.html#reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a>".</dd> 17377 17378<dt><b><a name="reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a></b></dt> 17379 17380<dd> Reject the request when SASL is enabled, the MAIL FROM address 17381is listed in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>, but the client is not 17382authenticated with SASL. 17383<br> 17384With SASL enabled, this prevents an unauthenticated client from 17385using any MAIL FROM address that is listed in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>. 17386<br> 17387This feature is available in Postfix version 2.1 and later.</dd> 17388 17389<dt><b><a name="reject_unknown_sender_domain">reject_unknown_sender_domain</a></b></dt> 17390 17391<dd>Reject the request when Postfix is not the final destination for 17392the sender address, and the MAIL FROM domain has 1) no DNS MX and 17393no DNS A 17394record, or 2) a malformed MX record such as a record with 17395a zero-length MX hostname (Postfix version 2.3 and later). <br> The 17396reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter 17397(default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default: 17398<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 550 (nullmx, Postfix 3.0 and 17399later). See the respective parameter descriptions for details. 17400</dd> 17401 17402<dt><b><a name="reject_unlisted_sender">reject_unlisted_sender</a></b></dt> 17403 17404<dd>Reject the request when the MAIL FROM address is not listed in 17405the list of valid recipients for its domain class. See the 17406<a href="postconf.5.html#smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> parameter description for details. 17407This feature is available in Postfix 2.1 and later.</dd> 17408 17409<dt><b><a name="reject_unverified_sender">reject_unverified_sender</a></b></dt> 17410 17411<dd>Reject the request when mail to the MAIL FROM address is known to 17412bounce, or when the sender address destination is not reachable. 17413Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server; 17414see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The 17415<a href="postconf.5.html#unverified_sender_reject_code">unverified_sender_reject_code</a> parameter specifies the numerical 17416response code when an address is known to bounce (default: 450, 17417change into 550 when you are confident that it is safe to do so). 17418<br>The <a href="postconf.5.html#unverified_sender_defer_code">unverified_sender_defer_code</a> specifies the numerical response 17419code when an address probe failed due to a temporary problem 17420(default: 450). <br> The <a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a> parameter 17421specifies the action after address probe failure due to a temporary 17422problem (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). <br> This feature breaks for 17423aliased addresses with "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> = no" (Postfix 17424≤ 3.2). <br> This feature is available in Postfix 2.1 and later. 17425</dd> 17426 17427</dl> 17428 17429<p> 17430Other restrictions that are valid in this context: 17431</p> 17432 17433<ul> 17434 17435<li> <a href="#generic">Generic</a> restrictions that can be used 17436in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>. 17437 17438<li> SMTP command specific restrictions described under 17439<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>. 17440 17441<li> SMTP command specific restrictions described under 17442<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When recipient restrictions are listed 17443under <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, they have effect only with 17444"<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 17445evaluated at the time of the RCPT TO command. 17446 17447</ul> 17448 17449<p> 17450Examples: 17451</p> 17452 17453<pre> 17454<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> 17455<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>, 17456 <a href="postconf.5.html#check_sender_access">check_sender_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access 17457</pre> 17458 17459 17460</DD> 17461 17462<DT><b><a name="smtpd_service_name">smtpd_service_name</a> 17463(default: smtpd)</b></DT><DD> 17464 17465<p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> hands off allowed 17466connections to. In a future version there may be different 17467classes of SMTP service. </p> 17468 17469<p> This feature is available in Postfix 2.8. </p> 17470 17471 17472</DD> 17473 17474<DT><b><a name="smtpd_soft_error_limit">smtpd_soft_error_limit</a> 17475(default: 10)</b></DT><DD> 17476 17477<p> 17478The number of errors a remote SMTP client is allowed to make without 17479delivering mail before the Postfix SMTP server slows down all its 17480responses. 17481</p> 17482 17483<ul> 17484 17485<li><p>With Postfix version 2.1 and later, when the error count 17486is > $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a>, the Postfix SMTP server 17487delays all responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a>. </p> 17488 17489<li><p>With Postfix versions 2.0 and earlier, when the error count 17490is > $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a>, the Postfix SMTP server delays all 17491responses by the larger of (number of errors) seconds or 17492$<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a>. </p> 17493 17494<li><p>With Postfix versions 2.0 and earlier, when the error count 17495is ≤ $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a>, the Postfix SMTP server delays 4XX 17496and 5XX responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a>. </p> 17497 17498</ul> 17499 17500 17501</DD> 17502 17503<DT><b><a name="smtpd_starttls_timeout">smtpd_starttls_timeout</a> 17504(default: see "postconf -d" output)</b></DT><DD> 17505 17506<p> The time limit for Postfix SMTP server write and read operations 17507during TLS startup and shutdown handshake procedures. The current 17508default value is stress-dependent. Before Postfix version 2.8, it 17509was fixed at 300s. </p> 17510 17511<p> Specify a non-zero time value (an integral value plus an optional 17512one-letter suffix that specifies the time unit). Time units: s 17513(seconds), m (minutes), h (hours), d (days), w (weeks). 17514The default time unit is s (seconds). </p> 17515 17516<p> This feature is available in Postfix 2.2 and later. </p> 17517 17518 17519</DD> 17520 17521<DT><b><a name="smtpd_timeout">smtpd_timeout</a> 17522(default: normal: 300s, overload: 10s)</b></DT><DD> 17523 17524<p> When the Postfix SMTP server wants to send an SMTP server 17525response, how long the Postfix SMTP server will wait for an underlying 17526network write operation to complete; and when the Postfix SMTP 17527server Postfix wants to receive an SMTP client request, how long 17528the Postfix SMTP server will wait for an underlying network read 17529operation to complete. See the <a href="postconf.5.html#smtpd_per_request_deadline">smtpd_per_request_deadline</a> for how 17530this time limit may be enforced (with Postfix 2.9-3.6 see 17531<a href="postconf.5.html#smtpd_per_record_deadline">smtpd_per_record_deadline</a>). </p> 17532 17533<p> Normally the default limit 17534is 300s, but it changes under overload to just 10s. With Postfix 175352.5 and earlier, the SMTP server always uses a time limit of 300s 17536by default. 17537</p> 17538 17539<p> 17540Note: if you set SMTP time limits to very large values you may have 17541to update the global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter. 17542</p> 17543 17544<p> Specify a non-zero time value (an integral value plus an optional 17545one-letter suffix that specifies the time unit). Time units: s 17546(seconds), m (minutes), h (hours), d (days), w (weeks). 17547The default time unit is s (seconds). </p> 17548 17549 17550</DD> 17551 17552<DT><b><a name="smtpd_tls_CAfile">smtpd_tls_CAfile</a> 17553(default: empty)</b></DT><DD> 17554 17555<p> A file containing (PEM format) CA certificates of root CAs trusted 17556to sign either remote SMTP client certificates or intermediate CA 17557certificates. These are loaded into memory before the <a href="smtpd.8.html">smtpd(8)</a> server 17558enters the chroot jail. If the number of trusted roots is large, consider 17559using <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> instead, but note that the latter directory must 17560be present in the chroot jail if the <a href="smtpd.8.html">smtpd(8)</a> server is chrooted. This 17561file may also be used to augment the server certificate trust chain, 17562but it is best to include all the required certificates directly in the 17563server certificate file. </p> 17564 17565<p> Specify "<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /path/to/system_CA_file" to use ONLY 17566the system-supplied default Certification Authority certificates. 17567</p> 17568 17569<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from 17570appending the system-supplied default CAs and trusting third-party 17571certificates. </p> 17572 17573<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are not 17574requested, and <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> should remain empty. If you do make use 17575of client certificates, the distinguished names (DNs) of the Certification 17576Authorities listed in <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> are sent to the remote SMTP client 17577in the client certificate request message. MUAs with multiple client 17578certificates may use the list of preferred Certification Authorities 17579to select the correct client certificate. You may want to put your 17580"preferred" CA or CAs in this file, and install other trusted CAs in 17581$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p> 17582 17583<p> Example: </p> 17584 17585<pre> 17586<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /etc/postfix/CAcert.pem 17587</pre> 17588 17589<p> This feature is available in Postfix 2.2 and later. </p> 17590 17591 17592</DD> 17593 17594<DT><b><a name="smtpd_tls_CApath">smtpd_tls_CApath</a> 17595(default: empty)</b></DT><DD> 17596 17597<p> A directory containing (PEM format) CA certificates of root CAs 17598trusted to sign either remote SMTP client certificates or intermediate CA 17599certificates. Do not forget to create the necessary "hash" links with, 17600for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs". To use 17601<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> in chroot mode, this directory (or a copy) must be 17602inside the chroot jail. </p> 17603 17604<p> Specify "<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /path/to/system_CA_directory" to 17605use ONLY the system-supplied default Certification Authority certificates. 17606</p> 17607 17608<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from 17609appending the system-supplied default CAs and trusting third-party 17610certificates. </p> 17611 17612<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are 17613not requested, and <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> should remain empty. In contrast 17614to <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, DNs of Certification Authorities installed 17615in $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> are not included in the client certificate 17616request message. MUAs with multiple client certificates may use the 17617list of preferred Certification Authorities to select the correct 17618client certificate. You may want to put your "preferred" CA or 17619CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, and install the remaining trusted CAs in 17620$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p> 17621 17622<p> Example: </p> 17623 17624<pre> 17625<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /etc/postfix/certs 17626</pre> 17627 17628<p> This feature is available in Postfix 2.2 and later. </p> 17629 17630 17631</DD> 17632 17633<DT><b><a name="smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> 17634(default: yes)</b></DT><DD> 17635 17636<p> Force the Postfix SMTP server to issue a TLS session id, even 17637when TLS session caching is turned off (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> 17638is empty). This behavior is compatible with Postfix < 2.3. </p> 17639 17640<p> With Postfix 2.3 and later the Postfix SMTP server can disable 17641session id generation when TLS session caching is turned off. This 17642keeps remote SMTP clients from caching sessions that almost certainly cannot 17643be re-used. </p> 17644 17645<p> By default, the Postfix SMTP server always generates TLS session 17646ids. This works around a known defect in mail client applications 17647such as MS Outlook, and may also prevent interoperability issues 17648with other MTAs. </p> 17649 17650<p> Example: </p> 17651 17652<pre> 17653<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> = no 17654</pre> 17655 17656<p> This feature is available in Postfix 2.3 and later. </p> 17657 17658 17659</DD> 17660 17661<DT><b><a name="smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> 17662(default: no)</b></DT><DD> 17663 17664<p> Ask a remote SMTP client for a client certificate. This 17665information is needed for certificate based mail relaying with, 17666for example, the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> feature. </p> 17667 17668<p> Some clients such as Netscape will either complain if no 17669certificate is available (for the list of CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>) 17670or will offer multiple client certificates to choose from. This 17671may be annoying, so this option is "off" by default. </p> 17672 17673<p> This feature is available in Postfix 2.2 and later. </p> 17674 17675 17676</DD> 17677 17678<DT><b><a name="smtpd_tls_auth_only">smtpd_tls_auth_only</a> 17679(default: no)</b></DT><DD> 17680 17681<p> When TLS encryption is optional in the Postfix SMTP server, do 17682not announce or accept SASL authentication over unencrypted 17683connections. </p> 17684 17685<p> This feature is available in Postfix 2.2 and later. </p> 17686 17687 17688</DD> 17689 17690<DT><b><a name="smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> 17691(default: 9)</b></DT><DD> 17692 17693<p> The verification depth for remote SMTP client certificates. A 17694depth of 1 is sufficient if the issuing CA is listed in a local CA 17695file. </p> 17696 17697<p> The default verification depth is 9 (the OpenSSL default) for 17698compatibility with earlier Postfix behavior. Prior to Postfix 2.5, 17699the default value was 5, but the limit was not actually enforced. If 17700you have set this to a lower non-default value, certificates with longer 17701trust chains may now fail to verify. Certificate chains with 1 or 2 17702CAs are common, deeper chains are more rare and any number between 5 17703and 9 should suffice in practice. You can choose a lower number if, 17704for example, you trust certificates directly signed by an issuing CA 17705but not any CAs it delegates to. </p> 17706 17707<p> This feature is available in Postfix 2.2 and later. </p> 17708 17709 17710</DD> 17711 17712<DT><b><a name="smtpd_tls_cert_file">smtpd_tls_cert_file</a> 17713(default: empty)</b></DT><DD> 17714 17715<p> File with the Postfix SMTP server RSA certificate in PEM format. 17716This file may also contain the Postfix SMTP server private RSA key. 17717With Postfix ≥ 3.4 the preferred way to configure server keys and 17718certificates is via the "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p> 17719 17720<p> Public Internet MX hosts without certificates signed by a "reputable" 17721CA must generate, and be prepared to present to most clients, a 17722self-signed or private-CA signed certificate. The client will not be 17723able to authenticate the server, but unless it is running Postfix 2.3 or 17724similar software, it will still insist on a server certificate. </p> 17725 17726<p> For servers that are <b>not</b> public Internet MX hosts, Postfix 17727supports configurations with no certificates. This entails the use of 17728just the anonymous TLS ciphers, which are not supported by typical SMTP 17729clients. Since some clients may not fall back to plain text after a TLS 17730handshake failure, a certificate-less Postfix SMTP server will be unable 17731to receive email from some TLS-enabled clients. To avoid accidental 17732configurations with no certificates, Postfix enables certificate-less 17733operation only when the administrator explicitly sets 17734"<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = none". This ensures that new Postfix SMTP server 17735configurations will not accidentally enable TLS without certificates. </p> 17736 17737<p> Note that server certificates are not optional in TLS 1.3. To run 17738without certificates you'd have to disable the TLS 1.3 protocol by 17739including '!TLSv1.3' in "<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>" and perhaps also 17740"<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>". It is simpler instead to just 17741configure a certificate chain. Certificate-less operation is not 17742recommended. <p> 17743 17744<p> Both RSA and DSA certificates are supported. When both types 17745are present, the cipher used determines which certificate will be 17746presented to the client. For Netscape and OpenSSL clients without 17747special cipher choices the RSA certificate is preferred. </p> 17748 17749<p> To enable a remote SMTP client to verify the Postfix SMTP server 17750certificate, the issuing CA certificates must be made available to the 17751client. You should include the required certificates in the server 17752certificate file, the server certificate first, then the issuing 17753CA(s) (bottom-up order). </p> 17754 17755<p> Example: the certificate for "server.example.com" was issued by 17756"intermediate CA" which itself has a certificate of "root CA". 17757Create the server.pem file with "cat server_cert.pem intermediate_CA.pem 17758root_CA.pem > server.pem". </p> 17759 17760<p> If you also want to verify client certificates issued by these 17761CAs, you can add the CA certificates to the <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, in which 17762case it is not necessary to have them in the <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>, 17763<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> 17764 17765<p> A certificate supplied here must be usable as an SSL server certificate 17766and hence pass the "openssl verify -purpose sslserver ..." test. </p> 17767 17768<p> Example: </p> 17769 17770<pre> 17771<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = /etc/postfix/server.pem 17772</pre> 17773 17774<p> This feature is available in Postfix 2.2 and later. </p> 17775 17776 17777</DD> 17778 17779<DT><b><a name="smtpd_tls_chain_files">smtpd_tls_chain_files</a> 17780(default: empty)</b></DT><DD> 17781 17782<p> List of one or more PEM files, each holding one or more private keys 17783directly followed by a corresponding certificate chain. The file names 17784are separated by commas and/or whitespace. This parameter obsoletes the 17785legacy algorithm-specific key and certificate file settings. When this 17786parameter is non-empty, the legacy parameters are ignored, and a warning 17787is logged if any are also non-empty. </p> 17788 17789<p> With the proliferation of multiple private key algorithms—which, 17790as of OpenSSL 1.1.1, include DSA (obsolete), RSA, ECDSA, Ed25519 17791and Ed448—it is increasingly impractical to use separate 17792parameters to configure the key and certificate chain for each 17793algorithm. Therefore, Postfix now supports storing multiple keys and 17794corresponding certificate chains in a single file or in a set of files. 17795 17796<p> Each key must appear <b>immediately before</b> the corresponding 17797certificate, optionally followed by additional issuer certificates that 17798complete the certificate chain for that key. When multiple files are 17799specified, they are equivalent to a single file that is concatenated 17800from those files in the given order. Thus, while a key must always 17801precede its certificate and issuer chain, it can be in a separate file, 17802so long as that file is listed immediately before the file that holds 17803the corresponding certificate chain. Once all the files are 17804concatenated, the sequence of PEM objects must be: <i>key1, cert1, 17805[chain1], key2, cert2, [chain2], ..., keyN, certN, [chainN].</i> </p> 17806 17807<p> Storing the private key in the same file as the corresponding 17808certificate is more reliable. With the key and certificate in separate 17809files, there is a chance that during key rollover a Postfix process 17810might load a private key and certificate from separate files that don't 17811match. Various operational errors may even result in a persistent 17812broken configuration in which the certificate does not match the private 17813key. </p> 17814 17815<p> The file or files must contain at most one key of each type. If, 17816for example, two or more RSA keys and corresponding chains are listed, 17817depending on the version of OpenSSL either only the last one will be 17818used or a configuration error may be detected. Note that while 17819"Ed25519" and "Ed448" are considered separate algorithms, the various 17820ECDSA curves (typically one of prime256v1, secp384r1 or secp521r1) are 17821considered as different parameters of a single "ECDSA" algorithm, so it 17822is not presently possible to configure keys for more than one ECDSA 17823curve. </p> 17824 17825<p> RSA is still the most widely supported algorithm. Presently (late 178262018), ECDSA support is common, but not yet universal, and Ed25519 and 17827Ed448 support is mostly absent. Therefore, an RSA key should generally 17828be configured, along with any additional keys for the other algorithms 17829when desired. </p> 17830 17831<p> 17832Example (separate files for each key and corresponding certificate chain): 17833</p> 17834<blockquote> 17835<pre> 17836/etc/postfix/<a href="postconf.5.html">main.cf</a>: 17837 <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> = 17838 ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed25519.pem, 17839 ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed448.pem, 17840 ${<a href="postconf.5.html#config_directory">config_directory</a>}/rsa.pem 17841</pre> 17842</blockquote> 17843 17844<blockquote> 17845<pre> 17846/etc/postfix/ed25519.pem: 17847 -----BEGIN PRIVATE KEY----- 17848 MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3 17849 -----END PRIVATE KEY----- 17850 -----BEGIN CERTIFICATE----- 17851 MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG 17852 ... 17853 nC0egv51YPDWxEHom4QA 17854 -----END CERTIFICATE----- 17855</pre> 17856</blockquote> 17857 17858<blockquote> 17859<pre> 17860/etc/postfix/ed448.pem: 17861 -----BEGIN PRIVATE KEY----- 17862 MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe 17863 LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A== 17864 -----END PRIVATE KEY----- 17865 -----BEGIN CERTIFICATE----- 17866 MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG 17867 ... 17868 pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA 17869 -----END CERTIFICATE----- 17870</pre> 17871</blockquote> 17872 17873<blockquote> 17874<pre> 17875/etc/postfix/rsa.pem: 17876 -----BEGIN PRIVATE KEY----- 17877 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL 17878 ... 17879 ahQkZ3+krcaJvDSMgvu0tDc= 17880 -----END PRIVATE KEY----- 17881 -----BEGIN CERTIFICATE----- 17882 MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL 17883 ... 17884 Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE= 17885 -----END CERTIFICATE----- 17886</pre> 17887</blockquote> 17888 17889<p> 17890Example (all keys and certificates in a single file): 17891</p> 17892<blockquote> 17893<pre> 17894/etc/postfix/<a href="postconf.5.html">main.cf</a>: 17895 <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 17896</pre> 17897</blockquote> 17898 17899<blockquote> 17900<pre> 17901/etc/postfix/chains.pem: 17902 -----BEGIN PRIVATE KEY----- 17903 MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3 17904 -----END PRIVATE KEY----- 17905 -----BEGIN CERTIFICATE----- 17906 MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG 17907 ... 17908 nC0egv51YPDWxEHom4QA 17909 -----END CERTIFICATE----- 17910 -----BEGIN PRIVATE KEY----- 17911 MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe 17912 LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A== 17913 -----END PRIVATE KEY----- 17914 -----BEGIN CERTIFICATE----- 17915 MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG 17916 ... 17917 pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA 17918 -----END CERTIFICATE----- 17919 -----BEGIN PRIVATE KEY----- 17920 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL 17921 ... 17922 ahQkZ3+krcaJvDSMgvu0tDc= 17923 -----END PRIVATE KEY----- 17924 -----BEGIN CERTIFICATE----- 17925 MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL 17926 ... 17927 Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE= 17928 -----END CERTIFICATE----- 17929</pre> 17930</blockquote> 17931 17932<p> This feature is available in Postfix 3.4 and later. </p> 17933 17934 17935</DD> 17936 17937<DT><b><a name="smtpd_tls_cipherlist">smtpd_tls_cipherlist</a> 17938(default: empty)</b></DT><DD> 17939 17940<p> Obsolete Postfix < 2.3 control for the Postfix SMTP server TLS 17941cipher list. It is easy to create interoperability problems by choosing 17942a non-default cipher list. Do not use a non-default TLS cipherlist for 17943MX hosts on the public Internet. Clients that begin the TLS handshake, 17944but are unable to agree on a common cipher, may not be able to send any 17945email to the SMTP server. Using a restricted cipher list may be more 17946appropriate for a dedicated MSA or an internal mailhub, where one can 17947exert some control over the TLS software and settings of the connecting 17948clients. </p> 17949 17950<p> <b>Note:</b> do not use "" quotes around the parameter value. </p> 17951 17952<p>This feature is available with Postfix version 2.2. It is not used with 17953Postfix 2.3 and later; use <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> instead. </p> 17954 17955 17956</DD> 17957 17958<DT><b><a name="smtpd_tls_ciphers">smtpd_tls_ciphers</a> 17959(default: medium)</b></DT><DD> 17960 17961<p> The minimum TLS cipher grade that the Postfix SMTP server 17962will use with opportunistic TLS encryption. Cipher types listed in 17963<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are excluded from the base definition of 17964the selected cipher grade. The default value is "medium" for Postfix 17965releases after the middle of 2015, "export" for older releases. 17966</p> 17967 17968<p> When TLS is mandatory the cipher grade is chosen via the 17969<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> configuration parameter, see there for syntax 17970details. </p> 17971 17972<p> This feature is available in Postfix 2.6 and later. With earlier Postfix 17973releases only the <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> parameter is implemented, 17974and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p> 17975 17976 17977</DD> 17978 17979<DT><b><a name="smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> 17980(default: empty)</b></DT><DD> 17981 17982<p> File with the Postfix SMTP server DSA certificate in PEM format. 17983This file may also contain the Postfix SMTP server private DSA key. 17984The DSA algorithm is obsolete and should not be used. </p> 17985 17986<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details. 17987</p> 17988 17989<p> Example: </p> 17990 17991<pre> 17992<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> = /etc/postfix/server-dsa.pem 17993</pre> 17994 17995<p> This feature is available in Postfix 2.2 and later. </p> 17996 17997 17998</DD> 17999 18000<DT><b><a name="smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> 18001(default: empty)</b></DT><DD> 18002 18003<p> File with DH parameters that the Postfix SMTP server should 18004use with non-export EDH ciphers. </p> 18005 18006<p> With Postfix ≥ 3.7, built with OpenSSL version is 3.0.0 or later, if the 18007parameter value is either empty or "<b>auto</b>", then the DH parameter 18008selection is delegated to the OpenSSL library, which selects appropriate 18009parameters based on the TLS handshake. This choice is likely to be the most 18010interoperable with SMTP clients using various TLS libraries, and custom local 18011parameters are no longer recommended when using Postfix ≥ 3.7 built against 18012OpenSSL 3.0.0. </p> 18013 18014<p> The best-practice choice of parameters uses a 2048-bit prime. This is fine, 18015despite the historical "1024" in the parameter name. Do not be tempted to use 18016much larger values, performance degrades quickly, and you may also cease to 18017interoperate with some mainstream SMTP clients. As of Postfix 3.1, the 18018compiled-in default prime is 2048-bits, and it is not strictly necessary, 18019though perhaps somewhat beneficial to generate custom DH parameters. </p> 18020 18021<p> Instead of using the exact same parameter sets as distributed 18022with other TLS packages, it is more secure to generate your own 18023set of parameters with something like the following commands: </p> 18024 18025<blockquote> 18026<pre> 18027openssl dhparam -out /etc/postfix/dh2048.pem 2048 18028openssl dhparam -out /etc/postfix/dh1024.pem 1024 18029# As of Postfix 3.6, export-grade 512-bit DH parameters are no longer 18030# supported or needed. 18031openssl dhparam -out /etc/postfix/dh512.pem 512 18032</pre> 18033</blockquote> 18034 18035<p> It is safe to share the same DH parameters between multiple 18036Postfix instances. If you prefer, you can generate separate 18037parameters for each instance. </p> 18038 18039<p> If you want to take maximal advantage of ciphers that offer <a 18040href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see 18041the <a href="FORWARD_SECRECY_README.html#quick-start">Getting 18042started</a> section of <a 18043href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The 18044full document conveniently presents all information about Postfix 18045"perfect" forward secrecy support in one place: what forward secrecy 18046is, how to tweak settings, and what you can expect to see when 18047Postfix uses ciphers with forward secrecy. </p> 18048 18049<p> Example: </p> 18050 18051<pre> 18052<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> = /etc/postfix/dh2048.pem 18053</pre> 18054 18055<p>This feature is available in Postfix 2.2 and later.</p> 18056 18057 18058</DD> 18059 18060<DT><b><a name="smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> 18061(default: empty)</b></DT><DD> 18062 18063<p> File with DH parameters that the Postfix SMTP server should 18064use with export-grade EDH ciphers. The default SMTP server cipher 18065grade is "medium" with Postfix releases after the middle of 2015, 18066and as a result export-grade cipher suites are by default not used. 18067</p> 18068 18069<p> With Postfix ≥ 3.6 export-grade Diffie-Hellman key exchange 18070is no longer supported, and this parameter is silently ignored. </p> 18071 18072<p> See also the discussion under the <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> 18073configuration parameter. </p> 18074 18075<p> Example: </p> 18076 18077<pre> 18078<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> = /etc/postfix/dh_512.pem 18079</pre> 18080 18081<p>This feature is available in Postfix 2.2 and later, 18082but is ignored in Postfix 3.6 and later.</p> 18083 18084 18085</DD> 18086 18087<DT><b><a name="smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> 18088(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD> 18089 18090<p> File with the Postfix SMTP server DSA private key in PEM format. 18091This file may be combined with the Postfix SMTP server DSA certificate 18092file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. The DSA algorithm is obsolete 18093and should not be used. </p> 18094 18095<p> The private key must be accessible without a pass-phrase, i.e. it 18096must not be encrypted. File permissions should grant read-only 18097access to the system superuser account ("root"), and no access 18098to anyone else. </p> 18099 18100<p> This feature is available in Postfix 2.2 and later. </p> 18101 18102 18103</DD> 18104 18105<DT><b><a name="smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> 18106(default: empty)</b></DT><DD> 18107 18108<p> File with the Postfix SMTP server ECDSA certificate in PEM format. 18109This file may also contain the Postfix SMTP server private ECDSA key. 18110With Postfix ≥ 3.4 the preferred way to configure server keys and 18111certificates is via the "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p> 18112 18113<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details. </p> 18114 18115<p> Example: </p> 18116 18117<pre> 18118<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> = /etc/postfix/ecdsa-scert.pem 18119</pre> 18120 18121<p> This feature is available in Postfix 2.6 and later, when Postfix is 18122compiled and linked with OpenSSL 1.0.0 or later. </p> 18123 18124 18125</DD> 18126 18127<DT><b><a name="smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> 18128(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD> 18129 18130<p> File with the Postfix SMTP server ECDSA private key in PEM format. 18131This file may be combined with the Postfix SMTP server ECDSA certificate 18132file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. With Postfix ≥ 3.4 the 18133preferred way to configure server keys and certificates is via the 18134"<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p> 18135 18136<p> The private key must be accessible without a pass-phrase, i.e. it 18137must not be encrypted. File permissions should grant read-only 18138access to the system superuser account ("root"), and no access 18139to anyone else. </p> 18140 18141<p> This feature is available in Postfix 2.6 and later, when Postfix is 18142compiled and linked with OpenSSL 1.0.0 or later. </p> 18143 18144 18145</DD> 18146 18147<DT><b><a name="smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> 18148(default: see "postconf -d" output)</b></DT><DD> 18149 18150<p> The Postfix SMTP server security grade for ephemeral elliptic-curve 18151Diffie-Hellman (EECDH) key exchange. As of Postfix 3.6, the value of 18152this parameter is always ignored, and Postfix behaves as though the 18153<b>auto</b> value (described below) was chosen. 18154</p> 18155 18156<p> The available choices are: </p> 18157 18158<dl> 18159 18160<dt><b>auto</b></dt> <dd> Use the most preferred curve that is 18161supported by both the client and the server. This setting requires 18162Postfix ≥ 3.2 compiled and linked with OpenSSL ≥ 1.0.2. This 18163is the default setting under the above conditions (and the only 18164setting used with Postfix ≥ 3.6). </dd> 18165 18166<dt><b>none</b></dt> <dd> Don't use EECDH. Ciphers based on EECDH key 18167exchange will be disabled. This is the default in Postfix versions 181682.6 and 2.7. </dd> 18169 18170<dt><b>strong</b></dt> <dd> Use EECDH with approximately 128 bits of 18171security at a reasonable computational cost. This is the default in 18172Postfix versions 2.8–3.5. </dd> 18173 18174<dt><b>ultra</b></dt> <dd> Use EECDH with approximately 192 bits of 18175security at computational cost that is approximately twice as high 18176as 128 bit strength ECC. </dd> 18177 18178</dl> 18179 18180<p> If you want to take maximal advantage of ciphers that offer <a 18181href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see 18182the <a href="FORWARD_SECRECY_README.html#quick-start">Getting 18183started</a> section of <a 18184href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The 18185full document conveniently presents all information about Postfix 18186"perfect" forward secrecy support in one place: what forward secrecy 18187is, how to tweak settings, and what you can expect to see when 18188Postfix uses ciphers with forward secrecy. </p> 18189 18190<p> This feature is available in Postfix 2.6 and later, when it is 18191compiled and linked with OpenSSL 1.0.0 or later on platforms 18192where EC algorithms have not been disabled by the vendor. </p> 18193 18194 18195</DD> 18196 18197<DT><b><a name="smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> 18198(default: empty)</b></DT><DD> 18199 18200<p> List of ciphers or cipher types to exclude from the SMTP server 18201cipher list at all TLS security levels. Excluding valid ciphers 18202can create interoperability problems. DO NOT exclude ciphers unless it 18203is essential to do so. This is not an OpenSSL cipherlist; it is a simple 18204list separated by whitespace and/or commas. The elements are a single 18205cipher, or one or more "+" separated cipher properties, in which case 18206only ciphers matching <b>all</b> the properties are excluded. </p> 18207 18208<p> Examples (some of these will cause problems): </p> 18209 18210<blockquote> 18211<pre> 18212<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL 18213<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = MD5, DES 18214<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = DES+MD5 18215<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5 18216<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = kEDH+aRSA 18217</pre> 18218</blockquote> 18219 18220<p> The first setting disables anonymous ciphers. The next setting 18221disables ciphers that use the MD5 digest algorithm or the (single) DES 18222encryption algorithm. The next setting disables ciphers that use MD5 and 18223DES together. The next setting disables the two ciphers "AES256-SHA" 18224and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH" 18225key exchange with RSA authentication. </p> 18226 18227<p> This feature is available in Postfix 2.3 and later. </p> 18228 18229 18230</DD> 18231 18232<DT><b><a name="smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> 18233(default: see "postconf -d" output)</b></DT><DD> 18234 18235<p> The message digest algorithm to construct remote SMTP client-certificate 18236fingerprints or public key fingerprints (Postfix 2.9 and later) for 18237<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> 18238 18239<p> The default algorithm is <b>sha256</b> with Postfix ≥ 3.6 18240and the <b><a href="postconf.5.html#compatibility_level">compatibility_level</a></b> set to 3.6 or higher. With Postfix 18241≤ 3.5, the default algorithm is <b>md5</b>. </p> 18242 18243<p> The best-practice algorithm is now <b>sha256</b>. Recent advances in hash 18244function cryptanalysis have led to md5 and sha1 being deprecated in favor of 18245sha256. However, as long as there are no known "second pre-image" attacks 18246against the older algorithms, their use in this context, though not 18247recommended, is still likely safe. </p> 18248 18249<p> While additional digest algorithms are often available with OpenSSL's 18250libcrypto, only those used by libssl in SSL cipher suites are available to 18251Postfix. You'll likely find support for md5, sha1, sha256 and sha512. </p> 18252 18253<p> To find the fingerprint of a specific certificate file, with a 18254specific digest algorithm, run: </p> 18255 18256<blockquote> 18257<pre> 18258$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem 18259</pre> 18260</blockquote> 18261 18262<p> The text to the right of "=" sign is the desired fingerprint. 18263For example: </p> 18264 18265<blockquote> 18266<pre> 18267$ openssl x509 -noout -fingerprint -sha256 -in cert.pem 18268SHA256 Fingerprint=D4:6A:AB:19:24:...:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A 18269</pre> 18270</blockquote> 18271 18272<p> To extract the public key fingerprint from an X.509 certificate, 18273you need to extract the public key from the certificate and compute 18274the appropriate digest of its DER (ASN.1) encoding. With OpenSSL 18275the "-pubkey" option of the "x509" command extracts the public 18276key always in "PEM" format. We pipe the result to another OpenSSL 18277command that converts the key to DER and then to the "dgst" command 18278to compute the fingerprint. </p> 18279 18280<p> Example: </p> 18281<blockquote> 18282<pre> 18283$ openssl x509 -in cert.pem -noout -pubkey | 18284 openssl pkey -pubin -outform DER | 18285 openssl dgst -sha256 -c 18286(stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58 18287</pre> 18288</blockquote> 18289 18290<p> The Postfix SMTP server and client log the peer (leaf) certificate 18291fingerprint and public key fingerprint when the TLS loglevel is 2 or 18292higher. </p> 18293 18294<p> Example: client-certificate access table, with sha256 fingerprints: </p> 18295 18296<blockquote> 18297<pre> 18298/etc/postfix/<a href="postconf.5.html">main.cf</a>: 18299 <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> = sha256 18300 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> = 18301 <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access, 18302 reject 18303</pre> 18304<pre> 18305/etc/postfix/access: 18306 # Action folded to next line... 18307 AF:88:7C:AD:51:95:6F:36:96:...:01:FB:2E:48:CD:AB:49:25:A2:3B 18308 OK 18309 85:16:78:FD:73:6E:CE:70:E0:...:5F:0D:3C:C8:6D:C4:2C:24:59:E1 18310 <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> 18311</pre> 18312</blockquote> 18313 18314<p> This feature is available in Postfix 2.5 and later. </p> 18315 18316 18317</DD> 18318 18319<DT><b><a name="smtpd_tls_key_file">smtpd_tls_key_file</a> 18320(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD> 18321 18322<p> File with the Postfix SMTP server RSA private key in PEM format. 18323This file may be combined with the Postfix SMTP server RSA certificate 18324file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>. With Postfix ≥ 3.4 the 18325preferred way to configure server keys and certificates is via the 18326"<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p> 18327 18328<p> The private key must be accessible without a pass-phrase, i.e. it 18329must not be encrypted. File permissions should grant read-only 18330access to the system superuser account ("root"), and no access 18331to anyone else. </p> 18332 18333 18334</DD> 18335 18336<DT><b><a name="smtpd_tls_loglevel">smtpd_tls_loglevel</a> 18337(default: 0)</b></DT><DD> 18338 18339<p> Enable additional Postfix SMTP server logging of TLS activity. 18340Each logging level also includes the information that is logged at 18341a lower logging level. </p> 18342 18343<dl compact> 18344 18345<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd> 18346 18347<dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion 18348— no logging of client certificate trust-chain verification errors 18349if client certificate verification is not required. With Postfix 2.8 and 18350earlier, log the summary message, peer certificate summary information 18351and unconditionally log trust-chain verification errors. </dd> 18352 18353<dt> </dt> <dd> 2 Also log levels during TLS negotiation. </dd> 18354 18355<dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation 18356process. </dd> 18357 18358<dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete 18359transmission after STARTTLS. </dd> 18360 18361</dl> 18362 18363<p> Do not use "<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> = 2" or higher except in case 18364of problems. Use of loglevel 4 is strongly discouraged. </p> 18365 18366<p> This feature is available in Postfix 2.2 and later. </p> 18367 18368 18369</DD> 18370 18371<DT><b><a name="smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> 18372(default: medium)</b></DT><DD> 18373 18374<p> The minimum TLS cipher grade that the Postfix SMTP server will 18375use with mandatory TLS encryption. The default grade ("medium") is 18376sufficiently strong that any benefit from globally restricting TLS 18377sessions to a more stringent grade is likely negligible, especially 18378given the fact that many implementations still do not offer any stronger 18379("high" grade) ciphers, while those that do, will always use "high" 18380grade ciphers. So insisting on "high" grade ciphers is generally 18381counter-productive. Allowing "export" or "low" ciphers is typically 18382not a good idea, as systems limited to just these are limited to 18383obsolete browsers. No known SMTP clients fail to support at least 18384one "medium" or "high" grade cipher. </p> 18385 18386<p> The following cipher grades are supported: </p> 18387 18388<dl> 18389<dt><b>high</b></dt> 18390<dd> Enable only "HIGH" grade OpenSSL ciphers. The 18391underlying cipherlist is specified via the <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a> 18392configuration parameter, which you are strongly encouraged to 18393not change. </dd> 18394 18395<dt><b>medium</b></dt> 18396<dd> Enable "MEDIUM" grade or stronger OpenSSL ciphers. These use 128-bit 18397or longer symmetric bulk-encryption keys. This is the default minimum 18398strength for mandatory TLS encryption. The underlying cipherlist is 18399specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a> configuration parameter, which 18400you are strongly encouraged not to change. </dd> 18401 18402<dt><b>null</b></dt> 18403<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication 18404without encryption. This setting is only appropriate in the rare 18405case that all clients are prepared to use NULL ciphers (not normally 18406enabled in TLS clients). The underlying cipherlist is specified via the 18407<a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> configuration parameter, which you are strongly 18408encouraged not to change. </dd> 18409 18410<dt><b>low</b></dt> 18411<dd> Enable "LOW" grade or stronger OpenSSL ciphers. In Postfix 18412≥ 3.8 this cipher grade is always identical to "medium". Recent 18413versions of OpenSSL do not support any "LOW" grade ciphers. In 18414earlier Postfix releases the underlying cipherlist was specified 18415via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration parameter, which you are 18416strongly encouraged not to change. This obsolete cipher grade 18417SHOULD NOT be used. </dd> 18418 18419<dt><b>export</b></dt> 18420<dd> Enable "EXPORT" grade or stronger OpenSSL ciphers. In Postfix 18421≥ 3.8 this cipher grade is always identical to "medium". Recent 18422versions of OpenSSL do not support any "EXPORT" grade ciphers. In 18423earlier Postfix releases the underlying cipherlist was specified 18424via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration parameter, which you are 18425strongly encouraged not to change. This obsolete cipher grade 18426SHOULD NOT be used. </dd> 18427 18428</dl> 18429 18430<p> Cipher types listed in 18431<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 18432excluded from the base definition of the selected cipher grade. See 18433<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> for cipher controls that apply to opportunistic 18434TLS. </p> 18435 18436<p> The underlying cipherlists for grades other than "null" include 18437anonymous ciphers, but these are automatically filtered out if the 18438server is configured to ask for remote SMTP client certificates. You are very 18439unlikely to need to take any steps to exclude anonymous ciphers, they 18440are excluded automatically as required. If you must exclude anonymous 18441ciphers even when Postfix does not need or use peer certificates, set 18442"<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only 18443when TLS is enforced, set "<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> = aNULL". </p> 18444 18445<p> This feature is available in Postfix 2.3 and later. </p> 18446 18447 18448</DD> 18449 18450<DT><b><a name="smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> 18451(default: empty)</b></DT><DD> 18452 18453<p> Additional list of ciphers or cipher types to exclude from the 18454Postfix SMTP server cipher list at mandatory TLS security levels. 18455This list 18456works in addition to the exclusions listed with <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> 18457(see there for syntax details). </p> 18458 18459<p> This feature is available in Postfix 2.3 and later. </p> 18460 18461 18462</DD> 18463 18464<DT><b><a name="smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> 18465(default: see "postconf -d" output)</b></DT><DD> 18466 18467<p> TLS protocols accepted by the Postfix SMTP server with mandatory TLS 18468encryption. If the list is empty, the server supports all available TLS 18469protocol versions. A non-empty value is a list of protocol names to 18470include or exclude, separated by whitespace, commas or colons. </p> 18471 18472<p> The valid protocol names (see SSL_get_version(3)) are "SSLv2", 18473"SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" and "TLSv1.3". Starting with 18474Postfix 3.6, the default value is ">=TLSv1", which sets TLS 1.0 as 18475the lowest supported TLS protocol version (see below). Older releases 18476use the "!" exclusion syntax, also described below. </p> 18477 18478<p> As of Postfix 3.6, the preferred way to limit the range of 18479acceptable protocols is to set the lowest acceptable TLS protocol 18480version and/or the highest acceptable TLS protocol version. To set the 18481lower bound include an element of the form: ">=<i>version</i>" where 18482<i>version</i> is a either one of the TLS protocol names listed above, 18483or a hexadecimal number corresponding to the desired TLS protocol 18484version (0301 for TLS 1.0, 0302 for TLS 1.1, etc.). For the upper 18485bound, use "<=<i>version</i>". There must be no whitespace between 18486the ">=" or "<=" symbols and the protocol name or number. </p> 18487 18488<p> Hexadecimal protocol numbers make it possible to specify protocol 18489bounds for TLS versions that are known to OpenSSL, but might not be 18490known to Postfix. They cannot be used with the legacy exclusion syntax. 18491Leading "0" or "0x" prefixes are supported, but not required. 18492Therefore, "301", "0301", "0x301" and "0x0301" are all equivalent to 18493"TLSv1". Hexadecimal versions unknown to OpenSSL will fail to set the 18494upper or lower bound, and a warning will be logged. Hexadecimal 18495versions should only be used when Postfix is linked with some future 18496version of OpenSSL that supports TLS 1.4 or later, but Postfix does not 18497yet support a symbolic name for that protocol version. </p> 18498 18499<p>Hexadecimal example (Postfix ≥ 3.6):</p> 18500<blockquote> 18501<pre> 18502# Allow only TLS 1.2 through (hypothetical) TLS 1.4, once supported 18503# in some future version of OpenSSL (presently a warning is logged). 18504<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = >=TLSv1.2, <=0305 18505# Allow only TLS 1.2 and up: 18506<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = >=0x0303 18507</pre> 18508</blockquote> 18509 18510<p> With Postfix < 3.6 there is no support for a minimum or maximum 18511version, and the protocol range is configured via protocol exclusions. 18512To require at least TLS 1.0, set "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = 18513!SSLv2, !SSLv3". Listing the protocols to include, rather than 18514protocols to exclude, is supported, but not recommended. The exclusion 18515form more accurately matches the underlying OpenSSL interface. </p> 18516 18517<p> Support for "TLSv1.3" was introduced in OpenSSL 1.1.1. Disabling 18518this protocol via "!TLSv1.3" is supported since Postfix 3.4 (or patch 18519releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2). </p> 18520 18521<p> Example: </p> 18522 18523<pre> 18524# Preferred syntax with Postfix ≥ 3.6: 18525<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = >=TLSv1.2, <=TLSv1.3 18526# Legacy syntax: 18527<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 18528</pre> 18529 18530<p> This feature is available in Postfix 2.3 and later. </p> 18531 18532 18533</DD> 18534 18535<DT><b><a name="smtpd_tls_protocols">smtpd_tls_protocols</a> 18536(default: see postconf -d output)</b></DT><DD> 18537 18538<p> TLS protocols accepted by the Postfix SMTP server with opportunistic 18539TLS encryption. If the list is empty, the server supports all available 18540TLS protocol versions. A non-empty value is a list of protocol names to 18541include or exclude, separated by whitespace, commas or colons. </p> 18542 18543<p> The valid protocol names (see SSL_get_version(3)) are "SSLv2", 18544"SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" and "TLSv1.3". Starting with 18545Postfix 3.6, the default value is ">=TLSv1", which sets TLS 1.0 as 18546the lowest supported TLS protocol version (see below). Older releases 18547use the "!" exclusion syntax, also described below. </p> 18548 18549<p> As of Postfix 3.6, the preferred way to limit the range of 18550acceptable protocols is to set the lowest acceptable TLS protocol 18551version and/or the highest acceptable TLS protocol version. To set the 18552lower bound include an element of the form: ">=<i>version</i>" where 18553<i>version</i> is a either one of the TLS protocol names listed above, 18554or a hexadecimal number corresponding to the desired TLS protocol 18555version (0301 for TLS 1.0, 0302 for TLS 1.1, etc.). For the upper 18556bound, use "<=<i>version</i>". There must be no whitespace between 18557the ">=" or "<=" symbols and the protocol name or number. </p> 18558 18559<p> Hexadecimal protocol numbers make it possible to specify protocol 18560bounds for TLS versions that are known to OpenSSL, but might not be 18561known to Postfix. They cannot be used with the legacy exclusion syntax. 18562Leading "0" or "0x" prefixes are supported, but not required. 18563Therefore, "301", "0301", "0x301" and "0x0301" are all equivalent to 18564"TLSv1". Hexadecimal versions unknown to OpenSSL will fail to set the 18565upper or lower bound, and a warning will be logged. Hexadecimal 18566versions should only be used when Postfix is linked with some future 18567version of OpenSSL that supports TLS 1.4 or later, but Postfix does not 18568yet support a symbolic name for that protocol version. </p> 18569 18570<p>Hexadecimal example (Postfix ≥ 3.6):</p> 18571<blockquote> 18572<pre> 18573# Allow only TLS 1.0 through (hypothetical) TLS 1.4, once supported 18574# in some future version of OpenSSL (presently a warning is logged). 18575<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = >=TLSv1, <=0305 18576# Allow only TLS 1.0 and up: 18577<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = >=0x0301 18578</pre> 18579</blockquote> 18580 18581<p> With Postfix < 3.6 there is no support for a minimum or maximum 18582version, and the protocol range is configured via protocol exclusions. 18583To require at least TLS 1.0, set "<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3". 18584Listing the protocols to include, rather than protocols to exclude, is 18585supported, but not recommended. The exclusion form more accurately 18586matches the underlying OpenSSL interface. </p> 18587 18588<p> Support for "TLSv1.3" was introduced in OpenSSL 1.1.1. Disabling 18589this protocol via "!TLSv1.3" is supported since Postfix 3.4 (or patch 18590releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2). </p> 18591 18592<p> Example: </p> 18593<pre> 18594# Preferred syntax with Postfix ≥ 3.6: 18595<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = >=TLSv1, <=TLSv1.3 18596# Legacy syntax: 18597<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3 18598</pre> 18599 18600<p> This feature is available in Postfix 2.6 and later. </p> 18601 18602 18603</DD> 18604 18605<DT><b><a name="smtpd_tls_received_header">smtpd_tls_received_header</a> 18606(default: no)</b></DT><DD> 18607 18608<p> Request that the Postfix SMTP server produces Received: message 18609headers that include information about the protocol and cipher used, 18610as well as the remote SMTP client CommonName and client certificate issuer 18611CommonName. This is disabled by default, as the information may 18612be modified in transit through other mail servers. Only information 18613that was recorded by the final destination can be trusted. </p> 18614 18615<p> This feature is available in Postfix 2.2 and later. </p> 18616 18617 18618</DD> 18619 18620<DT><b><a name="smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> 18621(default: no)</b></DT><DD> 18622 18623<p> With mandatory TLS encryption, require a trusted remote SMTP client 18624certificate in order to allow TLS connections to proceed. This 18625option implies "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes". </p> 18626 18627<p> When TLS encryption is optional, this setting is ignored with 18628a warning written to the mail log. </p> 18629 18630<p> This feature is available in Postfix 2.2 and later. </p> 18631 18632 18633</DD> 18634 18635<DT><b><a name="smtpd_tls_security_level">smtpd_tls_security_level</a> 18636(default: empty)</b></DT><DD> 18637 18638<p> The SMTP TLS security level for the Postfix SMTP server; when 18639a non-empty value is specified, this overrides the obsolete parameters 18640<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 18641"<a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> = yes". </p> 18642 18643<p> Specify one of the following security levels: </p> 18644 18645<dl> 18646 18647<dt><b>none</b></dt> <dd> TLS will not be used. </dd> 18648 18649<dt><b>may</b></dt> <dd> Opportunistic TLS: announce STARTTLS support 18650to remote SMTP clients, but do not require that clients use TLS encryption. 18651</dd> 18652 18653<dt><b>encrypt</b></dt> <dd>Mandatory TLS encryption: announce 18654STARTTLS support to remote SMTP clients, and require that clients use TLS 18655encryption. According to <a href="https://tools.ietf.org/html/rfc2487">RFC 2487</a> this MUST NOT be applied in case 18656of a publicly-referenced SMTP server. Instead, this option should 18657be used only on dedicated servers. </dd> 18658 18659</dl> 18660 18661<p> Note 1: the "fingerprint", "verify" and "secure" levels are not 18662supported here. 18663The Postfix SMTP server logs a warning and uses "encrypt" instead. 18664To verify remote SMTP client certificates, see <a href="TLS_README.html">TLS_README</a> for a discussion 18665of 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> 18666features. </p> 18667 18668<p> Note 2: The parameter setting "<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> = 18669encrypt" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes".</p> 18670 18671<p> Note 3: when invoked via "sendmail -bs", Postfix will never 18672offer STARTTLS due to insufficient privileges to access the server 18673private key. This is intended behavior.</p> 18674 18675<p> This feature is available in Postfix 2.3 and later. </p> 18676 18677 18678</DD> 18679 18680<DT><b><a name="smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> 18681(default: empty)</b></DT><DD> 18682 18683<p> Name of the file containing the optional Postfix SMTP server 18684TLS session cache. Specify a database type that supports enumeration, 18685such as <b>btree</b> or <b>sdbm</b>; there is no need to support 18686concurrent access. The file is created if it does not exist. The <a href="smtpd.8.html">smtpd(8)</a> 18687daemon does not use this parameter directly, rather the cache is 18688implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that 18689per-smtpd-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not 18690effective. Note that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a> 18691daemon: $<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> 18692(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 18693stored separately. It is not at this time possible to store multiple 18694caches in a single database. </p> 18695 18696<p> Note: <b>dbm</b> databases are not suitable. TLS 18697session objects are too large. </p> 18698 18699<p> As of version 2.5, Postfix no longer uses root privileges when 18700opening this file. The file should now be stored under the Postfix-owned 18701<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file 18702under a non-Postfix directory is redirected to the Postfix-owned 18703<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p> 18704 18705<p> As of Postfix 2.11 the preferred mechanism for session resumption 18706is <a href="https://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side 18707storage. Consequently, for Postfix ≥ 2.11 this parameter should 18708generally be left empty. TLS session tickets require an OpenSSL 18709library (at least version 0.9.8h) that provides full support for 18710this TLS extension. See also <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p> 18711 18712<p> Example: </p> 18713 18714<pre> 18715<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 18716</pre> 18717 18718<p> This feature is available in Postfix 2.2 and later. </p> 18719 18720 18721</DD> 18722 18723<DT><b><a name="smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> 18724(default: 3600s)</b></DT><DD> 18725 18726<p> The expiration time of Postfix SMTP server TLS session cache 18727information. A cache cleanup is performed periodically 18728every $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> seconds. As with 18729$<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, this parameter is implemented in the 18730<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtpd-instance <a href="master.5.html">master.cf</a> overrides 18731are not possible. </p> 18732 18733<p> As of Postfix 2.11 this setting cannot exceed 100 days. If set 18734≤ 0, session caching is disabled, not just via the database, but 18735also via <a href="https://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side 18736storage. If set to a positive value less than 2 minutes, the minimum 18737value of 2 minutes is used instead. TLS session tickets require 18738an OpenSSL library (at least version 0.9.8h) that provides full 18739support for this TLS extension. </p> 18740 18741<p> Specify a non-negative time value (an integral value plus an optional 18742one-letter suffix that specifies the time unit). Time units: s 18743(seconds), m (minutes), h (hours), d (days), w (weeks). 18744The default time unit is s (seconds). </p> 18745 18746<p> This feature is available in Postfix 2.2 and later, and updated 18747for TLS session ticket support in Postfix 2.11. </p> 18748 18749 18750</DD> 18751 18752<DT><b><a name="smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> 18753(default: no)</b></DT><DD> 18754 18755<p> Run the Postfix SMTP server in TLS "wrapper" mode, 18756instead of using the STARTTLS command. </p> 18757 18758<p> If you want to support this service, enable a special port in 18759<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 18760server's command line. Port 465 (submissions/smtps) is reserved for 18761this purpose. </p> 18762 18763<p> This feature is available in Postfix 2.2 and later. </p> 18764 18765 18766</DD> 18767 18768<DT><b><a name="smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> 18769(default: empty)</b></DT><DD> 18770 18771<p> The name of the proxy protocol used by an optional before-smtpd 18772proxy agent. When a proxy agent is used, this protocol conveys local 18773and remote address and port information. Specify 18774"<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> = haproxy" to enable the haproxy 18775protocol; version 2 is supported with Postfix 3.5 and later. </p> 18776 18777<p> NOTE: To use the nginx proxy with <a href="smtpd.8.html">smtpd(8)</a>, enable the XCLIENT 18778protocol with <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>. This supports SASL 18779authentication in the proxy agent (Postfix 2.9 and later). <p> 18780 18781<p> This feature is available in Postfix 2.10 and later. </p> 18782 18783 18784</DD> 18785 18786<DT><b><a name="smtpd_upstream_proxy_timeout">smtpd_upstream_proxy_timeout</a> 18787(default: 5s)</b></DT><DD> 18788 18789<p> The time limit for the proxy protocol specified with the 18790<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> parameter. </p> 18791 18792<p> Specify a non-zero time value (an integral value plus an optional 18793one-letter suffix that specifies the time unit). Time units: s 18794(seconds), m (minutes), h (hours), d (days), w (weeks). 18795The default time unit is s (seconds). </p> 18796 18797<p> This feature is available in Postfix 2.10 and later. </p> 18798 18799 18800</DD> 18801 18802<DT><b><a name="smtpd_use_tls">smtpd_use_tls</a> 18803(default: no)</b></DT><DD> 18804 18805<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients, 18806but do not require that clients use TLS encryption. </p> 18807 18808<p> Note: when invoked via "<b>sendmail -bs</b>", Postfix will never offer 18809STARTTLS due to insufficient privileges to access the server private 18810key. This is intended behavior. </p> 18811 18812<p> This feature is available in Postfix 2.2 and later. With 18813Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p> 18814 18815 18816</DD> 18817 18818<DT><b><a name="smtputf8_autodetect_classes">smtputf8_autodetect_classes</a> 18819(default: sendmail, verify)</b></DT><DD> 18820 18821<p> Detect that a message requires SMTPUTF8 support for the specified 18822mail origin classes. This is a workaround to avoid chicken-and-egg 18823problems during the initial SMTPUTF8 roll-out in environments with 18824pre-existing mail flows that contain UTF8. Those mail flows should 18825not break because Postfix suddenly refuses to deliver such mail 18826to down-stream MTAs that don't announce SMTPUTF8 support. </p> 18827 18828<p> The problem is that Postfix cannot rely solely on the sender's 18829declaration that a message requires SMTPUTF8 support, because UTF8 18830may be introduced during local processing (for example, the client 18831hostname in Postfix's Received: header, adding @$<a href="postconf.5.html#myorigin">myorigin</a> or 18832.$<a href="postconf.5.html#mydomain">mydomain</a> to an incomplete address, address rewriting, alias 18833expansion, automatic BCC recipients, local forwarding, and changes 18834made by header checks or Milter applications). </p> 18835 18836<p> For now, the default is to enable "SMTPUTF8 required" autodetection 18837only for Postfix sendmail command-line submissions and address 18838verification probes. This may change once SMTPUTF8 support achieves 18839world domination. However, sites that add UTF8 content via local 18840processing (see above) should autodetect the need for SMTPUTF8 18841support for all email.</p> 18842 18843<p> Specify one or more of the following: </p> 18844 18845<dl compact> 18846 18847<dt> <b> sendmail </b> </dt> <dd> Submission with the Postfix 18848<a href="sendmail.1.html">sendmail(1)</a> command. </dd> 18849 18850<dt> <b> smtpd </b> </dt> <dd> Mail received with the <a href="smtpd.8.html">smtpd(8)</a> 18851daemon. </dd> 18852 18853<dt> <b> qmqpd </b> </dt> <dd> Mail received with the <a href="qmqpd.8.html">qmqpd(8)</a> 18854daemon. </dd> 18855 18856<dt> <b> forward </b> </dt> <dd> Local forwarding or aliasing. When 18857a message is received with "SMTPUTF8 required", then the forwarded 18858(aliased) message always has "SMTPUTF8 required". </dd> 18859 18860<dt> <b> bounce </b> </dt> <dd> Submission by the <a href="bounce.8.html">bounce(8)</a> daemon. 18861When a message is received with "SMTPUTF8 required", then the 18862delivery status notification always has "SMTPUTF8 required". </dd> 18863 18864<dt> <b> notify </b> </dt> <dd> Postmaster notification from the 18865<a href="smtp.8.html">smtp(8)</a> or <a href="smtpd.8.html">smtpd(8)</a> daemon. </dd> 18866 18867<dt> <b> verify </b> </dt> <dd> Address verification probe from the 18868<a href="verify.8.html">verify(8)</a> daemon. </dd> 18869 18870<dt> <b> all </b> </dt> <dd> Enable SMTPUTF8 autodetection for all 18871mail. </dd> 18872 18873</dl> 18874 18875<p> This feature is available in Postfix 3.0 and later. </p> 18876 18877 18878</DD> 18879 18880<DT><b><a name="smtputf8_enable">smtputf8_enable</a> 18881(default: yes)</b></DT><DD> 18882 18883<p> Enable preliminary SMTPUTF8 support for the protocols described 18884in <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 18885built to support these protocols. </p> 18886 18887<p> This feature is available in Postfix 3.0 and later. </p> 18888 18889 18890</DD> 18891 18892<DT><b><a name="soft_bounce">soft_bounce</a> 18893(default: no)</b></DT><DD> 18894 18895<p> 18896Safety net to keep mail queued that would otherwise be returned to 18897the sender. This parameter disables locally-generated bounces, 18898changes the handling of negative responses from remote servers, 18899content filters or plugins, 18900and prevents the Postfix SMTP server from rejecting mail permanently 18901by changing 5xx reply codes into 4xx. However, <a href="postconf.5.html#soft_bounce">soft_bounce</a> is no 18902cure for address rewriting mistakes or mail routing mistakes. 18903</p> 18904 18905<p> 18906Note: "<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes" is in some cases implemented by modifying 18907server responses. Therefore, the response that Postfix logs may 18908differ from the response that Postfix actually sends or receives. 18909</p> 18910 18911<p> 18912Example: 18913</p> 18914 18915<pre> 18916<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes 18917</pre> 18918 18919 18920</DD> 18921 18922<DT><b><a name="stale_lock_time">stale_lock_time</a> 18923(default: 500s)</b></DT><DD> 18924 18925<p> 18926The time after which a stale exclusive mailbox lockfile is removed. 18927This is used for delivery to file or mailbox. 18928</p> 18929 18930<p> Specify a non-zero time value (an integral value plus an optional 18931one-letter suffix that specifies the time unit). Time units: s 18932(seconds), m (minutes), h (hours), d (days), w (weeks). 18933The default time unit is s (seconds). </p> 18934 18935 18936</DD> 18937 18938<DT><b><a name="stress">stress</a> 18939(default: empty)</b></DT><DD> 18940 18941<p> This feature is documented in the <a href="STRESS_README.html">STRESS_README</a> document. </p> 18942 18943<p> This feature is available in Postfix 2.5 and later. </p> 18944 18945 18946</DD> 18947 18948<DT><b><a name="strict_7bit_headers">strict_7bit_headers</a> 18949(default: no)</b></DT><DD> 18950 18951<p> 18952Reject mail with 8-bit text in message headers. This blocks mail 18953from poorly written applications. 18954</p> 18955 18956<p> 18957This feature should not be enabled on a general purpose mail server, 18958because it is likely to reject legitimate email. 18959</p> 18960 18961<p> 18962This feature is available in Postfix 2.0 and later. 18963</p> 18964 18965 18966</DD> 18967 18968<DT><b><a name="strict_8bitmime">strict_8bitmime</a> 18969(default: no)</b></DT><DD> 18970 18971<p> 18972Enable 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>. 18973</p> 18974 18975<p> 18976This feature should not be enabled on a general purpose mail server, 18977because it is likely to reject legitimate email. 18978</p> 18979 18980<p> 18981This feature is available in Postfix 2.0 and later. 18982</p> 18983 18984 18985</DD> 18986 18987<DT><b><a name="strict_8bitmime_body">strict_8bitmime_body</a> 18988(default: no)</b></DT><DD> 18989 18990<p> 18991Reject 8-bit message body text without 8-bit MIME content encoding 18992information. This blocks mail from poorly written applications. 18993</p> 18994 18995<p> 18996Unfortunately, this also rejects majordomo approval requests when 18997the included request contains valid 8-bit MIME mail, and it rejects 18998bounces from mailers that do not MIME encapsulate 8-bit content 18999(for example, bounces from qmail or from old versions of Postfix). 19000</p> 19001 19002<p> 19003This feature should not be enabled on a general purpose mail server, 19004because it is likely to reject legitimate email. 19005</p> 19006 19007<p> 19008This feature is available in Postfix 2.0 and later. 19009</p> 19010 19011 19012</DD> 19013 19014<DT><b><a name="strict_mailbox_ownership">strict_mailbox_ownership</a> 19015(default: yes)</b></DT><DD> 19016 19017<p> Defer delivery when a mailbox file is not owned by its recipient. 19018The default setting is not backwards compatible. </p> 19019 19020<p> This feature is available in Postfix 2.5.3 and later. </p> 19021 19022 19023</DD> 19024 19025<DT><b><a name="strict_mime_encoding_domain">strict_mime_encoding_domain</a> 19026(default: no)</b></DT><DD> 19027 19028<p> 19029Reject mail with invalid Content-Transfer-Encoding: information 19030for the message/* or multipart/* MIME content types. This blocks 19031mail from poorly written software. 19032</p> 19033 19034<p> 19035This feature should not be enabled on a general purpose mail server, 19036because it will reject mail after a single violation. 19037</p> 19038 19039<p> 19040This feature is available in Postfix 2.0 and later. 19041</p> 19042 19043 19044</DD> 19045 19046<DT><b><a name="strict_rfc821_envelopes">strict_rfc821_envelopes</a> 19047(default: no)</b></DT><DD> 19048 19049<p> 19050Require that addresses received in SMTP MAIL FROM and RCPT TO 19051commands are enclosed with <>, and that those addresses do 19052not contain <a href="https://tools.ietf.org/html/rfc822">RFC 822</a> style comments or phrases. This stops mail 19053from poorly written software. 19054</p> 19055 19056<p> 19057By default, the Postfix SMTP server accepts <a href="https://tools.ietf.org/html/rfc822">RFC 822</a> syntax in MAIL 19058FROM and RCPT TO addresses. 19059</p> 19060 19061 19062</DD> 19063 19064<DT><b><a name="strict_smtputf8">strict_smtputf8</a> 19065(default: no)</b></DT><DD> 19066 19067<p> Enable stricter enforcement of the SMTPUTF8 protocol. The Postfix 19068SMTP server accepts UTF8 sender or recipient addresses only when 19069the client requests an SMTPUTF8 mail transaction. </p> 19070 19071<p> This feature is available in Postfix 3.0 and later. </p> 19072 19073 19074</DD> 19075 19076<DT><b><a name="sun_mailtool_compatibility">sun_mailtool_compatibility</a> 19077(default: no)</b></DT><DD> 19078 19079<p> 19080Obsolete SUN mailtool compatibility feature. Instead, use 19081"<a href="postconf.5.html#mailbox_delivery_lock">mailbox_delivery_lock</a> = dotlock". 19082</p> 19083 19084 19085</DD> 19086 19087<DT><b><a name="swap_bangpath">swap_bangpath</a> 19088(default: yes)</b></DT><DD> 19089 19090<p> 19091Enable the rewriting of "site!user" into "user@site". This is 19092necessary if your machine is connected to UUCP networks. It is 19093enabled by default. 19094</p> 19095 19096<p> Note: with Postfix version 2.2, message header address rewriting 19097happens only when one of the following conditions is true: </p> 19098 19099<ul> 19100 19101<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, 19102 19103<li> The message is received from a network client that matches 19104$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>, 19105 19106<li> The message is received from the network, and the 19107<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value. 19108 19109</ul> 19110 19111<p> To get the behavior before Postfix version 2.2, specify 19112"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p> 19113 19114<p> 19115Example: 19116</p> 19117 19118<pre> 19119<a href="postconf.5.html#swap_bangpath">swap_bangpath</a> = no 19120</pre> 19121 19122 19123</DD> 19124 19125<DT><b><a name="syslog_facility">syslog_facility</a> 19126(default: mail)</b></DT><DD> 19127 19128<p> 19129The syslog facility of Postfix logging. Specify a facility as 19130defined in syslog.conf(5). The default facility is "mail". 19131</p> 19132 19133<p> 19134Warning: a non-default <a href="postconf.5.html#syslog_facility">syslog_facility</a> setting takes effect only 19135after a Postfix process has completed initialization. Errors during 19136process initialization will be logged with the default facility. 19137Examples are errors while parsing the command line arguments, and 19138errors while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file. 19139</p> 19140 19141 19142</DD> 19143 19144<DT><b><a name="syslog_name">syslog_name</a> 19145(default: see "postconf -d" output)</b></DT><DD> 19146 19147<p> 19148A prefix that is prepended to the process name in syslog 19149records, so that, for example, "smtpd" becomes "prefix/smtpd". 19150</p> 19151 19152<p> 19153Warning: a non-default <a href="postconf.5.html#syslog_name">syslog_name</a> setting takes effect only after 19154a Postfix process has completed initialization. Errors during 19155process initialization will be logged with the default name. Examples 19156are errors while parsing the command line arguments, and errors 19157while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file. 19158</p> 19159 19160 19161</DD> 19162 19163<DT><b><a name="tcp_windowsize">tcp_windowsize</a> 19164(default: 0)</b></DT><DD> 19165 19166<p> An optional workaround for routers that break TCP window scaling. 19167Specify a value > 0 and < 65536 to enable this feature. With 19168Postfix TCP servers (<a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a>), this feature is implemented 19169by the Postfix <a href="master.8.html">master(8)</a> daemon. </p> 19170 19171<p> To change this parameter without stopping Postfix, you need to 19172first terminate all Postfix TCP servers: </p> 19173 19174<blockquote> 19175<pre> 19176# postconf -e <a href="postconf.5.html#master_service_disable">master_service_disable</a>=inet 19177# postfix reload 19178</pre> 19179</blockquote> 19180 19181<p> This immediately terminates all processes that accept network 19182connections. Next, you enable Postfix TCP servers with the updated 19183<a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> setting: </p> 19184 19185<blockquote> 19186<pre> 19187# 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>= 19188# postfix reload 19189</pre> 19190</blockquote> 19191 19192<p> If you skip these steps with a running Postfix system, then the 19193<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>, 19194<a href="lmtp.8.html">lmtp(8)</a>). </p> 19195 19196<p> This feature is available in Postfix 2.6 and later. </p> 19197 19198 19199</DD> 19200 19201<DT><b><a name="tls_append_default_CA">tls_append_default_CA</a> 19202(default: no)</b></DT><DD> 19203 19204<p> Append the system-supplied default Certification Authority 19205certificates to the ones specified with *_tls_CApath or *_tls_CAfile. 19206The default is "no"; this prevents Postfix from trusting third-party 19207certificates and giving them relay permission with 19208<a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p> 19209 19210<p> This feature is available in Postfix 2.4.15, 2.5.11, 2.6.8, 192112.7.2 and later versions. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = yes" for 19212backwards compatibility, to avoid breaking certificate verification 19213with sites that don't use <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p> 19214 19215 19216</DD> 19217 19218<DT><b><a name="tls_config_file">tls_config_file</a> 19219(default: default)</b></DT><DD> 19220 19221<p> Optional configuration file with baseline OpenSSL settings. 19222OpenSSL loads any SSL settings found in the configuration file for 19223the selected application name (see <a href="postconf.5.html#tls_config_name">tls_config_name</a>) or else the 19224built-in application name "openssl_conf" when no application name is 19225specified, or no corresponding configuration section is present. 19226</p> 19227 19228<p> With OpenSSL releases 1.1.1 and 1.1.1a, applications (including 19229Postfix) can neither specify an alternative configuration file, nor 19230avoid loading the default configuration file. </p> 19231 19232<p> With OpenSSL 1.1.1b or later, this parameter may be set to one of: 19233</p> 19234 19235<dl> 19236 19237<dt> <b>default</b> (default) </dt> <dd> Load the system-wide 19238"openssl.cnf" configuration file. </dd> 19239 19240<dt> <b>none</b> (recommended, OpenSSL 1.1.1b or later only) </dt> 19241<dd> This setting disables loading of the system-wide "openssl.cnf" 19242file. </dd> 19243 19244<dt> <b><i>/absolute-path</i></b> (OpenSSL 1.1.1b or later only) </dt> 19245<dd> Load the configuration file specified by <i>/absolute-path</i>. 19246With this setting it is an error for the file to not contain any 19247settings for the selected <a href="postconf.5.html#tls_config_name">tls_config_name</a>. There is no fallback to 19248the default "openssl_conf" name. </dd> 19249 19250</dl> 19251 19252<p> Failures in processing of the built-in default configuration file, 19253are silently ignored. Any errors in loading a non-default configuration 19254file are detected by Postfix, and cause TLS support to be disabled. 19255</p> 19256 19257<p> The OpenSSL configuration file format is not documented here, 19258beyond giving two examples. <p> 19259 19260<p> Example: Default settings for all applications. </p> 19261 19262<blockquote> 19263<pre> 19264# The name 'openssl_conf' is the default application name 19265# The section name to the right of the '=' sign is arbitrary, 19266# any name will do, so long as it refers to the desired section. 19267# 19268# The name 'system_default' selects the settings applied internally 19269# by the SSL library as part of SSL object creation. Applications 19270# can then apply any additional settings of their choice. 19271# 19272# In this example, TLS versions prior to 1.2 are disabled by default. 19273# 19274openssl_conf = system_wide_settings 19275[system_wide_settings] 19276ssl_conf = ssl_library_settings 19277[ssl_library_settings] 19278system_default = initial_ssl_settings 19279[initial_ssl_settings] 19280MinProtocol = TLSv1.2 19281</pre> 19282</blockquote> 19283 19284<p> Example: Custom settings for an application named "postfix". </p> 19285 19286<blockquote> 19287<pre> 19288# The mapping from an application name to the corresponding configuration 19289# section must appear near the top of the file, (in what is sometimes called 19290# the "default section") prior to the start of any explicitly named 19291# "[sections]". The named sections can appear in any order and don't nest. 19292# 19293postfix = postfix_settings 19294[postfix_settings] 19295ssl_conf = postfix_ssl_settings 19296[postfix_ssl_settings] 19297system_default = baseline_postfix_settings 19298[baseline_postfix_settings] 19299MinProtocol = TLSv1 19300</pre> 19301</blockquote> 19302 19303<p> This feature is available in Postfix ≥ 3.9, 3.8.1, 3.7.6, 193043.6.10, and 3.5.20. </p> 19305 19306 19307</DD> 19308 19309<DT><b><a name="tls_config_name">tls_config_name</a> 19310(default: empty)</b></DT><DD> 19311 19312<p> The application name passed by Postfix to OpenSSL library 19313initialization functions. This name is used to select the desired 19314configuration "section" in the OpenSSL configuration file specified 19315via the <a href="postconf.5.html#tls_config_file">tls_config_file</a> parameter. When empty, or when the 19316selected name is not present in the configuration file, the default 19317application name ("openssl_conf") is used as a fallback. </p> 19318 19319<p> This feature is available in Postfix ≥ 3.9, 3.8.1, 3.7.6, 193203.6.10, and 3.5.20. </p> 19321 19322 19323</DD> 19324 19325<DT><b><a name="tls_daemon_random_bytes">tls_daemon_random_bytes</a> 19326(default: 32)</b></DT><DD> 19327 19328<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> 19329process requests from the <a href="tlsmgr.8.html">tlsmgr(8)</a> server in order to seed its 19330internal pseudo random number generator (PRNG). The default of 32 19331bytes (equivalent to 256 bits) is sufficient to generate a 128bit 19332(or 168bit) session key. </p> 19333 19334<p> This feature is available in Postfix 2.2 and later. </p> 19335 19336 19337</DD> 19338 19339<DT><b><a name="tls_dane_digest_agility">tls_dane_digest_agility</a> 19340(default: on)</b></DT><DD> 19341 19342<p> Configure <a href="https://tools.ietf.org/html/rfc7671">RFC7671</a> DANE TLSA digest algorithm agility. 19343Do not change this setting from its default value. </p> 19344 19345<p> See Section 8 of <a href="https://tools.ietf.org/html/rfc7671">RFC7671</a> for correct key rotation procedures. </p> 19346 19347<p> This feature is available in Postfix 2.11 through 3.1. Postfix 193483.2 and later ignore this configuration parameter and behave as 19349though it were set to "on". </p> 19350 19351 19352</DD> 19353 19354<DT><b><a name="tls_dane_digests">tls_dane_digests</a> 19355(default: sha512 sha256)</b></DT><DD> 19356 19357<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 19358type" digest algorithms in descending preference order. All the 19359specified algorithms must be supported by the underlying OpenSSL 19360library, otherwise the Postfix SMTP client will not support DANE 19361TLSA security. </p> 19362 19363<p> Specify a list of digest names separated by commas and/or 19364whitespace. Each digest name may be followed by an optional 19365"=<number>" suffix. For example, "sha512" may instead be specified 19366as "sha512=2" and "sha256" may instead be specified as "sha256=1". 19367The optional number must match the <a 19368href="https://www.iana.org/assignments/dane-parameters/dane-parameters.xhtml#matching-types" 19369>IANA</a> assigned TLSA matching type number the algorithm in question. 19370Postfix will check this constraint for the algorithms it knows about. 19371Additional matching type algorithms registered with IANA can be added 19372with explicit numbers provided they are supported by OpenSSL. </p> 19373 19374<p> Invalid list elements are logged with a warning and disable DANE 19375support. TLSA RRs that specify digests not included in the list are 19376ignored with a warning. </p> 19377 19378<p> Note: It is unwise to omit sha256 from the digest list. This 19379digest algorithm is the only mandatory to implement digest algorithm 19380in <a href="https://tools.ietf.org/html/rfc6698">RFC 6698</a>, and many servers are expected to publish TLSA records 19381with just sha256 digests. Unless one of the standard digests is 19382seriously compromised and servers have had ample time to update their 19383TLSA records you should not omit any standard digests, just arrange 19384them in order from strongest to weakest. </p> 19385 19386<p> This feature is available in Postfix 2.11 and later. </p> 19387 19388 19389</DD> 19390 19391<DT><b><a name="tls_dane_trust_anchor_digest_enable">tls_dane_trust_anchor_digest_enable</a> 19392(default: yes)</b></DT><DD> 19393 19394<p> Enable support for <a href="https://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE TLSA) DNS records that contain 19395digests of trust-anchors with certificate usage "2". Do not change 19396this setting from its default value. </p> 19397 19398<p> This feature is available in Postfix 2.11 through 3.1. It has 19399been withdrawn in Postfix 3.2, as trust-anchor TLSA records are now 19400widely used and have proved sufficiently reliable. Postfix 3.2 and 19401later ignore this configuration parameter and behaves as though it 19402were set to "yes". </p> 19403 19404 19405</DD> 19406 19407<DT><b><a name="tls_disable_workarounds">tls_disable_workarounds</a> 19408(default: see "postconf -d" output)</b></DT><DD> 19409 19410<p> List or bit-mask of OpenSSL bug work-arounds to disable. </p> 19411 19412<p> The OpenSSL toolkit includes a set of work-arounds for buggy SSL/TLS 19413implementations. Applications, such as Postfix, that want to maximize 19414interoperability ask the OpenSSL library to enable the full set of 19415recommended work-arounds. </p> 19416 19417<p> From time to time, it is discovered that a work-around creates a 19418security issue, and should no longer be used. If upgrading OpenSSL 19419to a fixed version is not an option or an upgrade is not available 19420in a timely manner, or in closed environments where no buggy clients 19421or servers exist, it may be appropriate to disable some or all of the 19422OpenSSL interoperability work-arounds. This parameter specifies which 19423bug work-arounds to disable. </p> 19424 19425<p> If the value of the parameter is a hexadecimal long integer starting 19426with "0x", the bug work-arounds corresponding to the bits specified in 19427its value are removed from the <b>SSL_OP_ALL</b> work-around bit-mask 19428(see openssl/ssl.h and SSL_CTX_set_options(3)). You can specify more 19429bits than are present in SSL_OP_ALL, excess bits are ignored. Specifying 194300xFFFFFFFF disables all bug-workarounds on a 32-bit system. This should 19431also be sufficient on 64-bit systems, until OpenSSL abandons support 19432for 32-bit systems and starts using the high 32 bits of a 64-bit 19433bug-workaround mask. </p> 19434 19435<p> Otherwise, the parameter is a white-space or comma separated list 19436of specific named bug work-arounds chosen from the list below. It 19437is possible that your OpenSSL version includes new bug work-arounds 19438added after your Postfix source code was last updated, in that case 19439you can only disable one of these via the hexadecimal syntax above. </p> 19440 19441<dl> 19442 19443<dt><b>CRYPTOPRO_TLSEXT_BUG</b></dt> <dd>New with GOST support in 19444OpenSSL 1.0.0.</dd> 19445 19446<dt><b>DONT_INSERT_EMPTY_FRAGMENTS</b></dt> <dd>See 19447SSL_CTX_set_options(3)</dd> 19448 19449<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3)</dd> 19450 19451<dt><b>MICROSOFT_BIG_SSLV3_BUFFER</b></dt> <dd>See 19452SSL_CTX_set_options(3)</dd> 19453 19454<dt><b>MICROSOFT_SESS_ID_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd> 19455 19456<dt><b>MSIE_SSLV2_RSA_PADDING</b></dt> <dd> also aliased as 19457<b>CVE-2005-2969</b>. Postfix 2.8 disables this work-around by 19458default with OpenSSL versions that may predate the fix. Fixed in 19459OpenSSL 0.9.7h and OpenSSL 0.9.8a.</dd> 19460 19461<dt><b>NETSCAPE_CHALLENGE_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd> 19462 19463<dt><b>NETSCAPE_REUSE_CIPHER_CHANGE_BUG</b></dt> <dd> also aliased 19464as <b>CVE-2010-4180</b>. Postfix 2.8 disables this work-around by 19465default with OpenSSL versions that may predate the fix. Fixed in 19466OpenSSL 0.9.8q and OpenSSL 1.0.0c.</dd> 19467 19468<dt><b>SSLEAY_080_CLIENT_DH_BUG</b></dt> <dd>See 19469SSL_CTX_set_options(3)</dd> 19470 19471<dt><b>SSLREF2_REUSE_CERT_TYPE_BUG</b></dt> <dd>See 19472SSL_CTX_set_options(3)</dd> 19473 19474<dt><b>TLS_BLOCK_PADDING_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd> 19475 19476<dt><b>TLS_D5_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd> 19477 19478<dt><b>TLS_ROLLBACK_BUG</b></dt> <dd>See SSL_CTX_set_options(3). 19479This is disabled in OpenSSL 0.9.7 and later. Nobody should still 19480be using 0.9.6! </dd> 19481 19482<dt><b>TLSEXT_PADDING</b></dt><dd>Postfix ≥ 3.4. See SSL_CTX_set_options(3).</dd> 19483 19484</dl> 19485 19486<p> This feature is available in Postfix 2.8 and later. </p> 19487 19488 19489</DD> 19490 19491<DT><b><a name="tls_eecdh_auto_curves">tls_eecdh_auto_curves</a> 19492(default: see "postconf -d" output)</b></DT><DD> 19493 19494<p> The prioritized list of elliptic curves supported by the Postfix 19495SMTP client and server. These curves are used by the Postfix SMTP 19496server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = auto". The selected curves must be 19497implemented by OpenSSL and be standardized for use in TLS (<a href="https://tools.ietf.org/html/rfc8422">RFC 8422</a>). 19498It is unwise to list only "bleeding-edge" curves supported by a small 19499subset of clients. The default list is suitable for most users. </p> 19500 19501<p> Postfix skips curve names that are unknown to OpenSSL, or that 19502are known but not yet implemented. This makes it possible to 19503"anticipate" support for curves that should be used once they become 19504available. In particular, in some OpenSSL versions, the new <a href="https://tools.ietf.org/html/rfc8031">RFC</a> 19505<a href="https://tools.ietf.org/html/rfc8031">8031</a> curves "X25519" and "X448" may be known by name, but ECDH 19506support for either or both may be missing. These curves may appear 19507in the default value of this parameter, even though they'll only 19508be usable with later versions of OpenSSL. </p> 19509 19510<p> See also the "<a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a>" parameter, which supports 19511customizing the list of FFDHE groups enabled with TLS 1.3. That setting 19512is introduced with Postfix 3.8, when built against OpenSSL 3.0 or later. 19513</p> 19514 19515<p> This feature is available in Postfix 3.2 and later, when it is 19516compiled and linked with OpenSSL 1.0.2 or later on platforms where 19517EC algorithms have not been disabled by the vendor. </p> 19518 19519 19520</DD> 19521 19522<DT><b><a name="tls_eecdh_strong_curve">tls_eecdh_strong_curve</a> 19523(default: prime256v1)</b></DT><DD> 19524 19525<p> The elliptic curve used by the Postfix SMTP server for sensibly 19526strong 19527ephemeral ECDH key exchange. This curve is used by the Postfix SMTP 19528server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The phrase "sensibly 19529strong" means approximately 128-bit security based on best known 19530attacks. The selected curve must be implemented by OpenSSL (as 19531reported by ecparam(1) with the "-list_curves" option) and be one 19532of the curves listed in Section 5.1.1 of <a href="https://tools.ietf.org/html/rfc8422">RFC 8422</a>. You should not 19533generally change this setting. Remote SMTP client implementations 19534must support this curve for EECDH key exchange to take place. It 19535is unwise to choose only "bleeding-edge" curves supported by only a 19536small subset of clients. </p> 19537 19538<p> The default "strong" curve is rated in NSA <a 19539href="https://web.archive.org/web/20160330034144/https://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite 19540B</a> for information classified up to SECRET. </p> 19541 19542<p> Note: elliptic curve names are poorly standardized; different 19543standards groups are assigning different names to the same underlying 19544curves. The curve with the X9.62 name "prime256v1" is also known 19545under the SECG name "secp256r1", but OpenSSL does not recognize the 19546latter name. </p> 19547 19548<p> If you want to take maximal advantage of ciphers that offer <a 19549href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see 19550the <a href="FORWARD_SECRECY_README.html#quick-start">Getting 19551started</a> section of <a 19552href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The 19553full document conveniently presents all information about Postfix 19554"perfect" forward secrecy support in one place: what forward secrecy 19555is, how to tweak settings, and what you can expect to see when 19556Postfix uses ciphers with forward secrecy. </p> 19557 19558<p> This feature is available in Postfix 2.6 and later, when it is 19559compiled and linked with OpenSSL 1.0.0 or later on platforms where 19560EC algorithms have not been disabled by the vendor. </p> 19561 19562 19563</DD> 19564 19565<DT><b><a name="tls_eecdh_ultra_curve">tls_eecdh_ultra_curve</a> 19566(default: secp384r1)</b></DT><DD> 19567 19568<p> The elliptic curve used by the Postfix SMTP server for maximally 19569strong 19570ephemeral ECDH key exchange. This curve is used by the Postfix SMTP 19571server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = ultra". The phrase "maximally 19572strong" means approximately 192-bit security based on best known attacks. 19573This additional strength comes at a significant computational cost, most 19574users should instead set "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The selected 19575curve must be implemented by OpenSSL (as reported by ecparam(1) with the 19576"-list_curves" option) and be one of the curves listed in Section 5.1.1 19577of <a href="https://tools.ietf.org/html/rfc8422">RFC 8422</a>. You should not generally change this setting. Remote SMTP 19578client implementations must support this curve for EECDH key exchange 19579to take place. It is unwise to choose only "bleeding-edge" curves 19580supported by only a small subset of clients. </p> 19581 19582<p> This default "ultra" curve is rated in NSA <a 19583href="https://web.archive.org/web/20160330034144/https://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite 19584B</a> for information classified up to TOP SECRET. </p> 19585 19586<p> If you want to take maximal advantage of ciphers that offer <a 19587href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see 19588the <a href="FORWARD_SECRECY_README.html#quick-start">Getting 19589started</a> section of <a 19590href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The 19591full document conveniently presents all information about Postfix 19592"perfect" forward secrecy support in one place: what forward secrecy 19593is, how to tweak settings, and what you can expect to see when 19594Postfix uses ciphers with forward secrecy. </p> 19595 19596<p> This feature is available in Postfix 2.6 and later, when it is 19597compiled and linked with OpenSSL 1.0.0 or later on platforms where 19598EC algorithms have not been disabled by the vendor. </p> 19599 19600 19601</DD> 19602 19603<DT><b><a name="tls_export_cipherlist">tls_export_cipherlist</a> 19604(default: see "postconf -d" output)</b></DT><DD> 19605 19606<p> The OpenSSL cipherlist for "export" or higher grade ciphers. 19607Ignored as of Postfix 3.8. In earlier Postfix releases this 19608defined the meaning of the "export" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>, 19609<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>, 19610<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 19611<a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly encouraged not to 19612change this setting. </p> 19613 19614<p> This feature is available in Postfix 2.3 and later. </p> 19615 19616 19617</DD> 19618 19619<DT><b><a name="tls_fast_shutdown_enable">tls_fast_shutdown_enable</a> 19620(default: yes)</b></DT><DD> 19621 19622<p> A workaround for implementations that hang Postfix while shutting 19623down a TLS session, until Postfix times out. With this enabled, 19624Postfix will not wait for the remote TLS peer to respond to a TLS 19625'close' notification. This behavior is recommended for TLSv1.0 and 19626later. </p> 19627 19628 19629</DD> 19630 19631<DT><b><a name="tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a> 19632(default: see "postconf -d" output)</b></DT><DD> 19633 19634<p> The prioritized list of finite-field Diffie-Hellman ephemeral 19635(FFDHE) key exchange groups supported by the Postfix SMTP client and 19636server. OpenSSL 3.0 adds support for FFDHE key agreement in TLS 1.3. 19637In OpenSSL 1.1.1, TLS 1.3 was only supported with elliptic-curve based 19638key agreement. The "<a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a>" parameter makes it possible 19639to configure the list of FFDHE groups that the Postfix client or server 19640will enable in OpenSSL 3.0 and up. This parameter has no effect when 19641Postfix is built against earlier OpenSSL versions. </p> 19642 19643<p> The default list of FFDHE groups that Postfix enables in OpenSSL 3.0 19644and up includes just the 2048 and 3072-bit groups. Stronger FFDHE 19645groups perform poorly and EC groups are a much better choice for the 19646same security level. Postfix ignores group names that are unknown to 19647OpenSSL, or that are known but not yet implemented. The FFDHE groups 19648are largely a backup, in case some peer does not support EC key 19649exchange, or EC key exchange needs to be disabled for some pressing 19650reason. </p> 19651 19652<p> Setting this parameter empty disables FFDHE support in TLS 1.3. 19653Whether FFDHE key agreement is enabled in TLS 1.2 and earlier depends 19654on whether any of the "kDHE" ciphers are included in the cipherlist. 19655</p> 19656 19657<p> Conversely, setting "<a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a>" empty disables TLS 1.3 19658EC key agreement in OpenSSL 3.0 and later. Note that at least one of 19659"<a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a>" and "<a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a>" must be non-empty, 19660this is required by OpenSSL 3.0. If both are inadvertently set empty, 19661Postfix will fall back to the compiled-in defaults. </p> 19662 19663<p> All the default groups and EC curves should sufficiently strong 19664to make "pruning" the defaults unwise. At a minimum, "X25519" and 19665"P-256" (a.k.a. "prime256v1") should be among the enabled EC curves, 19666while "dhe2048" and "dhe3072" should be among the FFDHE groups. </p> 19667 19668<p> This feature is available in Postfix 3.8 and later, when it is 19669compiled and linked with OpenSSL 3.0 or later. </p> 19670 19671 19672</DD> 19673 19674<DT><b><a name="tls_high_cipherlist">tls_high_cipherlist</a> 19675(default: see "postconf -d" output)</b></DT><DD> 19676 19677<p> The OpenSSL cipherlist for "high" grade ciphers. This defines 19678the meaning of the "high" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>, 19679<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>, 19680<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 19681encouraged not to change this setting. </p> 19682 19683<p> This feature is available in Postfix 2.3 and later. </p> 19684 19685 19686</DD> 19687 19688<DT><b><a name="tls_legacy_public_key_fingerprints">tls_legacy_public_key_fingerprints</a> 19689(default: no)</b></DT><DD> 19690 19691<p> A temporary migration aid for sites that use certificate 19692<i>public-key</i> fingerprints with Postfix 2.9.0..2.9.5, which use 19693an incorrect algorithm. This parameter has no effect on the certificate 19694fingerprint support that is available since Postfix 2.2. </p> 19695 19696<p> Specify "<a href="postconf.5.html#tls_legacy_public_key_fingerprints">tls_legacy_public_key_fingerprints</a> = yes" temporarily, 19697pending a migration from configuration files with incorrect Postfix 196982.9.0..2.9.5 certificate public-key finger prints, to the correct 19699fingerprints used by Postfix 2.9.6 and later. To compute the correct 19700certificate public-key fingerprints, see <a href="TLS_README.html">TLS_README</a>. </p> 19701 19702<p> This feature is available in Postfix 2.9.6 and later. </p> 19703 19704 19705</DD> 19706 19707<DT><b><a name="tls_low_cipherlist">tls_low_cipherlist</a> 19708(default: see "postconf -d" output)</b></DT><DD> 19709 19710<p> The OpenSSL cipherlist for "low" or higher grade ciphers. 19711Ignored as of Postfix 3.8. In earlier Postfix releases this 19712defined the meaning of the "low" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>, 19713<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>, 19714<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 19715<a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly encouraged not to 19716change this setting. </p> 19717 19718<p> This feature is available in Postfix 2.3 and later. </p> 19719 19720 19721</DD> 19722 19723<DT><b><a name="tls_medium_cipherlist">tls_medium_cipherlist</a> 19724(default: see "postconf -d" output)</b></DT><DD> 19725 19726<p> The OpenSSL cipherlist for "medium" or higher grade ciphers. This 19727defines the meaning of the "medium" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>, 19728<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>, 19729<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 19730default cipherlist for mandatory TLS encryption in the TLS client 19731(with anonymous ciphers disabled when verifying server certificates). 19732This is the default cipherlist for opportunistic TLS with Postfix 19733releases after the middle of 2015. You are strongly encouraged not 19734to change this setting. </p> 19735 19736<p> This feature is available in Postfix 2.3 and later. </p> 19737 19738 19739</DD> 19740 19741<DT><b><a name="tls_null_cipherlist">tls_null_cipherlist</a> 19742(default: eNULL:!aNULL)</b></DT><DD> 19743 19744<p> The OpenSSL cipherlist for "NULL" grade ciphers that provide 19745authentication without encryption. This defines the meaning of the "null" 19746setting 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 19747<a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly encouraged not to 19748change this setting. </p> 19749 19750<p> This feature is available in Postfix 2.3 and later. </p> 19751 19752 19753</DD> 19754 19755<DT><b><a name="tls_preempt_cipherlist">tls_preempt_cipherlist</a> 19756(default: no)</b></DT><DD> 19757 19758<p> With SSLv3 and later, use the Postfix SMTP server's cipher 19759preference order instead of the remote client's cipher preference 19760order. </p> 19761 19762<p> By default, the OpenSSL server selects the client's most preferred 19763cipher that the server supports. With SSLv3 and later, the server may 19764choose its own most preferred cipher that is supported (offered) by 19765the client. Setting "<a href="postconf.5.html#tls_preempt_cipherlist">tls_preempt_cipherlist</a> = yes" enables server cipher 19766preferences. </p> 19767 19768<p> While server cipher selection may in some cases lead to a more secure 19769or performant cipher choice, there is some risk of interoperability 19770issues. In the past, some SSL clients have listed lower priority ciphers 19771that they did not implement correctly. If the server chooses a cipher 19772that the client prefers less, it may select a cipher whose client 19773implementation is flawed. Most notably Windows 2003 Microsoft 19774Exchange servers have flawed implementations of DES-CBC3-SHA, which 19775OpenSSL considers stronger than RC4-SHA. Enabling server cipher-suite 19776selection may create interoperability issues with Windows 2003 19777Microsoft Exchange clients. </p> 19778 19779<p> This feature is available in Postfix 2.8 and later, in combination 19780with OpenSSL 0.9.7 and later. </p> 19781 19782 19783</DD> 19784 19785<DT><b><a name="tls_random_bytes">tls_random_bytes</a> 19786(default: 32)</b></DT><DD> 19787 19788<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> 19789when (re)seeding the in-memory pseudo random number generator (PRNG) 19790pool. The default of 32 bytes (256 bits) is good enough for 128bit 19791symmetric keys. If using EGD or a device file, a maximum of 255 19792bytes is read. </p> 19793 19794<p> This feature is available in Postfix 2.2 and later. </p> 19795 19796 19797</DD> 19798 19799<DT><b><a name="tls_random_exchange_name">tls_random_exchange_name</a> 19800(default: see "postconf -d" output)</b></DT><DD> 19801 19802<p> Name of the pseudo random number generator (PRNG) state file 19803that is maintained by <a href="tlsmgr.8.html">tlsmgr(8)</a>. The file is created when it does 19804not exist, and its length is fixed at 1024 bytes. </p> 19805 19806<p> As of version 2.5, Postfix no longer uses root privileges when 19807opening this file, and the default file location was changed from 19808${<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 19809a migration aid, an attempt to open the file under a non-Postfix 19810directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a 19811warning is logged. </p> 19812 19813<p> This feature is available in Postfix 2.2 and later. </p> 19814 19815 19816</DD> 19817 19818<DT><b><a name="tls_random_prng_update_period">tls_random_prng_update_period</a> 19819(default: 3600s)</b></DT><DD> 19820 19821<p> The time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to save the state of 19822the pseudo random number generator (PRNG) to the file specified 19823with $<a href="postconf.5.html#tls_random_exchange_name">tls_random_exchange_name</a>. </p> 19824 19825<p> Specify a non-zero time value (an integral value plus an optional 19826one-letter suffix that specifies the time unit). Time units: s 19827(seconds), m (minutes), h (hours), d (days), w (weeks). 19828The default time unit is s (seconds). </p> 19829 19830<p> This feature is available in Postfix 2.2 and later. </p> 19831 19832 19833</DD> 19834 19835<DT><b><a name="tls_random_reseed_period">tls_random_reseed_period</a> 19836(default: 3600s)</b></DT><DD> 19837 19838<p> The maximal time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to re-seed the 19839in-memory pseudo random number generator (PRNG) pool from external 19840sources. The actual time between re-seeding attempts is calculated 19841using the PRNG, and is between 0 and the time specified. </p> 19842 19843<p> Specify a non-zero time value (an integral value plus an optional 19844one-letter suffix that specifies the time unit). Time units: s 19845(seconds), m (minutes), h (hours), d (days), w (weeks). 19846The default time unit is s (seconds). </p> 19847 19848<p> This feature is available in Postfix 2.2 and later. </p> 19849 19850 19851</DD> 19852 19853<DT><b><a name="tls_random_source">tls_random_source</a> 19854(default: see "postconf -d" output)</b></DT><DD> 19855 19856<p> The external entropy source for the in-memory <a href="tlsmgr.8.html">tlsmgr(8)</a> pseudo 19857random number generator (PRNG) pool. Be sure to specify a non-blocking 19858source. If this source is not a regular file, the entropy source 19859type must be prepended: egd:/path/to/egd_socket for a source with 19860EGD compatible socket interface, or dev:/path/to/device for a 19861device file. </p> 19862 19863<p> Note: on OpenBSD systems specify dev:/dev/arandom when dev:/dev/urandom 19864gives timeout errors. </p> 19865 19866<p> This feature is available in Postfix 2.2 and later. </p> 19867 19868 19869</DD> 19870 19871<DT><b><a name="tls_server_sni_maps">tls_server_sni_maps</a> 19872(default: empty)</b></DT><DD> 19873 19874<p> Optional lookup tables that map names received from remote SMTP 19875clients via the TLS Server Name Indication (SNI) extension to the 19876appropriate keys and certificate chains. This parameter is implemented 19877in the Postfix TLS library, and applies to both <a href="smtpd.8.html">smtpd(8)</a> and the SMTP 19878server mode of <a href="tlsproxy.8.html">tlsproxy(8)</a>. </p> 19879 19880<p> When this parameter is non-empty, the Postfix SMTP server enables 19881SNI extension processing, and logs SNI values that are invalid or 19882don't match an entry in the specified tables. When an entry 19883does match, the SNI name is logged as part of the connection summary 19884at log levels 1 and higher. </p> 19885 19886<p> The lookup key is either the verbatim SNI domain name or an 19887ancestor domain prefixed with a leading dot. For internationalized 19888domains, the lookup key must be in IDNA 2008 A-label form (as 19889required in the TLS SNI extension). </p> 19890 19891<p> The syntax of the lookup value is the same as with the 19892<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> parameter (see there for additional details), 19893but here scoped to just TLS connections in which the client sends 19894a matching SNI domain name. </p> 19895 19896<p> Example: </p> 19897<blockquote> 19898<pre> 19899/etc/postfix/<a href="postconf.5.html">main.cf</a>: 19900 # 19901 # The indexed SNI table must be created with "postmap -F" 19902 # 19903 indexed = ${<a href="postconf.5.html#default_database_type">default_database_type</a>}:${<a href="postconf.5.html#config_directory">config_directory</a>}/ 19904 <a href="postconf.5.html#tls_server_sni_maps">tls_server_sni_maps</a> = ${indexed}sni 19905</pre> 19906</blockquote> 19907 19908<blockquote> 19909<pre> 19910/etc/postfix/sni: 19911 # 19912 # The example.com domain has both an RSA and ECDSA certificate 19913 # chain. The chain files MUST start with the private key, 19914 # with the certificate chain next, starting with the leaf 19915 # (server) certificate, and then the issuer certificates. 19916 # 19917 example.com /etc/postfix/sni-chains/rsa2048.example.com.pem, 19918 /etc/postfix/sni-chains/ecdsa-p256.example.com.pem 19919 # 19920 # The example.net domain has a wildcard certificate, and two 19921 # additional DNS names. So its certificate chain is also used 19922 # with any subdomain, plus the additional names. 19923 # 19924 example.net /etc/postfix/sni-chains/example.net.pem 19925 .example.net /etc/postfix/sni-chains/example.net.pem 19926 example.info /etc/postfix/sni-chains/example.net.pem 19927 example.org /etc/postfix/sni-chains/example.net.pem 19928</pre> 19929</blockquote> 19930 19931<p> Note that the SNI lookup tables should also have entries for 19932the domains that correspond to the Postfix SMTP server's default 19933certificate(s). This ensures that the remote SMTP client's TLS SNI 19934extension gets a positive response when it specifies one of the 19935Postfix SMTP server's <a href="ADDRESS_CLASS_README.html#default_domain_class">default domains</a>, and ensures that the Postfix 19936SMTP server will not log an SNI name mismatch for such a domain. 19937The Postfix SMTP server's default certificates are then only used 19938when the client sends no SNI or when it sends SNI with a domain 19939that the server knows no certificate(s) for. </p> 19940 19941<p> The mapping from an SNI domain name to a certificate chain is indirect. In 19942the input source files for "cdb", "hash", "btree" or other tables that are 19943converted to on-disk indexed files via <a href="postmap.1.html">postmap(1)</a>, the value specified for each 19944key is a list of filenames. When <a href="postmap.1.html">postmap(1)</a> is used with the <b>-F</b> option, 19945the generated table stores for each lookup key the base64-encoded contents of 19946the associated files. When querying tables via <b>postmap -Fq</b>, the table 19947value is decoded from base64, yielding the original file content, plus a new 19948line. </p> 19949 19950<p> With "regexp", "pcre", "inline", "texthash", "static" and similar 19951tables that are interpreted at run-time, and don't have a separate 19952source format, the table value is again a list files, that are loaded 19953into memory when the table is opened. </p> 19954 19955<p> With tables whose content is managed outside of Postfix, such 19956as LDAP, MySQL, PostgreSQL, socketmap and tcp, the value must be a 19957concatenation of the desired PEM keys and certificate chains, that 19958is then further encoded to yield a single-line base64 string. 19959Creation of such tables and secure storage (the value includes 19960private key material) are outside the responsibility of Postfix. </p> 19961 19962<p> With "socketmap" and "tcp" the data will be transmitted in the clear, and 19963there is no query access control, so these are generally unsuitable for storing 19964SNI chains. With LDAP and SQL, you should restrict read access and use TLS to 19965protect the sensitive data in transit. </p> 19966 19967<p> Typically there is only one private key and its chain of certificates 19968starting with the "leaf" certificate corresponding to that key, and 19969continuing with the appropriate intermediate issuer CA certificates, 19970with each certificate ideally followed by its issuer. Servers 19971that have keys and certificates for more than one algorithm (e.g. 19972both an RSA key and an ECDSA key, or even RSA, ECDSA and Ed25519) 19973can use multiple chains concatenated together, with the key always 19974listed before the corresponding certificates. </p> 19975 19976<p> This feature is available in Postfix 3.4 and later. </p> 19977 19978 19979</DD> 19980 19981<DT><b><a name="tls_session_ticket_cipher">tls_session_ticket_cipher</a> 19982(default: Postfix ≥ 3.0: aes-256-cbc, Postfix < 3.0: aes-128-cbc)</b></DT><DD> 19983 19984<p> Algorithm used to encrypt <a href="https://tools.ietf.org/html/rfc5077">RFC5077</a> TLS session tickets. This 19985algorithm must use CBC mode, have a 128-bit block size, and must 19986have a key length between 128 and 256 bits. The default is 19987aes-256-cbc. Overriding the default to choose a different algorithm 19988is discouraged. </p> 19989 19990<p> Setting this parameter empty disables session ticket support 19991in the Postfix SMTP server. Another way to disable session ticket 19992support is via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter. </p> 19993 19994<p> This feature is available in Postfix 3.0 and later. </p> 19995 19996 19997</DD> 19998 19999<DT><b><a name="tls_ssl_options">tls_ssl_options</a> 20000(default: empty)</b></DT><DD> 20001 20002<p> List or bit-mask of OpenSSL options to enable. </p> 20003 20004<p> The OpenSSL toolkit provides a set of options that applications 20005can enable to tune the OpenSSL behavior. Some of these work around 20006bugs in other implementations and are on by default. You can use 20007the <a href="postconf.5.html#tls_disable_workarounds">tls_disable_workarounds</a> parameter to selectively disable some 20008or all of the bug work-arounds, making OpenSSL more strict at the 20009cost of non-interoperability with SSL clients or servers that exhibit 20010the bugs. </p> 20011 20012<p> Other options are off by default, and typically enable or disable 20013features rather than bug work-arounds. These may be turned on (with 20014care) via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter. The value is a white-space 20015or comma separated list of named options chosen from the list below. 20016The names are not case-sensitive, you can use lower-case if you 20017prefer. The upper case values below match the corresponding macro 20018name in the ssl.h header file with the SSL_OP_ prefix removed. It 20019is possible that your OpenSSL version includes new options added 20020after your Postfix source code was last updated, in that case you 20021can only enable one of these via the hexadecimal syntax below. </p> 20022 20023<p> You should only enable features via the hexadecimal mask when 20024the need to control the feature is critical (to deal with a new 20025vulnerability or a serious interoperability problem). Postfix DOES 20026NOT promise backwards compatible behavior with respect to the mask 20027bits. A feature enabled via the mask in one release may be enabled 20028by other means in a later release, and the mask bit will then be 20029ignored. Therefore, use of the hexadecimal mask is only a temporary 20030measure until a new Postfix or OpenSSL release provides a better 20031solution. </p> 20032 20033<p> If the value of the parameter is a hexadecimal long integer 20034starting with "0x", the options corresponding to the bits specified 20035in its value are enabled (see openssl/ssl.h and SSL_CTX_set_options(3)). 20036You can only enable options not already controlled by other Postfix 20037settings. For example, you cannot disable protocols or enable 20038server cipher preference. Do not attempt to enable all features by 20039specifying 0xFFFFFFFF, this is unlikely to be a good idea. Some 20040bug work-arounds are also valid here, allowing them to be re-enabled 20041if/when they're no longer enabled by default. The supported values 20042include: </p> 20043 20044<dl> 20045 20046<dt><b>ENABLE_MIDDLEBOX_COMPAT</b></dt> <dd>Postfix ≥ 3.4. See 20047SSL_CTX_set_options(3).</dd> 20048 20049<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3).</dd> 20050 20051<dt><b>NO_TICKET</b></dt> <dd>Enabled by default when needed in 20052fully-patched Postfix ≥ 2.7. Not needed at all for Postfix ≥ 200532.11, unless for some reason you do not want to support TLS session 20054resumption. Best not set explicitly. See SSL_CTX_set_options(3).</dd> 20055 20056<dt><b>NO_COMPRESSION</b></dt> <dd>Disable SSL compression even if 20057supported by the OpenSSL library. Compression is CPU-intensive, 20058and compression before encryption does not always improve security. </dd> 20059 20060<dt><b>NO_RENEGOTIATION</b></dt> <dd>Postfix ≥ 3.4. This can 20061reduce opportunities for a potential CPU exhaustion attack. See 20062SSL_CTX_set_options(3).</dd> 20063 20064<dt><b>NO_SESSION_RESUMPTION_ON_RENEGOTIATION</b></dt> <dd>Postfix 20065≥ 3.4. See SSL_CTX_set_options(3).</dd> 20066 20067<dt><b>PRIORITIZE_CHACHA</b></dt> <dd>Postfix ≥ 3.4. See SSL_CTX_set_options(3).</dd> 20068 20069</dl> 20070 20071<p> This feature is available in Postfix 2.11 and later. </p> 20072 20073 20074</DD> 20075 20076<DT><b><a name="tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a> 20077(default: yes)</b></DT><DD> 20078 20079<p> Match multiple DNS labels with "*" in wildcard certificates. 20080</p> 20081 20082<p> Some mail service providers prepend the customer domain name 20083to a base domain for which they have a wildcard TLS certificate. 20084For example, the MX records for example.com hosted by example.net 20085may be: </p> 20086 20087<blockquote> 20088<pre> 20089example.com. IN MX 0 example.com.mx1.example.net. 20090example.com. IN MX 0 example.com.mx2.example.net. 20091</pre> 20092</blockquote> 20093 20094<p> and the TLS certificate may be for "*.example.net". The "*" 20095then corresponds with multiple labels in the mail server domain 20096name. While multi-label wildcards are not widely supported, and 20097are not blessed by any standard, there is little to be gained by 20098disallowing their use in this context. </p> 20099 20100<p> Notes: <p> 20101 20102<ul> 20103 20104<li> <p> In a certificate name, the "*" is special only when it is 20105used as the first label. </p> 20106 20107<li> <p> While Postfix (2.11 or later) can match "*" with multiple 20108domain name labels, other implementations likely will not. </p> 20109 20110<li> <p> Earlier Postfix implementations behave as if 20111"<a href="postconf.5.html#tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a> = no". </p> 20112 20113</ul> 20114 20115<p> This feature is available in Postfix 2.11 and later. </p> 20116 20117 20118</DD> 20119 20120<DT><b><a name="tlsmgr_service_name">tlsmgr_service_name</a> 20121(default: tlsmgr)</b></DT><DD> 20122 20123<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 20124service maintains TLS session caches and other information in support 20125of TLS. </p> 20126 20127<p> This feature is available in Postfix 2.11 and later. </p> 20128 20129 20130</DD> 20131 20132<DT><b><a name="tlsproxy_client_CAfile">tlsproxy_client_CAfile</a> 20133(default: $<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>)</b></DT><DD> 20134 20135<p> A file containing CA certificates of root CAs trusted to sign 20136either remote TLS server certificates or intermediate CA certificates. 20137See <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> for further details. </p> 20138 20139<p> This feature is available in Postfix 3.4 and later. </p> 20140 20141 20142</DD> 20143 20144<DT><b><a name="tlsproxy_client_CApath">tlsproxy_client_CApath</a> 20145(default: $<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a>)</b></DT><DD> 20146 20147<p> Directory with PEM format Certification Authority certificates 20148that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client uses to verify a remote TLS 20149server certificate. See <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> for further details. </p> 20150 20151<p> This feature is available in Postfix 3.4 and later. </p> 20152 20153 20154</DD> 20155 20156<DT><b><a name="tlsproxy_client_cert_file">tlsproxy_client_cert_file</a> 20157(default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD> 20158 20159<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client RSA certificate in PEM 20160format. See <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for further details. The preferred way 20161to configure tlsproxy client keys and certificates is via the 20162"<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p> 20163 20164<p> This feature is available in Postfix 3.4 and later. </p> 20165 20166 20167</DD> 20168 20169<DT><b><a name="tlsproxy_client_chain_files">tlsproxy_client_chain_files</a> 20170(default: $<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>)</b></DT><DD> 20171 20172<p> Files with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client keys and certificate 20173chains in PEM format. See <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> for further details. </p> 20174 20175<p> This feature is available in Postfix 3.4 and later. </p> 20176 20177 20178</DD> 20179 20180<DT><b><a name="tlsproxy_client_dcert_file">tlsproxy_client_dcert_file</a> 20181(default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD> 20182 20183<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client DSA certificate in PEM 20184format. See <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> for further details. DSA is obsolete and 20185should not be used. </p> 20186 20187<p> This feature is available in Postfix 3.4 and later. </p> 20188 20189 20190</DD> 20191 20192<DT><b><a name="tlsproxy_client_dkey_file">tlsproxy_client_dkey_file</a> 20193(default: $<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a>)</b></DT><DD> 20194 20195<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client DSA private key in PEM 20196format. See <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> for further details. DSA is obsolete and 20197should not be used. </p> 20198 20199<p> This feature is available in Postfix 3.4 and later. </p> 20200 20201 20202</DD> 20203 20204<DT><b><a name="tlsproxy_client_eccert_file">tlsproxy_client_eccert_file</a> 20205(default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD> 20206 20207<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client ECDSA certificate in PEM 20208format. See <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> for further details. The preferred way 20209to configure tlsproxy client keys and certificates is via the 20210"<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p> 20211 20212<p> This feature is available in Postfix 3.4 and later. </p> 20213 20214 20215</DD> 20216 20217<DT><b><a name="tlsproxy_client_eckey_file">tlsproxy_client_eckey_file</a> 20218(default: $<a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a>)</b></DT><DD> 20219 20220<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client ECDSA private key in PEM 20221format. See <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> for further details. The preferred way 20222to configure tlsproxy client keys and certificates is via the 20223"<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p> 20224 20225<p> This feature is available in Postfix 3.4 and later. </p> 20226 20227 20228</DD> 20229 20230<DT><b><a name="tlsproxy_client_enforce_tls">tlsproxy_client_enforce_tls</a> 20231(default: $<a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>)</b></DT><DD> 20232 20233<p> Enforcement mode: require that SMTP servers use TLS encryption. 20234See <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> for further details. Use 20235<a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> instead. </p> 20236 20237<p> This feature is available in Postfix 3.4 and later. </p> 20238 20239 20240</DD> 20241 20242<DT><b><a name="tlsproxy_client_fingerprint_digest">tlsproxy_client_fingerprint_digest</a> 20243(default: $<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>)</b></DT><DD> 20244 20245<p> The message digest algorithm used to construct remote TLS server 20246certificate fingerprints. See <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> for 20247further details. </p> 20248 20249<p> This feature is available in Postfix 3.4 and later. </p> 20250 20251 20252</DD> 20253 20254<DT><b><a name="tlsproxy_client_key_file">tlsproxy_client_key_file</a> 20255(default: $<a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a>)</b></DT><DD> 20256 20257<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client RSA private key in PEM 20258format. See <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> for further details. The preferred way to 20259configure tlsproxy client keys and certificates is via the 20260"<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p> 20261 20262<p> This feature is available in Postfix 3.4 and later. </p> 20263 20264 20265</DD> 20266 20267<DT><b><a name="tlsproxy_client_level">tlsproxy_client_level</a> 20268(default: $<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a>)</b></DT><DD> 20269 20270<p> The default TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> 20271client. See <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> for further details. </p> 20272 20273<p> This feature is available in Postfix 3.4 - 3.6. It was 20274renamed to <a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> in Postfix 3.7. </p> 20275 20276 20277</DD> 20278 20279<DT><b><a name="tlsproxy_client_loglevel">tlsproxy_client_loglevel</a> 20280(default: $<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>)</b></DT><DD> 20281 20282<p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client logging of TLS 20283activity. See <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> for further details. </p> 20284 20285<p> This feature is available in Postfix 3.4 and later. </p> 20286 20287 20288</DD> 20289 20290<DT><b><a name="tlsproxy_client_loglevel_parameter">tlsproxy_client_loglevel_parameter</a> 20291(default: <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>)</b></DT><DD> 20292 20293<p> The name of the parameter that provides the <a href="postconf.5.html#tlsproxy_client_loglevel">tlsproxy_client_loglevel</a> 20294value. </p> 20295 20296<p> This feature is available in Postfix 3.4 and later. </p> 20297 20298 20299</DD> 20300 20301<DT><b><a name="tlsproxy_client_per_site">tlsproxy_client_per_site</a> 20302(default: $<a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a>)</b></DT><DD> 20303 20304<p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS 20305usage policy by next-hop destination and by remote TLS server 20306hostname. See <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> for further details. </p> 20307 20308<p> This feature is available in Postfix 3.4 and later. </p> 20309 20310 20311</DD> 20312 20313<DT><b><a name="tlsproxy_client_policy">tlsproxy_client_policy</a> 20314(default: $<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>)</b></DT><DD> 20315 20316<p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS 20317security policy by next-hop destination. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> 20318for further details. </p> 20319 20320<p> This feature is available in Postfix 3.4 - 3.6. It was 20321renamed to <a href="postconf.5.html#tlsproxy_client_policy_maps">tlsproxy_client_policy_maps</a> in Postfix 3.7. </p> 20322 20323 20324</DD> 20325 20326<DT><b><a name="tlsproxy_client_policy_maps">tlsproxy_client_policy_maps</a> 20327(default: $<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>)</b></DT><DD> 20328 20329<p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS 20330security policy by next-hop destination. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> 20331for further details. </p> 20332 20333<p> This feature is available in Postfix 3.7 and later. It 20334was previously called <a href="postconf.5.html#tlsproxy_client_policy">tlsproxy_client_policy</a>. </p> 20335 20336 20337</DD> 20338 20339<DT><b><a name="tlsproxy_client_scert_verifydepth">tlsproxy_client_scert_verifydepth</a> 20340(default: $<a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>)</b></DT><DD> 20341 20342<p> The verification depth for remote TLS server certificates. 20343See <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a> for further details. </p> 20344 20345<p> This feature is available in Postfix 3.4 and later. </p> 20346 20347 20348</DD> 20349 20350<DT><b><a name="tlsproxy_client_security_level">tlsproxy_client_security_level</a> 20351(default: $<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a>)</b></DT><DD> 20352 20353<p> The default TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> 20354client. See <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> for further details. </p> 20355 20356<p> This feature is available in Postfix 3.7 and later. It 20357was previously called <a href="postconf.5.html#tlsproxy_client_level">tlsproxy_client_level</a>. </p> 20358 20359 20360</DD> 20361 20362<DT><b><a name="tlsproxy_client_use_tls">tlsproxy_client_use_tls</a> 20363(default: $<a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>)</b></DT><DD> 20364 20365<p> Opportunistic mode: use TLS when a remote server announces TLS 20366support. See <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> for further details. Use 20367<a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> instead. </p> 20368 20369<p> This feature is available in Postfix 3.4 and later. </p> 20370 20371 20372</DD> 20373 20374<DT><b><a name="tlsproxy_enforce_tls">tlsproxy_enforce_tls</a> 20375(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD> 20376 20377<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and 20378require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> for 20379further details. Use <a href="postconf.5.html#tlsproxy_tls_security_level">tlsproxy_tls_security_level</a> instead. </p> 20380 20381<p> This feature is available in Postfix 2.8 and later. </p> 20382 20383 20384</DD> 20385 20386<DT><b><a name="tlsproxy_service_name">tlsproxy_service_name</a> 20387(default: tlsproxy)</b></DT><DD> 20388 20389<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 20390service performs plaintext <=> TLS ciphertext conversion. <p> 20391 20392<p> This feature is available in Postfix 2.8 and later. </p> 20393 20394 20395</DD> 20396 20397<DT><b><a name="tlsproxy_tls_CAfile">tlsproxy_tls_CAfile</a> 20398(default: $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)</b></DT><DD> 20399 20400<p> A file containing (PEM format) CA certificates of root CAs 20401trusted to sign either remote SMTP client certificates or intermediate 20402CA certificates. See <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> for further details. </p> 20403 20404<p> This feature is available in Postfix 2.8 and later. </p> 20405 20406 20407</DD> 20408 20409<DT><b><a name="tlsproxy_tls_CApath">tlsproxy_tls_CApath</a> 20410(default: $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>)</b></DT><DD> 20411 20412<p> A directory containing (PEM format) CA certificates of root CAs 20413trusted to sign either remote SMTP client certificates or intermediate 20414CA certificates. See <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> for further details. </p> 20415 20416<p> This feature is available in Postfix 2.8 and later. </p> 20417 20418 20419</DD> 20420 20421<DT><b><a name="tlsproxy_tls_always_issue_session_ids">tlsproxy_tls_always_issue_session_ids</a> 20422(default: $<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>)</b></DT><DD> 20423 20424<p> Force the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server to issue a TLS session id, 20425even when TLS session caching is turned off. See 20426<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> for further details. </p> 20427 20428<p> This feature is available in Postfix 2.8 and later. </p> 20429 20430 20431</DD> 20432 20433<DT><b><a name="tlsproxy_tls_ask_ccert">tlsproxy_tls_ask_ccert</a> 20434(default: $<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>)</b></DT><DD> 20435 20436<p> Ask a remote SMTP client for a client certificate. See 20437<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> for further details. </p> 20438 20439<p> This feature is available in Postfix 2.8 and later. </p> 20440 20441 20442</DD> 20443 20444<DT><b><a name="tlsproxy_tls_ccert_verifydepth">tlsproxy_tls_ccert_verifydepth</a> 20445(default: $<a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>)</b></DT><DD> 20446 20447<p> The verification depth for remote SMTP client certificates. A 20448depth of 1 is sufficient if the issuing CA is listed in a local CA 20449file. See <a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> for further details. </p> 20450 20451<p> This feature is available in Postfix 2.8 and later. </p> 20452 20453 20454</DD> 20455 20456<DT><b><a name="tlsproxy_tls_cert_file">tlsproxy_tls_cert_file</a> 20457(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD> 20458 20459<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA certificate in PEM 20460format. This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 20461private RSA key. See <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for further details. With 20462Postfix ≥ 3.4 the preferred way to configure tlsproxy server keys and 20463certificates is via the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p> 20464 20465<p> This feature is available in Postfix 2.8 and later. </p> 20466 20467 20468</DD> 20469 20470<DT><b><a name="tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a> 20471(default: $<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>)</b></DT><DD> 20472 20473<p> Files with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server keys and certificate 20474chains in PEM format. See <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> for further details. </p> 20475 20476<p> This feature is available in Postfix 3.4 and later. </p> 20477 20478 20479</DD> 20480 20481<DT><b><a name="tlsproxy_tls_ciphers">tlsproxy_tls_ciphers</a> 20482(default: $<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>)</b></DT><DD> 20483 20484<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 20485will use with opportunistic TLS encryption. See <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> 20486for further details. </p> 20487 20488<p> This feature is available in Postfix 2.8 and later. </p> 20489 20490 20491</DD> 20492 20493<DT><b><a name="tlsproxy_tls_dcert_file">tlsproxy_tls_dcert_file</a> 20494(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD> 20495 20496<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA certificate in PEM 20497format. This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 20498private DSA key. DSA is obsolete and should not be used. See 20499<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> for further details. </p> 20500 20501<p> This feature is available in Postfix 2.8 and later. </p> 20502 20503 20504</DD> 20505 20506<DT><b><a name="tlsproxy_tls_dh1024_param_file">tlsproxy_tls_dh1024_param_file</a> 20507(default: $<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>)</b></DT><DD> 20508 20509<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 20510should use with non-export EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> 20511for further details. </p> 20512 20513<p> This feature is available in Postfix 2.8 and later. </p> 20514 20515 20516</DD> 20517 20518<DT><b><a name="tlsproxy_tls_dh512_param_file">tlsproxy_tls_dh512_param_file</a> 20519(default: $<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>)</b></DT><DD> 20520 20521<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 20522should use with export-grade EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> 20523for further details. The default SMTP server cipher grade is 20524"medium" with Postfix releases after the middle of 2015, and as a 20525result export-grade cipher suites are by default not used. </p> 20526 20527<p> With Postfix ≥ 3.6 export-grade Diffie-Hellman key exchange 20528is no longer supported, and this parameter is silently ignored. </p> 20529 20530<p> This feature is available in Postfix 2.8 and later. </p> 20531 20532 20533</DD> 20534 20535<DT><b><a name="tlsproxy_tls_dkey_file">tlsproxy_tls_dkey_file</a> 20536(default: $<a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>)</b></DT><DD> 20537 20538<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA private key in PEM 20539format. This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 20540DSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. DSA is 20541obsolete and should not be used. See <a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> for further 20542details. </p> 20543 20544<p> This feature is available in Postfix 2.8 and later. </p> 20545 20546 20547</DD> 20548 20549<DT><b><a name="tlsproxy_tls_eccert_file">tlsproxy_tls_eccert_file</a> 20550(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD> 20551 20552<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA certificate in PEM 20553format. This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 20554private ECDSA key. See <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> for further details. With 20555Postfix ≥ 3.4 the preferred way to configure tlsproxy server keys and 20556certificates is via the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p> 20557 20558<p> This feature is available in Postfix 2.8 and later. </p> 20559 20560 20561</DD> 20562 20563<DT><b><a name="tlsproxy_tls_eckey_file">tlsproxy_tls_eckey_file</a> 20564(default: $<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>)</b></DT><DD> 20565 20566<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA private key in PEM 20567format. This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 20568ECDSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. See 20569<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> for further details. With Postfix ≥ 3.4 the 20570preferred way to configure tlsproxy server keys and certificates is via 20571the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p> 20572 20573<p> This feature is available in Postfix 2.8 and later. </p> 20574 20575 20576</DD> 20577 20578<DT><b><a name="tlsproxy_tls_eecdh_grade">tlsproxy_tls_eecdh_grade</a> 20579(default: $<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>)</b></DT><DD> 20580 20581<p> The Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server security grade for ephemeral 20582elliptic-curve Diffie-Hellman (EECDH) key exchange. See 20583<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> for further details. </p> 20584 20585<p> This feature is available in Postfix 2.8 and later. </p> 20586 20587 20588</DD> 20589 20590<DT><b><a name="tlsproxy_tls_exclude_ciphers">tlsproxy_tls_exclude_ciphers</a> 20591(default: $<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>)</b></DT><DD> 20592 20593<p> List of ciphers or cipher types to exclude from the <a href="tlsproxy.8.html">tlsproxy(8)</a> 20594server cipher list at all TLS security levels. See 20595<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> for further details. </p> 20596 20597<p> This feature is available in Postfix 2.8 and later. </p> 20598 20599 20600</DD> 20601 20602<DT><b><a name="tlsproxy_tls_fingerprint_digest">tlsproxy_tls_fingerprint_digest</a> 20603(default: $<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>)</b></DT><DD> 20604 20605<p> The message digest algorithm to construct remote SMTP 20606client-certificate 20607fingerprints. See <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> for further details. 20608</p> 20609 20610<p> This feature is available in Postfix 2.8 and later. </p> 20611 20612 20613</DD> 20614 20615<DT><b><a name="tlsproxy_tls_key_file">tlsproxy_tls_key_file</a> 20616(default: $<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a>)</b></DT><DD> 20617 20618<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA private key in PEM 20619format. This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 20620RSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>. See 20621<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a> for further details. With Postfix ≥ 3.4 the 20622preferred way to configure tlsproxy server keys and certificates is via 20623the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p> 20624 20625<p> This feature is available in Postfix 2.8 and later. </p> 20626 20627 20628</DD> 20629 20630<DT><b><a name="tlsproxy_tls_loglevel">tlsproxy_tls_loglevel</a> 20631(default: $<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a>)</b></DT><DD> 20632 20633<p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server logging of TLS 20634activity. Each logging level also includes the information that 20635is logged at a lower logging level. See <a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> for 20636further details. </p> 20637 20638<p> This feature is available in Postfix 2.8 and later. </p> 20639 20640 20641</DD> 20642 20643<DT><b><a name="tlsproxy_tls_mandatory_ciphers">tlsproxy_tls_mandatory_ciphers</a> 20644(default: $<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>)</b></DT><DD> 20645 20646<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 20647will use with mandatory TLS encryption. See <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> 20648for further details. </p> 20649 20650<p> This feature is available in Postfix 2.8 and later. </p> 20651 20652 20653</DD> 20654 20655<DT><b><a name="tlsproxy_tls_mandatory_exclude_ciphers">tlsproxy_tls_mandatory_exclude_ciphers</a> 20656(default: $<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>)</b></DT><DD> 20657 20658<p> Additional list of ciphers or cipher types to exclude from the 20659<a href="tlsproxy.8.html">tlsproxy(8)</a> server cipher list at mandatory TLS security levels. 20660See <a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> for further details. </p> 20661 20662<p> This feature is available in Postfix 2.8 and later. </p> 20663 20664 20665</DD> 20666 20667<DT><b><a name="tlsproxy_tls_mandatory_protocols">tlsproxy_tls_mandatory_protocols</a> 20668(default: $<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>)</b></DT><DD> 20669 20670<p> The SSL/TLS protocols accepted by the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 20671with mandatory TLS encryption. If the list is empty, the server 20672supports all available SSL/TLS protocol versions. See 20673<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> for further details. </p> 20674 20675<p> This feature is available in Postfix 2.8 and later. </p> 20676 20677 20678</DD> 20679 20680<DT><b><a name="tlsproxy_tls_protocols">tlsproxy_tls_protocols</a> 20681(default: $<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>)</b></DT><DD> 20682 20683<p> List of TLS protocols that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server will 20684exclude or include with opportunistic TLS encryption. See 20685<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> for further details. </p> 20686 20687<p> This feature is available in Postfix 2.8 and later. </p> 20688 20689 20690</DD> 20691 20692<DT><b><a name="tlsproxy_tls_req_ccert">tlsproxy_tls_req_ccert</a> 20693(default: $<a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>)</b></DT><DD> 20694 20695<p> With mandatory TLS encryption, require a trusted remote SMTP 20696client certificate in order to allow TLS connections to proceed. 20697See <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> for further details. </p> 20698 20699<p> This feature is available in Postfix 2.8 and later. </p> 20700 20701 20702</DD> 20703 20704<DT><b><a name="tlsproxy_tls_security_level">tlsproxy_tls_security_level</a> 20705(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD> 20706 20707<p> The SMTP TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server; 20708when a non-empty value is specified, this overrides the obsolete 20709parameters <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 20710<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> for further details. </p> 20711 20712<p> This feature is available in Postfix 2.8 and later. </p> 20713 20714 20715</DD> 20716 20717<DT><b><a name="tlsproxy_tls_session_cache_timeout">tlsproxy_tls_session_cache_timeout</a> 20718(default: $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>)</b></DT><DD> 20719 20720<p> Obsolete expiration time of Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server TLS session 20721cache information. Since the cache is shared with <a href="smtpd.8.html">smtpd(8)</a> and managed 20722by <a href="tlsmgr.8.html">tlsmgr(8)</a>, there is only one expiration time for the SMTP server cache 20723shared by all three services, namely <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p> 20724 20725<p> This feature is available in Postfix 2.8 and later. </p> 20726 20727 20728</DD> 20729 20730<DT><b><a name="tlsproxy_use_tls">tlsproxy_use_tls</a> 20731(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD> 20732 20733<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients, 20734but do not require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a> 20735for further details. Use <a href="postconf.5.html#tlsproxy_tls_security_level">tlsproxy_tls_security_level</a> instead. </p> 20736 20737<p> This feature is available in Postfix 2.8 and later. </p> 20738 20739 20740</DD> 20741 20742<DT><b><a name="tlsproxy_watchdog_timeout">tlsproxy_watchdog_timeout</a> 20743(default: 10s)</b></DT><DD> 20744 20745<p> How much time a <a href="tlsproxy.8.html">tlsproxy(8)</a> process may take to process local 20746or remote I/O before it is terminated by a built-in watchdog timer. 20747This is a safety mechanism that prevents <a href="tlsproxy.8.html">tlsproxy(8)</a> from becoming 20748non-responsive due to a bug in Postfix itself or in system software. 20749To avoid false alarms and unnecessary cache corruption this limit 20750cannot be set under 10s. </p> 20751 20752<p> Specify a non-zero time value (an integral value plus an optional 20753one-letter suffix that specifies the time unit). Time units: s 20754(seconds), m (minutes), h (hours), d (days), w (weeks). 20755The default time unit is s (seconds). </p> 20756 20757<p> This feature is available in Postfix 2.8 and later </p> 20758 20759 20760</DD> 20761 20762<DT><b><a name="trace_service_name">trace_service_name</a> 20763(default: trace)</b></DT><DD> 20764 20765<p> 20766The name of the trace service. This service is implemented by the 20767<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record 20768of mail deliveries and produces a mail delivery report when verbose 20769delivery is requested with "<b>sendmail -v</b>". 20770</p> 20771 20772<p> 20773This feature is available in Postfix 2.1 and later. 20774</p> 20775 20776 20777</DD> 20778 20779<DT><b><a name="transport_delivery_slot_cost">transport_delivery_slot_cost</a> 20780(default: $<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b></DT><DD> 20781 20782<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> 20783parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 20784the message delivery transport. </p> 20785 20786<p> Note: <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> parameters will not 20787show up in "postconf" command output before Postfix version 2.9. 20788This limitation applies to many parameters whose name is a combination 20789of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case: 20790"_delivery_slot_cost"). </p> 20791 20792 20793</DD> 20794 20795<DT><b><a name="transport_delivery_slot_discount">transport_delivery_slot_discount</a> 20796(default: $<a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>)</b></DT><DD> 20797 20798<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a> 20799parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 20800the message delivery transport. </p> 20801 20802<p> Note: <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> parameters will 20803not show up in "postconf" command output before Postfix version 208042.9. This limitation applies to many parameters whose name is a 20805combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 20806this case: "_delivery_slot_discount"). </p> 20807 20808 20809</DD> 20810 20811<DT><b><a name="transport_delivery_slot_loan">transport_delivery_slot_loan</a> 20812(default: $<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b></DT><DD> 20813 20814<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a> 20815parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 20816the message delivery transport. </p> 20817 20818<p> Note: <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> parameters will not 20819show up in "postconf" command output before Postfix version 2.9. 20820This limitation applies to many parameters whose name is a combination 20821of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case: 20822"_delivery_slot_loan"). </p> 20823 20824 20825</DD> 20826 20827<DT><b><a name="transport_destination_concurrency_failed_cohort_limit">transport_destination_concurrency_failed_cohort_limit</a> 20828(default: $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>)</b></DT><DD> 20829 20830<p> A transport-specific override for the 20831<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> parameter value, 20832where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery 20833transport. </p> 20834 20835<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> 20836parameters will not show up in "postconf" command output before 20837Postfix version 2.9. This limitation applies to many parameters 20838whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a 20839built-in suffix (in this case: 20840"_destination_concurrency_failed_cohort_limit"). </p> 20841 20842<p> This feature is available in Postfix 2.5 and later. </p> 20843 20844 20845</DD> 20846 20847<DT><b><a name="transport_destination_concurrency_limit">transport_destination_concurrency_limit</a> 20848(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD> 20849 20850<p> A transport-specific override for the 20851<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> parameter value, where 20852<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery 20853transport. </p> 20854 20855<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> 20856parameters will not show up in "postconf" command output before 20857Postfix version 2.9. This limitation applies to many parameters 20858whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a 20859built-in suffix (in this case: "_destination_concurrency_limit"). 20860</p> 20861 20862 20863</DD> 20864 20865<DT><b><a name="transport_destination_concurrency_negative_feedback">transport_destination_concurrency_negative_feedback</a> 20866(default: $<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>)</b></DT><DD> 20867 20868<p> A transport-specific override for the 20869<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> parameter value, 20870where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery 20871transport. </p> 20872 20873<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a> 20874parameters will not show up in "postconf" command output before 20875Postfix version 2.9. This limitation applies to many parameters 20876whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a 20877built-in suffix (in this case: 20878"_destination_concurrency_negative_feedback"). </p> 20879 20880<p> This feature is available in Postfix 2.5 and later. </p> 20881 20882 20883</DD> 20884 20885<DT><b><a name="transport_destination_concurrency_positive_feedback">transport_destination_concurrency_positive_feedback</a> 20886(default: $<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>)</b></DT><DD> 20887 20888<p> A transport-specific override for the 20889<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> parameter value, 20890where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery 20891transport. </p> 20892 20893<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a> 20894parameters will not show up in "postconf" command output before 20895Postfix version 2.9. This limitation applies to many parameters 20896whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a 20897built-in suffix (in this case: 20898"_destination_concurrency_positive_feedback"). </p> 20899 20900<p> This feature is available in Postfix 2.5 and later. </p> 20901 20902 20903</DD> 20904 20905<DT><b><a name="transport_destination_rate_delay">transport_destination_rate_delay</a> 20906(default: $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>)</b></DT><DD> 20907 20908<p> A transport-specific override for the <a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a> 20909parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 20910the message delivery transport. </p> 20911 20912<p> Note: some <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> parameters 20913will not show up in "postconf" command output before Postfix version 209142.9. This limitation applies to many parameters whose name is a 20915combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 20916this case: "_destination_rate_delay"). </p> 20917 20918<p> This feature is available in Postfix 2.5 and later. </p> 20919 20920 20921</DD> 20922 20923<DT><b><a name="transport_destination_recipient_limit">transport_destination_recipient_limit</a> 20924(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD> 20925 20926<p> A transport-specific override for the 20927<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> parameter value, where 20928<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery 20929transport. </p> 20930 20931<p> Note: some <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> parameters 20932will not show up in "postconf" command output before Postfix version 209332.9. This limitation applies to many parameters whose name is a 20934combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 20935this case: "_destination_recipient_limit"). </p> 20936 20937 20938</DD> 20939 20940<DT><b><a name="transport_extra_recipient_limit">transport_extra_recipient_limit</a> 20941(default: $<a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>)</b></DT><DD> 20942 20943<p> A transport-specific override for the <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a> 20944parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 20945the message delivery transport. </p> 20946 20947<p> Note: <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> parameters will 20948not show up in "postconf" command output before Postfix version 209492.9. This limitation applies to many parameters whose name is a 20950combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 20951this case: "_extra_recipient_limit"). </p> 20952 20953 20954</DD> 20955 20956<DT><b><a name="transport_initial_destination_concurrency">transport_initial_destination_concurrency</a> 20957(default: $<a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>)</b></DT><DD> 20958 20959<p> A transport-specific override for the <a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a> 20960parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 20961the message delivery transport. </p> 20962 20963<p> Note: some <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> 20964parameters will not show up in "postconf" command output before 20965Postfix version 2.9. This limitation applies to many parameters 20966whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a 20967built-in suffix (in this case: "_initial_destination_concurrency"). 20968</p> 20969 20970<p> This feature is available in Postfix 2.5 and later. </p> 20971 20972 20973</DD> 20974 20975<DT><b><a name="transport_maps">transport_maps</a> 20976(default: empty)</b></DT><DD> 20977 20978<p> 20979Optional lookup tables with mappings from recipient address to 20980(message delivery transport, next-hop destination). See <a href="transport.5.html">transport(5)</a> 20981for details. 20982</p> 20983 20984<p> 20985Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by 20986whitespace or comma. Tables will be searched in the specified order 20987until a match is found. If you use this 20988feature with local files, run "<b>postmap /etc/postfix/transport</b>" 20989after making a change. </p> 20990 20991<p> Pattern matching of domain names is controlled by the presence 20992or 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> 20993parameter value. </p> 20994 20995<p> For safety reasons, as of Postfix 2.3 this feature does not 20996allow $number substitutions in regular expression maps. </p> 20997 20998<p> 20999Examples: 21000</p> 21001 21002<pre> 21003<a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/transport 21004<a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport 21005</pre> 21006 21007 21008</DD> 21009 21010<DT><b><a name="transport_minimum_delivery_slots">transport_minimum_delivery_slots</a> 21011(default: $<a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>)</b></DT><DD> 21012 21013<p> A transport-specific override for the <a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a> 21014parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 21015the message delivery transport. </p> 21016 21017<p> Note: <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> parameters will 21018not show up in "postconf" command output before Postfix version 210192.9. This limitation applies to many parameters whose name is a 21020combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 21021this case: "_minimum_delivery_slots"). </p> 21022 21023 21024</DD> 21025 21026<DT><b><a name="transport_recipient_limit">transport_recipient_limit</a> 21027(default: $<a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>)</b></DT><DD> 21028 21029<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a> 21030parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 21031the message delivery transport. </p> 21032 21033<p> Note: some <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> parameters will not 21034show up in "postconf" command output before Postfix version 2.9. 21035This limitation applies to many parameters whose name is a combination 21036of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case: 21037"_recipient_limit"). </p> 21038 21039 21040</DD> 21041 21042<DT><b><a name="transport_recipient_refill_delay">transport_recipient_refill_delay</a> 21043(default: $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>)</b></DT><DD> 21044 21045<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a> 21046parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 21047the message delivery transport. </p> 21048 21049<p> Note: <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> parameters will 21050not show up in "postconf" command output before Postfix version 210512.9. This limitation applies to many parameters whose name is a 21052combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 21053this case: "_recipient_refill_delay"). </p> 21054 21055<p> This feature is available in Postfix 2.4 and later. </p> 21056 21057 21058</DD> 21059 21060<DT><b><a name="transport_recipient_refill_limit">transport_recipient_refill_limit</a> 21061(default: $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>)</b></DT><DD> 21062 21063<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> 21064parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 21065the message delivery transport. </p> 21066 21067<p> Note: <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> parameters will 21068not show up in "postconf" command output before Postfix version 210692.9. This limitation applies to many parameters whose name is a 21070combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 21071this case: "_recipient_refill_limit"). </p> 21072 21073<p> This feature is available in Postfix 2.4 and later. </p> 21074 21075 21076</DD> 21077 21078<DT><b><a name="transport_retry_time">transport_retry_time</a> 21079(default: 60s)</b></DT><DD> 21080 21081<p> 21082The time between attempts by the Postfix queue manager to contact 21083a malfunctioning message delivery transport. 21084</p> 21085 21086<p> Specify a non-zero time value (an integral value plus an optional 21087one-letter suffix that specifies the time unit). Time units: s 21088(seconds), m (minutes), h (hours), d (days), w (weeks). 21089The default time unit is s (seconds). </p> 21090 21091 21092</DD> 21093 21094<DT><b><a name="transport_time_limit">transport_time_limit</a> 21095(default: $<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b></DT><DD> 21096 21097<p> A transport-specific override for the <a href="postconf.5.html#command_time_limit">command_time_limit</a> parameter 21098value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message 21099delivery transport. </p> 21100 21101<p> Specify a non-zero time value (an integral value plus an optional 21102one-letter suffix that specifies the time unit). Time units: s 21103(seconds), m (minutes), h (hours), d (days), w (weeks). 21104The default time unit is s (seconds). </p> 21105 21106<p> Note: <a href="postconf.5.html#transport_time_limit"><i>transport</i>_time_limit</a> parameters will not show up 21107in "postconf" command output before Postfix version 2.9. This 21108limitation applies to many parameters whose name is a combination 21109of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case: 21110"_time_limit"). </p> 21111 21112 21113</DD> 21114 21115<DT><b><a name="transport_transport_rate_delay">transport_transport_rate_delay</a> 21116(default: $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>)</b></DT><DD> 21117 21118<p> A transport-specific override for the <a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a> 21119parameter value, where the initial <i>transport</i> in the parameter 21120name is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p> 21121 21122<p> Specify a non-negative time value (an integral value plus an optional 21123one-letter suffix that specifies the time unit). Time units: s 21124(seconds), m (minutes), h (hours), d (days), w (weeks). 21125The default time unit is s (seconds). </p> 21126 21127<p> Note: <a href="postconf.5.html#transport_transport_rate_delay"><i>transport</i>_transport_rate_delay</a> parameters will 21128not show up in "postconf" command output before Postfix version 211292.9. This limitation applies to many parameters whose name is a 21130combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 21131this case: "_transport_rate_delay"). </p> 21132 21133 21134</DD> 21135 21136<DT><b><a name="trigger_timeout">trigger_timeout</a> 21137(default: 10s)</b></DT><DD> 21138 21139<p> 21140The time limit for sending a trigger to a Postfix daemon (for 21141example, the <a href="pickup.8.html">pickup(8)</a> or <a href="qmgr.8.html">qmgr(8)</a> daemon). This time limit prevents 21142programs from getting stuck when the mail system is under heavy 21143load. 21144</p> 21145 21146<p> Specify a non-zero time value (an integral value plus an optional 21147one-letter suffix that specifies the time unit). Time units: s 21148(seconds), m (minutes), h (hours), d (days), w (weeks). 21149The default time unit is s (seconds). </p> 21150 21151 21152</DD> 21153 21154<DT><b><a name="undisclosed_recipients_header">undisclosed_recipients_header</a> 21155(default: see "postconf -d" output)</b></DT><DD> 21156 21157<p> 21158Message header that the Postfix <a href="cleanup.8.html">cleanup(8)</a> server inserts when a 21159message contains no To: or Cc: message header. With Postfix 2.8 21160and later, the default value is empty. With Postfix 2.4-2.7, 21161specify an empty value to disable this feature. </p> 21162 21163<p> Example: </p> 21164 21165<pre> 21166# Default value before Postfix 2.8. 21167# Note: the ":" and ";" are both required. 21168<a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> = To: undisclosed-recipients:; 21169</pre> 21170 21171 21172</DD> 21173 21174<DT><b><a name="unknown_address_reject_code">unknown_address_reject_code</a> 21175(default: 450)</b></DT><DD> 21176 21177<p> 21178The numerical response code when the Postfix SMTP server rejects a 21179sender or recipient address because its domain is unknown. This 21180is one of the possible replies from the restrictions 21181<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>. 21182</p> 21183 21184<p> 21185Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 21186</p> 21187 21188 21189</DD> 21190 21191<DT><b><a name="unknown_address_tempfail_action">unknown_address_tempfail_action</a> 21192(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD> 21193 21194<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a> 21195or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> fail due to a temporary error 21196condition. Specify "defer" to defer the remote SMTP client request 21197immediately. With the default "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix 21198SMTP server continues to look for opportunities to reject mail, and 21199defers the client request only if it would otherwise be accepted. 21200</p> 21201 21202<p> This feature is available in Postfix 2.6 and later. </p> 21203 21204 21205</DD> 21206 21207<DT><b><a name="unknown_client_reject_code">unknown_client_reject_code</a> 21208(default: 450)</b></DT><DD> 21209 21210<p> 21211The numerical Postfix SMTP server response code when a client 21212without valid address <=> name mapping is rejected by the 21213<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> restriction. The SMTP server always replies 21214with 450 when the mapping failed due to a temporary error condition. 21215</p> 21216 21217<p> 21218Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 21219</p> 21220 21221 21222</DD> 21223 21224<DT><b><a name="unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a> 21225(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD> 21226 21227<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> 21228fails due to a temporary error condition. Specify "defer" to defer 21229the remote SMTP client request immediately. With the default 21230"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look 21231for opportunities to reject mail, and defers the client request 21232only if it would otherwise be accepted. </p> 21233 21234<p> This feature is available in Postfix 2.6 and later. </p> 21235 21236 21237</DD> 21238 21239<DT><b><a name="unknown_hostname_reject_code">unknown_hostname_reject_code</a> 21240(default: 450)</b></DT><DD> 21241 21242<p> 21243The numerical Postfix SMTP server response code when the hostname 21244specified with the HELO or EHLO command is rejected by the 21245<a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> restriction. 21246</p> 21247 21248<p> 21249Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 21250</p> 21251 21252 21253</DD> 21254 21255<DT><b><a name="unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> 21256(default: 550)</b></DT><DD> 21257 21258<p> 21259The numerical Postfix SMTP server response code when a recipient 21260address is local, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> specifies a list of 21261lookup tables that does not match the recipient. A recipient 21262address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, 21263$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> or $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. 21264</p> 21265 21266<p> 21267The default setting is 550 (reject mail) but it is safer to initially 21268use 450 (try again later) so you have time to find out if your 21269<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> settings are OK. 21270</p> 21271 21272<p> 21273Example: 21274</p> 21275 21276<pre> 21277<a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 450 21278</pre> 21279 21280<p> 21281This feature is available in Postfix 2.0 and later. 21282</p> 21283 21284 21285</DD> 21286 21287<DT><b><a name="unknown_relay_recipient_reject_code">unknown_relay_recipient_reject_code</a> 21288(default: 550)</b></DT><DD> 21289 21290<p> 21291The numerical Postfix SMTP server reply code when a recipient 21292address 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 21293a list of lookup tables that does not match the recipient address. 21294</p> 21295 21296<p> 21297This feature is available in Postfix 2.0 and later. 21298</p> 21299 21300 21301</DD> 21302 21303<DT><b><a name="unknown_virtual_alias_reject_code">unknown_virtual_alias_reject_code</a> 21304(default: 550)</b></DT><DD> 21305 21306<p> 21307The Postfix SMTP server reply code when a recipient address matches 21308$<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 21309of lookup tables that does not match the recipient address. 21310</p> 21311 21312<p> 21313This feature is available in Postfix 2.0 and later. 21314</p> 21315 21316 21317</DD> 21318 21319<DT><b><a name="unknown_virtual_mailbox_reject_code">unknown_virtual_mailbox_reject_code</a> 21320(default: 550)</b></DT><DD> 21321 21322<p> 21323The Postfix SMTP server reply code when a recipient address matches 21324$<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 21325of lookup tables that does not match the recipient address. 21326</p> 21327 21328<p> 21329This feature is available in Postfix 2.0 and later. 21330</p> 21331 21332 21333</DD> 21334 21335<DT><b><a name="unverified_recipient_defer_code">unverified_recipient_defer_code</a> 21336(default: 450)</b></DT><DD> 21337 21338<p> 21339The numerical Postfix SMTP server response when a recipient address 21340probe fails due to a temporary error condition. 21341</p> 21342 21343<p> 21344Unlike elsewhere in Postfix, you can specify 250 in order to 21345accept the address anyway. 21346</p> 21347 21348<p> 21349Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 21350</p> 21351 21352<p> 21353This feature is available in Postfix 2.6 and later. 21354</p> 21355 21356 21357</DD> 21358 21359<DT><b><a name="unverified_recipient_reject_code">unverified_recipient_reject_code</a> 21360(default: 450)</b></DT><DD> 21361 21362<p> 21363The numerical Postfix SMTP server response when a recipient address 21364is rejected by the <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> restriction. 21365</p> 21366 21367<p> 21368Unlike elsewhere in Postfix, you can specify 250 in order to 21369accept the address anyway. 21370</p> 21371 21372<p> 21373Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 21374</p> 21375 21376<p> 21377This feature is available in Postfix 2.1 and later. 21378</p> 21379 21380 21381</DD> 21382 21383<DT><b><a name="unverified_recipient_reject_reason">unverified_recipient_reject_reason</a> 21384(default: empty)</b></DT><DD> 21385 21386<p> The Postfix SMTP server's reply when rejecting mail with 21387<a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. Do not include the numeric SMTP reply 21388code or the enhanced status code. By default, the response includes 21389actual address verification details. 21390 21391<p> Example: </p> 21392 21393<pre> 21394<a href="postconf.5.html#unverified_recipient_reject_reason">unverified_recipient_reject_reason</a> = Recipient address lookup failed 21395</pre> 21396 21397<p> This feature is available in Postfix 2.6 and later. </p> 21398 21399 21400</DD> 21401 21402<DT><b><a name="unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> 21403(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD> 21404 21405<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> 21406fails due to a temporary error condition. Specify "defer" to defer 21407the remote SMTP client request immediately. With the default 21408"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look 21409for opportunities to reject mail, and defers the client request 21410only if it would otherwise be accepted. </p> 21411 21412<p> This feature is available in Postfix 2.6 and later. </p> 21413 21414 21415</DD> 21416 21417<DT><b><a name="unverified_sender_defer_code">unverified_sender_defer_code</a> 21418(default: 450)</b></DT><DD> 21419 21420<p> 21421The numerical Postfix SMTP server response code when a sender address 21422probe fails due to a temporary error condition. 21423</p> 21424 21425<p> 21426Unlike elsewhere in Postfix, you can specify 250 in order to 21427accept the address anyway. 21428</p> 21429 21430<p> 21431Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 21432</p> 21433 21434<p> 21435This feature is available in Postfix 2.6 and later. 21436</p> 21437 21438 21439</DD> 21440 21441<DT><b><a name="unverified_sender_reject_code">unverified_sender_reject_code</a> 21442(default: 450)</b></DT><DD> 21443 21444<p> 21445The numerical Postfix SMTP server response code when a recipient 21446address is rejected by the <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> restriction. 21447</p> 21448 21449<p> 21450Unlike elsewhere in Postfix, you can specify 250 in order to 21451accept the address anyway. 21452</p> 21453 21454<p> 21455Do not change this unless you have a complete understanding of <a href="https://tools.ietf.org/html/rfc5321">RFC 5321</a>. 21456</p> 21457 21458<p> 21459This feature is available in Postfix 2.1 and later. 21460</p> 21461 21462 21463</DD> 21464 21465<DT><b><a name="unverified_sender_reject_reason">unverified_sender_reject_reason</a> 21466(default: empty)</b></DT><DD> 21467 21468<p> The Postfix SMTP server's reply when rejecting mail with 21469<a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>. Do not include the numeric SMTP reply 21470code or the enhanced status code. By default, the response includes 21471actual address verification details. 21472 21473<p> Example: </p> 21474 21475<pre> 21476<a href="postconf.5.html#unverified_sender_reject_reason">unverified_sender_reject_reason</a> = Sender address lookup failed 21477</pre> 21478 21479<p> This feature is available in Postfix 2.6 and later. </p> 21480 21481 21482</DD> 21483 21484<DT><b><a name="unverified_sender_tempfail_action">unverified_sender_tempfail_action</a> 21485(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD> 21486 21487<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> 21488fails due to a temporary error condition. Specify "defer" to defer 21489the remote SMTP client request immediately. With the default 21490"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look 21491for opportunities to reject mail, and defers the client request 21492only if it would otherwise be accepted. </p> 21493 21494<p> This feature is available in Postfix 2.6 and later. </p> 21495 21496 21497</DD> 21498 21499<DT><b><a name="use_srv_lookup">use_srv_lookup</a> 21500(default: empty)</b></DT><DD> 21501 21502<p> Enables discovery for the specified service(s) using DNS SRV 21503records. For example, with "<a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = submission" and 21504"<a href="postconf.5.html#relayhost">relayhost</a> = example.com:submission", the Postfix SMTP client will 21505look up DNS SRV records for _submission._tcp.example.com, and will 21506relay email through the hosts and ports that are specified with 21507those records. See <a href="https://tools.ietf.org/html/rfc2782">RFC 2782</a> for details of the host selection 21508process. </p> 21509 21510<p> Specify zero or more service names separated by comma and/or 21511whitespace. Any name in the services(5) database may be specified, 21512though in practice only submission, submissions, and smtp make 21513sense. </p> 21514 21515<p> When SRV record lookup is enabled with <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a>, you can 21516enclose a domain name in "[]" to force IP address lookup instead 21517of SRV record lookup. </p> 21518 21519<p> Example 1: MUA-to-MTA submission using SRV record lookup for 21520the "submission" service for domain "example.com". This uses the 21521default SMTP delivery agent with STARTTLS, and looks up SRV records 21522for "_submission._tcp.example.com". </p> 21523 21524<pre> 21525/etc/postfix/<a href="postconf.5.html">main.cf</a>: 21526 <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = submission 21527 <a href="postconf.5.html#relayhost">relayhost</a> = example.com:submission 21528 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may 21529 ...see <a href="SASL_README.html">SASL_README</a> for sasl configuration... 21530</pre> 21531 21532<p> Example 2: MUA-to-MTA submission using SRV record lookup for 21533the "submissions" service for domain "example.org". This uses a 21534dedicated SMTP delivery agent (smtp-wraptls) with tls_wrappermode 21535turned on, and looks up SRV records for "_submissions._tcp.example.org". 21536</p> 21537 21538<p> Note: specify the older name "smtps" instead of "submissions" 21539when a provider has DNS SRV records like "_smtps._tcp.example.org" 21540instead of "_submissions._tcp.example.org". </p> 21541 21542<pre> 21543/etc/postfix/<a href="postconf.5.html">main.cf</a>: 21544 <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = submissions 21545 <a href="postconf.5.html#default_transport">default_transport</a> = smtp-wraptls:example.org:submissions 21546 ...see <a href="SASL_README.html">SASL_README</a> for sasl configuration... 21547</pre> 21548 21549<pre> 21550/etc/postfix/<a href="master.5.html">master.cf</a>: 21551 smtp-wraptls unix ... ... ... ... ... smtp 21552 -o { <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> = yes } 21553 -o { <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt } 21554</pre> 21555 21556<p> Example 3: Sender-dependent selection for a combination of 21557MUA-to-MTA submission services. This combines examples 1 and 2 with 21558examples of how to disable SRV and look up IP address records for 21559"smtp-relay.example.net" and "smtp-relay.other.example". Again, 21560specify the older name "smtps" instead of "submissions" when a 21561provider has DNS SRV records like "_smtps._tcp.example.org" instead 21562of "_submissions._tcp.example.org". </p> 21563 21564<pre> 21565/etc/postfix/<a href="postconf.5.html">main.cf</a>: 21566 <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = submission, submissions 21567 <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> = <a href="DATABASE_README.html#types">inline</a>:{ 21568 # Destinations that support SRV record lookup. 21569 { user1@example.com = <a href="smtp.8.html">smtp</a>:example.com:submission } 21570 { user2@example.org = smtp-wraptls:example.org:submissions } 21571 # Use [destination] to force IP address lookups. 21572 { user3@example.net = <a href="smtp.8.html">smtp</a>:[smtp-relay.example.net]:submission } 21573 { user4@other.example = 21574 smtp-wraptls:[smtp-relay.other.example]:submissions } } 21575 ...see <a href="SASL_README.html">SASL_README</a> for sasl configuration... 21576</pre> 21577 21578<p> Example 4: MTA-to-MTA traffic, using SRV record lookup for the 21579SMTP service. This is useful for Postfix tests, and may be useful 21580in environments where ports are dynamically assigned to servers. 21581</p> 21582 21583<pre> 21584/etc/postfix/<a href="postconf.5.html">main.cf</a>: 21585 <a href="postconf.5.html#use_srv_lookup">use_srv_lookup</a> = smtp 21586 # Fall back to MX record lookup when SRV records are unavailable. 21587 #<a href="postconf.5.html#allow_srv_lookup_fallback">allow_srv_lookup_fallback</a> = yes 21588 #<a href="postconf.5.html#ignore_srv_lookup_error">ignore_srv_lookup_error</a> = yes 21589</pre> 21590 21591<p> This feature is available in Postfix 3.8 and later. </p> 21592 21593 21594</DD> 21595 21596<DT><b><a name="verp_delimiter_filter">verp_delimiter_filter</a> 21597(default: -=+)</b></DT><DD> 21598 21599<p> 21600The characters Postfix accepts as VERP delimiter characters on the 21601Postfix <a href="sendmail.1.html">sendmail(1)</a> command line and in SMTP commands. 21602</p> 21603 21604<p> 21605This feature is available in Postfix 1.1 and later. 21606</p> 21607 21608 21609</DD> 21610 21611<DT><b><a name="virtual_alias_address_length_limit">virtual_alias_address_length_limit</a> 21612(default: 1000)</b></DT><DD> 21613 21614<p> 21615The maximal length of an email address after virtual alias expansion. 21616This stops virtual aliasing loops that increase the address length 21617exponentially. 21618</p> 21619 21620<p> 21621This feature is available in Postfix 3.0 and later. 21622</p> 21623 21624 21625</DD> 21626 21627<DT><b><a name="virtual_alias_domains">virtual_alias_domains</a> 21628(default: $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>)</b></DT><DD> 21629 21630<p> Postfix is the final destination for the specified list of virtual 21631alias domains, that is, domains for which all addresses are aliased 21632to addresses in other local or remote domains. The SMTP server 21633validates recipient addresses with $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> and rejects 21634non-existent recipients. See also the <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> class 21635in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file </p> 21636 21637<p> 21638This feature is available in Postfix 2.0 and later. The default 21639value is backwards compatible with Postfix version 1.1. 21640</p> 21641 21642<p> 21643The default value is $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> so that you can keep all 21644information about <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a> in one place. If you have 21645many users, it is better to separate information that changes more 21646frequently (virtual address -> local or remote address mapping) 21647from information that changes less frequently (the list of virtual 21648domain names). 21649</p> 21650 21651<p> Specify a list of host or domain names, "/file/name" or 21652"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. A 21653"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" 21654lookup table is matched when a table entry matches a host or domain name 21655(the lookup result is ignored). Continue long lines by starting 21656the next line with whitespace. Specify "!pattern" to exclude a host 21657or domain name from the list. The form "!/file/name" is supported 21658only in Postfix version 2.4 and later. </p> 21659 21660<p> 21661See also the <a href="VIRTUAL_README.html">VIRTUAL_README</a> and <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> documents 21662for further information. 21663</p> 21664 21665<p> 21666Example: 21667</p> 21668 21669<pre> 21670<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = virtual1.tld virtual2.tld 21671</pre> 21672 21673 21674</DD> 21675 21676<DT><b><a name="virtual_alias_expansion_limit">virtual_alias_expansion_limit</a> 21677(default: 1000)</b></DT><DD> 21678 21679<p> 21680The maximal number of addresses that virtual alias expansion produces 21681from each original recipient. 21682</p> 21683 21684<p> 21685This feature is available in Postfix 2.1 and later. 21686</p> 21687 21688 21689</DD> 21690 21691<DT><b><a name="virtual_alias_maps">virtual_alias_maps</a> 21692(default: $<a href="postconf.5.html#virtual_maps">virtual_maps</a>)</b></DT><DD> 21693 21694<p> 21695Optional lookup tables that alias specific mail addresses or domains 21696to other local or remote addresses. The table format and lookups 21697are documented in <a href="virtual.5.html">virtual(5)</a>. For an overview of Postfix address 21698manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document. 21699</p> 21700 21701<p> 21702This feature is available in Postfix 2.0 and later. The default 21703value is backwards compatible with Postfix version 1.1. 21704</p> 21705 21706<p> 21707Specify zero or more "type:name" lookup tables, separated by 21708whitespace or comma. Tables will be searched in the specified order 21709until a match is found. 21710Note: these lookups are recursive. 21711</p> 21712 21713<p> 21714If you use this feature with indexed files, run "<b>postmap 21715/etc/postfix/virtual</b>" after changing the file. 21716</p> 21717 21718<p> 21719Examples: 21720</p> 21721 21722<pre> 21723<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/virtual 21724<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/virtual 21725</pre> 21726 21727 21728</DD> 21729 21730<DT><b><a name="virtual_alias_recursion_limit">virtual_alias_recursion_limit</a> 21731(default: 1000)</b></DT><DD> 21732 21733<p> 21734The maximal nesting depth of virtual alias expansion. Currently 21735the recursion limit is applied only to the left branch of the 21736expansion graph, so the depth of the tree can in the worst case 21737reach the sum of the expansion and recursion limits. This may 21738change in the future. 21739</p> 21740 21741<p> 21742This feature is available in Postfix 2.1 and later. 21743</p> 21744 21745 21746</DD> 21747 21748<DT><b><a name="virtual_delivery_status_filter">virtual_delivery_status_filter</a> 21749(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD> 21750 21751<p> Optional filter for the <a href="virtual.8.html">virtual(8)</a> delivery agent to change the 21752delivery status code or explanatory text of successful or unsuccessful 21753deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p> 21754 21755<p> This feature is available in Postfix 3.0 and later. </p> 21756 21757 21758</DD> 21759 21760<DT><b><a name="virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> 21761(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD> 21762 21763<p> The maximal number of parallel deliveries to the same destination 21764via the virtual message delivery transport. This limit is enforced 21765by the queue manager. The message delivery transport name is the 21766first field in the entry in the <a href="master.5.html">master.cf</a> file. </p> 21767 21768 21769</DD> 21770 21771<DT><b><a name="virtual_destination_recipient_limit">virtual_destination_recipient_limit</a> 21772(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD> 21773 21774<p> The maximal number of recipients per message for the virtual 21775message delivery transport. This limit is enforced by the queue 21776manager. The message delivery transport name is the first field in 21777the entry in the <a href="master.5.html">master.cf</a> file. </p> 21778 21779<p> Setting this parameter to a value of 1 changes the meaning of 21780<a href="postconf.5.html#virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> from concurrency per domain 21781into concurrency per recipient. </p> 21782 21783 21784</DD> 21785 21786<DT><b><a name="virtual_gid_maps">virtual_gid_maps</a> 21787(default: empty)</b></DT><DD> 21788 21789<p> 21790Lookup tables with the per-recipient group ID for <a href="virtual.8.html">virtual(8)</a> mailbox 21791delivery. 21792</p> 21793 21794<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent. 21795It does not apply when mail is delivered with a different mail 21796delivery program. </p> 21797 21798<p> 21799Specify zero or more "type:name" lookup tables, separated by 21800whitespace or comma. Tables will be searched in the specified order 21801until a match is found. 21802</p> 21803 21804<p> 21805In a lookup table, specify a left-hand side of "@domain.tld" to 21806match any user in the specified domain that does not have a specific 21807"user@domain.tld" entry. 21808</p> 21809 21810<p> 21811When a recipient address has an optional address extension 21812(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up 21813the full address first, and when the lookup fails, it looks up the 21814unextended address (user@domain.tld). 21815</p> 21816 21817<p> 21818Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows 21819regular expression substitution of $1 etc. in regular expression 21820lookup tables, because that would open a security hole. 21821</p> 21822 21823<p> 21824Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will 21825silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead 21826it will open the table directly. Before Postfix version 2.2, the 21827<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error. 21828</p> 21829 21830 21831</DD> 21832 21833<DT><b><a name="virtual_mailbox_base">virtual_mailbox_base</a> 21834(default: empty)</b></DT><DD> 21835 21836<p> 21837A prefix that the <a href="virtual.8.html">virtual(8)</a> delivery agent prepends to all pathname 21838results from $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> table lookups. This is a safety 21839measure to ensure that an out of control map doesn't litter the 21840file system with mailboxes. While <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> could be 21841set to "/", this setting isn't recommended. 21842</p> 21843 21844<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent. 21845It does not apply when mail is delivered with a different mail 21846delivery program. </p> 21847 21848<p> 21849Example: 21850</p> 21851 21852<pre> 21853<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /var/mail 21854</pre> 21855 21856 21857</DD> 21858 21859<DT><b><a name="virtual_mailbox_domains">virtual_mailbox_domains</a> 21860(default: $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>)</b></DT><DD> 21861 21862<p> Postfix is the final destination for the specified list of domains; 21863mail is delivered via the $<a href="postconf.5.html#virtual_transport">virtual_transport</a> mail delivery transport. 21864By default this is the Postfix <a href="virtual.8.html">virtual(8)</a> delivery agent. The SMTP 21865server validates recipient addresses with $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> 21866and rejects mail for non-existent recipients. See also the virtual 21867mailbox domain class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file. </p> 21868 21869<p> This parameter expects the same syntax as the <a href="postconf.5.html#mydestination">mydestination</a> 21870configuration parameter. </p> 21871 21872<p> 21873This feature is available in Postfix 2.0 and later. The default 21874value is backwards compatible with Postfix version 1.1. 21875</p> 21876 21877 21878</DD> 21879 21880<DT><b><a name="virtual_mailbox_limit">virtual_mailbox_limit</a> 21881(default: 51200000)</b></DT><DD> 21882 21883<p> 21884The maximal size in bytes of an individual <a href="virtual.8.html">virtual(8)</a> mailbox or 21885maildir file, or zero (no limit). </p> 21886 21887<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent. 21888It does not apply when mail is delivered with a different mail 21889delivery program. </p> 21890 21891 21892</DD> 21893 21894<DT><b><a name="virtual_mailbox_lock">virtual_mailbox_lock</a> 21895(default: see "postconf -d" output)</b></DT><DD> 21896 21897<p> 21898How to lock a UNIX-style <a href="virtual.8.html">virtual(8)</a> mailbox before attempting 21899delivery. For a list of available file locking methods, use the 21900"<b>postconf -l</b>" command. 21901</p> 21902 21903<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent. 21904It does not apply when mail is delivered with a different mail 21905delivery program. </p> 21906 21907<p> 21908This setting is ignored with <b>maildir</b> style delivery, because 21909such deliveries are safe without application-level locks. 21910</p> 21911 21912<p> 21913Note 1: the <b>dotlock</b> method requires that the recipient UID 21914or GID has write access to the parent directory of the recipient's 21915mailbox file. 21916</p> 21917 21918<p> 21919Note 2: the default setting of this parameter is system dependent. 21920</p> 21921 21922 21923</DD> 21924 21925<DT><b><a name="virtual_mailbox_maps">virtual_mailbox_maps</a> 21926(default: empty)</b></DT><DD> 21927 21928<p> 21929Optional lookup tables with all valid addresses in the domains that 21930match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>. 21931</p> 21932 21933<p> 21934Specify zero or more "type:name" lookup tables, separated by 21935whitespace or comma. Tables will be searched in the specified order 21936until a match is found. 21937</p> 21938 21939<p> 21940In a lookup table, specify a left-hand side of "@domain.tld" to 21941match any user in the specified domain that does not have a specific 21942"user@domain.tld" entry. 21943</p> 21944 21945<p> 21946With 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>", 21947lookup tables also need entries with a left-hand side of "domain.tld" 21948to satisfy virtual_mailbox_domain lookups (the right-hand side is 21949required but will not be used). 21950</p> 21951 21952<p> The remainder of this text is specific to the <a href="virtual.8.html">virtual(8)</a> delivery 21953agent. It does not apply when mail is delivered with a different 21954mail delivery program. </p> 21955 21956<p> 21957The <a href="virtual.8.html">virtual(8)</a> delivery agent uses this table to look up the 21958per-recipient mailbox or maildir pathname. If the lookup result 21959ends in a slash ("/"), maildir-style delivery is carried out, 21960otherwise the path is assumed to specify a UNIX-style mailbox file. 21961Note that $<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> is unconditionally prepended to 21962this path. 21963</p> 21964 21965<p> 21966When a recipient address has an optional address extension 21967(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up 21968the full address first, and when the lookup fails, it looks up the 21969unextended address (user@domain.tld). 21970</p> 21971 21972<p> 21973Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows 21974regular expression substitution of $1 etc. in regular expression 21975lookup tables, because that would open a security hole. 21976</p> 21977 21978<p> 21979Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will 21980silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead 21981it will open the table directly. Before Postfix version 2.2, the 21982<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error. 21983</p> 21984 21985 21986</DD> 21987 21988<DT><b><a name="virtual_maps">virtual_maps</a> 21989(default: empty)</b></DT><DD> 21990 21991<p> Optional lookup tables with a) names of domains for which all 21992addresses are aliased to addresses in other local or remote domains, 21993and b) addresses that are aliased to addresses in other local or 21994remote domains. Available before Postfix version 2.0. With Postfix 21995version 2.0 and later, this is replaced by separate controls: <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> 21996and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p> 21997 21998 21999</DD> 22000 22001<DT><b><a name="virtual_minimum_uid">virtual_minimum_uid</a> 22002(default: 100)</b></DT><DD> 22003 22004<p> 22005The minimum user ID value that the <a href="virtual.8.html">virtual(8)</a> delivery agent accepts 22006as a result from $<a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> table lookup. Returned 22007values less than this will be rejected, and the message will be 22008deferred. 22009</p> 22010 22011<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent. 22012It does not apply when mail is delivered with a different mail 22013delivery program. </p> 22014 22015 22016</DD> 22017 22018<DT><b><a name="virtual_transport">virtual_transport</a> 22019(default: virtual)</b></DT><DD> 22020 22021<p> 22022The default mail delivery transport and next-hop destination for 22023final delivery to domains listed with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>. 22024This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. 22025</p> 22026 22027<p> 22028Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i> 22029is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>. 22030The <i>:nexthop</i> destination is optional; its syntax is documented 22031in the manual page of the corresponding delivery agent. 22032</p> 22033 22034<p> 22035This feature is available in Postfix 2.0 and later. 22036</p> 22037 22038 22039</DD> 22040 22041<DT><b><a name="virtual_uid_maps">virtual_uid_maps</a> 22042(default: empty)</b></DT><DD> 22043 22044<p> 22045Lookup tables with the per-recipient user ID that the <a href="virtual.8.html">virtual(8)</a> 22046delivery agent uses while writing to the recipient's mailbox. 22047</p> 22048 22049<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent. 22050It does not apply when mail is delivered with a different mail 22051delivery program. </p> 22052 22053<p> 22054Specify zero or more "type:name" lookup tables, separated by 22055whitespace or comma. Tables will be searched in the specified order 22056until a match is found. 22057</p> 22058 22059<p> 22060In a lookup table, specify a left-hand side of "@domain.tld" 22061to match any user in the specified domain that does not have a 22062specific "user@domain.tld" entry. 22063</p> 22064 22065<p> 22066When a recipient address has an optional address extension 22067(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up 22068the full address first, and when the lookup fails, it looks up the 22069unextended address (user@domain.tld). 22070</p> 22071 22072<p> 22073Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows 22074regular expression substitution of $1 etc. in regular expression 22075lookup tables, because that would open a security hole. 22076</p> 22077 22078<p> 22079Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will 22080silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead 22081it will open the table directly. Before Postfix version 2.2, the 22082<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error. 22083</p> 22084 22085 22086</DD> 22087 22088</dl> 22089 22090</body> 22091 22092</html> 22093