1<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" 2 "http://www.w3.org/TR/html4/loose.dtd"> 3 4<html> 5 6<head> 7 8<title>Postfix Configuration Parameters </title> 9 10<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> 11 12</head> 13 14<body> 15 16<h1><img src="postfix-logo.jpg" width="203" height="98" alt="">Postfix Configuration Parameters </h1> 17 18<hr> 19 20<h2> Postfix main.cf file format </h2> 21 22<p> The Postfix main.cf configuration file specifies a very small 23subset of all the parameters that control the operation of the 24Postfix mail system. Parameters not explicitly specified are left 25at their default values. </p> 26 27<p> The general format of the main.cf file is as follows: </p> 28 29<ul> 30 31<li> <p> Each logical line is in the form "parameter = value". 32Whitespace around the "=" is ignored, as is whitespace at the end 33of a logical line. </p> 34 35<li> <p> Empty lines and whitespace-only lines are ignored, as are 36lines whose first non-whitespace character is a `#'. </p> 37 38<li> <p> A logical line starts with non-whitespace text. A line 39that starts with whitespace continues a logical line. </p> 40 41<li> <p> A parameter value may refer to other parameters. </p> 42 43<ul> 44 45<li> <p> The expressions "$name" and "${name}" are recursively 46replaced with the value of the named parameter. The parameter name 47must contain only characters from the set [a-zA-Z0-9_]. 48An undefined parameter value is replaced with the empty value. </p> 49 50<li> <p> The expressions "${name?value}" and "${name?{value}}" are 51replaced with "value" when "$name" is non-empty. The parameter name 52must contain only characters from the set [a-zA-Z0-9_]. These forms are 53supported with Postfix versions ≥ 2.2 and ≥ 3.0, respectively. 54</p> 55 56<li> <p> The expressions "${name:value}" and "${name:{value}}" are 57replaced with "value" when "$name" is empty. The parameter name must 58contain only characters from the set [a-zA-Z0-9_]. These forms are 59supported with Postfix versions ≥ 2.2 and ≥ 3.0, respectively. 60</p> 61 62<li> <p> The expression "${name?{value1}:{value2}}" is replaced 63with "value1" when "$name" is non-empty, and with "value2" when 64"$name" is empty. The "{}" is required for "value1", optional for 65"value2". The parameter name must contain only characters from the 66set [a-zA-Z0-9_]. This form is supported with Postfix versions 67≥ 3.0. </p> 68 69<li> <p> The first item inside "${...}" may be a relational expression 70of the form: "{value3} == {value4}". Besides the "==" (equality) 71operator Postfix supports "!=" (inequality), "<", "≤", "≥", 72and ">". The comparison is numerical when both operands are all 73digits, otherwise the comparison is lexicographical. These forms 74are supported with Postfix versions ≥ 3.0. </p> 75 76<li> <p> Each "value" is subject to recursive named parameter and 77relational expression evaluation, except where noted. </p> 78 79<li> <p> Whitespace before or after each "{value}" is ignored. </p> 80 81<li> <p> Specify "$$" to produce a single "$" character. </p> 82 83<li> <p> The legacy form "$(...)" is equivalent to the preferred 84form "${...}". </p> 85 86</ul> 87 88<li> <p> When the same parameter is defined multiple times, only 89the last instance is remembered. </p> 90 91<li> <p> Otherwise, the order of main.cf parameter definitions does 92not matter. </p> 93 94</ul> 95 96<p> The remainder of this document is a description of all Postfix 97configuration parameters. Default values are shown after the 98parameter name in parentheses, and can be looked up with the 99"<b>postconf -d</b>" command. </p> 100 101<p> Note: this is not an invitation to make changes to Postfix 102configuration parameters. Unnecessary changes are likely to impair 103the operation of the mail system. </p> 104 105<dl> 106<DT><b><a name="2bounce_notice_recipient">2bounce_notice_recipient</a> 107(default: postmaster)</b></DT><DD> 108 109<p> The recipient of undeliverable mail that cannot be returned to 110the sender. This feature is enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> 111parameter. </p> 112 113 114</DD> 115 116<DT><b><a name="access_map_defer_code">access_map_defer_code</a> 117(default: 450)</b></DT><DD> 118 119<p> 120The numerical Postfix SMTP server response code for 121an <a href="access.5.html">access(5)</a> map "defer" action, including "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" 122or "<a href="postconf.5.html#defer_if_reject">defer_if_reject</a>". Prior to Postfix 2.6, the response 123is hard-coded as "450". 124</p> 125 126<p> 127Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 128</p> 129 130<p> 131This feature is available in Postfix 2.6 and later. 132</p> 133 134 135</DD> 136 137<DT><b><a name="access_map_reject_code">access_map_reject_code</a> 138(default: 554)</b></DT><DD> 139 140<p> 141The numerical Postfix SMTP server response code for 142an <a href="access.5.html">access(5)</a> map "reject" action. 143</p> 144 145<p> 146Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 147</p> 148 149 150</DD> 151 152<DT><b><a name="address_verify_cache_cleanup_interval">address_verify_cache_cleanup_interval</a> 153(default: 12h)</b></DT><DD> 154 155<p> The amount of time between <a href="verify.8.html">verify(8)</a> address verification 156database cleanup runs. This feature requires that the database 157supports the "delete" and "sequence" operators. Specify a zero 158interval to disable database cleanup. </p> 159 160<p> After each database cleanup run, the <a href="verify.8.html">verify(8)</a> daemon logs the 161number of entries that were retained and dropped. A cleanup run is 162logged as "partial" when the daemon terminates early after "<b>postfix 163reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a> 164seconds. </p> 165 166<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 167(weeks). </p> 168 169<p> This feature is available in Postfix 2.7. </p> 170 171 172</DD> 173 174<DT><b><a name="address_verify_default_transport">address_verify_default_transport</a> 175(default: $<a href="postconf.5.html#default_transport">default_transport</a>)</b></DT><DD> 176 177<p> 178Overrides the <a href="postconf.5.html#default_transport">default_transport</a> parameter setting for address 179verification probes. 180</p> 181 182<p> 183This feature is available in Postfix 2.1 and later. 184</p> 185 186 187</DD> 188 189<DT><b><a name="address_verify_local_transport">address_verify_local_transport</a> 190(default: $<a href="postconf.5.html#local_transport">local_transport</a>)</b></DT><DD> 191 192<p> 193Overrides the <a href="postconf.5.html#local_transport">local_transport</a> parameter setting for address 194verification probes. 195</p> 196 197<p> 198This feature is available in Postfix 2.1 and later. 199</p> 200 201 202</DD> 203 204<DT><b><a name="address_verify_map">address_verify_map</a> 205(default: see "postconf -d" output)</b></DT><DD> 206 207<p> 208Lookup table for persistent address verification status 209storage. The table is maintained by the <a href="verify.8.html">verify(8)</a> service, and 210is opened before the process releases privileges. 211</p> 212 213<p> 214The lookup table is persistent by default (Postfix 2.7 and later). 215Specify an empty table name to keep the information in volatile 216memory which is lost after "<b>postfix reload</b>" or "<b>postfix 217stop</b>". This is the default with Postfix version 2.6 and earlier. 218</p> 219 220<p> 221Specify a location in a file system that will not fill up. If the 222database becomes corrupted, the world comes to an end. To recover 223delete (NOT: truncate) the file and do "<b>postfix reload</b>". 224</p> 225 226<p> Postfix daemon processes do not use root privileges when opening 227this file (Postfix 2.5 and later). The file must therefore be 228stored under a Postfix-owned directory such as the <a href="postconf.5.html#data_directory">data_directory</a>. 229As a migration aid, an attempt to open the file under a non-Postfix 230directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a 231warning is logged. </p> 232 233<p> 234Examples: 235</p> 236 237<pre> 238<a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">hash</a>:/var/db/postfix/verify 239<a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/verify 240</pre> 241 242<p> 243This feature is available in Postfix 2.1 and later. 244</p> 245 246 247</DD> 248 249<DT><b><a name="address_verify_negative_cache">address_verify_negative_cache</a> 250(default: yes)</b></DT><DD> 251 252<p> 253Enable caching of failed address verification probe results. When 254this feature is enabled, the cache may pollute quickly with garbage. 255When this feature is disabled, Postfix will generate an address 256probe for every lookup. 257</p> 258 259<p> 260This feature is available in Postfix 2.1 and later. 261</p> 262 263 264</DD> 265 266<DT><b><a name="address_verify_negative_expire_time">address_verify_negative_expire_time</a> 267(default: 3d)</b></DT><DD> 268 269<p> 270The time after which a failed probe expires from the address 271verification cache. 272</p> 273 274<p> 275Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 276</p> 277 278<p> 279This feature is available in Postfix 2.1 and later. 280</p> 281 282 283</DD> 284 285<DT><b><a name="address_verify_negative_refresh_time">address_verify_negative_refresh_time</a> 286(default: 3h)</b></DT><DD> 287 288<p> 289The time after which a failed address verification probe needs to 290be refreshed. 291</p> 292 293<p> 294Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 295</p> 296 297<p> 298This feature is available in Postfix 2.1 and later. 299</p> 300 301 302</DD> 303 304<DT><b><a name="address_verify_pending_request_limit">address_verify_pending_request_limit</a> 305(default: see "postconf -d" output)</b></DT><DD> 306 307<p> A safety limit that prevents address verification requests from 308overwhelming the Postfix queue. By default, the number of pending 309requests is limited to 1/4 of the <a href="QSHAPE_README.html#active_queue">active queue</a> maximum size 310(<a href="postconf.5.html#qmgr_message_active_limit">qmgr_message_active_limit</a>). The queue manager enforces the limit 311by tempfailing requests that exceed the limit. This affects only 312unknown addresses and inactive addresses that have expired, because 313the <a href="verify.8.html">verify(8)</a> daemon automatically refreshes an active address 314before it expires. </p> 315 316<p> This feature is available in Postfix 3.1 and later. </p> 317 318 319</DD> 320 321<DT><b><a name="address_verify_poll_count">address_verify_poll_count</a> 322(default: normal: 3, overload: 1)</b></DT><DD> 323 324<p> 325How many times to query the <a href="verify.8.html">verify(8)</a> service for the completion 326of an address verification request in progress. 327</p> 328 329<p> By default, the Postfix SMTP server polls the <a href="verify.8.html">verify(8)</a> service 330up to three times under non-overload conditions, and only once when 331under overload. With Postfix version 2.5 and earlier, the SMTP 332server always polls the <a href="verify.8.html">verify(8)</a> service up to three times by 333default. </p> 334 335<p> 336Specify 1 to implement a crude form of greylisting, that is, always 337defer the first delivery request for a new address. 338</p> 339 340<p> 341Examples: 342</p> 343 344<pre> 345# Postfix ≤ 2.6 default 346<a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 3 347# Poor man's greylisting 348<a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 1 349</pre> 350 351<p> 352This feature is available in Postfix 2.1 and later. 353</p> 354 355 356</DD> 357 358<DT><b><a name="address_verify_poll_delay">address_verify_poll_delay</a> 359(default: 3s)</b></DT><DD> 360 361<p> 362The delay between queries for the completion of an address 363verification request in progress. 364</p> 365 366<p> 367The default polling delay is 3 seconds. 368</p> 369 370<p> 371Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 372</p> 373 374<p> 375This feature is available in Postfix 2.1 and later. 376</p> 377 378 379</DD> 380 381<DT><b><a name="address_verify_positive_expire_time">address_verify_positive_expire_time</a> 382(default: 31d)</b></DT><DD> 383 384<p> 385The time after which a successful probe expires from the address 386verification cache. 387</p> 388 389<p> 390Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 391</p> 392 393<p> 394This feature is available in Postfix 2.1 and later. 395</p> 396 397 398</DD> 399 400<DT><b><a name="address_verify_positive_refresh_time">address_verify_positive_refresh_time</a> 401(default: 7d)</b></DT><DD> 402 403<p> 404The time after which a successful address verification probe needs 405to be refreshed. The address verification status is not updated 406when the probe fails (optimistic caching). 407</p> 408 409<p> 410Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 411</p> 412 413<p> 414This feature is available in Postfix 2.1 and later. 415</p> 416 417 418</DD> 419 420<DT><b><a name="address_verify_relay_transport">address_verify_relay_transport</a> 421(default: $<a href="postconf.5.html#relay_transport">relay_transport</a>)</b></DT><DD> 422 423<p> 424Overrides the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter setting for address 425verification probes. 426</p> 427 428<p> 429This feature is available in Postfix 2.1 and later. 430</p> 431 432 433</DD> 434 435<DT><b><a name="address_verify_relayhost">address_verify_relayhost</a> 436(default: $<a href="postconf.5.html#relayhost">relayhost</a>)</b></DT><DD> 437 438<p> 439Overrides the <a href="postconf.5.html#relayhost">relayhost</a> parameter setting for address verification 440probes. This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. 441</p> 442 443<p> 444This feature is available in Postfix 2.1 and later. 445</p> 446 447 448</DD> 449 450<DT><b><a name="address_verify_sender">address_verify_sender</a> 451(default: $<a href="postconf.5.html#double_bounce_sender">double_bounce_sender</a>)</b></DT><DD> 452 453<p> The sender address to use in address verification probes; prior 454to Postfix 2.5 the default was "postmaster". To 455avoid problems with address probes that are sent in response to 456address probes, the Postfix SMTP server excludes the probe sender 457address from all SMTPD access blocks. </p> 458 459<p> 460Specify an empty value (<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> =) or <> if you want 461to use the null sender address. Beware, some sites reject mail from 462<>, even though RFCs require that such addresses be accepted. 463</p> 464 465<p> 466Examples: 467</p> 468 469<pre> 470<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = <> 471<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = postmaster@my.domain 472</pre> 473 474<p> 475This feature is available in Postfix 2.1 and later. 476</p> 477 478 479</DD> 480 481<DT><b><a name="address_verify_sender_dependent_default_transport_maps">address_verify_sender_dependent_default_transport_maps</a> 482(default: $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>)</b></DT><DD> 483 484<p> Overrides the <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter 485setting for address verification probes. </p> 486 487<p> This feature is available in Postfix 2.7 and later. </p> 488 489 490</DD> 491 492<DT><b><a name="address_verify_sender_dependent_relayhost_maps">address_verify_sender_dependent_relayhost_maps</a> 493(default: $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>)</b></DT><DD> 494 495<p> 496Overrides the <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> parameter setting for address 497verification probes. 498</p> 499 500<p> 501This feature is available in Postfix 2.3 and later. 502</p> 503 504 505</DD> 506 507<DT><b><a name="address_verify_sender_ttl">address_verify_sender_ttl</a> 508(default: 0s)</b></DT><DD> 509 510<p> The time between changes in the time-dependent portion of address 511verification probe sender addresses. The time-dependent portion is 512appended to the localpart of the address specified with the 513<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> parameter. This feature is ignored when the 514probe sender addresses is the null sender, i.e. the <a href="postconf.5.html#address_verify_sender">address_verify_sender</a> 515value is empty or <>. </p> 516 517<p> Historically, the probe sender address was fixed. This has 518caused such addresses to end up on spammer mailing lists, and has 519resulted in wasted network and processing resources. </p> 520 521<p> To enable time-dependent probe sender addresses, specify a 522non-zero time value (an integral value plus an optional one-letter 523suffix that specifies the time unit). Specify a value of at least 524several hours, to avoid problems with senders that use greylisting. 525Avoid nice TTL values, to make the result less predictable. Time 526units are: s (seconds), m (minutes), h (hours), d (days), w (weeks). 527</p> 528 529<p> This feature is available in Postfix 2.9 and later. </p> 530 531 532</DD> 533 534<DT><b><a name="address_verify_service_name">address_verify_service_name</a> 535(default: verify)</b></DT><DD> 536 537<p> 538The name of the <a href="verify.8.html">verify(8)</a> address verification service. This service 539maintains the status of sender and/or recipient address verification 540probes, and generates probes on request by other Postfix processes. 541</p> 542 543 544</DD> 545 546<DT><b><a name="address_verify_transport_maps">address_verify_transport_maps</a> 547(default: $<a href="postconf.5.html#transport_maps">transport_maps</a>)</b></DT><DD> 548 549<p> 550Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address verification 551probes. 552</p> 553 554<p> 555This feature is available in Postfix 2.1 and later. 556</p> 557 558 559</DD> 560 561<DT><b><a name="address_verify_virtual_transport">address_verify_virtual_transport</a> 562(default: $<a href="postconf.5.html#virtual_transport">virtual_transport</a>)</b></DT><DD> 563 564<p> 565Overrides the <a href="postconf.5.html#virtual_transport">virtual_transport</a> parameter setting for address 566verification probes. 567</p> 568 569<p> 570This feature is available in Postfix 2.1 and later. 571</p> 572 573 574</DD> 575 576<DT><b><a name="alias_database">alias_database</a> 577(default: see "postconf -d" output)</b></DT><DD> 578 579<p> 580The alias databases for <a href="local.8.html">local(8)</a> delivery that are updated with 581"<b>newaliases</b>" or with "<b>sendmail -bi</b>". 582</p> 583 584<p> 585This is a separate configuration parameter because not all the 586tables specified with $<a href="postconf.5.html#alias_maps">alias_maps</a> have to be local files. 587</p> 588 589<p> 590Examples: 591</p> 592 593<pre> 594<a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases 595<a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/mail/aliases 596</pre> 597 598 599</DD> 600 601<DT><b><a name="alias_maps">alias_maps</a> 602(default: see "postconf -d" output)</b></DT><DD> 603 604<p> 605The alias databases that are used for <a href="local.8.html">local(8)</a> delivery. See 606<a href="aliases.5.html">aliases(5)</a> for syntax details. 607Specify zero or more "type:name" lookup tables, separated by 608whitespace or comma. Tables will be searched in the specified order 609until a match is found. 610Note: these lookups are recursive. 611</p> 612 613<p> 614The default list is system dependent. On systems with NIS, the 615default is to search the local alias database, then the NIS alias 616database. 617</p> 618 619<p> 620If you change the alias database, run "<b>postalias /etc/aliases</b>" 621(or wherever your system stores the mail alias file), or simply 622run "<b>newaliases</b>" to build the necessary DBM or DB file. 623</p> 624 625<p> 626The <a href="local.8.html">local(8)</a> delivery agent disallows regular expression substitution 627of $1 etc. in <a href="postconf.5.html#alias_maps">alias_maps</a>, because that would open a security hole. 628</p> 629 630<p> 631The <a href="local.8.html">local(8)</a> delivery agent will silently ignore requests to use 632the <a href="proxymap.8.html">proxymap(8)</a> server within <a href="postconf.5.html#alias_maps">alias_maps</a>. Instead it will open the 633table directly. Before Postfix version 2.2, the <a href="local.8.html">local(8)</a> delivery 634agent will terminate with a fatal error. 635</p> 636 637<p> 638Examples: 639</p> 640 641<pre> 642<a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases, nis:mail.aliases 643<a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases 644</pre> 645 646 647</DD> 648 649<DT><b><a name="allow_mail_to_commands">allow_mail_to_commands</a> 650(default: alias, forward)</b></DT><DD> 651 652<p> 653Restrict <a href="local.8.html">local(8)</a> mail delivery to external commands. The default 654is to disallow delivery to "|command" in :include: files (see 655<a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology). 656</p> 657 658<p> 659Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>, 660in order to allow commands in <a href="aliases.5.html">aliases(5)</a>, .forward files or in 661:include: files, respectively. 662</p> 663 664<p> 665Example: 666</p> 667 668<pre> 669<a href="postconf.5.html#allow_mail_to_commands">allow_mail_to_commands</a> = alias,forward,include 670</pre> 671 672 673</DD> 674 675<DT><b><a name="allow_mail_to_files">allow_mail_to_files</a> 676(default: alias, forward)</b></DT><DD> 677 678<p> 679Restrict <a href="local.8.html">local(8)</a> mail delivery to external files. The default is 680to disallow "/file/name" destinations in :include: files (see 681<a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology). 682</p> 683 684<p> 685Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>, 686in order to allow "/file/name" destinations in <a href="aliases.5.html">aliases(5)</a>, .forward 687files and in :include: files, respectively. 688</p> 689 690<p> 691Example: 692</p> 693 694<pre> 695<a href="postconf.5.html#allow_mail_to_files">allow_mail_to_files</a> = alias,forward,include 696</pre> 697 698 699</DD> 700 701<DT><b><a name="allow_min_user">allow_min_user</a> 702(default: no)</b></DT><DD> 703 704<p> 705Allow a sender or recipient address to have `-' as the first 706character. By 707default, this is not allowed, to avoid accidents with software that 708passes email addresses via the command line. Such software 709would not be able to distinguish a malicious address from a 710bona fide command-line option. Although this can be prevented by 711inserting a "--" option terminator into the command line, this is 712difficult to enforce consistently and globally. </p> 713 714<p> As of Postfix version 2.5, this feature is implemented by 715<a href="trivial-rewrite.8.html">trivial-rewrite(8)</a>. With earlier versions this feature was implemented 716by <a href="qmgr.8.html">qmgr(8)</a> and was limited to recipient addresses only. </p> 717 718 719</DD> 720 721<DT><b><a name="allow_percent_hack">allow_percent_hack</a> 722(default: yes)</b></DT><DD> 723 724<p> 725Enable the rewriting of the form "user%domain" to "user@domain". 726This is enabled by default. 727</p> 728 729<p> Note: as of Postfix version 2.2, message header address rewriting 730happens only when one of the following conditions is true: </p> 731 732<ul> 733 734<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, 735 736<li> The message is received from a network client that matches 737$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>, 738 739<li> The message is received from the network, and the 740<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value. 741 742</ul> 743 744<p> To get the behavior before Postfix version 2.2, specify 745"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p> 746 747<p> 748Example: 749</p> 750 751<pre> 752<a href="postconf.5.html#allow_percent_hack">allow_percent_hack</a> = no 753</pre> 754 755 756</DD> 757 758<DT><b><a name="allow_untrusted_routing">allow_untrusted_routing</a> 759(default: no)</b></DT><DD> 760 761<p> 762Forward mail with sender-specified routing (user[@%!]remote[@%!]site) 763from untrusted clients to destinations matching $<a href="postconf.5.html#relay_domains">relay_domains</a>. 764</p> 765 766<p> 767By default, this feature is turned off. This closes a nasty open 768relay loophole where a backup MX host can be tricked into forwarding 769junk mail to a primary MX host which then spams it out to the world. 770</p> 771 772<p> 773This parameter also controls if non-local addresses with sender-specified 774routing can match Postfix access tables. By default, such addresses 775cannot match Postfix access tables, because the address is ambiguous. 776</p> 777 778 779</DD> 780 781<DT><b><a name="alternate_config_directories">alternate_config_directories</a> 782(default: empty)</b></DT><DD> 783 784<p> 785A list of non-default Postfix configuration directories that may 786be specified with "-c <a href="postconf.5.html#config_directory">config_directory</a>" on the command line (in the 787case of <a href="sendmail.1.html">sendmail(1)</a>, with the "-C" option), or via the MAIL_CONFIG 788environment parameter. 789</p> 790 791<p> 792This list must be specified in the default Postfix <a href="postconf.5.html">main.cf</a> file, 793and will be used by set-gid Postfix commands such as <a href="postqueue.1.html">postqueue(1)</a> 794and <a href="postdrop.1.html">postdrop(1)</a>. 795</p> 796 797<p> 798Specify absolute pathnames, separated by comma or space. Note: $name 799expansion is not supported. 800</p> 801 802 803</DD> 804 805<DT><b><a name="always_add_missing_headers">always_add_missing_headers</a> 806(default: no)</b></DT><DD> 807 808<p> Always add (Resent-) From:, To:, Date: or Message-ID: headers 809when not present. Postfix 2.6 and later add these headers only 810when clients match the <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter 811setting. Earlier Postfix versions always add these headers; this 812may break DKIM signatures that cover non-existent headers. 813The <a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> parameter setting determines 814whether a To: header will be added. </p> 815 816 817</DD> 818 819<DT><b><a name="always_bcc">always_bcc</a> 820(default: empty)</b></DT><DD> 821 822<p> 823Optional address that receives a "blind carbon copy" of each message 824that is received by the Postfix mail system. 825</p> 826 827<p> 828Note: with Postfix 2.3 and later the BCC address is added as if it 829was specified with NOTIFY=NONE. The sender will not be notified 830when the BCC address is undeliverable, as long as all down-stream 831software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>. 832</p> 833 834<p> 835Note: with Postfix 2.2 and earlier the sender will be notified 836when the BCC address is undeliverable. 837</p> 838 839<p> Note: automatic BCC recipients are produced only for new mail. 840To avoid mailer loops, automatic BCC recipients are not generated 841after Postfix forwards mail internally, or after Postfix generates 842mail itself. </p> 843 844 845</DD> 846 847<DT><b><a name="anvil_rate_time_unit">anvil_rate_time_unit</a> 848(default: 60s)</b></DT><DD> 849 850<p> 851The time unit over which client connection rates and other rates 852are calculated. 853</p> 854 855<p> 856This feature is implemented by the <a href="anvil.8.html">anvil(8)</a> service which is available 857in Postfix version 2.2 and later. 858</p> 859 860<p> 861The default interval is relatively short. Because of the high 862frequency of updates, the <a href="anvil.8.html">anvil(8)</a> server uses volatile memory 863only. Thus, information is lost whenever the process terminates. 864</p> 865 866<p> 867Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 868The default time unit is s (seconds). 869</p> 870 871 872</DD> 873 874<DT><b><a name="anvil_status_update_time">anvil_status_update_time</a> 875(default: 600s)</b></DT><DD> 876 877<p> 878How frequently the <a href="anvil.8.html">anvil(8)</a> connection and rate limiting server 879logs peak usage information. 880</p> 881 882<p> 883This feature is available in Postfix 2.2 and later. 884</p> 885 886<p> 887Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 888The default time unit is s (seconds). 889</p> 890 891 892</DD> 893 894<DT><b><a name="append_at_myorigin">append_at_myorigin</a> 895(default: yes)</b></DT><DD> 896 897<p> 898With locally submitted mail, append the string "@$<a href="postconf.5.html#myorigin">myorigin</a>" to mail 899addresses without domain information. With remotely submitted mail, 900append the string "@$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>" instead. 901</p> 902 903<p> 904Note 1: this feature is enabled by default and must not be turned off. 905Postfix does not support domain-less addresses. 906</p> 907 908<p> Note 2: with Postfix version 2.2, message header address rewriting 909happens only when one of the following conditions is true: </p> 910 911<ul> 912 913<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, 914 915<li> The message is received from a network client that matches 916$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>, 917 918<li> The message is received from the network, and the 919<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value. 920 921</ul> 922 923<p> To get the behavior before Postfix version 2.2, specify 924"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p> 925 926 927</DD> 928 929<DT><b><a name="append_dot_mydomain">append_dot_mydomain</a> 930(default: Postfix ≥ 3.0: no, Postfix < 3.0: yes)</b></DT><DD> 931 932<p> 933With locally submitted mail, append the string ".$<a href="postconf.5.html#mydomain">mydomain</a>" to 934addresses that have no ".domain" information. With remotely submitted 935mail, append the string ".$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>" 936instead. 937</p> 938 939<p> 940Note 1: this feature is enabled by default. If disabled, users will not be 941able to send mail to "user@partialdomainname" but will have to 942specify full domain names instead. 943</p> 944 945<p> Note 2: with Postfix version 2.2, message header address rewriting 946happens only when one of the following conditions is true: </p> 947 948<ul> 949 950<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, 951 952<li> The message is received from a network client that matches 953$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>, 954 955<li> The message is received from the network, and the 956<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value. 957 958</ul> 959 960<p> To get the behavior before Postfix version 2.2, specify 961"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p> 962 963 964</DD> 965 966<DT><b><a name="application_event_drain_time">application_event_drain_time</a> 967(default: 100s)</b></DT><DD> 968 969<p> 970How long the <a href="postkick.1.html">postkick(1)</a> command waits for a request to enter the 971Postfix daemon process input buffer before giving up. 972</p> 973 974<p> 975Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 976The default time unit is s (seconds). 977</p> 978 979<p> 980This feature is available in Postfix 2.1 and later. 981</p> 982 983 984</DD> 985 986<DT><b><a name="authorized_flush_users">authorized_flush_users</a> 987(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD> 988 989<p> 990List of users who are authorized to flush the queue. 991</p> 992 993<p> 994By default, all users are allowed to flush the queue. Access is 995always granted if the invoking user is the super-user or the 996$<a href="postconf.5.html#mail_owner">mail_owner</a> user. Otherwise, the real UID of the process is looked 997up in the system password file, and access is granted only if the 998corresponding login name is on the access list. The username 999"unknown" is used for processes whose real UID is not found in the 1000password file. </p> 1001 1002<p> 1003Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns, 1004separated by commas and/or whitespace. The list is matched left to 1005right, and the search stops on the first match. A "/file/name" 1006pattern is replaced 1007by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name 1008matches a lookup key (the lookup result is ignored). Continue long 1009lines by starting the next line with whitespace. Specify "!pattern" 1010to exclude a name from the list. The form "!/file/name" is supported 1011only in Postfix version 2.4 and later. </p> 1012 1013<p> 1014This feature is available in Postfix 2.2 and later. 1015</p> 1016 1017 1018</DD> 1019 1020<DT><b><a name="authorized_mailq_users">authorized_mailq_users</a> 1021(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD> 1022 1023<p> 1024List of users who are authorized to view the queue. 1025</p> 1026 1027<p> 1028By default, all users are allowed to view the queue. Access is 1029always granted if the invoking user is the super-user or the 1030$<a href="postconf.5.html#mail_owner">mail_owner</a> user. Otherwise, the real UID of the process is looked 1031up in the system password file, and access is granted only if the 1032corresponding login name is on the access list. The username 1033"unknown" is used for processes whose real UID is not found in the 1034password file. </p> 1035 1036<p> 1037Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns, 1038separated by commas and/or whitespace. The list is matched left to 1039right, and the search stops on the first match. A "/file/name" 1040pattern is replaced 1041by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name 1042matches a lookup key (the lookup result is ignored). Continue long 1043lines by starting the next line with whitespace. Specify "!pattern" 1044to exclude a user name from the list. The form "!/file/name" is 1045supported only in Postfix version 2.4 and later. </p> 1046 1047<p> 1048This feature is available in Postfix 2.2 and later. 1049</p> 1050 1051 1052</DD> 1053 1054<DT><b><a name="authorized_submit_users">authorized_submit_users</a> 1055(default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD> 1056 1057<p> 1058List of users who are authorized to submit mail with the <a href="sendmail.1.html">sendmail(1)</a> 1059command (and with the privileged <a href="postdrop.1.html">postdrop(1)</a> helper command). 1060</p> 1061 1062<p> 1063By default, all users are allowed to submit mail. Otherwise, the 1064real UID of the process is looked up in the system password file, 1065and access is granted only if the corresponding login name is on 1066the access list. The username "unknown" is used for processes 1067whose real UID is not found in the password file. To deny mail 1068submission access to all users specify an empty list. </p> 1069 1070<p> 1071Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns, 1072separated by commas and/or whitespace. The list is matched left to right, 1073and the search stops on the first match. A "/file/name" pattern is 1074replaced by its contents; 1075a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup key 1076(the lookup result is ignored). Continue long lines by starting the 1077next line with whitespace. Specify "!pattern" to exclude a user 1078name from the list. The form "!/file/name" is supported only in 1079Postfix version 2.4 and later. </p> 1080 1081<p> 1082Example: 1083</p> 1084 1085<pre> 1086<a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> = !www, <a href="DATABASE_README.html#types">static</a>:all 1087</pre> 1088 1089<p> 1090This feature is available in Postfix 2.2 and later. 1091</p> 1092 1093 1094</DD> 1095 1096<DT><b><a name="authorized_verp_clients">authorized_verp_clients</a> 1097(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD> 1098 1099<p> What remote SMTP clients are allowed to specify the XVERP command. 1100This command requests that mail be delivered one recipient at a 1101time with a per recipient return address. </p> 1102 1103<p> By default, only trusted clients are allowed to specify XVERP. 1104</p> 1105 1106<p> This parameter was introduced with Postfix version 1.1. Postfix 1107version 2.1 renamed this parameter to <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> 1108and changed the default to none. </p> 1109 1110<p> Specify a list of network/netmask patterns, separated by commas 1111and/or whitespace. The mask specifies the number of bits in the 1112network part of a host address. You can also specify hostnames or 1113.domain names (the initial dot causes the domain to match any name 1114below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name" 1115pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table 1116is matched when a table entry matches a lookup string (the lookup 1117result is ignored). Continue long lines by starting the next line 1118with whitespace. Specify "!pattern" to exclude an address or network 1119block from the list. The form "!/file/name" is supported only in 1120Postfix version 2.4 and later. </p> 1121 1122<p> Note: IP version 6 address information must be specified inside 1123<tt>[]</tt> in the <a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a> value, and in files 1124specified with "/file/name". IP version 6 addresses contain the 1125":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" 1126pattern. </p> 1127 1128 1129</DD> 1130 1131<DT><b><a name="backwards_bounce_logfile_compatibility">backwards_bounce_logfile_compatibility</a> 1132(default: yes)</b></DT><DD> 1133 1134<p> 1135Produce additional <a href="bounce.8.html">bounce(8)</a> logfile records that can be read by 1136Postfix versions before 2.0. The current and more extensible "name = 1137value" format is needed in order to implement more sophisticated 1138functionality. 1139</p> 1140 1141<p> 1142This feature is available in Postfix 2.1 and later. 1143</p> 1144 1145 1146</DD> 1147 1148<DT><b><a name="berkeley_db_create_buffer_size">berkeley_db_create_buffer_size</a> 1149(default: 16777216)</b></DT><DD> 1150 1151<p> 1152The per-table I/O buffer size for programs that create Berkeley DB 1153hash or btree tables. Specify a byte count. 1154</p> 1155 1156<p> 1157This feature is available in Postfix 2.0 and later. 1158</p> 1159 1160 1161</DD> 1162 1163<DT><b><a name="berkeley_db_read_buffer_size">berkeley_db_read_buffer_size</a> 1164(default: 131072)</b></DT><DD> 1165 1166<p> 1167The per-table I/O buffer size for programs that read Berkeley DB 1168hash or btree tables. Specify a byte count. 1169</p> 1170 1171<p> 1172This feature is available in Postfix 2.0 and later. 1173</p> 1174 1175 1176</DD> 1177 1178<DT><b><a name="best_mx_transport">best_mx_transport</a> 1179(default: empty)</b></DT><DD> 1180 1181<p> 1182Where the Postfix SMTP client should deliver mail when it detects 1183a "mail loops back to myself" error condition. This happens when 1184the local MTA is the best SMTP mail exchanger for a destination 1185not listed in $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>, $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, 1186$<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, or $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>. By default, 1187the Postfix SMTP client returns such mail as undeliverable. 1188</p> 1189 1190<p> 1191Specify, for example, "<a href="postconf.5.html#best_mx_transport">best_mx_transport</a> = local" to pass the mail 1192from the Postfix SMTP client to the <a href="local.8.html">local(8)</a> delivery agent. You 1193can specify 1194any message delivery "transport" or "transport:nexthop" that is 1195defined in the <a href="master.5.html">master.cf</a> file. See the <a href="transport.5.html">transport(5)</a> manual page 1196for the syntax and meaning of "transport" or "transport:nexthop". 1197</p> 1198 1199<p> 1200However, this feature is expensive because it ties up a Postfix 1201SMTP client process while the <a href="local.8.html">local(8)</a> delivery agent is doing its 1202work. It is more efficient (for Postfix) to list all <a href="VIRTUAL_README.html#canonical">hosted domains</a> 1203in a table or database. 1204</p> 1205 1206 1207</DD> 1208 1209<DT><b><a name="biff">biff</a> 1210(default: yes)</b></DT><DD> 1211 1212<p> 1213Whether or not to use the local <a href="postconf.5.html#biff">biff</a> service. This service sends 1214"new mail" notifications to users who have requested new mail 1215notification with the UNIX command "<a href="postconf.5.html#biff">biff</a> y". 1216</p> 1217 1218<p> 1219For compatibility reasons this feature is on by default. On systems 1220with lots of interactive users, the <a href="postconf.5.html#biff">biff</a> service can be a performance 1221drain. Specify "<a href="postconf.5.html#biff">biff</a> = no" in <a href="postconf.5.html">main.cf</a> to disable. 1222</p> 1223 1224 1225</DD> 1226 1227<DT><b><a name="body_checks">body_checks</a> 1228(default: empty)</b></DT><DD> 1229 1230<p> Optional lookup tables for content inspection as specified in 1231the <a href="header_checks.5.html">body_checks(5)</a> manual page. </p> 1232 1233<p> Note: with Postfix versions before 2.0, these rules inspect 1234all content after the primary message headers. </p> 1235 1236 1237</DD> 1238 1239<DT><b><a name="body_checks_size_limit">body_checks_size_limit</a> 1240(default: 51200)</b></DT><DD> 1241 1242<p> 1243How much text in a message body segment (or attachment, if you 1244prefer to use that term) is subjected to <a href="postconf.5.html#body_checks">body_checks</a> inspection. 1245The amount of text is limited to avoid scanning huge attachments. 1246</p> 1247 1248<p> 1249This feature is available in Postfix 2.0 and later. 1250</p> 1251 1252 1253</DD> 1254 1255<DT><b><a name="bounce_notice_recipient">bounce_notice_recipient</a> 1256(default: postmaster)</b></DT><DD> 1257 1258<p> 1259The recipient of postmaster notifications with the message headers 1260of mail that Postfix did not deliver and of SMTP conversation 1261transcripts of mail that Postfix did not receive. This feature is 1262enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter. </p> 1263 1264 1265</DD> 1266 1267<DT><b><a name="bounce_queue_lifetime">bounce_queue_lifetime</a> 1268(default: 5d)</b></DT><DD> 1269 1270<p> 1271Consider a bounce message as undeliverable, when delivery fails 1272with a temporary error, and the time in the queue has reached the 1273<a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> limit. By default, this limit is the same 1274as for regular mail. 1275</p> 1276 1277<p> 1278Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 1279The default time unit is d (days). 1280</p> 1281 1282<p> 1283Specify 0 when mail delivery should be tried only once. 1284</p> 1285 1286<p> 1287This feature is available in Postfix 2.1 and later. 1288</p> 1289 1290 1291</DD> 1292 1293<DT><b><a name="bounce_service_name">bounce_service_name</a> 1294(default: bounce)</b></DT><DD> 1295 1296<p> 1297The name of the <a href="bounce.8.html">bounce(8)</a> service. This service maintains a record 1298of failed delivery attempts and generates non-delivery notifications. 1299</p> 1300 1301<p> 1302This feature is available in Postfix 2.0 and later. 1303</p> 1304 1305 1306</DD> 1307 1308<DT><b><a name="bounce_size_limit">bounce_size_limit</a> 1309(default: 50000)</b></DT><DD> 1310 1311<p> The maximal amount of original message text that is sent in a 1312non-delivery notification. Specify a byte count. A message is 1313returned as either message/rfc822 (the complete original) or as 1314text/rfc822-headers (the headers only). With Postfix version 2.4 1315and earlier, a message is always returned as message/rfc822 and is 1316truncated when it exceeds the size limit. 1317</p> 1318 1319<p> Notes: </p> 1320 1321<ul> 1322 1323<li> <p> If you increase this limit, then you should increase the 1324<a href="postconf.5.html#mime_nesting_limit">mime_nesting_limit</a> value proportionally. </p> 1325 1326<li> <p> Be careful when making changes. Excessively large values 1327will result in the loss of non-delivery notifications, when a bounce 1328message size exceeds a local or remote MTA's message size limit. 1329</p> 1330 1331</ul> 1332 1333 1334</DD> 1335 1336<DT><b><a name="bounce_template_file">bounce_template_file</a> 1337(default: empty)</b></DT><DD> 1338 1339<p> Pathname of a configuration file with bounce message templates. 1340These override the built-in templates of delivery status notification 1341(DSN) messages for undeliverable mail, for delayed mail, successful 1342delivery, or delivery verification. The <a href="bounce.5.html">bounce(5)</a> manual page 1343describes how to edit and test template files. </p> 1344 1345<p> Template message body text may contain $name references to 1346Postfix configuration parameters. The result of $name expansion can 1347be previewed with "<b>postconf -b <i>file_name</i></b>" before the file 1348is placed into the Postfix configuration directory. </p> 1349 1350<p> This feature is available in Postfix 2.3 and later. </p> 1351 1352 1353</DD> 1354 1355<DT><b><a name="broken_sasl_auth_clients">broken_sasl_auth_clients</a> 1356(default: no)</b></DT><DD> 1357 1358<p> 1359Enable interoperability with remote SMTP clients that implement an obsolete 1360version of the AUTH command (<a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a>). Examples of such clients 1361are MicroSoft Outlook Express version 4 and MicroSoft Exchange 1362version 5.0. 1363</p> 1364 1365<p> 1366Specify "<a href="postconf.5.html#broken_sasl_auth_clients">broken_sasl_auth_clients</a> = yes" to have Postfix advertise 1367AUTH support in a non-standard way. 1368</p> 1369 1370 1371</DD> 1372 1373<DT><b><a name="canonical_classes">canonical_classes</a> 1374(default: envelope_sender, envelope_recipient, header_sender, header_recipient)</b></DT><DD> 1375 1376<p> What addresses are subject to <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping. 1377By default, <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping is applied to envelope 1378sender and recipient addresses, and to header sender and header 1379recipient addresses. </p> 1380 1381<p> Specify one or more of: envelope_sender, envelope_recipient, 1382header_sender, header_recipient </p> 1383 1384<p> This feature is available in Postfix 2.2 and later. </p> 1385 1386 1387</DD> 1388 1389<DT><b><a name="canonical_maps">canonical_maps</a> 1390(default: empty)</b></DT><DD> 1391 1392<p> 1393Optional address mapping lookup tables for message headers and 1394envelopes. The mapping is applied to both sender and recipient 1395addresses, in both envelopes and in headers, as controlled 1396with the <a href="postconf.5.html#canonical_classes">canonical_classes</a> parameter. This is typically used 1397to clean up dirty addresses from legacy mail systems, or to replace 1398login names by Firstname.Lastname. The table format and lookups 1399are documented in <a href="canonical.5.html">canonical(5)</a>. For an overview of Postfix address 1400manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document. 1401</p> 1402 1403<p> 1404Specify zero or more "type:name" lookup tables, separated by 1405whitespace or comma. Tables will be searched in the specified order 1406until a match is found. 1407Note: these lookups are recursive. 1408</p> 1409 1410<p> 1411If you use this feature, run "<b>postmap /etc/postfix/canonical</b>" to 1412build the necessary DBM or DB file after every change. The changes 1413will become visible after a minute or so. Use "<b>postfix reload</b>" 1414to eliminate the delay. 1415</p> 1416 1417<p> Note: with Postfix version 2.2, message header address mapping 1418happens only when message header address rewriting is enabled: </p> 1419 1420<ul> 1421 1422<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, 1423 1424<li> The message is received from a network client that matches 1425$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>, 1426 1427<li> The message is received from the network, and the 1428<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value. 1429 1430</ul> 1431 1432<p> To get the behavior before Postfix version 2.2, specify 1433"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p> 1434 1435<p> 1436Examples: 1437</p> 1438 1439<pre> 1440<a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/canonical 1441<a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/canonical 1442</pre> 1443 1444 1445</DD> 1446 1447<DT><b><a name="cleanup_service_name">cleanup_service_name</a> 1448(default: cleanup)</b></DT><DD> 1449 1450<p> 1451The name of the <a href="cleanup.8.html">cleanup(8)</a> service. This service rewrites addresses 1452into the standard form, and performs <a href="canonical.5.html">canonical(5)</a> address mapping 1453and <a href="virtual.5.html">virtual(5)</a> aliasing. 1454</p> 1455 1456<p> 1457This feature is available in Postfix 2.0 and later. 1458</p> 1459 1460 1461</DD> 1462 1463<DT><b><a name="command_directory">command_directory</a> 1464(default: see "postconf -d" output)</b></DT><DD> 1465 1466<p> 1467The location of all postfix administrative commands. 1468</p> 1469 1470 1471</DD> 1472 1473<DT><b><a name="command_execution_directory">command_execution_directory</a> 1474(default: empty)</b></DT><DD> 1475 1476<p> The <a href="local.8.html">local(8)</a> delivery agent working directory for delivery to 1477external command. Failure to change directory causes the delivery 1478to be deferred. </p> 1479 1480<p> The <a href="postconf.5.html#command_execution_directory">command_execution_directory</a> value is not subject to Postfix 1481configuration parameter $name expansion. Instead, the following 1482$name expansions are done on <a href="postconf.5.html#command_execution_directory">command_execution_directory</a> before the 1483directory is used. Expansion happens in the context 1484of the delivery request. The result of $name expansion is filtered 1485with the character set that is specified with the 1486<a href="postconf.5.html#execution_directory_expansion_filter">execution_directory_expansion_filter</a> parameter. </p> 1487 1488<dl> 1489 1490<dt><b>$user</b></dt> 1491 1492<dd>The recipient's username. </dd> 1493 1494<dt><b>$shell</b></dt> 1495 1496<dd>The recipient's login shell pathname. </dd> 1497 1498<dt><b>$home</b></dt> 1499 1500<dd>The recipient's home directory. </dd> 1501 1502<dt><b>$recipient</b></dt> 1503 1504<dd>The full recipient address. </dd> 1505 1506<dt><b>$extension</b></dt> 1507 1508<dd>The optional recipient address extension. </dd> 1509 1510<dt><b>$domain</b></dt> 1511 1512<dd>The recipient domain. </dd> 1513 1514<dt><b>$local</b></dt> 1515 1516<dd>The entire recipient localpart. </dd> 1517 1518<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt> 1519 1520<dd>The address extension delimiter that was found in the recipient 1521address (Postfix 2.11 and later), or the system-wide recipient 1522address extension delimiter (Postfix 2.10 and earlier). </dd> 1523 1524<dt><b>${name?value}</b></dt> 1525 1526<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd> 1527 1528<dt><b>${name:value}</b></dt> 1529 1530<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd> 1531 1532</dl> 1533 1534<p> 1535Instead of $name you can also specify ${name} or $(name). 1536</p> 1537 1538<p> This feature is available in Postfix 2.2 and later. </p> 1539 1540 1541</DD> 1542 1543<DT><b><a name="command_expansion_filter">command_expansion_filter</a> 1544(default: see "postconf -d" output)</b></DT><DD> 1545 1546<p> 1547Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in 1548$name expansions of $<a href="postconf.5.html#mailbox_command">mailbox_command</a> and $<a href="postconf.5.html#command_execution_directory">command_execution_directory</a>. 1549Characters outside the 1550allowed set are replaced by underscores. 1551</p> 1552 1553 1554</DD> 1555 1556<DT><b><a name="command_time_limit">command_time_limit</a> 1557(default: 1000s)</b></DT><DD> 1558 1559<p> 1560Time limit for delivery to external commands. This limit is used 1561by the <a href="local.8.html">local(8)</a> delivery agent, and is the default time limit for 1562delivery by the <a href="pipe.8.html">pipe(8)</a> delivery agent. 1563</p> 1564 1565<p> 1566Note: if you set this time limit to a large value you must update the 1567global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter as well. 1568</p> 1569 1570 1571</DD> 1572 1573<DT><b><a name="compatibility_level">compatibility_level</a> 1574(default: 0)</b></DT><DD> 1575 1576<p> A safety net that causes Postfix to run with backwards-compatible 1577default settings after an upgrade to a newer Postfix version. </p> 1578 1579<p> With backwards compatibility turned on (the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#compatibility_level">compatibility_level</a> 1580value is less than the Postfix built-in value), Postfix looks for 1581settings that are left at their implicit default value, and logs a 1582message when a backwards-compatible default setting is required. 1583</p> 1584 1585<blockquote> 1586<pre> 1587using backwards-compatible default setting <i>name=value</i> 1588 to [accept a specific client request] 1589 1590using backwards-compatible default setting <i>name=value</i> 1591 to [enable specific Postfix behavior] 1592</pre> 1593</blockquote> 1594 1595<p> See <a href="COMPATIBILITY_README.html">COMPATIBILITY_README</a> for specific message details. If such 1596a message is logged in the context of a legitimate request, the 1597system administrator should make the backwards-compatible setting 1598permanent in <a href="postconf.5.html">main.cf</a> or <a href="master.5.html">master.cf</a>, for example: </p> 1599 1600<blockquote> 1601<pre> 1602# <b>postconf</b> <i>name=value</i> 1603# <b>postfix reload</b> 1604</pre> 1605</blockquote> 1606 1607<p> When no more backwards-compatible settings need to be made 1608permanent, the administrator should turn off backwards compatibility 1609by updating the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting in <a href="postconf.5.html">main.cf</a>:</p> 1610 1611<blockquote> 1612<pre> 1613# <b>postconf <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i></b> 1614# <b>postfix reload</b> 1615</pre> 1616</blockquote> 1617 1618<p> For <i>N</i> specify the number that is logged in your <a href="postfix.1.html">postfix(1)</a> 1619warning message: </p> 1620 1621<blockquote> 1622<pre> 1623warning: To disable backwards compatibility use "postconf 1624 <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i>" and "postfix reload" 1625</pre> 1626</blockquote> 1627 1628<p> This feature is available in Postfix 3.0 and later. </p> 1629 1630 1631</DD> 1632 1633<DT><b><a name="config_directory">config_directory</a> 1634(default: see "postconf -d" output)</b></DT><DD> 1635 1636<p> The default location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> 1637configuration files. This can be overruled via the following 1638mechanisms: </p> 1639 1640<ul> 1641 1642<li> <p> The MAIL_CONFIG environment variable (daemon processes 1643and commands). </p> 1644 1645<li> <p> The "-c" command-line option (commands only). </p> 1646 1647</ul> 1648 1649<p> With Postfix command that run with set-gid privileges, a 1650<a href="postconf.5.html#config_directory">config_directory</a> override requires either root privileges, or it 1651requires that the directory is listed with the <a href="postconf.5.html#alternate_config_directories">alternate_config_directories</a> 1652parameter in the default <a href="postconf.5.html">main.cf</a> file. </p> 1653 1654 1655</DD> 1656 1657<DT><b><a name="confirm_delay_cleared">confirm_delay_cleared</a> 1658(default: no)</b></DT><DD> 1659 1660<p> After sending a "your message is delayed" notification, inform 1661the sender when the delay clears up. This can result in a sudden 1662burst of notifications at the end of a prolonged network outage, 1663and is therefore disabled by default. </p> 1664 1665<p> See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>. </p> 1666 1667<p> This feature is available in Postfix 3.0 and later. </p> 1668 1669 1670</DD> 1671 1672<DT><b><a name="connection_cache_protocol_timeout">connection_cache_protocol_timeout</a> 1673(default: 5s)</b></DT><DD> 1674 1675<p> Time limit for connection cache connect, send or receive 1676operations. The time limit is enforced in the client. </p> 1677 1678<p> This feature is available in Postfix 2.3 and later. </p> 1679 1680 1681</DD> 1682 1683<DT><b><a name="connection_cache_service_name">connection_cache_service_name</a> 1684(default: scache)</b></DT><DD> 1685 1686<p> The name of the <a href="scache.8.html">scache(8)</a> connection cache service. This service 1687maintains a limited pool of cached sessions. </p> 1688 1689<p> This feature is available in Postfix 2.2 and later. </p> 1690 1691 1692</DD> 1693 1694<DT><b><a name="connection_cache_status_update_time">connection_cache_status_update_time</a> 1695(default: 600s)</b></DT><DD> 1696 1697<p> How frequently the <a href="scache.8.html">scache(8)</a> server logs usage statistics with 1698connection cache hit and miss rates for logical destinations and for 1699physical endpoints. </p> 1700 1701 1702</DD> 1703 1704<DT><b><a name="connection_cache_ttl_limit">connection_cache_ttl_limit</a> 1705(default: 2s)</b></DT><DD> 1706 1707<p> The maximal time-to-live value that the <a href="scache.8.html">scache(8)</a> connection 1708cache server 1709allows. Requests that specify a larger TTL will be stored with the 1710maximum allowed TTL. The purpose of this additional control is to 1711protect the infrastructure against careless people. The cache TTL 1712is already bounded by $<a href="postconf.5.html#max_idle">max_idle</a>. </p> 1713 1714 1715</DD> 1716 1717<DT><b><a name="content_filter">content_filter</a> 1718(default: empty)</b></DT><DD> 1719 1720<p> After the message is queued, send the entire message to the 1721specified <i>transport:destination</i>. The <i>transport</i> name 1722specifies the first field of a mail delivery agent definition in 1723<a href="master.5.html">master.cf</a>; the syntax of the next-hop <i>destination</i> is described 1724in the manual page of the corresponding delivery agent. More 1725information about external content filters is in the Postfix 1726<a href="FILTER_README.html">FILTER_README</a> file. </p> 1727 1728<p> Notes: </p> 1729 1730<ul> 1731 1732<li> <p> This setting has lower precedence than a FILTER action 1733that is specified in an <a href="access.5.html">access(5)</a>, <a href="header_checks.5.html">header_checks(5)</a> or <a href="header_checks.5.html">body_checks(5)</a> 1734table. </p> 1735 1736<li> <p> The meaning of an empty next-hop filter <i>destination</i> 1737is version dependent. Postfix 2.7 and later will use the recipient 1738domain; earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>. Specify 1739"<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility with Postfix 17402.6 or earlier, or specify a <a href="postconf.5.html#content_filter">content_filter</a> value with an explicit 1741next-hop <i>destination</i>. </p> 1742 1743</ul> 1744 1745 1746</DD> 1747 1748<DT><b><a name="cyrus_sasl_config_path">cyrus_sasl_config_path</a> 1749(default: empty)</b></DT><DD> 1750 1751<p> Search path for Cyrus SASL application configuration files, 1752currently used only to locate the $<a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.conf file. 1753Specify zero or more directories separated by a colon character, 1754or an empty value to use Cyrus SASL's built-in search path. </p> 1755 1756<p> This feature is available in Postfix 2.5 and later when compiled 1757with Cyrus SASL 2.1.22 or later. </p> 1758 1759 1760</DD> 1761 1762<DT><b><a name="daemon_directory">daemon_directory</a> 1763(default: see "postconf -d" output)</b></DT><DD> 1764 1765<p> 1766The directory with Postfix support programs and daemon programs. 1767These should not be invoked directly by humans. The directory must 1768be owned by root. 1769</p> 1770 1771 1772</DD> 1773 1774<DT><b><a name="daemon_table_open_error_is_fatal">daemon_table_open_error_is_fatal</a> 1775(default: no)</b></DT><DD> 1776 1777<p> How a Postfix daemon process handles errors while opening lookup 1778tables: gradual degradation or immediate termination. </p> 1779 1780<dl> 1781 1782<dt> <b> no </b> (default) </dt> <dd> <p> Gradual degradation: a 1783daemon process logs a message of type "error" and continues execution 1784with reduced functionality. Features that do not depend on the 1785unavailable table will work normally, while features that depend 1786on the table will result in a type "warning" message. <br> When 1787the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter value contains the "data" class, the 1788Postfix SMTP server and client will report transcripts of sessions 1789with an error because a table is unavailable. </p> </dd> 1790 1791<dt> <b> yes </b> (historical behavior) </dt> <dd> <p> Immediate 1792termination: a daemon process logs a type "fatal" message and 1793terminates immediately. This option reduces the number of possible 1794code paths through Postfix, and may therefore be slightly more 1795secure than the default. </p> </dd> 1796 1797</dl> 1798 1799<p> For the sake of sanity, the number of type "error" messages is 1800limited to 13 over the lifetime of a daemon process. </p> 1801 1802<p> This feature is available in Postfix 2.9 and later. </p> 1803 1804 1805</DD> 1806 1807<DT><b><a name="daemon_timeout">daemon_timeout</a> 1808(default: 18000s)</b></DT><DD> 1809 1810<p> How much time a Postfix daemon process may take to handle a 1811request before it is terminated by a built-in watchdog timer. </p> 1812 1813<p> 1814Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 1815The default time unit is s (seconds). 1816</p> 1817 1818 1819</DD> 1820 1821<DT><b><a name="data_directory">data_directory</a> 1822(default: see "postconf -d" output)</b></DT><DD> 1823 1824<p> The directory with Postfix-writable data files (for example: 1825caches, pseudo-random numbers). This directory must be owned by 1826the <a href="postconf.5.html#mail_owner">mail_owner</a> account, and must not be shared with non-Postfix 1827software. </p> 1828 1829<p> This feature is available in Postfix 2.5 and later. </p> 1830 1831 1832</DD> 1833 1834<DT><b><a name="debug_peer_level">debug_peer_level</a> 1835(default: 2)</b></DT><DD> 1836 1837<p> The increment in verbose logging level when a remote client or 1838server matches a pattern in the <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter. </p> 1839 1840 1841</DD> 1842 1843<DT><b><a name="debug_peer_list">debug_peer_list</a> 1844(default: empty)</b></DT><DD> 1845 1846<p> Optional list of remote client or server hostname or network 1847address patterns that cause the verbose logging level to increase 1848by the amount specified in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>. </p> 1849 1850<p> Specify domain names, network/netmask patterns, "/file/name" 1851patterns or "<a href="DATABASE_README.html">type:table</a>" lookup tables. The right-hand side result 1852from "<a href="DATABASE_README.html">type:table</a>" lookups is ignored. </p> 1853 1854<p> Pattern matching of domain names is controlled by the presence 1855or absence of "<a href="postconf.5.html#debug_peer_list">debug_peer_list</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> 1856parameter value. </p> 1857 1858<p> 1859Examples: 1860</p> 1861 1862<pre> 1863<a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = 127.0.0.1 1864<a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = example.com 1865</pre> 1866 1867 1868</DD> 1869 1870<DT><b><a name="debugger_command">debugger_command</a> 1871(default: empty)</b></DT><DD> 1872 1873<p> 1874The external command to execute when a Postfix daemon program is 1875invoked with the -D option. 1876</p> 1877 1878<p> 1879Use "command .. & sleep 5" so that the debugger can attach before 1880the process marches on. If you use an X-based debugger, be sure to 1881set up your XAUTHORITY environment variable before starting Postfix. 1882</p> 1883 1884<p> 1885Note: the command is subject to $name expansion, before it is 1886passed to the default command interpreter. Specify "$$" to 1887produce a single "$" character. 1888</p> 1889 1890<p> 1891Example: 1892</p> 1893 1894<pre> 1895<a href="postconf.5.html#debugger_command">debugger_command</a> = 1896 PATH=/usr/bin:/usr/X11R6/bin 1897 ddd $<a href="postconf.5.html#daemon_directory">daemon_directory</a>/$<a href="postconf.5.html#process_name">process_name</a> $<a href="postconf.5.html#process_id">process_id</a> & sleep 5 1898</pre> 1899 1900 1901</DD> 1902 1903<DT><b><a name="default_database_type">default_database_type</a> 1904(default: see "postconf -d" output)</b></DT><DD> 1905 1906<p> 1907The default database type for use in <a href="newaliases.1.html">newaliases(1)</a>, <a href="postalias.1.html">postalias(1)</a> 1908and <a href="postmap.1.html">postmap(1)</a> commands. On many UNIX systems the default type is 1909either <b>dbm</b> or <b>hash</b>. The default setting is frozen 1910when the Postfix system is built. 1911</p> 1912 1913<p> 1914Examples: 1915</p> 1916 1917<pre> 1918<a href="postconf.5.html#default_database_type">default_database_type</a> = hash 1919<a href="postconf.5.html#default_database_type">default_database_type</a> = dbm 1920</pre> 1921 1922 1923</DD> 1924 1925<DT><b><a name="default_delivery_slot_cost">default_delivery_slot_cost</a> 1926(default: 5)</b></DT><DD> 1927 1928<p> 1929How often the Postfix queue manager's scheduler is allowed to 1930preempt delivery of one message with another. 1931</p> 1932 1933<p> 1934Each transport maintains a so-called "available delivery slot counter" 1935for each message. One message can be preempted by another one when 1936the other message can be delivered using no more delivery slots 1937(i.e., invocations of delivery agents) than the current message 1938counter has accumulated (or will eventually accumulate - see about 1939slot loans below). This parameter controls how often is the counter 1940incremented - it happens after each <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> 1941recipients have been delivered. 1942</p> 1943 1944<p> 1945The cost of 0 is used to disable the preempting scheduling completely. 1946The minimum value the scheduling algorithm can use is 2 - use it 1947if you want to maximize the message throughput rate. Although there 1948is no maximum, it doesn't make much sense to use values above say 194950. 1950</p> 1951 1952<p> 1953The only reason why the value of 2 is not the default is the way 1954this parameter affects the delivery of mailing-list mail. In the 1955worst case, delivery can take somewhere between (cost+1/cost) 1956and (cost/cost-1) times more than if the preemptive scheduler was 1957disabled. The default value of 5 turns out to provide reasonable 1958message response times while making sure the mailing-list deliveries 1959are not extended by more than 20-25 percent even in the worst case. 1960</p> 1961 1962<p> Use <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> to specify a 1963transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 1964name of the message delivery transport. 1965</p> 1966 1967<p> 1968Examples: 1969</p> 1970 1971<pre> 1972<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 0 1973<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 2 1974</pre> 1975 1976 1977</DD> 1978 1979<DT><b><a name="default_delivery_slot_discount">default_delivery_slot_discount</a> 1980(default: 50)</b></DT><DD> 1981 1982<p> 1983The default value for transport-specific _delivery_slot_discount 1984settings. 1985</p> 1986 1987<p> 1988This parameter speeds up the moment when a message preemption can 1989happen. Instead of waiting until the full amount of delivery slots 1990required is available, the preemption can happen when 1991transport_delivery_slot_discount percent of the required amount 1992plus transport_delivery_slot_loan still remains to be accumulated. 1993Note that the full amount will still have to be accumulated before 1994another preemption can take place later. 1995</p> 1996 1997<p> Use <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> to specify a 1998transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 1999name of the message delivery transport. 2000</p> 2001 2002 2003</DD> 2004 2005<DT><b><a name="default_delivery_slot_loan">default_delivery_slot_loan</a> 2006(default: 3)</b></DT><DD> 2007 2008<p> 2009The default value for transport-specific _delivery_slot_loan 2010settings. 2011</p> 2012 2013<p> 2014This parameter speeds up the moment when a message preemption can 2015happen. Instead of waiting until the full amount of delivery slots 2016required is available, the preemption can happen when 2017transport_delivery_slot_discount percent of the required amount 2018plus transport_delivery_slot_loan still remains to be accumulated. 2019Note that the full amount will still have to be accumulated before 2020another preemption can take place later. 2021</p> 2022 2023<p> Use <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> to specify a 2024transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2025name of the message delivery transport. 2026</p> 2027 2028 2029</DD> 2030 2031<DT><b><a name="default_delivery_status_filter">default_delivery_status_filter</a> 2032(default: empty)</b></DT><DD> 2033 2034<p> Optional filter to replace the delivery status code or explanatory 2035text of successful or unsuccessful deliveries. This does not allow 2036the replacement of a successful status code (2.X.X) with an 2037unsuccessful status code (4.X.X or 5.X.X) or vice versa. </p> 2038 2039<p> Note: the (smtp|lmtp)_delivery_status_filter is applied only 2040once per recipient: when delivery is successful, when delivery is 2041rejected with 5XX, or when there are no more alternate MX or A 2042destinations. Use <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> or <a href="postconf.5.html#lmtp_reply_filter">lmtp_reply_filter</a> to inspect 2043responses for all delivery attempts. </p> 2044 2045<p> The following parameters can be used to implement a filter for 2046specific delivery agents: <a href="postconf.5.html#lmtp_delivery_status_filter">lmtp_delivery_status_filter</a>, 2047<a href="postconf.5.html#local_delivery_status_filter">local_delivery_status_filter</a>, <a href="postconf.5.html#pipe_delivery_status_filter">pipe_delivery_status_filter</a>, 2048<a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a> or <a href="postconf.5.html#virtual_delivery_status_filter">virtual_delivery_status_filter</a>. These 2049parameters support the same filter syntax as described here. </p> 2050 2051<p> Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup table names, separated 2052by comma or whitespace. For each successful or unsuccessful delivery 2053to a recipient, the tables are queried in the specified order with 2054one line of text that is structured as follows: </p> 2055 2056<blockquote> 2057enhanced-status-code SPACE explanatory-text 2058</blockquote> 2059 2060<p> The first table match wins. The lookup result must have the 2061same structure as the query, a successful status code (2.X.X) must 2062be replaced with a successful status code, an unsuccessful status 2063code (4.X.X or 5.X.X) must be replaced with an unsuccessful status 2064code, and the explanatory text field must be non-empty. Other results 2065will result in a warning. </p> 2066 2067<p> Example 1: convert specific soft TLS errors into hard errors, 2068by overriding the first number in the enhanced status code. </p> 2069 2070<blockquote> 2071<pre> 2072/etc/postfix/<a href="postconf.5.html">main.cf</a>: 2073 <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/smtp_dsn_filter 2074</pre> 2075</blockquote> 2076 2077<blockquote> 2078<pre> 2079/etc/postfix/smtp_dsn_filter: 2080 /^4(\.\d+\.\d+ TLS is required, but host \S+ refused to start TLS: .+)/ 2081 5$1 2082 /^4(\.\d+\.\d+ TLS is required, but was not offered by host .+)/ 2083 5$1 2084 # Do not change the following into hard bounces. They may 2085 # result from a local configuration problem. 2086 # 4.\d+.\d+ TLS is required, but our TLS engine is unavailable 2087 # 4.\d+.\d+ TLS is required, but unavailable 2088 # 4.\d+.\d+ Cannot start TLS: handshake failure 2089</pre> 2090</blockquote> 2091 2092<p> Example 2: censor the per-recipient delivery status text so 2093that it does not reveal the destination command or filename 2094when a remote sender requests confirmation of successful delivery. 2095</p> 2096 2097<blockquote> 2098<pre> 2099/etc/postfix/<a href="postconf.5.html">main.cf</a>: 2100 <a href="postconf.5.html#local_delivery_status_filter">local_delivery_status_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/local_dsn_filter 2101</pre> 2102</blockquote> 2103 2104<blockquote> 2105<pre> 2106/etc/postfix/local_dsn_filter: 2107 /^(2\S+ delivered to file).+/ $1 2108 /^(2\S+ delivered to command).+/ $1 2109</pre> 2110</blockquote> 2111 2112<p> Notes: </p> 2113 2114<ul> 2115 2116<li> <p> This feature will NOT override the <a href="postconf.5.html#soft_bounce">soft_bounce</a> safety net. </p> 2117 2118<li> <p> This feature will change the enhanced status code and text 2119that is logged to the maillog file, and that is reported to the 2120sender in delivery confirmation or non-delivery notifications. 2121</p> 2122 2123</ul> 2124 2125<p> This feature is available in Postfix 3.0 and later. </p> 2126 2127 2128</DD> 2129 2130<DT><b><a name="default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> 2131(default: 1)</b></DT><DD> 2132 2133<p> How many pseudo-cohorts must suffer connection or handshake 2134failure before a specific destination is considered unavailable 2135(and further delivery is suspended). Specify zero to disable this 2136feature. A destination's pseudo-cohort failure count is reset each 2137time a delivery completes without connection or handshake failure 2138for that specific destination. </p> 2139 2140<p> A pseudo-cohort is the number of deliveries equal to a destination's 2141delivery concurrency. </p> 2142 2143<p> Use <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> to specify 2144a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2145name of the message delivery transport. </p> 2146 2147<p> This feature is available in Postfix 2.5. The default setting 2148is compatible with earlier Postfix versions. </p> 2149 2150 2151</DD> 2152 2153<DT><b><a name="default_destination_concurrency_limit">default_destination_concurrency_limit</a> 2154(default: 20)</b></DT><DD> 2155 2156<p> 2157The default maximal number of parallel deliveries to the same 2158destination. This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>, 2159<a href="pipe.8.html">pipe(8)</a>, <a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents. 2160With per-destination recipient limit > 1, a destination is a domain, 2161otherwise it is a recipient. 2162</p> 2163 2164<p> Use <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> to specify a 2165transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2166name of the message delivery transport. 2167</p> 2168 2169 2170</DD> 2171 2172<DT><b><a name="default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> 2173(default: 1)</b></DT><DD> 2174 2175<p> The per-destination amount of delivery concurrency negative 2176feedback, after a delivery completes with a connection or handshake 2177failure. Feedback values are in the range 0..1 inclusive. With 2178negative feedback, concurrency is decremented at the beginning of 2179a sequence of length 1/feedback. This is unlike positive feedback, 2180where concurrency is incremented at the end of a sequence of length 21811/feedback. </p> 2182 2183<p> As of Postfix version 2.5, negative feedback cannot reduce 2184delivery concurrency to zero. Instead, a destination is marked 2185dead (further delivery suspended) after the failed pseudo-cohort 2186count reaches $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> 2187(or $<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>). 2188To make the scheduler completely immune to connection or handshake 2189failures, specify a zero feedback value and a zero failed pseudo-cohort 2190limit. </p> 2191 2192<p> Specify one of the following forms: </p> 2193 2194<dl> 2195 2196<dt> <b><i>number</i> </b> </dt> 2197 2198<dt> <b><i>number</i> / <i>number</i> </b> </dt> 2199 2200<dd> Constant feedback. The value must be in the range 0..1 inclusive. 2201The default setting of "1" is compatible with Postfix versions 2202before 2.5, where a destination's delivery concurrency is throttled 2203down to zero (and further delivery suspended) after a single failed 2204pseudo-cohort. </dd> 2205 2206<dt> <b><i>number</i> / concurrency </b> </dt> 2207 2208<dd> Variable feedback of "<i>number</i> / (delivery concurrency)". 2209The <i>number</i> must be in the range 0..1 inclusive. With 2210<i>number</i> equal to "1", a destination's delivery concurrency 2211is decremented by 1 after each failed pseudo-cohort. </dd> 2212 2213</dl> 2214 2215<p> A pseudo-cohort is the number of deliveries equal to a destination's 2216delivery concurrency. </p> 2217 2218<p> Use <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a> 2219to specify a transport-specific override, where <i>transport</i> 2220is the <a href="master.5.html">master.cf</a> 2221name of the message delivery transport. </p> 2222 2223<p> This feature is available in Postfix 2.5. The default setting 2224is compatible with earlier Postfix versions. </p> 2225 2226 2227</DD> 2228 2229<DT><b><a name="default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> 2230(default: 1)</b></DT><DD> 2231 2232<p> The per-destination amount of delivery concurrency positive 2233feedback, after a delivery completes without connection or handshake 2234failure. Feedback values are in the range 0..1 inclusive. The 2235concurrency increases until it reaches the per-destination maximal 2236concurrency limit. With positive feedback, concurrency is incremented 2237at the end of a sequence with length 1/feedback. This is unlike 2238negative feedback, where concurrency is decremented at the start 2239of a sequence of length 1/feedback. </p> 2240 2241<p> Specify one of the following forms: </p> 2242 2243<dl> 2244 2245<dt> <b><i>number</i> </b> </dt> 2246 2247<dt> <b><i>number</i> / <i>number</i> </b> </dt> 2248 2249<dd> Constant feedback. The value must be in the range 0..1 2250inclusive. The default setting of "1" is compatible with Postfix 2251versions before 2.5, where a destination's delivery concurrency 2252doubles after each successful pseudo-cohort. </dd> 2253 2254<dt> <b><i>number</i> / concurrency </b> </dt> 2255 2256<dd> Variable feedback of "<i>number</i> / (delivery concurrency)". 2257The <i>number</i> must be in the range 0..1 inclusive. With 2258<i>number</i> equal to "1", a destination's delivery concurrency 2259is incremented by 1 after each successful pseudo-cohort. </dd> 2260 2261</dl> 2262 2263<p> A pseudo-cohort is the number of deliveries equal to a destination's 2264delivery concurrency. </p> 2265 2266<p> Use <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a> 2267to specify a transport-specific override, where <i>transport</i> 2268is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p> 2269 2270<p> This feature is available in Postfix 2.5 and later. </p> 2271 2272 2273</DD> 2274 2275<DT><b><a name="default_destination_rate_delay">default_destination_rate_delay</a> 2276(default: 0s)</b></DT><DD> 2277 2278<p> The default amount of delay that is inserted between individual 2279message deliveries to the same destination and over the same message 2280delivery transport. Specify a non-zero value to rate-limit those 2281message deliveries to at most one per $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>. 2282</p> 2283 2284<p> The resulting behavior depends on the value of the corresponding 2285per-destination recipient limit. 2286 2287</p> 2288 2289<ul> 2290 2291<li> <p> With a corresponding per-destination recipient limit > 22921, the rate delay specifies the time between deliveries to the 2293<i>same domain</i>. Different domains are delivered in parallel, 2294subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p> 2295 2296<li> <p> With a corresponding per-destination recipient limit equal 2297to 1, the rate delay specifies the time between deliveries to the 2298<i>same recipient</i>. Different recipients are delivered in 2299parallel, subject to the process limits specified in <a href="master.5.html">master.cf</a>. 2300</p> 2301 2302</ul> 2303 2304<p> To enable the delay, specify a non-zero time value (an integral 2305value plus an optional one-letter suffix that specifies the time 2306unit). </p> 2307 2308<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 2309(weeks). The default time unit is s (seconds). </p> 2310 2311<p> NOTE: the delay is enforced by the queue manager. The delay 2312timer state does not survive "<b>postfix reload</b>" or "<b>postfix 2313stop</b>". 2314</p> 2315 2316<p> Use <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> to specify a 2317transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2318name of the message delivery transport. 2319</p> 2320 2321<p> NOTE: with a non-zero _destination_rate_delay, specify a 2322<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> of 10 2323or more to prevent Postfix from deferring all mail for the same 2324destination after only one connection or handshake error. </p> 2325 2326<p> This feature is available in Postfix 2.5 and later. </p> 2327 2328 2329</DD> 2330 2331<DT><b><a name="default_destination_recipient_limit">default_destination_recipient_limit</a> 2332(default: 50)</b></DT><DD> 2333 2334<p> 2335The default maximal number of recipients per message delivery. 2336This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>, <a href="pipe.8.html">pipe(8)</a>, 2337<a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents. 2338</p> 2339 2340<p> Setting this parameter to a value of 1 affects email deliveries 2341as follows:</p> 2342 2343<ul> 2344 2345<li> <p> It changes the meaning of the corresponding per-destination 2346concurrency limit, from concurrency of deliveries to the <i>same 2347domain</i> into concurrency of deliveries to the <i>same recipient</i>. 2348Different recipients are delivered in parallel, subject to the 2349process limits specified in <a href="master.5.html">master.cf</a>. </p> 2350 2351<li> <p> It changes the meaning of the corresponding per-destination 2352rate delay, from the delay between deliveries to the <i>same 2353domain</i> into the delay between deliveries to the <i>same 2354recipient</i>. Again, different recipients are delivered in parallel, 2355subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p> 2356 2357<li> <p> It changes the meaning of other corresponding per-destination 2358settings in a similar manner, from settings for delivery to the 2359<i>same domain</i> into settings for delivery to the <i>same 2360recipient</i>. 2361 2362</ul> 2363 2364<p> Use <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> to specify a 2365transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2366name of the message delivery transport. 2367</p> 2368 2369 2370</DD> 2371 2372<DT><b><a name="default_extra_recipient_limit">default_extra_recipient_limit</a> 2373(default: 1000)</b></DT><DD> 2374 2375<p> 2376The default value for the extra per-transport limit imposed on the 2377number of in-memory recipients. This extra recipient space is 2378reserved for the cases when the Postfix queue manager's scheduler 2379preempts one message with another and suddenly needs some extra 2380recipients slots for the chosen message in order to avoid performance 2381degradation. 2382</p> 2383 2384<p> Use <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> to specify a 2385transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2386name of the message delivery transport. 2387</p> 2388 2389 2390</DD> 2391 2392<DT><b><a name="default_filter_nexthop">default_filter_nexthop</a> 2393(default: empty)</b></DT><DD> 2394 2395<p> When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies no explicit 2396next-hop destination, use $<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> instead; when 2397that value is empty, use the domain in the recipient address. 2398Specify "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility 2399with Postfix version 2.6 and earlier, or specify an explicit next-hop 2400destination with each <a href="postconf.5.html#content_filter">content_filter</a> value or FILTER action. </p> 2401 2402<p> This feature is available in Postfix 2.7 and later. </p> 2403 2404 2405</DD> 2406 2407<DT><b><a name="default_minimum_delivery_slots">default_minimum_delivery_slots</a> 2408(default: 3)</b></DT><DD> 2409 2410<p> 2411How many recipients a message must have in order to invoke the 2412Postfix queue manager's scheduling algorithm at all. Messages 2413which would never accumulate at least this many delivery slots 2414(subject to slot cost parameter as well) are never preempted. 2415</p> 2416 2417<p> Use <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> to specify a 2418transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2419name of the message delivery transport. 2420</p> 2421 2422 2423</DD> 2424 2425<DT><b><a name="default_privs">default_privs</a> 2426(default: nobody)</b></DT><DD> 2427 2428<p> 2429The default rights used by the <a href="local.8.html">local(8)</a> delivery agent for delivery 2430to external file or command. These rights are used when delivery 2431is requested from an <a href="aliases.5.html">aliases(5)</a> file that is owned by <b>root</b>, or 2432when delivery is done on behalf of <b>root</b>. <b>DO NOT SPECIFY A 2433PRIVILEGED USER OR THE POSTFIX OWNER</b>. 2434</p> 2435 2436 2437</DD> 2438 2439<DT><b><a name="default_process_limit">default_process_limit</a> 2440(default: 100)</b></DT><DD> 2441 2442<p> 2443The default maximal number of Postfix child processes that provide 2444a given service. This limit can be overruled for specific services 2445in the <a href="master.5.html">master.cf</a> file. 2446</p> 2447 2448 2449</DD> 2450 2451<DT><b><a name="default_rbl_reply">default_rbl_reply</a> 2452(default: see "postconf -d" output)</b></DT><DD> 2453 2454<p> 2455The default Postfix SMTP server response template for a request that is 2456rejected by an RBL-based restriction. This template can be overruled 2457by specific entries in the optional <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> lookup table. 2458</p> 2459 2460<p> 2461This feature is available in Postfix 2.0 and later. 2462</p> 2463 2464<p> 2465The template does not support Postfix configuration parameter $name 2466substitution. Instead, it supports exactly one level of $name 2467substitution for the following attributes: 2468</p> 2469 2470<dl> 2471 2472<dt><b>$client</b></dt> 2473 2474<dd>The client hostname and IP address, formatted as name[address]. </dd> 2475 2476<dt><b>$client_address</b></dt> 2477 2478<dd>The client IP address. </dd> 2479 2480<dt><b>$client_name</b></dt> 2481 2482<dd>The client hostname or "unknown". See <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> 2483for more details. </dd> 2484 2485<dt><b>$reverse_client_name</b></dt> 2486 2487<dd>The client hostname from address->name lookup, or "unknown". 2488See <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a> for more details. </dd> 2489 2490<dt><b>$helo_name</b></dt> 2491 2492<dd>The hostname given in HELO or EHLO command or empty string. </dd> 2493 2494<dt><b>$rbl_class</b></dt> 2495 2496<dd>The blacklisted entity type: Client host, Helo command, Sender 2497address, or Recipient address. </dd> 2498 2499<dt><b>$rbl_code</b></dt> 2500 2501<dd>The numerical SMTP response code, as specified with the 2502<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> configuration parameter. Note: The numerical 2503SMTP response code is required, and must appear at the start of the 2504reply. With Postfix version 2.3 and later this information may be followed 2505by an <a href="http://tools.ietf.org/html/rfc3463">RFC 3463</a> enhanced status code. </dd> 2506 2507<dt><b>$rbl_domain</b></dt> 2508 2509<dd>The RBL domain where $rbl_what is blacklisted. </dd> 2510 2511<dt><b>$rbl_reason</b></dt> 2512 2513<dd>The reason why $rbl_what is blacklisted, or an empty string. </dd> 2514 2515<dt><b>$rbl_what</b></dt> 2516 2517<dd>The entity that is blacklisted (an IP address, a hostname, a domain 2518name, or an email address whose domain was blacklisted). </dd> 2519 2520<dt><b>$recipient</b></dt> 2521 2522<dd>The recipient address or <> in case of the null address. </dd> 2523 2524<dt><b>$recipient_domain</b></dt> 2525 2526<dd>The recipient domain or empty string. </dd> 2527 2528<dt><b>$recipient_name</b></dt> 2529 2530<dd>The recipient address localpart or <> in case of null address. </dd> 2531 2532<dt><b>$sender</b></dt> 2533 2534<dd>The sender address or <> in case of the null address. </dd> 2535 2536<dt><b>$sender_domain</b></dt> 2537 2538<dd>The sender domain or empty string. </dd> 2539 2540<dt><b>$sender_name</b></dt> 2541 2542<dd>The sender address localpart or <> in case of the null address. </dd> 2543 2544<dt><b>${name?text}</b></dt> 2545 2546<dd>Expands to `text' if $name is not empty. </dd> 2547 2548<dt><b>${name:text}</b></dt> 2549 2550<dd>Expands to `text' if $name is empty. </dd> 2551 2552</dl> 2553 2554<p> 2555Instead of $name you can also specify ${name} or $(name). 2556</p> 2557 2558<p> Note: when an enhanced status code is specified in an RBL reply 2559template, it is subject to modification. The following transformations 2560are needed when the same RBL reply template is used for client, 2561helo, sender, or recipient access restrictions. </p> 2562 2563<ul> 2564 2565<li> <p> When rejecting a sender address, the Postfix SMTP server 2566will transform a recipient DSN status (e.g., 4.1.1-4.1.6) into the 2567corresponding sender DSN status, and vice versa. </p> 2568 2569<li> <p> When rejecting non-address information (such as the HELO 2570command argument or the client hostname/address), the Postfix SMTP 2571server will transform a sender or recipient DSN status into a generic 2572non-address DSN status (e.g., 4.0.0). </p> 2573 2574</ul> 2575 2576 2577</DD> 2578 2579<DT><b><a name="default_recipient_limit">default_recipient_limit</a> 2580(default: 20000)</b></DT><DD> 2581 2582<p> 2583The default per-transport upper limit on the number of in-memory 2584recipients. These limits take priority over the global 2585<a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> after the message has been assigned 2586to the respective transports. See also <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a> 2587and <a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>. 2588</p> 2589 2590<p> Use <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> to specify a 2591transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2592name of the message delivery transport. 2593</p> 2594 2595 2596</DD> 2597 2598<DT><b><a name="default_recipient_refill_delay">default_recipient_refill_delay</a> 2599(default: 5s)</b></DT><DD> 2600 2601<p> 2602The default per-transport maximum delay between recipients refills. 2603When not all message recipients fit into the memory at once, keep loading 2604more of them at least once every this many seconds. This is used to 2605make sure the recipients are refilled in timely manner even when 2606$<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> is too high for too slow deliveries. 2607</p> 2608 2609<p> Use <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> to specify a 2610transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2611name of the message delivery transport. 2612</p> 2613 2614<p> This feature is available in Postfix 2.4 and later. </p> 2615 2616 2617</DD> 2618 2619<DT><b><a name="default_recipient_refill_limit">default_recipient_refill_limit</a> 2620(default: 100)</b></DT><DD> 2621 2622<p> 2623The default per-transport limit on the number of recipients refilled at 2624once. When not all message recipients fit into the memory at once, keep 2625loading more of them in batches of at least this many at a time. See also 2626$<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>, which may result in recipient batches 2627lower than this when this limit is too high for too slow deliveries. 2628</p> 2629 2630<p> Use <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> to specify a 2631transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 2632name of the message delivery transport. 2633</p> 2634 2635<p> This feature is available in Postfix 2.4 and later. </p> 2636 2637 2638</DD> 2639 2640<DT><b><a name="default_transport">default_transport</a> 2641(default: smtp)</b></DT><DD> 2642 2643<p> 2644The default mail delivery transport and next-hop destination for 2645destinations that do not match $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>, 2646$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>, 2647or $<a href="postconf.5.html#relay_domains">relay_domains</a>. This information can be overruled with the 2648<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter and with the 2649<a href="transport.5.html">transport(5)</a> table. </p> 2650 2651<p> 2652In order of decreasing precedence, the nexthop destination is taken 2653from $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>, $<a href="postconf.5.html#default_transport">default_transport</a>, 2654$<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>, $<a href="postconf.5.html#relayhost">relayhost</a>, or from the recipient 2655domain. 2656</p> 2657 2658<p> 2659Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i> 2660is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>. 2661The <i>:nexthop</i> destination is optional; its syntax is documented 2662in the manual page of the corresponding delivery agent. In the case of 2663SMTP or LMTP, specify one or more destinations separated by comma or 2664whitespace (with Postfix 3.5 and later). 2665</p> 2666 2667<p> 2668Example: 2669</p> 2670 2671<pre> 2672<a href="postconf.5.html#default_transport">default_transport</a> = uucp:relayhostname 2673</pre> 2674 2675 2676</DD> 2677 2678<DT><b><a name="default_transport_rate_delay">default_transport_rate_delay</a> 2679(default: 0s)</b></DT><DD> 2680 2681<p> The default amount of delay that is inserted between individual 2682message deliveries over the same message delivery transport, 2683regardless of destination. Specify a non-zero value to rate-limit 2684those message deliveries to at most one per $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>. 2685</p> 2686 2687<p>Use <a href="postconf.5.html#transport_transport_rate_delay"><i>transport</i>_transport_rate_delay</a> to specify a 2688transport-specific override, where the initial <i>transport</i> is 2689the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p> 2690 2691<p> Example: throttle outbound SMTP mail to at most 3 deliveries 2692per minute. </p> 2693 2694<pre> 2695/etc/postfix/<a href="postconf.5.html">main.cf</a>: 2696 smtp_transport_rate_delay = 20s 2697</pre> 2698 2699<p> To enable the delay, specify a non-zero time value (an integral 2700value plus an optional one-letter suffix that specifies the time 2701unit). </p> 2702 2703<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 2704(weeks). The default time unit is s (seconds). </p> 2705 2706<p> NOTE: the delay is enforced by the queue manager. </p> 2707 2708<p> This feature is available in Postfix 3.1 and later. </p> 2709 2710 2711</DD> 2712 2713<DT><b><a name="default_verp_delimiters">default_verp_delimiters</a> 2714(default: +=)</b></DT><DD> 2715 2716<p> The two default VERP delimiter characters. These are used when 2717no explicit delimiters are specified with the SMTP XVERP command 2718or with the "<b>sendmail -V</b>" command-line option. Specify 2719characters that are allowed by the <a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> setting. 2720</p> 2721 2722<p> 2723This feature is available in Postfix 1.1 and later. 2724</p> 2725 2726 2727</DD> 2728 2729<DT><b><a name="defer_code">defer_code</a> 2730(default: 450)</b></DT><DD> 2731 2732<p> 2733The numerical Postfix SMTP server response code when a remote SMTP 2734client request is rejected by the "defer" restriction. 2735</p> 2736 2737<p> 2738Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 2739</p> 2740 2741 2742</DD> 2743 2744<DT><b><a name="defer_service_name">defer_service_name</a> 2745(default: defer)</b></DT><DD> 2746 2747<p> 2748The name of the defer service. This service is implemented by the 2749<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record 2750of failed delivery attempts and generates non-delivery notifications. 2751</p> 2752 2753<p> 2754This feature is available in Postfix 2.0 and later. 2755</p> 2756 2757 2758</DD> 2759 2760<DT><b><a name="defer_transports">defer_transports</a> 2761(default: empty)</b></DT><DD> 2762 2763<p> 2764The names of message delivery transports that should not deliver mail 2765unless someone issues "<b>sendmail -q</b>" or equivalent. Specify zero 2766or more names of mail delivery transports names that appear in the 2767first field of <a href="master.5.html">master.cf</a>. 2768</p> 2769 2770<p> 2771Example: 2772</p> 2773 2774<pre> 2775<a href="postconf.5.html#defer_transports">defer_transports</a> = smtp 2776</pre> 2777 2778 2779</DD> 2780 2781<DT><b><a name="delay_logging_resolution_limit">delay_logging_resolution_limit</a> 2782(default: 2)</b></DT><DD> 2783 2784<p> The maximal number of digits after the decimal point when logging 2785sub-second delay values. Specify a number in the range 0..6. </p> 2786 2787<p> Large delay values are rounded off to an integral number seconds; 2788delay values below the <a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> are logged 2789as "0", and delay values under 100s are logged with at most two-digit 2790precision. </p> 2791 2792<p> The format of the "delays=a/b/c/d" logging is as follows: </p> 2793 2794<ul> 2795 2796<li> a = time from message arrival to last <a href="QSHAPE_README.html#active_queue">active queue</a> entry 2797 2798<li> b = time from last <a href="QSHAPE_README.html#active_queue">active queue</a> entry to connection setup 2799 2800<li> c = time in connection setup, including DNS, EHLO and STARTTLS 2801 2802<li> d = time in message transmission 2803 2804</ul> 2805 2806<p> This feature is available in Postfix 2.3 and later. </p> 2807 2808 2809</DD> 2810 2811<DT><b><a name="delay_notice_recipient">delay_notice_recipient</a> 2812(default: postmaster)</b></DT><DD> 2813 2814<p> 2815The recipient of postmaster notifications with the message headers 2816of mail that cannot be delivered within $<a href="postconf.5.html#delay_warning_time">delay_warning_time</a> time 2817units. </p> 2818 2819<p> 2820See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>. 2821</p> 2822 2823 2824</DD> 2825 2826<DT><b><a name="delay_warning_time">delay_warning_time</a> 2827(default: 0h)</b></DT><DD> 2828 2829<p> 2830The time after which the sender receives a copy of the message 2831headers of mail that is still queued. The <a href="postconf.5.html#confirm_delay_cleared">confirm_delay_cleared</a> 2832parameter controls sender notification when the delay clears up. 2833</p> 2834 2835<p> 2836To enable this feature, specify a non-zero time value (an integral 2837value plus an optional one-letter suffix that specifies the time 2838unit). 2839</p> 2840 2841<p> 2842Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 2843The default time unit is h (hours). 2844</p> 2845 2846<p> 2847See also: <a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>, <a href="postconf.5.html#confirm_delay_cleared">confirm_delay_cleared</a>. 2848</p> 2849 2850 2851</DD> 2852 2853<DT><b><a name="deliver_lock_attempts">deliver_lock_attempts</a> 2854(default: 20)</b></DT><DD> 2855 2856<p> 2857The maximal number of attempts to acquire an exclusive lock on a 2858mailbox file or <a href="bounce.8.html">bounce(8)</a> logfile. 2859</p> 2860 2861 2862</DD> 2863 2864<DT><b><a name="deliver_lock_delay">deliver_lock_delay</a> 2865(default: 1s)</b></DT><DD> 2866 2867<p> 2868The time between attempts to acquire an exclusive lock on a mailbox 2869file or <a href="bounce.8.html">bounce(8)</a> logfile. 2870</p> 2871 2872<p> 2873Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 2874The default time unit is s (seconds). 2875</p> 2876 2877 2878</DD> 2879 2880<DT><b><a name="destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a> 2881(default: no)</b></DT><DD> 2882 2883<p> Make the queue manager's feedback algorithm verbose for performance 2884analysis purposes. </p> 2885 2886<p> This feature is available in Postfix 2.5 and later. </p> 2887 2888 2889</DD> 2890 2891<DT><b><a name="detect_8bit_encoding_header">detect_8bit_encoding_header</a> 2892(default: yes)</b></DT><DD> 2893 2894<p> Automatically detect 8BITMIME body content by looking at 2895Content-Transfer-Encoding: message headers; historically, this 2896behavior was hard-coded to be "always on". </p> 2897 2898<p> This feature is available in Postfix 2.5 and later. </p> 2899 2900 2901</DD> 2902 2903<DT><b><a name="disable_dns_lookups">disable_dns_lookups</a> 2904(default: no)</b></DT><DD> 2905 2906<p> 2907Disable DNS lookups in the Postfix SMTP and LMTP clients. When 2908disabled, hosts are looked up with the getaddrinfo() system 2909library routine which normally also looks in /etc/hosts. As of 2910Postfix 2.11, this parameter is deprecated; use <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> 2911instead. 2912</p> 2913 2914<p> 2915DNS lookups are enabled by default. 2916</p> 2917 2918 2919</DD> 2920 2921<DT><b><a name="disable_mime_input_processing">disable_mime_input_processing</a> 2922(default: no)</b></DT><DD> 2923 2924<p> 2925Turn off MIME processing while receiving mail. This means that no 2926special treatment is given to Content-Type: message headers, and 2927that all text after the initial message headers is considered to 2928be part of the message body. 2929</p> 2930 2931<p> 2932This feature is available in Postfix 2.0 and later. 2933</p> 2934 2935<p> 2936Mime input processing is enabled by default, and is needed in order 2937to recognize MIME headers in message content. 2938</p> 2939 2940 2941</DD> 2942 2943<DT><b><a name="disable_mime_output_conversion">disable_mime_output_conversion</a> 2944(default: no)</b></DT><DD> 2945 2946<p> 2947Disable the conversion of 8BITMIME format to 7BIT format. Mime 2948output conversion is needed when the destination does not advertise 29498BITMIME support. 2950</p> 2951 2952<p> 2953This feature is available in Postfix 2.0 and later. 2954</p> 2955 2956 2957</DD> 2958 2959<DT><b><a name="disable_verp_bounces">disable_verp_bounces</a> 2960(default: no)</b></DT><DD> 2961 2962<p> 2963Disable sending one bounce report per recipient. 2964</p> 2965 2966<p> 2967The default, one per recipient, is what ezmlm needs. 2968</p> 2969 2970<p> 2971This feature is available in Postfix 1.1 and later. 2972</p> 2973 2974 2975</DD> 2976 2977<DT><b><a name="disable_vrfy_command">disable_vrfy_command</a> 2978(default: no)</b></DT><DD> 2979 2980<p> 2981Disable the SMTP VRFY command. This stops some techniques used to 2982harvest email addresses. 2983</p> 2984 2985<p> 2986Example: 2987</p> 2988 2989<pre> 2990<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> = no 2991</pre> 2992 2993 2994</DD> 2995 2996<DT><b><a name="dns_ncache_ttl_fix_enable">dns_ncache_ttl_fix_enable</a> 2997(default: no)</b></DT><DD> 2998 2999<p> Enable a workaround for future libc incompatibility. The Postfix 3000implementation of <a href="http://tools.ietf.org/html/rfc2308">RFC 2308</a> negative reply caching relies on the 3001promise that res_query() and res_search() invoke res_send(), which 3002returns the server response in an application buffer even if the 3003requested record does not exist. If this promise is broken, specify 3004"yes" to enable a workaround for DNS reputation lookups. </p> 3005 3006<p> 3007This feature is available in Postfix 3.1 and later. 3008</p> 3009 3010 3011</DD> 3012 3013<DT><b><a name="dnsblog_reply_delay">dnsblog_reply_delay</a> 3014(default: 0s)</b></DT><DD> 3015 3016<p> A debugging aid to artificially delay DNS responses. </p> 3017 3018<p> This feature is available in Postfix 2.8. </p> 3019 3020 3021</DD> 3022 3023<DT><b><a name="dnsblog_service_name">dnsblog_service_name</a> 3024(default: dnsblog)</b></DT><DD> 3025 3026<p> The name of the <a href="dnsblog.8.html">dnsblog(8)</a> service entry in <a href="master.5.html">master.cf</a>. This 3027service performs DNS white/blacklist lookups. </p> 3028 3029<p> This feature is available in Postfix 2.8 and later. </p> 3030 3031 3032</DD> 3033 3034<DT><b><a name="dont_remove">dont_remove</a> 3035(default: 0)</b></DT><DD> 3036 3037<p> 3038Don't remove queue files and save them to the "saved" mail queue. 3039This is a debugging aid. To inspect the envelope information and 3040content of a Postfix queue file, use the <a href="postcat.1.html">postcat(1)</a> command. 3041</p> 3042 3043 3044</DD> 3045 3046<DT><b><a name="double_bounce_sender">double_bounce_sender</a> 3047(default: double-bounce)</b></DT><DD> 3048 3049<p> The sender address of postmaster notifications that are generated 3050by the mail system. All mail to this address is silently discarded, 3051in order to terminate mail bounce loops. </p> 3052 3053 3054</DD> 3055 3056<DT><b><a name="duplicate_filter_limit">duplicate_filter_limit</a> 3057(default: 1000)</b></DT><DD> 3058 3059<p> The maximal number of addresses remembered by the address 3060duplicate filter for <a href="aliases.5.html">aliases(5)</a> or <a href="virtual.5.html">virtual(5)</a> alias expansion, or 3061for <a href="showq.8.html">showq(8)</a> queue displays. </p> 3062 3063 3064</DD> 3065 3066<DT><b><a name="empty_address_default_transport_maps_lookup_key">empty_address_default_transport_maps_lookup_key</a> 3067(default: <>)</b></DT><DD> 3068 3069<p> The <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> search string that 3070will be used instead of the null sender address. </p> 3071 3072<p> This feature is available in Postfix 2.7 and later. </p> 3073 3074 3075</DD> 3076 3077<DT><b><a name="empty_address_recipient">empty_address_recipient</a> 3078(default: MAILER-DAEMON)</b></DT><DD> 3079 3080<p> 3081The recipient of mail addressed to the null address. Postfix does 3082not accept such addresses in SMTP commands, but they may still be 3083created locally as the result of configuration or software error. 3084</p> 3085 3086 3087</DD> 3088 3089<DT><b><a name="empty_address_relayhost_maps_lookup_key">empty_address_relayhost_maps_lookup_key</a> 3090(default: <>)</b></DT><DD> 3091 3092<p> The <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> search string that will be 3093used instead of the null sender address. </p> 3094 3095<p> This feature is available in Postfix 2.5 and later. With 3096earlier versions, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> lookups were 3097skipped for the null sender address. </p> 3098 3099 3100</DD> 3101 3102<DT><b><a name="enable_errors_to">enable_errors_to</a> 3103(default: no)</b></DT><DD> 3104 3105<p> Report mail delivery errors to the address specified with the 3106non-standard Errors-To: message header, instead of the envelope 3107sender address (this feature is removed with Postfix version 2.2, is 3108turned off by default with Postfix version 2.1, and is always turned on 3109with older Postfix versions). </p> 3110 3111 3112</DD> 3113 3114<DT><b><a name="enable_idna2003_compatibility">enable_idna2003_compatibility</a> 3115(default: no)</b></DT><DD> 3116 3117<p> Enable 'transitional' compatibility between IDNA2003 and IDNA2008, 3118when converting UTF-8 domain names to/from the ASCII form that is 3119used for DNS lookups. Specify "yes" for compatibility with Postfix 3120≤ 3.1 (not recommended). This affects the conversion of domain 3121names that contain for example the German sz and the Greek zeta. 3122See <a href="http://unicode.org/cldr/utility/idna.jsp">http://unicode.org/cldr/utility/idna.jsp</a> for more examples. 3123</p> 3124 3125<p> This feature is available in Postfix 3.2 and later. </p> 3126 3127 3128</DD> 3129 3130<DT><b><a name="enable_long_queue_ids">enable_long_queue_ids</a> 3131(default: no)</b></DT><DD> 3132 3133<p> Enable long, non-repeating, queue IDs (queue file names). The 3134benefit of non-repeating names is simpler logfile analysis and 3135easier queue migration (there is no need to run "postsuper" to 3136change queue file names that don't match their message file inode 3137number). </p> 3138 3139<p> Note: see below for how to convert long queue file names to 3140Postfix ≤ 2.8. </p> 3141 3142<p> Changing the parameter value to "yes" has the following effects: 3143</p> 3144 3145<ul> 3146 3147<li> <p> Existing queue file names are not affected. </p> 3148 3149<li> <p> New queue files are created with names such as 3Pt2mN2VXxznjll. 3150These are encoded in a 52-character alphabet that contains digits 3151(0-9), upper-case letters (B-Z) and lower-case letters (b-z). For 3152safety reasons the vowels (AEIOUaeiou) are excluded from the alphabet. 3153The name format is: 6 or more characters for the time in seconds, 31544 characters for the time in microseconds, the 'z'; the remainder 3155is the file inode number encoded in the first 51 characters of the 315652-character alphabet. </p> 3157 3158<li> <p> New messages have a Message-ID header with 3159<i>queueID</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>. </p> 3160 3161<li> <p> The mailq (postqueue -p) output has a wider Queue ID column. 3162The number of whitespace-separated fields is not changed. <p> 3163 3164<li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters 3165of the queue file creation time in microseconds, after conversion 3166into hexadecimal representation. This produces the same queue hashing 3167behavior as if the queue file name was created with "<a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a> 3168= no". </p> 3169 3170</ul> 3171 3172<p> Changing the parameter value to "no" has the following effects: 3173</p> 3174 3175<ul> 3176 3177<li> <p> Existing long queue file names are renamed to the short 3178form (while running "postfix reload" or "postsuper"). </p> 3179 3180<li> <p> New queue files are created with names such as C3CD21F3E90 3181from a hexadecimal alphabet that contains digits (0-9) and upper-case 3182letters (A-F). The name format is: 5 characters for the time in 3183microseconds; the remainder is the file inode number. </p> 3184 3185<li> <p> New messages have a Message-ID header with 3186<i>YYYYMMDDHHMMSS.queueid</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>, where 3187<i>YYYYMMDDHHMMSS</i> are the year, month, day, hour, minute and 3188second. 3189 3190<li> <p> The mailq (postqueue -p) output has the same format as 3191with Postfix ≤ 2.8. <p> 3192 3193<li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters 3194of the queue file name, with the hexadecimal representation of the 3195file creation time in microseconds. </p> 3196 3197</ul> 3198 3199<p> Before migration to Postfix ≤ 2.8, the following commands 3200are required to convert long queue file names into short names: </p> 3201 3202<pre> 3203# postfix stop 3204# postconf <a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>=no 3205# postsuper 3206</pre> 3207 3208<p> Repeat the postsuper command until it reports no more queue file 3209name changes. </p> 3210 3211<p> This feature is available in Postfix 2.9 and later. </p> 3212 3213 3214</DD> 3215 3216<DT><b><a name="enable_original_recipient">enable_original_recipient</a> 3217(default: yes)</b></DT><DD> 3218 3219<p> Enable support for the original recipient address after an 3220address is rewritten to a different address (for example with 3221aliasing or with canonical mapping). </p> 3222 3223<p> The original recipient address is used as follows: </p> 3224 3225<dl> 3226 3227<dt> Final delivery </dt> <dd> With "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> = 3228yes", the original recipient address is stored in the <b>X-Original-To</b> 3229message header. This header may be used to distinguish between 3230different recipients that share the same mailbox. </dd> 3231 3232<dt> Recipient deduplication </dt> <dd> With "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> 3233= yes", the <a href="cleanup.8.html">cleanup(8)</a> daemon performs duplicate recipient elimination 3234based on the content of (original recipient, maybe-rewritten 3235recipient) pairs. Otherwise, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs duplicate 3236recipient elimination based only on the maybe-rewritten recipient 3237address. </dd> 3238 3239</dl> 3240 3241<p> Note: with Postfix ≤ 3.2 the "setting <a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> 3242= <b>no</b>" breaks address verification for addresses that are 3243aliased or otherwise rewritten (Postfix is unable to store the 3244address verification result under the original probe destination 3245address; instead, it can store the result only under the rewritten 3246address). </p> 3247 3248<p> This feature is available in Postfix 2.1 and later. Postfix 3249version 2.0 behaves as if this parameter is always set to <b>yes</b>. 3250Postfix versions before 2.0 have no support for the original recipient 3251address. </p> 3252 3253 3254</DD> 3255 3256<DT><b><a name="error_notice_recipient">error_notice_recipient</a> 3257(default: postmaster)</b></DT><DD> 3258 3259<p> The recipient of postmaster notifications about mail delivery 3260problems that are caused by policy, resource, software or protocol 3261errors. These notifications are enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> 3262parameter. </p> 3263 3264 3265</DD> 3266 3267<DT><b><a name="error_service_name">error_service_name</a> 3268(default: error)</b></DT><DD> 3269 3270<p> 3271The name of the <a href="error.8.html">error(8)</a> pseudo delivery agent. This service always 3272returns mail as undeliverable. 3273</p> 3274 3275<p> 3276This feature is available in Postfix 2.0 and later. 3277</p> 3278 3279 3280</DD> 3281 3282<DT><b><a name="execution_directory_expansion_filter">execution_directory_expansion_filter</a> 3283(default: see "postconf -d" output)</b></DT><DD> 3284 3285<p> Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows 3286in $name expansions of $<a href="postconf.5.html#command_execution_directory">command_execution_directory</a>. Characters 3287outside the allowed set are replaced by underscores. </p> 3288 3289<p> This feature is available in Postfix 2.2 and later. </p> 3290 3291 3292</DD> 3293 3294<DT><b><a name="expand_owner_alias">expand_owner_alias</a> 3295(default: no)</b></DT><DD> 3296 3297<p> 3298When delivering to an alias "<i>aliasname</i>" that has an 3299"owner-<i>aliasname</i>" companion alias, set the envelope sender 3300address to the expansion of the "owner-<i>aliasname</i>" alias. 3301Normally, Postfix sets the envelope sender address to the name of 3302the "owner-<i>aliasname</i>" alias. 3303</p> 3304 3305 3306</DD> 3307 3308<DT><b><a name="export_environment">export_environment</a> 3309(default: see "postconf -d" output)</b></DT><DD> 3310 3311<p> 3312The list of environment variables that a Postfix process will export 3313to non-Postfix processes. The TZ variable is needed for sane 3314time keeping on System-V-ish systems. 3315</p> 3316 3317<p> 3318Specify a list of names and/or name=value pairs, separated by 3319whitespace or comma. Specify "{ name=value }" to protect whitespace 3320or comma in parameter values (whitespace after the opening "{" and 3321before the closing "}" 3322is ignored). The form name=value is supported with Postfix version 33232.1 and later; the use of {} is supported with Postfix 3.0 and 3324later. </p> 3325 3326<p> 3327Example: 3328</p> 3329 3330<pre> 3331<a href="postconf.5.html#export_environment">export_environment</a> = TZ PATH=/bin:/usr/bin 3332</pre> 3333 3334 3335</DD> 3336 3337<DT><b><a name="extract_recipient_limit">extract_recipient_limit</a> 3338(default: 10240)</b></DT><DD> 3339 3340<p> 3341The maximal number of recipient addresses that Postfix will extract 3342from message headers when mail is submitted with "<b>sendmail -t</b>". 3343</p> 3344 3345<p> 3346This feature was removed in Postfix version 2.1. 3347</p> 3348 3349 3350</DD> 3351 3352<DT><b><a name="fallback_relay">fallback_relay</a> 3353(default: empty)</b></DT><DD> 3354 3355<p> 3356Optional list of relay hosts for SMTP destinations that can't be 3357found or that are unreachable. With Postfix 2.3 this parameter 3358is renamed to <a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a>. </p> 3359 3360<p> 3361By default, mail is returned to the sender when a destination is 3362not found, and delivery is deferred when a destination is unreachable. 3363</p> 3364 3365<p> The fallback relays must be SMTP destinations. Specify a domain, 3366host, host:port, [host]:port, [address] or [address]:port; the form 3367[host] turns off MX lookups. If you specify multiple SMTP 3368destinations, Postfix will try them in the specified order. </p> 3369 3370<p> Note: before Postfix 2.2, do not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature 3371when relaying mail 3372for a backup or primary MX domain. Mail would loop between the 3373Postfix MX host and the <a href="postconf.5.html#fallback_relay">fallback_relay</a> host when the final destination 3374is unavailable. </p> 3375 3376<ul> 3377 3378<li> In <a href="postconf.5.html">main.cf</a> specify "<a href="postconf.5.html#relay_transport">relay_transport</a> = relay", 3379 3380<li> In <a href="master.5.html">master.cf</a> specify "-o <a href="postconf.5.html#fallback_relay">fallback_relay</a> =" (i.e., empty) at 3381the end of the <tt>relay</tt> entry. 3382 3383<li> In transport maps, specify "relay:<i>nexthop...</i>" 3384as the right-hand side for backup or primary MX domain entries. 3385 3386</ul> 3387 3388<p> Postfix version 2.2 and later will not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature 3389for destinations that it is MX host for. 3390</p> 3391 3392 3393</DD> 3394 3395<DT><b><a name="fallback_transport">fallback_transport</a> 3396(default: empty)</b></DT><DD> 3397 3398<p> 3399Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery 3400agent should use for names that are not found in the <a href="aliases.5.html">aliases(5)</a> 3401or UNIX password database. 3402</p> 3403 3404<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 3405is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>, 3406<a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>, 3407<a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p> 3408 3409 3410</DD> 3411 3412<DT><b><a name="fallback_transport_maps">fallback_transport_maps</a> 3413(default: empty)</b></DT><DD> 3414 3415<p> Optional lookup tables with per-recipient message delivery 3416transports for recipients that the <a href="local.8.html">local(8)</a> delivery agent could 3417not find in the <a href="aliases.5.html">aliases(5)</a> or UNIX password database. </p> 3418 3419<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 3420is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>, 3421<a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>, 3422<a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p> 3423 3424<p> For safety reasons, this feature does not allow $number 3425substitutions in regular expression maps. </p> 3426 3427<p> This feature is available in Postfix 2.3 and later. </p> 3428 3429 3430</DD> 3431 3432<DT><b><a name="fast_flush_domains">fast_flush_domains</a> 3433(default: $<a href="postconf.5.html#relay_domains">relay_domains</a>)</b></DT><DD> 3434 3435<p> 3436Optional list of destinations that are eligible for per-destination 3437logfiles with mail that is queued to those destinations. 3438</p> 3439 3440<p> 3441By default, Postfix maintains "fast flush" logfiles only for 3442destinations that the Postfix SMTP server is willing to relay to 3443(i.e. the default is: "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> = $<a href="postconf.5.html#relay_domains">relay_domains</a>"; see 3444the <a href="postconf.5.html#relay_domains">relay_domains</a> parameter in the <a href="postconf.5.html">postconf(5)</a> manual). 3445</p> 3446 3447<p> Specify a list of hosts or domains, "/file/name" patterns or 3448"<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace. 3449Continue long lines by starting the next line with whitespace. A 3450"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" 3451lookup table is matched when the domain or its parent domain appears 3452as lookup key. </p> 3453 3454<p> Pattern matching of domain names is controlled by the presence 3455or absence of "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> 3456parameter value. </p> 3457 3458<p> 3459Specify "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> =" (i.e., empty) to disable the feature 3460altogether. 3461</p> 3462 3463 3464</DD> 3465 3466<DT><b><a name="fast_flush_purge_time">fast_flush_purge_time</a> 3467(default: 7d)</b></DT><DD> 3468 3469<p> 3470The time after which an empty per-destination "fast flush" logfile 3471is deleted. 3472</p> 3473 3474<p> 3475You can specify the time as a number, or as a number followed by 3476a letter that indicates the time unit: s=seconds, m=minutes, h=hours, 3477d=days, w=weeks. The default time unit is days. 3478</p> 3479 3480 3481</DD> 3482 3483<DT><b><a name="fast_flush_refresh_time">fast_flush_refresh_time</a> 3484(default: 12h)</b></DT><DD> 3485 3486<p> 3487The time after which a non-empty but unread per-destination "fast 3488flush" logfile needs to be refreshed. The contents of a logfile 3489are refreshed by requesting delivery of all messages listed in the 3490logfile. 3491</p> 3492 3493<p> 3494You can specify the time as a number, or as a number followed by 3495a letter that indicates the time unit: s=seconds, m=minutes, h=hours, 3496d=days, w=weeks. The default time unit is hours. 3497</p> 3498 3499 3500</DD> 3501 3502<DT><b><a name="fault_injection_code">fault_injection_code</a> 3503(default: 0)</b></DT><DD> 3504 3505<p> 3506Force specific internal tests to fail, to test the handling of 3507errors that are difficult to reproduce otherwise. 3508</p> 3509 3510 3511</DD> 3512 3513<DT><b><a name="flush_service_name">flush_service_name</a> 3514(default: flush)</b></DT><DD> 3515 3516<p> 3517The name of the <a href="flush.8.html">flush(8)</a> service. This service maintains per-destination 3518logfiles with the queue file names of mail that is queued for those 3519destinations. 3520</p> 3521 3522<p> 3523This feature is available in Postfix 2.0 and later. 3524</p> 3525 3526 3527</DD> 3528 3529<DT><b><a name="fork_attempts">fork_attempts</a> 3530(default: 5)</b></DT><DD> 3531 3532<p> The maximal number of attempts to fork() a child process. </p> 3533 3534 3535</DD> 3536 3537<DT><b><a name="fork_delay">fork_delay</a> 3538(default: 1s)</b></DT><DD> 3539 3540<p> The delay between attempts to fork() a child process. </p> 3541 3542<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 3543(weeks). The default time unit is s (seconds). </p> 3544 3545 3546</DD> 3547 3548<DT><b><a name="forward_expansion_filter">forward_expansion_filter</a> 3549(default: see "postconf -d" output)</b></DT><DD> 3550 3551<p> 3552Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in 3553$name expansions of $<a href="postconf.5.html#forward_path">forward_path</a>. Characters outside the 3554allowed set are replaced by underscores. 3555</p> 3556 3557 3558</DD> 3559 3560<DT><b><a name="forward_path">forward_path</a> 3561(default: see "postconf -d" output)</b></DT><DD> 3562 3563<p> The <a href="local.8.html">local(8)</a> delivery agent search list for finding a .forward 3564file with user-specified delivery methods. The first file that is 3565found is used. </p> 3566 3567<p> The <a href="postconf.5.html#forward_path">forward_path</a> value is not subject to Postfix configuration 3568parameter $name expansion. Instead, the following $name expansions 3569are done on <a href="postconf.5.html#forward_path">forward_path</a> before the search actually happens. 3570The result of $name expansion is 3571filtered with the character set that is specified with the 3572<a href="postconf.5.html#forward_expansion_filter">forward_expansion_filter</a> parameter. </p> 3573 3574<dl> 3575 3576<dt><b>$user</b></dt> 3577 3578<dd>The recipient's username. </dd> 3579 3580<dt><b>$shell</b></dt> 3581 3582<dd>The recipient's login shell pathname. </dd> 3583 3584<dt><b>$home</b></dt> 3585 3586<dd>The recipient's home directory. </dd> 3587 3588<dt><b>$recipient</b></dt> 3589 3590<dd>The full recipient address. </dd> 3591 3592<dt><b>$extension</b></dt> 3593 3594<dd>The optional recipient address extension. </dd> 3595 3596<dt><b>$domain</b></dt> 3597 3598<dd>The recipient domain. </dd> 3599 3600<dt><b>$local</b></dt> 3601 3602<dd>The entire recipient localpart. </dd> 3603 3604<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt> 3605 3606<dd>The address extension delimiter that was found in the recipient 3607address (Postfix 2.11 and later), or the system-wide recipient 3608address extension delimiter (Postfix 2.10 and earlier). </dd> 3609 3610<dt><b>${name?value}</b></dt> 3611 3612<dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd> 3613 3614<dt><b>${name:value}</b></dt> 3615 3616<dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd> 3617 3618</dl> 3619 3620<p> 3621Instead of $name you can also specify ${name} or $(name). 3622</p> 3623 3624<p> 3625Examples: 3626</p> 3627 3628<pre> 3629<a href="postconf.5.html#forward_path">forward_path</a> = /var/forward/$user 3630<a href="postconf.5.html#forward_path">forward_path</a> = 3631 /var/forward/$user/.forward$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>$extension, 3632 /var/forward/$user/.forward 3633</pre> 3634 3635 3636</DD> 3637 3638<DT><b><a name="frozen_delivered_to">frozen_delivered_to</a> 3639(default: yes)</b></DT><DD> 3640 3641<p> Update the <a href="local.8.html">local(8)</a> delivery agent's idea of the Delivered-To: 3642address (see <a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a>) only once, at the start of 3643a delivery attempt; do not update the Delivered-To: address while 3644expanding aliases or .forward files. </p> 3645 3646<p> This feature is available in Postfix 2.3 and later. With older 3647Postfix releases, the behavior is as if this parameter is set to 3648"no". The old setting can be expensive with deeply nested aliases 3649or .forward files. When an alias or .forward file changes the 3650Delivered-To: address, it ties up one queue file and one cleanup 3651process instance while mail is being forwarded. </p> 3652 3653 3654</DD> 3655 3656<DT><b><a name="hash_queue_depth">hash_queue_depth</a> 3657(default: 1)</b></DT><DD> 3658 3659<p> 3660The number of subdirectory levels for queue directories listed with 3661the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> parameter. Queue hashing is implemented by 3662creating one or more levels of directories with one-character names. 3663Originally, these directory names were equal to the first characters 3664of the queue file name, with the hexadecimal representation of the 3665file creation time in microseconds. </p> 3666 3667<p> With long queue file names, queue hashing produces the same 3668results as with short names. The file creation time in microseconds 3669is converted into hexadecimal form before the result is used for 3670queue hashing. The base 16 encoding gives finer control over the 3671number of subdirectories than is possible with the base 52 encoding 3672of long queue file names. </p> 3673 3674<p> 3675After changing the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> or <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> parameter, 3676execute the command "<b>postfix reload</b>". 3677</p> 3678 3679 3680</DD> 3681 3682<DT><b><a name="hash_queue_names">hash_queue_names</a> 3683(default: deferred, defer)</b></DT><DD> 3684 3685<p> 3686The names of queue directories that are split across multiple 3687subdirectory levels. 3688</p> 3689 3690<p> Before Postfix version 2.2, the default list of hashed queues 3691was significantly larger. Claims about improvements in file system 3692technology suggest that hashing of the <a href="QSHAPE_README.html#incoming_queue">incoming</a> and <a href="QSHAPE_README.html#active_queue">active queues</a> 3693is no longer needed. Fewer hashed directories speed up the time 3694needed to restart Postfix. </p> 3695 3696<p> 3697After changing the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> or <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> parameter, 3698execute the command "<b>postfix reload</b>". 3699</p> 3700 3701 3702</DD> 3703 3704<DT><b><a name="header_address_token_limit">header_address_token_limit</a> 3705(default: 10240)</b></DT><DD> 3706 3707<p> 3708The maximal number of address tokens are allowed in an address 3709message header. Information that exceeds the limit is discarded. 3710The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a> server. 3711</p> 3712 3713 3714</DD> 3715 3716<DT><b><a name="header_checks">header_checks</a> 3717(default: empty)</b></DT><DD> 3718 3719<p> 3720Optional lookup tables for content inspection of primary non-MIME 3721message headers, as specified in the <a href="header_checks.5.html">header_checks(5)</a> manual page. 3722</p> 3723 3724 3725</DD> 3726 3727<DT><b><a name="header_from_format">header_from_format</a> 3728(default: standard)</b></DT><DD> 3729 3730<p> The format of the Postfix-generated <b>From:</b> header. This 3731setting affects the appearance of 'full name' information when a 3732local program such as /bin/mail submits a message without From: 3733header through the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. </p> 3734 3735<p> Specify one of the following: </p> 3736 3737<dl> 3738 3739<dt><b>standard</b> (default)</dt> <dd> Produce a header formatted 3740as "<b>From:</b> <i>name</i><b> <</b><i>address</i><b>></b>". 3741This is the default as of Postfix 3.3.</dd> 3742 3743<dt><b>obsolete</b></dt> <dd>Produce a header formatted as "<b>From:</b> 3744<i>address</i> <b>(</b><i>name</i><b>)</b>". This is the behavior 3745prior to Postfix 3.3. </dd> 3746 3747</dl> 3748 3749<p> Notes: </p> 3750 3751<ul> 3752 3753<li> <p> Postfix generates the format "<b>From:</b> <i>address</i>" 3754when <i>name</i> information is unavailable or the envelope sender 3755address is empty. This is the same behavior as prior to Postfix 37563.3. </p> 3757 3758<li> <p> In the <b>standard</b> form, the <i>name</i> will be quoted 3759if it contains <b>specials</b> as defined in <a href="http://tools.ietf.org/html/rfc5322">RFC 5322</a>, or the "!%" 3760address operators. </p> 3761 3762<li> <p> The Postfix <a href="sendmail.1.html">sendmail(1)</a> command gets <i>name</i> information 3763from the <b>-F</b> command-line option, from the <b>NAME</b> 3764environment variable, or from the UNIX password file. </p> 3765 3766</ul> 3767 3768<p> This feature is available in Postfix 3.3 and later. </p> 3769 3770 3771</DD> 3772 3773<DT><b><a name="header_size_limit">header_size_limit</a> 3774(default: 102400)</b></DT><DD> 3775 3776<p> 3777The maximal amount of memory in bytes for storing a message header. 3778If a header is larger, the excess is discarded. The limit is 3779enforced by the <a href="cleanup.8.html">cleanup(8)</a> server. 3780</p> 3781 3782 3783</DD> 3784 3785<DT><b><a name="helpful_warnings">helpful_warnings</a> 3786(default: yes)</b></DT><DD> 3787 3788<p> 3789Log warnings about problematic configuration settings, and provide 3790helpful suggestions. 3791</p> 3792 3793<p> 3794This feature is available in Postfix 2.0 and later. 3795</p> 3796 3797 3798</DD> 3799 3800<DT><b><a name="home_mailbox">home_mailbox</a> 3801(default: empty)</b></DT><DD> 3802 3803<p> 3804Optional pathname of a mailbox file relative to a <a href="local.8.html">local(8)</a> user's 3805home directory. 3806</p> 3807 3808<p> 3809Specify a pathname ending in "/" for qmail-style delivery. 3810</p> 3811 3812<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 3813is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>, 3814<a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>, 3815<a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p> 3816 3817<p> 3818Examples: 3819</p> 3820 3821<pre> 3822<a href="postconf.5.html#home_mailbox">home_mailbox</a> = Mailbox 3823<a href="postconf.5.html#home_mailbox">home_mailbox</a> = Maildir/ 3824</pre> 3825 3826 3827</DD> 3828 3829<DT><b><a name="hopcount_limit">hopcount_limit</a> 3830(default: 50)</b></DT><DD> 3831 3832<p> 3833The maximal number of Received: message headers that is allowed 3834in the primary message headers. A message that exceeds the limit 3835is bounced, in order to stop a mailer loop. 3836</p> 3837 3838 3839</DD> 3840 3841<DT><b><a name="html_directory">html_directory</a> 3842(default: see "postconf -d" output)</b></DT><DD> 3843 3844<p> 3845The location of Postfix HTML files that describe how to build, 3846configure or operate a specific Postfix subsystem or feature. 3847</p> 3848 3849 3850</DD> 3851 3852<DT><b><a name="ignore_mx_lookup_error">ignore_mx_lookup_error</a> 3853(default: no)</b></DT><DD> 3854 3855<p> Ignore DNS MX lookups that produce no response. By default, 3856the Postfix SMTP client defers delivery and tries again after some 3857delay. This behavior is required by the SMTP standard. </p> 3858 3859<p> 3860Specify "<a href="postconf.5.html#ignore_mx_lookup_error">ignore_mx_lookup_error</a> = yes" to force a DNS A record 3861lookup instead. This violates the SMTP standard and can result in 3862mis-delivery of mail. 3863</p> 3864 3865 3866</DD> 3867 3868<DT><b><a name="import_environment">import_environment</a> 3869(default: see "postconf -d" output)</b></DT><DD> 3870 3871<p> The list of environment parameters that a privileged Postfix 3872process will import from a non-Postfix parent process, or name=value 3873environment overrides. Unprivileged utilities will enforce the 3874name=value overrides, but otherwise will not change their process 3875environment. Examples of relevant parameters: </p> 3876 3877<dl> 3878 3879<dt><b>TZ</b></dt> 3880 3881<dd>May be needed for sane time keeping on most System-V-ish systems. 3882</dd> 3883 3884<dt><b>DISPLAY</b></dt> 3885 3886<dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd> 3887 3888<dt><b>XAUTHORITY</b></dt> 3889 3890<dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd> 3891 3892<dt><b>MAIL_CONFIG</b></dt> 3893 3894<dd>Needed to make "<b>postfix -c</b>" work. </dd> 3895 3896</dl> 3897 3898<p> Specify a list of names and/or name=value pairs, separated by 3899whitespace or comma. Specify "{ name=value }" to protect whitespace 3900or comma in parameter values (whitespace after the opening "{" and 3901before the closing "}" 3902is ignored). The form name=value is supported with Postfix version 39032.1 and later; the use of {} is supported with Postfix 3.0 and 3904later. </p> 3905 3906 3907</DD> 3908 3909<DT><b><a name="in_flow_delay">in_flow_delay</a> 3910(default: 1s)</b></DT><DD> 3911 3912<p> Time to pause before accepting a new message, when the message 3913arrival rate exceeds the message delivery rate. This feature is 3914turned on by default (it's disabled on SCO UNIX due to an SCO bug). 3915</p> 3916 3917<p> 3918With the default 100 Postfix SMTP server process limit, "<a href="postconf.5.html#in_flow_delay">in_flow_delay</a> 3919= 1s" limits the mail inflow to 100 messages per second above the 3920number of messages delivered per second. 3921</p> 3922 3923<p> 3924Specify 0 to disable the feature. Valid delays are 0..10. 3925</p> 3926 3927 3928</DD> 3929 3930<DT><b><a name="inet_interfaces">inet_interfaces</a> 3931(default: all)</b></DT><DD> 3932 3933<p> The network interface addresses that this mail system receives 3934mail on. Specify "all" to receive mail on all network 3935interfaces (default), and "loopback-only" to receive mail 3936on loopback network interfaces only (Postfix version 2.2 and later). The 3937parameter also controls delivery of mail to <tt>user@[ip.address]</tt>. 3938</p> 3939 3940<p> 3941Note 1: you need to stop and start Postfix when this parameter changes. 3942</p> 3943 3944<p> Note 2: address information may be enclosed inside <tt>[]</tt>, 3945but this form is not required here. </p> 3946 3947<p> When <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies just one IPv4 and/or IPv6 address 3948that is not a loopback address, the Postfix SMTP client will use 3949this address as the IP source address for outbound mail. Support 3950for IPv6 is available in Postfix version 2.2 and later. </p> 3951 3952<p> 3953On a multi-homed firewall with separate Postfix instances listening on the 3954"inside" and "outside" interfaces, this can prevent each instance from 3955being able to reach remote SMTP servers on the "other side" of the 3956firewall. Setting 3957<a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> to 0.0.0.0 avoids the potential problem for 3958IPv4, and setting <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> to :: solves the problem 3959for IPv6. </p> 3960 3961<p> 3962A better solution for multi-homed firewalls is to leave <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> 3963at the default value and instead use explicit IP addresses in 3964the <a href="master.5.html">master.cf</a> SMTP server definitions. This preserves the Postfix 3965SMTP client's 3966loop detection, by ensuring that each side of the firewall knows that the 3967other IP address is still the same host. Setting $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> to a 3968single IPv4 and/or IPV6 address is primarily useful with virtual 3969hosting of domains on 3970secondary IP addresses, when each IP address serves a different domain 3971(and has a different $<a href="postconf.5.html#myhostname">myhostname</a> setting). </p> 3972 3973<p> 3974See also the <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> parameter, for network addresses that 3975are forwarded to Postfix by way of a proxy or address translator. 3976</p> 3977 3978<p> 3979Examples: 3980</p> 3981 3982<pre> 3983<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = all (DEFAULT) 3984<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback-only (Postfix version 2.2 and later) 3985<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1 3986<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1, [::1] (Postfix version 2.2 and later) 3987<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 192.168.1.2, 127.0.0.1 3988</pre> 3989 3990 3991</DD> 3992 3993<DT><b><a name="inet_protocols">inet_protocols</a> 3994(default: all)</b></DT><DD> 3995 3996<p> The Internet protocols Postfix will attempt to use when making 3997or accepting connections. Specify one or more of "ipv4" 3998or "ipv6", separated by whitespace or commas. The form 3999"all" is equivalent to "ipv4, ipv6" or "ipv4", depending 4000on whether the operating system implements IPv6. </p> 4001 4002<p> With Postfix 2.8 and earlier the default is "ipv4". For backwards 4003compatibility with these releases, the Postfix 2.9 and later upgrade 4004procedure appends an explicit "<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4" setting to 4005<a href="postconf.5.html">main.cf</a> when no explicit setting is present. This compatibility 4006workaround will be phased out as IPv6 deployment becomes more common. 4007</p> 4008 4009<p> This feature is available in Postfix 2.2 and later. </p> 4010 4011<p> Note: you MUST stop and start Postfix after changing this 4012parameter. </p> 4013 4014<p> On systems that pre-date IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>), an 4015IPv6 server will also accept IPv4 connections, even when IPv4 is 4016turned off with the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter. On systems with 4017IPV6_V6ONLY support, Postfix will use separate server sockets for 4018IPv6 and IPv4, and each will accept only connections for the 4019corresponding protocol. </p> 4020 4021<p> When IPv4 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter, 4022Postfix will look up DNS type A records, and will convert 4023IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original 4024IPv4 form (1.2.3.4). The latter is needed on hosts that pre-date 4025IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>). </p> 4026 4027<p> When IPv6 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter, 4028Postfix will do DNS type AAAA record lookups. </p> 4029 4030<p> When both IPv4 and IPv6 support are enabled, the Postfix SMTP 4031client will choose the protocol as specified with the 4032<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> parameter. Postfix versions before 2.8 4033attempt to connect via IPv6 before attempting to use IPv4. </p> 4034 4035<p> 4036Examples: 4037</p> 4038 4039<pre> 4040<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4 4041<a href="postconf.5.html#inet_protocols">inet_protocols</a> = all (DEFAULT) 4042<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv6 4043<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4, ipv6 4044</pre> 4045 4046 4047</DD> 4048 4049<DT><b><a name="info_log_address_format">info_log_address_format</a> 4050(default: external)</b></DT><DD> 4051 4052<p> The email address form that will be used in non-debug logging 4053(info, warning, etc.). As of Postfix 3.5 when an address localpart 4054contains spaces or other special characters, the localpart will be 4055quoted, for example: </p> 4056 4057<blockquote> 4058<pre> 4059 from=<"name with spaces"@example.com> 4060</pre> 4061</blockquote> 4062 4063<p> Older Postfix versions would log the internal (unquoted) form: </p> 4064 4065<blockquote> 4066<pre> 4067 from=<name with spaces@example.com> 4068</pre> 4069</blockquote> 4070 4071<p> The external and internal forms are identical for the vast 4072majority of email addresses that contain no spaces or other special 4073characters in the localpart. </p> 4074 4075<p> The logging in external form is consistent with the address 4076form that Postfix 3.2 and later prefer for most table lookups. This 4077is therefore the more useful form for non-debug logging. </p> 4078 4079<p> Specify "<b>info_log_address_format = internal</b>" for backwards 4080compatibility. </p> 4081 4082<p> Postfix uses the unquoted form internally, because an attacker 4083can specify an email address in different forms by playing games 4084with quotes and backslashes. An attacker should not be able to use 4085such games to circumvent Postfix access policies. </p> 4086 4087<p> This feature is available in Postfix 3.5 and later. </p> 4088 4089 4090</DD> 4091 4092<DT><b><a name="initial_destination_concurrency">initial_destination_concurrency</a> 4093(default: 5)</b></DT><DD> 4094 4095<p> 4096The initial per-destination concurrency level for parallel delivery 4097to the same destination. 4098With per-destination recipient limit > 1, a destination is a domain, 4099otherwise it is a recipient. 4100</p> 4101 4102<p> Use <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> to specify 4103a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a> 4104name of the message delivery transport (Postfix 2.5 and later). </p> 4105 4106<p> 4107Warning: with concurrency of 1, one bad message can be enough to 4108block all mail to a site. 4109</p> 4110 4111 4112</DD> 4113 4114<DT><b><a name="internal_mail_filter_classes">internal_mail_filter_classes</a> 4115(default: empty)</b></DT><DD> 4116 4117<p> What categories of Postfix-generated mail are subject to 4118before-queue content inspection by <a href="postconf.5.html#non_smtpd_milters">non_smtpd_milters</a>, <a href="postconf.5.html#header_checks">header_checks</a> 4119and <a href="postconf.5.html#body_checks">body_checks</a>. Specify zero or more of the following, separated 4120by whitespace or comma. </p> 4121 4122<dl> 4123 4124<dt><b>bounce</b></dt> <dd> Inspect the content of delivery 4125status notifications. </dd> 4126 4127<dt><b>notify</b></dt> <dd> Inspect the content of postmaster 4128notifications by the <a href="smtp.8.html">smtp(8)</a> and <a href="smtpd.8.html">smtpd(8)</a> processes. </dd> 4129 4130</dl> 4131 4132<p> NOTE: It's generally not safe to enable content inspection of 4133Postfix-generated email messages. The user is warned. </p> 4134 4135<p> This feature is available in Postfix 2.3 and later. </p> 4136 4137 4138</DD> 4139 4140<DT><b><a name="invalid_hostname_reject_code">invalid_hostname_reject_code</a> 4141(default: 501)</b></DT><DD> 4142 4143<p> 4144The numerical Postfix SMTP server response code when the client 4145HELO or EHLO command parameter is rejected by the <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> 4146restriction. 4147</p> 4148 4149<p> 4150Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 4151</p> 4152 4153 4154</DD> 4155 4156<DT><b><a name="ipc_idle">ipc_idle</a> 4157(default: version dependent)</b></DT><DD> 4158 4159<p> 4160The time after which a client closes an idle internal communication 4161channel. The purpose is to allow Postfix daemon processes to 4162terminate voluntarily after they become idle. This is used, for 4163example, by the Postfix address resolving and rewriting clients. 4164</p> 4165 4166<p> With Postfix 2.4 the default value was reduced from 100s to 5s. </p> 4167 4168<p> 4169Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 4170The default time unit is s (seconds). 4171</p> 4172 4173 4174</DD> 4175 4176<DT><b><a name="ipc_timeout">ipc_timeout</a> 4177(default: 3600s)</b></DT><DD> 4178 4179<p> 4180The time limit for sending or receiving information over an internal 4181communication channel. The purpose is to break out of deadlock 4182situations. If the time limit is exceeded the software aborts with a 4183fatal error. 4184</p> 4185 4186<p> 4187Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 4188The default time unit is s (seconds). 4189</p> 4190 4191 4192</DD> 4193 4194<DT><b><a name="ipc_ttl">ipc_ttl</a> 4195(default: 1000s)</b></DT><DD> 4196 4197<p> 4198The time after which a client closes an active internal communication 4199channel. The purpose is to allow Postfix daemon processes to 4200terminate voluntarily 4201after reaching their client limit. This is used, for example, by 4202the Postfix address resolving and rewriting clients. 4203</p> 4204 4205<p> 4206Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 4207The default time unit is s (seconds). 4208</p> 4209 4210<p> 4211This feature is available in Postfix 2.1 and later. 4212</p> 4213 4214 4215</DD> 4216 4217<DT><b><a name="line_length_limit">line_length_limit</a> 4218(default: 2048)</b></DT><DD> 4219 4220<p> Upon input, long lines are chopped up into pieces of at most 4221this length; upon delivery, long lines are reconstructed. </p> 4222 4223 4224</DD> 4225 4226<DT><b><a name="lmdb_map_size">lmdb_map_size</a> 4227(default: 16777216)</b></DT><DD> 4228 4229<p> 4230The initial OpenLDAP LMDB database size limit in bytes. Each time 4231a database becomes full, its size limit is doubled. 4232</p> 4233 4234<p> 4235This feature is available in Postfix 2.11 and later. 4236</p> 4237 4238 4239</DD> 4240 4241<DT><b><a name="lmtp_address_preference">lmtp_address_preference</a> 4242(default: ipv6)</b></DT><DD> 4243 4244<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> 4245configuration parameter. See there for details. </p> 4246 4247<p> This feature is available in Postfix 2.8 and later. </p> 4248 4249 4250</DD> 4251 4252<DT><b><a name="lmtp_address_verify_target">lmtp_address_verify_target</a> 4253(default: rcpt)</b></DT><DD> 4254 4255<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a> 4256configuration parameter. See there for details. </p> 4257 4258<p> This feature is available in Postfix 3.0 and later. </p> 4259 4260 4261</DD> 4262 4263<DT><b><a name="lmtp_assume_final">lmtp_assume_final</a> 4264(default: no)</b></DT><DD> 4265 4266<p> When a remote LMTP server announces no DSN support, assume that 4267the 4268server performs final delivery, and send "delivered" delivery status 4269notifications instead of "relayed". The default setting is backwards 4270compatible to avoid the infinitesimal possibility of breaking 4271existing LMTP-based content filters. </p> 4272 4273 4274</DD> 4275 4276<DT><b><a name="lmtp_balance_inet_protocols">lmtp_balance_inet_protocols</a> 4277(default: yes)</b></DT><DD> 4278 4279<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_balance_inet_protocols">smtp_balance_inet_protocols</a> 4280configuration parameter. See there for details. </p> 4281 4282<p> This feature is available in Postfix 3.3 and later. </p> 4283 4284 4285</DD> 4286 4287<DT><b><a name="lmtp_bind_address">lmtp_bind_address</a> 4288(default: empty)</b></DT><DD> 4289 4290<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> configuration 4291parameter. See there for details. </p> 4292 4293<p> This feature is available in Postfix 2.3 and later. </p> 4294 4295 4296</DD> 4297 4298<DT><b><a name="lmtp_bind_address6">lmtp_bind_address6</a> 4299(default: empty)</b></DT><DD> 4300 4301<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> configuration 4302parameter. See there for details. </p> 4303 4304<p> This feature is available in Postfix 2.3 and later. </p> 4305 4306 4307</DD> 4308 4309<DT><b><a name="lmtp_body_checks">lmtp_body_checks</a> 4310(default: empty)</b></DT><DD> 4311 4312<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_body_checks">smtp_body_checks</a> configuration 4313parameter. See there for details. </p> 4314 4315<p> This feature is available in Postfix 2.5 and later. </p> 4316 4317 4318</DD> 4319 4320<DT><b><a name="lmtp_cache_connection">lmtp_cache_connection</a> 4321(default: yes)</b></DT><DD> 4322 4323<p> 4324Keep Postfix LMTP client connections open for up to $<a href="postconf.5.html#max_idle">max_idle</a> 4325seconds. When the LMTP client receives a request for the same 4326connection the connection is reused. 4327</p> 4328 4329<p> This parameter is available in Postfix version 2.2 and earlier. 4330With Postfix version 2.3 and later, see <a href="postconf.5.html#lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>, 4331<a href="postconf.5.html#lmtp_connection_cache_destinations">lmtp_connection_cache_destinations</a>, or <a href="postconf.5.html#lmtp_connection_reuse_time_limit">lmtp_connection_reuse_time_limit</a>. 4332</p> 4333 4334<p> 4335The effectiveness of cached connections will be determined by the 4336number of remote LMTP servers in use, and the concurrency limit specified 4337for the Postfix LMTP client. Cached connections are closed under any of 4338the following conditions: 4339</p> 4340 4341<ul> 4342 4343<li> The Postfix LMTP client idle time limit is reached. This limit is 4344specified with the Postfix <a href="postconf.5.html#max_idle">max_idle</a> configuration parameter. 4345 4346<li> A delivery request specifies a different destination than the 4347one currently cached. 4348 4349<li> The per-process limit on the number of delivery requests is 4350reached. This limit is specified with the Postfix <a href="postconf.5.html#max_use">max_use</a> 4351configuration parameter. 4352 4353<li> Upon the onset of another delivery request, the remote LMTP server 4354associated with the current session does not respond to the RSET 4355command. 4356 4357</ul> 4358 4359<p> 4360Most of these limitations have been with the Postfix 4361a connection cache that is shared among multiple LMTP client 4362programs. 4363</p> 4364 4365 4366</DD> 4367 4368<DT><b><a name="lmtp_cname_overrides_servername">lmtp_cname_overrides_servername</a> 4369(default: yes)</b></DT><DD> 4370 4371<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_cname_overrides_servername">smtp_cname_overrides_servername</a> 4372configuration parameter. See there for details. </p> 4373 4374<p> This feature is available in Postfix 2.3 and later. </p> 4375 4376 4377</DD> 4378 4379<DT><b><a name="lmtp_connect_timeout">lmtp_connect_timeout</a> 4380(default: 0s)</b></DT><DD> 4381 4382<p> The Postfix LMTP client time limit for completing a TCP connection, or 4383zero (use the operating system built-in time limit). When no 4384connection can be made within the deadline, the LMTP client tries 4385the next address on the mail exchanger list. </p> 4386 4387<p> 4388Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 4389The default time unit is s (seconds). 4390</p> 4391 4392<p> 4393Example: 4394</p> 4395 4396<pre> 4397<a href="postconf.5.html#lmtp_connect_timeout">lmtp_connect_timeout</a> = 30s 4398</pre> 4399 4400 4401</DD> 4402 4403<DT><b><a name="lmtp_connection_cache_destinations">lmtp_connection_cache_destinations</a> 4404(default: empty)</b></DT><DD> 4405 4406<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_destinations">smtp_connection_cache_destinations</a> 4407configuration parameter. See there for details. </p> 4408 4409<p> This feature is available in Postfix 2.3 and later. </p> 4410 4411 4412</DD> 4413 4414<DT><b><a name="lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a> 4415(default: yes)</b></DT><DD> 4416 4417<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a> 4418configuration parameter. See there for details. </p> 4419 4420<p> This feature is available in Postfix 2.3 and later. </p> 4421 4422 4423</DD> 4424 4425<DT><b><a name="lmtp_connection_cache_time_limit">lmtp_connection_cache_time_limit</a> 4426(default: 2s)</b></DT><DD> 4427 4428<p> The LMTP-specific version of the 4429<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> configuration parameter. 4430See there for details. </p> 4431 4432<p> This feature is available in Postfix 2.3 and later. </p> 4433 4434 4435</DD> 4436 4437<DT><b><a name="lmtp_connection_reuse_count_limit">lmtp_connection_reuse_count_limit</a> 4438(default: 0)</b></DT><DD> 4439 4440<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a> 4441configuration parameter. See there for details. </p> 4442 4443<p> This feature is available in Postfix 2.11 and later. </p> 4444 4445 4446</DD> 4447 4448<DT><b><a name="lmtp_connection_reuse_time_limit">lmtp_connection_reuse_time_limit</a> 4449(default: 300s)</b></DT><DD> 4450 4451<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> 4452configuration parameter. See there for details. </p> 4453 4454<p> This feature is available in Postfix 2.3 and later. </p> 4455 4456 4457</DD> 4458 4459<DT><b><a name="lmtp_data_done_timeout">lmtp_data_done_timeout</a> 4460(default: 600s)</b></DT><DD> 4461 4462<p> The Postfix LMTP client time limit for sending the LMTP ".", 4463and for receiving the remote LMTP server response. When no response 4464is received within the deadline, a warning is logged that the mail 4465may be delivered multiple times. </p> 4466 4467<p> 4468Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 4469The default time unit is s (seconds). 4470</p> 4471 4472 4473</DD> 4474 4475<DT><b><a name="lmtp_data_init_timeout">lmtp_data_init_timeout</a> 4476(default: 120s)</b></DT><DD> 4477 4478<p> 4479The Postfix LMTP client time limit for sending the LMTP DATA command, 4480and 4481for receiving the remote LMTP server response. 4482</p> 4483 4484<p> 4485Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 4486The default time unit is s (seconds). 4487</p> 4488 4489 4490</DD> 4491 4492<DT><b><a name="lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a> 4493(default: 180s)</b></DT><DD> 4494 4495<p> 4496The Postfix LMTP client time limit for sending the LMTP message 4497content. 4498When the connection stalls for more than $<a href="postconf.5.html#lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a> 4499the LMTP client terminates the transfer. 4500</p> 4501 4502<p> 4503Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 4504The default time unit is s (seconds). 4505</p> 4506 4507 4508</DD> 4509 4510<DT><b><a name="lmtp_defer_if_no_mx_address_found">lmtp_defer_if_no_mx_address_found</a> 4511(default: no)</b></DT><DD> 4512 4513<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_defer_if_no_mx_address_found">smtp_defer_if_no_mx_address_found</a> 4514configuration parameter. See there for details. </p> 4515 4516<p> This feature is available in Postfix 2.3 and later. </p> 4517 4518 4519</DD> 4520 4521<DT><b><a name="lmtp_delivery_status_filter">lmtp_delivery_status_filter</a> 4522(default: empty)</b></DT><DD> 4523 4524<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a> 4525configuration parameter. See there for details. </p> 4526 4527<p> This feature is available in Postfix 3.0 and later. </p> 4528 4529 4530</DD> 4531 4532<DT><b><a name="lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a> 4533(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD> 4534 4535<p> The maximal number of parallel deliveries to the same destination 4536via the lmtp message delivery transport. This limit is enforced by 4537the queue manager. The message delivery transport name is the first 4538field in the entry in the <a href="master.5.html">master.cf</a> file. </p> 4539 4540 4541</DD> 4542 4543<DT><b><a name="lmtp_destination_recipient_limit">lmtp_destination_recipient_limit</a> 4544(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD> 4545 4546<p> The maximal number of recipients per message for the lmtp 4547message delivery transport. This limit is enforced by the queue 4548manager. The message delivery transport name is the first field in 4549the entry in the <a href="master.5.html">master.cf</a> file. </p> 4550 4551<p> Setting this parameter to a value of 1 changes the meaning of 4552<a href="postconf.5.html#lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a> from concurrency per domain into 4553concurrency per recipient. </p> 4554 4555 4556</DD> 4557 4558<DT><b><a name="lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a> 4559(default: empty)</b></DT><DD> 4560 4561<p> Lookup tables, indexed by the remote LMTP server address, with 4562case insensitive lists of LHLO keywords (pipelining, starttls, 4563auth, etc.) that the Postfix LMTP client will ignore in the LHLO 4564response 4565from a remote LMTP server. See <a href="postconf.5.html#lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a> for 4566details. The table is not indexed by hostname for consistency with 4567<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p> 4568 4569<p> This feature is available in Postfix 2.3 and later. </p> 4570 4571 4572</DD> 4573 4574<DT><b><a name="lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a> 4575(default: empty)</b></DT><DD> 4576 4577<p> A case insensitive list of LHLO keywords (pipelining, starttls, 4578auth, etc.) that the Postfix LMTP client will ignore in the LHLO 4579response 4580from a remote LMTP server. </p> 4581 4582<p> This feature is available in Postfix 2.3 and later. </p> 4583 4584<p> Notes: </p> 4585 4586<ul> 4587 4588<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent 4589this action from being logged. </p> 4590 4591<li> <p> Use the <a href="postconf.5.html#lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a> feature to 4592discard LHLO keywords selectively. </p> 4593 4594</ul> 4595 4596 4597</DD> 4598 4599<DT><b><a name="lmtp_dns_reply_filter">lmtp_dns_reply_filter</a> 4600(default: empty)</b></DT><DD> 4601 4602<p> Optional filter for Postfix LMTP client DNS lookup results. 4603See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example. </p> 4604 4605<p> This feature is available in Postfix 3.0 and later. </p> 4606 4607 4608</DD> 4609 4610<DT><b><a name="lmtp_dns_resolver_options">lmtp_dns_resolver_options</a> 4611(default: empty)</b></DT><DD> 4612 4613<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_resolver_options">smtp_dns_resolver_options</a> 4614configuration parameter. See there for details. </p> 4615 4616<p> This feature is available in Postfix 2.8 and later. </p> 4617 4618 4619</DD> 4620 4621<DT><b><a name="lmtp_dns_support_level">lmtp_dns_support_level</a> 4622(default: empty)</b></DT><DD> 4623 4624<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> 4625configuration parameter. See there for details. </p> 4626 4627<p> This feature is available in Postfix 2.11 and later. </p> 4628 4629 4630</DD> 4631 4632<DT><b><a name="lmtp_enforce_tls">lmtp_enforce_tls</a> 4633(default: no)</b></DT><DD> 4634 4635<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> configuration 4636parameter. See there for details. </p> 4637 4638<p> This feature is available in Postfix 2.3 and later. </p> 4639 4640 4641</DD> 4642 4643<DT><b><a name="lmtp_fallback_relay">lmtp_fallback_relay</a> 4644(default: empty)</b></DT><DD> 4645 4646<p> Optional list of relay hosts for LMTP destinations that can't be 4647found or that are unreachable. In <a href="postconf.5.html">main.cf</a> elements are separated by 4648whitespace or commas. </p> 4649 4650<p> By default, mail is returned to the sender when a destination is not 4651found, and delivery is deferred when a destination is unreachable. </p> 4652 4653<p> The fallback relays must be TCP destinations, specified without 4654a leading "inet:" prefix. Specify a host or host:port. Since MX 4655lookups do not apply with LMTP, there is no need to use the "[host]" or 4656"[host]:port" forms. If you specify multiple LMTP destinations, Postfix 4657will try them in the specified order. </p> 4658 4659<p> 4660This feature is available in Postfix 3.1 and later. 4661</p> 4662 4663 4664</DD> 4665 4666<DT><b><a name="lmtp_generic_maps">lmtp_generic_maps</a> 4667(default: empty)</b></DT><DD> 4668 4669<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_generic_maps">smtp_generic_maps</a> configuration 4670parameter. See there for details. </p> 4671 4672<p> This feature is available in Postfix 2.3 and later. </p> 4673 4674 4675</DD> 4676 4677<DT><b><a name="lmtp_header_checks">lmtp_header_checks</a> 4678(default: empty)</b></DT><DD> 4679 4680<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_header_checks">smtp_header_checks</a> configuration 4681parameter. See there for details. </p> 4682 4683<p> This feature is available in Postfix 2.5 and later. </p> 4684 4685 4686</DD> 4687 4688<DT><b><a name="lmtp_host_lookup">lmtp_host_lookup</a> 4689(default: dns)</b></DT><DD> 4690 4691<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a> configuration 4692parameter. See there for details. </p> 4693 4694<p> This feature is available in Postfix 2.3 and later. </p> 4695 4696 4697</DD> 4698 4699<DT><b><a name="lmtp_lhlo_name">lmtp_lhlo_name</a> 4700(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD> 4701 4702<p> 4703The hostname to send in the LMTP LHLO command. 4704</p> 4705 4706<p> 4707The default value is the machine hostname. Specify a hostname or 4708[ip.add.re.ss]. 4709</p> 4710 4711<p> 4712This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all LMTP 4713clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific 4714client, for example: 4715</p> 4716 4717<blockquote> 4718<pre> 4719/etc/postfix/<a href="master.5.html">master.cf</a>: 4720 mylmtp ... lmtp -o <a href="postconf.5.html#lmtp_lhlo_name">lmtp_lhlo_name</a>=foo.bar.com 4721</pre> 4722</blockquote> 4723 4724<p> 4725This feature is available in Postfix 2.3 and later. 4726</p> 4727 4728 4729</DD> 4730 4731<DT><b><a name="lmtp_lhlo_timeout">lmtp_lhlo_timeout</a> 4732(default: 300s)</b></DT><DD> 4733 4734<p> The Postfix LMTP client time limit for sending the LHLO command, 4735and for receiving the initial remote LMTP server response. </p> 4736 4737<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 4738(weeks). The default time unit is s (seconds). </p> 4739 4740 4741</DD> 4742 4743<DT><b><a name="lmtp_line_length_limit">lmtp_line_length_limit</a> 4744(default: 990)</b></DT><DD> 4745 4746<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_line_length_limit">smtp_line_length_limit</a> 4747configuration parameter. See there for details. </p> 4748 4749<p> This feature is available in Postfix 2.3 and later. </p> 4750 4751 4752</DD> 4753 4754<DT><b><a name="lmtp_mail_timeout">lmtp_mail_timeout</a> 4755(default: 300s)</b></DT><DD> 4756 4757<p> 4758The Postfix LMTP client time limit for sending the MAIL FROM command, 4759and for receiving the remote LMTP server response. 4760</p> 4761 4762<p> 4763Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 4764The default time unit is s (seconds). 4765</p> 4766 4767 4768</DD> 4769 4770<DT><b><a name="lmtp_mime_header_checks">lmtp_mime_header_checks</a> 4771(default: empty)</b></DT><DD> 4772 4773<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mime_header_checks">smtp_mime_header_checks</a> 4774configuration parameter. See there for details. </p> 4775 4776<p> This feature is available in Postfix 2.5 and later. </p> 4777 4778 4779</DD> 4780 4781<DT><b><a name="lmtp_mx_address_limit">lmtp_mx_address_limit</a> 4782(default: 5)</b></DT><DD> 4783 4784<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a> configuration 4785parameter. See there for details. </p> 4786 4787<p> This feature is available in Postfix 2.3 and later. </p> 4788 4789 4790</DD> 4791 4792<DT><b><a name="lmtp_mx_session_limit">lmtp_mx_session_limit</a> 4793(default: 2)</b></DT><DD> 4794 4795<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_session_limit">smtp_mx_session_limit</a> configuration 4796parameter. See there for details. </p> 4797 4798<p> This feature is available in Postfix 2.3 and later. </p> 4799 4800 4801</DD> 4802 4803<DT><b><a name="lmtp_nested_header_checks">lmtp_nested_header_checks</a> 4804(default: empty)</b></DT><DD> 4805 4806<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_nested_header_checks">smtp_nested_header_checks</a> 4807configuration parameter. See there for details. </p> 4808 4809<p> This feature is available in Postfix 2.5 and later. </p> 4810 4811 4812</DD> 4813 4814<DT><b><a name="lmtp_per_record_deadline">lmtp_per_record_deadline</a> 4815(default: no)</b></DT><DD> 4816 4817<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a> 4818configuration parameter. See there for details. </p> 4819 4820<p> This feature is available in Postfix 2.9 and later. </p> 4821 4822 4823</DD> 4824 4825<DT><b><a name="lmtp_pix_workaround_delay_time">lmtp_pix_workaround_delay_time</a> 4826(default: 10s)</b></DT><DD> 4827 4828<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> 4829configuration parameter. See there for details. </p> 4830 4831<p> This feature is available in Postfix 2.3 and later. </p> 4832 4833 4834</DD> 4835 4836<DT><b><a name="lmtp_pix_workaround_maps">lmtp_pix_workaround_maps</a> 4837(default: empty)</b></DT><DD> 4838 4839<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> 4840configuration parameter. See there for details. </p> 4841 4842<p> This feature is available in Postfix 2.4 and later. </p> 4843 4844 4845</DD> 4846 4847<DT><b><a name="lmtp_pix_workaround_threshold_time">lmtp_pix_workaround_threshold_time</a> 4848(default: 500s)</b></DT><DD> 4849 4850<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> 4851configuration parameter. See there for details. </p> 4852 4853<p> This feature is available in Postfix 2.3 and later. </p> 4854 4855 4856</DD> 4857 4858<DT><b><a name="lmtp_pix_workarounds">lmtp_pix_workarounds</a> 4859(default: empty)</b></DT><DD> 4860 4861<p> The LMTP-specific version of the smtp_pix_workaround 4862configuration parameter. See there for details. </p> 4863 4864<p> This feature is available in Postfix 2.4 and later. </p> 4865 4866 4867</DD> 4868 4869<DT><b><a name="lmtp_quit_timeout">lmtp_quit_timeout</a> 4870(default: 300s)</b></DT><DD> 4871 4872<p> 4873The Postfix LMTP client time limit for sending the QUIT command, 4874and for receiving the remote LMTP server response. 4875</p> 4876 4877<p> 4878Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 4879The default time unit is s (seconds). 4880</p> 4881 4882 4883</DD> 4884 4885<DT><b><a name="lmtp_quote_rfc821_envelope">lmtp_quote_rfc821_envelope</a> 4886(default: yes)</b></DT><DD> 4887 4888<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a> 4889configuration parameter. See there for details. </p> 4890 4891<p> This feature is available in Postfix 2.3 and later. </p> 4892 4893 4894</DD> 4895 4896<DT><b><a name="lmtp_randomize_addresses">lmtp_randomize_addresses</a> 4897(default: yes)</b></DT><DD> 4898 4899<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_randomize_addresses">smtp_randomize_addresses</a> 4900configuration parameter. See there for details. </p> 4901 4902<p> This feature is available in Postfix 2.3 and later. </p> 4903 4904 4905</DD> 4906 4907<DT><b><a name="lmtp_rcpt_timeout">lmtp_rcpt_timeout</a> 4908(default: 300s)</b></DT><DD> 4909 4910<p> 4911The Postfix LMTP client time limit for sending the RCPT TO command, 4912and for receiving the remote LMTP server response. 4913</p> 4914 4915<p> 4916Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 4917The default time unit is s (seconds). 4918</p> 4919 4920 4921</DD> 4922 4923<DT><b><a name="lmtp_reply_filter">lmtp_reply_filter</a> 4924(default: empty)</b></DT><DD> 4925 4926<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> 4927configuration parameter. See there for details. </p> 4928 4929<p> This feature is available in Postfix 2.7 and later. </p> 4930 4931 4932</DD> 4933 4934<DT><b><a name="lmtp_rset_timeout">lmtp_rset_timeout</a> 4935(default: 20s)</b></DT><DD> 4936 4937<p> The Postfix LMTP client time limit for sending the RSET command, 4938and for receiving the remote LMTP server response. The LMTP client 4939sends RSET in 4940order to finish a recipient address probe, or to verify that a 4941cached connection is still alive. </p> 4942 4943<p> 4944Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 4945The default time unit is s (seconds). 4946</p> 4947 4948 4949</DD> 4950 4951<DT><b><a name="lmtp_sasl_auth_cache_name">lmtp_sasl_auth_cache_name</a> 4952(default: empty)</b></DT><DD> 4953 4954<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> 4955configuration parameter. See there for details. </p> 4956 4957<p> This feature is available in Postfix 2.5 and later. </p> 4958 4959 4960</DD> 4961 4962<DT><b><a name="lmtp_sasl_auth_cache_time">lmtp_sasl_auth_cache_time</a> 4963(default: 90d)</b></DT><DD> 4964 4965<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a> 4966configuration parameter. See there for details. </p> 4967 4968<p> This feature is available in Postfix 2.5 and later. </p> 4969 4970 4971</DD> 4972 4973<DT><b><a name="lmtp_sasl_auth_enable">lmtp_sasl_auth_enable</a> 4974(default: no)</b></DT><DD> 4975 4976<p> 4977Enable SASL authentication in the Postfix LMTP client. 4978</p> 4979 4980 4981</DD> 4982 4983<DT><b><a name="lmtp_sasl_auth_soft_bounce">lmtp_sasl_auth_soft_bounce</a> 4984(default: yes)</b></DT><DD> 4985 4986<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> 4987configuration parameter. See there for details. </p> 4988 4989<p> This feature is available in Postfix 2.5 and later. </p> 4990 4991 4992</DD> 4993 4994<DT><b><a name="lmtp_sasl_mechanism_filter">lmtp_sasl_mechanism_filter</a> 4995(default: empty)</b></DT><DD> 4996 4997<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> 4998configuration parameter. See there for details. </p> 4999 5000<p> This feature is available in Postfix 2.3 and later. </p> 5001 5002 5003</DD> 5004 5005<DT><b><a name="lmtp_sasl_password_maps">lmtp_sasl_password_maps</a> 5006(default: empty)</b></DT><DD> 5007 5008<p> 5009Optional Postfix LMTP client lookup tables with one username:password entry 5010per host or domain. If a remote host or domain has no username:password 5011entry, then the Postfix LMTP client will not attempt to authenticate 5012to the remote host. 5013</p> 5014 5015 5016</DD> 5017 5018<DT><b><a name="lmtp_sasl_path">lmtp_sasl_path</a> 5019(default: empty)</b></DT><DD> 5020 5021<p> Implementation-specific information that is passed through to 5022the SASL plug-in implementation that is selected with 5023<b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>. Typically this specifies the name of a 5024configuration file or rendezvous point. </p> 5025 5026<p> This feature is available in Postfix 2.3 and later. </p> 5027 5028 5029</DD> 5030 5031<DT><b><a name="lmtp_sasl_security_options">lmtp_sasl_security_options</a> 5032(default: noplaintext, noanonymous)</b></DT><DD> 5033 5034<p> SASL security options; as of Postfix 2.3 the list of available 5035features depends on the SASL client implementation that is selected 5036with <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>. </p> 5037 5038<p> The following security features are defined for the <b>cyrus</b> 5039client SASL implementation: </p> 5040 5041<dl> 5042 5043<dt><b>noplaintext</b></dt> 5044 5045<dd>Disallow authentication methods that use plaintext passwords. </dd> 5046 5047<dt><b>noactive</b></dt> 5048 5049<dd>Disallow authentication methods that are vulnerable to non-dictionary 5050active attacks. </dd> 5051 5052<dt><b>nodictionary</b></dt> 5053 5054<dd>Disallow authentication methods that are vulnerable to passive 5055dictionary attack. </dd> 5056 5057<dt><b>noanonymous</b></dt> 5058 5059<dd>Disallow anonymous logins. </dd> 5060 5061</dl> 5062 5063<p> 5064Example: 5065</p> 5066 5067<pre> 5068<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a> = noplaintext 5069</pre> 5070 5071 5072</DD> 5073 5074<DT><b><a name="lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a> 5075(default: $<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a>)</b></DT><DD> 5076 5077<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a> 5078configuration parameter. See there for details. </p> 5079 5080<p> This feature is available in Postfix 2.3 and later. </p> 5081 5082 5083</DD> 5084 5085<DT><b><a name="lmtp_sasl_tls_verified_security_options">lmtp_sasl_tls_verified_security_options</a> 5086(default: $<a href="postconf.5.html#lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>)</b></DT><DD> 5087 5088<p> The LMTP-specific version of the 5089<a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> configuration parameter. 5090See there for details. </p> 5091 5092<p> This feature is available in Postfix 2.3 and later. </p> 5093 5094 5095</DD> 5096 5097<DT><b><a name="lmtp_sasl_type">lmtp_sasl_type</a> 5098(default: cyrus)</b></DT><DD> 5099 5100<p> The SASL plug-in type that the Postfix LMTP client should use 5101for authentication. The available types are listed with the 5102"<b>postconf -A</b>" command. </p> 5103 5104<p> This feature is available in Postfix 2.3 and later. </p> 5105 5106 5107</DD> 5108 5109<DT><b><a name="lmtp_send_dummy_mail_auth">lmtp_send_dummy_mail_auth</a> 5110(default: no)</b></DT><DD> 5111 5112<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a> 5113configuration parameter. See there for details. </p> 5114 5115<p> This feature is available in Postfix 2.9 and later. </p> 5116 5117 5118</DD> 5119 5120<DT><b><a name="lmtp_send_xforward_command">lmtp_send_xforward_command</a> 5121(default: no)</b></DT><DD> 5122 5123<p> 5124Send an XFORWARD command to the remote LMTP server when the LMTP LHLO 5125server response announces XFORWARD support. This allows an <a href="lmtp.8.html">lmtp(8)</a> 5126delivery agent, used for content filter message injection, to 5127forward the name, address, protocol and HELO name of the original 5128client to the content filter and downstream queuing LMTP server. 5129Before you change the value to yes, it is best to make sure that 5130your content filter supports this command. 5131</p> 5132 5133<p> 5134This feature is available in Postfix 2.1 and later. 5135</p> 5136 5137 5138</DD> 5139 5140<DT><b><a name="lmtp_sender_dependent_authentication">lmtp_sender_dependent_authentication</a> 5141(default: no)</b></DT><DD> 5142 5143<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a> 5144configuration parameter. See there for details. </p> 5145 5146<p> This feature is available in Postfix 2.3 and later. </p> 5147 5148 5149</DD> 5150 5151<DT><b><a name="lmtp_skip_5xx_greeting">lmtp_skip_5xx_greeting</a> 5152(default: yes)</b></DT><DD> 5153 5154<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> 5155configuration parameter. See there for details. </p> 5156 5157<p> This feature is available in Postfix 2.3 and later. </p> 5158 5159 5160</DD> 5161 5162<DT><b><a name="lmtp_skip_quit_response">lmtp_skip_quit_response</a> 5163(default: no)</b></DT><DD> 5164 5165<p> 5166Wait for the response to the LMTP QUIT command. 5167</p> 5168 5169 5170</DD> 5171 5172<DT><b><a name="lmtp_starttls_timeout">lmtp_starttls_timeout</a> 5173(default: 300s)</b></DT><DD> 5174 5175<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_starttls_timeout">smtp_starttls_timeout</a> configuration 5176parameter. See there for details. </p> 5177 5178<p> This feature is available in Postfix 2.3 and later. </p> 5179 5180 5181</DD> 5182 5183<DT><b><a name="lmtp_tcp_port">lmtp_tcp_port</a> 5184(default: 24)</b></DT><DD> 5185 5186<p> 5187The default TCP port that the Postfix LMTP client connects to. 5188Specify a symbolic name (see services(5)) or a numeric port. 5189</p> 5190 5191 5192</DD> 5193 5194<DT><b><a name="lmtp_tls_CAfile">lmtp_tls_CAfile</a> 5195(default: empty)</b></DT><DD> 5196 5197<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> 5198configuration parameter. See there for details. </p> 5199 5200<p> This feature is available in Postfix 2.3 and later. </p> 5201 5202 5203</DD> 5204 5205<DT><b><a name="lmtp_tls_CApath">lmtp_tls_CApath</a> 5206(default: empty)</b></DT><DD> 5207 5208<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> 5209configuration parameter. See there for details. </p> 5210 5211<p> This feature is available in Postfix 2.3 and later. </p> 5212 5213 5214</DD> 5215 5216<DT><b><a name="lmtp_tls_block_early_mail_reply">lmtp_tls_block_early_mail_reply</a> 5217(default: empty)</b></DT><DD> 5218 5219<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a> 5220configuration parameter. See there for details. </p> 5221 5222<p> This feature is available in Postfix 2.7 and later. </p> 5223 5224 5225</DD> 5226 5227<DT><b><a name="lmtp_tls_cert_file">lmtp_tls_cert_file</a> 5228(default: empty)</b></DT><DD> 5229 5230<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> 5231configuration parameter. See there for details. </p> 5232 5233<p> This feature is available in Postfix 2.3 and later. </p> 5234 5235 5236</DD> 5237 5238<DT><b><a name="lmtp_tls_chain_files">lmtp_tls_chain_files</a> 5239(default: empty)</b></DT><DD> 5240 5241<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> configuration 5242parameter. See there for details. </p> 5243 5244<p> This feature is available in Postfix 3.4 and later. </p> 5245 5246 5247</DD> 5248 5249<DT><b><a name="lmtp_tls_ciphers">lmtp_tls_ciphers</a> 5250(default: medium)</b></DT><DD> 5251 5252<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> configuration 5253parameter. See there for details. </p> 5254 5255<p> This feature is available in Postfix 2.6 and later. </p> 5256 5257 5258</DD> 5259 5260<DT><b><a name="lmtp_tls_connection_reuse">lmtp_tls_connection_reuse</a> 5261(default: no)</b></DT><DD> 5262 5263<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> configuration 5264parameter. See there for details. </p> 5265 5266<p> This feature is available in Postfix 3.4 and later. </p> 5267 5268 5269</DD> 5270 5271<DT><b><a name="lmtp_tls_dcert_file">lmtp_tls_dcert_file</a> 5272(default: empty)</b></DT><DD> 5273 5274<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> 5275configuration parameter. See there for details. </p> 5276 5277<p> This feature is available in Postfix 2.3 and later. </p> 5278 5279 5280</DD> 5281 5282<DT><b><a name="lmtp_tls_dkey_file">lmtp_tls_dkey_file</a> 5283(default: $<a href="postconf.5.html#lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>)</b></DT><DD> 5284 5285<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> 5286configuration parameter. See there for details. </p> 5287 5288<p> This feature is available in Postfix 2.3 and later. </p> 5289 5290 5291</DD> 5292 5293<DT><b><a name="lmtp_tls_eccert_file">lmtp_tls_eccert_file</a> 5294(default: empty)</b></DT><DD> 5295 5296<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> configuration 5297parameter. See there for details. </p> 5298 5299<p> This feature is available in Postfix 2.6 and later, when Postfix is 5300compiled and linked with OpenSSL 1.0.0 or later. </p> 5301 5302 5303</DD> 5304 5305<DT><b><a name="lmtp_tls_eckey_file">lmtp_tls_eckey_file</a> 5306(default: empty)</b></DT><DD> 5307 5308<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> configuration 5309parameter. See there for details. </p> 5310 5311<p> This feature is available in Postfix 2.6 and later, when Postfix is 5312compiled and linked with OpenSSL 1.0.0 or later. </p> 5313 5314 5315</DD> 5316 5317<DT><b><a name="lmtp_tls_enforce_peername">lmtp_tls_enforce_peername</a> 5318(default: yes)</b></DT><DD> 5319 5320<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> 5321configuration parameter. See there for details. </p> 5322 5323<p> This feature is available in Postfix 2.3 and later. </p> 5324 5325 5326</DD> 5327 5328<DT><b><a name="lmtp_tls_exclude_ciphers">lmtp_tls_exclude_ciphers</a> 5329(default: empty)</b></DT><DD> 5330 5331<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> 5332configuration parameter. See there for details. </p> 5333 5334<p> This feature is available in Postfix 2.3 and later. </p> 5335 5336 5337</DD> 5338 5339<DT><b><a name="lmtp_tls_fingerprint_cert_match">lmtp_tls_fingerprint_cert_match</a> 5340(default: empty)</b></DT><DD> 5341 5342<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> 5343configuration parameter. See there for details. </p> 5344 5345<p> This feature is available in Postfix 2.5 and later. </p> 5346 5347 5348</DD> 5349 5350<DT><b><a name="lmtp_tls_fingerprint_digest">lmtp_tls_fingerprint_digest</a> 5351(default: md5)</b></DT><DD> 5352 5353<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> 5354configuration parameter. See there for details. </p> 5355 5356<p> This feature is available in Postfix 2.5 and later. </p> 5357 5358 5359</DD> 5360 5361<DT><b><a name="lmtp_tls_force_insecure_host_tlsa_lookup">lmtp_tls_force_insecure_host_tlsa_lookup</a> 5362(default: no)</b></DT><DD> 5363 5364<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a> 5365configuration parameter. See there for details. </p> 5366 5367<p> This feature is available in Postfix 2.11 and later. </p> 5368 5369 5370</DD> 5371 5372<DT><b><a name="lmtp_tls_key_file">lmtp_tls_key_file</a> 5373(default: $<a href="postconf.5.html#lmtp_tls_cert_file">lmtp_tls_cert_file</a>)</b></DT><DD> 5374 5375<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> 5376configuration parameter. See there for details. </p> 5377 5378<p> This feature is available in Postfix 2.3 and later. </p> 5379 5380 5381</DD> 5382 5383<DT><b><a name="lmtp_tls_loglevel">lmtp_tls_loglevel</a> 5384(default: 0)</b></DT><DD> 5385 5386<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> 5387configuration parameter. See there for details. </p> 5388 5389<p> This feature is available in Postfix 2.3 and later. </p> 5390 5391 5392</DD> 5393 5394<DT><b><a name="lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a> 5395(default: medium)</b></DT><DD> 5396 5397<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> 5398configuration parameter. See there for details. </p> 5399 5400<p> This feature is available in Postfix 2.3 and later. </p> 5401 5402 5403</DD> 5404 5405<DT><b><a name="lmtp_tls_mandatory_exclude_ciphers">lmtp_tls_mandatory_exclude_ciphers</a> 5406(default: empty)</b></DT><DD> 5407 5408<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> 5409configuration parameter. See there for details. </p> 5410 5411<p> This feature is available in Postfix 2.3 and later. </p> 5412 5413 5414</DD> 5415 5416<DT><b><a name="lmtp_tls_mandatory_protocols">lmtp_tls_mandatory_protocols</a> 5417(default: !SSLv2, !SSLv3)</b></DT><DD> 5418 5419<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> 5420configuration parameter. See there for details. </p> 5421 5422<p> This feature is available in Postfix 2.3 and later. </p> 5423 5424 5425</DD> 5426 5427<DT><b><a name="lmtp_tls_note_starttls_offer">lmtp_tls_note_starttls_offer</a> 5428(default: no)</b></DT><DD> 5429 5430<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a> 5431configuration parameter. See there for details. </p> 5432 5433<p> This feature is available in Postfix 2.3 and later. </p> 5434 5435 5436</DD> 5437 5438<DT><b><a name="lmtp_tls_per_site">lmtp_tls_per_site</a> 5439(default: empty)</b></DT><DD> 5440 5441<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> configuration 5442parameter. See there for details. </p> 5443 5444<p> This feature is available in Postfix 2.3 and later. </p> 5445 5446 5447</DD> 5448 5449<DT><b><a name="lmtp_tls_policy_maps">lmtp_tls_policy_maps</a> 5450(default: empty)</b></DT><DD> 5451 5452<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> 5453configuration parameter. See there for details. </p> 5454 5455<p> This feature is available in Postfix 2.3 and later. </p> 5456 5457 5458</DD> 5459 5460<DT><b><a name="lmtp_tls_protocols">lmtp_tls_protocols</a> 5461(default: !SSLv2, !SSLv3)</b></DT><DD> 5462 5463<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> configuration 5464parameter. See there for details. </p> 5465 5466<p> This feature is available in Postfix 2.6 and later. </p> 5467 5468 5469</DD> 5470 5471<DT><b><a name="lmtp_tls_scert_verifydepth">lmtp_tls_scert_verifydepth</a> 5472(default: 9)</b></DT><DD> 5473 5474<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a> 5475configuration parameter. See there for details. </p> 5476 5477<p> This feature is available in Postfix 2.3 and later. </p> 5478 5479 5480</DD> 5481 5482<DT><b><a name="lmtp_tls_secure_cert_match">lmtp_tls_secure_cert_match</a> 5483(default: nexthop)</b></DT><DD> 5484 5485<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> 5486configuration parameter. See there for details. </p> 5487 5488<p> This feature is available in Postfix 2.3 and later. </p> 5489 5490 5491</DD> 5492 5493<DT><b><a name="lmtp_tls_security_level">lmtp_tls_security_level</a> 5494(default: empty)</b></DT><DD> 5495 5496<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> configuration 5497parameter. See there for details. </p> 5498 5499<p> This feature is available in Postfix 2.3 and later. </p> 5500 5501 5502</DD> 5503 5504<DT><b><a name="lmtp_tls_servername">lmtp_tls_servername</a> 5505(default: empty)</b></DT><DD> 5506 5507<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_servername">smtp_tls_servername</a> configuration 5508parameter. See there for details. </p> 5509 5510<p> This feature is available in Postfix 3.4 and later. </p> 5511 5512 5513</DD> 5514 5515<DT><b><a name="lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a> 5516(default: empty)</b></DT><DD> 5517 5518<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> 5519configuration parameter. See there for details. </p> 5520 5521<p> This feature is available in Postfix 2.3 and later. </p> 5522 5523 5524</DD> 5525 5526<DT><b><a name="lmtp_tls_session_cache_timeout">lmtp_tls_session_cache_timeout</a> 5527(default: 3600s)</b></DT><DD> 5528 5529<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> 5530configuration parameter. See there for details. </p> 5531 5532<p> This feature is available in Postfix 2.3 and later. </p> 5533 5534 5535</DD> 5536 5537<DT><b><a name="lmtp_tls_trust_anchor_file">lmtp_tls_trust_anchor_file</a> 5538(default: empty)</b></DT><DD> 5539 5540<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a> 5541configuration parameter. See there for details. </p> 5542 5543<p> This feature is available in Postfix 2.11 and later. </p> 5544 5545 5546</DD> 5547 5548<DT><b><a name="lmtp_tls_verify_cert_match">lmtp_tls_verify_cert_match</a> 5549(default: hostname)</b></DT><DD> 5550 5551<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> 5552configuration parameter. See there for details. </p> 5553 5554<p> This feature is available in Postfix 2.3 and later. </p> 5555 5556 5557</DD> 5558 5559<DT><b><a name="lmtp_use_tls">lmtp_use_tls</a> 5560(default: no)</b></DT><DD> 5561 5562<p> The LMTP-specific version of the <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> configuration 5563parameter. See there for details. </p> 5564 5565<p> This feature is available in Postfix 2.3 and later. </p> 5566 5567 5568</DD> 5569 5570<DT><b><a name="lmtp_xforward_timeout">lmtp_xforward_timeout</a> 5571(default: 300s)</b></DT><DD> 5572 5573<p> 5574The Postfix LMTP client time limit for sending the XFORWARD command, 5575and for receiving the remote LMTP server response. 5576</p> 5577 5578<p> 5579In case of problems the client does NOT try the next address on 5580the mail exchanger list. 5581</p> 5582 5583<p> 5584Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 5585The default time unit is s (seconds). 5586</p> 5587 5588<p> 5589This feature is available in Postfix 2.1 and later. 5590</p> 5591 5592 5593</DD> 5594 5595<DT><b><a name="local_command_shell">local_command_shell</a> 5596(default: empty)</b></DT><DD> 5597 5598<p> 5599Optional shell program for <a href="local.8.html">local(8)</a> delivery to non-Postfix command. 5600By default, non-Postfix commands are executed directly; commands 5601are given to given to the default shell (typically, /bin/sh) only 5602when they contain shell meta characters or shell built-in commands. 5603</p> 5604 5605<p> "sendmail's restricted shell" (smrsh) is what most people will 5606use in order to restrict what programs can be run from e.g. .forward 5607files (smrsh is part of the Sendmail distribution). </p> 5608 5609<p> Note: when a shell program is specified, it is invoked even 5610when the command contains no shell built-in commands or meta 5611characters. </p> 5612 5613<p> 5614Example: 5615</p> 5616 5617<pre> 5618<a href="postconf.5.html#local_command_shell">local_command_shell</a> = /some/where/smrsh -c 5619<a href="postconf.5.html#local_command_shell">local_command_shell</a> = /bin/bash -c 5620</pre> 5621 5622 5623</DD> 5624 5625<DT><b><a name="local_delivery_status_filter">local_delivery_status_filter</a> 5626(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD> 5627 5628<p> Optional filter for the <a href="local.8.html">local(8)</a> delivery agent to change the 5629status code or explanatory text of successful or unsuccessful 5630deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p> 5631 5632<p> This feature is available in Postfix 3.0 and later. </p> 5633 5634 5635</DD> 5636 5637<DT><b><a name="local_destination_concurrency_limit">local_destination_concurrency_limit</a> 5638(default: 2)</b></DT><DD> 5639 5640<p> The maximal number of parallel deliveries via the local mail 5641delivery transport to the same recipient (when 5642"<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> = 1") or the maximal number of 5643parallel deliveries to the same <a href="ADDRESS_CLASS_README.html#local_domain_class">local domain</a> (when 5644"<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> > 1"). This limit is enforced by 5645the queue manager. The message delivery transport name is the first 5646field in the entry in the <a href="master.5.html">master.cf</a> file. </p> 5647 5648<p> A low limit of 2 is recommended, just in case someone has an 5649expensive shell command in a .forward file or in an alias (e.g., 5650a mailing list manager). You don't want to run lots of those at 5651the same time. </p> 5652 5653 5654</DD> 5655 5656<DT><b><a name="local_destination_recipient_limit">local_destination_recipient_limit</a> 5657(default: 1)</b></DT><DD> 5658 5659<p> The maximal number of recipients per message delivery via the 5660local mail delivery transport. This limit is enforced by the queue 5661manager. The message delivery transport name is the first field in 5662the entry in the <a href="master.5.html">master.cf</a> file. </p> 5663 5664<p> Setting this parameter to a value > 1 changes the meaning of 5665<a href="postconf.5.html#local_destination_concurrency_limit">local_destination_concurrency_limit</a> from concurrency per recipient 5666into concurrency per domain. </p> 5667 5668 5669</DD> 5670 5671<DT><b><a name="local_header_rewrite_clients">local_header_rewrite_clients</a> 5672(default: <a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a>)</b></DT><DD> 5673 5674<p> Rewrite message header addresses in mail from these clients and 5675update incomplete addresses with the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or 5676$<a href="postconf.5.html#mydomain">mydomain</a>; either don't rewrite message headers from other clients 5677at all, or rewrite message headers and update incomplete addresses 5678with the domain specified in the <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> 5679parameter. </p> 5680 5681<p> See the <a href="postconf.5.html#append_at_myorigin">append_at_myorigin</a> and <a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a> parameters 5682for details of how domain names are appended to incomplete addresses. 5683</p> 5684 5685<p> Specify a list of zero or more of the following: </p> 5686 5687<dl> 5688 5689<dt><b><a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a></b></dt> 5690 5691<dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the 5692client IP address matches $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. This is enabled by 5693default. </dd> 5694 5695<dt><b><a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a></b></dt> 5696 5697<dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the 5698client IP address matches any network or network address listed in 5699$<a href="postconf.5.html#mynetworks">mynetworks</a>. This setting will not prevent remote mail header 5700address rewriting when mail from a remote client is forwarded by 5701a neighboring system. </dd> 5702 5703<dt><b><a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> </b></dt> 5704 5705<dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the 5706client is successfully authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH) 5707protocol. </dd> 5708 5709<dt><b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> </b></dt> 5710 5711<dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the 5712remote SMTP client TLS certificate fingerprint or public key fingerprint 5713(Postfix 2.9 and later) is listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>. 5714The fingerprint digest algorithm is configurable via the 5715<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to 5716Postfix version 2.5). </dd> 5717 5718<dt><b><a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a> </b></dt> 5719 5720<dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the 5721remote SMTP client TLS certificate is successfully verified, regardless of 5722whether it is listed on the server, and regardless of the certifying 5723authority. </dd> 5724 5725<dt><b><a name="check_address_map">check_address_map</a> <i><a href="DATABASE_README.html">type:table</a></i> </b></dt> 5726 5727<dt><b><i><a href="DATABASE_README.html">type:table</a></i> </b></dt> 5728 5729<dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the 5730client IP address matches the specified lookup table. 5731The lookup result is ignored, and no subnet lookup is done. This 5732is suitable for, e.g., pop-before-smtp lookup tables. </dd> 5733 5734</dl> 5735 5736<p> Examples: </p> 5737 5738<p> The Postfix < 2.2 backwards compatible setting: always rewrite 5739message headers, and always append my own domain to incomplete 5740header addresses. </p> 5741 5742<blockquote> 5743<pre> 5744<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all 5745</pre> 5746</blockquote> 5747 5748<p> The purist (and default) setting: rewrite headers only in mail 5749from Postfix sendmail and in SMTP mail from this machine. </p> 5750 5751<blockquote> 5752<pre> 5753<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a> 5754</pre> 5755</blockquote> 5756 5757<p> The intermediate setting: rewrite header addresses and append 5758$<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> information only with mail from Postfix 5759sendmail, from local clients, or from authorized SMTP clients. </p> 5760 5761<p> Note: this setting will not prevent remote mail header address 5762rewriting when mail from a remote client is forwarded by a neighboring 5763system. </p> 5764 5765<blockquote> 5766<pre> 5767<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, 5768 <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> 5769 <a href="postconf.5.html#check_address_map">check_address_map</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/pop-before-smtp 5770</pre> 5771</blockquote> 5772 5773 5774</DD> 5775 5776<DT><b><a name="local_recipient_maps">local_recipient_maps</a> 5777(default: <a href="proxymap.8.html">proxy</a>:unix:passwd.byname $<a href="postconf.5.html#alias_maps">alias_maps</a>)</b></DT><DD> 5778 5779<p> Lookup tables with all names or addresses of local recipients: 5780a recipient address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, 5781$<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. Specify @domain as a 5782wild-card for domains that do not have a valid recipient list. 5783Technically, tables listed with $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> are used as 5784lists: Postfix needs to know only if a lookup string is found or 5785not, but it does not use the result from table lookup. </p> 5786 5787<p> 5788Specify zero or more "type:name" lookup tables, separated by 5789whitespace or comma. Tables will be searched in the specified order 5790until a match is found. 5791</p> 5792 5793<p> 5794If this parameter is non-empty (the default), then the Postfix SMTP 5795server will reject mail for unknown local users. 5796</p> 5797 5798<p> 5799To turn off local recipient checking in the Postfix SMTP server, 5800specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty). 5801</p> 5802 5803<p> 5804The default setting assumes that you use the default Postfix local 5805delivery agent for local delivery. You need to update the 5806<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> setting if: 5807</p> 5808 5809<ul> 5810 5811<li>You redefine the local delivery agent in <a href="master.5.html">master.cf</a>. 5812 5813<li>You redefine the "<a href="postconf.5.html#local_transport">local_transport</a>" setting in <a href="postconf.5.html">main.cf</a>. 5814 5815<li>You use the "<a href="postconf.5.html#luser_relay">luser_relay</a>", "<a href="postconf.5.html#mailbox_transport">mailbox_transport</a>", or "<a href="postconf.5.html#fallback_transport">fallback_transport</a>" 5816feature of the Postfix <a href="local.8.html">local(8)</a> delivery agent. 5817 5818</ul> 5819 5820<p> 5821Details are described in the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> file. 5822</p> 5823 5824<p> 5825Beware: if the Postfix SMTP server runs chrooted, you need to access 5826the passwd file via the <a href="proxymap.8.html">proxymap(8)</a> service, in order to overcome 5827chroot access restrictions. The alternative, maintaining a copy of 5828the system password file in the chroot jail is not practical. 5829</p> 5830 5831<p> 5832Examples: 5833</p> 5834 5835<pre> 5836<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> = 5837</pre> 5838 5839 5840</DD> 5841 5842<DT><b><a name="local_transport">local_transport</a> 5843(default: <a href="local.8.html">local</a>:$<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD> 5844 5845<p> The default mail delivery transport and next-hop destination 5846for final delivery to domains listed with <a href="postconf.5.html#mydestination">mydestination</a>, and for 5847[ipaddress] destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. 5848This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. </p> 5849 5850<p> 5851By default, local mail is delivered to the transport called "local", 5852which is just the name of a service that is defined the <a href="master.5.html">master.cf</a> file. 5853</p> 5854 5855<p> 5856Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i> 5857is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>. 5858The <i>:nexthop</i> destination is optional; its syntax is documented 5859in the manual page of the corresponding delivery agent. 5860</p> 5861 5862<p> 5863Beware: if you override the default local delivery agent then you 5864need to review the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> document, otherwise the 5865SMTP server may reject mail for local recipients. 5866</p> 5867 5868 5869</DD> 5870 5871<DT><b><a name="luser_relay">luser_relay</a> 5872(default: empty)</b></DT><DD> 5873 5874<p> 5875Optional catch-all destination for unknown <a href="local.8.html">local(8)</a> recipients. 5876By default, mail for unknown recipients in domains that match 5877$<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> is returned 5878as undeliverable. 5879</p> 5880 5881<p> 5882The <a href="postconf.5.html#luser_relay">luser_relay</a> value is not subject to Postfix configuration 5883parameter $name expansion. Instead, the following $name expansions 5884are done: 5885</p> 5886 5887<dl> 5888 5889<dt><b>$domain</b></dt> 5890 5891<dd>The recipient domain. </dd> 5892 5893<dt><b>$extension</b></dt> 5894 5895<dd>The recipient address extension. </dd> 5896 5897<dt><b>$home</b></dt> 5898 5899<dd>The recipient's home directory. </dd> 5900 5901<dt><b>$local</b></dt> 5902 5903<dd>The entire recipient address localpart. </dd> 5904 5905<dt><b>$recipient</b></dt> 5906 5907<dd>The full recipient address. </dd> 5908 5909<dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt> 5910 5911<dd>The address extension delimiter that was found in the recipient 5912address (Postfix 2.11 and later), or the system-wide recipient 5913address extension delimiter (Postfix 2.10 and earlier). </dd> 5914 5915<dt><b>$shell</b></dt> 5916 5917<dd>The recipient's login shell. </dd> 5918 5919<dt><b>$user</b></dt> 5920 5921<dd>The recipient username. </dd> 5922 5923<dt><b>${name?value}</b></dt> 5924 5925<dd>Expands to <i>value</i> when <i>$name</i> has a non-empty value. </dd> 5926 5927<dt><b>${name:value}</b></dt> 5928 5929<dd>Expands to <i>value</i> when <i>$name</i> has an empty value. </dd> 5930 5931</dl> 5932 5933<p> 5934Instead of $name you can also specify ${name} or $(name). 5935</p> 5936 5937<p> 5938Note: <a href="postconf.5.html#luser_relay">luser_relay</a> works only for the Postfix <a href="local.8.html">local(8)</a> delivery agent. 5939</p> 5940 5941<p> 5942Note: if you use this feature for accounts not in the UNIX password 5943file, then you must specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty) 5944in the <a href="postconf.5.html">main.cf</a> file, otherwise the Postfix SMTP server will reject mail 5945for non-UNIX accounts with "User unknown in local recipient table". 5946</p> 5947 5948<p> 5949Examples: 5950</p> 5951 5952<pre> 5953<a href="postconf.5.html#luser_relay">luser_relay</a> = $user@other.host 5954<a href="postconf.5.html#luser_relay">luser_relay</a> = $local@other.host 5955<a href="postconf.5.html#luser_relay">luser_relay</a> = admin+$local 5956</pre> 5957 5958 5959</DD> 5960 5961<DT><b><a name="mail_name">mail_name</a> 5962(default: Postfix)</b></DT><DD> 5963 5964<p> 5965The mail system name that is displayed in Received: headers, in 5966the SMTP greeting banner, and in bounced mail. 5967</p> 5968 5969 5970</DD> 5971 5972<DT><b><a name="mail_owner">mail_owner</a> 5973(default: postfix)</b></DT><DD> 5974 5975<p> 5976The UNIX system account that owns the Postfix queue and most Postfix 5977daemon processes. Specify the name of an unprivileged user account 5978that does not share a user or group ID with other accounts, and that 5979owns no other files 5980or processes on the system. In particular, don't specify nobody 5981or daemon. PLEASE USE A DEDICATED USER ID AND GROUP ID. 5982</p> 5983 5984<p> 5985When this parameter value is changed you need to re-run "<b>postfix 5986set-permissions</b>" (with Postfix version 2.0 and earlier: 5987"<b>/etc/postfix/post-install set-permissions</b>". 5988</p> 5989 5990 5991</DD> 5992 5993<DT><b><a name="mail_release_date">mail_release_date</a> 5994(default: see "postconf -d" output)</b></DT><DD> 5995 5996<p> 5997The Postfix release date, in "YYYYMMDD" format. 5998</p> 5999 6000 6001</DD> 6002 6003<DT><b><a name="mail_spool_directory">mail_spool_directory</a> 6004(default: see "postconf -d" output)</b></DT><DD> 6005 6006<p> 6007The directory where <a href="local.8.html">local(8)</a> UNIX-style mailboxes are kept. The 6008default setting depends on the system type. Specify a name ending 6009in / for maildir-style delivery. 6010</p> 6011 6012<p> 6013Note: maildir delivery is done with the privileges of the recipient. 6014If you use the <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> setting for maildir style 6015delivery, then you must create the top-level maildir directory in 6016advance. Postfix will not create it. 6017</p> 6018 6019<p> 6020Examples: 6021</p> 6022 6023<pre> 6024<a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/mail 6025<a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/spool/mail 6026</pre> 6027 6028 6029</DD> 6030 6031<DT><b><a name="mail_version">mail_version</a> 6032(default: see "postconf -d" output)</b></DT><DD> 6033 6034<p> 6035The version of the mail system. Stable releases are named 6036<i>major</i>.<i>minor</i>.<i>patchlevel</i>. Experimental releases 6037also include the release date. The version string can be used in, 6038for example, the SMTP greeting banner. 6039</p> 6040 6041 6042</DD> 6043 6044<DT><b><a name="mailbox_command">mailbox_command</a> 6045(default: empty)</b></DT><DD> 6046 6047<p> 6048Optional external command that the <a href="local.8.html">local(8)</a> delivery agent should 6049use for mailbox delivery. The command is run with the user ID and 6050the primary group ID privileges of the recipient. Exception: 6051command delivery for root executes with $<a href="postconf.5.html#default_privs">default_privs</a> privileges. 6052This is not a problem, because 1) mail for root should always be 6053aliased to a real user and 2) don't log in as root, use "su" instead. 6054</p> 6055 6056<p> 6057The following environment variables are exported to the command: 6058</p> 6059 6060<dl> 6061 6062<dt><b>CLIENT_ADDRESS</b></dt> 6063 6064<dd>Remote client network address. Available in Postfix version 2.2 and 6065later. </dd> 6066 6067<dt><b>CLIENT_HELO</b></dt> 6068 6069<dd>Remote client EHLO command parameter. Available in Postfix version 2.2 6070and later.</dd> 6071 6072<dt><b>CLIENT_HOSTNAME</b></dt> 6073 6074<dd>Remote client hostname. Available in Postfix version 2.2 and later. 6075</dd> 6076 6077<dt><b>CLIENT_PROTOCOL</b></dt> 6078 6079<dd>Remote client protocol. Available in Postfix version 2.2 and later. 6080</dd> 6081 6082<dt><b>DOMAIN</b></dt> 6083 6084<dd>The domain part of the recipient address. </dd> 6085 6086<dt><b>EXTENSION</b></dt> 6087 6088<dd>The optional address extension. </dd> 6089 6090<dt><b>HOME</b></dt> 6091 6092<dd>The recipient home directory. </dd> 6093 6094<dt><b>LOCAL</b></dt> 6095 6096<dd>The recipient address localpart. </dd> 6097 6098<dt><b>LOGNAME</b></dt> 6099 6100<dd>The recipient's username. </dd> 6101 6102<dt><b>ORIGINAL_RECIPIENT</b></dt> 6103 6104<dd>The entire recipient address, before any address rewriting or 6105aliasing. </dd> 6106 6107<dt><b>RECIPIENT</b></dt> 6108 6109<dd>The full recipient address. </dd> 6110 6111<dt><b>SASL_METHOD</b></dt> 6112 6113<dd>SASL authentication method specified in the remote client AUTH 6114command. Available in Postfix version 2.2 and later. </dd> 6115 6116<dt><b>SASL_SENDER</b></dt> 6117 6118<dd>SASL sender address specified in the remote client MAIL FROM 6119command. Available in Postfix version 2.2 and later. </dd> 6120 6121<dt><b>SASL_USER</b></dt> 6122 6123<dd>SASL username specified in the remote client AUTH command. 6124Available in Postfix version 2.2 and later. </dd> 6125 6126<dt><b>SENDER</b></dt> 6127 6128<dd>The full sender address. </dd> 6129 6130<dt><b>SHELL</b></dt> 6131 6132<dd>The recipient's login shell. </dd> 6133 6134<dt><b>USER</b></dt> 6135 6136<dd>The recipient username. </dd> 6137 6138</dl> 6139 6140<p> 6141Unlike other Postfix configuration parameters, the <a href="postconf.5.html#mailbox_command">mailbox_command</a> 6142parameter is not subjected to $name substitutions. This is to make 6143it easier to specify shell syntax (see example below). 6144</p> 6145 6146<p> 6147If you can, avoid shell meta characters because they will force 6148Postfix to run an expensive shell process. If you're delivering 6149via "procmail" then running a shell won't make a noticeable difference 6150in the total cost. 6151</p> 6152 6153<p> 6154Note: if you use the <a href="postconf.5.html#mailbox_command">mailbox_command</a> feature to deliver mail 6155system-wide, you must set up an alias that forwards mail for root 6156to a real user. 6157</p> 6158 6159<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 6160is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>, 6161<a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>, 6162<a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p> 6163 6164<p> 6165Examples: 6166</p> 6167 6168<pre> 6169<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail 6170<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail -a "$EXTENSION" 6171<a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/maildrop -d "$USER" 6172 -f "$SENDER" "$EXTENSION" 6173</pre> 6174 6175 6176</DD> 6177 6178<DT><b><a name="mailbox_command_maps">mailbox_command_maps</a> 6179(default: empty)</b></DT><DD> 6180 6181<p> 6182Optional lookup tables with per-recipient external commands to use 6183for <a href="local.8.html">local(8)</a> mailbox delivery. Behavior is as with <a href="postconf.5.html#mailbox_command">mailbox_command</a>. 6184</p> 6185 6186<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 6187is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>, 6188<a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>, 6189<a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p> 6190 6191<p> 6192Specify zero or more "type:name" lookup tables, separated by 6193whitespace or comma. Tables will be searched in the specified order 6194until a match is found. 6195</p> 6196 6197 6198</DD> 6199 6200<DT><b><a name="mailbox_delivery_lock">mailbox_delivery_lock</a> 6201(default: see "postconf -d" output)</b></DT><DD> 6202 6203<p> 6204How to lock a UNIX-style <a href="local.8.html">local(8)</a> mailbox before attempting delivery. 6205For a list of available file locking methods, use the "<b>postconf 6206-l</b>" command. 6207</p> 6208 6209<p> 6210This setting is ignored with <b>maildir</b> style delivery, 6211because such deliveries are safe without explicit locks. 6212</p> 6213 6214<p> 6215Note: The <b>dotlock</b> method requires that the recipient UID or 6216GID has write access to the parent directory of the mailbox file. 6217</p> 6218 6219<p> 6220Note: the default setting of this parameter is system dependent. 6221</p> 6222 6223 6224</DD> 6225 6226<DT><b><a name="mailbox_size_limit">mailbox_size_limit</a> 6227(default: 51200000)</b></DT><DD> 6228 6229<p> The maximal size of any <a href="local.8.html">local(8)</a> individual mailbox or maildir 6230file, or zero (no limit). In fact, this limits the size of any 6231file that is written to upon local delivery, including files written 6232by external commands that are executed by the <a href="local.8.html">local(8)</a> delivery 6233agent. </p> 6234 6235<p> 6236This limit must not be smaller than the message size limit. 6237</p> 6238 6239 6240</DD> 6241 6242<DT><b><a name="mailbox_transport">mailbox_transport</a> 6243(default: empty)</b></DT><DD> 6244 6245<p> 6246Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery 6247agent should use for mailbox delivery to all local recipients, 6248whether or not they are found in the UNIX passwd database. 6249</p> 6250 6251<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 6252is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>, 6253<a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>, 6254<a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p> 6255 6256 6257</DD> 6258 6259<DT><b><a name="mailbox_transport_maps">mailbox_transport_maps</a> 6260(default: empty)</b></DT><DD> 6261 6262<p> Optional lookup tables with per-recipient message delivery 6263transports to use for <a href="local.8.html">local(8)</a> mailbox delivery, whether or not the 6264recipients are found in the UNIX passwd database. </p> 6265 6266<p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low 6267is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>, 6268<a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>, 6269<a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p> 6270 6271<p> 6272Specify zero or more "type:name" lookup tables, separated by 6273whitespace or comma. Tables will be searched in the specified order 6274until a match is found. 6275</p> 6276 6277<p> For safety reasons, this feature does not allow $number 6278substitutions in regular expression maps. </p> 6279 6280<p> This feature is available in Postfix 2.3 and later. </p> 6281 6282 6283</DD> 6284 6285<DT><b><a name="maillog_file">maillog_file</a> 6286(default: empty)</b></DT><DD> 6287 6288<p> The name of an optional logfile that is written by the Postfix 6289<a href="postlogd.8.html">postlogd(8)</a> service. An empty value selects logging to syslogd(8). 6290Specify "/dev/stdout" to select logging to standard output. Stdout 6291logging requires that Postfix is started with "postfix start-fg". 6292</p> 6293 6294<p> Note 1: The <a href="postconf.5.html#maillog_file">maillog_file</a> parameter value must contain a prefix 6295that is specified with the <a href="postconf.5.html#maillog_file_prefixes">maillog_file_prefixes</a> parameter. </p> 6296 6297<p> Note 2: Some Postfix non-daemon programs may still log information 6298to syslogd(8), before they have processed their configuration 6299parameters and command-line options. </p> 6300 6301<p> This feature is available in Postfix 3.4 and later. </p> 6302 6303 6304</DD> 6305 6306<DT><b><a name="maillog_file_compressor">maillog_file_compressor</a> 6307(default: gzip)</b></DT><DD> 6308 6309<p> The program to run after rotating $<a href="postconf.5.html#maillog_file">maillog_file</a> with "postfix 6310logrotate". The command is run with the rotated logfile name as its 6311first argument. </p> 6312 6313<p> This feature is available in Postfix 3.4 and later. </p> 6314 6315 6316</DD> 6317 6318<DT><b><a name="maillog_file_prefixes">maillog_file_prefixes</a> 6319(default: /var, /dev/stdout)</b></DT><DD> 6320 6321<p> A list of allowed prefixes for a <a href="postconf.5.html#maillog_file">maillog_file</a> value. This is a 6322safety feature to contain the damage from a single configuration 6323mistake. Specify one or more prefix strings, separated by comma or 6324whitespace. </p> 6325 6326<p> This feature is available in Postfix 3.4 and later. </p> 6327 6328 6329</DD> 6330 6331<DT><b><a name="maillog_file_rotate_suffix">maillog_file_rotate_suffix</a> 6332(default: %Y%M%d-%H%M%S)</b></DT><DD> 6333 6334<p> The format of the suffix to append to $<a href="postconf.5.html#maillog_file">maillog_file</a> while rotating 6335the file with "postfix logrotate". See strftime(3) for syntax. The 6336default suffix, YYYYMMDD-HHMMSS, allows logs to be rotated frequently. 6337</p> 6338 6339<p> This feature is available in Postfix 3.4 and later. </p> 6340 6341 6342</DD> 6343 6344<DT><b><a name="mailq_path">mailq_path</a> 6345(default: see "postconf -d" output)</b></DT><DD> 6346 6347<p> 6348Sendmail compatibility feature that specifies where the Postfix 6349<a href="mailq.1.html">mailq(1)</a> command is installed. This command can be used to 6350list the Postfix mail queue. 6351</p> 6352 6353 6354</DD> 6355 6356<DT><b><a name="manpage_directory">manpage_directory</a> 6357(default: see "postconf -d" output)</b></DT><DD> 6358 6359<p> 6360Where the Postfix manual pages are installed. 6361</p> 6362 6363 6364</DD> 6365 6366<DT><b><a name="maps_rbl_domains">maps_rbl_domains</a> 6367(default: empty)</b></DT><DD> 6368 6369<p> 6370Obsolete feature: use the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> feature instead. 6371</p> 6372 6373 6374</DD> 6375 6376<DT><b><a name="maps_rbl_reject_code">maps_rbl_reject_code</a> 6377(default: 554)</b></DT><DD> 6378 6379<p> 6380The numerical Postfix SMTP server response code when a remote SMTP 6381client request is blocked by the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a>, <a href="postconf.5.html#reject_rhsbl_client">reject_rhsbl_client</a>, 6382<a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a>, <a href="postconf.5.html#reject_rhsbl_sender">reject_rhsbl_sender</a> or 6383<a href="postconf.5.html#reject_rhsbl_recipient">reject_rhsbl_recipient</a> restriction. 6384</p> 6385 6386<p> 6387Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 6388</p> 6389 6390 6391</DD> 6392 6393<DT><b><a name="masquerade_classes">masquerade_classes</a> 6394(default: envelope_sender, header_sender, header_recipient)</b></DT><DD> 6395 6396<p> 6397What addresses are subject to address masquerading. 6398</p> 6399 6400<p> 6401By default, address masquerading is limited to envelope sender 6402addresses, and to header sender and header recipient addresses. 6403This allows you to use address masquerading on a mail gateway while 6404still being able to forward mail to users on individual machines. 6405</p> 6406 6407<p> 6408Specify zero or more of: envelope_sender, envelope_recipient, 6409header_sender, header_recipient 6410</p> 6411 6412 6413</DD> 6414 6415<DT><b><a name="masquerade_domains">masquerade_domains</a> 6416(default: empty)</b></DT><DD> 6417 6418<p> 6419Optional list of domains whose subdomain structure will be stripped 6420off in email addresses. 6421</p> 6422 6423<p> 6424The list is processed left to right, and processing stops at the 6425first match. Thus, 6426</p> 6427 6428<blockquote> 6429<pre> 6430<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = foo.example.com example.com 6431</pre> 6432</blockquote> 6433 6434<p> 6435strips "user@any.thing.foo.example.com" to "user@foo.example.com", 6436but strips "user@any.thing.else.example.com" to "user@example.com". 6437</p> 6438 6439<p> 6440A domain name prefixed with ! means do not masquerade this domain 6441or its subdomains. Thus, 6442</p> 6443 6444<blockquote> 6445<pre> 6446<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = !foo.example.com example.com 6447</pre> 6448</blockquote> 6449 6450<p> 6451does not change "user@any.thing.foo.example.com" or "user@foo.example.com", 6452but strips "user@any.thing.else.example.com" to "user@example.com". 6453</p> 6454 6455<p> Note: with Postfix version 2.2, message header address masquerading 6456happens only when message header address rewriting is enabled: </p> 6457 6458<ul> 6459 6460<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, 6461 6462<li> The message is received from a network client that matches 6463$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>, 6464 6465<li> The message is received from the network, and the 6466<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value. 6467 6468</ul> 6469 6470<p> To get the behavior before Postfix version 2.2, specify 6471"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p> 6472 6473<p> 6474Example: 6475</p> 6476 6477<pre> 6478<a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = $<a href="postconf.5.html#mydomain">mydomain</a> 6479</pre> 6480 6481 6482</DD> 6483 6484<DT><b><a name="masquerade_exceptions">masquerade_exceptions</a> 6485(default: empty)</b></DT><DD> 6486 6487<p> 6488Optional list of user names that are not subjected to address 6489masquerading, even when their addresses match $<a href="postconf.5.html#masquerade_domains">masquerade_domains</a>. 6490</p> 6491 6492<p> 6493By default, address masquerading makes no exceptions. 6494</p> 6495 6496<p> 6497Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns, 6498separated by commas and/or whitespace. The list is matched left to 6499right, and the search stops on the first match. A "/file/name" 6500pattern is replaced 6501by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name 6502matches a lookup key (the lookup result is ignored). Continue long 6503lines by starting the next line with whitespace. Specify "!pattern" 6504to exclude a name from the list. The form "!/file/name" is supported 6505only in Postfix version 2.4 and later. </p> 6506 6507<p> 6508Examples: 6509</p> 6510 6511<pre> 6512<a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root, mailer-daemon 6513<a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root 6514</pre> 6515 6516 6517</DD> 6518 6519<DT><b><a name="master_service_disable">master_service_disable</a> 6520(default: empty)</b></DT><DD> 6521 6522<p> Selectively disable <a href="master.8.html">master(8)</a> listener ports by service type 6523or by service name and type. Specify a list of service types 6524("inet", "unix", "fifo", or "pass") or "name/type" tuples, where 6525"name" is the first field of a <a href="master.5.html">master.cf</a> entry and "type" is a 6526service type. As with other Postfix matchlists, a search stops at 6527the first match. Specify "!pattern" to exclude a service from the 6528list. By default, all <a href="master.8.html">master(8)</a> listener ports are enabled. </p> 6529 6530<p> Note: this feature does not support "/file/name" or "<a href="DATABASE_README.html">type:table</a>" 6531patterns, nor does it support wildcards such as "*" or "all". This 6532is intentional. </p> 6533 6534<p> Examples: </p> 6535 6536<pre> 6537# With Postfix 2.6..2.10 use '.' instead of '/'. 6538# Turn on all <a href="master.8.html">master(8)</a> listener ports (the default). 6539<a href="postconf.5.html#master_service_disable">master_service_disable</a> = 6540# Turn off only the main SMTP listener port. 6541<a href="postconf.5.html#master_service_disable">master_service_disable</a> = smtp/inet 6542# Turn off all TCP/IP listener ports. 6543<a href="postconf.5.html#master_service_disable">master_service_disable</a> = inet 6544# Turn off all TCP/IP listener ports except "foo". 6545<a href="postconf.5.html#master_service_disable">master_service_disable</a> = !foo/inet, inet 6546</pre> 6547 6548<p> This feature is available in Postfix 2.6 and later. </p> 6549 6550 6551</DD> 6552 6553<DT><b><a name="max_idle">max_idle</a> 6554(default: 100s)</b></DT><DD> 6555 6556<p> 6557The maximum amount of time that an idle Postfix daemon process waits 6558for an incoming connection before terminating voluntarily. This 6559parameter 6560is ignored by the Postfix queue manager and by other long-lived 6561Postfix daemon processes. 6562</p> 6563 6564<p> 6565Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 6566The default time unit is s (seconds). 6567</p> 6568 6569 6570</DD> 6571 6572<DT><b><a name="max_use">max_use</a> 6573(default: 100)</b></DT><DD> 6574 6575<p> 6576The maximal number of incoming connections that a Postfix daemon 6577process will service before terminating voluntarily. This parameter 6578is ignored by the Postfix queue 6579manager and by other long-lived Postfix daemon processes. 6580</p> 6581 6582 6583</DD> 6584 6585<DT><b><a name="maximal_backoff_time">maximal_backoff_time</a> 6586(default: 4000s)</b></DT><DD> 6587 6588<p> 6589The maximal time between attempts to deliver a deferred message. 6590</p> 6591 6592<p> This parameter should be set to a value greater than or equal 6593to $<a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a>. See also $<a href="postconf.5.html#queue_run_delay">queue_run_delay</a>. </p> 6594 6595<p> 6596Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 6597The default time unit is s (seconds). 6598</p> 6599 6600 6601</DD> 6602 6603<DT><b><a name="maximal_queue_lifetime">maximal_queue_lifetime</a> 6604(default: 5d)</b></DT><DD> 6605 6606<p> 6607Consider a message as undeliverable, when delivery fails with a 6608temporary error, and the time in the queue has reached the 6609<a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> limit. 6610</p> 6611 6612<p> 6613Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 6614The default time unit is d (days). 6615</p> 6616 6617<p> 6618Specify 0 when mail delivery should be tried only once. 6619</p> 6620 6621 6622</DD> 6623 6624<DT><b><a name="message_drop_headers">message_drop_headers</a> 6625(default: bcc, content-length, resent-bcc, return-path)</b></DT><DD> 6626 6627<p> Names of message headers that the <a href="cleanup.8.html">cleanup(8)</a> daemon will remove 6628after applying <a href="header_checks.5.html">header_checks(5)</a> and before invoking Milter applications. 6629The default setting is compatible with Postfix < 3.0. </p> 6630 6631<p> Specify a list of header names, separated by comma or space. 6632Names are matched in a case-insensitive manner. The list of supported 6633header names is limited only by available memory. </p> 6634 6635<p> This feature is available in Postfix 3.0 and later. </p> 6636 6637 6638</DD> 6639 6640<DT><b><a name="message_reject_characters">message_reject_characters</a> 6641(default: empty)</b></DT><DD> 6642 6643<p> The set of characters that Postfix will reject in message 6644content. The usual C-like escape sequences are recognized: <tt>\a 6645\b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and 6646<tt>\\</tt>. </p> 6647 6648<p> Note 1: this feature does not recognize text that requires MIME 6649decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a> 6650and <a href="postconf.5.html#body_checks">body_checks</a>. </p> 6651 6652<p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a> 6653= <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>". </p> 6654 6655<p> Example: </p> 6656 6657<pre> 6658<a href="postconf.5.html#message_reject_characters">message_reject_characters</a> = \0 6659</pre> 6660 6661<p> This feature is available in Postfix 2.3 and later. </p> 6662 6663 6664</DD> 6665 6666<DT><b><a name="message_size_limit">message_size_limit</a> 6667(default: 10240000)</b></DT><DD> 6668 6669<p> 6670The maximal size in bytes of a message, including envelope information. 6671</p> 6672 6673<p> Note: be careful when making changes. Excessively small values 6674will result in the loss of non-delivery notifications, when a bounce 6675message size exceeds the local or remote MTA's message size limit. 6676</p> 6677 6678 6679</DD> 6680 6681<DT><b><a name="message_strip_characters">message_strip_characters</a> 6682(default: empty)</b></DT><DD> 6683 6684<p> The set of characters that Postfix will remove from message 6685content. The usual C-like escape sequences are recognized: <tt>\a 6686\b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and 6687<tt>\\</tt>. </p> 6688 6689<p> Note 1: this feature does not recognize text that requires MIME 6690decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a> 6691and <a href="postconf.5.html#body_checks">body_checks</a>. </p> 6692 6693<p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a> 6694= <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>". </p> 6695 6696<p> Example: </p> 6697 6698<pre> 6699<a href="postconf.5.html#message_strip_characters">message_strip_characters</a> = \0 6700</pre> 6701 6702<p> This feature is available in Postfix 2.3 and later. </p> 6703 6704 6705</DD> 6706 6707<DT><b><a name="meta_directory">meta_directory</a> 6708(default: see 'postconf -d' output)</b></DT><DD> 6709 6710<p> The location of non-executable files that are shared among 6711multiple Postfix instances, such as postfix-files, dynamicmaps.cf, 6712and the multi-instance template files <a href="postconf.5.html">main.cf</a>.proto and <a href="master.5.html">master.cf</a>.proto. 6713This directory should contain only Postfix-related files. Typically, 6714the <a href="postconf.5.html#meta_directory">meta_directory</a> parameter has the same default as the <a href="postconf.5.html#config_directory">config_directory</a> 6715parameter (/etc/postfix or /usr/local/etc/postfix). </p> 6716 6717<p> For backwards compatibility with Postfix versions 2.6..2.11, 6718specify "<a href="postconf.5.html#meta_directory">meta_directory</a> = $<a href="postconf.5.html#daemon_directory">daemon_directory</a>" in <a href="postconf.5.html">main.cf</a> before 6719installing or upgrading Postfix, or specify "<a href="postconf.5.html#meta_directory">meta_directory</a> = 6720/path/name" on the "make makefiles", "make install" or "make upgrade" 6721command line. </p> 6722 6723<p> This feature is available in Postfix 3.0 and later. </p> 6724 6725 6726</DD> 6727 6728<DT><b><a name="milter_command_timeout">milter_command_timeout</a> 6729(default: 30s)</b></DT><DD> 6730 6731<p> The time limit for sending an SMTP command to a Milter (mail 6732filter) application, and for receiving the response. </p> 6733 6734<p> Specify a non-zero time value (an integral value plus an optional 6735one-letter suffix that specifies the time unit). </p> 6736 6737<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 6738(weeks). The default time unit is s (seconds). </p> 6739 6740<p> This feature is available in Postfix 2.3 and later. </p> 6741 6742 6743</DD> 6744 6745<DT><b><a name="milter_connect_macros">milter_connect_macros</a> 6746(default: see "postconf -d" output)</b></DT><DD> 6747 6748<p> The macros that are sent to Milter (mail filter) applications 6749after completion of an SMTP connection. See <a href="MILTER_README.html">MILTER_README</a> 6750for a list of available macro names and their meanings. </p> 6751 6752<p> This feature is available in Postfix 2.3 and later. </p> 6753 6754 6755</DD> 6756 6757<DT><b><a name="milter_connect_timeout">milter_connect_timeout</a> 6758(default: 30s)</b></DT><DD> 6759 6760<p> The time limit for connecting to a Milter (mail filter) 6761application, and for negotiating protocol options. </p> 6762 6763<p> Specify a non-zero time value (an integral value plus an optional 6764one-letter suffix that specifies the time unit). </p> 6765 6766<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 6767(weeks). The default time unit is s (seconds). </p> 6768 6769<p> This feature is available in Postfix 2.3 and later. </p> 6770 6771 6772</DD> 6773 6774<DT><b><a name="milter_content_timeout">milter_content_timeout</a> 6775(default: 300s)</b></DT><DD> 6776 6777<p> The time limit for sending message content to a Milter (mail 6778filter) application, and for receiving the response. </p> 6779 6780<p> Specify a non-zero time value (an integral value plus an optional 6781one-letter suffix that specifies the time unit). </p> 6782 6783<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 6784(weeks). The default time unit is s (seconds). </p> 6785 6786<p> This feature is available in Postfix 2.3 and later. </p> 6787 6788 6789</DD> 6790 6791<DT><b><a name="milter_data_macros">milter_data_macros</a> 6792(default: see "postconf -d" output)</b></DT><DD> 6793 6794<p> The macros that are sent to version 4 or higher Milter (mail 6795filter) applications after the SMTP DATA command. See <a href="MILTER_README.html">MILTER_README</a> 6796for a list of available macro names and their meanings. </p> 6797 6798<p> This feature is available in Postfix 2.3 and later. </p> 6799 6800 6801</DD> 6802 6803<DT><b><a name="milter_default_action">milter_default_action</a> 6804(default: tempfail)</b></DT><DD> 6805 6806<p> The default action when a Milter (mail filter) response is 6807unavailable (for example, bad Postfix configuration or Milter 6808failure). Specify one of the following: </p> 6809 6810<dl compact> 6811 6812<dt>accept</dt> <dd>Proceed as if the mail filter was not present. 6813</dd> 6814 6815<dt>reject</dt> <dd>Reject all further commands in this session 6816with a permanent status code.</dd> 6817 6818<dt>tempfail</dt> <dd>Reject all further commands in this session 6819with a temporary status code. </dd> 6820 6821<dt>quarantine</dt> <dd>Like "accept", but freeze the message in 6822the "<a href="QSHAPE_README.html#hold_queue">hold" queue</a>. Available with Postfix 2.6 and later. </dd> 6823 6824</dl> 6825 6826<p> This feature is available in Postfix 2.3 and later. </p> 6827 6828 6829</DD> 6830 6831<DT><b><a name="milter_end_of_data_macros">milter_end_of_data_macros</a> 6832(default: see "postconf -d" output)</b></DT><DD> 6833 6834<p> The macros that are sent to Milter (mail filter) applications 6835after the message end-of-data. See <a href="MILTER_README.html">MILTER_README</a> for a list of 6836available macro names and their meanings. </p> 6837 6838<p> This feature is available in Postfix 2.3 and later. </p> 6839 6840 6841</DD> 6842 6843<DT><b><a name="milter_end_of_header_macros">milter_end_of_header_macros</a> 6844(default: see "postconf -d" output)</b></DT><DD> 6845 6846<p> The macros that are sent to Milter (mail filter) applications 6847after the end of the message header. See <a href="MILTER_README.html">MILTER_README</a> for a list 6848of available macro names and their meanings. </p> 6849 6850<p> This feature is available in Postfix 2.5 and later. </p> 6851 6852 6853</DD> 6854 6855<DT><b><a name="milter_header_checks">milter_header_checks</a> 6856(default: empty)</b></DT><DD> 6857 6858<p> Optional lookup tables for content inspection of message headers 6859that are produced by Milter applications. See the <a href="header_checks.5.html">header_checks(5)</a> 6860manual page available actions. Currently, PREPEND is not implemented. 6861</p> 6862 6863<p> The following example sends all mail that is marked as SPAM to 6864a spam handling machine. Note that matches are case-insensitive 6865by default. </p> 6866 6867<pre> 6868/etc/postfix/<a href="postconf.5.html">main.cf</a>: 6869 <a href="postconf.5.html#milter_header_checks">milter_header_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/<a href="postconf.5.html#milter_header_checks">milter_header_checks</a> 6870</pre> 6871 6872<pre> 6873/etc/postfix/<a href="postconf.5.html#milter_header_checks">milter_header_checks</a>: 6874 /^X-SPAM-FLAG:\s+YES/ FILTER mysmtp:sanitizer.example.com:25 6875</pre> 6876 6877<p> The <a href="postconf.5.html#milter_header_checks">milter_header_checks</a> mechanism could also be used for 6878whitelisting. For example it could be used to skip heavy content 6879inspection for DKIM-signed mail from known friendly domains. </p> 6880 6881<p> This feature is available in Postfix 2.7, and as an optional 6882patch for Postfix 2.6. </p> 6883 6884 6885</DD> 6886 6887<DT><b><a name="milter_helo_macros">milter_helo_macros</a> 6888(default: see "postconf -d" output)</b></DT><DD> 6889 6890<p> The macros that are sent to Milter (mail filter) applications 6891after the SMTP HELO or EHLO command. See 6892<a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their meanings. 6893</p> 6894 6895<p> This feature is available in Postfix 2.3 and later. </p> 6896 6897 6898</DD> 6899 6900<DT><b><a name="milter_macro_daemon_name">milter_macro_daemon_name</a> 6901(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD> 6902 6903<p> The {daemon_name} macro value for Milter (mail filter) applications. 6904See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their 6905meanings. </p> 6906 6907<p> This feature is available in Postfix 2.3 and later. </p> 6908 6909 6910</DD> 6911 6912<DT><b><a name="milter_macro_defaults">milter_macro_defaults</a> 6913(default: empty)</b></DT><DD> 6914 6915<p> Optional list of <i>name=value</i> pairs that specify default 6916values for arbitrary macros that Postfix may send to Milter 6917applications. These defaults are used when there is no corresponding 6918information from the message delivery context. </p> 6919 6920<p> Specify <i>name=value</i> or <i>{name}=value</i> pairs separated 6921by comma or whitespace. Enclose a pair in "{}" when a value contains 6922comma or whitespace (this form ignores whitespace after the enclosing 6923"{", around the "=", and before the enclosing "}"). </p> 6924 6925<p> This feature is available in Postfix 3.1 and later. </p> 6926 6927 6928</DD> 6929 6930<DT><b><a name="milter_macro_v">milter_macro_v</a> 6931(default: $<a href="postconf.5.html#mail_name">mail_name</a> $<a href="postconf.5.html#mail_version">mail_version</a>)</b></DT><DD> 6932 6933<p> The {v} macro value for Milter (mail filter) applications. 6934See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their 6935meanings. </p> 6936 6937<p> This feature is available in Postfix 2.3 and later. </p> 6938 6939 6940</DD> 6941 6942<DT><b><a name="milter_mail_macros">milter_mail_macros</a> 6943(default: see "postconf -d" output)</b></DT><DD> 6944 6945<p> The macros that are sent to Milter (mail filter) applications 6946after the SMTP MAIL FROM command. See <a href="MILTER_README.html">MILTER_README</a> 6947for a list of available macro names and their meanings. </p> 6948 6949<p> This feature is available in Postfix 2.3 and later. </p> 6950 6951 6952</DD> 6953 6954<DT><b><a name="milter_protocol">milter_protocol</a> 6955(default: 6)</b></DT><DD> 6956 6957<p> The mail filter protocol version and optional protocol extensions 6958for communication with a Milter application; prior to Postfix 2.6 6959the default protocol is 2. Postfix 6960sends this version number during the initial protocol handshake. 6961It should match the version number that is expected by the mail 6962filter application (or by its Milter library). </p> 6963 6964<p>Protocol versions: </p> 6965 6966<dl compact> 6967 6968<dt>2</dt> <dd>Use Sendmail 8 mail filter protocol version 2 (default 6969with Sendmail version 8.11 .. 8.13 and Postfix version 2.3 .. 69702.5).</dd> 6971 6972<dt>3</dt> <dd>Use Sendmail 8 mail filter protocol version 3.</dd> 6973 6974<dt>4</dt> <dd>Use Sendmail 8 mail filter protocol version 4.</dd> 6975 6976<dt>6</dt> <dd>Use Sendmail 8 mail filter protocol version 6 (default 6977with Sendmail version 8.14 and Postfix version 2.6).</dd> 6978 6979</dl> 6980 6981<p>Protocol extensions: </p> 6982 6983<dl compact> 6984 6985<dt>no_header_reply</dt> <dd> Specify this when the Milter application 6986will not reply for each individual message header.</dd> 6987 6988</dl> 6989 6990<p> This feature is available in Postfix 2.3 and later. </p> 6991 6992 6993</DD> 6994 6995<DT><b><a name="milter_rcpt_macros">milter_rcpt_macros</a> 6996(default: see "postconf -d" output)</b></DT><DD> 6997 6998<p> The macros that are sent to Milter (mail filter) applications 6999after the SMTP RCPT TO command. See <a href="MILTER_README.html">MILTER_README</a> 7000for a list of available macro names and their meanings. </p> 7001 7002<p> This feature is available in Postfix 2.3 and later. </p> 7003 7004 7005</DD> 7006 7007<DT><b><a name="milter_unknown_command_macros">milter_unknown_command_macros</a> 7008(default: see "postconf -d" output)</b></DT><DD> 7009 7010<p> The macros that are sent to version 3 or higher Milter (mail 7011filter) applications after an unknown SMTP command. See <a href="MILTER_README.html">MILTER_README</a> 7012for a list of available macro names and their meanings. </p> 7013 7014<p> This feature is available in Postfix 2.3 and later. </p> 7015 7016 7017</DD> 7018 7019<DT><b><a name="mime_boundary_length_limit">mime_boundary_length_limit</a> 7020(default: 2048)</b></DT><DD> 7021 7022<p> 7023The maximal length of MIME multipart boundary strings. The MIME 7024processor is unable to distinguish between boundary strings that 7025do not differ in the first $<a href="postconf.5.html#mime_boundary_length_limit">mime_boundary_length_limit</a> characters. 7026</p> 7027 7028<p> 7029This feature is available in Postfix 2.0 and later. 7030</p> 7031 7032 7033</DD> 7034 7035<DT><b><a name="mime_header_checks">mime_header_checks</a> 7036(default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD> 7037 7038<p> 7039Optional lookup tables for content inspection of MIME related 7040message headers, as described in the <a href="header_checks.5.html">header_checks(5)</a> manual page. 7041</p> 7042 7043<p> 7044This feature is available in Postfix 2.0 and later. 7045</p> 7046 7047 7048</DD> 7049 7050<DT><b><a name="mime_nesting_limit">mime_nesting_limit</a> 7051(default: 100)</b></DT><DD> 7052 7053<p> 7054The maximal recursion level that the MIME processor will handle. 7055Postfix refuses mail that is nested deeper than the specified limit. 7056</p> 7057 7058<p> 7059This feature is available in Postfix 2.0 and later. 7060</p> 7061 7062 7063</DD> 7064 7065<DT><b><a name="minimal_backoff_time">minimal_backoff_time</a> 7066(default: 300s)</b></DT><DD> 7067 7068<p> 7069The minimal time between attempts to deliver a deferred message; 7070prior to Postfix 2.4 the default value was 1000s. 7071</p> 7072 7073<p> 7074This parameter also limits the time an unreachable destination is 7075kept in the short-term, in-memory, destination status cache. 7076</p> 7077 7078<p> This parameter should be set greater than or equal to 7079$<a href="postconf.5.html#queue_run_delay">queue_run_delay</a>. See also $<a href="postconf.5.html#maximal_backoff_time">maximal_backoff_time</a>. </p> 7080 7081<p> 7082Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 7083The default time unit is s (seconds). 7084</p> 7085 7086 7087</DD> 7088 7089<DT><b><a name="multi_instance_directories">multi_instance_directories</a> 7090(default: empty)</b></DT><DD> 7091 7092<p> An optional list of non-default Postfix configuration directories; 7093these directories belong to additional Postfix instances that share 7094the Postfix executable files and documentation with the default 7095Postfix instance, and that are started, stopped, etc., together 7096with the default Postfix instance. Specify a list of pathnames 7097separated by comma or whitespace. </p> 7098 7099<p> When $<a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a> is empty, the <a href="postfix.1.html">postfix(1)</a> command 7100runs in single-instance mode and operates on a single Postfix 7101instance only. Otherwise, the <a href="postfix.1.html">postfix(1)</a> command runs in multi-instance 7102mode and invokes the multi-instance manager specified with the 7103<a href="postconf.5.html#multi_instance_wrapper">multi_instance_wrapper</a> parameter. The multi-instance manager in 7104turn executes <a href="postfix.1.html">postfix(1)</a> commands for the default instance and for 7105all Postfix instances in $<a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>. </p> 7106 7107<p> Currently, this parameter setting is ignored except for the 7108default <a href="postconf.5.html">main.cf</a> file. </p> 7109 7110<p> This feature is available in Postfix 2.6 and later. </p> 7111 7112 7113</DD> 7114 7115<DT><b><a name="multi_instance_enable">multi_instance_enable</a> 7116(default: no)</b></DT><DD> 7117 7118<p> Allow this Postfix instance to be started, stopped, etc., by a 7119multi-instance manager. By default, new instances are created in 7120a safe state that prevents them from being started inadvertently. 7121This parameter is reserved for the multi-instance manager. </p> 7122 7123<p> This feature is available in Postfix 2.6 and later. </p> 7124 7125 7126</DD> 7127 7128<DT><b><a name="multi_instance_group">multi_instance_group</a> 7129(default: empty)</b></DT><DD> 7130 7131<p> The optional instance group name of this Postfix instance. A 7132group identifies closely-related Postfix instances that the 7133multi-instance manager can start, stop, etc., as a unit. This 7134parameter is reserved for the multi-instance manager. </p> 7135 7136<p> This feature is available in Postfix 2.6 and later. </p> 7137 7138 7139</DD> 7140 7141<DT><b><a name="multi_instance_name">multi_instance_name</a> 7142(default: empty)</b></DT><DD> 7143 7144<p> The optional instance name of this Postfix instance. This name 7145becomes also the default value for the <a href="postconf.5.html#syslog_name">syslog_name</a> parameter. </p> 7146 7147<p> This feature is available in Postfix 2.6 and later. </p> 7148 7149 7150</DD> 7151 7152<DT><b><a name="multi_instance_wrapper">multi_instance_wrapper</a> 7153(default: empty)</b></DT><DD> 7154 7155<p> The pathname of a multi-instance manager command that the 7156<a href="postfix.1.html">postfix(1)</a> command invokes when the <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a> 7157parameter value is non-empty. The pathname may be followed by 7158initial command arguments separated by whitespace; shell 7159metacharacters such as quotes are not supported in this context. 7160</p> 7161 7162<p> The <a href="postfix.1.html">postfix(1)</a> command invokes the manager command with the 7163<a href="postfix.1.html">postfix(1)</a> non-option command arguments on the manager command line, 7164and with all installation configuration parameters exported into 7165the manager command process environment. The manager command in 7166turn invokes the <a href="postfix.1.html">postfix(1)</a> command for individual Postfix instances 7167as "postfix -c <i><a href="postconf.5.html#config_directory">config_directory</a></i> <i>command</i>". </p> 7168 7169<p> This feature is available in Postfix 2.6 and later. </p> 7170 7171 7172</DD> 7173 7174<DT><b><a name="multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> 7175(default: 550)</b></DT><DD> 7176 7177<p> 7178The numerical Postfix SMTP server response code when a remote SMTP 7179client request is blocked by the <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a> 7180restriction. 7181</p> 7182 7183<p> 7184Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 7185</p> 7186 7187<p> 7188This feature is available in Postfix 2.1 and later. 7189</p> 7190 7191 7192</DD> 7193 7194<DT><b><a name="mydestination">mydestination</a> 7195(default: $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a>, localhost)</b></DT><DD> 7196 7197<p> The list of domains that are delivered via the $<a href="postconf.5.html#local_transport">local_transport</a> 7198mail delivery transport. By default this is the Postfix <a href="local.8.html">local(8)</a> 7199delivery agent which looks up all recipients in /etc/passwd and 7200/etc/aliases. The SMTP server validates recipient addresses with 7201$<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> and rejects non-existent recipients. See also 7202the <a href="ADDRESS_CLASS_README.html#local_domain_class">local domain</a> class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file. 7203</p> 7204 7205<p> 7206The default <a href="postconf.5.html#mydestination">mydestination</a> value specifies names for the local 7207machine only. On a mail domain gateway, you should also include 7208$<a href="postconf.5.html#mydomain">mydomain</a>. 7209</p> 7210 7211<p> 7212The $<a href="postconf.5.html#local_transport">local_transport</a> delivery method is also selected for mail 7213addressed to user@[the.net.work.address] of the mail system (the 7214IP addresses specified with the <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> and <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> 7215parameters). 7216</p> 7217 7218<p> 7219Warnings: 7220</p> 7221 7222<ul> 7223 7224<li><p>Do not specify the names of virtual domains - those domains 7225are specified elsewhere. See <a href="VIRTUAL_README.html">VIRTUAL_README</a> for more information. </p> 7226 7227<li><p>Do not specify the names of domains that this machine is 7228backup MX host for. See <a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> for how to 7229set up backup MX hosts. </p> 7230 7231<li><p>By default, the Postfix SMTP server rejects mail for recipients 7232not listed with the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> parameter. See the 7233<a href="postconf.5.html">postconf(5)</a> manual for a description of the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> 7234and <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> parameters. </p> 7235 7236</ul> 7237 7238<p> 7239Specify a list of host or domain names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" 7240patterns, separated by commas and/or whitespace. A "/file/name" 7241pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table 7242is matched when a name matches a lookup key (the lookup result is 7243ignored). Continue long lines by starting the next line with 7244whitespace. </p> 7245 7246<p> 7247Examples: 7248</p> 7249 7250<pre> 7251<a href="postconf.5.html#mydestination">mydestination</a> = $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a> $<a href="postconf.5.html#mydomain">mydomain</a> 7252<a href="postconf.5.html#mydestination">mydestination</a> = $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a> www.$<a href="postconf.5.html#mydomain">mydomain</a>, ftp.$<a href="postconf.5.html#mydomain">mydomain</a> 7253</pre> 7254 7255 7256</DD> 7257 7258<DT><b><a name="mydomain">mydomain</a> 7259(default: see "postconf -d" output)</b></DT><DD> 7260 7261<p> 7262The internet domain name of this mail system. The default is to 7263use $<a href="postconf.5.html#myhostname">myhostname</a> minus the first component, or "localdomain" (Postfix 72642.3 and later). $<a href="postconf.5.html#mydomain">mydomain</a> is used as 7265a default value for many other configuration parameters. 7266</p> 7267 7268<p> 7269Example: 7270</p> 7271 7272<pre> 7273<a href="postconf.5.html#mydomain">mydomain</a> = domain.tld 7274</pre> 7275 7276 7277</DD> 7278 7279<DT><b><a name="myhostname">myhostname</a> 7280(default: see "postconf -d" output)</b></DT><DD> 7281 7282<p> 7283The internet hostname of this mail system. The default is to use 7284the fully-qualified domain name (FQDN) from gethostname(), or to 7285use the non-FQDN result from gethostname() and append ".$<a href="postconf.5.html#mydomain">mydomain</a>". 7286$<a href="postconf.5.html#myhostname">myhostname</a> is used as a default value for many other configuration 7287parameters. </p> 7288 7289<p> 7290Example: 7291</p> 7292 7293<pre> 7294<a href="postconf.5.html#myhostname">myhostname</a> = host.example.com 7295</pre> 7296 7297 7298</DD> 7299 7300<DT><b><a name="mynetworks">mynetworks</a> 7301(default: see "postconf -d" output)</b></DT><DD> 7302 7303<p> 7304The list of "trusted" remote SMTP clients that have more privileges than 7305"strangers". 7306</p> 7307 7308<p> 7309In particular, "trusted" SMTP clients are allowed to relay mail 7310through Postfix. See the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> parameter 7311description in the <a href="postconf.5.html">postconf(5)</a> manual. 7312</p> 7313 7314<p> 7315You can specify the list of "trusted" network addresses by hand 7316or you can let Postfix do it for you (which is the default). 7317See the description of the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> parameter for more 7318information. 7319</p> 7320 7321<p> 7322If you specify the <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand, 7323Postfix ignores the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> setting. 7324</p> 7325 7326<p> Specify a list of network addresses or network/netmask patterns, 7327separated by commas and/or whitespace. Continue long lines by 7328starting the next line with whitespace. </p> 7329 7330<p> The netmask specifies the number of bits in the network part 7331of a host address. You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>" 7332patterns. A "/file/name" pattern is replaced by its contents; a 7333"<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry matches a 7334lookup string (the lookup result is ignored). </p> 7335 7336<p> The list is matched left to right, and the search stops on the 7337first match. Specify "!pattern" to exclude an address or network 7338block from the list. The form "!/file/name" is supported only 7339in Postfix version 2.4 and later. </p> 7340 7341<p> Note 1: Pattern matching of domain names is controlled by the 7342or absence of "<a href="postconf.5.html#mynetworks">mynetworks</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> 7343parameter value. </p> 7344 7345<p> Note 2: IP version 6 address information must be specified inside 7346<tt>[]</tt> in the <a href="postconf.5.html#mynetworks">mynetworks</a> value, and in files specified with 7347"/file/name". IP version 6 addresses contain the ":" character, 7348and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" pattern. </p> 7349 7350<p> Examples: </p> 7351 7352<pre> 7353<a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28 7354<a href="postconf.5.html#mynetworks">mynetworks</a> = !192.168.0.1, 192.168.0.0/28 7355<a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64 7356<a href="postconf.5.html#mynetworks">mynetworks</a> = $<a href="postconf.5.html#config_directory">config_directory</a>/mynetworks 7357<a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/network_table 7358</pre> 7359 7360 7361</DD> 7362 7363<DT><b><a name="mynetworks_style">mynetworks_style</a> 7364(default: Postfix ≥ 3.0: host, Postfix < 3.0: subnet)</b></DT><DD> 7365 7366<p> 7367The method to generate the default value for the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter. 7368This is the list of trusted networks for relay access control etc. 7369</p> 7370 7371<ul> 7372 7373<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = host" when Postfix should 7374"trust" only the local machine. </p> 7375 7376<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = subnet" when Postfix 7377should "trust" remote SMTP clients in the same IP subnetworks as the local 7378machine. On Linux, this works correctly only with interfaces 7379specified with the "ifconfig" command. </p> 7380 7381<li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = class" when Postfix should 7382"trust" remote SMTP clients in the same IP class A/B/C networks as the 7383local machine. Caution: this may cause 7384Postfix to "trust" your entire provider's network. Instead, specify 7385an explicit <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand, as described with the <a href="postconf.5.html#mynetworks">mynetworks</a> 7386configuration parameter. </p> 7387 7388</ul> 7389 7390 7391</DD> 7392 7393<DT><b><a name="myorigin">myorigin</a> 7394(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD> 7395 7396<p> 7397The domain name that locally-posted mail appears to come 7398from, and that locally posted mail is delivered to. The default, 7399$<a href="postconf.5.html#myhostname">myhostname</a>, is adequate for small sites. If you run a domain with 7400multiple machines, you should (1) change this to $<a href="postconf.5.html#mydomain">mydomain</a> and (2) 7401set up a domain-wide alias database that aliases each user to 7402user@that.users.mailhost. 7403</p> 7404 7405<p> 7406Example: 7407</p> 7408 7409<pre> 7410<a href="postconf.5.html#myorigin">myorigin</a> = $<a href="postconf.5.html#mydomain">mydomain</a> 7411</pre> 7412 7413 7414</DD> 7415 7416<DT><b><a name="nested_header_checks">nested_header_checks</a> 7417(default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD> 7418 7419<p> 7420Optional lookup tables for content inspection of non-MIME message 7421headers in attached messages, as described in the <a href="header_checks.5.html">header_checks(5)</a> 7422manual page. 7423</p> 7424 7425<p> 7426This feature is available in Postfix 2.0 and later. 7427</p> 7428 7429 7430</DD> 7431 7432<DT><b><a name="newaliases_path">newaliases_path</a> 7433(default: see "postconf -d" output)</b></DT><DD> 7434 7435<p> 7436Sendmail compatibility feature that specifies the location of the 7437<a href="newaliases.1.html">newaliases(1)</a> command. This command can be used to rebuild the 7438<a href="local.8.html">local(8)</a> <a href="aliases.5.html">aliases(5)</a> database. 7439</p> 7440 7441 7442</DD> 7443 7444<DT><b><a name="non_fqdn_reject_code">non_fqdn_reject_code</a> 7445(default: 504)</b></DT><DD> 7446 7447<p> 7448The numerical Postfix SMTP server reply code when a client request 7449is rejected by the <a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a>, <a href="postconf.5.html#reject_non_fqdn_sender">reject_non_fqdn_sender</a> 7450or <a href="postconf.5.html#reject_non_fqdn_recipient">reject_non_fqdn_recipient</a> restriction. 7451</p> 7452 7453 7454</DD> 7455 7456<DT><b><a name="non_smtpd_milters">non_smtpd_milters</a> 7457(default: empty)</b></DT><DD> 7458 7459<p> A list of Milter (mail filter) applications for new mail that 7460does not arrive via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. This includes local 7461submission via the <a href="sendmail.1.html">sendmail(1)</a> command line, new mail that arrives 7462via the Postfix <a href="qmqpd.8.html">qmqpd(8)</a> server, and old mail that is re-injected 7463into the queue with "postsuper -r". Specify space or comma as 7464separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details. </p> 7465 7466<p> This feature is available in Postfix 2.3 and later. </p> 7467 7468 7469</DD> 7470 7471<DT><b><a name="notify_classes">notify_classes</a> 7472(default: resource, software)</b></DT><DD> 7473 7474<p> 7475The list of error classes that are reported to the postmaster. The 7476default is to report only the most serious problems. The paranoid 7477may wish to turn on the policy (UCE and mail relaying) and protocol 7478error (broken mail software) reports. 7479</p> 7480 7481<p> NOTE: postmaster notifications may contain confidential information 7482such as SASL passwords or message content. It is the system 7483administrator's responsibility to treat such information with care. 7484</p> 7485 7486<p> 7487The error classes are: 7488</p> 7489 7490<dl> 7491 7492<dt><b>bounce</b> (also implies <b>2bounce</b>)</dt> 7493 7494<dd>Send the postmaster copies of the headers of bounced mail, and 7495send transcripts of SMTP sessions when Postfix rejects mail. The 7496notification is sent to the address specified with the 7497<a href="postconf.5.html#bounce_notice_recipient">bounce_notice_recipient</a> configuration parameter (default: postmaster). 7498</dd> 7499 7500<dt><b>2bounce</b></dt> 7501 7502<dd>Send undeliverable bounced mail to the postmaster. The notification 7503is sent to the address specified with the <a href="postconf.5.html#2bounce_notice_recipient">2bounce_notice_recipient</a> 7504configuration parameter (default: postmaster). </dd> 7505 7506<dt><b>data</b></dt> 7507 7508<dd>Send the postmaster a transcript of the SMTP session with an 7509error because a critical data file was unavailable. The notification 7510is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> 7511configuration parameter (default: postmaster). <br> This feature 7512is available in Postfix 2.9 and later. </dd> 7513 7514<dt><b>delay</b></dt> 7515 7516<dd>Send the postmaster copies of the headers of delayed mail (see 7517<a href="postconf.5.html#delay_warning_time">delay_warning_time</a>). The 7518notification is sent to the address specified with the 7519<a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a> configuration parameter (default: postmaster). 7520</dd> 7521 7522<dt><b>policy</b></dt> 7523 7524<dd>Send the postmaster a transcript of the SMTP session when a 7525client request was rejected because of (UCE) policy. The notification 7526is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> 7527configuration parameter (default: postmaster). </dd> 7528 7529<dt><b>protocol</b></dt> 7530 7531<dd>Send the postmaster a transcript of the SMTP session in case 7532of client or server protocol errors. The notification is sent to 7533the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration 7534parameter (default: postmaster). </dd> 7535 7536<dt><b>resource</b></dt> 7537 7538<dd>Inform the postmaster of mail not delivered due to resource 7539problems. The notification is sent to the address specified with 7540the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default: 7541postmaster). </dd> 7542 7543<dt><b>software</b></dt> 7544 7545<dd>Inform the postmaster of mail not delivered due to software 7546problems. The notification is sent to the address specified with 7547the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default: 7548postmaster). </dd> 7549 7550</dl> 7551 7552<p> 7553Examples: 7554</p> 7555 7556<pre> 7557<a href="postconf.5.html#notify_classes">notify_classes</a> = bounce, delay, policy, protocol, resource, software 7558<a href="postconf.5.html#notify_classes">notify_classes</a> = 2bounce, resource, software 7559</pre> 7560 7561 7562</DD> 7563 7564<DT><b><a name="nullmx_reject_code">nullmx_reject_code</a> 7565(default: 556)</b></DT><DD> 7566 7567<p> The numerical reply code when the Postfix SMTP server rejects 7568a sender or recipient address because its domain has a nullmx DNS 7569record (an MX record with an empty hostname). This is one of the 7570possible replies from the restrictions <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a> 7571and <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>. </p> 7572 7573<p> This feature is available in Postfix 3.0 and later. </p> 7574 7575 7576</DD> 7577 7578<DT><b><a name="openssl_path">openssl_path</a> 7579(default: openssl)</b></DT><DD> 7580 7581<p> 7582The location of the OpenSSL command line program openssl(1). This 7583is used by the "<b><a href="postfix-tls.1.html">postfix tls</a></b>" command to create private keys, 7584certificate signing requests, self-signed certificates, and to 7585compute public key digests for DANE TLSA records. In multi-instance 7586environments, this parameter is always determined from the configuration 7587of the default Postfix instance. 7588</p> 7589 7590<p> Example: </p> 7591 7592<blockquote> 7593<pre> 7594/etc/postfix/<a href="postconf.5.html">main.cf</a>: 7595 # NetBSD pkgsrc: 7596 <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/pkg/bin/openssl 7597 # Local build: 7598 <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/local/bin/openssl 7599</pre> 7600</blockquote> 7601 7602<p> 7603This feature is available in Postfix 3.1 and later. 7604</p> 7605 7606 7607</DD> 7608 7609<DT><b><a name="owner_request_special">owner_request_special</a> 7610(default: yes)</b></DT><DD> 7611 7612<p> 7613Enable special treatment for owner-<i>listname</i> entries in the 7614<a href="aliases.5.html">aliases(5)</a> file, and don't split owner-<i>listname</i> and 7615<i>listname</i>-request address localparts when the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> 7616is set to "-". This feature is useful for mailing lists. 7617</p> 7618 7619 7620</DD> 7621 7622<DT><b><a name="parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> 7623(default: see "postconf -d" output)</b></DT><DD> 7624 7625<p> 7626A list of Postfix features where the pattern "example.com" also 7627matches subdomains of example.com, 7628instead of requiring an explicit ".example.com" pattern. This is 7629planned backwards compatibility: eventually, all Postfix features 7630are expected to require explicit ".example.com" style patterns when 7631you really want to match subdomains. 7632</p> 7633 7634<p> The following Postfix feature names are supported. </p> 7635 7636<dl> 7637 7638<dt> Postfix version 1.0 and later</dt> 7639 7640<dd> 7641<a href="postconf.5.html#debug_peer_list">debug_peer_list</a>, 7642<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a>, 7643<a href="postconf.5.html#mynetworks">mynetworks</a>, 7644<a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>, 7645<a href="postconf.5.html#relay_domains">relay_domains</a>, 7646<a href="postconf.5.html#transport_maps">transport_maps</a> 7647</dd> 7648 7649<dt> Postfix version 1.1 and later</dt> 7650 7651<dd> 7652<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>, 7653smtpd_access_maps, 7654</dd> 7655 7656<dt> Postfix version 2.8 and later </dt> 7657 7658<dd> 7659<a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> 7660</dd> 7661 7662<dt> Postfix version 3.0 and later </dt> 7663 7664<dd> 7665<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> 7666</dd> 7667 7668</dl> 7669 7670 7671</DD> 7672 7673<DT><b><a name="permit_mx_backup_networks">permit_mx_backup_networks</a> 7674(default: empty)</b></DT><DD> 7675 7676<p> 7677Restrict the use of the <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> SMTP access feature to 7678only domains whose primary MX hosts match the listed networks. 7679The parameter value syntax is the same as with the <a href="postconf.5.html#mynetworks">mynetworks</a> 7680parameter; note, however, that the default value is empty. </p> 7681 7682<p> Pattern matching of domain names is controlled by the presence 7683or absence of "<a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>" in the 7684<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </p> 7685 7686 7687</DD> 7688 7689<DT><b><a name="pickup_service_name">pickup_service_name</a> 7690(default: pickup)</b></DT><DD> 7691 7692<p> 7693The name of the <a href="pickup.8.html">pickup(8)</a> service. This service picks up local mail 7694submissions from the Postfix <a href="QSHAPE_README.html#maildrop_queue">maildrop queue</a>. 7695</p> 7696 7697<p> 7698This feature is available in Postfix 2.0 and later. 7699</p> 7700 7701 7702</DD> 7703 7704<DT><b><a name="pipe_delivery_status_filter">pipe_delivery_status_filter</a> 7705(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD> 7706 7707<p> Optional filter for the <a href="pipe.8.html">pipe(8)</a> delivery agent to change the 7708delivery status code or explanatory text of successful or unsuccessful 7709deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p> 7710 7711<p> This feature is available in Postfix 3.0 and later. </p> 7712 7713 7714</DD> 7715 7716<DT><b><a name="plaintext_reject_code">plaintext_reject_code</a> 7717(default: 450)</b></DT><DD> 7718 7719<p> 7720The numerical Postfix SMTP server response code when a request 7721is rejected by the <b><a href="postconf.5.html#reject_plaintext_session">reject_plaintext_session</a></b> restriction. 7722</p> 7723 7724<p> This feature is available in Postfix 2.3 and later. </p> 7725 7726 7727</DD> 7728 7729<DT><b><a name="postlog_service_name">postlog_service_name</a> 7730(default: postlog)</b></DT><DD> 7731 7732<p> The name of the <a href="postlogd.8.html">postlogd(8)</a> service entry in <a href="master.5.html">master.cf</a>. 7733This service appends logfile records to the file specified 7734with the <a href="postconf.5.html#maillog_file">maillog_file</a> parameter. </p> 7735 7736<p> This feature is available in Postfix 3.4 and later. </p> 7737 7738 7739</DD> 7740 7741<DT><b><a name="postlogd_watchdog_timeout">postlogd_watchdog_timeout</a> 7742(default: 10s)</b></DT><DD> 7743 7744<p> How much time a <a href="postlogd.8.html">postlogd(8)</a> process may take to process a request 7745before it is terminated by a built-in watchdog timer. This is a 7746safety mechanism that prevents <a href="postlogd.8.html">postlogd(8)</a> from becoming non-responsive 7747due to a bug in Postfix itself or in system software. This limit 7748cannot be set under 10s. </p> 7749 7750<p> Specify a non-zero time value (an integral value plus an optional 7751one-letter suffix that specifies the time unit). Time units: s 7752(seconds), m (minutes), h (hours), d (days), w (weeks). </p> 7753 7754<p> This feature is available in Postfix 3.4 and later. </p> 7755 7756 7757</DD> 7758 7759<DT><b><a name="postmulti_control_commands">postmulti_control_commands</a> 7760(default: reload flush)</b></DT><DD> 7761 7762<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager 7763treats as "control" commands, that operate on running instances. For 7764these commands, disabled instances are skipped. </p> 7765 7766<p> This feature is available in Postfix 2.6 and later. </p> 7767 7768 7769</DD> 7770 7771<DT><b><a name="postmulti_start_commands">postmulti_start_commands</a> 7772(default: start)</b></DT><DD> 7773 7774<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats 7775as "start" commands. For these commands, disabled instances are "checked" 7776rather than "started", and failure to "start" a member instance of an 7777instance group will abort the start-up of later instances. </p> 7778 7779<p> This feature is available in Postfix 2.6 and later. </p> 7780 7781 7782</DD> 7783 7784<DT><b><a name="postmulti_stop_commands">postmulti_stop_commands</a> 7785(default: see "postconf -d" output)</b></DT><DD> 7786 7787<p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats 7788as "stop" commands. For these commands, disabled instances are skipped, 7789and enabled instances are processed in reverse order. </p> 7790 7791<p> This feature is available in Postfix 2.6 and later. </p> 7792 7793 7794</DD> 7795 7796<DT><b><a name="postscreen_access_list">postscreen_access_list</a> 7797(default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>)</b></DT><DD> 7798 7799<p> Permanent white/blacklist for remote SMTP client IP addresses. 7800<a href="postscreen.8.html">postscreen(8)</a> searches this list immediately after a remote SMTP 7801client connects. Specify a comma- or whitespace-separated list of 7802commands (in upper or lower case) or lookup tables. The search stops 7803upon the first command that fires for the client IP address. </p> 7804 7805<dl> 7806 7807<dt> <b> <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a> </b> </dt> <dd> Whitelist the client and 7808terminate the search if the client IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>. 7809Do not subject the client to any before/after 220 greeting tests. 7810Pass the connection immediately to a Postfix SMTP server process. 7811<br> Pattern matching of domain names is controlled by the presence 7812or absence of "<a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a>" in the 7813<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </dd> 7814 7815<dt> <b> <a href="DATABASE_README.html">type:table</a> </b> </dt> <dd> Query the specified lookup 7816table. Each table lookup result is an access list, except that 7817access lists inside a table cannot specify <a href="DATABASE_README.html">type:table</a> entries. <br> 7818To discourage the use of hash, btree, etc. tables, there is no 7819support for substring matching like <a href="smtpd.8.html">smtpd(8)</a>. Use CIDR tables 7820instead. </dd> 7821 7822<dt> <b> permit </b> </dt> <dd> Whitelist the client and terminate 7823the search. Do not subject the client to any before/after 220 7824greeting tests. Pass the connection immediately to a Postfix SMTP 7825server process. </dd> 7826 7827<dt> <b> reject </b> </dt> <dd> Blacklist the client and terminate 7828the search. Subject the client to the action configured with the 7829<a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> configuration parameter. </dd> 7830 7831<dt> <b> dunno </b> </dt> <dd> All <a href="postscreen.8.html">postscreen(8)</a> access lists 7832implicitly have this command at the end. <br> When <b> dunno </b> 7833is executed inside a lookup table, return from the lookup table and 7834evaluate the next command. <br> When <b> dunno </b> is executed 7835outside a lookup table, terminate the search, and subject the client 7836to the configured before/after 220 greeting tests. </dd> 7837 7838</dl> 7839 7840<p> Example: </p> 7841 7842<pre> 7843/etc/postfix/<a href="postconf.5.html">main.cf</a>: 7844 <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, 7845 <a href="cidr_table.5.html">cidr</a>:/etc/postfix/postscreen_access.cidr 7846 <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> = enforce 7847</pre> 7848 7849<pre> 7850/etc/postfix/postscreen_access.<a href="cidr_table.5.html">cidr</a>: 7851 # Rules are evaluated in the order as specified. 7852 # Blacklist 192.168.* except 192.168.0.1. 7853 192.168.0.1 dunno 7854 192.168.0.0/16 reject 7855</pre> 7856 7857<p> This feature is available in Postfix 2.8. </p> 7858 7859 7860</DD> 7861 7862<DT><b><a name="postscreen_bare_newline_action">postscreen_bare_newline_action</a> 7863(default: ignore)</b></DT><DD> 7864 7865<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends 7866a bare newline character, that is, a newline not preceded by carriage 7867return. Specify one of the following: </p> 7868 7869<dl> 7870 7871<dt> <b>ignore</b> </dt> 7872 7873<dd> Ignore the failure of this test. Allow other tests to complete. 7874Do <i>not</i> repeat this test before some the result from some 7875other test expires. 7876This option is useful for testing and collecting statistics 7877without blocking mail permanently. </dd> 7878 7879<dt> <b>enforce</b> </dt> 7880 7881<dd> Allow other tests to complete. Reject attempts to deliver mail 7882with a 550 SMTP reply, and log the helo/sender/recipient information. 7883Repeat this test the next time the client connects. </dd> 7884 7885<dt> <b>drop</b> </dt> 7886 7887<dd> Drop the connection immediately with a 521 SMTP reply. Repeat 7888this test the next time the client connects. </dd> 7889 7890</dl> 7891 7892<p> This feature is available in Postfix 2.8. </p> 7893 7894 7895</DD> 7896 7897<DT><b><a name="postscreen_bare_newline_enable">postscreen_bare_newline_enable</a> 7898(default: no)</b></DT><DD> 7899 7900<p> Enable "bare newline" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a> 7901server. These tests are expensive: a remote SMTP client must 7902disconnect after 7903it passes the test, before it can talk to a real Postfix SMTP server. 7904</p> 7905 7906<p> This feature is available in Postfix 2.8. </p> 7907 7908 7909</DD> 7910 7911<DT><b><a name="postscreen_bare_newline_ttl">postscreen_bare_newline_ttl</a> 7912(default: 30d)</b></DT><DD> 7913 7914<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from 7915a successful "bare newline" SMTP protocol test. During this 7916time, the client IP address is excluded from this test. The default 7917is long because a remote SMTP client must disconnect after it passes 7918the test, 7919before it can talk to a real Postfix SMTP server. </p> 7920 7921<p> Specify a non-zero time value (an integral value plus an optional 7922one-letter suffix that specifies the time unit). Time units: s 7923(seconds), m (minutes), h (hours), d (days), w (weeks). </p> 7924 7925<p> This feature is available in Postfix 2.8. </p> 7926 7927 7928</DD> 7929 7930<DT><b><a name="postscreen_blacklist_action">postscreen_blacklist_action</a> 7931(default: ignore)</b></DT><DD> 7932 7933<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client is 7934permanently blacklisted with the <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> parameter. 7935Specify one of the following: </p> 7936 7937<dl> 7938 7939<dt> <b>ignore</b> (default) </dt> 7940 7941<dd> Ignore this result. Allow other tests to complete. Repeat 7942this test the next time the client connects. 7943This option is useful for testing and collecting statistics 7944without blocking mail. </dd> 7945 7946<dt> <b>enforce</b> </dt> 7947 7948<dd> Allow other tests to complete. Reject attempts to deliver mail 7949with a 550 SMTP reply, and log the helo/sender/recipient information. 7950Repeat this test the next time the client connects. </dd> 7951 7952<dt> <b>drop</b> </dt> 7953 7954<dd> Drop the connection immediately with a 521 SMTP reply. Repeat 7955this test the next time the client connects. </dd> 7956 7957</dl> 7958 7959<p> This feature is available in Postfix 2.8. </p> 7960 7961 7962</DD> 7963 7964<DT><b><a name="postscreen_cache_cleanup_interval">postscreen_cache_cleanup_interval</a> 7965(default: 12h)</b></DT><DD> 7966 7967<p> The amount of time between <a href="postscreen.8.html">postscreen(8)</a> cache cleanup runs. 7968Cache cleanup increases the load on the cache database and should 7969therefore not be run frequently. This feature requires that the 7970cache database supports the "delete" and "sequence" operators. 7971Specify a zero interval to disable cache cleanup. </p> 7972 7973<p> After each cache cleanup run, the <a href="postscreen.8.html">postscreen(8)</a> daemon logs the 7974number of entries that were retained and dropped. A cleanup run is 7975logged as "partial" when the daemon terminates early after "<b>postfix 7976reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a> 7977seconds. </p> 7978 7979<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 7980(weeks). </p> 7981 7982<p> This feature is available in Postfix 2.8. </p> 7983 7984 7985</DD> 7986 7987<DT><b><a name="postscreen_cache_map">postscreen_cache_map</a> 7988(default: <a href="DATABASE_README.html#types">btree</a>:$<a href="postconf.5.html#data_directory">data_directory</a>/postscreen_cache)</b></DT><DD> 7989 7990<p> Persistent storage for the <a href="postscreen.8.html">postscreen(8)</a> server decisions. </p> 7991 7992<p> To share a <a href="postscreen.8.html">postscreen(8)</a> cache between multiple <a href="postscreen.8.html">postscreen(8)</a> 7993instances, use "<a href="postconf.5.html#postscreen_cache_map">postscreen_cache_map</a> = <a href="proxymap.8.html">proxy</a>:<a href="DATABASE_README.html#types">btree</a>:/path/to/file". 7994This requires Postfix version 2.9 or later; earlier <a href="proxymap.8.html">proxymap(8)</a> 7995implementations don't support cache cleanup. For an alternative 7996approach see the <a href="memcache_table.5.html">memcache_table(5)</a> manpage. </p> 7997 7998<p> This feature is available in Postfix 2.8. </p> 7999 8000 8001</DD> 8002 8003<DT><b><a name="postscreen_cache_retention_time">postscreen_cache_retention_time</a> 8004(default: 7d)</b></DT><DD> 8005 8006<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will cache an expired 8007temporary whitelist entry before it is removed. This prevents clients 8008from being logged as "NEW" just because their cache entry expired 8009an hour ago. It also prevents the cache from filling up with clients 8010that passed some deep protocol test once and never came back. </p> 8011 8012<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 8013(weeks). </p> 8014 8015<p> This feature is available in Postfix 2.8. </p> 8016 8017 8018</DD> 8019 8020<DT><b><a name="postscreen_client_connection_count_limit">postscreen_client_connection_count_limit</a> 8021(default: $<a href="postconf.5.html#smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>)</b></DT><DD> 8022 8023<p> How many simultaneous connections any remote SMTP client is 8024allowed to have 8025with the <a href="postscreen.8.html">postscreen(8)</a> daemon. By default, this limit is the same 8026as with the Postfix SMTP server. Note that the triage process can 8027take several seconds, with the time spent in <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a> 8028delay, and with the time spent talking to the <a href="postscreen.8.html">postscreen(8)</a> built-in 8029dummy SMTP protocol engine. </p> 8030 8031<p> This feature is available in Postfix 2.8. </p> 8032 8033 8034</DD> 8035 8036<DT><b><a name="postscreen_command_count_limit">postscreen_command_count_limit</a> 8037(default: 20)</b></DT><DD> 8038 8039<p> The limit on the total number of commands per SMTP session for 8040<a href="postscreen.8.html">postscreen(8)</a>'s built-in SMTP protocol engine. This SMTP engine 8041defers or rejects all attempts to deliver mail, therefore there is 8042no need to enforce separate limits on the number of junk commands 8043and error commands. </p> 8044 8045<p> This feature is available in Postfix 2.8. </p> 8046 8047 8048</DD> 8049 8050<DT><b><a name="postscreen_command_filter">postscreen_command_filter</a> 8051(default: $<a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>)</b></DT><DD> 8052 8053<p> A mechanism to transform commands from remote SMTP clients. 8054See <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for further details. </p> 8055 8056<p> This feature is available in Postfix 2.8 and later. </p> 8057 8058 8059</DD> 8060 8061<DT><b><a name="postscreen_command_time_limit">postscreen_command_time_limit</a> 8062(default: normal: 300s, overload: 10s)</b></DT><DD> 8063 8064<p> The time limit to read an entire command line with <a href="postscreen.8.html">postscreen(8)</a>'s 8065built-in SMTP protocol engine. </p> 8066 8067<p> This feature is available in Postfix 2.8. </p> 8068 8069 8070</DD> 8071 8072<DT><b><a name="postscreen_disable_vrfy_command">postscreen_disable_vrfy_command</a> 8073(default: $<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a>)</b></DT><DD> 8074 8075<p> Disable the SMTP VRFY command in the <a href="postscreen.8.html">postscreen(8)</a> daemon. See 8076<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> for details. </p> 8077 8078<p> This feature is available in Postfix 2.8. </p> 8079 8080 8081</DD> 8082 8083<DT><b><a name="postscreen_discard_ehlo_keyword_address_maps">postscreen_discard_ehlo_keyword_address_maps</a> 8084(default: $<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>)</b></DT><DD> 8085 8086<p> Lookup tables, indexed by the remote SMTP client address, with 8087case insensitive lists of EHLO keywords (pipelining, starttls, auth, 8088etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO response 8089to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details. 8090The table is not searched by hostname for robustness reasons. </p> 8091 8092<p> This feature is available in Postfix 2.8 and later. </p> 8093 8094 8095</DD> 8096 8097<DT><b><a name="postscreen_discard_ehlo_keywords">postscreen_discard_ehlo_keywords</a> 8098(default: $<a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>)</b></DT><DD> 8099 8100<p> A case insensitive list of EHLO keywords (pipelining, starttls, 8101auth, etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO 8102response to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> 8103for details. </p> 8104 8105<p> This feature is available in Postfix 2.8 and later. </p> 8106 8107 8108</DD> 8109 8110<DT><b><a name="postscreen_dnsbl_action">postscreen_dnsbl_action</a> 8111(default: ignore)</b></DT><DD> 8112 8113<p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client's combined 8114DNSBL score is equal to or greater than a threshold (as defined 8115with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> and <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a> 8116parameters). Specify one of the following: </p> 8117 8118<dl> 8119 8120<dt> <b>ignore</b> (default) </dt> 8121 8122<dd> Ignore the failure of this test. Allow other tests to complete. 8123Repeat this test the next time the client connects. 8124This option is useful for testing and collecting statistics 8125without blocking mail. </dd> 8126 8127<dt> <b>enforce</b> </dt> 8128 8129<dd> Allow other tests to complete. Reject attempts to deliver mail 8130with a 550 SMTP reply, and log the helo/sender/recipient information. 8131Repeat this test the next time the client connects. </dd> 8132 8133<dt> <b>drop</b> </dt> 8134 8135<dd> Drop the connection immediately with a 521 SMTP reply. Repeat 8136this test the next time the client connects. </dd> 8137 8138</dl> 8139 8140<p> This feature is available in Postfix 2.8. </p> 8141 8142 8143</DD> 8144 8145<DT><b><a name="postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a> 8146(default: ${<a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>?{$<a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>}:{1}}h)</b></DT><DD> 8147 8148<p> The maximum amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the 8149result from a successful DNS-based reputation test before a 8150client IP address is required to pass that test again. If the DNS 8151reply specifies a shorter TTL value, that value will be used unless 8152it would be smaller than <a href="postconf.5.html#postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>. </p> 8153 8154<p> Specify a non-zero time value (an integral value plus an optional 8155one-letter suffix that specifies the time unit). Time units: s 8156(seconds), m (minutes), h (hours), d (days), w (weeks). </p> 8157 8158<p> This feature is available in Postfix 3.1. The default setting 8159is backwards-compatible with older Postfix versions. </p> 8160 8161 8162</DD> 8163 8164<DT><b><a name="postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a> 8165(default: 60s)</b></DT><DD> 8166 8167<p> The minimum amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the 8168result from a successful DNS-based reputation test before a 8169client IP address is required to pass that test again. If the DNS 8170reply specifies a larger TTL value, that value will be used unless 8171it would be larger than <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>. </p> 8172 8173<p> Specify a non-zero time value (an integral value plus an optional 8174one-letter suffix that specifies the time unit). Time units: s 8175(seconds), m (minutes), h (hours), d (days), w (weeks). </p> 8176 8177<p> This feature is available in Postfix 3.1. </p> 8178 8179 8180</DD> 8181 8182<DT><b><a name="postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> 8183(default: empty)</b></DT><DD> 8184 8185<p> A mapping from actual DNSBL domain name which includes a secret 8186password, to the DNSBL domain name that postscreen will reply with 8187when it rejects mail. When no mapping is found, the actual DNSBL 8188domain will be used. </p> 8189 8190<p> For maximal stability it is best to use a file that is read 8191into memory such as <a href="pcre_table.5.html">pcre</a>:, <a href="regexp_table.5.html">regexp</a>: or <a href="DATABASE_README.html#types">texthash</a>: (<a href="DATABASE_README.html#types">texthash</a>: is similar 8192to <a href="DATABASE_README.html#types">hash</a>:, except a) there is no need to run <a href="postmap.1.html">postmap(1)</a> before the 8193file can be used, and b) <a href="DATABASE_README.html#types">texthash</a>: does not detect changes after 8194the file is read). </p> 8195 8196<p> Example: </p> 8197 8198<pre> 8199/etc/postfix/<a href="postconf.5.html">main.cf</a>: 8200 <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> = <a href="DATABASE_README.html#types">texthash</a>:/etc/postfix/dnsbl_reply 8201</pre> 8202 8203<pre> 8204/etc/postfix/dnsbl_reply: 8205 secret.zen.spamhaus.org zen.spamhaus.org 8206</pre> 8207 8208<p> This feature is available in Postfix 2.8. </p> 8209 8210 8211</DD> 8212 8213<DT><b><a name="postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> 8214(default: empty)</b></DT><DD> 8215 8216<p>Optional list of DNS white/blacklist domains, filters and weight 8217factors. When the list is non-empty, the <a href="dnsblog.8.html">dnsblog(8)</a> daemon will 8218query these domains with the IP addresses of remote SMTP clients, 8219and <a href="postscreen.8.html">postscreen(8)</a> will update an SMTP client's DNSBL score with 8220each non-error reply. </p> 8221 8222<p> Caution: when postscreen rejects mail, it replies with the DNSBL 8223domain name. Use the <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> feature to hide 8224"password" information in DNSBL domain names. </p> 8225 8226<p> When a client's score is equal to or greater than the threshold 8227specified with <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>, <a href="postscreen.8.html">postscreen(8)</a> can drop 8228the connection with the remote SMTP client. </p> 8229 8230<p> Specify a list of domain=filter*weight entries, separated by 8231comma or whitespace. </p> 8232 8233<ul> 8234 8235<li> <p> When no "=filter" is specified, <a href="postscreen.8.html">postscreen(8)</a> will use any 8236non-error DNSBL reply. Otherwise, <a href="postscreen.8.html">postscreen(8)</a> uses only DNSBL 8237replies that match the filter. The filter has the form d.d.d.d, 8238where each d is a number, or a pattern inside [] that contains one 8239or more ";"-separated numbers or number..number ranges. </p> 8240 8241<li> <p> When no "*weight" is specified, <a href="postscreen.8.html">postscreen(8)</a> increments 8242the remote SMTP client's DNSBL score by 1. Otherwise, the weight must be 8243an integral number, and <a href="postscreen.8.html">postscreen(8)</a> adds the specified weight to 8244the remote SMTP client's DNSBL score. Specify a negative number for 8245whitelisting. </p> 8246 8247<li> <p> When one <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> entry produces multiple 8248DNSBL responses, <a href="postscreen.8.html">postscreen(8)</a> applies the weight at most once. 8249</p> 8250 8251</ul> 8252 8253<p> Examples: </p> 8254 8255<p> To use example.com as a high-confidence blocklist, and to 8256block mail with example.net and example.org only when both agree: 8257</p> 8258 8259<pre> 8260<a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a> = 2 8261<a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com*2, example.net, example.org 8262</pre> 8263 8264<p> To filter only DNSBL replies containing 127.0.0.4: </p> 8265 8266<pre> 8267<a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com=127.0.0.4 8268</pre> 8269 8270<p> This feature is available in Postfix 2.8. </p> 8271 8272 8273</DD> 8274 8275<DT><b><a name="postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a> 8276(default: 1)</b></DT><DD> 8277 8278<p> The inclusive lower bound for blocking a remote SMTP client, based on 8279its combined DNSBL score as defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> 8280parameter. </p> 8281 8282<p> This feature is available in Postfix 2.8. </p> 8283 8284 8285</DD> 8286 8287<DT><b><a name="postscreen_dnsbl_timeout">postscreen_dnsbl_timeout</a> 8288(default: 10s)</b></DT><DD> 8289 8290<p> The time limit for DNSBL or DNSWL lookups. This is separate from 8291the timeouts in the <a href="dnsblog.8.html">dnsblog(8)</a> daemon which are defined by system 8292resolver(3) routines. </p> 8293 8294<p> This feature is available in Postfix 3.0. </p> 8295 8296 8297</DD> 8298 8299<DT><b><a name="postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a> 8300(default: 1h)</b></DT><DD> 8301 8302<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from 8303a successful DNS-based reputation test before a client 8304IP address is required to pass that test again. </p> 8305 8306<p> Specify a non-zero time value (an integral value plus an optional 8307one-letter suffix that specifies the time unit). Time units: s 8308(seconds), m (minutes), h (hours), d (days), w (weeks). </p> 8309 8310<p> This feature is available in Postfix 2.8-3.0. It was 8311replaced by <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a> in Postfix 3.1. </p> 8312 8313 8314</DD> 8315 8316<DT><b><a name="postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a> 8317(default: 0)</b></DT><DD> 8318 8319<p> Allow a remote SMTP client to skip "before" and "after 220 8320greeting" protocol tests, based on its combined DNSBL score as 8321defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> parameter. </p> 8322 8323<p> Specify a negative value to enable this feature. When a client 8324passes the <a href="postconf.5.html#postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a> without having 8325failed other tests, all pending or disabled tests are flagged as 8326completed with a time-to-live value equal to <a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>. 8327When a test was already completed, its time-to-live value is updated 8328if it was less than <a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>. </p> 8329 8330<p> This feature is available in Postfix 2.11. </p> 8331 8332 8333</DD> 8334 8335<DT><b><a name="postscreen_enforce_tls">postscreen_enforce_tls</a> 8336(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD> 8337 8338<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and 8339require that clients use TLS encryption. See smtpd_postscreen_enforce_tls 8340for details. </p> 8341 8342<p> This feature is available in Postfix 2.8 and later. 8343Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p> 8344 8345 8346</DD> 8347 8348<DT><b><a name="postscreen_expansion_filter">postscreen_expansion_filter</a> 8349(default: see "postconf -d" output)</b></DT><DD> 8350 8351<p> List of characters that are permitted in <a href="postconf.5.html#postscreen_reject_footer">postscreen_reject_footer</a> 8352attribute expansions. See <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> for further 8353details. </p> 8354 8355<p> This feature is available in Postfix 2.8 and later. </p> 8356 8357 8358</DD> 8359 8360<DT><b><a name="postscreen_forbidden_commands">postscreen_forbidden_commands</a> 8361(default: $<a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>)</b></DT><DD> 8362 8363<p> List of commands that the <a href="postscreen.8.html">postscreen(8)</a> server considers in 8364violation of the SMTP protocol. See <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a> for 8365syntax, and <a href="postconf.5.html#postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a> for possible actions. 8366</p> 8367 8368<p> This feature is available in Postfix 2.8. </p> 8369 8370 8371</DD> 8372 8373<DT><b><a name="postscreen_greet_action">postscreen_greet_action</a> 8374(default: ignore)</b></DT><DD> 8375 8376<p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client speaks 8377before its turn within the time specified with the <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a> 8378parameter. Specify one of the following: </p> 8379 8380<dl> 8381 8382<dt> <b>ignore</b> (default) </dt> 8383 8384<dd> Ignore the failure of this test. Allow other tests to complete. 8385Repeat this test the next time the client connects. 8386This option is useful for testing and collecting statistics 8387without blocking mail. </dd> 8388 8389<dt> <b>enforce</b> </dt> 8390 8391<dd> Allow other tests to complete. Reject attempts to deliver mail 8392with a 550 SMTP reply, and log the helo/sender/recipient information. 8393Repeat this test the next time the client connects. </dd> 8394 8395<dt> <b>drop</b> </dt> 8396 8397<dd> Drop the connection immediately with a 521 SMTP reply. Repeat 8398this test the next time the client connects. </dd> 8399 8400</dl> 8401 8402<p> In either case, <a href="postscreen.8.html">postscreen(8)</a> will not whitelist the remote SMTP client 8403IP address. </p> 8404 8405<p> This feature is available in Postfix 2.8. </p> 8406 8407 8408</DD> 8409 8410<DT><b><a name="postscreen_greet_banner">postscreen_greet_banner</a> 8411(default: $<a href="postconf.5.html#smtpd_banner">smtpd_banner</a>)</b></DT><DD> 8412 8413<p> The <i>text</i> in the optional "220-<i>text</i>..." server 8414response that 8415<a href="postscreen.8.html">postscreen(8)</a> sends ahead of the real Postfix SMTP server's "220 8416text..." response, in an attempt to confuse bad SMTP clients so 8417that they speak before their turn (pre-greet). Specify an empty 8418value to disable this feature. </p> 8419 8420<p> This feature is available in Postfix 2.8. </p> 8421 8422 8423</DD> 8424 8425<DT><b><a name="postscreen_greet_ttl">postscreen_greet_ttl</a> 8426(default: 1d)</b></DT><DD> 8427 8428<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from 8429a successful PREGREET test. During this time, the client IP address 8430is excluded from this test. The default is relatively short, because 8431a good client can immediately talk to a real Postfix SMTP server. </p> 8432 8433<p> Specify a non-zero time value (an integral value plus an optional 8434one-letter suffix that specifies the time unit). Time units: s 8435(seconds), m (minutes), h (hours), d (days), w (weeks). </p> 8436 8437<p> This feature is available in Postfix 2.8. </p> 8438 8439 8440</DD> 8441 8442<DT><b><a name="postscreen_greet_wait">postscreen_greet_wait</a> 8443(default: normal: 6s, overload: 2s)</b></DT><DD> 8444 8445<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will wait for an SMTP 8446client to send a command before its turn, and for DNS blocklist 8447lookup results to arrive (default: up to 2 seconds under stress, 8448up to 6 seconds otherwise). <p> 8449 8450<p> Specify a non-zero time value (an integral value plus an optional 8451one-letter suffix that specifies the time unit). </p> 8452 8453<p> Time units: s (seconds), m (minutes), h (hours), d (days), w 8454(weeks). </p> 8455 8456<p> This feature is available in Postfix 2.8. </p> 8457 8458 8459</DD> 8460 8461<DT><b><a name="postscreen_helo_required">postscreen_helo_required</a> 8462(default: $<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a>)</b></DT><DD> 8463 8464<p> Require that a remote SMTP client sends HELO or EHLO before 8465commencing a MAIL transaction. </p> 8466 8467<p> This feature is available in Postfix 2.8. </p> 8468 8469 8470</DD> 8471 8472<DT><b><a name="postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a> 8473(default: drop)</b></DT><DD> 8474 8475<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends 8476non-SMTP commands as specified with the <a href="postconf.5.html#postscreen_forbidden_commands">postscreen_forbidden_commands</a> 8477parameter. Specify one of the following: </p> 8478 8479<dl> 8480 8481<dt> <b>ignore</b> </dt> 8482 8483<dd> Ignore the failure of this test. Allow other tests to complete. 8484Do <i>not</i> repeat this test before some the result from some 8485other test expires. 8486This option is useful for testing and collecting statistics 8487without blocking mail permanently. </dd> 8488 8489<dt> <b>enforce</b> </dt> 8490 8491<dd> Allow other tests to complete. Reject attempts to deliver mail 8492with a 550 SMTP reply, and log the helo/sender/recipient information. 8493Repeat this test the next time the client connects. </dd> 8494 8495<dt> <b>drop</b> </dt> 8496 8497<dd> Drop the connection immediately with a 521 SMTP reply. Repeat 8498this test the next time the client connects. This action is the 8499same as with the Postfix SMTP server's <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a> 8500feature. </dd> 8501 8502</dl> 8503 8504<p> This feature is available in Postfix 2.8. </p> 8505 8506 8507</DD> 8508 8509<DT><b><a name="postscreen_non_smtp_command_enable">postscreen_non_smtp_command_enable</a> 8510(default: no)</b></DT><DD> 8511 8512<p> Enable "non-SMTP command" tests in the <a href="postscreen.8.html">postscreen(8)</a> server. These 8513tests are expensive: a client must disconnect after it passes the 8514test, before it can talk to a real Postfix SMTP server. </p> 8515 8516<p> This feature is available in Postfix 2.8. </p> 8517 8518 8519</DD> 8520 8521<DT><b><a name="postscreen_non_smtp_command_ttl">postscreen_non_smtp_command_ttl</a> 8522(default: 30d)</b></DT><DD> 8523 8524<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from 8525a successful "non_smtp_command" SMTP protocol test. During this 8526time, the client IP address is excluded from this test. The default 8527is long because a client must disconnect after it passes the test, 8528before it can talk to a real Postfix SMTP server. </p> 8529 8530<p> Specify a non-zero time value (an integral value plus an optional 8531one-letter suffix that specifies the time unit). Time units: s 8532(seconds), m (minutes), h (hours), d (days), w (weeks). </p> 8533 8534<p> This feature is available in Postfix 2.8. </p> 8535 8536 8537</DD> 8538 8539<DT><b><a name="postscreen_pipelining_action">postscreen_pipelining_action</a> 8540(default: enforce)</b></DT><DD> 8541 8542<p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client 8543sends 8544multiple commands instead of sending one command and waiting for 8545the server to respond. Specify one of the following: </p> 8546 8547<dl> 8548 8549<dt> <b>ignore</b> </dt> 8550 8551<dd> Ignore the failure of this test. Allow other tests to complete. 8552Do <i>not</i> repeat this test before some the result from some 8553other test expires. 8554This option is useful for testing and collecting statistics 8555without blocking mail permanently. </dd> 8556 8557<dt> <b>enforce</b> </dt> 8558 8559<dd> Allow other tests to complete. Reject attempts to deliver mail 8560with a 550 SMTP reply, and log the helo/sender/recipient information. 8561Repeat this test the next time the client connects. </dd> 8562 8563<dt> <b>drop</b> </dt> 8564 8565<dd> Drop the connection immediately with a 521 SMTP reply. Repeat 8566this test the next time the client connects. </dd> 8567 8568</dl> 8569 8570<p> This feature is available in Postfix 2.8. </p> 8571 8572 8573</DD> 8574 8575<DT><b><a name="postscreen_pipelining_enable">postscreen_pipelining_enable</a> 8576(default: no)</b></DT><DD> 8577 8578<p> Enable "pipelining" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a> 8579server. These tests are expensive: a good client must disconnect 8580after it passes the test, before it can talk to a real Postfix SMTP 8581server. </p> 8582 8583<p> This feature is available in Postfix 2.8. </p> 8584 8585 8586</DD> 8587 8588<DT><b><a name="postscreen_pipelining_ttl">postscreen_pipelining_ttl</a> 8589(default: 30d)</b></DT><DD> 8590 8591<p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from 8592a successful "pipelining" SMTP protocol test. During this time, the 8593client IP address is excluded from this test. The default is 8594long because a good client must disconnect after it passes the test, 8595before it can talk to a real Postfix SMTP server. </p> 8596 8597<p> Specify a non-zero time value (an integral value plus an optional 8598one-letter suffix that specifies the time unit). Time units: s 8599(seconds), m (minutes), h (hours), d (days), w (weeks). </p> 8600 8601<p> This feature is available in Postfix 2.8. </p> 8602 8603 8604</DD> 8605 8606<DT><b><a name="postscreen_post_queue_limit">postscreen_post_queue_limit</a> 8607(default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD> 8608 8609<p> The number of clients that can be waiting for service from a 8610real Postfix SMTP server process. When this queue is full, all 8611clients will 8612receive a 421 response. </p> 8613 8614<p> This feature is available in Postfix 2.8. </p> 8615 8616 8617</DD> 8618 8619<DT><b><a name="postscreen_pre_queue_limit">postscreen_pre_queue_limit</a> 8620(default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD> 8621 8622<p> The number of non-whitelisted clients that can be waiting for 8623a decision whether they will receive service from a real Postfix 8624SMTP server 8625process. When this queue is full, all non-whitelisted clients will 8626receive a 421 response. </p> 8627 8628<p> This feature is available in Postfix 2.8. </p> 8629 8630 8631</DD> 8632 8633<DT><b><a name="postscreen_reject_footer">postscreen_reject_footer</a> 8634(default: $<a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>)</b></DT><DD> 8635 8636<p> Optional information that is appended after a 4XX or 5XX 8637<a href="postscreen.8.html">postscreen(8)</a> server 8638response. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> for further details. </p> 8639 8640<p> This feature is available in Postfix 2.8 and later. </p> 8641 8642 8643</DD> 8644 8645<DT><b><a name="postscreen_reject_footer_maps">postscreen_reject_footer_maps</a> 8646(default: $<a href="postconf.5.html#smtpd_reject_footer_maps">smtpd_reject_footer_maps</a>)</b></DT><DD> 8647 8648<p> Optional lookup table for information that is appended after a 4XX 8649or 5XX <a href="postscreen.8.html">postscreen(8)</a> server response. See <a href="postconf.5.html#smtpd_reject_footer_maps">smtpd_reject_footer_maps</a> for 8650further details. </p> 8651 8652<p> This feature is available in Postfix 3.4 and later. </p> 8653 8654 8655</DD> 8656 8657<DT><b><a name="postscreen_tls_security_level">postscreen_tls_security_level</a> 8658(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD> 8659 8660<p> The SMTP TLS security level for the <a href="postscreen.8.html">postscreen(8)</a> server; when 8661a non-empty value is specified, this overrides the obsolete parameters 8662<a href="postconf.5.html#postscreen_use_tls">postscreen_use_tls</a> and <a href="postconf.5.html#postscreen_enforce_tls">postscreen_enforce_tls</a>. See <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> 8663for details. </p> 8664 8665<p> This feature is available in Postfix 2.8 and later. </p> 8666 8667 8668</DD> 8669 8670<DT><b><a name="postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> 8671(default: empty)</b></DT><DD> 8672 8673<p> The name of the proxy protocol used by an optional before-postscreen 8674proxy agent. When a proxy agent is used, this protocol conveys local 8675and remote address and port information. Specify 8676"<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> = haproxy" to enable the haproxy 8677protocol; version 2 is supported with Postfix 3.5 and later. <p> 8678 8679<p> This feature is available in Postfix 2.10 and later. </p> 8680 8681 8682</DD> 8683 8684<DT><b><a name="postscreen_upstream_proxy_timeout">postscreen_upstream_proxy_timeout</a> 8685(default: 5s)</b></DT><DD> 8686 8687<p> The time limit for the proxy protocol specified with the 8688<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> parameter. </p> 8689 8690<p> This feature is available in Postfix 2.10 and later. </p> 8691 8692 8693</DD> 8694 8695<DT><b><a name="postscreen_use_tls">postscreen_use_tls</a> 8696(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD> 8697 8698<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients, 8699but do not require that clients use TLS encryption. </p> 8700 8701<p> This feature is available in Postfix 2.8 and later. 8702Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p> 8703 8704 8705</DD> 8706 8707<DT><b><a name="postscreen_watchdog_timeout">postscreen_watchdog_timeout</a> 8708(default: 10s)</b></DT><DD> 8709 8710<p> How much time a <a href="postscreen.8.html">postscreen(8)</a> process may take to respond to 8711a remote SMTP client command or to perform a cache operation before it 8712is terminated by a built-in watchdog timer. This is a safety 8713mechanism that prevents <a href="postscreen.8.html">postscreen(8)</a> from becoming non-responsive 8714due to a bug in Postfix itself or in system software. To avoid 8715false alarms and unnecessary cache corruption this limit cannot be 8716set under 10s. </p> 8717 8718<p> Specify a non-zero time value (an integral value plus an optional 8719one-letter suffix that specifies the time unit). Time units: s 8720(seconds), m (minutes), h (hours), d (days), w (weeks). </p> 8721 8722<p> This feature is available in Postfix 2.8. </p> 8723 8724 8725</DD> 8726 8727<DT><b><a name="postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> 8728(default: <a href="DATABASE_README.html#types">static</a>:all)</b></DT><DD> 8729 8730<p> A list of local <a href="postscreen.8.html">postscreen(8)</a> server IP addresses where a 8731non-whitelisted remote SMTP client can obtain <a href="postscreen.8.html">postscreen(8)</a>'s temporary 8732whitelist status. This status is required before the client can 8733talk to a Postfix SMTP server process. By default, a client can 8734obtain <a href="postscreen.8.html">postscreen(8)</a>'s whitelist status on any local <a href="postscreen.8.html">postscreen(8)</a> 8735server IP address. </p> 8736 8737<p> When <a href="postscreen.8.html">postscreen(8)</a> listens on both primary and backup MX 8738addresses, the <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> parameter can be 8739configured to give the temporary whitelist status only when a client 8740connects to a primary MX address. Once a client is whitelisted it 8741can talk to a Postfix SMTP server on any address. Thus, clients 8742that connect only to backup MX addresses will never become whitelisted, 8743and will never be allowed to talk to a Postfix SMTP server process. 8744</p> 8745 8746<p> Specify a list of network addresses or network/netmask patterns, 8747separated by commas and/or whitespace. The netmask specifies the 8748number of bits in the network part of a host address. Continue long 8749lines by starting the next line with whitespace. </p> 8750 8751<p> You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A 8752"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" 8753lookup table is matched when a table entry matches a lookup string 8754(the lookup result is ignored). </p> 8755 8756<p> The list is matched left to right, and the search stops on the 8757first match. Specify "!pattern" to exclude an address or network 8758block from the list. </p> 8759 8760<p> Note: IP version 6 address information must be specified inside 8761[] in the <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> value, and in files 8762specified with "/file/name". IP version 6 addresses contain the 8763":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" 8764pattern. </p> 8765 8766<p> Example: </p> 8767 8768<pre> 8769/etc/postfix/<a href="postconf.5.html">main.cf</a>: 8770 # Don't whitelist connections to the backup IP address. 8771 <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> = !168.100.189.8, <a href="DATABASE_README.html#types">static</a>:all 8772</pre> 8773 8774<p> This feature is available in Postfix 2.9 and later. </p> 8775 8776 8777</DD> 8778 8779<DT><b><a name="prepend_delivered_header">prepend_delivered_header</a> 8780(default: command, file, forward)</b></DT><DD> 8781 8782<p> The message delivery contexts where the Postfix <a href="local.8.html">local(8)</a> delivery 8783agent prepends a Delivered-To: message header with the address 8784that the mail was delivered to. This information is used for mail 8785delivery loop detection. </p> 8786 8787<p> 8788By default, the Postfix local delivery agent prepends a Delivered-To: 8789header when forwarding mail and when delivering to file (mailbox) 8790and command. Turning off the Delivered-To: header when forwarding 8791mail is not recommended. 8792</p> 8793 8794<p> 8795Specify zero or more of <b>forward</b>, <b>file</b>, or <b>command</b>. 8796</p> 8797 8798<p> 8799Example: 8800</p> 8801 8802<pre> 8803<a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a> = forward 8804</pre> 8805 8806 8807</DD> 8808 8809<DT><b><a name="process_id">process_id</a> 8810(read-only)</b></DT><DD> 8811 8812<p> 8813The process ID of a Postfix command or daemon process. 8814</p> 8815 8816 8817</DD> 8818 8819<DT><b><a name="process_id_directory">process_id_directory</a> 8820(default: pid)</b></DT><DD> 8821 8822<p> 8823The location of Postfix PID files relative to $<a href="postconf.5.html#queue_directory">queue_directory</a>. 8824This is a read-only parameter. 8825</p> 8826 8827 8828</DD> 8829 8830<DT><b><a name="process_name">process_name</a> 8831(read-only)</b></DT><DD> 8832 8833<p> 8834The process name of a Postfix command or daemon process. 8835</p> 8836 8837 8838</DD> 8839 8840<DT><b><a name="propagate_unmatched_extensions">propagate_unmatched_extensions</a> 8841(default: canonical, virtual)</b></DT><DD> 8842 8843<p> 8844What address lookup tables copy an address extension from the lookup 8845key to the lookup result. 8846</p> 8847 8848<p> 8849For example, with a <a href="virtual.5.html">virtual(5)</a> mapping of "<i>joe@example.com => 8850joe.user@example.net</i>", the address "<i>joe+foo@example.com</i>" 8851would rewrite to "<i>joe.user+foo@example.net</i>". 8852</p> 8853 8854<p> 8855Specify zero or more of <b>canonical</b>, <b>virtual</b>, <b>alias</b>, 8856<b>forward</b>, <b>include</b> or <b>generic</b>. These cause 8857address extension 8858propagation with <a href="canonical.5.html">canonical(5)</a>, <a href="virtual.5.html">virtual(5)</a>, and <a href="aliases.5.html">aliases(5)</a> maps, 8859with <a href="local.8.html">local(8)</a> .forward and :include: file lookups, and with <a href="smtp.8.html">smtp(8)</a> 8860generic maps, respectively. </p> 8861 8862<p> 8863Note: enabling this feature for types other than <b>canonical</b> 8864and <b>virtual</b> is likely to cause problems when mail is forwarded 8865to other sites, especially with mail that is sent to a mailing list 8866exploder address. 8867</p> 8868 8869<p> 8870Examples: 8871</p> 8872 8873<pre> 8874<a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual, alias, 8875 forward, include 8876<a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual 8877</pre> 8878 8879 8880</DD> 8881 8882<DT><b><a name="proxy_interfaces">proxy_interfaces</a> 8883(default: empty)</b></DT><DD> 8884 8885<p> 8886The network interface addresses that this mail system receives mail 8887on by way of a proxy or network address translation unit. 8888</p> 8889 8890<p> 8891This feature is available in Postfix 2.0 and later. 8892</p> 8893 8894<p> You must specify your "outside" proxy/NAT addresses when your 8895system is a backup MX host for other domains, otherwise mail delivery 8896loops will happen when the primary MX host is down. </p> 8897 8898<p> 8899Example: 8900</p> 8901 8902<pre> 8903<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> = 1.2.3.4 8904</pre> 8905 8906 8907</DD> 8908 8909<DT><b><a name="proxy_read_maps">proxy_read_maps</a> 8910(default: see "postconf -d" output)</b></DT><DD> 8911 8912<p> 8913The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to 8914access for the read-only service. 8915</p> 8916 8917<p> 8918Specify zero or more "type:name" lookup tables, separated by 8919whitespace or comma. 8920Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored. 8921</p> 8922 8923<p> 8924This feature is available in Postfix 2.0 and later. 8925</p> 8926 8927 8928</DD> 8929 8930<DT><b><a name="proxy_write_maps">proxy_write_maps</a> 8931(default: see "postconf -d" output)</b></DT><DD> 8932 8933<p> The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to 8934access for the read-write service. Postfix-owned local database 8935files should be stored under the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>. 8936Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored. </p> 8937 8938<p> 8939This feature is available in Postfix 2.5 and later. 8940</p> 8941 8942 8943</DD> 8944 8945<DT><b><a name="proxymap_service_name">proxymap_service_name</a> 8946(default: proxymap)</b></DT><DD> 8947 8948<p> The name of the proxymap read-only table lookup service. This 8949service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon. </p> 8950 8951<p> This feature is available in Postfix 2.6 and later. </p> 8952 8953 8954</DD> 8955 8956<DT><b><a name="proxywrite_service_name">proxywrite_service_name</a> 8957(default: proxywrite)</b></DT><DD> 8958 8959<p> The name of the proxywrite read-write table lookup service. 8960This service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon. 8961</p> 8962 8963<p> This feature is available in Postfix 2.6 and later. </p> 8964 8965 8966</DD> 8967 8968<DT><b><a name="qmgr_clog_warn_time">qmgr_clog_warn_time</a> 8969(default: 300s)</b></DT><DD> 8970 8971<p> 8972The minimal delay between warnings that a specific destination is 8973clogging up the Postfix <a href="QSHAPE_README.html#active_queue">active queue</a>. Specify 0 to disable. 8974</p> 8975 8976<p> 8977This feature is enabled with the <a href="postconf.5.html#helpful_warnings">helpful_warnings</a> parameter. 8978</p> 8979 8980<p> 8981This feature is available in Postfix 2.0 and later. 8982</p> 8983 8984 8985</DD> 8986 8987<DT><b><a name="qmgr_daemon_timeout">qmgr_daemon_timeout</a> 8988(default: 1000s)</b></DT><DD> 8989 8990<p> How much time a Postfix queue manager process may take to handle 8991a request before it is terminated by a built-in watchdog timer. 8992</p> 8993 8994<p> 8995Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 8996The default time unit is s (seconds). 8997</p> 8998 8999<p> This feature is available in Postfix 2.8 and later. </p> 9000 9001 9002</DD> 9003 9004<DT><b><a name="qmgr_fudge_factor">qmgr_fudge_factor</a> 9005(default: 100)</b></DT><DD> 9006 9007<p> 9008Obsolete feature: the percentage of delivery resources that a busy 9009mail system will use up for delivery of a large mailing list 9010message. 9011</p> 9012 9013<p> 9014This feature exists only in the <a href="qmgr.8.html">oqmgr(8)</a> old queue manager. The 9015current queue manager solves the problem in a better way. 9016</p> 9017 9018 9019</DD> 9020 9021<DT><b><a name="qmgr_ipc_timeout">qmgr_ipc_timeout</a> 9022(default: 60s)</b></DT><DD> 9023 9024<p> The time limit for the queue manager to send or receive information 9025over an internal communication channel. The purpose is to break 9026out of deadlock situations. If the time limit is exceeded the 9027software either retries or aborts the operation. </p> 9028 9029<p> 9030Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 9031The default time unit is s (seconds). 9032</p> 9033 9034<p> This feature is available in Postfix 2.8 and later. </p> 9035 9036 9037</DD> 9038 9039<DT><b><a name="qmgr_message_active_limit">qmgr_message_active_limit</a> 9040(default: 20000)</b></DT><DD> 9041 9042<p> 9043The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>. 9044</p> 9045 9046 9047</DD> 9048 9049<DT><b><a name="qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> 9050(default: 20000)</b></DT><DD> 9051 9052<p> The maximal number of recipients held in memory by the Postfix 9053queue manager, and the maximal size of the short-term, 9054in-memory "dead" destination status cache. </p> 9055 9056 9057</DD> 9058 9059<DT><b><a name="qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a> 9060(default: 10)</b></DT><DD> 9061 9062<p> 9063The minimal number of in-memory recipients for any message. This 9064takes priority over any other in-memory recipient limits (i.e., 9065the global <a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> and the per transport 9066_recipient_limit) if necessary. The minimum value allowed for this 9067parameter is 1. 9068</p> 9069 9070 9071</DD> 9072 9073<DT><b><a name="qmqpd_authorized_clients">qmqpd_authorized_clients</a> 9074(default: empty)</b></DT><DD> 9075 9076<p> 9077What remote QMQP clients are allowed to connect to the Postfix QMQP 9078server port. 9079</p> 9080 9081<p> 9082By default, no client is allowed to use the service. This is 9083because the QMQP server will relay mail to any destination. 9084</p> 9085 9086<p> 9087Specify a list of client patterns. A list pattern specifies a host 9088name, a domain name, an internet address, or a network/mask pattern, 9089where the mask specifies the number of bits in the network part. 9090When a pattern specifies a file name, its contents are substituted 9091for the file name; when a pattern is a "<a href="DATABASE_README.html">type:table</a>" table specification, 9092table lookup is used instead. </p> 9093 9094<p> 9095Patterns are separated by whitespace and/or commas. In order to 9096reverse the result, precede a pattern with an 9097exclamation point (!). The form "!/file/name" is supported only 9098in Postfix version 2.4 and later. 9099</p> 9100 9101<p> Pattern matching of domain names is controlled by the presence 9102or absence of "<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>" in the 9103<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </p> 9104 9105<p> 9106Example: 9107</p> 9108 9109<pre> 9110<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a> = !192.168.0.1, 192.168.0.0/24 9111</pre> 9112 9113 9114</DD> 9115 9116<DT><b><a name="qmqpd_client_port_logging">qmqpd_client_port_logging</a> 9117(default: no)</b></DT><DD> 9118 9119<p> Enable logging of the remote QMQP client port in addition to 9120the hostname and IP address. The logging format is "host[address]:port". 9121</p> 9122 9123<p> This feature is available in Postfix 2.5 and later. </p> 9124 9125 9126</DD> 9127 9128<DT><b><a name="qmqpd_error_delay">qmqpd_error_delay</a> 9129(default: 1s)</b></DT><DD> 9130 9131<p> 9132How long the Postfix QMQP server will pause before sending a negative 9133reply to the remote QMQP client. The purpose is to slow down confused 9134or malicious clients. 9135</p> 9136 9137<p> 9138Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 9139The default time unit is s (seconds). 9140</p> 9141 9142 9143</DD> 9144 9145<DT><b><a name="qmqpd_timeout">qmqpd_timeout</a> 9146(default: 300s)</b></DT><DD> 9147 9148<p> 9149The time limit for sending or receiving information over the network. 9150If a read or write operation blocks for more than $<a href="postconf.5.html#qmqpd_timeout">qmqpd_timeout</a> 9151seconds the Postfix QMQP server gives up and disconnects. 9152</p> 9153 9154<p> 9155Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 9156The default time unit is s (seconds). 9157</p> 9158 9159 9160</DD> 9161 9162<DT><b><a name="queue_directory">queue_directory</a> 9163(default: see "postconf -d" output)</b></DT><DD> 9164 9165<p> 9166The location of the Postfix top-level queue directory. This is the 9167root directory of Postfix daemon processes that run chrooted. 9168</p> 9169 9170 9171</DD> 9172 9173<DT><b><a name="queue_file_attribute_count_limit">queue_file_attribute_count_limit</a> 9174(default: 100)</b></DT><DD> 9175 9176<p> 9177The maximal number of (name=value) attributes that may be stored 9178in a Postfix queue file. The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a> 9179server. 9180</p> 9181 9182<p> 9183This feature is available in Postfix 2.0 and later. 9184</p> 9185 9186 9187</DD> 9188 9189<DT><b><a name="queue_minfree">queue_minfree</a> 9190(default: 0)</b></DT><DD> 9191 9192<p> 9193The minimal amount of free space in bytes in the queue file system 9194that is needed to receive mail. This is currently used by the 9195Postfix SMTP server to decide if it will accept any mail at all. 9196</p> 9197 9198<p> 9199By default, the Postfix SMTP server rejects MAIL FROM commands when 9200the amount of free space is less than 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a> 9201(Postfix version 2.1 and later). 9202To specify a higher minimum free space limit, specify a <a href="postconf.5.html#queue_minfree">queue_minfree</a> 9203value that is at least 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>. 9204</p> 9205 9206<p> 9207With Postfix versions 2.0 and earlier, a <a href="postconf.5.html#queue_minfree">queue_minfree</a> value of 9208zero means there is no minimum required amount of free space. 9209</p> 9210 9211 9212</DD> 9213 9214<DT><b><a name="queue_run_delay">queue_run_delay</a> 9215(default: 300s)</b></DT><DD> 9216 9217<p> 9218The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue manager; 9219prior to Postfix 2.4 the default value was 1000s. 9220</p> 9221 9222<p> This parameter should be set less than or equal to 9223$<a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a>. See also $<a href="postconf.5.html#maximal_backoff_time">maximal_backoff_time</a>. </p> 9224 9225<p> 9226Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 9227The default time unit is s (seconds). 9228</p> 9229 9230 9231</DD> 9232 9233<DT><b><a name="queue_service_name">queue_service_name</a> 9234(default: qmgr)</b></DT><DD> 9235 9236<p> 9237The name of the <a href="qmgr.8.html">qmgr(8)</a> service. This service manages the Postfix 9238queue and schedules delivery requests. 9239</p> 9240 9241<p> 9242This feature is available in Postfix 2.0 and later. 9243</p> 9244 9245 9246</DD> 9247 9248<DT><b><a name="rbl_reply_maps">rbl_reply_maps</a> 9249(default: empty)</b></DT><DD> 9250 9251<p> 9252Optional lookup tables with RBL response templates. The tables are 9253indexed by the RBL domain name. By default, Postfix uses the default 9254template as specified with the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> configuration 9255parameter. See there for a discussion of the syntax of RBL reply 9256templates. 9257</p> 9258 9259<p> 9260This feature is available in Postfix 2.0 and later. 9261</p> 9262 9263 9264</DD> 9265 9266<DT><b><a name="readme_directory">readme_directory</a> 9267(default: see "postconf -d" output)</b></DT><DD> 9268 9269<p> 9270The location of Postfix README files that describe how to build, 9271configure or operate a specific Postfix subsystem or feature. 9272</p> 9273 9274 9275</DD> 9276 9277<DT><b><a name="receive_override_options">receive_override_options</a> 9278(default: empty)</b></DT><DD> 9279 9280<p> Enable or disable recipient validation, built-in content 9281filtering, or address mapping. Typically, these are specified in 9282<a href="master.5.html">master.cf</a> as command-line arguments for the <a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a> or 9283<a href="pickup.8.html">pickup(8)</a> daemons. </p> 9284 9285<p> Specify zero or more of the following options. The options 9286override <a href="postconf.5.html">main.cf</a> settings and are either implemented by <a href="smtpd.8.html">smtpd(8)</a>, 9287<a href="qmqpd.8.html">qmqpd(8)</a>, or <a href="pickup.8.html">pickup(8)</a> themselves, or they are forwarded to the 9288cleanup server. </p> 9289 9290<dl> 9291 9292<dt><b><a name="no_unknown_recipient_checks">no_unknown_recipient_checks</a></b></dt> 9293 9294<dd>Do not try to reject unknown recipients (SMTP server only). 9295This is typically specified AFTER an external content filter. 9296</dd> 9297 9298<dt><b><a name="no_address_mappings">no_address_mappings</a></b></dt> 9299 9300<dd>Disable canonical address mapping, virtual alias map expansion, 9301address masquerading, and automatic BCC (blind carbon-copy) 9302recipients. This is typically specified BEFORE an external content 9303filter. </dd> 9304 9305<dt><b><a name="no_header_body_checks">no_header_body_checks</a></b></dt> 9306 9307<dd>Disable header/body_checks. This is typically specified AFTER 9308an external content filter. </dd> 9309 9310<dt><b><a name="no_milters">no_milters</a></b></dt> 9311 9312<dd>Disable Milter (mail filter) applications. This is typically 9313specified AFTER an external content filter. </dd> 9314 9315</dl> 9316 9317<p> 9318Note: when the "BEFORE content filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a> 9319setting is specified in the <a href="postconf.5.html">main.cf</a> file, specify the "AFTER content 9320filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a> setting in <a href="master.5.html">master.cf</a> (and vice 9321versa). 9322</p> 9323 9324<p> 9325Examples: 9326</p> 9327 9328<pre> 9329<a href="postconf.5.html#receive_override_options">receive_override_options</a> = 9330 <a href="postconf.5.html#no_unknown_recipient_checks">no_unknown_recipient_checks</a>, <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a> 9331<a href="postconf.5.html#receive_override_options">receive_override_options</a> = <a href="postconf.5.html#no_address_mappings">no_address_mappings</a> 9332</pre> 9333 9334<p> 9335This feature is available in Postfix 2.1 and later. 9336</p> 9337 9338 9339</DD> 9340 9341<DT><b><a name="recipient_bcc_maps">recipient_bcc_maps</a> 9342(default: empty)</b></DT><DD> 9343 9344<p> 9345Optional BCC (blind carbon-copy) address lookup tables, indexed by 9346recipient address. The BCC address (multiple results are not 9347supported) is added when mail enters from outside of Postfix. 9348</p> 9349 9350<p> 9351Specify zero or more "type:name" lookup tables, separated by 9352whitespace or comma. Tables will be searched in the specified order 9353until a match is found. 9354</p> 9355 9356<p> 9357The table search order is as follows: 9358</p> 9359 9360<ul> 9361 9362<li> Look up the "user+extension@domain.tld" address including the 9363optional address extension. 9364 9365<li> Look up the "user@domain.tld" address without the optional 9366address extension. 9367 9368<li> Look up the "user+extension" address local part when the 9369recipient domain equals $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> 9370or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. 9371 9372<li> Look up the "user" address local part when the recipient domain 9373equals $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. 9374 9375<li> Look up the "@domain.tld" part. 9376 9377</ul> 9378 9379<p> 9380Note: with Postfix 2.3 and later the BCC address is added as if it 9381was specified with NOTIFY=NONE. The sender will not be notified 9382when the BCC address is undeliverable, as long as all down-stream 9383software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>. 9384</p> 9385 9386<p> 9387Note: with Postfix 2.2 and earlier the sender will unconditionally 9388be notified when the BCC address is undeliverable. 9389</p> 9390 9391<p> Note: automatic BCC recipients are produced only for new mail. 9392To avoid mailer loops, automatic BCC recipients are not generated 9393after Postfix forwards mail internally, or after Postfix generates 9394mail itself. </p> 9395 9396<p> 9397Example: 9398</p> 9399 9400<pre> 9401<a href="postconf.5.html#recipient_bcc_maps">recipient_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_bcc 9402</pre> 9403 9404<p> 9405After a change, run "<b>postmap /etc/postfix/recipient_bcc</b>". 9406</p> 9407 9408<p> 9409This feature is available in Postfix 2.1 and later. 9410</p> 9411 9412 9413</DD> 9414 9415<DT><b><a name="recipient_canonical_classes">recipient_canonical_classes</a> 9416(default: envelope_recipient, header_recipient)</b></DT><DD> 9417 9418<p> What addresses are subject to <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address 9419mapping. By default, <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address mapping is 9420applied to envelope recipient addresses, and to header recipient 9421addresses. </p> 9422 9423<p> Specify one or more of: envelope_recipient, header_recipient 9424</p> 9425 9426<p> This feature is available in Postfix 2.2 and later. </p> 9427 9428 9429</DD> 9430 9431<DT><b><a name="recipient_canonical_maps">recipient_canonical_maps</a> 9432(default: empty)</b></DT><DD> 9433 9434<p> 9435Optional address mapping lookup tables for envelope and header 9436recipient addresses. 9437The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>. 9438</p> 9439 9440<p> 9441Note: $<a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> is processed before $<a href="postconf.5.html#canonical_maps">canonical_maps</a>. 9442</p> 9443 9444<p> 9445Example: 9446</p> 9447 9448<pre> 9449<a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_canonical 9450</pre> 9451 9452 9453</DD> 9454 9455<DT><b><a name="recipient_delimiter">recipient_delimiter</a> 9456(default: empty)</b></DT><DD> 9457 9458<p> The set of characters that can separate a user name from its 9459extension (example: user+foo), or a .forward file name from its 9460extension (example: .forward+foo). Basically, the software tries 9461user+foo and .forward+foo before trying user and .forward. This 9462implementation recognizes one delimiter character and one extension 9463per email address or .forward file name. </p> 9464 9465<p> When the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set contains multiple characters 9466(Postfix 2.11 and later), a user name or .forward file name is 9467separated from its extension by the first character that matches 9468the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set. </p> 9469 9470<p> See <a href="canonical.5.html">canonical(5)</a>, <a href="local.8.html">local(8)</a>, <a href="relocated.5.html">relocated(5)</a> and <a href="virtual.5.html">virtual(5)</a> for the 9471effects of <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> on lookups in aliases, canonical, 9472virtual, and relocated maps, and see the <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> 9473parameter for propagating an extension from one email address to 9474another. </p> 9475 9476<p> When used in <a href="postconf.5.html#command_execution_directory">command_execution_directory</a>, <a href="postconf.5.html#forward_path">forward_path</a>, or 9477<a href="postconf.5.html#luser_relay">luser_relay</a>, ${<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>} is replaced with the actual 9478recipient delimiter that was found in the recipient email address 9479(Postfix 2.11 and later), or it is replaced with the <a href="postconf.5.html">main.cf</a> 9480<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> parameter value (Postfix 2.10 and earlier). 9481</p> 9482 9483<p> The <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is not applied to the mailer-daemon 9484address, the postmaster address, or the double-bounce address. With 9485the default "<a href="postconf.5.html#owner_request_special">owner_request_special</a> = yes" setting, the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> 9486is also not applied to addresses with the special "owner-" prefix 9487or the special "-request" suffix. </p> 9488 9489<p> 9490Examples: 9491</p> 9492 9493<pre> 9494# Handle Postfix-style extensions. 9495<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = + 9496</pre> 9497 9498<pre> 9499# Handle both Postfix and qmail extensions (Postfix 2.11 and later). 9500<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +- 9501</pre> 9502 9503<pre> 9504# Use .forward for mail without address extension, and for mail with 9505# an unrecognized address extension. 9506<a href="postconf.5.html#forward_path">forward_path</a> = $home/.forward${<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>}${extension}, 9507 $home/.forward 9508</pre> 9509 9510 9511</DD> 9512 9513<DT><b><a name="reject_code">reject_code</a> 9514(default: 554)</b></DT><DD> 9515 9516<p> 9517The numerical Postfix SMTP server response code when a remote SMTP 9518client request is rejected by the "reject" restriction. 9519</p> 9520 9521<p> 9522Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 9523</p> 9524 9525 9526</DD> 9527 9528<DT><b><a name="reject_tempfail_action">reject_tempfail_action</a> 9529(default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>)</b></DT><DD> 9530 9531<p> The Postfix SMTP server's action when a reject-type restriction 9532fails due to a temporary error condition. Specify "defer" to defer 9533the remote SMTP client request immediately. With the default 9534"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look 9535for opportunities to reject mail, and defers the client request 9536only if it would otherwise be accepted. </p> 9537 9538<p> For finer control, see: <a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>, 9539<a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a>, <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a>, 9540and <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>. </p> 9541 9542<p> This feature is available in Postfix 2.6 and later. </p> 9543 9544 9545</DD> 9546 9547<DT><b><a name="relay_clientcerts">relay_clientcerts</a> 9548(default: empty)</b></DT><DD> 9549 9550<p> List of tables with remote SMTP client-certificate fingerprints or 9551public key fingerprints (Postfix 2.9 and later) for which the Postfix 9552SMTP server will allow access with the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> 9553feature. The fingerprint digest algorithm is configurable via the 9554<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to 9555Postfix version 2.5). </p> 9556 9557<p> Postfix lookup tables are in the form of (key, value) pairs. 9558Since we only need the key, the value can be chosen freely, e.g. 9559the name of the user or host: 9560D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home </p> 9561 9562<p> Example: </p> 9563 9564<pre> 9565<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_clientcerts 9566</pre> 9567 9568<p>For more fine-grained control, use <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> to select 9569an appropriate <a href="access.5.html">access(5)</a> policy for each client. 9570See <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a>.</p> 9571 9572<p> <b>Note:</b> Postfix 2.9.0–2.9.5 computed the public key 9573fingerprint incorrectly. To use public-key fingerprints, upgrade 9574to Postfix 2.9.6 or later. </p> 9575 9576<p>This feature is available with Postfix version 2.2.</p> 9577 9578 9579</DD> 9580 9581<DT><b><a name="relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> 9582(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD> 9583 9584<p> The maximal number of parallel deliveries to the same destination 9585via the relay message delivery transport. This limit is enforced 9586by the queue manager. The message delivery transport name is the 9587first field in the entry in the <a href="master.5.html">master.cf</a> file. </p> 9588 9589<p> This feature is available in Postfix 2.0 and later. </p> 9590 9591 9592</DD> 9593 9594<DT><b><a name="relay_destination_recipient_limit">relay_destination_recipient_limit</a> 9595(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD> 9596 9597<p> The maximal number of recipients per message for the relay 9598message delivery transport. This limit is enforced by the queue 9599manager. The message delivery transport name is the first field in 9600the entry in the <a href="master.5.html">master.cf</a> file. </p> 9601 9602<p> Setting this parameter to a value of 1 changes the meaning of 9603<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> from concurrency per domain 9604into concurrency per recipient. </p> 9605 9606<p> This feature is available in Postfix 2.0 and later. </p> 9607 9608 9609</DD> 9610 9611<DT><b><a name="relay_domains">relay_domains</a> 9612(default: Postfix ≥ 3.0: empty, Postfix < 3.0: $<a href="postconf.5.html#mydestination">mydestination</a>)</b></DT><DD> 9613 9614<p> What destination domains (and subdomains thereof) this system 9615will relay mail to. For details about how 9616the <a href="postconf.5.html#relay_domains">relay_domains</a> value is used, see the description of the 9617<a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> and <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> SMTP recipient 9618restrictions. </p> 9619 9620<p> Domains that match $<a href="postconf.5.html#relay_domains">relay_domains</a> are delivered with the 9621$<a href="postconf.5.html#relay_transport">relay_transport</a> mail delivery transport. The SMTP server validates 9622recipient addresses with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> and rejects non-existent 9623recipients. See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the 9624<a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file. </p> 9625 9626<p> Note: Postfix will not automatically forward mail for domains 9627that list this system as their primary or backup MX host. See the 9628<a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> restriction in the <a href="postconf.5.html">postconf(5)</a> manual page. </p> 9629 9630<p> Specify a list of host or domain names, "/file/name" patterns 9631or "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace. 9632Continue long lines by starting the next line with whitespace. A 9633"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" 9634lookup table is matched when a (parent) domain appears as lookup 9635key. Specify "!pattern" to exclude a domain from the list. The form 9636"!/file/name" is supported only in Postfix version 2.4 and later. 9637</p> 9638 9639<p> Pattern matching of domain names is controlled by the presence 9640or absence of "<a href="postconf.5.html#relay_domains">relay_domains</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> 9641parameter value. </p> 9642 9643 9644</DD> 9645 9646<DT><b><a name="relay_domains_reject_code">relay_domains_reject_code</a> 9647(default: 554)</b></DT><DD> 9648 9649<p> 9650The numerical Postfix SMTP server response code when a client 9651request is rejected by the <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> recipient 9652restriction. 9653</p> 9654 9655<p> 9656Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 9657</p> 9658 9659 9660</DD> 9661 9662<DT><b><a name="relay_recipient_maps">relay_recipient_maps</a> 9663(default: empty)</b></DT><DD> 9664 9665<p> Optional lookup tables with all valid addresses in the domains 9666that match $<a href="postconf.5.html#relay_domains">relay_domains</a>. Specify @domain as a wild-card for 9667domains that have no valid recipient list, and become a source of 9668backscatter mail: Postfix accepts spam for non-existent recipients 9669and then floods innocent people with undeliverable mail. Technically, 9670tables 9671listed with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> are used as lists: Postfix needs 9672to know only if a lookup string is found or not, but it does not 9673use the result from table lookup. </p> 9674 9675<p> 9676Specify zero or more "type:name" lookup tables, separated by 9677whitespace or comma. Tables will be searched in the specified order 9678until a match is found. 9679</p> 9680 9681<p> 9682If this parameter is non-empty, then the Postfix SMTP server will reject 9683mail to unknown relay users. This feature is off by default. 9684</p> 9685 9686<p> 9687See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> 9688file. 9689</p> 9690 9691<p> 9692Example: 9693</p> 9694 9695<pre> 9696<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_recipients 9697</pre> 9698 9699<p> 9700This feature is available in Postfix 2.0 and later. 9701</p> 9702 9703 9704</DD> 9705 9706<DT><b><a name="relay_transport">relay_transport</a> 9707(default: relay)</b></DT><DD> 9708 9709<p> 9710The default mail delivery transport and next-hop destination for 9711remote delivery to domains listed with $<a href="postconf.5.html#relay_domains">relay_domains</a>. In order of 9712decreasing precedence, the nexthop destination is taken from 9713$<a href="postconf.5.html#relay_transport">relay_transport</a>, $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>, $<a href="postconf.5.html#relayhost">relayhost</a>, or 9714from the recipient domain. This information can be overruled with 9715the <a href="transport.5.html">transport(5)</a> table. 9716</p> 9717 9718<p> 9719Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i> 9720is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>. 9721The <i>:nexthop</i> destination is optional; its syntax is documented 9722in the manual page of the corresponding delivery agent. 9723</p> 9724 9725<p> 9726See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> 9727file. 9728</p> 9729 9730<p> 9731This feature is available in Postfix 2.0 and later. 9732</p> 9733 9734 9735</DD> 9736 9737<DT><b><a name="relayhost">relayhost</a> 9738(default: empty)</b></DT><DD> 9739 9740<p> 9741The next-hop destination(s) for non-local mail; overrides non-local 9742domains in recipient addresses. This information is overruled with 9743<a href="postconf.5.html#relay_transport">relay_transport</a>, <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>, 9744<a href="postconf.5.html#default_transport">default_transport</a>, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> 9745and with the <a href="transport.5.html">transport(5)</a> table. 9746</p> 9747 9748<p> 9749On an intranet, specify the organizational domain name. If your 9750internal DNS uses no MX records, specify the name of the intranet 9751gateway host instead. 9752</p> 9753 9754<p> 9755In the case of SMTP or LMTP delivery, specify one or more destinations 9756in the form of a domain name, hostname, hostname:port, [hostname]:port, 9757[hostaddress] or [hostaddress]:port, separated by comma or whitespace. 9758The form [hostname] turns off MX lookups. Multiple destinations are 9759supported in Postfix 3.5 and later. 9760</p> 9761 9762<p> 9763If you're connected via UUCP, see the <a href="UUCP_README.html">UUCP_README</a> file for useful 9764information. 9765</p> 9766 9767<p> 9768Examples: 9769</p> 9770 9771<pre> 9772<a href="postconf.5.html#relayhost">relayhost</a> = $<a href="postconf.5.html#mydomain">mydomain</a> 9773<a href="postconf.5.html#relayhost">relayhost</a> = [gateway.example.com] 9774<a href="postconf.5.html#relayhost">relayhost</a> = mail1.example:587, mail2.example:587 9775<a href="postconf.5.html#relayhost">relayhost</a> = [an.ip.add.ress] 9776</pre> 9777 9778 9779</DD> 9780 9781<DT><b><a name="relocated_maps">relocated_maps</a> 9782(default: empty)</b></DT><DD> 9783 9784<p> 9785Optional lookup tables with new contact information for users or 9786domains that no longer exist. The table format and lookups are 9787documented in <a href="relocated.5.html">relocated(5)</a>. 9788</p> 9789 9790<p> 9791Specify zero or more "type:name" lookup tables, separated by 9792whitespace or comma. Tables will be searched in the specified order 9793until a match is found. 9794</p> 9795 9796<p> 9797If you use this feature, run "<b>postmap /etc/postfix/relocated</b>" to 9798build the necessary DBM or DB file after change, then "<b>postfix 9799reload</b>" to make the changes visible. 9800</p> 9801 9802<p> 9803Examples: 9804</p> 9805 9806<pre> 9807<a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/relocated 9808<a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relocated 9809</pre> 9810 9811 9812</DD> 9813 9814<DT><b><a name="remote_header_rewrite_domain">remote_header_rewrite_domain</a> 9815(default: empty)</b></DT><DD> 9816 9817<p> Don't rewrite message headers from remote clients at all when 9818this parameter is empty; otherwise, rewrite message headers and 9819append the specified domain name to incomplete addresses. The 9820<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter controls what clients Postfix 9821considers local. </p> 9822 9823<p> Examples: </p> 9824 9825<p> The safe setting: append "domain.invalid" to incomplete header 9826addresses from remote SMTP clients, so that those addresses cannot 9827be confused with local addresses. </p> 9828 9829<blockquote> 9830<pre> 9831<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> = domain.invalid 9832</pre> 9833</blockquote> 9834 9835<p> The default, purist, setting: don't rewrite headers from remote 9836clients at all. </p> 9837 9838<blockquote> 9839<pre> 9840<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> = 9841</pre> 9842</blockquote> 9843 9844 9845</DD> 9846 9847<DT><b><a name="require_home_directory">require_home_directory</a> 9848(default: no)</b></DT><DD> 9849 9850<p> 9851Require that a <a href="local.8.html">local(8)</a> recipient's home directory exists 9852before mail delivery is attempted. By default this test is disabled. 9853It can be useful for environments that import home directories to 9854the mail server (IMPORTING HOME DIRECTORIES IS NOT RECOMMENDED). 9855</p> 9856 9857 9858</DD> 9859 9860<DT><b><a name="reset_owner_alias">reset_owner_alias</a> 9861(default: no)</b></DT><DD> 9862 9863<p> Reset the <a href="local.8.html">local(8)</a> delivery agent's idea of the owner-alias 9864attribute, when delivering mail to a child alias that does not have 9865its own owner alias. </p> 9866 9867<p> This feature is available in Postfix 2.8 and later. With older 9868Postfix releases, the behavior is as if this parameter is set to 9869"yes". </p> 9870 9871<p> As documented in <a href="aliases.5.html">aliases(5)</a>, when an alias <i>name</i> has a 9872companion alias named owner-<i>name</i>, this will replace the 9873envelope sender address, so that delivery errors will be 9874reported to the owner alias instead of the sender. This configuration 9875is recommended for mailing lists. <p> 9876 9877<p> A less known property of the owner alias is that it also forces 9878the <a href="local.8.html">local(8)</a> delivery agent to write local and remote addresses 9879from alias expansion to a new queue file, instead of attempting to 9880deliver mail to local addresses as soon as they come out of alias 9881expansion. </p> 9882 9883<p> Writing local addresses from alias expansion to a new queue 9884file allows for robust handling of temporary delivery errors: errors 9885with one local member have no effect on deliveries to other members 9886of the list. On the other hand, delivery to local addresses as 9887soon as they come out of alias expansion is fragile: a temporary 9888error with one local address from alias expansion will cause the 9889entire alias to be expanded repeatedly until the error goes away, 9890or until the message expires in the queue. In that case, a problem 9891with one list member results in multiple message deliveries to other 9892list members. </p> 9893 9894<p> The default behavior of Postfix 2.8 and later is to keep the 9895owner-alias attribute of the parent alias, when delivering mail to 9896a child alias that does not have its own owner alias. Then, local 9897addresses from that child alias will be written to a new queue file, 9898and a temporary error with one local address will not affect delivery 9899to other mailing list members. </p> 9900 9901<p> Unfortunately, older Postfix releases reset the owner-alias 9902attribute when delivering mail to a child alias that does not have 9903its own owner alias. To be precise, this resets only the decision 9904to create a new queue file, not the decision to override the envelope 9905sender address. The <a href="local.8.html">local(8)</a> delivery agent then attempts to 9906deliver local addresses as soon as they come out of child alias 9907expansion. If delivery to any address from child alias expansion 9908fails with a temporary error condition, the entire mailing list may 9909be expanded repeatedly until the mail expires in the queue, resulting 9910in multiple deliveries of the same message to mailing list members. 9911</p> 9912 9913 9914</DD> 9915 9916<DT><b><a name="resolve_dequoted_address">resolve_dequoted_address</a> 9917(default: yes)</b></DT><DD> 9918 9919<p> Resolve a recipient address safely instead of correctly, by 9920looking inside quotes. </p> 9921 9922<p> By default, the Postfix address resolver does not quote the 9923address localpart as per <a href="http://tools.ietf.org/html/rfc822">RFC 822</a>, so that additional @ or % or ! 9924operators remain visible. This behavior is safe but it is also 9925technically incorrect. </p> 9926 9927<p> If you specify "<a href="postconf.5.html#resolve_dequoted_address">resolve_dequoted_address</a> = no", then 9928the Postfix 9929resolver will not know about additional @ etc. operators in the 9930address localpart. This opens opportunities for obscure mail relay 9931attacks with user@domain@domain addresses when Postfix provides 9932backup MX service for Sendmail systems. </p> 9933 9934 9935</DD> 9936 9937<DT><b><a name="resolve_null_domain">resolve_null_domain</a> 9938(default: no)</b></DT><DD> 9939 9940<p> Resolve an address that ends in the "@" null domain as if the 9941local hostname were specified, instead of rejecting the address as 9942invalid. </p> 9943 9944<p> This feature is available in Postfix 2.1 and later. 9945Earlier versions always resolve the null domain as the local 9946hostname. </p> 9947 9948<p> The Postfix SMTP server uses this feature to reject mail from 9949or to addresses that end in the "@" null domain, and from addresses 9950that rewrite into a form that ends in the "@" null domain. </p> 9951 9952 9953</DD> 9954 9955<DT><b><a name="resolve_numeric_domain">resolve_numeric_domain</a> 9956(default: no)</b></DT><DD> 9957 9958<p> Resolve "user@ipaddress" as "user@[ipaddress]", instead of 9959rejecting the address as invalid. </p> 9960 9961<p> This feature is available in Postfix 2.3 and later. 9962 9963 9964</DD> 9965 9966<DT><b><a name="rewrite_service_name">rewrite_service_name</a> 9967(default: rewrite)</b></DT><DD> 9968 9969<p> 9970The name of the address rewriting service. This service rewrites 9971addresses to standard form and resolves them to a (delivery method, 9972next-hop host, recipient) triple. 9973</p> 9974 9975<p> 9976This feature is available in Postfix 2.0 and later. 9977</p> 9978 9979 9980</DD> 9981 9982<DT><b><a name="sample_directory">sample_directory</a> 9983(default: /etc/postfix)</b></DT><DD> 9984 9985<p> 9986The name of the directory with example Postfix configuration files. 9987Starting with Postfix 2.1, these files have been replaced with the 9988<a href="postconf.5.html">postconf(5)</a> manual page. 9989</p> 9990 9991 9992</DD> 9993 9994<DT><b><a name="send_cyrus_sasl_authzid">send_cyrus_sasl_authzid</a> 9995(default: no)</b></DT><DD> 9996 9997<p> When authenticating to a remote SMTP or LMTP server with the 9998default setting "no", send no SASL authoriZation ID (authzid); send 9999only the SASL authentiCation ID (authcid) plus the authcid's password. 10000</p> 10001 10002<p> The non-default setting "yes" enables the behavior of older 10003Postfix versions. These always send a SASL authzid that is equal 10004to the SASL authcid, but this causes interoperability problems 10005with some SMTP servers. </p> 10006 10007<p> This feature is available in Postfix 2.4.4 and later. </p> 10008 10009 10010</DD> 10011 10012<DT><b><a name="sender_based_routing">sender_based_routing</a> 10013(default: no)</b></DT><DD> 10014 10015<p> 10016This parameter should not be used. It was replaced by <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> 10017in Postfix version 2.3. 10018</p> 10019 10020 10021</DD> 10022 10023<DT><b><a name="sender_bcc_maps">sender_bcc_maps</a> 10024(default: empty)</b></DT><DD> 10025 10026<p> Optional BCC (blind carbon-copy) address lookup tables, indexed 10027by sender address. The BCC address (multiple results are not 10028supported) is added when mail enters from outside of Postfix. </p> 10029 10030<p> 10031Specify zero or more "type:name" lookup tables, separated by 10032whitespace or comma. Tables will be searched in the specified order 10033until a match is found. 10034</p> 10035 10036<p> 10037The table search order is as follows: 10038</p> 10039 10040<ul> 10041 10042<li> Look up the "user+extension@domain.tld" address including the 10043optional address extension. 10044 10045<li> Look up the "user@domain.tld" address without the optional 10046address extension. 10047 10048<li> Look up the "user+extension" address local part when the 10049sender domain equals $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> 10050or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. 10051 10052<li> Look up the "user" address local part when the sender domain 10053equals $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. 10054 10055<li> Look up the "@domain.tld" part. 10056 10057</ul> 10058 10059<p> 10060Note: with Postfix 2.3 and later the BCC address is added as if it 10061was specified with NOTIFY=NONE. The sender will not be notified 10062when the BCC address is undeliverable, as long as all down-stream 10063software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>. 10064</p> 10065 10066<p> 10067Note: with Postfix 2.2 and earlier the sender will be notified 10068when the BCC address is undeliverable. 10069</p> 10070 10071<p> Note: automatic BCC recipients are produced only for new mail. 10072To avoid mailer loops, automatic BCC recipients are not generated 10073after Postfix forwards mail internally, or after Postfix generates 10074mail itself. </p> 10075 10076<p> 10077Example: 10078</p> 10079 10080<pre> 10081<a href="postconf.5.html#sender_bcc_maps">sender_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_bcc 10082</pre> 10083 10084<p> 10085After a change, run "<b>postmap /etc/postfix/sender_bcc</b>". 10086</p> 10087 10088<p> 10089This feature is available in Postfix 2.1 and later. 10090</p> 10091 10092 10093</DD> 10094 10095<DT><b><a name="sender_canonical_classes">sender_canonical_classes</a> 10096(default: envelope_sender, header_sender)</b></DT><DD> 10097 10098<p> What addresses are subject to <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address 10099mapping. By default, <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address mapping is 10100applied to envelope sender addresses, and to header sender addresses. 10101</p> 10102 10103<p> Specify one or more of: envelope_sender, header_sender </p> 10104 10105<p> This feature is available in Postfix 2.2 and later. </p> 10106 10107 10108</DD> 10109 10110<DT><b><a name="sender_canonical_maps">sender_canonical_maps</a> 10111(default: empty)</b></DT><DD> 10112 10113<p> 10114Optional address mapping lookup tables for envelope and header 10115sender addresses. 10116The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>. 10117</p> 10118 10119<p> 10120Example: you want to rewrite the SENDER address "user@ugly.domain" 10121to "user@pretty.domain", while still being able to send mail to 10122the RECIPIENT address "user@ugly.domain". 10123</p> 10124 10125<p> 10126Note: $<a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> is processed before $<a href="postconf.5.html#canonical_maps">canonical_maps</a>. 10127</p> 10128 10129<p> 10130Example: 10131</p> 10132 10133<pre> 10134<a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_canonical 10135</pre> 10136 10137 10138</DD> 10139 10140<DT><b><a name="sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> 10141(default: empty)</b></DT><DD> 10142 10143<p> A sender-dependent override for the global <a href="postconf.5.html#default_transport">default_transport</a> 10144parameter setting. The tables are searched by the envelope sender 10145address and @domain. A lookup result of DUNNO terminates the search 10146without overriding the global <a href="postconf.5.html#default_transport">default_transport</a> parameter setting. 10147This information is overruled with the <a href="transport.5.html">transport(5)</a> table. </p> 10148 10149<p> 10150Specify zero or more "type:name" lookup tables, separated by 10151whitespace or comma. Tables will be searched in the specified order 10152until a match is found. 10153</p> 10154 10155<p> Note: this overrides <a href="postconf.5.html#default_transport">default_transport</a>, not <a href="postconf.5.html#transport_maps">transport_maps</a>, and 10156therefore the expected syntax is that of <a href="postconf.5.html#default_transport">default_transport</a>, not the 10157syntax of <a href="postconf.5.html#transport_maps">transport_maps</a>. Specifically, this does not support the 10158<a href="postconf.5.html#transport_maps">transport_maps</a> syntax for null transport, null nexthop, or null 10159email addresses. </p> 10160 10161<p> For safety reasons, this feature does not allow $number 10162substitutions in regular expression maps. </p> 10163 10164<p> This feature is available in Postfix 2.7 and later. </p> 10165 10166 10167</DD> 10168 10169<DT><b><a name="sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> 10170(default: empty)</b></DT><DD> 10171 10172<p> A sender-dependent override for the global <a href="postconf.5.html#relayhost">relayhost</a> parameter 10173setting. The tables are searched by the envelope sender address and 10174@domain. A lookup result of DUNNO terminates the search without 10175overriding the global <a href="postconf.5.html#relayhost">relayhost</a> parameter setting (Postfix 2.6 and 10176later). This information is overruled with <a href="postconf.5.html#relay_transport">relay_transport</a>, 10177<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>, <a href="postconf.5.html#default_transport">default_transport</a> and with 10178the <a href="transport.5.html">transport(5)</a> table. </p> 10179 10180<p> 10181Specify zero or more "type:name" lookup tables, separated by 10182whitespace or comma. Tables will be searched in the specified order 10183until a match is found. 10184</p> 10185 10186<p> For safety reasons, this feature does not allow $number 10187substitutions in regular expression maps. </p> 10188 10189<p> 10190This feature is available in Postfix 2.3 and later. 10191</p> 10192 10193 10194</DD> 10195 10196<DT><b><a name="sendmail_fix_line_endings">sendmail_fix_line_endings</a> 10197(default: always)</b></DT><DD> 10198 10199<p> Controls how the Postfix sendmail command converts email message 10200line endings from <CR><LF> into UNIX format (<LF>). 10201</p> 10202 10203<dl> 10204 10205<dt> <b>always</b> </dt> <dd> Always convert message lines ending 10206in <CR><LF>. This setting is the default with Postfix 102072.9 and later. </dd> 10208 10209<dt> <b>strict</b> </dt> <dd> Convert message lines ending in 10210<CR><LF> only if the first input line ends in 10211<CR><LF>. This setting is backwards-compatible with 10212Postfix 2.8 and earlier. </dd> 10213 10214<dt> <b>never</b> </dt> <dd> Never convert message lines ending in 10215<CR><LF>. This setting exists for completeness only. 10216</dd> 10217 10218</dl> 10219 10220<p> This feature is available in Postfix 2.9 and later. </p> 10221 10222 10223</DD> 10224 10225<DT><b><a name="sendmail_path">sendmail_path</a> 10226(default: see "postconf -d" output)</b></DT><DD> 10227 10228<p> 10229A Sendmail compatibility feature that specifies the location of 10230the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. This command can be used to 10231submit mail into the Postfix queue. 10232</p> 10233 10234 10235</DD> 10236 10237<DT><b><a name="service_name">service_name</a> 10238(read-only)</b></DT><DD> 10239 10240<p> The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process. This 10241can be used to distinguish the logging from different services that 10242use the same program name. </p> 10243 10244<p> Example <a href="master.5.html">master.cf</a> entries: </p> 10245 10246<pre> 10247# Distinguish inbound MTA logging from submission and smtps logging. 10248smtp inet n - n - - smtpd 10249submission inet n - n - - smtpd 10250 -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a> 10251smtps inet n - n - - smtpd 10252 -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a> 10253</pre> 10254 10255<pre> 10256# Distinguish outbound MTA logging from inbound relay logging. 10257smtp unix - - n - - smtp 10258relay unix - - n - - smtp 10259 -o <a href="postconf.5.html#syslog_name">syslog_name</a>=postfix/$<a href="postconf.5.html#service_name">service_name</a> 10260</pre> 10261 10262 10263</DD> 10264 10265<DT><b><a name="service_throttle_time">service_throttle_time</a> 10266(default: 60s)</b></DT><DD> 10267 10268<p> 10269How long the Postfix <a href="master.8.html">master(8)</a> waits before forking a server that 10270appears to be malfunctioning. 10271</p> 10272 10273<p> 10274Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 10275The default time unit is s (seconds). 10276</p> 10277 10278 10279</DD> 10280 10281<DT><b><a name="setgid_group">setgid_group</a> 10282(default: postdrop)</b></DT><DD> 10283 10284<p> 10285The group ownership of set-gid Postfix commands and of group-writable 10286Postfix directories. When this parameter value is changed you need 10287to re-run "<b>postfix set-permissions</b>" (with Postfix version 2.0 and 10288earlier: "<b>/etc/postfix/post-install set-permissions</b>". 10289</p> 10290 10291 10292</DD> 10293 10294<DT><b><a name="shlib_directory">shlib_directory</a> 10295(default: see 'postconf -d' output)</b></DT><DD> 10296 10297<p> The location of Postfix dynamically-linked libraries 10298(libpostfix-*.so), and the default location of Postfix database 10299plugins (postfix-*.so) that have a relative pathname in the 10300dynamicmaps.cf file. The <a href="postconf.5.html#shlib_directory">shlib_directory</a> parameter defaults to 10301"no" when Postfix dynamically-linked libraries and database plugins 10302are disabled at compile time, otherwise it typically defaults to 10303/usr/lib/postfix or /usr/local/lib/postfix. </p> 10304 10305<p> Notes: </p> 10306 10307<ul> 10308 10309<li> <p> The directory specified with <a href="postconf.5.html#shlib_directory">shlib_directory</a> should contain 10310only Postfix-related files. Postfix dynamically-linked libraries 10311and database plugins should not be installed in a "public" system 10312directory such as /usr/lib or /usr/local/lib. Linking Postfix 10313dynamically-linked library files or database plugins into non-Postfix 10314programs is not supported. Postfix dynamically-linked libraries 10315and database plugins implement a Postfix-internal API that changes 10316without maintaining compatibility. </p> 10317 10318<li> <p> You can change the <a href="postconf.5.html#shlib_directory">shlib_directory</a> value after Postfix is 10319built. However, you may have to run ldconfig or equivalent to prevent 10320Postfix programs from failing because the libpostfix-*.so files are 10321not found. No ldconfig command is needed if you keep the libpostfix-*.so 10322files in the compiled-in default $<a href="postconf.5.html#shlib_directory">shlib_directory</a> location. </p> 10323 10324</ul> 10325 10326<p> This feature is available in Postfix 3.0 and later. </p> 10327 10328 10329</DD> 10330 10331<DT><b><a name="show_user_unknown_table_name">show_user_unknown_table_name</a> 10332(default: yes)</b></DT><DD> 10333 10334<p> 10335Display the name of the recipient table in the "User unknown" 10336responses. The extra detail makes troubleshooting easier but also 10337reveals information that is nobody else's business. 10338</p> 10339 10340<p> 10341This feature is available in Postfix 2.0 and later. 10342</p> 10343 10344 10345</DD> 10346 10347<DT><b><a name="showq_service_name">showq_service_name</a> 10348(default: showq)</b></DT><DD> 10349 10350<p> 10351The name of the <a href="showq.8.html">showq(8)</a> service. This service produces mail queue 10352status reports. 10353</p> 10354 10355<p> 10356This feature is available in Postfix 2.0 and later. 10357</p> 10358 10359 10360</DD> 10361 10362<DT><b><a name="smtp_address_preference">smtp_address_preference</a> 10363(default: any)</b></DT><DD> 10364 10365<p> The address type ("ipv6", "ipv4" or "any") that the Postfix 10366SMTP client will try first, when a destination has IPv6 and IPv4 10367addresses with equal MX preference. This feature has no effect 10368unless the <a href="postconf.5.html#inet_protocols">inet_protocols</a> setting enables both IPv4 and IPv6. </p> 10369 10370<p> Postfix SMTP client address preference has evolved. With Postfix 103712.8 the default is "ipv6"; earlier implementations are hard-coded 10372to prefer IPv6 over IPv4. </p> 10373 10374<p> Notes for mail delivery between sites that have both IPv4 and 10375IPv6 connectivity: </p> 10376 10377<ul> 10378 10379<li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = ipv6" is unsafe. 10380It can fail to deliver mail when there is an outage that affects 10381IPv6, while the destination is still reachable over IPv4. </p> 10382 10383<li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = any" is safe. With 10384this, mail will eventually be delivered even if there is an outage 10385that affects IPv6 or IPv4, as long as it does not affect both. </p> 10386 10387</ul> 10388 10389<p> This feature is available in Postfix 2.8 and later. </p> 10390 10391 10392</DD> 10393 10394<DT><b><a name="smtp_address_verify_target">smtp_address_verify_target</a> 10395(default: rcpt)</b></DT><DD> 10396 10397<p> In the context of email address verification, the SMTP protocol 10398stage that determines whether an email address is deliverable. 10399Specify one of "rcpt" or "data". The latter is needed with remote 10400SMTP servers that reject recipients after the DATA command. Use 10401<a href="postconf.5.html#transport_maps">transport_maps</a> to apply this feature selectively: </p> 10402 10403<blockquote> 10404<pre> 10405/etc/postfix/<a href="postconf.5.html">main.cf</a>: 10406 <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport 10407</pre> 10408</blockquote> 10409 10410<blockquote> 10411<pre> 10412/etc/postfix/transport: 10413 smtp-domain-that-verifies-after-data smtp-data-target: 10414 lmtp-domain-that-verifies-after-data lmtp-data-target: 10415</pre> 10416</blockquote> 10417 10418<blockquote> 10419<pre> 10420/etc/postfix/<a href="master.5.html">master.cf</a>: 10421 smtp-data-target unix - - n - - smtp 10422 -o <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a>=data 10423 lmtp-data-target unix - - n - - lmtp 10424 -o <a href="postconf.5.html#lmtp_address_verify_target">lmtp_address_verify_target</a>=data 10425</pre> 10426</blockquote> 10427 10428<p> Unselective use of the "data" target does no harm, but will 10429result in unnecessary "lost connection after DATA" events at remote 10430SMTP/LMTP servers. </p> 10431 10432<p> This feature is available in Postfix 3.0 and later. </p> 10433 10434 10435</DD> 10436 10437<DT><b><a name="smtp_always_send_ehlo">smtp_always_send_ehlo</a> 10438(default: yes)</b></DT><DD> 10439 10440<p> 10441Always send EHLO at the start of an SMTP session. 10442</p> 10443 10444<p> 10445With "<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> = no", the Postfix SMTP client sends 10446EHLO only when 10447the word "ESMTP" appears in the server greeting banner (example: 10448220 spike.porcupine.org ESMTP Postfix). 10449</p> 10450 10451 10452</DD> 10453 10454<DT><b><a name="smtp_balance_inet_protocols">smtp_balance_inet_protocols</a> 10455(default: yes)</b></DT><DD> 10456 10457<p> When a remote destination resolves to a combination of IPv4 and 10458IPv6 addresses, ensure that the Postfix SMTP client can try both 10459address types before it runs into the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a>. </p> 10460 10461<p> This avoids an interoperability problem when a destination resolves 10462to primarily IPv6 addresses, the smtp_address_limit feature eliminates 10463most or all IPv4 addresses, and the destination is not reachable over 10464IPv6. </p> 10465 10466<p> This feature is available in Postfix 3.3 and later. </p> 10467 10468 10469</DD> 10470 10471<DT><b><a name="smtp_bind_address">smtp_bind_address</a> 10472(default: empty)</b></DT><DD> 10473 10474<p> 10475An optional numerical network address that the Postfix SMTP client 10476should bind to when making an IPv4 connection. 10477</p> 10478 10479<p> 10480This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or 10481it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client, 10482for example: 10483</p> 10484 10485<blockquote> 10486<pre> 10487/etc/postfix/<a href="master.5.html">master.cf</a>: 10488 smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>=11.22.33.44 10489</pre> 10490</blockquote> 10491 10492<p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv4 10493address, and that address is a non-loopback address, it is 10494automatically used as the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>. This supports virtual 10495IP hosting, but can be a problem on multi-homed firewalls. See the 10496<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p> 10497 10498<p> Note 2: address information may be enclosed inside <tt>[]</tt>, 10499but this form is not required here. </p> 10500 10501 10502</DD> 10503 10504<DT><b><a name="smtp_bind_address6">smtp_bind_address6</a> 10505(default: empty)</b></DT><DD> 10506 10507<p> 10508An optional numerical network address that the Postfix SMTP client 10509should bind to when making an IPv6 connection. 10510</p> 10511 10512<p> This feature is available in Postfix 2.2 and later. </p> 10513 10514<p> 10515This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or 10516it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client, 10517for example: 10518</p> 10519 10520<blockquote> 10521<pre> 10522/etc/postfix/<a href="master.5.html">master.cf</a>: 10523 smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>=1:2:3:4:5:6:7:8 10524</pre> 10525</blockquote> 10526 10527<p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv6 10528address, and that address is a non-loopback address, it is 10529automatically used as the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>. This supports virtual 10530IP hosting, but can be a problem on multi-homed firewalls. See the 10531<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p> 10532 10533<p> Note 2: address information may be enclosed inside <tt>[]</tt>, 10534but this form is not recommended here. </p> 10535 10536 10537</DD> 10538 10539<DT><b><a name="smtp_body_checks">smtp_body_checks</a> 10540(default: empty)</b></DT><DD> 10541 10542<p> Restricted <a href="header_checks.5.html">body_checks(5)</a> tables for the Postfix SMTP client. 10543These tables are searched while mail is being delivered. Actions 10544that change the delivery time or destination are not available. 10545</p> 10546 10547<p> This feature is available in Postfix 2.5 and later. </p> 10548 10549 10550</DD> 10551 10552<DT><b><a name="smtp_cname_overrides_servername">smtp_cname_overrides_servername</a> 10553(default: version dependent)</b></DT><DD> 10554 10555<p> When the remote SMTP servername is a DNS CNAME, replace the 10556servername with the result from CNAME expansion for the purpose of 10557logging, SASL password lookup, TLS 10558policy decisions, or TLS certificate verification. The value "no" 10559hardens Postfix <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> hostname-based policies against 10560false hostname information in DNS CNAME records, and makes SASL 10561password file lookups more predictable. This is the default setting 10562as of Postfix 2.3. </p> 10563 10564<p> When DNS CNAME records are validated with secure DNS lookups 10565(<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> = dnssec), they are always allowed to 10566override the above servername (Postfix 2.11 and later). </p> 10567 10568<p> This feature is available in Postfix 2.2.9 and later. </p> 10569 10570 10571</DD> 10572 10573<DT><b><a name="smtp_connect_timeout">smtp_connect_timeout</a> 10574(default: 30s)</b></DT><DD> 10575 10576<p> 10577The Postfix SMTP client time limit for completing a TCP connection, or 10578zero (use the operating system built-in time limit). 10579</p> 10580 10581<p> 10582When no connection can be made within the deadline, the Postfix 10583SMTP client 10584tries the next address on the mail exchanger list. Specify 0 to 10585disable the time limit (i.e. use whatever timeout is implemented by 10586the operating system). 10587</p> 10588 10589<p> 10590Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 10591The default time unit is s (seconds). 10592</p> 10593 10594 10595</DD> 10596 10597<DT><b><a name="smtp_connection_cache_destinations">smtp_connection_cache_destinations</a> 10598(default: empty)</b></DT><DD> 10599 10600<p> Permanently enable SMTP connection caching for the specified 10601destinations. With SMTP connection caching, a connection is not 10602closed immediately after completion of a mail transaction. Instead, 10603the connection is kept open for up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> 10604seconds. This allows connections to be reused for other deliveries, 10605and can improve mail delivery performance. </p> 10606 10607<p> Specify a comma or white space separated list of destinations 10608or pseudo-destinations: </p> 10609 10610<ul> 10611 10612<li> if mail is sent without a <a href="postconf.5.html#relayhost">relay host</a>: a domain name (the 10613right-hand side of an email address, without the [] around a numeric 10614IP address), 10615 10616<li> if mail is sent via a <a href="postconf.5.html#relayhost">relay host</a>: a <a href="postconf.5.html#relayhost">relay host</a> name (without 10617[] or non-default TCP port), as specified in <a href="postconf.5.html">main.cf</a> or in the 10618transport map, 10619 10620<li> if mail is sent via a UNIX-domain socket: a pathname (without 10621the unix: prefix), 10622 10623<li> a /file/name with domain names and/or <a href="postconf.5.html#relayhost">relay host</a> names as 10624defined above, 10625 10626<li> a "<a href="DATABASE_README.html">type:table</a>" with domain names and/or <a href="postconf.5.html#relayhost">relay host</a> names on 10627the left-hand side. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>" 10628lookups is ignored. 10629 10630</ul> 10631 10632<p> This feature is available in Postfix 2.2 and later. </p> 10633 10634 10635</DD> 10636 10637<DT><b><a name="smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a> 10638(default: yes)</b></DT><DD> 10639 10640<p> Temporarily enable SMTP connection caching while a destination 10641has a high volume of mail in the <a href="QSHAPE_README.html#active_queue">active queue</a>. With SMTP connection 10642caching, a connection is not closed immediately after completion 10643of a mail transaction. Instead, the connection is kept open for 10644up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> seconds. This allows 10645connections to be reused for other deliveries, and can improve mail 10646delivery performance. </p> 10647 10648<p> This feature is available in Postfix 2.2 and later. </p> 10649 10650 10651</DD> 10652 10653<DT><b><a name="smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> 10654(default: 2s)</b></DT><DD> 10655 10656<p> When SMTP connection caching is enabled, the amount of time that 10657an unused SMTP client socket is kept open before it is closed. Do 10658not specify larger values without permission from the remote sites. 10659</p> 10660 10661<p> This feature is available in Postfix 2.2 and later. </p> 10662 10663 10664</DD> 10665 10666<DT><b><a name="smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a> 10667(default: 0)</b></DT><DD> 10668 10669<p> When SMTP connection caching is enabled, the number of times 10670that an SMTP session may be reused before it is closed, or zero (no 10671limit). With a reuse count limit of N, a connection is used up to 10672N+1 times. </p> 10673 10674<p> NOTE: This feature is unsafe. When a high-volume destination 10675has multiple inbound MTAs, then the slowest inbound MTA will attract 10676the most connections to that destination. This limitation does not 10677exist with the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> feature. </p> 10678 10679<p> This feature is available in Postfix 2.11. </p> 10680 10681 10682</DD> 10683 10684<DT><b><a name="smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> 10685(default: 300s)</b></DT><DD> 10686 10687<p> The amount of time during which Postfix will use an SMTP 10688connection repeatedly. The timer starts when the connection is 10689initiated (i.e. it includes the connect, greeting and helo latency, 10690in addition to the latencies of subsequent mail delivery transactions). 10691</p> 10692 10693<p> This feature addresses a performance stability problem with 10694remote SMTP servers. This problem is not specific to Postfix: it 10695can happen when any MTA sends large amounts of SMTP email to a site 10696that has multiple MX hosts. </p> 10697 10698<p> The problem starts when one of a set of MX hosts becomes slower 10699than the rest. Even though SMTP clients connect to fast and slow 10700MX hosts with equal probability, the slow MX host ends up with more 10701simultaneous inbound connections than the faster MX hosts, because 10702the slow MX host needs more time to serve each client request. </p> 10703 10704<p> The slow MX host becomes a connection attractor. If one MX 10705host becomes N times slower than the rest, it dominates mail delivery 10706latency unless there are more than N fast MX hosts to counter the 10707effect. And if the number of MX hosts is smaller than N, the mail 10708delivery latency becomes effectively that of the slowest MX host 10709divided by the total number of MX hosts. </p> 10710 10711<p> The solution uses connection caching in a way that differs from 10712Postfix version 2.2. By limiting the amount of time during which a connection 10713can be used repeatedly (instead of limiting the number of deliveries 10714over that connection), Postfix not only restores fairness in the 10715distribution of simultaneous connections across a set of MX hosts, 10716it also favors deliveries over connections that perform well, which 10717is exactly what we want. </p> 10718 10719<p> The default reuse time limit, 300s, is comparable to the various 10720smtp transaction timeouts which are fair estimates of maximum excess 10721latency for a slow delivery. Note that hosts may accept thousands 10722of messages over a single connection within the default connection 10723reuse time limit. This number is much larger than the default Postfix 10724version 2.2 limit of 10 messages per cached connection. It may prove necessary 10725to lower the limit to avoid interoperability issues with MTAs that 10726exhibit bugs when many messages are delivered via a single connection. 10727A lower reuse time limit risks losing the benefit of connection 10728reuse when the average connection and mail delivery latency exceeds 10729the reuse time limit. </p> 10730 10731<p> This feature is available in Postfix 2.3 and later. </p> 10732 10733 10734</DD> 10735 10736<DT><b><a name="smtp_data_done_timeout">smtp_data_done_timeout</a> 10737(default: 600s)</b></DT><DD> 10738 10739<p> 10740The Postfix SMTP client time limit for sending the SMTP ".", and 10741for receiving the remote SMTP server response. 10742</p> 10743 10744<p> 10745When no response is received within the deadline, a warning is 10746logged that the mail may be delivered multiple times. 10747</p> 10748 10749<p> 10750Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 10751The default time unit is s (seconds). 10752</p> 10753 10754 10755</DD> 10756 10757<DT><b><a name="smtp_data_init_timeout">smtp_data_init_timeout</a> 10758(default: 120s)</b></DT><DD> 10759 10760<p> 10761The Postfix SMTP client time limit for sending the SMTP DATA command, 10762and for receiving the remote SMTP server response. 10763</p> 10764 10765<p> 10766Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 10767The default time unit is s (seconds). 10768</p> 10769 10770 10771</DD> 10772 10773<DT><b><a name="smtp_data_xfer_timeout">smtp_data_xfer_timeout</a> 10774(default: 180s)</b></DT><DD> 10775 10776<p> 10777The Postfix SMTP client time limit for sending the SMTP message content. 10778When the connection makes no progress for more than $<a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a> 10779seconds the Postfix SMTP client terminates the transfer. 10780</p> 10781 10782<p> 10783Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 10784The default time unit is s (seconds). 10785</p> 10786 10787 10788</DD> 10789 10790<DT><b><a name="smtp_defer_if_no_mx_address_found">smtp_defer_if_no_mx_address_found</a> 10791(default: no)</b></DT><DD> 10792 10793<p> 10794Defer mail delivery when no MX record resolves to an IP address. 10795</p> 10796 10797<p> 10798The default (no) is to return the mail as undeliverable. With older 10799Postfix versions the default was to keep trying to deliver the mail 10800until someone fixed the MX record or until the mail was too old. 10801</p> 10802 10803<p> 10804Note: the Postfix SMTP client always ignores MX records with equal 10805or worse preference 10806than the local MTA itself. 10807</p> 10808 10809<p> 10810This feature is available in Postfix 2.1 and later. 10811</p> 10812 10813 10814</DD> 10815 10816<DT><b><a name="smtp_delivery_status_filter">smtp_delivery_status_filter</a> 10817(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD> 10818 10819<p> Optional filter for the <a href="smtp.8.html">smtp(8)</a> delivery agent to change the 10820delivery status code or explanatory text of successful or unsuccessful 10821deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p> 10822 10823<p> NOTE: This feature modifies Postfix SMTP client error or non-error 10824messages that may or may not be derived from remote SMTP server 10825responses. In contrast, the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> feature modifies 10826remote SMTP server responses only. </p> 10827 10828 10829</DD> 10830 10831<DT><b><a name="smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> 10832(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD> 10833 10834<p> The maximal number of parallel deliveries to the same destination 10835via the smtp message delivery transport. This limit is enforced by 10836the queue manager. The message delivery transport name is the first 10837field in the entry in the <a href="master.5.html">master.cf</a> file. </p> 10838 10839 10840</DD> 10841 10842<DT><b><a name="smtp_destination_recipient_limit">smtp_destination_recipient_limit</a> 10843(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD> 10844 10845<p> The maximal number of recipients per message for the smtp 10846message delivery transport. This limit is enforced by the queue 10847manager. The message delivery transport name is the first field in 10848the entry in the <a href="master.5.html">master.cf</a> file. </p> 10849 10850<p> Setting this parameter to a value of 1 changes the meaning of 10851<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> from concurrency per domain 10852into concurrency per recipient. </p> 10853 10854 10855</DD> 10856 10857<DT><b><a name="smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a> 10858(default: empty)</b></DT><DD> 10859 10860<p> Lookup tables, indexed by the remote SMTP server address, with 10861case insensitive lists of EHLO keywords (pipelining, starttls, auth, 10862etc.) that the Postfix SMTP client will ignore in the EHLO response from a 10863remote SMTP server. See <a href="postconf.5.html#smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a> for details. The 10864table is not indexed by hostname for consistency with 10865<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p> 10866 10867<p> 10868Specify zero or more "type:name" lookup tables, separated by 10869whitespace or comma. Tables will be searched in the specified order 10870until a match is found. 10871</p> 10872 10873<p> This feature is available in Postfix 2.2 and later. </p> 10874 10875 10876</DD> 10877 10878<DT><b><a name="smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a> 10879(default: empty)</b></DT><DD> 10880 10881<p> A case insensitive list of EHLO keywords (pipelining, starttls, 10882auth, etc.) that the Postfix SMTP client will ignore in the EHLO 10883response from a remote SMTP server. </p> 10884 10885<p> This feature is available in Postfix 2.2 and later. </p> 10886 10887<p> Notes: </p> 10888 10889<ul> 10890 10891<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent 10892this action from being logged. </p> 10893 10894<li> <p> Use the <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a> feature to 10895discard EHLO keywords selectively. </p> 10896 10897</ul> 10898 10899 10900</DD> 10901 10902<DT><b><a name="smtp_dns_reply_filter">smtp_dns_reply_filter</a> 10903(default: empty)</b></DT><DD> 10904 10905<p> Optional filter for Postfix SMTP client DNS lookup results. 10906Specify zero or more lookup tables. The lookup tables are searched 10907in the given order for a match with the DNS lookup result, converted 10908to the following form: </p> 10909 10910<pre> 10911 <i>name ttl class type preference value</i> 10912</pre> 10913 10914<p> The <i>class</i> field is always "IN", the <i>preference</i> 10915field exists only for MX records, the names of hosts, domains, etc. 10916end in ".", and those names are in ASCII form (xn--mumble form in 10917the case of UTF8 names). </p> 10918 10919<p> When a match is found, the table lookup result specifies an 10920action. By default, the table query and the action name are 10921case-insensitive. Currently, only the <b>IGNORE</b> action is 10922implemented. </p> 10923 10924<p> Notes: </p> 10925 10926<ul> 10927 10928<li> <p> Postfix DNS reply filters have no effect on implicit DNS 10929lookups through nsswitch.conf or equivalent mechanisms. </p> 10930 10931<li> <p> The Postfix SMTP/LMTP client uses <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> 10932and <a href="postconf.5.html#lmtp_dns_reply_filter">lmtp_dns_reply_filter</a> only to discover a remote SMTP or LMTP 10933service (record types MX, A, AAAAA, and TLSA). These lookups are 10934also made to implement the features <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> and 10935<a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. </p> 10936 10937<li> <p> The Postfix SMTP/LMTP client defers mail delivery when 10938a filter removes all lookup results from a successful query. </p> 10939 10940<li> <p> Postfix SMTP server uses <a href="postconf.5.html#smtpd_dns_reply_filter">smtpd_dns_reply_filter</a> only to 10941look up MX, A, AAAAA, and TXT records to implement the features 10942<a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>, <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>, 10943<a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>, reject_rbl_*, and reject_rhsbl_*. 10944</p> 10945 10946<li> <p> The Postfix SMTP server logs a warning or defers mail 10947delivery when a filter removes all lookup results from a successful 10948query. </p> 10949 10950</ul> 10951 10952<p> Example: ignore Google AAAA records in Postfix SMTP client DNS 10953lookups, because Google sometimes hard-rejects mail from IPv6 clients 10954with valid PTR etc. records. </p> 10955 10956<pre> 10957/etc/postfix/<a href="postconf.5.html">main.cf</a>: 10958 <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/smtp_dns_reply_filter 10959</pre> 10960 10961<pre> 10962/etc/postfix/smtp_dns_reply_filter: 10963 # /domain ttl IN AAAA address/ action, all case-insensitive. 10964 # Note: the domain name ends in ".". 10965 /^\S+\.google\.com\.\s+\S+\s+\S+\s+AAAA\s+/ IGNORE 10966</pre> 10967 10968<p> This feature is available in Postfix 3.0 and later. </p> 10969 10970 10971</DD> 10972 10973<DT><b><a name="smtp_dns_resolver_options">smtp_dns_resolver_options</a> 10974(default: empty)</b></DT><DD> 10975 10976<p> DNS Resolver options for the Postfix SMTP client. Specify zero 10977or more of the following options, separated by comma or whitespace. 10978Option names are case-sensitive. Some options refer to domain names 10979that are specified in the file /etc/resolv.conf or equivalent. </p> 10980 10981<dl> 10982 10983<dt><b>res_defnames</b></dt> 10984 10985<dd> Append the current domain name to single-component names (those 10986that do not contain a "." character). This can produce incorrect 10987results, and is the hard-coded behavior prior to Postfix 2.8. </dd> 10988 10989<dt><b>res_dnsrch</b></dt> 10990 10991<dd> Search for host names in the current domain and in parent 10992domains. This can produce incorrect results and is therefore not 10993recommended. </dd> 10994 10995</dl> 10996 10997<p> This feature is available in Postfix 2.8 and later. </p> 10998 10999 11000</DD> 11001 11002<DT><b><a name="smtp_dns_support_level">smtp_dns_support_level</a> 11003(default: empty)</b></DT><DD> 11004 11005<p> Level of DNS support in the Postfix SMTP client. With 11006"<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>" left at its empty default value, the legacy 11007"<a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a>" parameter controls whether DNS is enabled in 11008the Postfix SMTP client, otherwise the legacy parameter is ignored. 11009</p> 11010 11011<p> Specify one of the following: </p> 11012 11013<dl> 11014 11015<dt><b>disabled</b></dt> 11016 11017<dd>Disable DNS lookups. No MX lookups are performed and hostname 11018to address lookups are unconditionally "native". This setting is 11019not appropriate for hosts that deliver mail to the public Internet. 11020Some obsolete how-to documents recommend disabling DNS lookups in 11021some configurations with content_filters. This is no longer required 11022and strongly discouraged. </dd> 11023 11024<dt><b>enabled</b></dt> 11025 11026<dd>Enable DNS lookups. Nexthop destination domains not enclosed 11027in "[]" will be subject to MX lookups. If "dns" and "native" are 11028included in the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter value, DNS will be 11029queried first to resolve MX-host A records, followed by "native" 11030lookups if no answer is found in DNS. </dd> 11031 11032<dt><b>dnssec</b></dt> 11033 11034<dd>Enable <a href="https://tools.ietf.org/html/rfc4033">DNSSEC</a> 11035lookups. The "dnssec" setting differs from the "enabled" setting 11036above in the following ways: <ul> <li>Any MX lookups will set 11037RES_USE_DNSSEC and RES_USE_EDNS0 to request DNSSEC-validated 11038responses. If the MX response is DNSSEC-validated the corresponding 11039hostnames are considered validated. <li> The address lookups of 11040validated hostnames are also validated, (provided of course 11041"<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" includes "dns", see below). <li>Temporary 11042failures in DNSSEC-enabled hostname-to-address resolution block any 11043"native" lookups. Additional "native" lookups only happen when 11044DNSSEC lookups hard-fail (NODATA or NXDOMAIN). </ul> </dd> 11045 11046</dl> 11047 11048<p> The Postfix SMTP client considers non-MX "[nexthop]" and 11049"[nexthop]:port" destinations equivalent to statically-validated 11050MX records of the form "nexthop. IN MX 0 nexthop." Therefore, 11051with "dnssec" support turned on, validated hostname-to-address 11052lookups apply to the nexthop domain of any "[nexthop]" or 11053"[nexthop]:port" destination. This is also true for LMTP "inet:host" 11054and "inet:host:port" destinations, as LMTP hostnames are never 11055subject to MX lookups. </p> 11056 11057<p>The "dnssec" setting is recommended only if you plan to use the 11058<a href="TLS_README.html#client_tls_dane">dane</a> or <a 11059href="TLS_README.html#client_tls_dane">dane-only</a> TLS security 11060level, otherwise enabling DNSSEC support in Postfix offers no 11061additional security. Postfix DNSSEC support relies on an upstream 11062recursive nameserver that validates DNSSEC signatures. Such a DNS 11063server will always filter out forged DNS responses, even when Postfix 11064itself is not configured to use DNSSEC. </p> 11065 11066<p> When using Postfix DANE support the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter 11067should include "dns", as <a 11068href="https://tools.ietf.org/html/rfc7672">DANE</a> is not applicable 11069to hosts resolved via "native" lookups. </p> 11070 11071<p> As mentioned above, Postfix is not a validating <a 11072href="https://tools.ietf.org/html/rfc4035#section-4.9">stub 11073resolver</a>; it relies on the system's configured DNSSEC-validating 11074<a href="https://tools.ietf.org/html/rfc4035#section-3.2">recursive 11075nameserver</a> to perform all DNSSEC validation. Since this 11076nameserver's DNSSEC-validated responses will be fully trusted, it 11077is strongly recommended that the MTA host have a local DNSSEC-validating 11078recursive caching nameserver listening on a loopback address, and 11079be configured to use only this nameserver for all lookups. Otherwise, 11080Postfix may remain subject to man-in-the-middle attacks that forge 11081responses from the recursive nameserver</p> 11082 11083<p>DNSSEC support requires a version of Postfix compiled against a 11084reasonably-modern DNS resolver(3) library that implements the 11085RES_USE_DNSSEC and RES_USE_EDNS0 resolver options. </p> 11086 11087<p> This feature is available in Postfix 2.11 and later. </p> 11088 11089 11090</DD> 11091 11092<DT><b><a name="smtp_enforce_tls">smtp_enforce_tls</a> 11093(default: no)</b></DT><DD> 11094 11095<p> Enforcement mode: require that remote SMTP servers use TLS 11096encryption, and never send mail in the clear. This also requires 11097that the remote SMTP server hostname matches the information in 11098the remote server certificate, and that the remote SMTP server 11099certificate was issued by a CA that is trusted by the Postfix SMTP 11100client. If the certificate doesn't verify or the hostname doesn't 11101match, delivery is deferred and mail stays in the queue. </p> 11102 11103<p> The server hostname is matched against all names provided as 11104dNSNames in the SubjectAlternativeName. If no dNSNames are specified, 11105the CommonName is checked. The behavior may be changed with the 11106<a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> option. </p> 11107 11108<p> This option is useful only if you are definitely sure that you 11109will only connect to servers that support <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> _and_ that 11110provide valid server certificates. Typical use is for clients that 11111send all their email to a dedicated mailhub. </p> 11112 11113<p> This feature is available in Postfix 2.2 and later. With 11114Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p> 11115 11116 11117</DD> 11118 11119<DT><b><a name="smtp_fallback_relay">smtp_fallback_relay</a> 11120(default: $<a href="postconf.5.html#fallback_relay">fallback_relay</a>)</b></DT><DD> 11121 11122<p> 11123Optional list of relay hosts for SMTP destinations that can't be 11124found or that are unreachable. With Postfix 2.2 and earlier this 11125parameter is called <a href="postconf.5.html#fallback_relay">fallback_relay</a>. </p> 11126 11127<p> 11128By default, mail is returned to the sender when a destination is 11129not found, and delivery is deferred when a destination is unreachable. 11130</p> 11131 11132<p> With bulk email deliveries, it can be beneficial to run the 11133fallback relay MTA on the same host, so that it can reuse the sender 11134IP address. This speeds up deliveries that are delayed by IP-based 11135reputation systems (greylist, etc.). </p> 11136 11137<p> The fallback relays must be SMTP destinations. Specify a domain, 11138host, host:port, [host]:port, [address] or [address]:port; the form 11139[host] turns off MX lookups. If you specify multiple SMTP 11140destinations, Postfix will try them in the specified order. </p> 11141 11142<p> To prevent mailer loops between MX hosts and fall-back hosts, 11143Postfix version 2.2 and later will not use the fallback relays for 11144destinations that it is MX host for (assuming DNS lookup is turned on). 11145</p> 11146 11147 11148</DD> 11149 11150<DT><b><a name="smtp_generic_maps">smtp_generic_maps</a> 11151(default: empty)</b></DT><DD> 11152 11153<p> Optional lookup tables that perform address rewriting in the 11154Postfix SMTP client, typically to transform a locally valid address into 11155a globally valid address when sending mail across the Internet. 11156This is needed when the local machine does not have its own Internet 11157domain name, but uses something like <i>localdomain.local</i> 11158instead. </p> 11159 11160<p> 11161Specify zero or more "type:name" lookup tables, separated by 11162whitespace or comma. Tables will be searched in the specified order 11163until a match is found. 11164</p> 11165 11166<p> The table format and lookups are documented in <a href="generic.5.html">generic(5)</a>; 11167examples are shown in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> and 11168<a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> documents. </p> 11169 11170<p> This feature is available in Postfix 2.2 and later. </p> 11171 11172 11173</DD> 11174 11175<DT><b><a name="smtp_header_checks">smtp_header_checks</a> 11176(default: empty)</b></DT><DD> 11177 11178<p> Restricted <a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP client. 11179These tables are searched while mail is being delivered. Actions 11180that change the delivery time or destination are not available. 11181</p> 11182 11183<p> This feature is available in Postfix 2.5 and later. </p> 11184 11185 11186</DD> 11187 11188<DT><b><a name="smtp_helo_name">smtp_helo_name</a> 11189(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD> 11190 11191<p> 11192The hostname to send in the SMTP HELO or EHLO command. 11193</p> 11194 11195<p> 11196The default value is the machine hostname. Specify a hostname or 11197[ip.add.re.ss]. 11198</p> 11199 11200<p> 11201This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP 11202clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific 11203client, for example: 11204</p> 11205 11206<blockquote> 11207<pre> 11208/etc/postfix/<a href="master.5.html">master.cf</a>: 11209 mysmtp ... smtp -o <a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a>=foo.bar.com 11210</pre> 11211</blockquote> 11212 11213<p> 11214This feature is available in Postfix 2.0 and later. 11215</p> 11216 11217 11218</DD> 11219 11220<DT><b><a name="smtp_helo_timeout">smtp_helo_timeout</a> 11221(default: 300s)</b></DT><DD> 11222 11223<p> 11224The Postfix SMTP client time limit for sending the HELO or EHLO command, 11225and for receiving the initial remote SMTP server response. 11226</p> 11227 11228<p> 11229Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 11230The default time unit is s (seconds). 11231</p> 11232 11233 11234</DD> 11235 11236<DT><b><a name="smtp_host_lookup">smtp_host_lookup</a> 11237(default: dns)</b></DT><DD> 11238 11239<p> 11240What mechanisms the Postfix SMTP client uses to look up a host's 11241IP address. This parameter is ignored when DNS lookups are disabled 11242(see: <a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a> and <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>). The "dns" 11243mechanism is always tried before "native" if both are listed. 11244</p> 11245 11246<p> 11247Specify one of the following: 11248</p> 11249 11250<dl> 11251 11252<dt><b>dns</b></dt> 11253 11254<dd>Hosts can be found in the DNS (preferred). </dd> 11255 11256<dt><b>native</b></dt> 11257 11258<dd>Use the native naming service only (nsswitch.conf, or equivalent 11259mechanism). </dd> 11260 11261<dt><b>dns, native</b></dt> 11262 11263<dd>Use the native service for hosts not found in the DNS. </dd> 11264 11265</dl> 11266 11267<p> 11268This feature is available in Postfix 2.1 and later. 11269</p> 11270 11271 11272</DD> 11273 11274<DT><b><a name="smtp_line_length_limit">smtp_line_length_limit</a> 11275(default: 998)</b></DT><DD> 11276 11277<p> 11278The maximal length of message header and body lines that Postfix 11279will send via SMTP. This limit does not include the <CR><LF> 11280at the end of each line. Longer lines are broken by inserting 11281"<CR><LF><SPACE>", to minimize the damage to MIME 11282formatted mail. 11283</p> 11284 11285<p> 11286The Postfix limit of 998 characters not including <CR><LF> 11287is consistent with the SMTP limit of 1000 characters including 11288<CR><LF>. The Postfix limit was 990 with Postfix 2.8 11289and earlier. 11290</p> 11291 11292 11293</DD> 11294 11295<DT><b><a name="smtp_mail_timeout">smtp_mail_timeout</a> 11296(default: 300s)</b></DT><DD> 11297 11298<p> 11299The Postfix SMTP client time limit for sending the MAIL FROM command, 11300and for receiving the remote SMTP server response. 11301</p> 11302 11303<p> 11304Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 11305The default time unit is s (seconds). 11306</p> 11307 11308 11309</DD> 11310 11311<DT><b><a name="smtp_mime_header_checks">smtp_mime_header_checks</a> 11312(default: empty)</b></DT><DD> 11313 11314<p> Restricted mime_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP 11315client. These tables are searched while mail is being delivered. 11316Actions that change the delivery time or destination are not 11317available. </p> 11318 11319<p> This feature is available in Postfix 2.5 and later. </p> 11320 11321 11322</DD> 11323 11324<DT><b><a name="smtp_mx_address_limit">smtp_mx_address_limit</a> 11325(default: 5)</b></DT><DD> 11326 11327<p> 11328The maximal number of MX (mail exchanger) IP addresses that can 11329result from Postfix SMTP client mail exchanger lookups, or zero (no 11330limit). Prior to 11331Postfix version 2.3, this limit was disabled by default. 11332</p> 11333 11334<p> 11335This feature is available in Postfix 2.1 and later. 11336</p> 11337 11338 11339</DD> 11340 11341<DT><b><a name="smtp_mx_session_limit">smtp_mx_session_limit</a> 11342(default: 2)</b></DT><DD> 11343 11344<p> The maximal number of SMTP sessions per delivery request before 11345the Postfix SMTP client 11346gives up or delivers to a fall-back <a href="postconf.5.html#relayhost">relay host</a>, or zero (no 11347limit). This restriction ignores sessions that fail to complete the 11348SMTP initial handshake (Postfix version 2.2 and earlier) or that fail to 11349complete the EHLO and TLS handshake (Postfix version 2.3 and later). </p> 11350 11351<p> This feature is available in Postfix 2.1 and later. </p> 11352 11353 11354</DD> 11355 11356<DT><b><a name="smtp_nested_header_checks">smtp_nested_header_checks</a> 11357(default: empty)</b></DT><DD> 11358 11359<p> Restricted nested_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP 11360client. These tables are searched while mail is being delivered. 11361Actions that change the delivery time or destination are not 11362available. </p> 11363 11364<p> This feature is available in Postfix 2.5 and later. </p> 11365 11366 11367</DD> 11368 11369<DT><b><a name="smtp_never_send_ehlo">smtp_never_send_ehlo</a> 11370(default: no)</b></DT><DD> 11371 11372<p> Never send EHLO at the start of an SMTP session. See also the 11373<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> parameter. </p> 11374 11375 11376</DD> 11377 11378<DT><b><a name="smtp_per_record_deadline">smtp_per_record_deadline</a> 11379(default: no)</b></DT><DD> 11380 11381<p> Change the behavior of the smtp_*_timeout time limits, from a 11382time limit per read or write system call, to a time limit to send 11383or receive a complete record (an SMTP command line, SMTP response 11384line, SMTP message content line, or TLS protocol message). This 11385limits the impact from hostile peers that trickle data one byte at 11386a time. </p> 11387 11388<p> Note: when per-record deadlines are enabled, a short timeout 11389may cause problems with TLS over very slow network connections. 11390The reasons are that a TLS protocol message can be up to 16 kbytes 11391long (with TLSv1), and that an entire TLS protocol message must be 11392sent or received within the per-record deadline. </p> 11393 11394<p> This feature is available in Postfix 2.9 and later. With older 11395Postfix releases, the behavior is as if this parameter is set to 11396"no". </p> 11397 11398 11399</DD> 11400 11401<DT><b><a name="smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> 11402(default: 10s)</b></DT><DD> 11403 11404<p> 11405How long the Postfix SMTP client pauses before sending 11406".<CR><LF>" in order to work around the PIX firewall 11407"<CR><LF>.<CR><LF>" bug. 11408</p> 11409 11410<p> 11411Choosing a too short time makes this workaround ineffective when 11412sending large messages over slow network connections. 11413</p> 11414 11415 11416</DD> 11417 11418<DT><b><a name="smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> 11419(default: empty)</b></DT><DD> 11420 11421<p> Lookup tables, indexed by the remote SMTP server address, with 11422per-destination workarounds for CISCO PIX firewall bugs. The table 11423is not indexed by hostname for consistency with 11424<a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>. </p> 11425 11426<p> 11427Specify zero or more "type:name" lookup tables, separated by 11428whitespace or comma. Tables will be searched in the specified order 11429until a match is found. 11430</p> 11431 11432<p> This feature is available in Postfix 2.4 and later. </p> 11433 11434 11435</DD> 11436 11437<DT><b><a name="smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> 11438(default: 500s)</b></DT><DD> 11439 11440<p> How long a message must be queued before the Postfix SMTP client 11441turns on the PIX firewall "<CR><LF>.<CR><LF>" 11442bug workaround for delivery through firewalls with "smtp fixup" 11443mode turned on. </p> 11444 11445<p> 11446By default, the workaround is turned off for mail that is queued 11447for less than 500 seconds. In other words, the workaround is normally 11448turned off for the first delivery attempt. 11449</p> 11450 11451<p> 11452Specify 0 to enable the PIX firewall 11453"<CR><LF>.<CR><LF>" bug workaround upon the 11454first delivery attempt. 11455</p> 11456 11457 11458</DD> 11459 11460<DT><b><a name="smtp_pix_workarounds">smtp_pix_workarounds</a> 11461(default: disable_esmtp, delay_dotcrlf)</b></DT><DD> 11462 11463<p> A list that specifies zero or more workarounds for CISCO PIX 11464firewall bugs. These workarounds are implemented by the Postfix 11465SMTP client. Workaround names are separated by comma or space, and 11466are case insensitive. This parameter setting can be overruled with 11467per-destination <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> settings. </p> 11468 11469<dl> 11470 11471<dt><b>delay_dotcrlf</b><dd> Insert a delay before sending 11472".<CR><LF>" after the end of the message content. The 11473delay is subject to the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> and 11474<a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> parameter settings. </dd> 11475 11476<dt><b>disable_esmtp</b><dd> Disable all extended SMTP commands: 11477send HELO instead of EHLO. </dd> 11478 11479</dl> 11480 11481<p> This feature is available in Postfix 2.4 and later. The default 11482settings are backwards compatible with earlier Postfix versions. 11483</p> 11484 11485 11486</DD> 11487 11488<DT><b><a name="smtp_quit_timeout">smtp_quit_timeout</a> 11489(default: 300s)</b></DT><DD> 11490 11491<p> 11492The Postfix SMTP client time limit for sending the QUIT command, 11493and for receiving the remote SMTP server response. 11494</p> 11495 11496<p> 11497Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 11498The default time unit is s (seconds). 11499</p> 11500 11501 11502</DD> 11503 11504<DT><b><a name="smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a> 11505(default: yes)</b></DT><DD> 11506 11507<p> 11508Quote addresses in Postfix SMTP client MAIL FROM and RCPT TO commands 11509as required 11510by <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. This includes putting quotes around an address localpart 11511that ends in ".". 11512</p> 11513 11514<p> 11515The default is to comply with <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. If you have to send mail to 11516a broken SMTP server, configure a special SMTP client in <a href="master.5.html">master.cf</a>: 11517</p> 11518 11519<blockquote> 11520<pre> 11521/etc/postfix/<a href="master.5.html">master.cf</a>: 11522 broken-smtp . . . smtp -o <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>=no 11523</pre> 11524</blockquote> 11525 11526<p> 11527and route mail for the destination in question to the "broken-smtp" 11528message delivery with a <a href="transport.5.html">transport(5)</a> table. 11529</p> 11530 11531<p> 11532This feature is available in Postfix 2.1 and later. 11533</p> 11534 11535 11536</DD> 11537 11538<DT><b><a name="smtp_randomize_addresses">smtp_randomize_addresses</a> 11539(default: yes)</b></DT><DD> 11540 11541<p> 11542Randomize the order of equal-preference MX host addresses. This 11543is a performance feature of the Postfix SMTP client. 11544</p> 11545 11546 11547</DD> 11548 11549<DT><b><a name="smtp_rcpt_timeout">smtp_rcpt_timeout</a> 11550(default: 300s)</b></DT><DD> 11551 11552<p> 11553The Postfix SMTP client time limit for sending the SMTP RCPT TO 11554command, and for receiving the remote SMTP server response. 11555</p> 11556 11557<p> 11558Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 11559The default time unit is s (seconds). 11560</p> 11561 11562 11563</DD> 11564 11565<DT><b><a name="smtp_reply_filter">smtp_reply_filter</a> 11566(default: empty)</b></DT><DD> 11567 11568<p> A mechanism to transform replies from remote SMTP servers one 11569line at a time. This is a last-resort tool to work around server 11570replies that break interoperability with the Postfix SMTP client. 11571Other uses involve fault injection to test Postfix's handling of 11572invalid responses. </p> 11573 11574<p> Notes: </p> 11575 11576<ul> 11577 11578<li> <p> In the case of a multi-line reply, the Postfix SMTP client 11579uses the final reply line's numerical SMTP reply code and enhanced 11580status code. </p> 11581 11582<li> <p> The numerical SMTP reply code (XYZ) takes precedence over 11583the enhanced status code (X.Y.Z). When the enhanced status code 11584initial digit differs from the SMTP reply code initial digit, or 11585when no enhanced status code is present, the Postfix SMTP client 11586uses a generic enhanced status code (X.0.0) instead. </p> 11587 11588</ul> 11589 11590<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search 11591string is a single SMTP reply line as received from the remote SMTP 11592server, except that the trailing <CR><LF> are removed. 11593When the lookup succeeds, the result replaces the single SMTP reply 11594line. </p> 11595 11596<p> Examples: </p> 11597 11598<pre> 11599/etc/postfix/<a href="postconf.5.html">main.cf</a>: 11600 <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/reply_filter 11601</pre> 11602 11603<pre> 11604/etc/postfix/reply_filter: 11605 # Transform garbage into "250-filler..." so that it looks like 11606 # one line from a multi-line reply. It does not matter what we 11607 # substitute here as long it has the right syntax. The Postfix 11608 # SMTP client will use the final line's numerical SMTP reply 11609 # code and enhanced status code. 11610 !/^([2-5][0-9][0-9]($|[- ]))/ 250-filler for garbage 11611</pre> 11612 11613<p> This feature is available in Postfix 2.7. </p> 11614 11615 11616</DD> 11617 11618<DT><b><a name="smtp_rset_timeout">smtp_rset_timeout</a> 11619(default: 20s)</b></DT><DD> 11620 11621<p> The Postfix SMTP client time limit for sending the RSET command, 11622and for receiving the remote SMTP server response. The SMTP client 11623sends RSET in 11624order to finish a recipient address probe, or to verify that a 11625cached session is still usable. </p> 11626 11627<p> This feature is available in Postfix 2.1 and later. </p> 11628 11629 11630</DD> 11631 11632<DT><b><a name="smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> 11633(default: empty)</b></DT><DD> 11634 11635<p> An optional table to prevent repeated SASL authentication 11636failures with the same remote SMTP server hostname, username and 11637password. Each table (key, value) pair contains a server name, a 11638username and password, and the full server response. This information 11639is stored when a remote SMTP server rejects an authentication attempt 11640with a 535 reply code. As long as the <a href="postconf.5.html#smtp_sasl_password_maps">smtp_sasl_password_maps</a> 11641information does no change, and as long as the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> 11642information does not expire (see <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>) the 11643Postfix SMTP client avoids SASL authentication attempts with the 11644same server, username and password, and instead bounces or defers 11645mail as controlled with the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> configuration 11646parameter. </p> 11647 11648<p> Use a per-destination delivery concurrency of 1 (for example, 11649"<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> = 1", 11650"<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> = 1", etc.), otherwise multiple 11651delivery agents may experience a login failure at the same time. 11652</p> 11653 11654<p> The table must be accessed via the proxywrite service, i.e. the 11655map name must start with "<a href="proxymap.8.html">proxy</a>:". The table should be stored under 11656the directory specified with the <a href="postconf.5.html#data_directory">data_directory</a> parameter. </p> 11657 11658<p> This feature uses cryptographic hashing to protect plain-text 11659passwords, and requires that Postfix is compiled with TLS support. 11660</p> 11661 11662<p> Example: </p> 11663 11664<pre> 11665<a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> = <a href="proxymap.8.html">proxy</a>:<a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/sasl_auth_cache 11666</pre> 11667 11668<p> This feature is available in Postfix 2.5 and later. </p> 11669 11670 11671</DD> 11672 11673<DT><b><a name="smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a> 11674(default: 90d)</b></DT><DD> 11675 11676<p> The maximal age of an <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> entry before it 11677is removed. </p> 11678 11679<p> This feature is available in Postfix 2.5 and later. </p> 11680 11681 11682</DD> 11683 11684<DT><b><a name="smtp_sasl_auth_enable">smtp_sasl_auth_enable</a> 11685(default: no)</b></DT><DD> 11686 11687<p> 11688Enable SASL authentication in the Postfix SMTP client. By default, 11689the Postfix SMTP client uses no authentication. 11690</p> 11691 11692<p> 11693Example: 11694</p> 11695 11696<pre> 11697<a href="postconf.5.html#smtp_sasl_auth_enable">smtp_sasl_auth_enable</a> = yes 11698</pre> 11699 11700 11701</DD> 11702 11703<DT><b><a name="smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> 11704(default: yes)</b></DT><DD> 11705 11706<p> When a remote SMTP server rejects a SASL authentication request 11707with a 535 reply code, defer mail delivery instead of returning 11708mail as undeliverable. The latter behavior was hard-coded prior to 11709Postfix version 2.5. </p> 11710 11711<p> Note: the setting "yes" overrides the global <a href="postconf.5.html#soft_bounce">soft_bounce</a> 11712parameter, but the setting "no" does not. </p> 11713 11714<p> Example: </p> 11715 11716<pre> 11717# Default as of Postfix 2.5 11718<a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = yes 11719# The old hard-coded default 11720<a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = no 11721</pre> 11722 11723<p> This feature is available in Postfix 2.5 and later. </p> 11724 11725 11726</DD> 11727 11728<DT><b><a name="smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> 11729(default: empty)</b></DT><DD> 11730 11731<p> 11732If non-empty, a Postfix SMTP client filter for the remote SMTP 11733server's list of offered SASL mechanisms. Different client and 11734server implementations may support different mechanism lists; by 11735default, the Postfix SMTP client will use the intersection of the 11736two. <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> specifies an optional third mechanism 11737list to intersect with. </p> 11738 11739<p> Specify mechanism names, "/file/name" patterns or "<a href="DATABASE_README.html">type:table</a>" 11740lookup tables. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>" lookups 11741is ignored. Specify "!pattern" to exclude a mechanism name from the 11742list. The form "!/file/name" is supported only in Postfix version 117432.4 and later. </p> 11744 11745<p> This feature is available in Postfix 2.2 and later. </p> 11746 11747<p> 11748Examples: 11749</p> 11750 11751<pre> 11752<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = plain, login 11753<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = /etc/postfix/smtp_mechs 11754<a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = !gssapi, !login, <a href="DATABASE_README.html#types">static</a>:rest 11755</pre> 11756 11757 11758</DD> 11759 11760<DT><b><a name="smtp_sasl_password_maps">smtp_sasl_password_maps</a> 11761(default: empty)</b></DT><DD> 11762 11763<p> 11764Optional Postfix SMTP client lookup tables with one username:password 11765entry per sender, remote hostname or next-hop domain. Per-sender 11766lookup is done only when sender-dependent authentication is enabled. 11767If no username:password entry is found, then the Postfix SMTP client 11768will not attempt to authenticate to the remote host. 11769</p> 11770 11771<p> 11772The Postfix SMTP client opens the lookup table before going to 11773chroot jail, so you can leave the password file in /etc/postfix. 11774</p> 11775 11776<p> 11777Specify zero or more "type:name" lookup tables, separated by 11778whitespace or comma. Tables will be searched in the specified order 11779until a match is found. 11780</p> 11781 11782 11783</DD> 11784 11785<DT><b><a name="smtp_sasl_path">smtp_sasl_path</a> 11786(default: empty)</b></DT><DD> 11787 11788<p> Implementation-specific information that the Postfix SMTP client 11789passes through to 11790the SASL plug-in implementation that is selected with 11791<b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>. Typically this specifies the name of a 11792configuration file or rendezvous point. </p> 11793 11794<p> This feature is available in Postfix 2.3 and later. </p> 11795 11796 11797</DD> 11798 11799<DT><b><a name="smtp_sasl_security_options">smtp_sasl_security_options</a> 11800(default: noplaintext, noanonymous)</b></DT><DD> 11801 11802<p> Postfix SMTP client SASL security options; as of Postfix 2.3 11803the list of available 11804features depends on the SASL client implementation that is selected 11805with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>. </p> 11806 11807<p> The following security features are defined for the <b>cyrus</b> 11808client SASL implementation: </p> 11809 11810<p> 11811Specify zero or more of the following: 11812</p> 11813 11814<dl> 11815 11816<dt><b>noplaintext</b></dt> 11817 11818<dd>Disallow methods that use plaintext passwords. </dd> 11819 11820<dt><b>noactive</b></dt> 11821 11822<dd>Disallow methods subject to active (non-dictionary) attack. 11823</dd> 11824 11825<dt><b>nodictionary</b></dt> 11826 11827<dd>Disallow methods subject to passive (dictionary) attack. </dd> 11828 11829<dt><b>noanonymous</b></dt> 11830 11831<dd>Disallow methods that allow anonymous authentication. </dd> 11832 11833<dt><b>mutual_auth</b></dt> 11834 11835<dd>Only allow methods that provide mutual authentication (not 11836available with SASL version 1). </dd> 11837 11838</dl> 11839 11840<p> 11841Example: 11842</p> 11843 11844<pre> 11845<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> = noplaintext 11846</pre> 11847 11848 11849</DD> 11850 11851<DT><b><a name="smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a> 11852(default: $<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a>)</b></DT><DD> 11853 11854<p> The SASL authentication security options that the Postfix SMTP 11855client uses for TLS encrypted SMTP sessions. </p> 11856 11857<p> This feature is available in Postfix 2.2 and later. </p> 11858 11859 11860</DD> 11861 11862<DT><b><a name="smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> 11863(default: $<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>)</b></DT><DD> 11864 11865<p> The SASL authentication security options that the Postfix SMTP 11866client uses for TLS encrypted SMTP sessions with a verified server 11867certificate. </p> 11868 11869<p> When mail is sent to the public MX host for the recipient's 11870domain, server certificates are by default optional, and delivery 11871proceeds even if certificate verification fails. For delivery via 11872a submission service that requires SASL authentication, it may be 11873appropriate to send plaintext passwords only when the connection 11874to the server is strongly encrypted <b>and</b> the server identity 11875is verified. </p> 11876 11877<p> The <a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> parameter makes it 11878possible to only enable plaintext mechanisms when a secure connection 11879to the server is available. Submission servers subject to this 11880policy must either have verifiable certificates or offer suitable 11881non-plaintext SASL mechanisms. </p> 11882 11883<p> This feature is available in Postfix 2.6 and later. </p> 11884 11885 11886</DD> 11887 11888<DT><b><a name="smtp_sasl_type">smtp_sasl_type</a> 11889(default: cyrus)</b></DT><DD> 11890 11891<p> The SASL plug-in type that the Postfix SMTP client should use 11892for authentication. The available types are listed with the 11893"<b>postconf -A</b>" command. </p> 11894 11895<p> This feature is available in Postfix 2.3 and later. </p> 11896 11897 11898</DD> 11899 11900<DT><b><a name="smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a> 11901(default: no)</b></DT><DD> 11902 11903<p> Whether or not to append the "AUTH=<>" option to the MAIL 11904FROM command in SASL-authenticated SMTP sessions. The default is 11905not to send this, to avoid problems with broken remote SMTP servers. 11906Before Postfix 2.9 the behavior is as if "<a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a> 11907= yes". 11908 11909<p> This feature is available in Postfix 2.9 and later. </p> 11910 11911 11912</DD> 11913 11914<DT><b><a name="smtp_send_xforward_command">smtp_send_xforward_command</a> 11915(default: no)</b></DT><DD> 11916 11917<p> 11918Send the non-standard XFORWARD command when the Postfix SMTP server 11919EHLO response announces XFORWARD support. 11920</p> 11921 11922<p> 11923This allows a Postfix SMTP delivery agent, used for injecting mail 11924into 11925a content filter, to forward the name, address, protocol and HELO 11926name of the original client to the content filter and downstream 11927queuing SMTP server. This can produce more useful logging than 11928localhost[127.0.0.1] etc. 11929</p> 11930 11931<p> 11932This feature is available in Postfix 2.1 and later. 11933</p> 11934 11935 11936</DD> 11937 11938<DT><b><a name="smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a> 11939(default: no)</b></DT><DD> 11940 11941<p> 11942Enable sender-dependent authentication in the Postfix SMTP client; this is 11943available only with SASL authentication, and disables SMTP connection 11944caching to ensure that mail from different senders will use the 11945appropriate credentials. </p> 11946 11947<p> 11948This feature is available in Postfix 2.3 and later. 11949</p> 11950 11951 11952</DD> 11953 11954<DT><b><a name="smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a> 11955(default: yes)</b></DT><DD> 11956 11957<p> 11958Skip SMTP servers that greet with a 4XX status code (go away, try 11959again later). 11960</p> 11961 11962<p> 11963By default, the Postfix SMTP client moves on the next mail exchanger. 11964Specify 11965"<a href="postconf.5.html#smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a> = no" if Postfix should defer delivery 11966immediately. 11967</p> 11968 11969<p> This feature is available in Postfix 2.0 and earlier. 11970Later Postfix versions always skip remote SMTP servers that greet 11971with a 119724XX status code. </p> 11973 11974 11975</DD> 11976 11977<DT><b><a name="smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> 11978(default: yes)</b></DT><DD> 11979 11980<p> 11981Skip remote SMTP servers that greet with a 5XX status code. 11982</p> 11983 11984<p> By default, the Postfix SMTP client moves on the next mail 11985exchanger. Specify "<a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> = no" if Postfix should 11986bounce the mail immediately. Caution: the latter behavior appears 11987to contradict <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>. </p> 11988 11989 11990</DD> 11991 11992<DT><b><a name="smtp_skip_quit_response">smtp_skip_quit_response</a> 11993(default: yes)</b></DT><DD> 11994 11995<p> 11996Do not wait for the response to the SMTP QUIT command. 11997</p> 11998 11999 12000</DD> 12001 12002<DT><b><a name="smtp_starttls_timeout">smtp_starttls_timeout</a> 12003(default: 300s)</b></DT><DD> 12004 12005<p> Time limit for Postfix SMTP client write and read operations 12006during TLS startup and shutdown handshake procedures. </p> 12007 12008<p> This feature is available in Postfix 2.2 and later. </p> 12009 12010 12011</DD> 12012 12013<DT><b><a name="smtp_tcp_port">smtp_tcp_port</a> 12014(default: smtp)</b></DT><DD> 12015 12016<p> 12017The default TCP port that the Postfix SMTP client connects to. 12018Specify a symbolic name (see services(5)) or a numeric port. 12019</p> 12020 12021 12022</DD> 12023 12024<DT><b><a name="smtp_tls_CAfile">smtp_tls_CAfile</a> 12025(default: empty)</b></DT><DD> 12026 12027<p> A file containing CA certificates of root CAs trusted to sign 12028either remote SMTP server certificates or intermediate CA certificates. 12029These are loaded into memory before the <a href="smtp.8.html">smtp(8)</a> client enters the 12030chroot jail. If the number of trusted roots is large, consider using 12031<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> instead, but note that the latter directory must be 12032present in the chroot jail if the <a href="smtp.8.html">smtp(8)</a> client is chrooted. This 12033file may also be used to augment the client certificate trust chain, 12034but it is best to include all the required certificates directly in 12035$<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> (or, Postfix ≥ 3.4 $<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>). </p> 12036 12037<p> Specify "<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /path/to/system_CA_file" to use 12038ONLY the system-supplied default Certification Authority certificates. 12039</p> 12040 12041<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from 12042appending the system-supplied default CAs and trusting third-party 12043certificates. </p> 12044 12045<p> Example: </p> 12046 12047<pre> 12048<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /etc/postfix/CAcert.pem 12049</pre> 12050 12051<p> This feature is available in Postfix 2.2 and later. </p> 12052 12053 12054</DD> 12055 12056<DT><b><a name="smtp_tls_CApath">smtp_tls_CApath</a> 12057(default: empty)</b></DT><DD> 12058 12059<p> Directory with PEM format Certification Authority certificates 12060that the Postfix SMTP client uses to verify a remote SMTP server 12061certificate. Don't forget to create the necessary "hash" links 12062with, for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs". 12063</p> 12064 12065<p> To use this option in chroot mode, this directory (or a copy) 12066must be inside the chroot jail. </p> 12067 12068<p> Specify "<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /path/to/system_CA_directory" to 12069use ONLY the system-supplied default Certification Authority certificates. 12070</p> 12071 12072<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from 12073appending the system-supplied default CAs and trusting third-party 12074certificates. </p> 12075 12076<p> Example: </p> 12077 12078<pre> 12079<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /etc/postfix/certs 12080</pre> 12081 12082<p> This feature is available in Postfix 2.2 and later. </p> 12083 12084 12085</DD> 12086 12087<DT><b><a name="smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a> 12088(default: no)</b></DT><DD> 12089 12090<p> Try to detect a mail hijacking attack based on a TLS protocol 12091vulnerability (CVE-2009-3555), where an attacker prepends malicious 12092HELO, MAIL, RCPT, DATA commands to a Postfix SMTP client TLS session. 12093The attack would succeed with non-Postfix SMTP servers that reply 12094to the malicious HELO, MAIL, RCPT, DATA commands after negotiating 12095the Postfix SMTP client TLS session. </p> 12096 12097<p> This feature is available in Postfix 2.7. </p> 12098 12099 12100</DD> 12101 12102<DT><b><a name="smtp_tls_cert_file">smtp_tls_cert_file</a> 12103(default: empty)</b></DT><DD> 12104 12105<p> File with the Postfix SMTP client RSA certificate in PEM format. 12106This file may also contain the Postfix SMTP client private RSA key, and 12107these may be the same as the Postfix SMTP server RSA certificate and key 12108file. With Postfix ≥ 3.4 the preferred way to configure client keys 12109and certificates is via the "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p> 12110 12111<p> Do not configure client certificates unless you <b>must</b> present 12112client TLS certificates to one or more servers. Client certificates are 12113not usually needed, and can cause problems in configurations that work 12114well without them. The recommended setting is to let the defaults stand: </p> 12115 12116<blockquote> 12117<pre> 12118<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> = 12119<a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> = 12120<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> = 12121<a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> = 12122# Obsolete DSA parameters 12123<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = 12124<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> = 12125# Postfix ≥ 3.4 interface 12126<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> = 12127</pre> 12128</blockquote> 12129 12130<p> The best way to use the default settings is to comment out the above 12131parameters in <a href="postconf.5.html">main.cf</a> if present. </p> 12132 12133<p> To enable remote SMTP servers to verify the Postfix SMTP client 12134certificate, the issuing CA certificates must be made available to the 12135server. You should include the required certificates in the client 12136certificate file, the client certificate first, then the issuing 12137CA(s) (bottom-up order). </p> 12138 12139<p> Example: the certificate for "client.example.com" was issued by 12140"intermediate CA" which itself has a certificate issued by "root CA". 12141As the "root" super-user create the client.pem file with: </p> 12142 12143<blockquote> 12144<pre> 12145# <b>umask 077</b> 12146# <b>cat client_key.pem client_cert.pem intermediate_CA.pem > chain.pem </b> 12147</pre> 12148</blockquote> 12149 12150<p> If you also want to verify remote SMTP server certificates issued by 12151these CAs, you can add the CA certificates to the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>, in 12152which case it is not necessary to have them in the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>, 12153<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> (obsolete) or <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. </p> 12154 12155<p> A certificate supplied here must be usable as an SSL client certificate 12156and hence pass the "openssl verify -purpose sslclient ..." test. </p> 12157 12158<p> Example: </p> 12159 12160<pre> 12161<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> = /etc/postfix/chain.pem 12162</pre> 12163 12164<p> This feature is available in Postfix 2.2 and later. </p> 12165 12166 12167</DD> 12168 12169<DT><b><a name="smtp_tls_chain_files">smtp_tls_chain_files</a> 12170(default: empty)</b></DT><DD> 12171 12172<p> List of one or more PEM files, each holding one or more private keys 12173directly followed by a corresponding certificate chain. The file names 12174are separated by commas and/or whitespace. This parameter obsoletes the 12175legacy algorithm-specific key and certificate file settings. When this 12176parameter is non-empty, the legacy parameters are ignored, and a warning 12177is logged if any are also non-empty. </p> 12178 12179<p> With the proliferation of multiple private key algorithms—which, 12180as of OpenSSL 1.1.1, include DSA (obsolete), RSA, ECDSA, Ed25519 12181and Ed448—it is increasingly impractical to use separate 12182parameters to configure the key and certificate chain for each 12183algorithm. Therefore, Postfix now supports storing multiple keys and 12184corresponding certificate chains in a single file or in a set of files. 12185 12186<p> Each key must appear <b>immediately before</b> the corresponding 12187certificate, optionally followed by additional issuer certificates that 12188complete the certificate chain for that key. When multiple files are 12189specified, they are equivalent to a single file that is concatenated 12190from those files in the given order. Thus, while a key must always 12191precede its certificate and issuer chain, it can be in a separate file, 12192so long as that file is listed immediately before the file that holds 12193the corresponding certificate chain. Once all the files are 12194concatenated, the sequence of PEM objects must be: <i>key1, cert1, 12195[chain1], key2, cert2, [chain2], ..., keyN, certN, [chainN].</i> </p> 12196 12197<p> Storing the private key in the same file as the corresponding 12198certificate is more reliable. With the key and certificate in separate 12199files, there is a chance that during key rollover a Postfix process 12200might load a private key and certificate from separate files that don't 12201match. Various operational errors may even result in a persistent 12202broken configuration in which the certificate does not match the private 12203key. </p> 12204 12205<p> The file or files must contain at most one key of each type. If, 12206for example, two or more RSA keys and corresponding chains are listed, 12207depending on the version of OpenSSL either only the last one will be 12208used or an configuration error may be detected. Note that while 12209"Ed25519" and "Ed448" are considered separate algorithms, the various 12210ECDSA curves (typically one of prime256v1, secp384r1 or secp521r1) are 12211considered as different parameters of a single "ECDSA" algorithm, so it 12212is not presently possible to configure keys for more than one ECDSA 12213curve. </p> 12214 12215<p> 12216Example (separate files for each key and corresponding certificate chain): 12217</p> 12218<blockquote> 12219<pre> 12220/etc/postfix/<a href="postconf.5.html">main.cf</a>: 12221 <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> = 12222 ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed25519.pem, 12223 ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed448.pem, 12224 ${<a href="postconf.5.html#config_directory">config_directory</a>}/rsa.pem 12225</pre> 12226</blockquote> 12227 12228<blockquote> 12229<pre> 12230/etc/postfix/ed25519.pem: 12231 -----BEGIN PRIVATE KEY----- 12232 MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3 12233 -----END PRIVATE KEY----- 12234 -----BEGIN CERTIFICATE----- 12235 MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG 12236 ... 12237 nC0egv51YPDWxEHom4QA 12238 -----END CERTIFICATE----- 12239</pre> 12240</blockquote> 12241 12242<blockquote> 12243<pre> 12244/etc/postfix/ed448.pem: 12245 -----BEGIN PRIVATE KEY----- 12246 MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe 12247 LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A== 12248 -----END PRIVATE KEY----- 12249 -----BEGIN CERTIFICATE----- 12250 MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG 12251 ... 12252 pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA 12253 -----END CERTIFICATE----- 12254</pre> 12255</blockquote> 12256 12257<blockquote> 12258<pre> 12259/etc/postfix/rsa.pem: 12260 -----BEGIN PRIVATE KEY----- 12261 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL 12262 ... 12263 ahQkZ3+krcaJvDSMgvu0tDc= 12264 -----END PRIVATE KEY----- 12265 -----BEGIN CERTIFICATE----- 12266 MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL 12267 ... 12268 Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE= 12269 -----END CERTIFICATE----- 12270</pre> 12271</blockquote> 12272 12273<p> 12274Example (all keys and certificates in a single file): 12275</p> 12276<blockquote> 12277<pre> 12278/etc/postfix/<a href="postconf.5.html">main.cf</a>: 12279 <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> = ${<a href="postconf.5.html#config_directory">config_directory</a>}/chains.pem 12280</pre> 12281</blockquote> 12282 12283<blockquote> 12284<pre> 12285/etc/postfix/chains.pem: 12286 -----BEGIN PRIVATE KEY----- 12287 MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3 12288 -----END PRIVATE KEY----- 12289 -----BEGIN CERTIFICATE----- 12290 MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG 12291 ... 12292 nC0egv51YPDWxEHom4QA 12293 -----END CERTIFICATE----- 12294 -----BEGIN PRIVATE KEY----- 12295 MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe 12296 LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A== 12297 -----END PRIVATE KEY----- 12298 -----BEGIN CERTIFICATE----- 12299 MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG 12300 ... 12301 pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA 12302 -----END CERTIFICATE----- 12303 -----BEGIN PRIVATE KEY----- 12304 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL 12305 ... 12306 ahQkZ3+krcaJvDSMgvu0tDc= 12307 -----END PRIVATE KEY----- 12308 -----BEGIN CERTIFICATE----- 12309 MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL 12310 ... 12311 Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE= 12312 -----END CERTIFICATE----- 12313</pre> 12314</blockquote> 12315 12316<p> This feature is available in Postfix 3.4 and later. </p> 12317 12318 12319</DD> 12320 12321<DT><b><a name="smtp_tls_cipherlist">smtp_tls_cipherlist</a> 12322(default: empty)</b></DT><DD> 12323 12324<p> Obsolete Postfix < 2.3 control for the Postfix SMTP client TLS 12325cipher list. As this feature applies to all TLS security levels, it is easy 12326to create interoperability problems by choosing a non-default cipher 12327list. Do not use a non-default TLS cipher list on hosts that deliver email 12328to the public Internet: you will be unable to send email to servers that 12329only support the ciphers you exclude. Using a restricted cipher list 12330may be more appropriate for an internal MTA, where one can exert some 12331control over the TLS software and settings of the peer servers. </p> 12332 12333<p> <b>Note:</b> do not use "" quotes around the parameter value. </p> 12334 12335<p> This feature is available in Postfix version 2.2. It is not used with 12336Postfix 2.3 and later; use <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> instead. </p> 12337 12338 12339</DD> 12340 12341<DT><b><a name="smtp_tls_ciphers">smtp_tls_ciphers</a> 12342(default: medium)</b></DT><DD> 12343 12344<p> The minimum TLS cipher grade that the Postfix SMTP client 12345will use with opportunistic TLS encryption. Cipher types listed in 12346<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> are excluded from the base definition of 12347the selected cipher grade. The default value is "medium" for 12348Postfix releases after the middle of 2015, "export" for older 12349releases. </p> 12350 12351<p> When TLS is mandatory the cipher grade is chosen via the 12352<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> configuration parameter, see there for syntax 12353details. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure 12354ciphers on a per-destination basis. </p> 12355 12356<p> This feature is available in Postfix 2.6 and later. With earlier Postfix 12357releases only the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter is implemented, 12358and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p> 12359 12360 12361</DD> 12362 12363<DT><b><a name="smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> 12364(default: no)</b></DT><DD> 12365 12366<p> Try to make multiple deliveries per TLS-encrypted connection. 12367This uses the <a href="tlsproxy.8.html">tlsproxy(8)</a> service to encrypt an SMTP connection, 12368uses the <a href="scache.8.html">scache(8)</a> service to save that connection, and relies on 12369hints from the <a href="qmgr.8.html">qmgr(8)</a> daemon. </p> 12370 12371<p> See "<a href="TLS_README.html#client_tls_reuse">Client-side 12372TLS connection reuse</a>" for background details. </p> 12373 12374<p> This feature is available in Postfix 3.4 and later. </p> 12375 12376 12377</DD> 12378 12379<DT><b><a name="smtp_tls_dane_insecure_mx_policy">smtp_tls_dane_insecure_mx_policy</a> 12380(default: dane)</b></DT><DD> 12381 12382<p> The TLS policy for MX hosts with "secure" TLSA records when the 12383nexthop destination security level is <b>dane</b>, but the MX 12384record was found via an "insecure" MX lookup. The choices are: 12385</p> 12386 12387<dl> 12388<dt><b>may</b></dt> 12389<dd> The TLSA records will be ignored and TLS will be optional. If 12390the MX host does not appear to support STARTTLS, or the STARTTLS 12391handshake fails, mail may be sent in the clear. </dd> 12392<dt><b>encrypt</b></dt> 12393<dd> The TLSA records will signal a requirement to use TLS. While 12394TLS encryption will be required, authentication will not be performed. 12395</dd> 12396<dt><b>dane</b> (default)</dt> 12397<dd>The TLSA records will be used just as with "secure" MX records. 12398TLS encryption will be required, and, if at least one of the TLSA 12399records is "usable", authentication will be required. When 12400authentication succeeds, it will be logged only as "Trusted", not 12401"Verified", because the MX host name could have been forged. </dd> 12402</dl> 12403 12404<p> Though with "insecure" MX records an active attacker can 12405compromise SMTP transport security by returning forged MX records, 12406such attacks are "tamper-evident" since any forged MX hostnames 12407will be recorded in the mail logs. Attackers who place a high value 12408staying hidden may be deterred from forging MX records. </p> 12409 12410<p> 12411This feature is available in Postfix 3.1 and later. The <b>may</b> 12412policy is backwards-compatible with earlier Postfix versions. 12413</p> 12414 12415 12416</DD> 12417 12418<DT><b><a name="smtp_tls_dcert_file">smtp_tls_dcert_file</a> 12419(default: empty)</b></DT><DD> 12420 12421<p> File with the Postfix SMTP client DSA certificate in PEM format. 12422This file may also contain the Postfix SMTP client private DSA key. 12423The DSA algorithm is obsolete and should not be used. </p> 12424 12425<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details. 12426</p> 12427 12428<p> Example: </p> 12429 12430<pre> 12431<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem 12432</pre> 12433 12434<p> This feature is available in Postfix 2.2 and later. </p> 12435 12436 12437</DD> 12438 12439<DT><b><a name="smtp_tls_dkey_file">smtp_tls_dkey_file</a> 12440(default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD> 12441 12442<p> File with the Postfix SMTP client DSA private key in PEM format. 12443This file may be combined with the Postfix SMTP client DSA certificate 12444file specified with $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>. The DSA algorithm is obsolete 12445and should not be used. </p> 12446 12447<p> The private key must be accessible without a pass-phrase, i.e. it 12448must not be encrypted. File permissions should grant read-only 12449access to the system superuser account ("root"), and no access 12450to anyone else. </p> 12451 12452<p> This feature is available in Postfix 2.2 and later. </p> 12453 12454 12455</DD> 12456 12457<DT><b><a name="smtp_tls_eccert_file">smtp_tls_eccert_file</a> 12458(default: empty)</b></DT><DD> 12459 12460<p> File with the Postfix SMTP client ECDSA certificate in PEM format. 12461This file may also contain the Postfix SMTP client ECDSA private key. 12462With Postfix ≥ 3.4 the preferred way to configure client keys and 12463certificates is via the "<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p> 12464 12465<p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details. 12466</p> 12467 12468<p> Example: </p> 12469 12470<pre> 12471<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> = /etc/postfix/ecdsa-ccert.pem 12472</pre> 12473 12474<p> This feature is available in Postfix 2.6 and later, when Postfix is 12475compiled and linked with OpenSSL 1.0.0 or later. </p> 12476 12477 12478</DD> 12479 12480<DT><b><a name="smtp_tls_eckey_file">smtp_tls_eckey_file</a> 12481(default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD> 12482 12483<p> File with the Postfix SMTP client ECDSA private key in PEM format. 12484This file may be combined with the Postfix SMTP client ECDSA certificate 12485file specified with $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. With Postfix ≥ 3.4 the 12486preferred way to configure client keys and certificates is via the 12487"<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p> 12488 12489<p> The private key must be accessible without a pass-phrase, i.e. it 12490must not be encrypted. File permissions should grant read-only 12491access to the system superuser account ("root"), and no access 12492to anyone else. </p> 12493 12494<p> This feature is available in Postfix 2.6 and later, when Postfix is 12495compiled and linked with OpenSSL 1.0.0 or later. </p> 12496 12497 12498</DD> 12499 12500<DT><b><a name="smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> 12501(default: yes)</b></DT><DD> 12502 12503<p> With mandatory TLS encryption, require that the remote SMTP 12504server hostname matches the information in the remote SMTP server 12505certificate. As of <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> the requirements for hostname checking 12506for MTA clients are not specified. </p> 12507 12508<p> This option can be set to "no" to disable strict peer name 12509checking. This setting has no effect on sessions that are controlled 12510via the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table. </p> 12511 12512<p> Disabling the hostname verification can make sense in closed 12513environment where special CAs are created. If not used carefully, 12514this option opens the danger of a "man-in-the-middle" attack (the 12515CommonName of this attacker will be logged). </p> 12516 12517<p> This feature is available in Postfix 2.2 and later. With 12518Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p> 12519 12520 12521</DD> 12522 12523<DT><b><a name="smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> 12524(default: empty)</b></DT><DD> 12525 12526<p> List of ciphers or cipher types to exclude from the Postfix 12527SMTP client cipher 12528list at all TLS security levels. This is not an OpenSSL cipherlist, it is 12529a simple list separated by whitespace and/or commas. The elements are a 12530single cipher, or one or more "+" separated cipher properties, in which 12531case only ciphers matching <b>all</b> the properties are excluded. </p> 12532 12533<p> Examples (some of these will cause problems): </p> 12534 12535<blockquote> 12536<pre> 12537<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL 12538<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = MD5, DES 12539<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = DES+MD5 12540<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5 12541<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = kEDH+aRSA 12542</pre> 12543</blockquote> 12544 12545<p> The first setting, disables anonymous ciphers. The next setting 12546disables ciphers that use the MD5 digest algorithm or the (single) DES 12547encryption algorithm. The next setting disables ciphers that use MD5 and 12548DES together. The next setting disables the two ciphers "AES256-SHA" 12549and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH" 12550key exchange with RSA authentication. </p> 12551 12552<p> This feature is available in Postfix 2.3 and later. </p> 12553 12554 12555</DD> 12556 12557<DT><b><a name="smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> 12558(default: empty)</b></DT><DD> 12559 12560<p> List of acceptable remote SMTP server certificate fingerprints for 12561the "fingerprint" TLS security level (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> = 12562fingerprint). At this security level, Certification Authorities are not 12563used, and certificate expiration times are ignored. Instead, server 12564certificates are verified directly via their certificate fingerprint 12565or public key fingerprint (Postfix 2.9 and later). The fingerprint 12566is a message digest of the server certificate (or public key). The 12567digest algorithm is selected via the <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> 12568parameter. </p> 12569 12570<p> When an <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a></b> table entry specifies the 12571"fingerprint" security level, any "match" attributes in that entry specify 12572the list of valid fingerprints for the corresponding destination. Multiple 12573fingerprints can be combined with a "|" delimiter in a single match 12574attribute, or multiple match attributes can be employed. </p> 12575 12576<p> Example: Certificate fingerprint verification with internal mailhub. 12577Two matching fingerprints are listed. The <a href="postconf.5.html#relayhost">relayhost</a> may be multiple 12578physical hosts behind a load-balancer, each with its own private/public 12579key and self-signed certificate. Alternatively, a single <a href="postconf.5.html#relayhost">relayhost</a> may 12580be in the process of switching from one set of private/public keys to 12581another, and both keys are trusted just prior to the transition. </p> 12582 12583<blockquote> 12584<pre> 12585<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com] 12586<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint 12587<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5 12588<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> = 12589 3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1 12590 EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35 12591</pre> 12592</blockquote> 12593 12594<p> Example: Certificate fingerprint verification with selected destinations. 12595As in the example above, we show two matching fingerprints: </p> 12596 12597<blockquote> 12598<pre> 12599/etc/postfix/<a href="postconf.5.html">main.cf</a>: 12600 <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/tls_policy 12601 <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5 12602</pre> 12603</blockquote> 12604 12605<blockquote> 12606<pre> 12607/etc/postfix/tls_policy: 12608 example.com fingerprint 12609 match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1 12610 match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35 12611</pre> 12612</blockquote> 12613 12614<p> This feature is available in Postfix 2.5 and later. </p> 12615 12616 12617</DD> 12618 12619<DT><b><a name="smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> 12620(default: md5)</b></DT><DD> 12621 12622<p> The message digest algorithm used to construct remote SMTP server 12623certificate fingerprints. At the "fingerprint" TLS security level 12624(<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> = fingerprint), the server certificate is 12625verified by directly matching its certificate fingerprint or its public 12626key fingerprint (Postfix 2.9 and later). The fingerprint is the 12627message digest of the server certificate (or its public key) 12628using the selected 12629algorithm. With a digest algorithm resistant to "second pre-image" 12630attacks, it is not feasible to create a new public key and a matching 12631certificate (or public/private key-pair) that has the same fingerprint. </p> 12632 12633<p> The default algorithm is <b>md5</b>; this is consistent with 12634the backwards compatible setting of the digest used to verify client 12635certificates in the SMTP server. </p> 12636 12637<p> The best practice algorithm is now <b>sha1</b>. Recent advances in hash 12638function cryptanalysis have led to md5 being deprecated in favor of sha1. 12639However, as long as there are no known "second pre-image" attacks 12640against md5, its use in this context can still be considered safe. 12641</p> 12642 12643<p> While additional digest algorithms are often available with OpenSSL's 12644libcrypto, only those used by libssl in SSL cipher suites are available to 12645Postfix. For now this means just md5 or sha1. </p> 12646 12647<p> To find the fingerprint of a specific certificate file, with a 12648specific digest algorithm, run: 12649</p> 12650 12651<blockquote> 12652<pre> 12653$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem 12654</pre> 12655</blockquote> 12656 12657<p> The text to the right of "=" sign is the desired fingerprint. 12658For example: </p> 12659 12660<blockquote> 12661<pre> 12662$ openssl x509 -noout -fingerprint -sha1 -in cert.pem 12663SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A 12664</pre> 12665</blockquote> 12666 12667<p> To extract the public key fingerprint from an X.509 certificate, 12668you need to extract the public key from the certificate and compute 12669the appropriate digest of its DER (ASN.1) encoding. With OpenSSL 12670the "-pubkey" option of the "x509" command extracts the public 12671key always in "PEM" format. We pipe the result to another OpenSSL 12672command that converts the key to DER and then to the "dgst" command 12673to compute the fingerprint. </p> 12674 12675<p> The actual command to transform the key to DER format depends 12676on the version of OpenSSL used. With OpenSSL 1.0.0 and later, the 12677"pkey" command supports all key types. With OpenSSL 0.9.8 and 12678earlier, the key type is always RSA (nobody uses DSA, and EC 12679keys are not fully supported by 0.9.8), so the "rsa" command is 12680used. </p> 12681<blockquote> 12682<pre> 12683# OpenSSL 1.0 with all certificates and SHA-1 fingerprints. 12684$ openssl x509 -in cert.pem -noout -pubkey | 12685 openssl pkey -pubin -outform DER | 12686 openssl dgst -sha1 -c 12687(stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58 12688</pre> 12689</blockquote> 12690 12691<blockquote> 12692<pre> 12693# OpenSSL 0.9.8 with RSA certificates and MD5 fingerprints. 12694$ openssl x509 -in cert.pem -noout -pubkey | 12695 openssl rsa -pubin -outform DER | 12696 openssl dgst -md5 -c 12697(stdin)= f4:62:60:f6:12:8f:d5:8d:28:4d:13:a7:db:b2:ff:50 12698</pre> 12699</blockquote> 12700 12701<p> The Postfix SMTP server and client log the peer (leaf) certificate 12702fingerprint and public key fingerprint when the TLS loglevel is 2 or 12703higher. </p> 12704 12705<p> <b>Note:</b> Postfix 2.9.0–2.9.5 computed the public key 12706fingerprint incorrectly. To use public-key fingerprints, upgrade 12707to Postfix 2.9.6 or later. </p> 12708 12709<p> This feature is available in Postfix 2.5 and later. </p> 12710 12711 12712</DD> 12713 12714<DT><b><a name="smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a> 12715(default: no)</b></DT><DD> 12716 12717<p> Lookup the associated DANE TLSA RRset even when a hostname is 12718not an alias and its address records lie in an unsigned zone. This 12719is unlikely to ever yield DNSSEC validated results, since child 12720zones of unsigned zones are also unsigned in the absence of DLV or 12721locally configured non-root trust-anchors. We anticipate that such 12722mechanisms will not be used for just the "_tcp" subdomain of a host. 12723Suppressing the TLSA RRset lookup reduces latency and avoids potential 12724interoperability problems with nameservers for unsigned zones that 12725are not prepared to handle the new TLSA RRset. </p> 12726 12727<p> This feature is available in Postfix 2.11. </p> 12728 12729 12730</DD> 12731 12732<DT><b><a name="smtp_tls_key_file">smtp_tls_key_file</a> 12733(default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD> 12734 12735<p> File with the Postfix SMTP client RSA private key in PEM format. 12736This file may be combined with the Postfix SMTP client RSA certificate 12737file specified with $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>. With Postfix ≥ 3.4 the 12738preferred way to configure client keys and certificates is via the 12739"<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>" parameter. </p> 12740 12741<p> The private key must be accessible without a pass-phrase, i.e. it 12742must not be encrypted. File permissions should grant read-only 12743access to the system superuser account ("root"), and no access 12744to anyone else. </p> 12745 12746<p> Example: </p> 12747 12748<pre> 12749<a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> = $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> 12750</pre> 12751 12752<p> This feature is available in Postfix 2.2 and later. </p> 12753 12754 12755</DD> 12756 12757<DT><b><a name="smtp_tls_loglevel">smtp_tls_loglevel</a> 12758(default: 0)</b></DT><DD> 12759 12760<p> Enable additional Postfix SMTP client logging of TLS activity. 12761Each logging level also includes the information that is logged at 12762a lower logging level. </p> 12763 12764<dl compact> 12765 12766<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd> 12767 12768<dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion 12769— no logging of remote SMTP server certificate trust-chain 12770verification errors if server certificate verification is not required. 12771With Postfix 2.8 and earlier, log the summary message and unconditionally 12772log trust-chain verification errors. </dd> 12773 12774<dt> </dt> <dd> 2 Also log levels during TLS negotiation. </dd> 12775 12776<dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation 12777process. </dd> 12778 12779<dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete 12780transmission after STARTTLS. </dd> 12781 12782</dl> 12783 12784<p> Do not use "<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> = 2" or higher except in case of 12785problems. Use of loglevel 4 is strongly discouraged. </p> 12786 12787<p> This feature is available in Postfix 2.2 and later. </p> 12788 12789 12790</DD> 12791 12792<DT><b><a name="smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> 12793(default: medium)</b></DT><DD> 12794 12795<p> The minimum TLS cipher grade that the Postfix SMTP client will 12796use with 12797mandatory TLS encryption. The default value "medium" is suitable 12798for most destinations with which you may want to enforce TLS, and 12799is beyond the reach of today's cryptanalytic methods. See 12800<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure ciphers 12801on a per-destination basis. </p> 12802 12803<p> The following cipher grades are supported: </p> 12804 12805<dl> 12806<dt><b>export</b></dt> 12807<dd> Enable "EXPORT" grade or better OpenSSL ciphers. The underlying 12808cipherlist is specified via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration 12809parameter, which you are strongly encouraged to not change. This 12810choice is insecure and SHOULD NOT be used. </dd> 12811 12812<dt><b>low</b></dt> 12813<dd> Enable "LOW" grade or better OpenSSL ciphers. The underlying 12814cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration 12815parameter, which you are strongly encouraged to not change. This 12816choice is insecure and SHOULD NOT be used. </dd> 12817 12818<dt><b>medium</b></dt> 12819<dd> Enable "MEDIUM" grade or better OpenSSL ciphers. 12820The underlying cipherlist is specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a> 12821configuration parameter, which you are strongly encouraged to not change. 12822</dd> 12823 12824<dt><b>high</b></dt> 12825<dd> Enable only "HIGH" grade OpenSSL ciphers. This setting may 12826be appropriate when all mandatory TLS destinations (e.g. when all 12827mail is routed to a suitably capable <a href="postconf.5.html#relayhost">relayhost</a>) support at least one 12828"HIGH" grade cipher. The underlying cipherlist is specified via the 12829<a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a> configuration parameter, which you are strongly 12830encouraged to not change. </dd> 12831 12832<dt><b>null</b></dt> 12833<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication 12834without encryption. This setting is only appropriate in the rare case 12835that all servers are prepared to use NULL ciphers (not normally enabled 12836in TLS servers). A plausible use-case is an LMTP server listening on a 12837UNIX-domain socket that is configured to support "NULL" ciphers. The 12838underlying cipherlist is specified via the <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> 12839configuration parameter, which you are strongly encouraged to not 12840change. </dd> 12841 12842</dl> 12843 12844<p> The underlying cipherlists for grades other than "null" include 12845anonymous ciphers, but these are automatically filtered out if the 12846Postfix SMTP client is configured to verify server certificates. 12847You are very unlikely to need to take any steps to exclude anonymous 12848ciphers, they are excluded automatically as necessary. If you must 12849exclude anonymous ciphers at the "may" or "encrypt" security levels, 12850when the Postfix SMTP client does not need or use peer certificates, set 12851"<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only when 12852TLS is enforced, set "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> = aNULL". </p> 12853 12854<p> This feature is available in Postfix 2.3 and later. </p> 12855 12856 12857</DD> 12858 12859<DT><b><a name="smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> 12860(default: empty)</b></DT><DD> 12861 12862<p> Additional list of ciphers or cipher types to exclude from the 12863Postfix SMTP client cipher list at mandatory TLS security levels. This list 12864works in addition to the exclusions listed with <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> 12865(see there for syntax details). </p> 12866 12867<p> Starting with Postfix 2.6, the mandatory cipher exclusions can be 12868specified on a per-destination basis via the TLS policy "exclude" 12869attribute. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for notes and examples. </p> 12870 12871<p> This feature is available in Postfix 2.3 and later. </p> 12872 12873 12874</DD> 12875 12876<DT><b><a name="smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> 12877(default: !SSLv2, !SSLv3)</b></DT><DD> 12878 12879<p> List of SSL/TLS protocols that the Postfix SMTP client will use with 12880mandatory TLS encryption. In <a href="postconf.5.html">main.cf</a> the values are separated by 12881whitespace, commas or colons. In the policy table "protocols" attribute 12882(see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon. An 12883empty value means allow all protocols. The valid protocol names, (see 12884<b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3" and "TLSv1". The 12885default value is "!SSLv2, !SSLv3" for Postfix releases after the 12886middle of 2015, "!SSLv2" for older releases. </p> 12887 12888<p> With Postfix ≥ 2.5 the parameter syntax was expanded to support 12889protocol exclusions. One can explicitly exclude "SSLv2" by setting 12890"<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2". To exclude both "SSLv2" and 12891"SSLv3" set "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing 12892the protocols to include, rather than protocols to exclude, is 12893supported, but not recommended. The exclusion form more closely 12894matches the underlying OpenSSL interface semantics. 12895</p> 12896 12897<p> The range of protocols advertised by an SSL/TLS client must be 12898contiguous. When a protocol version is enabled, disabling any 12899higher version implicitly disables all versions above that higher version. 12900Thus, for example (assuming the OpenSSL library supports both SSLv2 12901and SSLv3): 12902</p> 12903<blockquote> 12904<pre> 12905<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !TLSv1 12906</pre> 12907</blockquote> 12908<p> also disables any protocols version higher than TLSv1 leaving 12909only "SSLv3" enabled. </p> 12910 12911<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1" 12912and "TLSv1.2". When Postfix ≤ 2.5 is linked against OpenSSL 1.0.1 12913or later, these, or any other new protocol versions, cannot be 12914disabled except by also disabling "TLSv1" (typically leaving just 12915"SSLv3"). The latest patch levels of Postfix ≥ 2.6, and all 12916versions of Postfix ≥ 2.10 can explicitly disable support for 12917"TLSv1.1" or "TLSv1.2". </p> 12918 12919<p> OpenSSL 1.1.1 introduces support for "TLSv1.3". With Postfix 12920≥ 3.4 (or patch releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2) 12921this can be disabled, if need be, via "!TLSv1.3". </p> 12922 12923<p> At the <a href="TLS_README.html#client_tls_dane">dane</a> and 12924<a href="TLS_README.html#client_tls_dane">dane-only</a> security 12925levels, when usable TLSA records are obtained for the remote SMTP 12926server, the Postfix SMTP client is obligated to include the SNI TLS 12927extension in its SSL client hello message. This may help the remote 12928SMTP server live up to its promise to provide a certificate that 12929matches its TLSA records. Since TLS extensions require TLS 1.0 or 12930later, the Postfix SMTP client must disable "SSLv2" and "SSLv3" when 12931SNI is required. If you use "dane" or "dane-only" do not disable 12932TLSv1, except perhaps via the policy table for destinations which 12933you are sure will support "TLSv1.1" or "TLSv1.2". </p> 12934 12935<p> See the documentation of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> parameter and 12936<a href="TLS_README.html">TLS_README</a> for more information about security levels. </p> 12937 12938<p> Example: </p> 12939 12940<pre> 12941# Preferred syntax with Postfix ≥ 2.5: 12942<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3 12943# Legacy syntax: 12944<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1 12945</pre> 12946 12947<p> This feature is available in Postfix 2.3 and later. </p> 12948 12949 12950</DD> 12951 12952<DT><b><a name="smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a> 12953(default: no)</b></DT><DD> 12954 12955<p> Log the hostname of a remote SMTP server that offers STARTTLS, 12956when TLS is not already enabled for that server. </p> 12957 12958<p> The logfile record looks like: </p> 12959 12960<pre> 12961postfix/smtp[pid]: Host offered STARTTLS: [name.of.host] 12962</pre> 12963 12964<p> This feature is available in Postfix 2.2 and later. </p> 12965 12966 12967</DD> 12968 12969<DT><b><a name="smtp_tls_per_site">smtp_tls_per_site</a> 12970(default: empty)</b></DT><DD> 12971 12972<p> Optional lookup tables with the Postfix SMTP client TLS usage 12973policy by next-hop destination and by remote SMTP server hostname. 12974When both lookups succeed, the more specific per-site policy (NONE, 12975MUST, etc) overrides the less specific one (MAY), and the more secure 12976per-site policy (MUST, etc) overrides the less secure one (NONE). 12977With Postfix 2.3 and later <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> is strongly discouraged: 12978use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p> 12979 12980<p> Use of the bare hostname as the per-site table lookup key is 12981discouraged. Always use the full destination nexthop (enclosed in 12982[] with a possible ":port" suffix). A recipient domain or MX-enabled 12983transport next-hop with no port suffix may look like a bare hostname, 12984but is still a suitable <i>destination</i>. </p> 12985 12986<p> Specify a next-hop destination or server hostname on the left-hand 12987side; no wildcards are allowed. The next-hop destination is either 12988the recipient domain, or the destination specified with a <a href="transport.5.html">transport(5)</a> 12989table, the <a href="postconf.5.html#relayhost">relayhost</a> parameter, or the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter. 12990On the right hand side specify one of the following keywords: </p> 12991 12992<dl> 12993 12994<dt> NONE </dt> <dd> Don't use TLS at all. This overrides a less 12995specific <b>MAY</b> lookup result from the alternate host or next-hop 12996lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>, <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>, 12997and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd> 12998 12999<dt> MAY </dt> <dd> Try to use TLS if the server announces support, 13000otherwise use the unencrypted connection. This has less precedence 13001than a more specific result (including <b>NONE</b>) from the alternate 13002host or next-hop lookup key, and has less precedence than the more 13003specific global "<a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> = yes" or "<a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> 13004= yes". </dd> 13005 13006<dt> MUST_NOPEERMATCH </dt> <dd> Require TLS encryption, but do not 13007require that the remote SMTP server hostname matches the information 13008in the remote SMTP server certificate, or that the server certificate 13009was issued by a trusted CA. This overrides a less secure <b>NONE</b> 13010or a less specific <b>MAY</b> lookup result from the alternate host 13011or next-hop lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>, 13012<a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd> 13013 13014<dt> MUST </dt> <dd> Require TLS encryption, require that the remote 13015SMTP server hostname matches the information in the remote SMTP 13016server certificate, and require that the remote SMTP server certificate 13017was issued by a trusted CA. This overrides a less secure <b>NONE</b> 13018and <b>MUST_NOPEERMATCH</b> or a less specific <b>MAY</b> lookup 13019result from the alternate host or next-hop lookup key, and overrides 13020the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>, <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> 13021settings. </dd> 13022 13023</dl> 13024 13025<p> The above keywords correspond to the "none", "may", "encrypt" and 13026"verify" security levels for the new <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> parameter 13027introduced in Postfix 2.3. Starting with Postfix 2.3, and independently 13028of how the policy is specified, the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and 13029<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameters apply when TLS encryption 13030is mandatory. Connections for which encryption is optional typically 13031enable all "export" grade and better ciphers (see <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> 13032and <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>). </p> 13033 13034<p> As long as no secure DNS lookup mechanism is available, false 13035hostnames in MX or CNAME responses can change the server hostname 13036that Postfix uses for TLS policy lookup and server certificate 13037verification. Even with a perfect match between the server hostname and 13038the server certificate, there is no guarantee that Postfix is connected 13039to the right server. See <a href="TLS_README.html">TLS_README</a> (Closing a DNS loophole with obsolete 13040per-site TLS policies) for a possible work-around. </p> 13041 13042<p> This feature is available in Postfix 2.2 and later. With 13043Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p> 13044 13045 13046</DD> 13047 13048<DT><b><a name="smtp_tls_policy_maps">smtp_tls_policy_maps</a> 13049(default: empty)</b></DT><DD> 13050 13051<p> Optional lookup tables with the Postfix SMTP client TLS security 13052policy by next-hop destination; when a non-empty value is specified, 13053this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter. See 13054<a href="TLS_README.html">TLS_README</a> for a more detailed discussion of TLS security levels. 13055</p> 13056 13057<p> 13058Specify zero or more "type:name" lookup tables, separated by 13059whitespace or comma. Tables will be searched in the specified order 13060until a match is found. 13061</p> 13062 13063<p> The TLS policy table is indexed by the full next-hop destination, 13064which is either the recipient domain, or the verbatim next-hop 13065specified in the transport table, $<a href="postconf.5.html#local_transport">local_transport</a>, $<a href="postconf.5.html#virtual_transport">virtual_transport</a>, 13066$<a href="postconf.5.html#relay_transport">relay_transport</a> or $<a href="postconf.5.html#default_transport">default_transport</a>. This includes any enclosing 13067square brackets and any non-default destination server port suffix. The 13068LMTP socket type prefix (inet: or unix:) is not included in the lookup 13069key. </p> 13070 13071<p> Only the next-hop domain, or $<a href="postconf.5.html#myhostname">myhostname</a> with LMTP over UNIX-domain 13072sockets, is used as the nexthop name for certificate verification. The 13073port and any enclosing square brackets are used in the table lookup key, 13074but are not used for server name verification. </p> 13075 13076<p> When the lookup key is a domain name without enclosing square brackets 13077or any <i>:port</i> suffix (typically the recipient domain), and the full 13078domain is not found in the table, just as with the <a href="transport.5.html">transport(5)</a> table, 13079the parent domain starting with a leading "." is matched recursively. This 13080allows one to specify a security policy for a recipient domain and all 13081its sub-domains. </p> 13082 13083<p> The lookup result is a security level, followed by an optional list 13084of whitespace and/or comma separated name=value attributes that override 13085related <a href="postconf.5.html">main.cf</a> settings. The TLS security levels in order of increasing 13086security are: </p> 13087 13088<dl> 13089 13090<dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt> 13091<dd>No TLS. No additional attributes are supported at this level. </dd> 13092 13093<dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt> 13094<dd>Opportunistic TLS. Since sending in the clear is acceptable, 13095demanding stronger than default TLS security merely reduces 13096interoperability. The optional "ciphers", "exclude", and "protocols" 13097attributes (available for opportunistic TLS with Postfix ≥ 2.6) 13098and "connection_reuse" attribute (Postfix ≥ 3.4) override the 13099"<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>", "<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>", "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>", 13100and 13101"<a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a>" configuration parameters. When opportunistic 13102TLS handshakes fail, Postfix retries the connection with TLS disabled. 13103This allows mail delivery to sites with non-interoperable TLS 13104implementations.</dd> 13105 13106<dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt> 13107<dd>Mandatory TLS encryption. At this level 13108and higher, the optional "protocols" attribute overrides the <a href="postconf.5.html">main.cf</a> 13109<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameter, the optional "ciphers" attribute 13110overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter, the 13111optional "exclude" attribute (Postfix ≥ 2.6) overrides the <a href="postconf.5.html">main.cf</a> 13112<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> parameter, and the optional 13113"connection_reuse" attribute (Postfix ≥ 3.4) overrides the 13114<a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. In the policy table, 13115multiple protocols or excluded ciphers must be separated by colons, 13116as attribute values may not contain whitespace or commas. </dd> 13117 13118<dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt> 13119<dd>Opportunistic DANE TLS. The TLS policy for the destination is 13120obtained via TLSA records in DNSSEC. If no TLSA records are found, 13121the effective security level used is <a 13122href="TLS_README.html#client_tls_may">may</a>. If TLSA records are 13123found, but none are usable, the effective security level is <a 13124href="TLS_README.html#client_tls_encrypt">encrypt</a>. When usable 13125TLSA records are obtained for the remote SMTP server, the 13126server certificate must match the TLSA records. <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE) 13127TLS authentication and DNSSEC support is available with Postfix 131282.11 and later. The optional "connection_reuse" attribute (Postfix 13129≥ 3.4) overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. 13130</dd> 13131 13132<dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt> 13133<dd>Mandatory DANE TLS. The TLS policy for the destination is 13134obtained via TLSA records in DNSSEC. If no TLSA records are found, 13135or none are usable, no connection is made to the server. When 13136usable TLSA records are obtained for the remote SMTP server, the 13137server certificate must match the TLSA records. <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE) TLS 13138authentication and DNSSEC support is available with Postfix 2.11 13139and later. The optional "connection_reuse" attribute (Postfix ≥ 131403.4) overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. 13141</dd> 13142 13143<dt><b><a href="TLS_README.html#client_tls_fprint">fingerprint</a></b></dt> 13144<dd>Certificate fingerprint 13145verification. Available with Postfix 2.5 and later. At this security 13146level, there are no trusted Certification Authorities. The certificate 13147trust chain, expiration date, ... are not checked. Instead, 13148the optional <b>match</b> attribute, or else the <a href="postconf.5.html">main.cf</a> 13149<b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> parameter, lists the certificate 13150fingerprints or the public key fingerprint (Postfix 2.9 and later) 13151of the valid server certificate. The digest 13152algorithm used to calculate the fingerprint is selected by the 13153<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Multiple fingerprints can 13154be combined with a "|" delimiter in a single match attribute, or multiple 13155match attributes can be employed. The ":" character is not used as a 13156delimiter as it occurs between each pair of fingerprint (hexadecimal) 13157digits. The optional "connection_reuse" attribute (Postfix ≥ 3.4) 13158overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. </dd> 13159 13160<dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt> 13161<dd>Mandatory TLS verification. At this security 13162level, DNS MX lookups are trusted to be secure enough, and the name 13163verified in the server certificate is usually obtained indirectly via 13164unauthenticated DNS MX lookups. The optional "match" attribute overrides 13165the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. In the policy table, 13166multiple match patterns and strategies must be separated by colons. 13167In practice explicit control over matching is more common with the 13168"secure" policy, described below. The optional "connection_reuse" 13169attribute (Postfix ≥ 3.4) overrides the <a href="postconf.5.html">main.cf</a> 13170<a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. </dd> 13171 13172<dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt> 13173<dd>Secure-channel TLS. At this security level, DNS 13174MX lookups, though potentially used to determine the candidate next-hop 13175gateway IP addresses, are <b>not</b> trusted to be secure enough for TLS 13176peername verification. Instead, the default name verified in the server 13177certificate is obtained directly from the next-hop, or is explicitly 13178specified via the optional <b>match</b> attribute which overrides the 13179<a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> parameter. In the policy table, 13180multiple match patterns and strategies must be separated by colons. 13181The match attribute is most useful when multiple domains are supported by 13182common server, the policy entries for additional domains specify matching 13183rules for the primary domain certificate. While transport table overrides 13184routing the secondary domains to the primary nexthop also allow secure 13185verification, they risk delivery to the wrong destination when domains 13186change hands or are re-assigned to new gateways. With the "match" 13187attribute approach, routing is not perturbed, and mail is deferred if 13188verification of a new MX host fails. The optional "connection_reuse" 13189attribute (Postfix ≥ 3.4) overrides the <a href="postconf.5.html">main.cf</a> 13190<a href="postconf.5.html#smtp_tls_connection_reuse">smtp_tls_connection_reuse</a> parameter. </dd> 13191 13192</dl> 13193 13194<p> 13195Example: 13196</p> 13197 13198<pre> 13199/etc/postfix/<a href="postconf.5.html">main.cf</a>: 13200 <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/tls_policy 13201 # Postfix 2.5 and later 13202 <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5 13203</pre> 13204 13205<pre> 13206/etc/postfix/tls_policy: 13207 example.edu none 13208 example.mil may 13209 example.gov encrypt protocols=TLSv1 13210 example.com verify ciphers=high 13211 example.net secure 13212 .example.net secure match=.example.net:example.net 13213 [mail.example.org]:587 secure match=nexthop 13214 # Postfix 2.5 and later 13215 [thumb.example.org] fingerprint 13216 match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35 13217 match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1 13218</pre> 13219 13220<p> <b>Note:</b> The <b>hostname</b> strategy if listed in a non-default 13221setting of <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> or in the <b>match</b> attribute 13222in the policy table can render the <b>secure</b> level vulnerable to 13223DNS forgery. Do not use the <b>hostname</b> strategy for secure-channel 13224configurations in environments where DNS security is not assured. </p> 13225 13226<p> This feature is available in Postfix 2.3 and later. </p> 13227 13228 13229</DD> 13230 13231<DT><b><a name="smtp_tls_protocols">smtp_tls_protocols</a> 13232(default: !SSLv2, !SSLv3)</b></DT><DD> 13233 13234<p> List of TLS protocols that the Postfix SMTP client will exclude or 13235include with opportunistic TLS encryption. The default value is 13236"!SSLv2, !SSLv3" for Postfix releases after the middle of 2015, 13237"!SSLv2" for older releases. Before Postfix 2.6, the Postfix SMTP 13238client would use all protocols with opportunistic TLS. </p> 13239 13240<p> In <a href="postconf.5.html">main.cf</a> the values are separated by whitespace, commas or 13241colons. In the policy table (see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid 13242separator is colon. An empty value means allow all protocols. The valid 13243protocol names, (see <b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3" 13244and "TLSv1". </p> 13245 13246<p> The range of protocols advertised by an SSL/TLS client must be 13247contiguous. When a protocol version is enabled, disabling any 13248higher version implicitly disables all versions above that higher version. 13249Thus, for example (assuming the OpenSSL library supports both SSLv2 13250and SSLv3): 13251</p> 13252<blockquote> 13253<pre> 13254<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !TLSv1 13255</pre> 13256</blockquote> 13257<p> also disables any protocols version higher than TLSv1 leaving 13258only "SSLv3" enabled. </p> 13259 13260<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1" 13261and "TLSv1.2". The latest patch levels of Postfix ≥ 2.6, and all 13262versions of Postfix ≥ 2.10 can explicitly disable support for 13263"TLSv1.1" or "TLSv1.2"</p> 13264 13265<p> OpenSSL 1.1.1 introduces support for "TLSv1.3". With Postfix 13266≥ 3.4 (or patch releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2) 13267this can be disabled, if need be, via "!TLSv1.3". </p> 13268 13269<p> To include a protocol list its name, to exclude it, prefix the name 13270with a "!" character. To exclude SSLv2 for opportunistic TLS set 13271"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set 13272"<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to 13273include, rather than protocols to exclude, is supported, but not 13274recommended. The exclusion form more closely matches the underlying 13275OpenSSL interface semantics. </p> 13276 13277<p> Example: </p> 13278<pre> 13279# TLSv1 or better: 13280<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3 13281</pre> 13282 13283<p> This feature is available in Postfix 2.6 and later. </p> 13284 13285 13286</DD> 13287 13288<DT><b><a name="smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a> 13289(default: 9)</b></DT><DD> 13290 13291<p> The verification depth for remote SMTP server certificates. A depth 13292of 1 is sufficient if the issuing CA is listed in a local CA file. </p> 13293 13294<p> The default verification depth is 9 (the OpenSSL default) for 13295compatibility with earlier Postfix behavior. Prior to Postfix 2.5, 13296the default value was 5, but the limit was not actually enforced. If 13297you have set this to a lower non-default value, certificates with longer 13298trust chains may now fail to verify. Certificate chains with 1 or 2 13299CAs are common, deeper chains are more rare and any number between 5 13300and 9 should suffice in practice. You can choose a lower number if, 13301for example, you trust certificates directly signed by an issuing CA 13302but not any CAs it delegates to. </p> 13303 13304<p> This feature is available in Postfix 2.2 and later. </p> 13305 13306 13307</DD> 13308 13309<DT><b><a name="smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> 13310(default: nexthop, dot-nexthop)</b></DT><DD> 13311 13312<p> How the Postfix SMTP client verifies the server certificate 13313peername for the "secure" TLS security level. In a "secure" TLS policy table 13314($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute 13315overrides this <a href="postconf.5.html">main.cf</a> setting. </p> 13316 13317<p> This parameter specifies one or more patterns or strategies separated 13318by commas, whitespace or colons. In the policy table the only valid 13319separator is the colon character. </p> 13320 13321<p> For a description of the pattern and strategy syntax see the 13322<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. The "hostname" strategy should 13323be avoided in this context, as in the absence of a secure global DNS, using 13324the results of MX lookups in certificate verification is not immune to active 13325(man-in-the-middle) attacks on DNS. </p> 13326 13327<p> 13328Sample <a href="postconf.5.html">main.cf</a> setting: 13329</p> 13330 13331<blockquote> 13332<pre> 13333<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop 13334</pre> 13335</blockquote> 13336 13337<p> 13338Sample policy table override: 13339</p> 13340 13341<blockquote> 13342<pre> 13343example.net secure match=example.com:.example.com 13344.example.net secure match=example.com:.example.com 13345</pre> 13346</blockquote> 13347 13348<p> This feature is available in Postfix 2.3 and later. </p> 13349 13350 13351</DD> 13352 13353<DT><b><a name="smtp_tls_security_level">smtp_tls_security_level</a> 13354(default: empty)</b></DT><DD> 13355 13356<p> The default SMTP TLS security level for the Postfix SMTP client; 13357when a non-empty value is specified, this overrides the obsolete 13358parameters <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>, <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>, and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>. 13359</p> 13360 13361<p> Specify one of the following security levels: </p> 13362 13363<dl> 13364 13365<dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt> 13366<dd> No TLS. TLS will not be used unless enabled for specific 13367destinations via <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </dd> 13368 13369<dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt> 13370<dd> Opportunistic TLS. Use TLS if this is supported by the remote 13371SMTP server, otherwise use plaintext. Since 13372sending in the clear is acceptable, demanding stronger than default TLS 13373security merely reduces interoperability. 13374The "<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>" and "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>" (Postfix ≥ 2.6) 13375configuration parameters provide control over the protocols and 13376cipher grade used with opportunistic TLS. With earlier releases the 13377opportunistic TLS cipher grade is always "export" and no protocols 13378are disabled. 13379When TLS handshakes fail, the connection is retried with TLS disabled. 13380This allows mail delivery to sites with non-interoperable TLS 13381implementations. </dd> 13382 13383<dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt> 13384<dd>Mandatory TLS encryption. Since a minimum 13385level of security is intended, it is reasonable to be specific about 13386sufficiently secure protocol versions and ciphers. At this security level 13387and higher, the <a href="postconf.5.html">main.cf</a> parameters <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> and 13388<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> specify the TLS protocols and minimum 13389cipher grade which the administrator considers secure enough for 13390mandatory encrypted sessions. This security level is not an appropriate 13391default for systems delivering mail to the Internet. </dd> 13392 13393<dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt> 13394<dd>Opportunistic DANE TLS. At this security level, the TLS policy 13395for the destination is obtained via DNSSEC. For TLSA policy to be 13396in effect, the destination domain's containing DNS zone must be 13397signed and the Postfix SMTP client's operating system must be 13398configured to send its DNS queries to a recursive DNS nameserver 13399that is able to validate the signed records. Each MX host's DNS 13400zone should also be signed, and should publish DANE TLSA (<a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a>) 13401records that specify how that MX host's TLS certificate is to be 13402verified. TLSA records do not preempt the normal SMTP MX host 13403selection algorithm, if some MX hosts support TLSA and others do 13404not, TLS security will vary from delivery to delivery. It is up 13405to the domain owner to configure their MX hosts and their DNS 13406sensibly. To configure the Postfix SMTP client for DNSSEC lookups 13407see the documentation for the <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> <a href="postconf.5.html">main.cf</a> 13408parameter. When DNSSEC-validated TLSA records are not found the 13409effective tls security level is "may". When TLSA records are found, 13410but are all unusable the effective security level is "encrypt". For 13411purposes of protocol and cipher selection, the "dane" security level 13412is treated like a "mandatory" TLS security level, and weak ciphers 13413and protocols are disabled. Since DANE authenticates server 13414certificates the "aNULL" cipher-suites are transparently excluded 13415at this level, no need to configure this manually. <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE) 13416TLS authentication is available with Postfix 2.11 and later. </dd> 13417 13418<dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt> 13419<dd>Mandatory DANE TLS. This is just like "dane" above, but DANE 13420TLSA authentication is required. There is no fallback to "may" or 13421"encrypt" when TLSA records are missing or unusable. <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> 13422(DANE) TLS authentication is available with Postfix 2.11 and later. 13423</dd> 13424 13425<dt><b><a href="TLS_README.html#client_tls_fprint">fingerprint</a></b></dt> 13426<dd>Certificate fingerprint verification. 13427At this security level, there are no trusted Certification Authorities. 13428The certificate trust chain, expiration date, etc., are 13429not checked. Instead, the <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> 13430parameter lists the certificate fingerprint or public key fingerprint 13431(Postfix 2.9 and later) of the valid server certificate. The digest 13432algorithm used to calculate the fingerprint is selected by the 13433<b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Available with Postfix 134342.5 and later. </dd> 13435 13436<dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt> 13437<dd>Mandatory TLS verification. At this security 13438level, DNS MX lookups are trusted to be secure enough, and the name 13439verified in the server certificate is usually obtained indirectly 13440via unauthenticated DNS MX lookups. The <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> 13441parameter controls how the server name is verified. In practice explicit 13442control over matching is more common at the "secure" level, described 13443below. This security level is not an appropriate default for systems 13444delivering mail to the Internet. </dd> 13445 13446<dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt> 13447<dd>Secure-channel TLS. At this security level, 13448DNS MX lookups, though potentially used to determine the candidate 13449next-hop gateway IP addresses, are <b>not</b> trusted to be secure enough 13450for TLS peername verification. Instead, the default name verified in 13451the server certificate is obtained from the next-hop domain as specified 13452in the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> configuration parameter. The default 13453matching rule is that a server certificate matches when its name is equal 13454to or is a sub-domain of the nexthop domain. This security level is not 13455an appropriate default for systems delivering mail to the Internet. </dd> 13456 13457</dl> 13458 13459<p> 13460Examples: 13461</p> 13462 13463<pre> 13464# No TLS. Formerly: <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>=no and <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>=no. 13465<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = none 13466</pre> 13467 13468<pre> 13469# Opportunistic TLS. 13470<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may 13471# Postfix ≥ 2.6: 13472# Do not tweak opportunistic ciphers or protocol unless it is essential 13473# to do so (if a security vulnerability is found in the SSL library that 13474# can be mitigated by disabling a particular protocol or raising the 13475# cipher grade from "export" to "low" or "medium"). 13476<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> = export 13477<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3 13478</pre> 13479 13480<pre> 13481# Mandatory (high-grade) TLS encryption. 13482<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt 13483<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high 13484</pre> 13485 13486<pre> 13487# Mandatory TLS verification of hostname or nexthop domain. 13488<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = verify 13489<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high 13490<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop 13491</pre> 13492 13493<pre> 13494# Secure channel TLS with exact nexthop name match. 13495<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = secure 13496<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1 13497<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high 13498<a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop 13499</pre> 13500 13501<pre> 13502# Certificate fingerprint verification (Postfix ≥ 2.5). 13503# The CA-less "fingerprint" security level only scales to a limited 13504# number of destinations. As a global default rather than a per-site 13505# setting, this is practical when mail for all recipients is sent 13506# to a central mail hub. 13507<a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com] 13508<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint 13509<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3 13510<a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high 13511<a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> = 13512 3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1 13513 EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35 13514</pre> 13515 13516<p> This feature is available in Postfix 2.3 and later. </p> 13517 13518 13519</DD> 13520 13521<DT><b><a name="smtp_tls_servername">smtp_tls_servername</a> 13522(default: empty)</b></DT><DD> 13523 13524<p> Optional name to send to the remote SMTP server in the TLS Server 13525Name Indication (SNI) extension. The SNI extension is always on when 13526DANE is used to authenticate the server, and in that case the SNI name 13527sent is the one required by <a href="http://tools.ietf.org/html/rfc7672">RFC7672</a> and this parameter is ignored. </p> 13528 13529<p> Some SMTP servers use the received SNI name to select an appropriate 13530certificate chain to present to the client. While this may improve 13531interoperability with such servers, it may reduce interoperability with 13532other servers that choose to abort the connection when they don't have a 13533certificate chain configured for the requested name. Such servers 13534should select a default certificate chain and continue the handshake, 13535but some may not. Therefore, absent DANE, no SNI name is sent by 13536default. </p> 13537 13538<p> The SNI name must be either a valid DNS hostname, or else one of the 13539special values <b>hostname</b> or <b>nexthop</b>, which select either the 13540remote hostname or the nexthop domain respectively. DNS names for SNI must be 13541in A-label (punycode) form. Invalid DNS names log a configuration error 13542warning and mail delivery is deferred. </p> 13543 13544<p> Except when using a <a href="postconf.5.html#relayhost">relayhost</a> to forward all email, the only 13545sensible non-empty <a href="postconf.5.html">main.cf</a> setting for this parameter is 13546<b>hostname</b>. Other non-empty values are only practical on a 13547per-destination basis via the <b>servername</b> attribute of the Postfix 13548TLS <a href="TLS_README.html#client_tls_policy">policy table</a>. When 13549in doubt, leave this parameter empty, and configure per-destination SNI 13550as needed. </p> 13551 13552<p> This feature is available in Postfix 3.4 and later. </p> 13553 13554 13555</DD> 13556 13557<DT><b><a name="smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> 13558(default: empty)</b></DT><DD> 13559 13560<p> Name of the file containing the optional Postfix SMTP client 13561TLS session cache. Specify a database type that supports enumeration, 13562such as <b>btree</b> or <b>sdbm</b>; there is no need to support 13563concurrent access. The file is created if it does not exist. The <a href="smtp.8.html">smtp(8)</a> 13564daemon does not use this parameter directly, rather the cache is 13565implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that 13566per-smtp-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not effective. 13567Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon: 13568$<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, $<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> 13569(and with Postfix 2.3 and later $<a href="postconf.5.html#lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>), needs to 13570be stored separately. It is not at this time possible to store multiple 13571caches in a single database. </p> 13572 13573<p> Note: <b>dbm</b> databases are not suitable. TLS 13574session objects are too large. </p> 13575 13576<p> As of version 2.5, Postfix no longer uses root privileges when 13577opening this file. The file should now be stored under the Postfix-owned 13578<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file 13579under a non-Postfix directory is redirected to the Postfix-owned 13580<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p> 13581 13582<p> Example: </p> 13583 13584<pre> 13585<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/smtp_scache 13586</pre> 13587 13588<p> This feature is available in Postfix 2.2 and later. </p> 13589 13590 13591</DD> 13592 13593<DT><b><a name="smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> 13594(default: 3600s)</b></DT><DD> 13595 13596<p> The expiration time of Postfix SMTP client TLS session cache 13597information. A cache cleanup is performed periodically 13598every $<a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> seconds. As with 13599$<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>, this parameter is implemented in the 13600<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtp-instance <a href="master.5.html">master.cf</a> overrides 13601are not possible. </p> 13602 13603<p> As of Postfix 2.11 this setting cannot exceed 100 days. If set 13604≤ 0, session caching is disabled. If set to a positive value 13605less than 2 minutes, the minimum value of 2 minutes is used instead. </p> 13606 13607<p> This feature is available in Postfix 2.2 and later. </p> 13608 13609 13610</DD> 13611 13612<DT><b><a name="smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a> 13613(default: empty)</b></DT><DD> 13614 13615<p> Zero or more PEM-format files with trust-anchor certificates 13616and/or public keys. If the parameter is not empty the root CAs in 13617CAfile and CApath are no longer trusted. Rather, the Postfix SMTP 13618client will only trust certificate-chains signed by one of the 13619trust-anchors contained in the chosen files. The specified 13620trust-anchor certificates and public keys are not subject to 13621expiration, and need not be (self-signed) root CAs. They may, if 13622desired, be intermediate certificates. Therefore, these certificates 13623also may be found "in the middle" of the trust chain presented by 13624the remote SMTP server, and any untrusted issuing parent certificates 13625will be ignored. Specify a list of pathnames separated by comma 13626or whitespace. </p> 13627 13628<p> Whether specified in <a href="postconf.5.html">main.cf</a>, or on a per-destination basis, 13629the trust-anchor PEM file must be accessible to the Postfix SMTP 13630client in the chroot jail if applicable. The trust-anchor file 13631should contain only certificates and public keys, no private key 13632material, and must be readable by the non-privileged $<a href="postconf.5.html#mail_owner">mail_owner</a> 13633user. This allows destinations to be bound to a set of specific 13634CAs or public keys without trusting the same CAs for all destinations. 13635</p> 13636 13637<p> The <a href="postconf.5.html">main.cf</a> parameter supports single-purpose Postfix installations 13638that send mail to a fixed set of SMTP peers. At most sites, if 13639trust-anchor files are used at all, they will be specified on a 13640per-destination basis via the "tafile" attribute of the "verify" 13641and "secure" levels in <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </p> 13642 13643<p> The underlying mechanism is in support of <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE TLSA), 13644which defines mechanisms for an SMTP client MTA to securely determine 13645server TLS certificates via DNS. </p> 13646 13647<p> If you want your trust anchors to be public keys, with OpenSSL 13648you can extract a single PEM public key from a PEM X.509 file 13649containing a single certificate, as follows: </p> 13650 13651<blockquote> 13652<pre> 13653$ openssl x509 -in cert.pem -out ta-key.pem -noout -pubkey 13654</pre> 13655</blockquote> 13656 13657<p> This feature is available in Postfix 2.11 and later. </p> 13658 13659 13660</DD> 13661 13662<DT><b><a name="smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> 13663(default: hostname)</b></DT><DD> 13664 13665<p> How the Postfix SMTP client verifies the server certificate 13666peername for the 13667"verify" TLS security level. In a "verify" TLS policy table 13668($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute 13669overrides this <a href="postconf.5.html">main.cf</a> setting. </p> 13670 13671<p> This parameter specifies one or more patterns or strategies separated 13672by commas, whitespace or colons. In the policy table the only valid 13673separator is the colon character. </p> 13674 13675<p> Patterns specify domain names, or domain name suffixes: </p> 13676 13677<dl> 13678 13679<dt><i>example.com</i></dt> <dd> Match the <i>example.com</i> domain, 13680i.e. one of the names the server certificate must be <i>example.com</i>, 13681upper and lower case distinctions are ignored. </dd> 13682 13683<dt><i>.example.com</i></dt> 13684<dd> Match subdomains of the <i>example.com</i> domain, i.e. match 13685a name in the server certificate that consists of a non-zero number of 13686labels followed by a <i>.example.com</i> suffix. Case distinctions are 13687ignored.</dd> 13688 13689</dl> 13690 13691<p> Strategies specify a transformation from the next-hop domain 13692to the expected name in the server certificate: </p> 13693 13694<dl> 13695 13696<dt>nexthop</dt> 13697<dd> Match against the next-hop domain, which is either the recipient 13698domain, or the transport next-hop configured for the domain stripped of 13699any optional socket type prefix, enclosing square brackets and trailing 13700port. When MX lookups are not suppressed, this is the original nexthop 13701domain prior to the MX lookup, not the result of the MX lookup. For 13702LMTP delivery via UNIX-domain sockets, the verified next-hop name is 13703$<a href="postconf.5.html#myhostname">myhostname</a>. This strategy is suitable for use with the "secure" 13704policy. Case is ignored.</dd> 13705 13706<dt>dot-nexthop</dt> 13707<dd> As above, but match server certificate names that are subdomains 13708of the next-hop domain. Case is ignored.</dd> 13709 13710<dt>hostname</dt> <dd> Match against the hostname of the server, often 13711obtained via an unauthenticated DNS MX lookup. For LMTP delivery via 13712UNIX-domain sockets, the verified name is $<a href="postconf.5.html#myhostname">myhostname</a>. This matches 13713the verification strategy of the "MUST" keyword in the obsolete 13714<a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table, and is suitable for use with the "verify" 13715security level. When the next-hop name is enclosed in square brackets 13716to suppress MX lookups, the "hostname" strategy is the same as the 13717"nexthop" strategy. Case is ignored.</dd> 13718 13719</dl> 13720 13721<p> 13722Sample <a href="postconf.5.html">main.cf</a> setting: 13723</p> 13724 13725<pre> 13726<a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop 13727</pre> 13728 13729<p> 13730Sample policy table override: 13731</p> 13732 13733<pre> 13734example.com verify match=hostname:nexthop 13735.example.com verify match=example.com:.example.com:hostname 13736</pre> 13737 13738<p> This feature is available in Postfix 2.3 and later. </p> 13739 13740 13741</DD> 13742 13743<DT><b><a name="smtp_tls_wrappermode">smtp_tls_wrappermode</a> 13744(default: no)</b></DT><DD> 13745 13746<p> Request that the Postfix SMTP client connects using the 13747legacy SMTPS protocol instead of using the STARTTLS command. </p> 13748 13749<p> This mode requires "<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt" or 13750stronger. </p> 13751 13752<p> Example: deliver all remote mail via a provider's server 13753"mail.example.com". </p> 13754 13755<pre> 13756/etc/postfix/<a href="postconf.5.html">main.cf</a>: 13757 # Client-side SMTPS requires "encrypt" or stronger. 13758 <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt 13759 <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> = yes 13760 # The [] suppress MX lookups. 13761 <a href="postconf.5.html#relayhost">relayhost</a> = [mail.example.com]:465 13762</pre> 13763 13764<p> More examples are in <a href="TLS_README.html">TLS_README</a>, including examples for older 13765Postfix versions. </p> 13766 13767<p> This feature is available in Postfix 3.0 and later. </p> 13768 13769 13770</DD> 13771 13772<DT><b><a name="smtp_use_tls">smtp_use_tls</a> 13773(default: no)</b></DT><DD> 13774 13775<p> Opportunistic mode: use TLS when a remote SMTP server announces 13776STARTTLS support, otherwise send the mail in the clear. Beware: 13777some SMTP servers offer STARTTLS even if it is not configured. With 13778Postfix < 2.3, if the TLS handshake fails, and no other server is 13779available, delivery is deferred and mail stays in the queue. If this 13780is a concern for you, use the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> feature instead. </p> 13781 13782<p> This feature is available in Postfix 2.2 and later. With 13783Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p> 13784 13785 13786</DD> 13787 13788<DT><b><a name="smtp_xforward_timeout">smtp_xforward_timeout</a> 13789(default: 300s)</b></DT><DD> 13790 13791<p> 13792The Postfix SMTP client time limit for sending the XFORWARD command, 13793and for receiving the remote SMTP server response. 13794</p> 13795 13796<p> 13797Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 13798The default time unit is s (seconds). 13799</p> 13800 13801<p> 13802This feature is available in Postfix 2.1 and later. 13803</p> 13804 13805 13806</DD> 13807 13808<DT><b><a name="smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> 13809(default: $<a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a>)</b></DT><DD> 13810 13811<p> What remote SMTP clients are allowed to specify the XVERP command. 13812This command requests that mail be delivered one recipient at a 13813time with a per recipient return address. </p> 13814 13815<p> By default, no clients are allowed to specify XVERP. </p> 13816 13817<p> This parameter was renamed with Postfix version 2.1. The default value 13818is backwards compatible with Postfix version 2.0. </p> 13819 13820<p> Specify a list of network/netmask patterns, separated by commas 13821and/or whitespace. The mask specifies the number of bits in the 13822network part of a host address. You can also specify hostnames or 13823.domain names (the initial dot causes the domain to match any name 13824below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name" 13825pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table 13826is matched when a table entry matches a lookup string (the lookup 13827result is ignored). Continue long lines by starting the next line 13828with whitespace. Specify "!pattern" to exclude an address or network 13829block from the list. The form "!/file/name" is supported only in 13830Postfix version 2.4 and later. </p> 13831 13832<p> Note: IP version 6 address information must be specified inside 13833<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> value, and in 13834files specified with "/file/name". IP version 6 addresses contain 13835the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" 13836pattern. </p> 13837 13838 13839</DD> 13840 13841<DT><b><a name="smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> 13842(default: empty)</b></DT><DD> 13843 13844<p> 13845What remote SMTP clients are allowed to use the XCLIENT feature. This 13846command overrides remote SMTP client information that is used for access 13847control. Typical use is for SMTP-based content filters, fetchmail-like 13848programs, or SMTP server access rule testing. See the <a href="XCLIENT_README.html">XCLIENT_README</a> 13849document for details. 13850</p> 13851 13852<p> 13853This feature is available in Postfix 2.1 and later. 13854</p> 13855 13856<p> 13857By default, no clients are allowed to specify XCLIENT. 13858</p> 13859 13860<p> 13861Specify a list of network/netmask patterns, separated by commas 13862and/or whitespace. The mask specifies the number of bits in the 13863network part of a host address. You can also specify hostnames or 13864.domain names (the initial dot causes the domain to match any name 13865below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name" 13866pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table 13867is matched when a table entry matches a lookup string (the lookup 13868result is ignored). Continue long lines by starting the next line 13869with whitespace. Specify "!pattern" to exclude an address or network 13870block from the list. The form "!/file/name" is supported only in 13871Postfix version 2.4 and later. </p> 13872 13873<p> Note: IP version 6 address information must be specified inside 13874<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> value, and in 13875files specified with "/file/name". IP version 6 addresses contain 13876the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" 13877pattern. </p> 13878 13879 13880</DD> 13881 13882<DT><b><a name="smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> 13883(default: empty)</b></DT><DD> 13884 13885<p> 13886What remote SMTP clients are allowed to use the XFORWARD feature. This 13887command forwards information that is used to improve logging after 13888SMTP-based content filters. See the <a href="XFORWARD_README.html">XFORWARD_README</a> document for 13889details. 13890</p> 13891 13892<p> 13893This feature is available in Postfix 2.1 and later. 13894</p> 13895 13896<p> 13897By default, no clients are allowed to specify XFORWARD. 13898</p> 13899 13900<p> 13901Specify a list of network/netmask patterns, separated by commas 13902and/or whitespace. The mask specifies the number of bits in the 13903network part of a host address. You can also specify hostnames or 13904.domain names (the initial dot causes the domain to match any name 13905below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name" 13906pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table 13907is matched when a table entry matches a lookup string (the lookup 13908result is ignored). Continue long lines by starting the next line 13909with whitespace. Specify "!pattern" to exclude an address or network 13910block from the list. The form "!/file/name" is supported only in 13911Postfix version 2.4 and later. </p> 13912 13913<p> Note: IP version 6 address information must be specified inside 13914<tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> value, and in 13915files specified with "/file/name". IP version 6 addresses contain 13916the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" 13917pattern. </p> 13918 13919 13920</DD> 13921 13922<DT><b><a name="smtpd_banner">smtpd_banner</a> 13923(default: $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a>)</b></DT><DD> 13924 13925<p> 13926The text that follows the 220 status code in the SMTP greeting 13927banner. Some people like to see the mail version advertised. By 13928default, Postfix shows no version. 13929</p> 13930 13931<p> 13932You MUST specify $<a href="postconf.5.html#myhostname">myhostname</a> at the start of the text. This is 13933required by the SMTP protocol. 13934</p> 13935 13936<p> 13937Example: 13938</p> 13939 13940<pre> 13941<a href="postconf.5.html#smtpd_banner">smtpd_banner</a> = $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a> ($<a href="postconf.5.html#mail_version">mail_version</a>) 13942</pre> 13943 13944 13945</DD> 13946 13947<DT><b><a name="smtpd_client_auth_rate_limit">smtpd_client_auth_rate_limit</a> 13948(default: 0)</b></DT><DD> 13949 13950<p> 13951The maximal number of AUTH commands that any client is allowed to 13952send to this service per time unit, regardless of whether or not 13953Postfix actually accepts those commands. The time unit is specified 13954with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter. 13955</p> 13956 13957<p> 13958By default, there is no limit on the number AUTH commands that a 13959client may send. 13960</p> 13961 13962<p> 13963To disable this feature, specify a limit of 0. 13964</p> 13965 13966<p> 13967WARNING: The purpose of this feature is to limit abuse. It must 13968not be used to regulate legitimate mail traffic. 13969</p> 13970 13971<p> 13972This feature is available in Postfix 3.1 and later. 13973</p> 13974 13975 13976</DD> 13977 13978<DT><b><a name="smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a> 13979(default: 50)</b></DT><DD> 13980 13981<p> 13982How many simultaneous connections any client is allowed to 13983make to this service. By default, the limit is set to half 13984the default process limit value. 13985</p> 13986 13987<p> 13988To disable this feature, specify a limit of 0. 13989</p> 13990 13991<p> 13992WARNING: The purpose of this feature is to limit abuse. It must 13993not be used to regulate legitimate mail traffic. 13994</p> 13995 13996<p> 13997This feature is available in Postfix 2.2 and later. 13998</p> 13999 14000 14001</DD> 14002 14003<DT><b><a name="smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> 14004(default: 0)</b></DT><DD> 14005 14006<p> 14007The maximal number of connection attempts any client is allowed to 14008make to this service per time unit. The time unit is specified 14009with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter. 14010</p> 14011 14012<p> 14013By default, a client can make as many connections per time unit as 14014Postfix can accept. 14015</p> 14016 14017<p> 14018To disable this feature, specify a limit of 0. 14019</p> 14020 14021<p> 14022WARNING: The purpose of this feature is to limit abuse. It must 14023not be used to regulate legitimate mail traffic. 14024</p> 14025 14026<p> 14027This feature is available in Postfix 2.2 and later. 14028</p> 14029 14030<p> 14031Example: 14032</p> 14033 14034<pre> 14035<a href="postconf.5.html#smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> = 1000 14036</pre> 14037 14038 14039</DD> 14040 14041<DT><b><a name="smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> 14042(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD> 14043 14044<p> 14045Clients that are excluded from smtpd_client_*_count/rate_limit 14046restrictions. See the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter 14047description for the parameter value syntax. 14048</p> 14049 14050<p> 14051By default, clients in trusted networks are excluded. Specify a 14052list of network blocks, hostnames or .domain names (the initial 14053dot causes the domain to match any name below it). 14054</p> 14055 14056<p> Note: IP version 6 address information must be specified inside 14057<tt>[]</tt> in the <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> value, and 14058in files specified with "/file/name". IP version 6 addresses 14059contain the ":" character, and would otherwise be confused with a 14060"<a href="DATABASE_README.html">type:table</a>" pattern. </p> 14061 14062<p> Pattern matching of domain names is controlled by the presence 14063or absence of "<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>" in the 14064<a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value (postfix 3.0 and 14065later). </p> 14066 14067<p> 14068This feature is available in Postfix 2.2 and later. 14069</p> 14070 14071 14072</DD> 14073 14074<DT><b><a name="smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> 14075(default: 0)</b></DT><DD> 14076 14077<p> 14078The maximal number of message delivery requests that any client is 14079allowed to make to this service per time unit, regardless of whether 14080or not Postfix actually accepts those messages. The time unit is 14081specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter. 14082</p> 14083 14084<p> 14085By default, a client can send as many message delivery requests 14086per time unit as Postfix can accept. 14087</p> 14088 14089<p> 14090To disable this feature, specify a limit of 0. 14091</p> 14092 14093<p> 14094WARNING: The purpose of this feature is to limit abuse. It must 14095not be used to regulate legitimate mail traffic. 14096</p> 14097 14098<p> 14099This feature is available in Postfix 2.2 and later. 14100</p> 14101 14102<p> 14103Example: 14104</p> 14105 14106<pre> 14107<a href="postconf.5.html#smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> = 1000 14108</pre> 14109 14110 14111</DD> 14112 14113<DT><b><a name="smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a> 14114(default: 0)</b></DT><DD> 14115 14116<p> 14117The maximal number of new (i.e., uncached) TLS sessions that a 14118remote SMTP client is allowed to negotiate with this service per 14119time unit. The time unit is specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> 14120configuration parameter. 14121</p> 14122 14123<p> 14124By default, a remote SMTP client can negotiate as many new TLS 14125sessions per time unit as Postfix can accept. 14126</p> 14127 14128<p> 14129To disable this feature, specify a limit of 0. Otherwise, specify 14130a limit that is at least the per-client concurrent session limit, 14131or else legitimate client sessions may be rejected. 14132</p> 14133 14134<p> 14135WARNING: The purpose of this feature is to limit abuse. It must 14136not be used to regulate legitimate mail traffic. 14137</p> 14138 14139<p> 14140This feature is available in Postfix 2.3 and later. 14141</p> 14142 14143<p> 14144Example: 14145</p> 14146 14147<pre> 14148<a href="postconf.5.html#smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a> = 100 14149</pre> 14150 14151 14152</DD> 14153 14154<DT><b><a name="smtpd_client_port_logging">smtpd_client_port_logging</a> 14155(default: no)</b></DT><DD> 14156 14157<p> Enable logging of the remote SMTP client port in addition to 14158the hostname and IP address. The logging format is "host[address]:port". 14159</p> 14160 14161<p> This feature is available in Postfix 2.5 and later. </p> 14162 14163 14164</DD> 14165 14166<DT><b><a name="smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> 14167(default: 0)</b></DT><DD> 14168 14169<p> 14170The maximal number of recipient addresses that any client is allowed 14171to send to this service per time unit, regardless of whether or not 14172Postfix actually accepts those recipients. The time unit is specified 14173with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter. 14174</p> 14175 14176<p> 14177By default, a client can send as many recipient addresses per time 14178unit as Postfix can accept. 14179</p> 14180 14181<p> 14182To disable this feature, specify a limit of 0. 14183</p> 14184 14185<p> 14186WARNING: The purpose of this feature is to limit abuse. It must 14187not be used to regulate legitimate mail traffic. 14188</p> 14189 14190<p> 14191This feature is available in Postfix 2.2 and later. 14192</p> 14193 14194<p> 14195Example: 14196</p> 14197 14198<pre> 14199<a href="postconf.5.html#smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> = 1000 14200</pre> 14201 14202 14203</DD> 14204 14205<DT><b><a name="smtpd_client_restrictions">smtpd_client_restrictions</a> 14206(default: empty)</b></DT><DD> 14207 14208<p> 14209Optional restrictions that the Postfix SMTP server applies in the 14210context of a client connection request. 14211See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 14212restriction lists" for a discussion of evaluation context and time. 14213</p> 14214 14215<p> 14216The default is to allow all connection requests. 14217</p> 14218 14219<p> 14220Specify a list of restrictions, separated by commas and/or whitespace. 14221Continue long lines by starting the next line with whitespace. 14222Restrictions are applied in the order as specified; the first 14223restriction that matches wins. 14224</p> 14225 14226<p> 14227The following restrictions are specific to client hostname or 14228client network address information. 14229</p> 14230 14231<dl> 14232 14233<dt><b><a name="check_ccert_access">check_ccert_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14234 14235<dd> By default use the remote SMTP client certificate fingerprint 14236or the public key 14237fingerprint (Postfix 2.9 and later) as lookup key for the specified 14238<a href="access.5.html">access(5)</a> database; with Postfix version 2.2, also require that the 14239remote SMTP client certificate is verified successfully. 14240The fingerprint digest algorithm is configurable via the 14241<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to 14242Postfix version 2.5). This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> 14243= yes" and is available with Postfix version 142442.2 and later. </dd> 14245 14246<br> 14247 14248<dd> Alternatively, <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> accepts an explicit search 14249order (Postfix 3.5 and later). The default search order as described 14250above corresponds with: </dd> 14251 14252<dd> <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> { <a href="DATABASE_README.html">type:table</a>, { search_order = cert_fingerprint, 14253pubkey_fingerprint } } </dd> 14254 14255<dd> The commas are optional. </dd> 14256 14257<dt><b><a name="check_client_access">check_client_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14258 14259<dd>Search the specified access database for the client hostname, 14260parent domains, client IP address, or networks obtained by stripping 14261least significant octets. See the <a href="access.5.html">access(5)</a> manual page for details. </dd> 14262 14263<dt><b><a name="check_client_a_access">check_client_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14264 14265<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the 14266client hostname, and execute the corresponding action. Note: a result 14267of "OK" is not allowed for safety reasons. Instead, use DUNNO in order 14268to exclude specific hosts from blacklists. This feature is available 14269in Postfix 3.0 and later. </dd> 14270 14271<dt><b><a name="check_client_mx_access">check_client_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14272 14273<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the 14274client hostname, and execute the corresponding action. Note: a result 14275of "OK" is not allowed for safety reasons. Instead, use DUNNO in order 14276to exclude specific hosts from blacklists. This feature is available 14277in Postfix 2.7 and later. </dd> 14278 14279<dt><b><a name="check_client_ns_access">check_client_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14280 14281<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for 14282the client hostname, and execute the corresponding action. Note: a 14283result of "OK" is not allowed for safety reasons. Instead, use DUNNO 14284in order to exclude specific hosts from blacklists. This feature is 14285available in Postfix 2.7 and later. </dd> 14286 14287<dt><b><a name="check_reverse_client_hostname_access">check_reverse_client_hostname_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14288 14289<dd>Search the specified access database for the unverified reverse 14290client hostname, parent domains, client IP address, or networks 14291obtained by stripping least significant octets. See the <a href="access.5.html">access(5)</a> 14292manual page for details. Note: a result of "OK" is not allowed for 14293safety reasons. Instead, use DUNNO in order to exclude specific 14294hosts from blacklists. This feature is available in Postfix 2.6 14295and later.</dd> 14296 14297<dt><b><a name="check_reverse_client_hostname_a_access">check_reverse_client_hostname_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14298 14299<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the 14300unverified reverse client hostname, and execute the corresponding 14301action. Note: a result of "OK" is not allowed for safety reasons. 14302Instead, use DUNNO in order to exclude specific hosts from blacklists. 14303This feature is available in Postfix 3.0 and later. </dd> 14304 14305<dt><b><a name="check_reverse_client_hostname_mx_access">check_reverse_client_hostname_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14306 14307<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the 14308unverified reverse client hostname, and execute the corresponding 14309action. Note: a result of "OK" is not allowed for safety reasons. 14310Instead, use DUNNO in order to exclude specific hosts from blacklists. 14311This feature is available in Postfix 2.7 and later. </dd> 14312 14313<dt><b><a name="check_reverse_client_hostname_ns_access">check_reverse_client_hostname_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14314 14315<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for 14316the unverified reverse client hostname, and execute the corresponding 14317action. Note: a result of "OK" is not allowed for safety reasons. 14318Instead, use DUNNO in order to exclude specific hosts from blacklists. 14319This feature is available in Postfix 2.7 and later. </dd> 14320 14321<dt><b><a name="check_sasl_access">check_sasl_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14322 14323<dd> Use the remote SMTP client SASL user name as lookup key for 14324the specified <a href="access.5.html">access(5)</a> database. The lookup key has the form 14325"username@domainname" when the <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> parameter 14326value is non-empty. Unlike the <a href="postconf.5.html#check_client_access">check_client_access</a> feature, 14327<a href="postconf.5.html#check_sasl_access">check_sasl_access</a> does not perform matches of parent domains or IP 14328subnet ranges. This feature is available with Postfix version 2.11 14329and later. </dd> 14330 14331<dt><b><a name="permit_inet_interfaces">permit_inet_interfaces</a></b></dt> 14332 14333<dd>Permit the request when the client IP address matches 14334$<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. </dd> 14335 14336<dt><b><a name="permit_mynetworks">permit_mynetworks</a></b></dt> 14337 14338<dd>Permit the request when the client IP address matches any 14339network or network address listed in $<a href="postconf.5.html#mynetworks">mynetworks</a>. </dd> 14340 14341<dt><b><a name="permit_sasl_authenticated">permit_sasl_authenticated</a></b></dt> 14342 14343<dd> Permit the request when the client is successfully 14344authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH) protocol. </dd> 14345 14346<dt><b><a name="permit_tls_all_clientcerts">permit_tls_all_clientcerts</a></b></dt> 14347 14348<dd> Permit the request when the remote SMTP client certificate is 14349verified successfully. This option must be used only if a special 14350CA issues the certificates and only this CA is listed as trusted 14351CA. Otherwise, clients with a third-party certificate would also 14352be allowed to relay. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" when the 14353trusted CA is specified with <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> or <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>, 14354to prevent Postfix from appending the system-supplied default CAs. 14355This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes" and is available 14356with Postfix version 2.2 and later.</dd> 14357 14358<dt><b><a name="permit_tls_clientcerts">permit_tls_clientcerts</a></b></dt> 14359 14360<dd>Permit the request when the remote SMTP client certificate 14361fingerprint or public key fingerprint (Postfix 2.9 and later) is 14362listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>. 14363The fingerprint digest algorithm is configurable via the 14364<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to 14365Postfix version 2.5). This feature requires "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> 14366= yes" and is available with Postfix version 2.2 and later.</dd> 14367 14368<dt><b><a name="reject_rbl_client">reject_rbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt> 14369 14370<dd>Reject the request when the reversed client network address is 14371listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> 14372(Postfix version 2.1 and later only). Each "<i>d</i>" is a number, 14373or a pattern inside "[]" that contains one or more ";"-separated 14374numbers or number..number ranges (Postfix version 2.8 and later). 14375If no "<i>=d.d.d.d</i>" is specified, reject the request when the 14376reversed client network address is listed with any A record under 14377<i>rbl_domain</i>. <br> 14378The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for 14379rejected requests (default: 554), the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter 14380specifies the default server reply, and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter 14381specifies tables with server replies indexed by <i>rbl_domain</i>. 14382This feature is available in Postfix 2.0 and later. </dd> 14383 14384<dt><b><a name="permit_dnswl_client">permit_dnswl_client <i>dnswl_domain=d.d.d.d</i></a></b></dt> 14385 14386<dd>Accept the request when the reversed client network address is 14387listed with the A record "<i>d.d.d.d</i>" under <i>dnswl_domain</i>. 14388Each "<i>d</i>" is a number, or a pattern inside "[]" that contains 14389one or more ";"-separated numbers or number..number ranges. 14390If no "<i>=d.d.d.d</i>" is specified, accept the request when the 14391reversed client network address is listed with any A record under 14392<i>dnswl_domain</i>. <br> For safety, <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a> is silently 14393ignored when it would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>. The 14394result is DEFER_IF_REJECT when whitelist lookup fails. This feature 14395is available in Postfix 2.8 and later. </dd> 14396 14397<dt><b><a name="reject_rhsbl_client">reject_rhsbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt> 14398 14399<dd>Reject the request when the client hostname is listed with the 14400A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version 144012.1 and later only). Each "<i>d</i>" is a number, or a pattern 14402inside "[]" that contains one or more ";"-separated numbers or 14403number..number ranges (Postfix version 2.8 and later). If no 14404"<i>=d.d.d.d</i>" is specified, reject the request when the client 14405hostname is listed with 14406any A record under <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> 14407description above for additional RBL related configuration parameters. 14408This feature is available in Postfix 2.0 and later; with Postfix 14409version 2.8 and later, <a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a> will usually 14410produce better results. </dd> 14411 14412<dt><b><a name="permit_rhswl_client">permit_rhswl_client <i>rhswl_domain=d.d.d.d</i></a></b></dt> 14413 14414<dd>Accept the request when the client hostname is listed with the 14415A record "<i>d.d.d.d</i>" under <i>rhswl_domain</i>. Each "<i>d</i>" 14416is a number, or a pattern inside "[]" that contains one or more 14417";"-separated numbers or number..number ranges. If no 14418"<i>=d.d.d.d</i>" is specified, accept the request when the client 14419hostname is listed with any A record under <i>rhswl_domain</i>. 14420<br> Caution: client name whitelisting is fragile, since the client 14421name lookup can fail due to temporary outages. Client name 14422whitelisting should be used only to reduce false positives in e.g. 14423DNS-based blocklists, and not for making access rule exceptions. 14424<br> For safety, <a href="postconf.5.html#permit_rhswl_client">permit_rhswl_client</a> is silently ignored when it 14425would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>. The result is DEFER_IF_REJECT 14426when whitelist lookup fails. This feature is available in Postfix 144272.8 and later. </dd> 14428 14429<dt><b><a name="reject_rhsbl_reverse_client">reject_rhsbl_reverse_client <i>rbl_domain=d.d.d.d</i></a></b></dt> 14430 14431<dd>Reject the request when the unverified reverse client hostname 14432is listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>. 14433Each "<i>d</i>" is a number, or a pattern inside "[]" that contains 14434one or more ";"-separated numbers or number..number ranges. 14435If no "<i>=d.d.d.d</i>" is specified, reject the request when the 14436unverified reverse client hostname is listed with any A record under 14437<i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description above for 14438additional RBL related configuration parameters. This feature is 14439available in Postfix 2.8 and later. </dd> 14440 14441<dt><b><a name="reject_unknown_client_hostname">reject_unknown_client_hostname</a></b> (with Postfix < 2.3: reject_unknown_client)</dt> 14442 14443<dd>Reject the request when 1) the client IP address->name mapping 14444fails, or 2) the name->address mapping fails, or 3) the name->address 14445mapping does not match the client IP address. <br> This is a 14446stronger restriction than the <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a> 14447feature, which triggers only under condition 1) above. <br> The 14448<a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response code 14449for rejected requests (default: 450). The reply is always 450 in 14450case the address->name or name->address lookup failed due to 14451a temporary problem. </dd> 14452 14453<dt><b><a name="reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a></b></dt> 14454 14455<dd>Reject the request when the client IP address has no address->name 14456mapping. <br> This is a weaker restriction than the 14457<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> feature, which requires not only 14458that the address->name and name->address mappings exist, but 14459also that the two mappings reproduce the client IP address. <br> 14460The <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response 14461code for rejected requests (default: 450). The reply is always 450 14462in case the address->name lookup failed due to a temporary 14463problem. <br> This feature is available in Postfix 2.3 and 14464later. </dd> 14465 14466</dl> 14467 14468<p> 14469In addition, you can use any of the following <a name="generic"> 14470generic</a> restrictions. These restrictions are applicable in 14471any SMTP command context. 14472</p> 14473 14474<dl> 14475 14476<dt><b><a name="check_policy_service">check_policy_service <i>servername</i></a></b></dt> 14477 14478<dd>Query the specified policy server. See the <a href="SMTPD_POLICY_README.html">SMTPD_POLICY_README</a> 14479document for details. This feature is available in Postfix 2.1 14480and later. </dd> 14481 14482<dt><b><a name="defer">defer</a></b></dt> 14483 14484<dd>Defer the request. The client is told to try again later. This 14485restriction is useful at the end of a restriction list, to make 14486the default policy explicit. <br> The <a href="postconf.5.html#defer_code">defer_code</a> parameter specifies 14487the SMTP server reply code (default: 450).</dd> 14488 14489<dt><b><a name="defer_if_permit">defer_if_permit</a></b></dt> 14490 14491<dd>Defer the request if some later restriction would result in an 14492explicit or implicit PERMIT action. This is useful when a blacklisting 14493feature fails due to a temporary problem. This feature is available 14494in Postfix version 2.1 and later. </dd> 14495 14496<dt><b><a name="defer_if_reject">defer_if_reject</a></b></dt> 14497 14498<dd>Defer the request if some later restriction would result in a 14499REJECT action. This is useful when a whitelisting feature fails 14500due to a temporary problem. This feature is available in Postfix 14501version 2.1 and later. </dd> 14502 14503<dt><b><a name="permit">permit</a></b></dt> 14504 14505<dd>Permit the request. This restriction is useful at the end of 14506a restriction list, to make the default policy explicit.</dd> 14507 14508<dt><b><a name="reject_multi_recipient_bounce">reject_multi_recipient_bounce</a></b></dt> 14509 14510<dd>Reject the request when the envelope sender is the null address, 14511and the message has multiple envelope recipients. This usage has 14512rare but legitimate applications: under certain conditions, 14513multi-recipient mail that was posted with the DSN option NOTIFY=NEVER 14514may be forwarded with the null sender address. 14515<br> Note: this restriction can only work reliably 14516when used in <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> or 14517<a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>, because the total number of 14518recipients is not known at an earlier stage of the SMTP conversation. 14519Use at the RCPT stage will only reject the second etc. recipient. 14520<br> 14521The <a href="postconf.5.html#multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> parameter specifies the 14522response code for rejected requests (default: 550). This feature 14523is available in Postfix 2.1 and later. </dd> 14524 14525<dt><b><a name="reject_plaintext_session">reject_plaintext_session</a></b></dt> 14526 14527<dd>Reject the request when the connection is not encrypted. This 14528restriction should not be used before the client has had a chance 14529to negotiate encryption with the AUTH or STARTTLS commands. 14530<br> 14531The <a href="postconf.5.html#plaintext_reject_code">plaintext_reject_code</a> parameter specifies the response 14532code for rejected requests (default: 450). This feature is available 14533in Postfix 2.3 and later. </dd> 14534 14535<dt><b><a name="reject_unauth_pipelining">reject_unauth_pipelining</a></b></dt> 14536 14537<dd>Reject the request when the client sends SMTP commands ahead 14538of time where it is not allowed, or when the client sends SMTP 14539commands ahead of time without knowing that Postfix actually supports 14540ESMTP command pipelining. This stops mail from bulk mail software 14541that improperly uses ESMTP command pipelining in order to speed up 14542deliveries. 14543<br> With Postfix 2.6 and later, the SMTP server sets a per-session 14544flag whenever it detects illegal pipelining, including pipelined 14545HELO or EHLO commands. The <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> feature simply 14546tests whether the flag was set at any point in time during the 14547session. 14548<br> With older Postfix versions, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> checks 14549the current status of the input read queue, and its usage is not 14550recommended in contexts other than <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a>. </dd> 14551 14552<dt><b><a name="reject">reject</a></b></dt> 14553 14554<dd>Reject the request. This restriction is useful at the end of 14555a restriction list, to make the default policy explicit. The 14556<a href="postconf.5.html#reject_code">reject_code</a> configuration parameter specifies the response code for 14557rejected requests (default: 554).</dd> 14558 14559<dt><b><a name="sleep">sleep <i>seconds</i></a></b></dt> 14560 14561<dd>Pause for the specified number of seconds and proceed with 14562the next restriction in the list, if any. This may stop zombie 14563mail when used as: 14564<pre> 14565/etc/postfix/<a href="postconf.5.html">main.cf</a>: 14566 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> = 14567 sleep 1, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> 14568 <a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = no 14569</pre> 14570This feature is available in Postfix 2.3. </dd> 14571 14572<dt><b><a name="warn_if_reject">warn_if_reject</a></b></dt> 14573 14574<dd> A safety net for testing. When "<a href="postconf.5.html#warn_if_reject">warn_if_reject</a>" is placed 14575before a reject-type restriction, access table query, or 14576<a href="postconf.5.html#check_policy_service">check_policy_service</a> query, this logs a "reject_warning" message 14577instead of rejecting a request (when a reject-type restriction fails 14578due to a temporary error, this logs a "reject_warning" message for 14579any implicit "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" actions that would normally prevent 14580mail from being accepted by some later access restriction). This 14581feature has no effect on <a href="postconf.5.html#defer_if_reject">defer_if_reject</a> restrictions. </dd> 14582 14583</dl> 14584 14585<p> 14586Other restrictions that are valid in this context: 14587</p> 14588 14589<ul> 14590 14591<li> SMTP command specific restrictions that are described under 14592the <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>, <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> or 14593<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameters. When helo, sender or 14594recipient restrictions are listed under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, 14595they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that 14596$<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> is evaluated at the time of the RCPT TO 14597command. 14598 14599</ul> 14600 14601<p> 14602Example: 14603</p> 14604 14605<pre> 14606<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> 14607</pre> 14608 14609 14610</DD> 14611 14612<DT><b><a name="smtpd_command_filter">smtpd_command_filter</a> 14613(default: empty)</b></DT><DD> 14614 14615<p> A mechanism to transform commands from remote SMTP clients. 14616This is a last-resort tool to work around client commands that break 14617interoperability with the Postfix SMTP server. Other uses involve 14618fault injection to test Postfix's handling of invalid commands. 14619</p> 14620 14621<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search 14622string is the SMTP command as received from the remote SMTP client, 14623except that initial whitespace and the trailing <CR><LF> 14624are removed. The result value is executed by the Postfix SMTP 14625server. </p> 14626 14627<p> There is no need to use <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for the following 14628cases: </p> 14629 14630<ul> 14631 14632<li> <p> Use "<a href="postconf.5.html#resolve_numeric_domain">resolve_numeric_domain</a> = yes" to accept 14633"<i>user@ipaddress</i>". </p> 14634 14635<li> <p> Postfix already accepts the correct form 14636"<i>user@[ipaddress]</i>". Use <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> or <a href="postconf.5.html#canonical_maps">canonical_maps</a> 14637to translate these into domain names if necessary. </p> 14638 14639<li> <p> Use "<a href="postconf.5.html#strict_rfc821_envelopes">strict_rfc821_envelopes</a> = no" to accept "RCPT TO:<<i>User 14640Name <user@example.com>></i>". Postfix will ignore the "<i>User 14641Name</i>" part and deliver to the <i><user@example.com></i> address. 14642</p> 14643 14644</ul> 14645 14646<p> Examples of problems that can be solved with the <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> 14647feature: </p> 14648 14649<pre> 14650/etc/postfix/<a href="postconf.5.html">main.cf</a>: 14651 <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/command_filter 14652</pre> 14653 14654<pre> 14655/etc/postfix/command_filter: 14656 # Work around clients that send malformed HELO commands. 14657 /^HELO\s*$/ HELO domain.invalid 14658</pre> 14659 14660<pre> 14661 # Work around clients that send empty lines. 14662 /^\s*$/ NOOP 14663</pre> 14664 14665<pre> 14666 # Work around clients that send RCPT TO:<'user@domain'>. 14667 # WARNING: do not lose the parameters that follow the address. 14668 /^(RCPT\s+TO:\s*<)'([^[:space:]]+)'(>.*)/ $1$2$3 14669</pre> 14670 14671<pre> 14672 # Append XVERP to MAIL FROM commands to request VERP-style delivery. 14673 # See <a href="VERP_README.html">VERP_README</a> for more information on how to use Postfix VERP. 14674 /^(MAIL FROM:\s*<listname@example\.com>.*)/ $1 XVERP 14675</pre> 14676 14677<pre> 14678 # Bounce-never mail sink. Use <a href="postconf.5.html#notify_classes">notify_classes</a>=bounce,resource,software 14679 # to send bounced mail to the postmaster (with message body removed). 14680 /^(RCPT\s+TO:\s*<.*>.*)\s+NOTIFY=\S+(.*)/ $1 NOTIFY=NEVER$2 14681 /^(RCPT\s+TO:.*)/ $1 NOTIFY=NEVER 14682</pre> 14683 14684<p> This feature is available in Postfix 2.7. </p> 14685 14686 14687</DD> 14688 14689<DT><b><a name="smtpd_data_restrictions">smtpd_data_restrictions</a> 14690(default: empty)</b></DT><DD> 14691 14692<p> 14693Optional access restrictions that the Postfix SMTP server applies 14694in the context of the SMTP DATA command. 14695See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 14696restriction lists" for a discussion of evaluation context and time. 14697</p> 14698 14699<p> 14700This feature is available in Postfix 2.0 and later. 14701</p> 14702 14703<p> 14704Specify a list of restrictions, separated by commas and/or whitespace. 14705Continue long lines by starting the next line with whitespace. 14706Restrictions are applied in the order as specified; the first 14707restriction that matches wins. 14708</p> 14709 14710<p> 14711The following restrictions are valid in this context: 14712</p> 14713 14714<ul> 14715 14716<li><a href="#generic">Generic</a> restrictions that can be used 14717in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>. 14718 14719<li>SMTP command specific restrictions described under 14720<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>, 14721<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> or <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. 14722 14723<li>However, no recipient information is available in the case of 14724multi-recipient mail. Acting on only one recipient would be misleading, 14725because any decision will affect all recipients equally. Acting on 14726all recipients would require a possibly very large amount of memory, 14727and would also be misleading for the reasons mentioned before. 14728 14729</ul> 14730 14731<p> 14732Examples: 14733</p> 14734 14735<pre> 14736<a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> 14737<a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a> 14738</pre> 14739 14740 14741</DD> 14742 14743<DT><b><a name="smtpd_delay_open_until_valid_rcpt">smtpd_delay_open_until_valid_rcpt</a> 14744(default: yes)</b></DT><DD> 14745 14746<p> Postpone the start of an SMTP mail transaction until a valid 14747RCPT TO command is received. Specify "no" to create a mail transaction 14748as soon as the Postfix SMTP server receives a valid MAIL FROM 14749command. </p> 14750 14751<p> With sites that reject lots of mail, the default setting reduces 14752the use of 14753disk, CPU and memory resources. The downside is that rejected 14754recipients are logged with NOQUEUE instead of a mail transaction 14755ID. This complicates the logfile analysis of multi-recipient mail. 14756</p> 14757 14758<p> This feature is available in Postfix 2.3 and later. </p> 14759 14760 14761</DD> 14762 14763<DT><b><a name="smtpd_delay_reject">smtpd_delay_reject</a> 14764(default: yes)</b></DT><DD> 14765 14766<p> 14767Wait until the RCPT TO command before evaluating 14768$<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, $<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> and 14769$<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, or wait until the ETRN command before 14770evaluating $<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> and $<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>. 14771</p> 14772 14773<p> 14774This feature is turned on by default because some clients apparently 14775mis-behave when the Postfix SMTP server rejects commands before 14776RCPT TO. 14777</p> 14778 14779<p> 14780The default setting has one major benefit: it allows Postfix to log 14781recipient address information when rejecting a client name/address 14782or sender address, so that it is possible to find out whose mail 14783is being rejected. 14784</p> 14785 14786 14787</DD> 14788 14789<DT><b><a name="smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> 14790(default: empty)</b></DT><DD> 14791 14792<p> Lookup tables, indexed by the remote SMTP client address, with 14793case insensitive lists of EHLO keywords (pipelining, starttls, auth, 14794etc.) that the Postfix SMTP server will not send in the EHLO response 14795to a 14796remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details. 14797The tables are not searched by hostname for robustness reasons. </p> 14798 14799<p> 14800Specify zero or more "type:name" lookup tables, separated by 14801whitespace or comma. Tables will be searched in the specified order 14802until a match is found. 14803</p> 14804 14805<p> This feature is available in Postfix 2.2 and later. </p> 14806 14807 14808</DD> 14809 14810<DT><b><a name="smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> 14811(default: empty)</b></DT><DD> 14812 14813<p> A case insensitive list of EHLO keywords (pipelining, starttls, 14814auth, etc.) that the Postfix SMTP server will not send in the EHLO 14815response 14816to a remote SMTP client. </p> 14817 14818<p> This feature is available in Postfix 2.2 and later. </p> 14819 14820<p> Notes: </p> 14821 14822<ul> 14823 14824<li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent 14825this action from being logged. </p> 14826 14827<li> <p> Use the <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> feature 14828to discard EHLO keywords selectively. </p> 14829 14830</ul> 14831 14832 14833</DD> 14834 14835<DT><b><a name="smtpd_dns_reply_filter">smtpd_dns_reply_filter</a> 14836(default: empty)</b></DT><DD> 14837 14838<p> Optional filter for Postfix SMTP server DNS lookup results. 14839See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example. 14840</p> 14841 14842<p> This feature is available in Postfix 3.0 and later. </p> 14843 14844 14845</DD> 14846 14847<DT><b><a name="smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a> 14848(default: empty)</b></DT><DD> 14849 14850<p> Optional access restrictions that the Postfix SMTP server 14851applies in the context of the SMTP END-OF-DATA command. 14852See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 14853restriction lists" for a discussion of evaluation context and time. 14854</p> 14855 14856<p> This feature is available in Postfix 2.2 and later. </p> 14857 14858<p> See <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> for details and limitations. </p> 14859 14860 14861</DD> 14862 14863<DT><b><a name="smtpd_enforce_tls">smtpd_enforce_tls</a> 14864(default: no)</b></DT><DD> 14865 14866<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, 14867and require that clients use TLS encryption. According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> 14868this MUST NOT be applied in case of a publicly-referenced SMTP 14869server. This option is therefore off by default. </p> 14870 14871<p> Note 1: "<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> = yes" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes". </p> 14872 14873<p> Note 2: when invoked via "<b>sendmail -bs</b>", Postfix will never offer 14874STARTTLS due to insufficient privileges to access the server private 14875key. This is intended behavior. </p> 14876 14877<p> This feature is available in Postfix 2.2 and later. With 14878Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p> 14879 14880 14881</DD> 14882 14883<DT><b><a name="smtpd_error_sleep_time">smtpd_error_sleep_time</a> 14884(default: 1s)</b></DT><DD> 14885 14886<p>With Postfix version 2.1 and later: the SMTP server response delay after 14887a client has made more than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors, and 14888fewer than $<a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a> errors, without delivering mail. 14889</p> 14890 14891<p>With Postfix version 2.0 and earlier: the SMTP server delay before 14892sending a reject (4xx or 5xx) response, when the client has made 14893fewer than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors without delivering 14894mail. </p> 14895 14896 14897</DD> 14898 14899<DT><b><a name="smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> 14900(default: empty)</b></DT><DD> 14901 14902<p> 14903Optional restrictions that the Postfix SMTP server applies in the 14904context of a client ETRN command. 14905See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 14906restriction lists" for a discussion of evaluation context and time. 14907</p> 14908 14909<p> 14910The Postfix ETRN implementation accepts only destinations that are 14911eligible for the Postfix "fast flush" service. See the <a href="ETRN_README.html">ETRN_README</a> 14912file for details. 14913</p> 14914 14915<p> 14916Specify a list of restrictions, separated by commas and/or whitespace. 14917Continue long lines by starting the next line with whitespace. 14918Restrictions are applied in the order as specified; the first 14919restriction that matches wins. 14920</p> 14921 14922<p> 14923The following restrictions are specific to the domain name information 14924received with the ETRN command. 14925</p> 14926 14927<dl> 14928 14929<dt><b><a name="check_etrn_access">check_etrn_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 14930 14931<dd>Search the specified access database for the ETRN domain name 14932or its parent domains. See the <a href="access.5.html">access(5)</a> manual page for details. 14933</dd> 14934 14935</dl> 14936 14937<p> 14938Other restrictions that are valid in this context: 14939</p> 14940 14941<ul> 14942 14943<li><a href="#generic">Generic</a> restrictions that can be used 14944in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>. 14945 14946<li>SMTP command specific restrictions described under 14947<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> and <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>. 14948 14949</ul> 14950 14951<p> 14952Example: 14953</p> 14954 14955<pre> 14956<a href="postconf.5.html#smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, reject 14957</pre> 14958 14959 14960</DD> 14961 14962<DT><b><a name="smtpd_expansion_filter">smtpd_expansion_filter</a> 14963(default: see "postconf -d" output)</b></DT><DD> 14964 14965<p> 14966What characters are allowed in $name expansions of RBL reply 14967templates. Characters not in the allowed set are replaced by "_". 14968Use C like escapes to specify special characters such as whitespace. 14969</p> 14970 14971<p> 14972The <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> value is not subject to Postfix configuration 14973parameter $name expansion. 14974</p> 14975 14976<p> 14977This feature is available in Postfix 2.0 and later. 14978</p> 14979 14980 14981</DD> 14982 14983<DT><b><a name="smtpd_forbidden_commands">smtpd_forbidden_commands</a> 14984(default: CONNECT, GET, POST)</b></DT><DD> 14985 14986<p> 14987List of commands that cause the Postfix SMTP server to immediately 14988terminate the session with a 221 code. This can be used to disconnect 14989clients that obviously attempt to abuse the system. In addition to the 14990commands listed in this parameter, commands that follow the "Label:" 14991format of message headers will also cause a disconnect. 14992</p> 14993 14994<p> 14995This feature is available in Postfix 2.2 and later. 14996</p> 14997 14998 14999</DD> 15000 15001<DT><b><a name="smtpd_hard_error_limit">smtpd_hard_error_limit</a> 15002(default: normal: 20, overload: 1)</b></DT><DD> 15003 15004<p> 15005The maximal number of errors a remote SMTP client is allowed to 15006make without delivering mail. The Postfix SMTP server disconnects 15007when the limit is exceeded. Normally the default limit is 20, but 15008it changes under overload to just 1. With Postfix 2.5 and earlier, 15009the SMTP server always allows up to 20 errors by default. 15010 15011</p> 15012 15013 15014</DD> 15015 15016<DT><b><a name="smtpd_helo_required">smtpd_helo_required</a> 15017(default: no)</b></DT><DD> 15018 15019<p> 15020Require that a remote SMTP client introduces itself with the HELO 15021or EHLO command before sending the MAIL command or other commands 15022that require EHLO negotiation. 15023</p> 15024 15025<p> 15026Example: 15027</p> 15028 15029<pre> 15030<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes 15031</pre> 15032 15033 15034</DD> 15035 15036<DT><b><a name="smtpd_helo_restrictions">smtpd_helo_restrictions</a> 15037(default: empty)</b></DT><DD> 15038 15039<p> 15040Optional restrictions that the Postfix SMTP server applies in the 15041context of a client HELO command. 15042See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 15043restriction lists" for a discussion of evaluation context and time. 15044</p> 15045 15046<p> 15047The default is to permit everything. 15048</p> 15049 15050<p> Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this 15051restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can 15052simply skip <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> by not sending HELO or EHLO). 15053</p> 15054 15055<p> 15056Specify a list of restrictions, separated by commas and/or whitespace. 15057Continue long lines by starting the next line with whitespace. 15058Restrictions are applied in the order as specified; the first 15059restriction that matches wins. 15060</p> 15061 15062<p> 15063The following restrictions are specific to the hostname information 15064received with the HELO or EHLO command. 15065</p> 15066 15067<dl> 15068 15069<dt><b><a name="check_helo_access">check_helo_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 15070 15071<dd>Search the specified <a href="access.5.html">access(5)</a> database for the HELO or EHLO 15072hostname or parent domains, and execute the corresponding action. 15073Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this 15074restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can 15075simply skip <a href="postconf.5.html#check_helo_access">check_helo_access</a> by not sending HELO or EHLO). </dd> 15076 15077<dt><b><a name="check_helo_a_access">check_helo_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 15078 15079<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for 15080the HELO or EHLO hostname, and execute the corresponding action. 15081Note 1: a result of "OK" is not allowed for safety reasons. Instead, 15082use DUNNO in order to exclude specific hosts from blacklists. Note 150832: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this 15084restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can 15085simply skip check_helo_a_access by not sending HELO or EHLO). This 15086feature is available in Postfix 3.0 and later. 15087</dd> 15088 15089<dt><b><a name="check_helo_mx_access">check_helo_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 15090 15091<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for 15092the HELO or EHLO hostname, and execute the corresponding action. 15093Note 1: a result of "OK" is not allowed for safety reasons. Instead, 15094use DUNNO in order to exclude specific hosts from blacklists. Note 150952: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this 15096restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can 15097simply skip <a href="postconf.5.html#check_helo_mx_access">check_helo_mx_access</a> by not sending HELO or EHLO). This 15098feature is available in Postfix 2.1 and later. 15099</dd> 15100 15101<dt><b><a name="check_helo_ns_access">check_helo_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 15102 15103<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers 15104for the HELO or EHLO hostname, and execute the corresponding action. 15105Note 1: a result of "OK" is not allowed for safety reasons. Instead, 15106use DUNNO in order to exclude specific hosts from blacklists. Note 151072: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this 15108restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can 15109simply skip <a href="postconf.5.html#check_helo_ns_access">check_helo_ns_access</a> by not sending HELO or EHLO). This 15110feature is available in Postfix 2.1 and later. 15111</dd> 15112 15113<dt><b><a name="reject_invalid_helo_hostname">reject_invalid_helo_hostname</a></b> (with Postfix < 2.3: reject_invalid_hostname)</dt> 15114 15115<dd>Reject the request when the HELO or EHLO hostname is malformed. 15116Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce 15117this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply 15118skip <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> by not sending HELO or EHLO). 15119<br> The <a href="postconf.5.html#invalid_hostname_reject_code">invalid_hostname_reject_code</a> specifies the response code 15120for rejected requests (default: 501).</dd> 15121 15122<dt><b><a name="reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a></b> (with Postfix < 2.3: reject_non_fqdn_hostname)</dt> 15123 15124<dd>Reject the request when the HELO or EHLO hostname is not in 15125fully-qualified domain or address literal form, as required by the 15126RFC. Note: specify 15127"<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this restriction 15128(without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply skip 15129<a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a> by not sending HELO or EHLO). <br> 15130The <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for 15131rejected requests (default: 504).</dd> 15132 15133<dt><b><a name="reject_rhsbl_helo">reject_rhsbl_helo <i>rbl_domain=d.d.d.d</i></a></b></dt> 15134 15135<dd>Reject the request when the HELO or EHLO hostname is 15136listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> 15137(Postfix version 2.1 and later only). Each "<i>d</i>" is a number, 15138or a pattern inside "[]" that contains one or more ";"-separated 15139numbers or number..number ranges (Postfix version 2.8 and later). 15140If no "<i>=d.d.d.d</i>" is 15141specified, reject the request when the HELO or EHLO hostname is 15142listed with any A record under <i>rbl_domain</i>. See the 15143<a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description for additional RBL related configuration 15144parameters. Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully 15145enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a 15146client can simply skip <a href="postconf.5.html#reject_rhsbl_helo">reject_rhsbl_helo</a> by not sending HELO or 15147EHLO). This feature is available in Postfix 2.0 15148and later. </dd> 15149 15150<dt><b><a name="reject_unknown_helo_hostname">reject_unknown_helo_hostname</a></b> (with Postfix < 2.3: reject_unknown_hostname)</dt> 15151 15152<dd>Reject the request when the HELO or EHLO hostname has no DNS A 15153or MX record. <br> The reply is specified with the 15154<a href="postconf.5.html#unknown_hostname_reject_code">unknown_hostname_reject_code</a> parameter (default: 450) or 15155<a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a> (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). 15156See the respective parameter descriptions for details. <br> 15157Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully 15158enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a 15159client can simply skip <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> by not sending 15160HELO or EHLO). </dd> 15161 15162</dl> 15163 15164<p> 15165Other restrictions that are valid in this context: 15166</p> 15167 15168<ul> 15169 15170<li> <a href="#generic">Generic</a> restrictions that can be used 15171in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>. 15172 15173<li> Client hostname or network address specific restrictions 15174described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>. 15175 15176<li> SMTP command specific restrictions described under 15177<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> or <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When 15178sender or recipient restrictions are listed under <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>, 15179they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that 15180$<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> is evaluated at the time of the RCPT TO 15181command. 15182 15183</ul> 15184 15185<p> 15186Examples: 15187</p> 15188 15189<pre> 15190<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> 15191<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> 15192</pre> 15193 15194 15195</DD> 15196 15197<DT><b><a name="smtpd_history_flush_threshold">smtpd_history_flush_threshold</a> 15198(default: 100)</b></DT><DD> 15199 15200<p> 15201The maximal number of lines in the Postfix SMTP server command history 15202before it is flushed upon receipt of EHLO, RSET, or end of DATA. 15203</p> 15204 15205 15206</DD> 15207 15208<DT><b><a name="smtpd_junk_command_limit">smtpd_junk_command_limit</a> 15209(default: normal: 100, overload: 1)</b></DT><DD> 15210 15211<p> 15212The number of junk commands (NOOP, VRFY, ETRN or RSET) that a remote 15213SMTP client can send before the Postfix SMTP server starts to 15214increment the error counter with each junk command. The junk 15215command count is reset after mail is delivered. See also the 15216<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> and <a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> configuration 15217parameters. Normally the default limit is 100, but it changes under 15218overload to just 1. With Postfix 2.5 and earlier, the SMTP server 15219always allows up to 100 junk commands by default. </p> 15220 15221 15222</DD> 15223 15224<DT><b><a name="smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a> 15225(default: empty)</b></DT><DD> 15226 15227<p> Enable logging of the named "permit" actions in SMTP server 15228access lists (by default, the SMTP server logs "reject" actions but 15229not "permit" actions). This feature does not affect conditional 15230actions such as "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>". </p> 15231 15232<p> Specify a list of "permit" action names, "/file/name" or 15233"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. The 15234list is matched left to right, and the search stops on the first 15235match. A "/file/name" pattern is replaced by its contents; a 15236"<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup 15237key (the lookup result is ignored). Continue long lines by starting 15238the next line with whitespace. Specify "!pattern" to exclude a name 15239from the list. </p> 15240 15241<p> Examples: </p> 15242 15243<pre> 15244/etc/postfix/<a href="postconf.5.html">main.cf</a>: 15245 # Log all "permit" actions. 15246 <a href="postconf.5.html#smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a> = <a href="DATABASE_README.html#types">static</a>:all 15247</pre> 15248 15249<pre> 15250/etc/postfix/<a href="postconf.5.html">main.cf</a>: 15251 # Log "<a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a>" only. 15252 <a href="postconf.5.html#smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a> = <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a> 15253</pre> 15254 15255<p> This feature is available in Postfix 2.10 and later. </p> 15256 15257 15258</DD> 15259 15260<DT><b><a name="smtpd_milter_maps">smtpd_milter_maps</a> 15261(default: empty)</b></DT><DD> 15262 15263<p> Lookup tables with Milter settings per remote SMTP client IP 15264address. The lookup result overrides the <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> setting, 15265and has the same syntax. </p> 15266 15267<p> Note: lookup tables cannot return empty responses. Specify a 15268lookup result of DISABLE (case does not matter) to indicate that 15269Milter support should be disabled. </p> 15270 15271<p> Example to disable Milters for local clients: </p> 15272 15273<pre> 15274/etc/postfix/<a href="postconf.5.html">main.cf</a>: 15275 <a href="postconf.5.html#smtpd_milter_maps">smtpd_milter_maps</a> = <a href="cidr_table.5.html">cidr</a>:/etc/postfix/smtpd_milter_map 15276 <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> = inet:host:port, { inet:host:port, ... }, ... 15277</pre> 15278 15279<pre> 15280/etc/postfix/smtpd_milter_map: 15281 # Disable Milters for local clients. 15282 127.0.0.0/8 DISABLE 15283 192.168.0.0/16 DISABLE 15284 ::/64 DISABLE 15285 2001:db8::/32 DISABLE 15286</pre> 15287 15288<p> This feature is available in Postfix 3.2 and later. </p> 15289 15290 15291</DD> 15292 15293<DT><b><a name="smtpd_milters">smtpd_milters</a> 15294(default: empty)</b></DT><DD> 15295 15296<p> A list of Milter (mail filter) applications for new mail that 15297arrives via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. Specify space or comma as 15298separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details. </p> 15299 15300<p> This feature is available in Postfix 2.3 and later. </p> 15301 15302 15303</DD> 15304 15305<DT><b><a name="smtpd_noop_commands">smtpd_noop_commands</a> 15306(default: empty)</b></DT><DD> 15307 15308<p> 15309List of commands that the Postfix SMTP server replies to with "250 15310Ok", without doing any syntax checks and without changing state. 15311This list overrides any commands built into the Postfix SMTP server. 15312</p> 15313 15314 15315</DD> 15316 15317<DT><b><a name="smtpd_null_access_lookup_key">smtpd_null_access_lookup_key</a> 15318(default: <>)</b></DT><DD> 15319 15320<p> 15321The lookup key to be used in SMTP <a href="access.5.html">access(5)</a> tables instead of the 15322null sender address. 15323</p> 15324 15325 15326</DD> 15327 15328<DT><b><a name="smtpd_peername_lookup">smtpd_peername_lookup</a> 15329(default: yes)</b></DT><DD> 15330 15331<p> Attempt to look up the remote SMTP client hostname, and verify that 15332the name matches the client IP address. A client name is set to 15333"unknown" when it cannot be looked up or verified, or when name 15334lookup is disabled. Turning off name lookup reduces delays due to 15335DNS lookup and increases the maximal inbound delivery rate. </p> 15336 15337<p> This feature is available in Postfix 2.3 and later. </p> 15338 15339 15340</DD> 15341 15342<DT><b><a name="smtpd_per_record_deadline">smtpd_per_record_deadline</a> 15343(default: normal: no, overload: yes)</b></DT><DD> 15344 15345<p> Change the behavior of the <a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a> and <a href="postconf.5.html#smtpd_starttls_timeout">smtpd_starttls_timeout</a> 15346time limits, from a 15347time limit per read or write system call, to a time limit to send 15348or receive a complete record (an SMTP command line, SMTP response 15349line, SMTP message content line, or TLS protocol message). This 15350limits the impact from hostile peers that trickle data one byte at 15351a time. </p> 15352 15353<p> Note: when per-record deadlines are enabled, a short timeout 15354may cause problems with TLS over very slow network connections. 15355The reasons are that a TLS protocol message can be up to 16 kbytes 15356long (with TLSv1), and that an entire TLS protocol message must be 15357sent or received within the per-record deadline. </p> 15358 15359<p> This feature is available in Postfix 2.9 and later. With older 15360Postfix releases, the behavior is as if this parameter is set to 15361"no". </p> 15362 15363 15364</DD> 15365 15366<DT><b><a name="smtpd_policy_service_default_action">smtpd_policy_service_default_action</a> 15367(default: 451 4.3.5 Server configuration problem)</b></DT><DD> 15368 15369<p> The default action when an SMTPD policy service request fails. 15370Specify "DUNNO" to behave as if the failed SMTPD policy service 15371request was not sent, and to continue processing other access 15372restrictions, if any. </p> 15373 15374<p> Limitations: </p> 15375 15376<ul> 15377 15378<li> <p> This parameter may specify any value that would be a valid 15379SMTPD policy server response (or <a href="access.5.html">access(5)</a> map lookup result). An 15380<a href="access.5.html">access(5)</a> map or policy server in this parameter value may need to 15381be declared in advance with a restriction_class setting. </p> 15382 15383<li> <p> If the specified action invokes another <a href="postconf.5.html#check_policy_service">check_policy_service</a> 15384request, that request will have the built-in default action. </p> 15385 15386</ul> 15387 15388<p> This feature is available in Postfix 3.0 and later. </p> 15389 15390 15391</DD> 15392 15393<DT><b><a name="smtpd_policy_service_max_idle">smtpd_policy_service_max_idle</a> 15394(default: 300s)</b></DT><DD> 15395 15396<p> 15397The time after which an idle SMTPD policy service connection is 15398closed. 15399</p> 15400 15401<p> 15402This feature is available in Postfix 2.1 and later. 15403</p> 15404 15405 15406</DD> 15407 15408<DT><b><a name="smtpd_policy_service_max_ttl">smtpd_policy_service_max_ttl</a> 15409(default: 1000s)</b></DT><DD> 15410 15411<p> 15412The time after which an active SMTPD policy service connection is 15413closed. 15414</p> 15415 15416<p> 15417This feature is available in Postfix 2.1 and later. 15418</p> 15419 15420 15421</DD> 15422 15423<DT><b><a name="smtpd_policy_service_policy_context">smtpd_policy_service_policy_context</a> 15424(default: empty)</b></DT><DD> 15425 15426<p> Optional information that the Postfix SMTP server specifies in 15427the "policy_context" attribute of a policy service request (originally, 15428to share the same service endpoint among multiple <a href="postconf.5.html#check_policy_service">check_policy_service</a> 15429clients). </p> 15430 15431<p> 15432This feature is available in Postfix 3.1 and later. 15433</p> 15434 15435 15436</DD> 15437 15438<DT><b><a name="smtpd_policy_service_request_limit">smtpd_policy_service_request_limit</a> 15439(default: 0)</b></DT><DD> 15440 15441<p> 15442The maximal number of requests per SMTPD policy service connection, 15443or zero (no limit). Once a connection reaches this limit, the 15444connection is closed and the next request will be sent over a new 15445connection. This is a workaround to avoid error-recovery delays 15446with policy servers that cannot maintain a persistent connection. 15447</p> 15448 15449<p> 15450This feature is available in Postfix 3.0 and later. 15451</p> 15452 15453 15454</DD> 15455 15456<DT><b><a name="smtpd_policy_service_retry_delay">smtpd_policy_service_retry_delay</a> 15457(default: 1s)</b></DT><DD> 15458 15459<p> The delay between attempts to resend a failed SMTPD policy 15460service request. Specify a value greater than zero. </p> 15461 15462<p> This feature is available in Postfix 3.0 and later. </p> 15463 15464 15465</DD> 15466 15467<DT><b><a name="smtpd_policy_service_timeout">smtpd_policy_service_timeout</a> 15468(default: 100s)</b></DT><DD> 15469 15470<p> 15471The time limit for connecting to, writing to, or receiving from a 15472delegated SMTPD policy server. 15473</p> 15474 15475<p> 15476This feature is available in Postfix 2.1 and later. 15477</p> 15478 15479 15480</DD> 15481 15482<DT><b><a name="smtpd_policy_service_try_limit">smtpd_policy_service_try_limit</a> 15483(default: 2)</b></DT><DD> 15484 15485<p> The maximal number of attempts to send an SMTPD policy service 15486request before giving up. Specify a value greater than zero. </p> 15487 15488<p> This feature is available in Postfix 3.0 and later. </p> 15489 15490 15491</DD> 15492 15493<DT><b><a name="smtpd_proxy_ehlo">smtpd_proxy_ehlo</a> 15494(default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD> 15495 15496<p> 15497How the Postfix SMTP server announces itself to the proxy filter. 15498By default, the Postfix hostname is used. 15499</p> 15500 15501<p> 15502This feature is available in Postfix 2.1 and later. 15503</p> 15504 15505 15506</DD> 15507 15508<DT><b><a name="smtpd_proxy_filter">smtpd_proxy_filter</a> 15509(default: empty)</b></DT><DD> 15510 15511<p> The hostname and TCP port of the mail filtering proxy server. 15512The proxy receives all mail from the Postfix SMTP server, and is 15513supposed to give the result to another Postfix SMTP server process. 15514</p> 15515 15516<p> Specify "host:port" or "inet:host:port" for a TCP endpoint, or 15517"unix:pathname" for a UNIX-domain endpoint. The host can be specified 15518as an IP address or as a symbolic name; no MX lookups are done. 15519When no "host" or "host:" are specified, the local machine is 15520assumed. Pathname interpretation is relative to the Postfix queue 15521directory. </p> 15522 15523<p> This feature is available in Postfix 2.1 and later. </p> 15524 15525<p> The "inet:" and "unix:" prefixes are available in Postfix 2.3 15526and later. </p> 15527 15528 15529</DD> 15530 15531<DT><b><a name="smtpd_proxy_options">smtpd_proxy_options</a> 15532(default: empty)</b></DT><DD> 15533 15534<p> 15535List of options that control how the Postfix SMTP server 15536communicates with a before-queue content filter. Specify zero or 15537more of the following, separated by comma or whitespace. </p> 15538 15539<dl> 15540 15541<dt><b>speed_adjust</b></dt> 15542 15543<dd> <p> Do not connect to a before-queue content filter until an entire 15544message has been received. This reduces the number of simultaneous 15545before-queue content filter processes. </p> 15546 15547<p> NOTE 1: A filter must not <i>selectively</i> reject recipients 15548of a multi-recipient message. Rejecting all recipients is OK, as 15549is accepting all recipients. </p> 15550 15551<p> NOTE 2: This feature increases the minimum amount of free queue 15552space by $<a href="postconf.5.html#message_size_limit">message_size_limit</a>. The extra space is needed to save the 15553message to a temporary file. </p> </dd> 15554 15555</dl> 15556 15557<p> 15558This feature is available in Postfix 2.7 and later. 15559</p> 15560 15561 15562</DD> 15563 15564<DT><b><a name="smtpd_proxy_timeout">smtpd_proxy_timeout</a> 15565(default: 100s)</b></DT><DD> 15566 15567<p> 15568The time limit for connecting to a proxy filter and for sending or 15569receiving information. When a connection fails the client gets a 15570generic error message while more detailed information is logged to 15571the maillog file. 15572</p> 15573 15574<p> 15575Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 15576The default time unit is s (seconds). 15577</p> 15578 15579<p> 15580This feature is available in Postfix 2.1 and later. 15581</p> 15582 15583 15584</DD> 15585 15586<DT><b><a name="smtpd_recipient_limit">smtpd_recipient_limit</a> 15587(default: 1000)</b></DT><DD> 15588 15589<p> 15590The maximal number of recipients that the Postfix SMTP server 15591accepts per message delivery request. 15592</p> 15593 15594 15595</DD> 15596 15597<DT><b><a name="smtpd_recipient_overshoot_limit">smtpd_recipient_overshoot_limit</a> 15598(default: 1000)</b></DT><DD> 15599 15600<p> The number of recipients that a remote SMTP client can send in 15601excess of the limit specified with $<a href="postconf.5.html#smtpd_recipient_limit">smtpd_recipient_limit</a>, before 15602the Postfix SMTP server increments the per-session error count 15603for each excess recipient. </p> 15604 15605 15606</DD> 15607 15608<DT><b><a name="smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> 15609(default: see "postconf -d" output)</b></DT><DD> 15610 15611<p> 15612Optional restrictions that the Postfix SMTP server applies in the 15613context of a client RCPT TO command, after <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>. 15614See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 15615restriction lists" for a discussion of evaluation context and time. 15616</p> 15617 15618<p> With Postfix versions before 2.10, the rules for relay permission 15619and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>, 15620resulting in error-prone configuration. As of Postfix 2.10, relay 15621permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>, 15622so that a permissive spam blocking policy under 15623<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive 15624mail relay policy. </p> 15625 15626<p> For backwards compatibility, sites that migrate from Postfix 15627versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty 15628value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p> 15629 15630<p> 15631IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the 15632<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify 15633at least one of the following restrictions. Otherwise Postfix will 15634refuse to receive mail: 15635</p> 15636 15637<blockquote> 15638<pre> 15639reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> 15640</pre> 15641</blockquote> 15642 15643<blockquote> 15644<pre> 15645defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a> 15646</pre> 15647</blockquote> 15648 15649<p> 15650Specify a list of restrictions, separated by commas and/or whitespace. 15651Continue long lines by starting the next line with whitespace. 15652Restrictions are applied in the order as specified; the first 15653restriction that matches wins. 15654</p> 15655 15656<p> 15657The following restrictions are specific to the recipient address 15658that is received with the RCPT TO command. 15659</p> 15660 15661<dl> 15662 15663<dt><b><a name="check_recipient_access">check_recipient_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 15664 15665<dd>Search the specified <a href="access.5.html">access(5)</a> database for the resolved RCPT 15666TO address, domain, parent domains, or localpart@, and execute the 15667corresponding action. </dd> 15668 15669<dt><b><a name="check_recipient_a_access">check_recipient_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 15670 15671<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for 15672the RCPT TO domain, and execute the corresponding action. Note: 15673a result of "OK" is not allowed for safety reasons. Instead, use 15674DUNNO in order to exclude specific hosts from blacklists. This 15675feature is available in Postfix 3.0 and later. </dd> 15676 15677<dt><b><a name="check_recipient_mx_access">check_recipient_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 15678 15679<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for 15680the RCPT TO domain, and execute the corresponding action. Note: 15681a result of "OK" is not allowed for safety reasons. Instead, use 15682DUNNO in order to exclude specific hosts from blacklists. This 15683feature is available in Postfix 2.1 and later. </dd> 15684 15685<dt><b><a name="check_recipient_ns_access">check_recipient_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 15686 15687<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers 15688for the RCPT TO domain, and execute the corresponding action. 15689Note: a result of "OK" is not allowed for safety reasons. Instead, 15690use DUNNO in order to exclude specific hosts from blacklists. This 15691feature is available in Postfix 2.1 and later. </dd> 15692 15693<dt><b><a name="permit_auth_destination">permit_auth_destination</a></b></dt> 15694 15695<dd>Permit the request when one of the following is true: 15696 15697<ul> 15698 15699<li> Postfix is mail forwarder: the resolved RCPT TO domain matches 15700$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and the address contains no 15701sender-specified routing (user@elsewhere@domain), 15702 15703<li> Postfix is the final destination: the resolved RCPT TO domain 15704matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>, $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, 15705$<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, or $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>, and the address 15706contains no sender-specified routing (user@elsewhere@domain). 15707 15708</ul></dd> 15709 15710<dt><b><a name="permit_mx_backup">permit_mx_backup</a></b></dt> 15711 15712<dd>Permit the request when the local mail system is backup MX for 15713the RCPT TO domain, or when the domain is an authorized destination 15714(see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> for definition). 15715 15716<ul> 15717 15718<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> does not accept addresses that have 15719sender-specified routing information (example: user@elsewhere@domain). 15720 15721<li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> can be vulnerable to mis-use when 15722access is not restricted with <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>. 15723 15724<li> Safety: as of Postfix version 2.3, <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> no longer 15725accepts the address when the local mail system is primary MX for 15726the recipient domain. Exception: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> accepts the address 15727when it specifies an authorized destination (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> 15728for definition). 15729 15730<li> Limitation: mail may be rejected in case of a temporary DNS 15731lookup problem with Postfix prior to version 2.0. 15732 15733</ul></dd> 15734 15735<dt><b><a name="reject_non_fqdn_recipient">reject_non_fqdn_recipient</a></b></dt> 15736 15737<dd>Reject the request when the RCPT TO address specifies a 15738domain that is not in 15739fully-qualified domain form, as required by the RFC. <br> The 15740<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for 15741rejected requests (default: 504). </dd> 15742 15743<dt><b><a name="reject_rhsbl_recipient">reject_rhsbl_recipient <i>rbl_domain=d.d.d.d</i></a></b></dt> 15744 15745<dd>Reject the request when the RCPT TO domain is listed with the 15746A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version 157472.1 and later only). Each "<i>d</i>" is a number, or a pattern 15748inside "[]" that contains one or more ";"-separated numbers or 15749number..number ranges (Postfix version 2.8 and later). If no 15750"<i>=d.d.d.d</i>" is specified, reject 15751the request when the RCPT TO domain is listed with 15752any A record under <i>rbl_domain</i>. <br> The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> 15753parameter specifies the response code for rejected requests (default: 15754554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter specifies the default server 15755reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter specifies tables with server 15756replies indexed by <i>rbl_domain</i>. This feature is available 15757in Postfix version 2.0 and later.</dd> 15758 15759<dt><b><a name="reject_unauth_destination">reject_unauth_destination</a></b></dt> 15760 15761<dd>Reject the request unless one of the following is true: 15762 15763<ul> 15764 15765<li> Postfix is mail forwarder: the resolved RCPT TO domain matches 15766$<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and contains no sender-specified 15767routing (user@elsewhere@domain), 15768 15769<li> Postfix is the final destination: the resolved RCPT TO domain 15770matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>, $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, 15771$<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, or $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>, and contains 15772no sender-specified routing (user@elsewhere@domain). 15773 15774</ul>The <a href="postconf.5.html#relay_domains_reject_code">relay_domains_reject_code</a> parameter specifies the response 15775code for rejected requests (default: 554). </dd> 15776 15777<dt><b><a name="defer_unauth_destination">defer_unauth_destination</a></b></dt> 15778 15779<dd> Reject the same requests as <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>, with a 15780non-permanent error code. This feature is available in Postfix 157812.10 and later.</dd> 15782 15783<dt><b><a name="reject_unknown_recipient_domain">reject_unknown_recipient_domain</a></b></dt> 15784 15785<dd>Reject the request when Postfix is not final destination for 15786the recipient domain, and the RCPT TO domain has 1) no DNS MX and 15787no DNS A 15788record or 2) a malformed MX record such as a record with 15789a zero-length MX hostname (Postfix version 2.3 and later). <br> The 15790reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter 15791(default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default: 15792<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 556 (nullmx, Postfix 3.0 and 15793later). See the respective parameter descriptions for details. 15794</dd> 15795 15796<dt><b><a name="reject_unlisted_recipient">reject_unlisted_recipient</a></b> (with Postfix version 2.0: check_recipient_maps)</dt> 15797 15798<dd> Reject the request when the RCPT TO address is not listed in 15799the list of valid recipients for its domain class. See the 15800<a href="postconf.5.html#smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> parameter description for details. 15801This feature is available in Postfix 2.1 and later.</dd> 15802 15803<dt><b><a name="reject_unverified_recipient">reject_unverified_recipient</a></b></dt> 15804 15805<dd>Reject the request when mail to the RCPT TO address is known 15806to bounce, or when the recipient address destination is not reachable. 15807Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server; 15808see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The 15809<a href="postconf.5.html#unverified_recipient_reject_code">unverified_recipient_reject_code</a> parameter specifies the numerical 15810response code when an address is known to bounce (default: 450, 15811change into 550 when you are confident that it is safe to do so). 15812<br>The <a href="postconf.5.html#unverified_recipient_defer_code">unverified_recipient_defer_code</a> parameter specifies the 15813numerical response code when an address probe failed due to a 15814temporary problem (default: 450). <br> The 15815<a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> parameter specifies the action 15816after address probe failure due to a temporary problem (default: 15817<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). <br> This feature breaks for aliased addresses 15818with "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> = no" (Postfix ≤ 3.2). <br> 15819This feature is available in Postfix 2.1 and later. </dd> 15820 15821</dl> 15822 15823<p> 15824Other restrictions that are valid in this context: 15825</p> 15826 15827<ul> 15828 15829<li><a href="#generic">Generic</a> restrictions that can be used 15830in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>. 15831 15832<li>SMTP command specific restrictions described under 15833<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> and 15834<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>. 15835 15836</ul> 15837 15838<p> 15839Example: 15840</p> 15841 15842<pre> 15843# The Postfix before 2.10 default mail relay policy. Later Postfix 15844# versions implement this preferably with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>. 15845<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> 15846</pre> 15847 15848 15849</DD> 15850 15851<DT><b><a name="smtpd_reject_footer">smtpd_reject_footer</a> 15852(default: empty)</b></DT><DD> 15853 15854<p> Optional information that is appended after each Postfix SMTP 15855server 158564XX or 5XX response. </p> 15857 15858<p> The following example uses "\c" at the start of the template 15859(supported in Postfix 2.10 and later) to suppress the line break 15860between the reply text and the footer text. With earlier Postfix 15861versions, the footer text always begins on a new line, and the "\c" 15862is output literally. </p> 15863 15864<pre> 15865/etc/postfix/<a href="postconf.5.html">main.cf</a>: 15866 <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> = \c. For assistance, call 800-555-0101. 15867 Please provide the following information in your problem report: 15868 time ($localtime), client ($client_address) and server 15869 ($server_name). 15870</pre> 15871 15872<p> Server response: </p> 15873 15874<pre> 15875 550-5.5.1 <user@example> Recipient address rejected: User 15876 unknown. For assistance, call 800-555-0101. Please provide the 15877 following information in your problem report: time (Jan 4 15:42:00), 15878 client (192.168.1.248) and server (mail1.example.com). 15879</pre> 15880 15881<p> Note: the above text is meant to make it easier to find the 15882Postfix logfile records for a failed SMTP session. The text itself 15883is not logged to the Postfix SMTP server's maillog file. </p> 15884 15885<p> Be sure to keep the text as short as possible. Long text may 15886be truncated before it is logged to the remote SMTP client's maillog 15887file, or before it is returned to the sender in a delivery status 15888notification. </p> 15889 15890<p> The template text is not subject to Postfix configuration 15891parameter $name expansion. Instead, this feature supports a limited 15892number of $name attributes in the footer text. These attributes are 15893replaced with their current value for the SMTP session. </p> 15894 15895<p> Note: specify $$name in footer text that is looked up from 15896<a href="regexp_table.5.html">regexp</a>: or <a href="pcre_table.5.html">pcre</a>:-based <a href="postconf.5.html#smtpd_reject_footer_maps">smtpd_reject_footer_maps</a>, otherwise the 15897Postfix server will not use the footer text and will log a warning 15898instead. </p> 15899 15900<dl> 15901 15902<dt> <b>client_address</b> </dt> <dd> The Client IP address that 15903is logged in the maillog file. </dd> 15904 15905<dt> <b>client_port</b> </dt> <dd> The client TCP port that is 15906logged in the maillog file. </dd> 15907 15908<dt> <b>localtime</b> </dt> <dd> The server local time (Mmm dd 15909hh:mm:ss) that is logged in the maillog file. </dd> 15910 15911<dt> <b>server_name</b> </dt> <dd> The server's <a href="postconf.5.html#myhostname">myhostname</a> value. 15912This attribute is made available for sites with multiple MTAs 15913(perhaps behind a load-balancer), where the server name can help 15914the server support team to quickly find the right log files. </dd> 15915 15916</dl> 15917 15918<p> Notes: </p> 15919 15920<ul> 15921 15922<li> <p> NOT SUPPORTED are other attributes such as sender, recipient, 15923or <a href="postconf.5.html">main.cf</a> parameters. </p> 15924 15925<li> <p> For safety reasons, text that does not match 15926$<a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> is censored. </p> 15927 15928</ul> 15929 15930<p> This feature supports the two-character sequence \n as a request 15931for a line break in the footer text. Postfix automatically inserts 15932after each line break the three-digit SMTP reply code (and optional 15933enhanced status code) from the original Postfix reject message. 15934</p> 15935 15936<p> To work around mail software that mis-handles multi-line replies, 15937specify the two-character sequence \c at the start of the template. 15938This suppresses the line break between the reply text and the footer 15939text (Postfix 2.10 and later). </p> 15940 15941<p> This feature is available in Postfix 2.8 and later. </p> 15942 15943 15944</DD> 15945 15946<DT><b><a name="smtpd_reject_footer_maps">smtpd_reject_footer_maps</a> 15947(default: empty)</b></DT><DD> 15948 15949<p> Lookup tables, indexed by the complete Postfix SMTP server 4xx or 159505xx response, with reject footer templates. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> 15951for details. </p> 15952 15953<p> 15954Specify zero or more "type:name" lookup tables, separated by 15955whitespace or comma. Tables will be searched in the specified order 15956until a match is found. 15957</p> 15958 15959<p> This feature is available in Postfix 3.4 and later. </p> 15960 15961 15962</DD> 15963 15964<DT><b><a name="smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> 15965(default: yes)</b></DT><DD> 15966 15967<p> 15968Request that the Postfix SMTP server rejects mail for unknown 15969recipient addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_recipient">reject_unlisted_recipient</a> 15970access restriction is specified. This prevents the Postfix queue 15971from filling up with undeliverable MAILER-DAEMON messages. 15972</p> 15973 15974<p> An address is always considered "known" when it matches a 15975<a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping. 15976 15977<ul> 15978 15979<li> The recipient domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> 15980or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the recipient is not listed in 15981$<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a>, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> is not null. 15982 15983<li> The recipient domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the 15984recipient is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. 15985 15986<li> The recipient domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the 15987recipient is not listed in $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>, and $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> 15988is not null. 15989 15990<li> The recipient domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the recipient 15991is not listed in $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a>, and $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> 15992is not null. 15993 15994</ul> 15995 15996<p> 15997This feature is available in Postfix 2.1 and later. 15998</p> 15999 16000 16001</DD> 16002 16003<DT><b><a name="smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> 16004(default: no)</b></DT><DD> 16005 16006<p> Request that the Postfix SMTP server rejects mail from unknown 16007sender addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a> 16008access restriction is specified. This can slow down an explosion 16009of forged mail from worms or viruses. </p> 16010 16011<p> An address is always considered "known" when it matches a 16012<a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping. 16013 16014<ul> 16015 16016<li> The sender domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or 16017$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the sender is not listed in 16018$<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a>, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> is not null. 16019 16020<li> The sender domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the sender 16021is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. 16022 16023<li> The sender domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the 16024sender is not listed in $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>, and $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> 16025is not null. 16026 16027<li> The sender domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the sender is 16028not listed in $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a>, and $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> is 16029not null. 16030 16031</ul> 16032 16033<p> 16034This feature is available in Postfix 2.1 and later. 16035</p> 16036 16037 16038</DD> 16039 16040<DT><b><a name="smtpd_relay_restrictions">smtpd_relay_restrictions</a> 16041(default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>)</b></DT><DD> 16042 16043<p> Access restrictions for mail relay control that the Postfix 16044SMTP server applies in the context of the RCPT TO command, before 16045<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. 16046See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 16047restriction lists" for a discussion of evaluation context and time. 16048</p> 16049 16050<p> With Postfix versions before 2.10, the rules for relay permission 16051and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>, 16052resulting in error-prone configuration. As of Postfix 2.10, relay 16053permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>, 16054so that a permissive spam blocking policy under 16055<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive 16056mail relay policy. </p> 16057 16058<p> For backwards compatibility, sites that migrate from Postfix 16059versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty 16060value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p> 16061 16062<p> 16063By default, the Postfix SMTP server accepts: 16064</p> 16065 16066<ul> 16067 16068<li> Mail from clients whose IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>, or: 16069 16070<li> Mail to remote destinations that match $<a href="postconf.5.html#relay_domains">relay_domains</a>, except 16071for addresses that contain sender-specified routing 16072(user@elsewhere@domain), or: 16073 16074<li> Mail to local destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> 16075or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, or 16076$<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>. 16077 16078</ul> 16079 16080<p> 16081IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the 16082<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify 16083at least one of the following restrictions. Otherwise Postfix will 16084refuse to receive mail: 16085</p> 16086 16087<blockquote> 16088<pre> 16089reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> 16090</pre> 16091</blockquote> 16092 16093<blockquote> 16094<pre> 16095defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a> 16096</pre> 16097</blockquote> 16098 16099<p> 16100Specify a list of restrictions, separated by commas and/or whitespace. 16101Continue long lines by starting the next line with whitespace. 16102The same restrictions are available as documented under 16103<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. 16104</p> 16105 16106<p> This feature is available in Postix 2.10 and later. </p> 16107 16108 16109</DD> 16110 16111<DT><b><a name="smtpd_restriction_classes">smtpd_restriction_classes</a> 16112(default: empty)</b></DT><DD> 16113 16114<p> 16115User-defined aliases for groups of access restrictions. The aliases 16116can be specified in <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> etc., and on the 16117right-hand side of a Postfix <a href="access.5.html">access(5)</a> table. 16118</p> 16119 16120<p> 16121One major application is for implementing per-recipient UCE control. 16122See the <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a> document for other examples. 16123</p> 16124 16125 16126</DD> 16127 16128<DT><b><a name="smtpd_sasl_application_name">smtpd_sasl_application_name</a> 16129(default: smtpd)</b></DT><DD> 16130 16131<p> 16132The application name that the Postfix SMTP server uses for SASL 16133server initialization. This 16134controls the name of the SASL configuration file. The default value 16135is <b>smtpd</b>, corresponding to a SASL configuration file named 16136<b>smtpd.conf</b>. 16137</p> 16138 16139<p> 16140This feature is available in Postfix 2.1 and 2.2. With Postfix 2.3 16141it was renamed to <a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>. 16142</p> 16143 16144 16145</DD> 16146 16147<DT><b><a name="smtpd_sasl_auth_enable">smtpd_sasl_auth_enable</a> 16148(default: no)</b></DT><DD> 16149 16150<p> 16151Enable SASL authentication in the Postfix SMTP server. By default, 16152the Postfix SMTP server does not use authentication. 16153</p> 16154 16155<p> 16156If a remote SMTP client is authenticated, the <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> 16157access restriction can be used to permit relay access, like this: 16158</p> 16159 16160<blockquote> 16161<pre> 16162# With Postfix 2.10 and later, the mail relay policy is 16163# preferably specified under <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>. 16164<a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> = 16165 <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ... 16166</pre> 16167 16168<pre> 16169# With Postfix before 2.10, the relay policy can be 16170# specified only under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. 16171<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> = 16172 <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ... 16173</pre> 16174</blockquote> 16175 16176<p> To reject all SMTP connections from unauthenticated clients, 16177specify "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes" (which is the default) and use: 16178</p> 16179 16180<blockquote> 16181<pre> 16182<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> = <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, reject 16183</pre> 16184</blockquote> 16185 16186<p> 16187See the <a href="SASL_README.html">SASL_README</a> file for SASL configuration and operation details. 16188</p> 16189 16190 16191</DD> 16192 16193<DT><b><a name="smtpd_sasl_authenticated_header">smtpd_sasl_authenticated_header</a> 16194(default: no)</b></DT><DD> 16195 16196<p> Report the SASL authenticated user name in the <a href="smtpd.8.html">smtpd(8)</a> Received 16197message header. </p> 16198 16199<p> This feature is available in Postfix 2.3 and later. </p> 16200 16201 16202</DD> 16203 16204<DT><b><a name="smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> 16205(default: empty)</b></DT><DD> 16206 16207<p> 16208What remote SMTP clients the Postfix SMTP server will not offer 16209AUTH support to. 16210</p> 16211 16212<p> 16213Some clients (Netscape 4 at least) have a bug that causes them to 16214require a login and password whenever AUTH is offered, whether it's 16215necessary or not. To work around this, specify, for example, 16216$<a href="postconf.5.html#mynetworks">mynetworks</a> to prevent Postfix from offering AUTH to local clients. 16217</p> 16218 16219<p> 16220Specify a list of network/netmask patterns, separated by commas 16221and/or whitespace. The mask specifies the number of bits in the 16222network part of a host address. You can also "/file/name" or 16223"<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name" pattern is replaced by its 16224contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry 16225matches a lookup string (the lookup result is ignored). Continue 16226long lines by starting the next line with whitespace. Specify 16227"!pattern" to exclude an address or network block from the list. 16228The form "!/file/name" is supported only in Postfix version 2.4 and 16229later. </p> 16230 16231<p> Note: IP version 6 address information must be specified inside 16232<tt>[]</tt> in the <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> value, and in 16233files specified with "/file/name". IP version 6 addresses contain 16234the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" 16235pattern. </p> 16236 16237<p> 16238Example: 16239</p> 16240 16241<pre> 16242<a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a> 16243</pre> 16244 16245<p> 16246This feature is available in Postfix 2.1 and later. 16247</p> 16248 16249 16250</DD> 16251 16252<DT><b><a name="smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> 16253(default: empty)</b></DT><DD> 16254 16255<p> 16256The name of the Postfix SMTP server's local SASL authentication 16257realm. 16258</p> 16259 16260<p> 16261By default, the local authentication realm name is the null string. 16262</p> 16263 16264<p> 16265Examples: 16266</p> 16267 16268<pre> 16269<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#mydomain">mydomain</a> 16270<a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#myhostname">myhostname</a> 16271</pre> 16272 16273 16274</DD> 16275 16276<DT><b><a name="smtpd_sasl_path">smtpd_sasl_path</a> 16277(default: smtpd)</b></DT><DD> 16278 16279<p> Implementation-specific information that the Postfix SMTP server 16280passes through to 16281the SASL plug-in implementation that is selected with 16282<b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>. Typically this specifies the name of a 16283configuration file or rendezvous point. </p> 16284 16285<p> This feature is available in Postfix 2.3 and later. In earlier 16286releases it was called <b><a href="postconf.5.html#smtpd_sasl_application_name">smtpd_sasl_application_name</a></b>. </p> 16287 16288 16289</DD> 16290 16291<DT><b><a name="smtpd_sasl_response_limit">smtpd_sasl_response_limit</a> 16292(default: 12288)</b></DT><DD> 16293 16294<p> The maximum length of a SASL client's response to a server challenge. 16295When the client's "initial response" is longer than the normal limit for 16296SMTP commands, the client must omit its initial response, and wait for an 16297empty server challenge; it can then send what would have been its "initial 16298response" as a response to the empty server challenge. <a href="http://tools.ietf.org/html/rfc4954">RFC4954</a> requires the 16299server to accept client responses up to at least 12288 octets of 16300base64-encoded text. The default value is therefore also the minimum value 16301accepted for this parameter.</p> 16302 16303<p> This feature is available in Postfix 3.4 and later. Prior versions use 16304"<a href="postconf.5.html#line_length_limit">line_length_limit</a>", which may need to be raised to accommodate larger client 16305responses, as may be needed with GSSAPI authentication of Windows AD users 16306who are members of many groups. </p> 16307 16308 16309</DD> 16310 16311<DT><b><a name="smtpd_sasl_security_options">smtpd_sasl_security_options</a> 16312(default: noanonymous)</b></DT><DD> 16313 16314<p> Postfix SMTP server SASL security options; as of Postfix 2.3 16315the list of available 16316features depends on the SASL server implementation that is selected 16317with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>. </p> 16318 16319<p> The following security features are defined for the <b>cyrus</b> 16320server SASL implementation: </p> 16321 16322<p> 16323Restrict what authentication mechanisms the Postfix SMTP server 16324will offer to the client. The list of available authentication 16325mechanisms is system dependent. 16326</p> 16327 16328<p> 16329Specify zero or more of the following: 16330</p> 16331 16332<dl> 16333 16334<dt><b>noplaintext</b></dt> 16335 16336<dd>Disallow methods that use plaintext passwords. </dd> 16337 16338<dt><b>noactive</b></dt> 16339 16340<dd>Disallow methods subject to active (non-dictionary) attack. </dd> 16341 16342<dt><b>nodictionary</b></dt> 16343 16344<dd>Disallow methods subject to passive (dictionary) attack. </dd> 16345 16346<dt><b>noanonymous</b></dt> 16347 16348<dd>Disallow methods that allow anonymous authentication. </dd> 16349 16350<dt><b>forward_secrecy</b></dt> 16351 16352<dd>Only allow methods that support forward secrecy (Dovecot only). 16353</dd> 16354 16355<dt><b>mutual_auth</b></dt> 16356 16357<dd>Only allow methods that provide mutual authentication (not available 16358with Cyrus SASL version 1). </dd> 16359 16360</dl> 16361 16362<p> 16363By default, the Postfix SMTP server accepts plaintext passwords but 16364not anonymous logins. 16365</p> 16366 16367<p> 16368Warning: it appears that clients try authentication methods in the 16369order as advertised by the server (e.g., PLAIN ANONYMOUS CRAM-MD5) 16370which means that if you disable plaintext passwords, clients will 16371log in anonymously, even when they should be able to use CRAM-MD5. 16372So, if you disable plaintext logins, disable anonymous logins too. 16373Postfix treats anonymous login as no authentication. 16374</p> 16375 16376<p> 16377Example: 16378</p> 16379 16380<pre> 16381<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a> = noanonymous, noplaintext 16382</pre> 16383 16384 16385</DD> 16386 16387<DT><b><a name="smtpd_sasl_service">smtpd_sasl_service</a> 16388(default: smtp)</b></DT><DD> 16389 16390<p> The service name that is passed to the SASL plug-in that is 16391selected with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b> and <b><a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a></b>. 16392</p> 16393 16394<p> This feature is available in Postfix 2.11 and later. Prior 16395versions behave as if "<b>smtp</b>" is specified. </p> 16396 16397 16398</DD> 16399 16400<DT><b><a name="smtpd_sasl_tls_security_options">smtpd_sasl_tls_security_options</a> 16401(default: $<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a>)</b></DT><DD> 16402 16403<p> The SASL authentication security options that the Postfix SMTP 16404server uses for TLS encrypted SMTP sessions. </p> 16405 16406<p> This feature is available in Postfix 2.2 and later. </p> 16407 16408 16409</DD> 16410 16411<DT><b><a name="smtpd_sasl_type">smtpd_sasl_type</a> 16412(default: cyrus)</b></DT><DD> 16413 16414<p> The SASL plug-in type that the Postfix SMTP server should use 16415for authentication. The available types are listed with the 16416"<b>postconf -a</b>" command. </p> 16417 16418<p> This feature is available in Postfix 2.3 and later. </p> 16419 16420 16421</DD> 16422 16423<DT><b><a name="smtpd_sender_login_maps">smtpd_sender_login_maps</a> 16424(default: empty)</b></DT><DD> 16425 16426<p> 16427Optional lookup table with the SASL login names that own the sender 16428(MAIL FROM) addresses. 16429</p> 16430 16431<p> 16432Specify zero or more "type:name" lookup tables, separated by 16433whitespace or comma. Tables will be searched in the specified order 16434until a match is found. With lookups from 16435indexed files such as DB or DBM, or from networked tables such as 16436NIS, LDAP or SQL, the following search operations are done with a 16437sender address of <i>user@domain</i>: </p> 16438 16439<dl> 16440 16441<dt> 1) <i>user@domain</i> </dt> 16442 16443<dd>This table lookup is always done and has the highest precedence. </dd> 16444 16445<dt> 2) <i>user</i> </dt> 16446 16447<dd>This table lookup is done only when the <i>domain</i> part of the 16448sender address matches $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> 16449or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. </dd> 16450 16451<dt> 3) <i>@domain</i> </dt> 16452 16453<dd>This table lookup is done last and has the lowest precedence. </dd> 16454 16455</dl> 16456 16457<p> 16458In all cases the result of table lookup must be either "not found" 16459or a list of SASL login names separated by comma and/or whitespace. 16460</p> 16461 16462 16463</DD> 16464 16465<DT><b><a name="smtpd_sender_restrictions">smtpd_sender_restrictions</a> 16466(default: empty)</b></DT><DD> 16467 16468<p> 16469Optional restrictions that the Postfix SMTP server applies in the 16470context of a client MAIL FROM command. 16471See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access 16472restriction lists" for a discussion of evaluation context and time. 16473</p> 16474 16475<p> 16476The default is to permit everything. 16477</p> 16478 16479<p> 16480Specify a list of restrictions, separated by commas and/or whitespace. 16481Continue long lines by starting the next line with whitespace. 16482Restrictions are applied in the order as specified; the first 16483restriction that matches wins. 16484</p> 16485 16486<p> 16487The following restrictions are specific to the sender address 16488received with the MAIL FROM command. 16489</p> 16490 16491<dl> 16492 16493<dt><b><a name="check_sender_access">check_sender_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 16494 16495<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MAIL FROM 16496address, domain, parent domains, or localpart@, and execute the 16497corresponding action. </dd> 16498 16499<dt><b><a name="check_sender_a_access">check_sender_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 16500 16501<dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for 16502the MAIL FROM domain, and execute the corresponding action. Note: 16503a result of "OK" is not allowed for safety reasons. Instead, use 16504DUNNO in order to exclude specific hosts from blacklists. This 16505feature is available in Postfix 3.0 and later. </dd> 16506 16507<dt><b><a name="check_sender_mx_access">check_sender_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 16508 16509<dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for 16510the MAIL FROM domain, and execute the corresponding action. Note: 16511a result of "OK" is not allowed for safety reasons. Instead, use 16512DUNNO in order to exclude specific hosts from blacklists. This 16513feature is available in Postfix 2.1 and later. </dd> 16514 16515<dt><b><a name="check_sender_ns_access">check_sender_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt> 16516 16517<dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers 16518for the MAIL FROM domain, and execute the corresponding action. 16519Note: a result of "OK" is not allowed for safety reasons. Instead, 16520use DUNNO in order to exclude specific hosts from blacklists. This 16521feature is available in Postfix 2.1 and later. </dd> 16522 16523<dt><b><a name="reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a></b></dt> 16524 16525<dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for 16526authenticated clients only. This feature is available in 16527Postfix version 2.1 and later. </dd> 16528 16529<dt><b><a name="reject_known_sender_login_mismatch">reject_known_sender_login_mismatch</a></b></dt> 16530 16531<dd>Apply the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction only to MAIL 16532FROM addresses that are known in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>. This 16533feature is available in Postfix version 2.11 and later. </dd> 16534 16535<dt><b><a name="reject_non_fqdn_sender">reject_non_fqdn_sender</a></b></dt> 16536 16537<dd>Reject the request when the MAIL FROM address specifies a 16538domain that is not in 16539fully-qualified domain form as required by the RFC. <br> The 16540<a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for 16541rejected requests (default: 504). </dd> 16542 16543<dt><b><a name="reject_rhsbl_sender">reject_rhsbl_sender <i>rbl_domain=d.d.d.d</i></a></b></dt> 16544 16545<dd>Reject the request when the MAIL FROM domain is listed with 16546the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix 16547version 2.1 and later only). Each "<i>d</i>" is a number, or a 16548pattern inside "[]" that contains one or more ";"-separated numbers 16549or number..number ranges (Postfix version 2.8 and later). If no 16550"<i>=d.d.d.d</i>" is specified, 16551reject the request when the MAIL FROM domain is 16552listed with any A record under <i>rbl_domain</i>. <br> The 16553<a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for 16554rejected requests (default: 554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter 16555specifies the default server reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter 16556specifies tables with server replies indexed by <i>rbl_domain</i>. 16557This feature is available in Postfix 2.0 and later.</dd> 16558 16559<dt><b><a name="reject_sender_login_mismatch">reject_sender_login_mismatch</a></b></dt> 16560 16561<dd>Reject the request when $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a> specifies an 16562owner for the MAIL FROM address, but the client is not (SASL) logged 16563in as that MAIL FROM address owner; or when the client is (SASL) 16564logged in, but the client login name doesn't own the MAIL FROM 16565address according to $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.</dd> 16566 16567<dt><b><a name="reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a></b></dt> 16568 16569<dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for 16570unauthenticated clients only. This feature is available in 16571Postfix version 2.1 and later. </dd> 16572 16573<dt><b><a name="reject_unknown_sender_domain">reject_unknown_sender_domain</a></b></dt> 16574 16575<dd>Reject the request when Postfix is not final destination for 16576the sender address, and the MAIL FROM domain has 1) no DNS MX and 16577no DNS A 16578record, or 2) a malformed MX record such as a record with 16579a zero-length MX hostname (Postfix version 2.3 and later). <br> The 16580reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter 16581(default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default: 16582<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 550 (nullmx, Postfix 3.0 and 16583later). See the respective parameter descriptions for details. 16584</dd> 16585 16586<dt><b><a name="reject_unlisted_sender">reject_unlisted_sender</a></b></dt> 16587 16588<dd>Reject the request when the MAIL FROM address is not listed in 16589the list of valid recipients for its domain class. See the 16590<a href="postconf.5.html#smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> parameter description for details. 16591This feature is available in Postfix 2.1 and later.</dd> 16592 16593<dt><b><a name="reject_unverified_sender">reject_unverified_sender</a></b></dt> 16594 16595<dd>Reject the request when mail to the MAIL FROM address is known to 16596bounce, or when the sender address destination is not reachable. 16597Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server; 16598see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The 16599<a href="postconf.5.html#unverified_sender_reject_code">unverified_sender_reject_code</a> parameter specifies the numerical 16600response code when an address is known to bounce (default: 450, 16601change into 550 when you are confident that it is safe to do so). 16602<br>The <a href="postconf.5.html#unverified_sender_defer_code">unverified_sender_defer_code</a> specifies the numerical response 16603code when an address probe failed due to a temporary problem 16604(default: 450). <br> The <a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a> parameter 16605specifies the action after address probe failure due to a temporary 16606problem (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). <br> This feature breaks for 16607aliased addresses with "<a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> = no" (Postfix 16608≤ 3.2). <br> This feature is available in Postfix 2.1 and later. 16609</dd> 16610 16611</dl> 16612 16613<p> 16614Other restrictions that are valid in this context: 16615</p> 16616 16617<ul> 16618 16619<li> <a href="#generic">Generic</a> restrictions that can be used 16620in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>. 16621 16622<li> SMTP command specific restrictions described under 16623<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> and <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>. 16624 16625<li> SMTP command specific restrictions described under 16626<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When recipient restrictions are listed 16627under <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, they have effect only with 16628"<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that $<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> is 16629evaluated at the time of the RCPT TO command. 16630 16631</ul> 16632 16633<p> 16634Examples: 16635</p> 16636 16637<pre> 16638<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> = <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a> 16639<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> = <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>, 16640 <a href="postconf.5.html#check_sender_access">check_sender_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access 16641</pre> 16642 16643 16644</DD> 16645 16646<DT><b><a name="smtpd_service_name">smtpd_service_name</a> 16647(default: smtpd)</b></DT><DD> 16648 16649<p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> hands off allowed 16650connections to. In a future version there may be different 16651classes of SMTP service. </p> 16652 16653<p> This feature is available in Postfix 2.8. </p> 16654 16655 16656</DD> 16657 16658<DT><b><a name="smtpd_soft_error_limit">smtpd_soft_error_limit</a> 16659(default: 10)</b></DT><DD> 16660 16661<p> 16662The number of errors a remote SMTP client is allowed to make without 16663delivering mail before the Postfix SMTP server slows down all its 16664responses. 16665</p> 16666 16667<ul> 16668 16669<li><p>With Postfix version 2.1 and later, the Postfix SMTP server 16670delays all responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> seconds. </p> 16671 16672<li><p>With Postfix versions 2.0 and earlier, the Postfix SMTP 16673server delays all responses by (number of errors) seconds. </p> 16674 16675</ul> 16676 16677 16678</DD> 16679 16680<DT><b><a name="smtpd_starttls_timeout">smtpd_starttls_timeout</a> 16681(default: see "postconf -d" output)</b></DT><DD> 16682 16683<p> The time limit for Postfix SMTP server write and read operations 16684during TLS startup and shutdown handshake procedures. The current 16685default value is stress-dependent. Before Postfix version 2.8, it 16686was fixed at 300s. </p> 16687 16688<p> This feature is available in Postfix 2.2 and later. </p> 16689 16690 16691</DD> 16692 16693<DT><b><a name="smtpd_timeout">smtpd_timeout</a> 16694(default: normal: 300s, overload: 10s)</b></DT><DD> 16695 16696<p> 16697The time limit for sending a Postfix SMTP server response and for 16698receiving a remote SMTP client request. Normally the default limit 16699is 300s, but it changes under overload to just 10s. With Postfix 167002.5 and earlier, the SMTP server always uses a time limit of 300s 16701by default. 16702</p> 16703 16704<p> 16705Note: if you set SMTP time limits to very large values you may have 16706to update the global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter. 16707</p> 16708 16709<p> 16710Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 16711The default time unit is s (seconds). 16712</p> 16713 16714 16715</DD> 16716 16717<DT><b><a name="smtpd_tls_CAfile">smtpd_tls_CAfile</a> 16718(default: empty)</b></DT><DD> 16719 16720<p> A file containing (PEM format) CA certificates of root CAs trusted 16721to sign either remote SMTP client certificates or intermediate CA 16722certificates. These are loaded into memory before the <a href="smtpd.8.html">smtpd(8)</a> server 16723enters the chroot jail. If the number of trusted roots is large, consider 16724using <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> instead, but note that the latter directory must 16725be present in the chroot jail if the <a href="smtpd.8.html">smtpd(8)</a> server is chrooted. This 16726file may also be used to augment the server certificate trust chain, 16727but it is best to include all the required certificates directly in the 16728server certificate file. </p> 16729 16730<p> Specify "<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /path/to/system_CA_file" to use ONLY 16731the system-supplied default Certification Authority certificates. 16732</p> 16733 16734<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from 16735appending the system-supplied default CAs and trusting third-party 16736certificates. </p> 16737 16738<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are not 16739requested, and <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> should remain empty. If you do make use 16740of client certificates, the distinguished names (DNs) of the Certification 16741Authorities listed in <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> are sent to the remote SMTP client 16742in the client certificate request message. MUAs with multiple client 16743certificates may use the list of preferred Certification Authorities 16744to select the correct client certificate. You may want to put your 16745"preferred" CA or CAs in this file, and install other trusted CAs in 16746$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p> 16747 16748<p> Example: </p> 16749 16750<pre> 16751<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /etc/postfix/CAcert.pem 16752</pre> 16753 16754<p> This feature is available in Postfix 2.2 and later. </p> 16755 16756 16757</DD> 16758 16759<DT><b><a name="smtpd_tls_CApath">smtpd_tls_CApath</a> 16760(default: empty)</b></DT><DD> 16761 16762<p> A directory containing (PEM format) CA certificates of root CAs 16763trusted to sign either remote SMTP client certificates or intermediate CA 16764certificates. Do not forget to create the necessary "hash" links with, 16765for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs". To use 16766<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> in chroot mode, this directory (or a copy) must be 16767inside the chroot jail. </p> 16768 16769<p> Specify "<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /path/to/system_CA_directory" to 16770use ONLY the system-supplied default Certification Authority certificates. 16771</p> 16772 16773<p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from 16774appending the system-supplied default CAs and trusting third-party 16775certificates. </p> 16776 16777<p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are 16778not requested, and <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> should remain empty. In contrast 16779to <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, DNs of Certification Authorities installed 16780in $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> are not included in the client certificate 16781request message. MUAs with multiple client certificates may use the 16782list of preferred Certification Authorities to select the correct 16783client certificate. You may want to put your "preferred" CA or 16784CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, and install the remaining trusted CAs in 16785$<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p> 16786 16787<p> Example: </p> 16788 16789<pre> 16790<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /etc/postfix/certs 16791</pre> 16792 16793<p> This feature is available in Postfix 2.2 and later. </p> 16794 16795 16796</DD> 16797 16798<DT><b><a name="smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> 16799(default: yes)</b></DT><DD> 16800 16801<p> Force the Postfix SMTP server to issue a TLS session id, even 16802when TLS session caching is turned off (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> 16803is empty). This behavior is compatible with Postfix < 2.3. </p> 16804 16805<p> With Postfix 2.3 and later the Postfix SMTP server can disable 16806session id generation when TLS session caching is turned off. This 16807keeps remote SMTP clients from caching sessions that almost certainly cannot 16808be re-used. </p> 16809 16810<p> By default, the Postfix SMTP server always generates TLS session 16811ids. This works around a known defect in mail client applications 16812such as MS Outlook, and may also prevent interoperability issues 16813with other MTAs. </p> 16814 16815<p> Example: </p> 16816 16817<pre> 16818<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> = no 16819</pre> 16820 16821<p> This feature is available in Postfix 2.3 and later. </p> 16822 16823 16824</DD> 16825 16826<DT><b><a name="smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> 16827(default: no)</b></DT><DD> 16828 16829<p> Ask a remote SMTP client for a client certificate. This 16830information is needed for certificate based mail relaying with, 16831for example, the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> feature. </p> 16832 16833<p> Some clients such as Netscape will either complain if no 16834certificate is available (for the list of CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>) 16835or will offer multiple client certificates to choose from. This 16836may be annoying, so this option is "off" by default. </p> 16837 16838<p> This feature is available in Postfix 2.2 and later. </p> 16839 16840 16841</DD> 16842 16843<DT><b><a name="smtpd_tls_auth_only">smtpd_tls_auth_only</a> 16844(default: no)</b></DT><DD> 16845 16846<p> When TLS encryption is optional in the Postfix SMTP server, do 16847not announce or accept SASL authentication over unencrypted 16848connections. </p> 16849 16850<p> This feature is available in Postfix 2.2 and later. </p> 16851 16852 16853</DD> 16854 16855<DT><b><a name="smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> 16856(default: 9)</b></DT><DD> 16857 16858<p> The verification depth for remote SMTP client certificates. A 16859depth of 1 is sufficient if the issuing CA is listed in a local CA 16860file. </p> 16861 16862<p> The default verification depth is 9 (the OpenSSL default) for 16863compatibility with earlier Postfix behavior. Prior to Postfix 2.5, 16864the default value was 5, but the limit was not actually enforced. If 16865you have set this to a lower non-default value, certificates with longer 16866trust chains may now fail to verify. Certificate chains with 1 or 2 16867CAs are common, deeper chains are more rare and any number between 5 16868and 9 should suffice in practice. You can choose a lower number if, 16869for example, you trust certificates directly signed by an issuing CA 16870but not any CAs it delegates to. </p> 16871 16872<p> This feature is available in Postfix 2.2 and later. </p> 16873 16874 16875</DD> 16876 16877<DT><b><a name="smtpd_tls_cert_file">smtpd_tls_cert_file</a> 16878(default: empty)</b></DT><DD> 16879 16880<p> File with the Postfix SMTP server RSA certificate in PEM format. 16881This file may also contain the Postfix SMTP server private RSA key. 16882With Postfix ≥ 3.4 the preferred way to configure server keys and 16883certificates is via the "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p> 16884 16885<p> Public Internet MX hosts without certificates signed by a "reputable" 16886CA must generate, and be prepared to present to most clients, a 16887self-signed or private-CA signed certificate. The client will not be 16888able to authenticate the server, but unless it is running Postfix 2.3 or 16889similar software, it will still insist on a server certificate. </p> 16890 16891<p> For servers that are <b>not</b> public Internet MX hosts, Postfix 16892supports configurations with no certificates. This entails the use of 16893just the anonymous TLS ciphers, which are not supported by typical SMTP 16894clients. Since some clients may not fall back to plain text after a TLS 16895handshake failure, a certificate-less Postfix SMTP server will be unable 16896to receive email from some TLS-enabled clients. To avoid accidental 16897configurations with no certificates, Postfix enables certificate-less 16898operation only when the administrator explicitly sets 16899"<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = none". This ensures that new Postfix SMTP server 16900configurations will not accidentally enable TLS without certificates. </p> 16901 16902<p> Note that server certificates are not optional in TLS 1.3. To run 16903without certificates you'd have to disable the TLS 1.3 protocol by 16904including '!TLSv1.3' in "<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>" and perhaps also 16905"<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>". It is simpler instead to just 16906configure a certificate chain. Certificate-less operation is not 16907recommended. <p> 16908 16909<p> Both RSA and DSA certificates are supported. When both types 16910are present, the cipher used determines which certificate will be 16911presented to the client. For Netscape and OpenSSL clients without 16912special cipher choices the RSA certificate is preferred. </p> 16913 16914<p> To enable a remote SMTP client to verify the Postfix SMTP server 16915certificate, the issuing CA certificates must be made available to the 16916client. You should include the required certificates in the server 16917certificate file, the server certificate first, then the issuing 16918CA(s) (bottom-up order). </p> 16919 16920<p> Example: the certificate for "server.example.com" was issued by 16921"intermediate CA" which itself has a certificate of "root CA". 16922Create the server.pem file with "cat server_cert.pem intermediate_CA.pem 16923root_CA.pem > server.pem". </p> 16924 16925<p> If you also want to verify client certificates issued by these 16926CAs, you can add the CA certificates to the <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, in which 16927case it is not necessary to have them in the <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>, 16928<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> (obsolete) or <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. </p> 16929 16930<p> A certificate supplied here must be usable as an SSL server certificate 16931and hence pass the "openssl verify -purpose sslserver ..." test. </p> 16932 16933<p> Example: </p> 16934 16935<pre> 16936<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = /etc/postfix/server.pem 16937</pre> 16938 16939<p> This feature is available in Postfix 2.2 and later. </p> 16940 16941 16942</DD> 16943 16944<DT><b><a name="smtpd_tls_chain_files">smtpd_tls_chain_files</a> 16945(default: empty)</b></DT><DD> 16946 16947<p> List of one or more PEM files, each holding one or more private keys 16948directly followed by a corresponding certificate chain. The file names 16949are separated by commas and/or whitespace. This parameter obsoletes the 16950legacy algorithm-specific key and certificate file settings. When this 16951parameter is non-empty, the legacy parameters are ignored, and a warning 16952is logged if any are also non-empty. </p> 16953 16954<p> With the proliferation of multiple private key algorithms—which, 16955as of OpenSSL 1.1.1, include DSA (obsolete), RSA, ECDSA, Ed25519 16956and Ed448—it is increasingly impractical to use separate 16957parameters to configure the key and certificate chain for each 16958algorithm. Therefore, Postfix now supports storing multiple keys and 16959corresponding certificate chains in a single file or in a set of files. 16960 16961<p> Each key must appear <b>immediately before</b> the corresponding 16962certificate, optionally followed by additional issuer certificates that 16963complete the certificate chain for that key. When multiple files are 16964specified, they are equivalent to a single file that is concatenated 16965from those files in the given order. Thus, while a key must always 16966precede its certificate and issuer chain, it can be in a separate file, 16967so long as that file is listed immediately before the file that holds 16968the corresponding certificate chain. Once all the files are 16969concatenated, the sequence of PEM objects must be: <i>key1, cert1, 16970[chain1], key2, cert2, [chain2], ..., keyN, certN, [chainN].</i> </p> 16971 16972<p> Storing the private key in the same file as the corresponding 16973certificate is more reliable. With the key and certificate in separate 16974files, there is a chance that during key rollover a Postfix process 16975might load a private key and certificate from separate files that don't 16976match. Various operational errors may even result in a persistent 16977broken configuration in which the certificate does not match the private 16978key. </p> 16979 16980<p> The file or files must contain at most one key of each type. If, 16981for example, two or more RSA keys and corresponding chains are listed, 16982depending on the version of OpenSSL either only the last one will be 16983used or an configuration error may be detected. Note that while 16984"Ed25519" and "Ed448" are considered separate algorithms, the various 16985ECDSA curves (typically one of prime256v1, secp384r1 or secp521r1) are 16986considered as different parameters of a single "ECDSA" algorithm, so it 16987is not presently possible to configure keys for more than one ECDSA 16988curve. </p> 16989 16990<p> RSA is still the most widely supported algorithm. Presently (late 169912018), ECDSA support is common, but not yet universal, and Ed25519 and 16992Ed448 support is mostly absent. Therefore, an RSA key should generally 16993be configured, along with any additional keys for the other algorithms 16994when desired. </p> 16995 16996<p> 16997Example (separate files for each key and corresponding certificate chain): 16998</p> 16999<blockquote> 17000<pre> 17001/etc/postfix/<a href="postconf.5.html">main.cf</a>: 17002 <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> = 17003 ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed25519.pem, 17004 ${<a href="postconf.5.html#config_directory">config_directory</a>}/ed448.pem, 17005 ${<a href="postconf.5.html#config_directory">config_directory</a>}/rsa.pem 17006</pre> 17007</blockquote> 17008 17009<blockquote> 17010<pre> 17011/etc/postfix/ed25519.pem: 17012 -----BEGIN PRIVATE KEY----- 17013 MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3 17014 -----END PRIVATE KEY----- 17015 -----BEGIN CERTIFICATE----- 17016 MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG 17017 ... 17018 nC0egv51YPDWxEHom4QA 17019 -----END CERTIFICATE----- 17020</pre> 17021</blockquote> 17022 17023<blockquote> 17024<pre> 17025/etc/postfix/ed448.pem: 17026 -----BEGIN PRIVATE KEY----- 17027 MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe 17028 LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A== 17029 -----END PRIVATE KEY----- 17030 -----BEGIN CERTIFICATE----- 17031 MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG 17032 ... 17033 pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA 17034 -----END CERTIFICATE----- 17035</pre> 17036</blockquote> 17037 17038<blockquote> 17039<pre> 17040/etc/postfix/rsa.pem: 17041 -----BEGIN PRIVATE KEY----- 17042 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL 17043 ... 17044 ahQkZ3+krcaJvDSMgvu0tDc= 17045 -----END PRIVATE KEY----- 17046 -----BEGIN CERTIFICATE----- 17047 MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL 17048 ... 17049 Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE= 17050 -----END CERTIFICATE----- 17051</pre> 17052</blockquote> 17053 17054<p> 17055Example (all keys and certificates in a single file): 17056</p> 17057<blockquote> 17058<pre> 17059/etc/postfix/<a href="postconf.5.html">main.cf</a>: 17060 <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> = ${<a href="postconf.5.html#config_directory">config_directory</a>}/chains.pem 17061</pre> 17062</blockquote> 17063 17064<blockquote> 17065<pre> 17066/etc/postfix/chains.pem: 17067 -----BEGIN PRIVATE KEY----- 17068 MC4CAQAwBQYDK2VwBCIEIEJfbbO4BgBQGBg9NAbIJaDBqZb4bC4cOkjtAH+Efbz3 17069 -----END PRIVATE KEY----- 17070 -----BEGIN CERTIFICATE----- 17071 MIIBKzCB3qADAgECAhQaw+rflRreYuUZBp0HuNn/e5rMZDAFBgMrZXAwFDESMBAG 17072 ... 17073 nC0egv51YPDWxEHom4QA 17074 -----END CERTIFICATE----- 17075 -----BEGIN PRIVATE KEY----- 17076 MEcCAQAwBQYDK2VxBDsEOQf+m0P+G0qi+NZ0RolyeiE5zdlPQR8h8y4jByBifpIe 17077 LNler7nzHQJ1SLcOiXFHXlxp/84VZuh32A== 17078 -----END PRIVATE KEY----- 17079 -----BEGIN CERTIFICATE----- 17080 MIIBdjCB96ADAgECAhQSv4oP972KypOZPNPF4fmsiQoRHzAFBgMrZXEwFDESMBAG 17081 ... 17082 pQcWsx+4J29e6YWH3Cy/CdUaexKP4RPCZDrPX7bk5C2BQ+eeYOxyThMA 17083 -----END CERTIFICATE----- 17084 -----BEGIN PRIVATE KEY----- 17085 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDc4QusgkahH9rL 17086 ... 17087 ahQkZ3+krcaJvDSMgvu0tDc= 17088 -----END PRIVATE KEY----- 17089 -----BEGIN CERTIFICATE----- 17090 MIIC+DCCAeCgAwIBAgIUIUkrbk1GAemPCT8i9wKsTGDH7HswDQYJKoZIhvcNAQEL 17091 ... 17092 Rirz15HGVNTK8wzFd+nulPzwUo6dH2IU8KazmyRi7OGvpyrMlm15TRE2oyE= 17093 -----END CERTIFICATE----- 17094</pre> 17095</blockquote> 17096 17097<p> This feature is available in Postfix 3.4 and later. </p> 17098 17099 17100</DD> 17101 17102<DT><b><a name="smtpd_tls_cipherlist">smtpd_tls_cipherlist</a> 17103(default: empty)</b></DT><DD> 17104 17105<p> Obsolete Postfix < 2.3 control for the Postfix SMTP server TLS 17106cipher list. It is easy to create interoperability problems by choosing 17107a non-default cipher list. Do not use a non-default TLS cipherlist for 17108MX hosts on the public Internet. Clients that begin the TLS handshake, 17109but are unable to agree on a common cipher, may not be able to send any 17110email to the SMTP server. Using a restricted cipher list may be more 17111appropriate for a dedicated MSA or an internal mailhub, where one can 17112exert some control over the TLS software and settings of the connecting 17113clients. </p> 17114 17115<p> <b>Note:</b> do not use "" quotes around the parameter value. </p> 17116 17117<p>This feature is available with Postfix version 2.2. It is not used with 17118Postfix 2.3 and later; use <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> instead. </p> 17119 17120 17121</DD> 17122 17123<DT><b><a name="smtpd_tls_ciphers">smtpd_tls_ciphers</a> 17124(default: medium)</b></DT><DD> 17125 17126<p> The minimum TLS cipher grade that the Postfix SMTP server 17127will use with opportunistic TLS encryption. Cipher types listed in 17128<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are excluded from the base definition of 17129the selected cipher grade. The default value is "medium" for Postfix 17130releases after the middle of 2015, "export" for older releases. 17131</p> 17132 17133<p> When TLS is mandatory the cipher grade is chosen via the 17134<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> configuration parameter, see there for syntax 17135details. </p> 17136 17137<p> This feature is available in Postfix 2.6 and later. With earlier Postfix 17138releases only the <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> parameter is implemented, 17139and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p> 17140 17141 17142</DD> 17143 17144<DT><b><a name="smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> 17145(default: empty)</b></DT><DD> 17146 17147<p> File with the Postfix SMTP server DSA certificate in PEM format. 17148This file may also contain the Postfix SMTP server private DSA key. 17149The DSA algorithm is obsolete and should not be used. </p> 17150 17151<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details. 17152</p> 17153 17154<p> Example: </p> 17155 17156<pre> 17157<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> = /etc/postfix/server-dsa.pem 17158</pre> 17159 17160<p> This feature is available in Postfix 2.2 and later. </p> 17161 17162 17163</DD> 17164 17165<DT><b><a name="smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> 17166(default: empty)</b></DT><DD> 17167 17168<p> File with DH parameters that the Postfix SMTP server should 17169use with non-export EDH ciphers. </p> 17170 17171<p> Instead of using the exact same parameter sets as distributed 17172with other TLS packages, it is more secure to generate your own 17173set of parameters with something like the following commands: </p> 17174 17175<blockquote> 17176<pre> 17177openssl dhparam -out /etc/postfix/dh512.pem 512 17178openssl dhparam -out /etc/postfix/dh1024.pem 1024 17179openssl dhparam -out /etc/postfix/dh2048.pem 2048 17180</pre> 17181</blockquote> 17182 17183<p> It is safe to share the same DH parameters between multiple 17184Postfix instances. If you prefer, you can generate separate 17185parameters for each instance. </p> 17186 17187<p> If you want to take maximal advantage of ciphers that offer <a 17188href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see 17189the <a href="FORWARD_SECRECY_README.html#quick-start">Getting 17190started</a> section of <a 17191href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The 17192full document conveniently presents all information about Postfix 17193"perfect" forward secrecy support in one place: what forward secrecy 17194is, how to tweak settings, and what you can expect to see when 17195Postfix uses ciphers with forward secrecy. </p> 17196 17197<p> Example: </p> 17198 17199<pre> 17200<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> = /etc/postfix/dh2048.pem 17201</pre> 17202 17203<p>This feature is available with Postfix version 2.2.</p> 17204 17205 17206</DD> 17207 17208<DT><b><a name="smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> 17209(default: empty)</b></DT><DD> 17210 17211<p> File with DH parameters that the Postfix SMTP server should 17212use with export-grade EDH ciphers. The default SMTP server cipher 17213grade is "medium" with Postfix releases after the middle of 2015, 17214and as a result export-grade cipher suites are by default not used. 17215</p> 17216 17217<p> See also the discussion under the <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> 17218configuration parameter. </p> 17219 17220<p> Example: </p> 17221 17222<pre> 17223<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> = /etc/postfix/dh_512.pem 17224</pre> 17225 17226<p>This feature is available with Postfix version 2.2.</p> 17227 17228 17229</DD> 17230 17231<DT><b><a name="smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> 17232(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD> 17233 17234<p> File with the Postfix SMTP server DSA private key in PEM format. 17235This file may be combined with the Postfix SMTP server DSA certificate 17236file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. The DSA algorithm is obsolete 17237and should not be used. </p> 17238 17239<p> The private key must be accessible without a pass-phrase, i.e. it 17240must not be encrypted. File permissions should grant read-only 17241access to the system superuser account ("root"), and no access 17242to anyone else. </p> 17243 17244<p> This feature is available in Postfix 2.2 and later. </p> 17245 17246 17247</DD> 17248 17249<DT><b><a name="smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> 17250(default: empty)</b></DT><DD> 17251 17252<p> File with the Postfix SMTP server ECDSA certificate in PEM format. 17253This file may also contain the Postfix SMTP server private ECDSA key. 17254With Postfix ≥ 3.4 the preferred way to configure server keys and 17255certificates is via the "<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p> 17256 17257<p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details. </p> 17258 17259<p> Example: </p> 17260 17261<pre> 17262<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> = /etc/postfix/ecdsa-scert.pem 17263</pre> 17264 17265<p> This feature is available in Postfix 2.6 and later, when Postfix is 17266compiled and linked with OpenSSL 1.0.0 or later. </p> 17267 17268 17269</DD> 17270 17271<DT><b><a name="smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> 17272(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD> 17273 17274<p> File with the Postfix SMTP server ECDSA private key in PEM format. 17275This file may be combined with the Postfix SMTP server ECDSA certificate 17276file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. With Postfix ≥ 3.4 the 17277preferred way to configure server keys and certificates is via the 17278"<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p> 17279 17280<p> The private key must be accessible without a pass-phrase, i.e. it 17281must not be encrypted. File permissions should grant read-only 17282access to the system superuser account ("root"), and no access 17283to anyone else. </p> 17284 17285<p> This feature is available in Postfix 2.6 and later, when Postfix is 17286compiled and linked with OpenSSL 1.0.0 or later. </p> 17287 17288 17289</DD> 17290 17291<DT><b><a name="smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> 17292(default: see "postconf -d" output)</b></DT><DD> 17293 17294<p> The Postfix SMTP server security grade for ephemeral elliptic-curve 17295Diffie-Hellman (EECDH) key exchange. </p> 17296 17297<p> The available choices are: </p> 17298 17299<dl> 17300 17301<dt><b>none</b></dt> <dd> Don't use EECDH. Ciphers based on EECDH key 17302exchange will be disabled. This is the default in Postfix versions 173032.6 and 2.7. </dd> 17304 17305<dt><b>strong</b></dt> <dd> Use EECDH with approximately 128 17306bits of security at a reasonable computational cost. This is the 17307current best-practice trade-off between security and computational 17308efficiency. This is the default in Postfix version 2.8 and later. 17309</dd> 17310 17311<dt><b>ultra</b></dt> <dd> Use EECDH with approximately 192 bits of 17312security at computational cost that is approximately twice as high 17313as 128 bit strength ECC. Barring significant progress in attacks on 17314elliptic curve crypto-systems, the "strong" curve is sufficient for most 17315users. </dd> 17316 17317<dt><b>auto</b></dt> <dd> Use the most preferred curve that is 17318supported by both the client and the server. This setting requires 17319Postfix ≥ 3.2 compiled and linked with OpenSSL ≥ 1.0.2. This 17320is the default setting under the above conditions. </dd> 17321 17322</dl> 17323 17324<p> If you want to take maximal advantage of ciphers that offer <a 17325href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see 17326the <a href="FORWARD_SECRECY_README.html#quick-start">Getting 17327started</a> section of <a 17328href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The 17329full document conveniently presents all information about Postfix 17330"perfect" forward secrecy support in one place: what forward secrecy 17331is, how to tweak settings, and what you can expect to see when 17332Postfix uses ciphers with forward secrecy. </p> 17333 17334<p> This feature is available in Postfix 2.6 and later, when it is 17335compiled and linked with OpenSSL 1.0.0 or later on platforms 17336where EC algorithms have not been disabled by the vendor. </p> 17337 17338 17339</DD> 17340 17341<DT><b><a name="smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> 17342(default: empty)</b></DT><DD> 17343 17344<p> List of ciphers or cipher types to exclude from the SMTP server 17345cipher list at all TLS security levels. Excluding valid ciphers 17346can create interoperability problems. DO NOT exclude ciphers unless it 17347is essential to do so. This is not an OpenSSL cipherlist; it is a simple 17348list separated by whitespace and/or commas. The elements are a single 17349cipher, or one or more "+" separated cipher properties, in which case 17350only ciphers matching <b>all</b> the properties are excluded. </p> 17351 17352<p> Examples (some of these will cause problems): </p> 17353 17354<blockquote> 17355<pre> 17356<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL 17357<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = MD5, DES 17358<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = DES+MD5 17359<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5 17360<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = kEDH+aRSA 17361</pre> 17362</blockquote> 17363 17364<p> The first setting disables anonymous ciphers. The next setting 17365disables ciphers that use the MD5 digest algorithm or the (single) DES 17366encryption algorithm. The next setting disables ciphers that use MD5 and 17367DES together. The next setting disables the two ciphers "AES256-SHA" 17368and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH" 17369key exchange with RSA authentication. </p> 17370 17371<p> This feature is available in Postfix 2.3 and later. </p> 17372 17373 17374</DD> 17375 17376<DT><b><a name="smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> 17377(default: md5)</b></DT><DD> 17378 17379<p> The message digest algorithm to construct remote SMTP 17380client-certificate 17381fingerprints or public key fingerprints (Postfix 2.9 and later) 17382for <b><a href="postconf.5.html#check_ccert_access">check_ccert_access</a></b> and <b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a></b>. The 17383default algorithm is <b>md5</b>, for backwards compatibility with Postfix 17384releases prior to 2.5. </p> 17385 17386<p> Advances in hash 17387function cryptanalysis have led to md5 being deprecated in favor of sha1. 17388However, as long as there are no known "second pre-image" attacks 17389against md5, its use in this context can still be considered safe. 17390</p> 17391 17392<p> While additional digest algorithms are often available with OpenSSL's 17393libcrypto, only those used by libssl in SSL cipher suites are available to 17394Postfix. </p> 17395 17396<p> To find the fingerprint of a specific certificate file, with a 17397specific digest algorithm, run: </p> 17398 17399<blockquote> 17400<pre> 17401$ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem 17402</pre> 17403</blockquote> 17404 17405<p> The text to the right of "=" sign is the desired fingerprint. 17406For example: </p> 17407 17408<blockquote> 17409<pre> 17410$ openssl x509 -noout -fingerprint -sha1 -in cert.pem 17411SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A 17412</pre> 17413</blockquote> 17414 17415<p> To extract the public key fingerprint from an X.509 certificate, 17416you need to extract the public key from the certificate and compute 17417the appropriate digest of its DER (ASN.1) encoding. With OpenSSL 17418the "-pubkey" option of the "x509" command extracts the public 17419key always in "PEM" format. We pipe the result to another OpenSSL 17420command that converts the key to DER and then to the "dgst" command 17421to compute the fingerprint. </p> 17422 17423<p> The actual command to transform the key to DER format depends 17424on the version of OpenSSL used. With OpenSSL 1.0.0 and later, the 17425"pkey" command supports all key types. With OpenSSL 0.9.8 and 17426earlier, the key type is always RSA (nobody uses DSA, and EC 17427keys are not fully supported by 0.9.8), so the "rsa" command is 17428used. </p> 17429<blockquote> 17430<pre> 17431# OpenSSL 1.0 with all certificates and SHA-1 fingerprints. 17432$ openssl x509 -in cert.pem -noout -pubkey | 17433 openssl pkey -pubin -outform DER | 17434 openssl dgst -sha1 -c 17435(stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58 17436</pre> 17437</blockquote> 17438 17439<blockquote> 17440<pre> 17441# OpenSSL 0.9.8 with RSA certificates and MD5 fingerprints. 17442$ openssl x509 -in cert.pem -noout -pubkey | 17443 openssl rsa -pubin -outform DER | 17444 openssl dgst -md5 -c 17445(stdin)= f4:62:60:f6:12:8f:d5:8d:28:4d:13:a7:db:b2:ff:50 17446</pre> 17447</blockquote> 17448 17449<p> The Postfix SMTP server and client log the peer (leaf) certificate 17450fingerprint and public key fingerprint when the TLS loglevel is 2 or 17451higher. </p> 17452 17453<p> <b>Note:</b> Postfix 2.9.0–2.9.5 computed the public key 17454fingerprint incorrectly. To use public-key fingerprints, upgrade 17455to Postfix 2.9.6 or later. </p> 17456 17457<p> Example: client-certificate access table, with sha1 fingerprints: </p> 17458 17459<blockquote> 17460<pre> 17461/etc/postfix/<a href="postconf.5.html">main.cf</a>: 17462 <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> = sha1 17463 <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> = 17464 <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access, 17465 reject 17466</pre> 17467<pre> 17468/etc/postfix/access: 17469 # Action folded to next line... 17470 AF:88:7C:AD:51:95:6F:36:96:F6:01:FB:2E:48:CD:AB:49:25:A2:3B 17471 OK 17472 85:16:78:FD:73:6E:CE:70:E0:31:5F:0D:3C:C8:6D:C4:2C:24:59:E1 17473 <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> 17474</pre> 17475</blockquote> 17476 17477<p> This feature is available in Postfix 2.5 and later. </p> 17478 17479 17480</DD> 17481 17482<DT><b><a name="smtpd_tls_key_file">smtpd_tls_key_file</a> 17483(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD> 17484 17485<p> File with the Postfix SMTP server RSA private key in PEM format. 17486This file may be combined with the Postfix SMTP server RSA certificate 17487file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>. With Postfix ≥ 3.4 the 17488preferred way to configure server keys and certificates is via the 17489"<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>" parameter. </p> 17490 17491<p> The private key must be accessible without a pass-phrase, i.e. it 17492must not be encrypted. File permissions should grant read-only 17493access to the system superuser account ("root"), and no access 17494to anyone else. </p> 17495 17496 17497</DD> 17498 17499<DT><b><a name="smtpd_tls_loglevel">smtpd_tls_loglevel</a> 17500(default: 0)</b></DT><DD> 17501 17502<p> Enable additional Postfix SMTP server logging of TLS activity. 17503Each logging level also includes the information that is logged at 17504a lower logging level. </p> 17505 17506<dl compact> 17507 17508<dt> </dt> <dd> 0 Disable logging of TLS activity. </dd> 17509 17510<dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion 17511— no logging of client certificate trust-chain verification errors 17512if client certificate verification is not required. With Postfix 2.8 and 17513earlier, log the summary message, peer certificate summary information 17514and unconditionally log trust-chain verification errors. </dd> 17515 17516<dt> </dt> <dd> 2 Also log levels during TLS negotiation. </dd> 17517 17518<dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation 17519process. </dd> 17520 17521<dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete 17522transmission after STARTTLS. </dd> 17523 17524</dl> 17525 17526<p> Do not use "<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> = 2" or higher except in case 17527of problems. Use of loglevel 4 is strongly discouraged. </p> 17528 17529<p> This feature is available in Postfix 2.2 and later. </p> 17530 17531 17532</DD> 17533 17534<DT><b><a name="smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> 17535(default: medium)</b></DT><DD> 17536 17537<p> The minimum TLS cipher grade that the Postfix SMTP server will 17538use with mandatory TLS encryption. The default grade ("medium") is 17539sufficiently strong that any benefit from globally restricting TLS 17540sessions to a more stringent grade is likely negligible, especially 17541given the fact that many implementations still do not offer any stronger 17542("high" grade) ciphers, while those that do, will always use "high" 17543grade ciphers. So insisting on "high" grade ciphers is generally 17544counter-productive. Allowing "export" or "low" ciphers is typically 17545not a good idea, as systems limited to just these are limited to 17546obsolete browsers. No known SMTP clients fail to support at least 17547one "medium" or "high" grade cipher. </p> 17548 17549<p> The following cipher grades are supported: </p> 17550 17551<dl> 17552<dt><b>export</b></dt> 17553<dd> Enable "EXPORT" grade or stronger OpenSSL ciphers. The 17554underlying cipherlist is specified via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> 17555configuration parameter, which you are strongly encouraged to not 17556change. This choice is insecure and SHOULD NOT be used. </dd> 17557 17558<dt><b>low</b></dt> 17559<dd> Enable "LOW" grade or stronger OpenSSL ciphers. The underlying 17560cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration 17561parameter, which you are strongly encouraged to not change. This 17562choice is insecure and SHOULD NOT be used. </dd> 17563 17564<dt><b>medium</b></dt> 17565<dd> Enable "MEDIUM" grade or stronger OpenSSL ciphers. These use 128-bit 17566or longer symmetric bulk-encryption keys. This is the default minimum 17567strength for mandatory TLS encryption. The underlying cipherlist is 17568specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a> configuration parameter, which 17569you are strongly encouraged to not change. </dd> 17570 17571<dt><b>high</b></dt> 17572<dd> Enable only "HIGH" grade OpenSSL ciphers. The 17573underlying cipherlist is specified via the <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a> 17574configuration parameter, which you are strongly encouraged to 17575not change. </dd> 17576 17577<dt><b>null</b></dt> 17578<dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication 17579without encryption. This setting is only appropriate in the rare 17580case that all clients are prepared to use NULL ciphers (not normally 17581enabled in TLS clients). The underlying cipherlist is specified via the 17582<a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> configuration parameter, which you are strongly 17583encouraged to not change. </dd> 17584 17585</dl> 17586 17587<p> Cipher types listed in 17588<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> or <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are 17589excluded from the base definition of the selected cipher grade. See 17590<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> for cipher controls that apply to opportunistic 17591TLS. </p> 17592 17593<p> The underlying cipherlists for grades other than "null" include 17594anonymous ciphers, but these are automatically filtered out if the 17595server is configured to ask for remote SMTP client certificates. You are very 17596unlikely to need to take any steps to exclude anonymous ciphers, they 17597are excluded automatically as required. If you must exclude anonymous 17598ciphers even when Postfix does not need or use peer certificates, set 17599"<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only 17600when TLS is enforced, set "<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> = aNULL". </p> 17601 17602<p> This feature is available in Postfix 2.3 and later. </p> 17603 17604 17605</DD> 17606 17607<DT><b><a name="smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> 17608(default: empty)</b></DT><DD> 17609 17610<p> Additional list of ciphers or cipher types to exclude from the 17611Postfix SMTP server cipher list at mandatory TLS security levels. 17612This list 17613works in addition to the exclusions listed with <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> 17614(see there for syntax details). </p> 17615 17616<p> This feature is available in Postfix 2.3 and later. </p> 17617 17618 17619</DD> 17620 17621<DT><b><a name="smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> 17622(default: !SSLv2, !SSLv3)</b></DT><DD> 17623 17624<p> The SSL/TLS protocols accepted by the Postfix SMTP server with 17625mandatory TLS encryption. If the list is empty, the server supports 17626all available SSL/TLS protocol versions. A non-empty value is a 17627list of protocol names separated by whitespace, commas or colons. 17628The supported protocol names are "SSLv2", "SSLv3" and "TLSv1", and 17629are not case sensitive. The default value is "!SSLv2, !SSLv3" for 17630Postfix releases after the middle of 2015, "!SSLv2" for older 17631releases. </p> 17632 17633<p> With Postfix ≥ 2.5 the parameter syntax was expanded to support 17634protocol exclusions. One can explicitly exclude "SSLv2" by setting 17635"<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2". To exclude both "SSLv2" and 17636"SSLv3" set "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing 17637the protocols to include, rather than protocols to exclude, is 17638supported, but not recommended. The exclusion form more closely 17639matches the underlying OpenSSL interface semantics. </p> 17640 17641<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1" 17642and "TLSv1.2". When Postfix ≤ 2.5 is linked against OpenSSL 1.0.1 17643or later, these, or any other new protocol versions, cannot be 17644disabled. The latest patch levels of Postfix ≥ 2.6, and all 17645versions of Postfix ≥ 2.10 can disable support for "TLSv1.1" or 17646"TLSv1.2". </p> 17647 17648<p> OpenSSL 1.1.1 introduces support for "TLSv1.3". With Postfix 17649≥ 3.4 (or patch releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2) 17650this can be disabled, if need be, via "!TLSv1.3". </p> 17651 17652<p> Example: </p> 17653 17654<pre> 17655# Preferred syntax with Postfix ≥ 2.5: 17656<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3 17657# Legacy syntax: 17658<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = TLSv1 17659</pre> 17660 17661<p> This feature is available in Postfix 2.3 and later. </p> 17662 17663 17664</DD> 17665 17666<DT><b><a name="smtpd_tls_protocols">smtpd_tls_protocols</a> 17667(default: !SSLv2, !SSLv3)</b></DT><DD> 17668 17669<p> List of TLS protocols that the Postfix SMTP server will exclude 17670or include with opportunistic TLS encryption. The default value is 17671"!SSLv2, !SSLv3" for Postfix releases after the middle of 2015, 17672empty for older releases allowing all protocols to be 17673used with opportunistic TLS. A non-empty value is a list of protocol 17674names separated by whitespace, commas or colons. The supported 17675protocol names are "SSLv2", "SSLv3" and "TLSv1", and are not case 17676sensitive. </p> 17677 17678<p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1" 17679and "TLSv1.2". The latest patch levels of Postfix ≥ 2.6, and all 17680versions of Postfix ≥ 2.10 can disable support for "TLSv1.1" or 17681"TLSv1.2". </p> 17682 17683<p> OpenSSL 1.1.1 introduces support for "TLSv1.3". With Postfix 17684≥ 3.4 (or patch releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2) 17685this can be disabled, if need be, via "!TLSv1.3". </p> 17686 17687<p> To include a protocol list its name, to exclude it, prefix the name 17688with a "!" character. To exclude SSLv2 for opportunistic TLS set 17689"<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set 17690"<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to 17691include, rather than protocols to exclude, is supported, but not 17692recommended. The exclusion form more closely matches the underlying 17693OpenSSL interface semantics. </p> 17694 17695<p> Example: </p> 17696<pre> 17697<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3 17698</pre> 17699 17700<p> This feature is available in Postfix 2.6 and later. </p> 17701 17702 17703</DD> 17704 17705<DT><b><a name="smtpd_tls_received_header">smtpd_tls_received_header</a> 17706(default: no)</b></DT><DD> 17707 17708<p> Request that the Postfix SMTP server produces Received: message 17709headers that include information about the protocol and cipher used, 17710as well as the remote SMTP client CommonName and client certificate issuer 17711CommonName. This is disabled by default, as the information may 17712be modified in transit through other mail servers. Only information 17713that was recorded by the final destination can be trusted. </p> 17714 17715<p> This feature is available in Postfix 2.2 and later. </p> 17716 17717 17718</DD> 17719 17720<DT><b><a name="smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> 17721(default: no)</b></DT><DD> 17722 17723<p> With mandatory TLS encryption, require a trusted remote SMTP client 17724certificate in order to allow TLS connections to proceed. This 17725option implies "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes". </p> 17726 17727<p> When TLS encryption is optional, this setting is ignored with 17728a warning written to the mail log. </p> 17729 17730<p> This feature is available in Postfix 2.2 and later. </p> 17731 17732 17733</DD> 17734 17735<DT><b><a name="smtpd_tls_security_level">smtpd_tls_security_level</a> 17736(default: empty)</b></DT><DD> 17737 17738<p> The SMTP TLS security level for the Postfix SMTP server; when 17739a non-empty value is specified, this overrides the obsolete parameters 17740<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a> and <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>. This parameter is ignored with 17741"<a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> = yes". </p> 17742 17743<p> Specify one of the following security levels: </p> 17744 17745<dl> 17746 17747<dt><b>none</b></dt> <dd> TLS will not be used. </dd> 17748 17749<dt><b>may</b></dt> <dd> Opportunistic TLS: announce STARTTLS support 17750to remote SMTP clients, but do not require that clients use TLS encryption. 17751</dd> 17752 17753<dt><b>encrypt</b></dt> <dd>Mandatory TLS encryption: announce 17754STARTTLS support to remote SMTP clients, and require that clients use TLS 17755encryption. According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> this MUST NOT be applied in case 17756of a publicly-referenced SMTP server. Instead, this option should 17757be used only on dedicated servers. </dd> 17758 17759</dl> 17760 17761<p> Note 1: the "fingerprint", "verify" and "secure" levels are not 17762supported here. 17763The Postfix SMTP server logs a warning and uses "encrypt" instead. 17764To verify remote SMTP client certificates, see <a href="TLS_README.html">TLS_README</a> for a discussion 17765of the <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>, <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>, and <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> 17766features. </p> 17767 17768<p> Note 2: The parameter setting "<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> = 17769encrypt" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes".</p> 17770 17771<p> Note 3: when invoked via "sendmail -bs", Postfix will never 17772offer STARTTLS due to insufficient privileges to access the server 17773private key. This is intended behavior.</p> 17774 17775<p> This feature is available in Postfix 2.3 and later. </p> 17776 17777 17778</DD> 17779 17780<DT><b><a name="smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> 17781(default: empty)</b></DT><DD> 17782 17783<p> Name of the file containing the optional Postfix SMTP server 17784TLS session cache. Specify a database type that supports enumeration, 17785such as <b>btree</b> or <b>sdbm</b>; there is no need to support 17786concurrent access. The file is created if it does not exist. The <a href="smtpd.8.html">smtpd(8)</a> 17787daemon does not use this parameter directly, rather the cache is 17788implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that 17789per-smtpd-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not 17790effective. Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a> 17791daemon: $<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, $<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> 17792(and with Postfix 2.3 and later $<a href="postconf.5.html#lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>), needs to be 17793stored separately. It is not at this time possible to store multiple 17794caches in a single database. </p> 17795 17796<p> Note: <b>dbm</b> databases are not suitable. TLS 17797session objects are too large. </p> 17798 17799<p> As of version 2.5, Postfix no longer uses root privileges when 17800opening this file. The file should now be stored under the Postfix-owned 17801<a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file 17802under a non-Postfix directory is redirected to the Postfix-owned 17803<a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p> 17804 17805<p> As of Postfix 2.11 the preferred mechanism for session resumption 17806is <a href="http://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side 17807storage. Consequently, for Postfix ≥ 2.11 this parameter should 17808generally be left empty. TLS session tickets require an OpenSSL 17809library (at least version 0.9.8h) that provides full support for 17810this TLS extension. See also <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p> 17811 17812<p> Example: </p> 17813 17814<pre> 17815<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> = <a href="DATABASE_README.html#types">btree</a>:/var/db/postfix/smtpd_scache 17816</pre> 17817 17818<p> This feature is available in Postfix 2.2 and later. </p> 17819 17820 17821</DD> 17822 17823<DT><b><a name="smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> 17824(default: 3600s)</b></DT><DD> 17825 17826<p> The expiration time of Postfix SMTP server TLS session cache 17827information. A cache cleanup is performed periodically 17828every $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> seconds. As with 17829$<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, this parameter is implemented in the 17830<a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtpd-instance <a href="master.5.html">master.cf</a> overrides 17831are not possible. </p> 17832 17833<p> As of Postfix 2.11 this setting cannot exceed 100 days. If set 17834≤ 0, session caching is disabled, not just via the database, but 17835also via <a href="http://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side 17836storage. If set to a positive value less than 2 minutes, the minimum 17837value of 2 minutes is used instead. TLS session tickets require 17838an OpenSSL library (at least version 0.9.8h) that provides full 17839support for this TLS extension. </p> 17840 17841<p> This feature is available in Postfix 2.2 and later, and updated 17842for TLS session ticket support in Postfix 2.11. </p> 17843 17844 17845</DD> 17846 17847<DT><b><a name="smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> 17848(default: no)</b></DT><DD> 17849 17850<p> Run the Postfix SMTP server in the non-standard "wrapper" mode, 17851instead of using the STARTTLS command. </p> 17852 17853<p> If you want to support this service, enable a special port in 17854<a href="master.5.html">master.cf</a>, and specify "-o <a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a>=yes" on the SMTP 17855server's command line. Port 465 (smtps) was once chosen for this 17856purpose. </p> 17857 17858<p> This feature is available in Postfix 2.2 and later. </p> 17859 17860 17861</DD> 17862 17863<DT><b><a name="smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> 17864(default: empty)</b></DT><DD> 17865 17866<p> The name of the proxy protocol used by an optional before-smtpd 17867proxy agent. When a proxy agent is used, this protocol conveys local 17868and remote address and port information. Specify 17869"<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> = haproxy" to enable the haproxy 17870protocol; version 2 is supported with Postfix 3.5 and later. </p> 17871 17872<p> NOTE: To use the nginx proxy with <a href="smtpd.8.html">smtpd(8)</a>, enable the XCLIENT 17873protocol with <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>. This supports SASL 17874authentication in the proxy agent (Postfix 2.9 and later). <p> 17875 17876<p> This feature is available in Postfix 2.10 and later. </p> 17877 17878 17879</DD> 17880 17881<DT><b><a name="smtpd_upstream_proxy_timeout">smtpd_upstream_proxy_timeout</a> 17882(default: 5s)</b></DT><DD> 17883 17884<p> The time limit for the proxy protocol specified with the 17885<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> parameter. </p> 17886 17887<p> This feature is available in Postfix 2.10 and later. </p> 17888 17889 17890</DD> 17891 17892<DT><b><a name="smtpd_use_tls">smtpd_use_tls</a> 17893(default: no)</b></DT><DD> 17894 17895<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients, 17896but do not require that clients use TLS encryption. </p> 17897 17898<p> Note: when invoked via "<b>sendmail -bs</b>", Postfix will never offer 17899STARTTLS due to insufficient privileges to access the server private 17900key. This is intended behavior. </p> 17901 17902<p> This feature is available in Postfix 2.2 and later. With 17903Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p> 17904 17905 17906</DD> 17907 17908<DT><b><a name="smtputf8_autodetect_classes">smtputf8_autodetect_classes</a> 17909(default: sendmail, verify)</b></DT><DD> 17910 17911<p> Detect that a message requires SMTPUTF8 support for the specified 17912mail origin classes. This is a workaround to avoid chicken-and-egg 17913problems during the initial SMTPUTF8 roll-out in environments with 17914pre-existing mail flows that contain UTF8. Those mail flows should 17915not break because Postfix suddenly refuses to deliver such mail 17916to down-stream MTAs that don't announce SMTPUTF8 support. </p> 17917 17918<p> The problem is that Postfix cannot rely solely on the sender's 17919declaration that a message requires SMTPUTF8 support, because UTF8 17920may be introduced during local processing (for example, the client 17921hostname in Postfix's Received: header, adding @$<a href="postconf.5.html#myorigin">myorigin</a> or 17922.$<a href="postconf.5.html#mydomain">mydomain</a> to an incomplete address, address rewriting, alias 17923expansion, automatic BCC recipients, local forwarding, and changes 17924made by header checks or Milter applications). </p> 17925 17926<p> For now, the default is to enable "SMTPUTF8 required" autodetection 17927only for Postfix sendmail command-line submissions and address 17928verification probes. This may change once SMTPUTF8 support achieves 17929world domination. However, sites that add UTF8 content via local 17930processing (see above) should autodetect the need for SMTPUTF8 17931support for all email.</p> 17932 17933<p> Specify one or more of the following: </p> 17934 17935<dl compact> 17936 17937<dt> <b> sendmail </b> </dt> <dd> Submission with the Postfix 17938<a href="sendmail.1.html">sendmail(1)</a> command. </dd> 17939 17940<dt> <b> smtpd </b> </dt> <dd> Mail received with the <a href="smtpd.8.html">smtpd(8)</a> 17941daemon. </dd> 17942 17943<dt> <b> qmqpd </b> </dt> <dd> Mail received with the <a href="qmqpd.8.html">qmqpd(8)</a> 17944daemon. </dd> 17945 17946<dt> <b> forward </b> </dt> <dd> Local forwarding or aliasing. When 17947a message is received with "SMTPUTF8 required", then the forwarded 17948(aliased) message always has "SMTPUTF8 required". </dd> 17949 17950<dt> <b> bounce </b> </dt> <dd> Submission by the <a href="bounce.8.html">bounce(8)</a> daemon. 17951When a message is received with "SMTPUTF8 required", then the 17952delivery status notification always has "SMTPUTF8 required". </dd> 17953 17954<dt> <b> notify </b> </dt> <dd> Postmaster notification from the 17955<a href="smtp.8.html">smtp(8)</a> or <a href="smtpd.8.html">smtpd(8)</a> daemon. </dd> 17956 17957<dt> <b> verify </b> </dt> <dd> Address verification probe from the 17958<a href="verify.8.html">verify(8)</a> daemon. </dd> 17959 17960<dt> <b> all </b> </dt> <dd> Enable SMTPUTF8 autodetection for all 17961mail. </dd> 17962 17963</dl> 17964 17965<p> This feature is available in Postfix 3.0 and later. </p> 17966 17967 17968</DD> 17969 17970<DT><b><a name="smtputf8_enable">smtputf8_enable</a> 17971(default: yes)</b></DT><DD> 17972 17973<p> Enable preliminary SMTPUTF8 support for the protocols described 17974in <a href="http://tools.ietf.org/html/rfc6531">RFC 6531</a>..6533. This requires that Postfix is built to support 17975these protocols. </p> 17976 17977<p> This feature is available in Postfix 3.0 and later. </p> 17978 17979 17980</DD> 17981 17982<DT><b><a name="soft_bounce">soft_bounce</a> 17983(default: no)</b></DT><DD> 17984 17985<p> 17986Safety net to keep mail queued that would otherwise be returned to 17987the sender. This parameter disables locally-generated bounces, 17988changes the handling of negative responses from remote servers, 17989content filters or plugins, 17990and prevents the Postfix SMTP server from rejecting mail permanently 17991by changing 5xx reply codes into 4xx. However, <a href="postconf.5.html#soft_bounce">soft_bounce</a> is no 17992cure for address rewriting mistakes or mail routing mistakes. 17993</p> 17994 17995<p> 17996Note: "<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes" is in some cases implemented by modifying 17997server responses. Therefore, the response that Postfix logs may 17998differ from the response that Postfix actually sends or receives. 17999</p> 18000 18001<p> 18002Example: 18003</p> 18004 18005<pre> 18006<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes 18007</pre> 18008 18009 18010</DD> 18011 18012<DT><b><a name="stale_lock_time">stale_lock_time</a> 18013(default: 500s)</b></DT><DD> 18014 18015<p> 18016The time after which a stale exclusive mailbox lockfile is removed. 18017This is used for delivery to file or mailbox. 18018</p> 18019 18020<p> 18021Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 18022The default time unit is s (seconds). 18023</p> 18024 18025 18026</DD> 18027 18028<DT><b><a name="stress">stress</a> 18029(default: empty)</b></DT><DD> 18030 18031<p> This feature is documented in the <a href="STRESS_README.html">STRESS_README</a> document. </p> 18032 18033<p> This feature is available in Postfix 2.5 and later. </p> 18034 18035 18036</DD> 18037 18038<DT><b><a name="strict_7bit_headers">strict_7bit_headers</a> 18039(default: no)</b></DT><DD> 18040 18041<p> 18042Reject mail with 8-bit text in message headers. This blocks mail 18043from poorly written applications. 18044</p> 18045 18046<p> 18047This feature should not be enabled on a general purpose mail server, 18048because it is likely to reject legitimate email. 18049</p> 18050 18051<p> 18052This feature is available in Postfix 2.0 and later. 18053</p> 18054 18055 18056</DD> 18057 18058<DT><b><a name="strict_8bitmime">strict_8bitmime</a> 18059(default: no)</b></DT><DD> 18060 18061<p> 18062Enable both <a href="postconf.5.html#strict_7bit_headers">strict_7bit_headers</a> and <a href="postconf.5.html#strict_8bitmime_body">strict_8bitmime_body</a>. 18063</p> 18064 18065<p> 18066This feature should not be enabled on a general purpose mail server, 18067because it is likely to reject legitimate email. 18068</p> 18069 18070<p> 18071This feature is available in Postfix 2.0 and later. 18072</p> 18073 18074 18075</DD> 18076 18077<DT><b><a name="strict_8bitmime_body">strict_8bitmime_body</a> 18078(default: no)</b></DT><DD> 18079 18080<p> 18081Reject 8-bit message body text without 8-bit MIME content encoding 18082information. This blocks mail from poorly written applications. 18083</p> 18084 18085<p> 18086Unfortunately, this also rejects majordomo approval requests when 18087the included request contains valid 8-bit MIME mail, and it rejects 18088bounces from mailers that do not MIME encapsulate 8-bit content 18089(for example, bounces from qmail or from old versions of Postfix). 18090</p> 18091 18092<p> 18093This feature should not be enabled on a general purpose mail server, 18094because it is likely to reject legitimate email. 18095</p> 18096 18097<p> 18098This feature is available in Postfix 2.0 and later. 18099</p> 18100 18101 18102</DD> 18103 18104<DT><b><a name="strict_mailbox_ownership">strict_mailbox_ownership</a> 18105(default: yes)</b></DT><DD> 18106 18107<p> Defer delivery when a mailbox file is not owned by its recipient. 18108The default setting is not backwards compatible. </p> 18109 18110<p> This feature is available in Postfix 2.5.3 and later. </p> 18111 18112 18113</DD> 18114 18115<DT><b><a name="strict_mime_encoding_domain">strict_mime_encoding_domain</a> 18116(default: no)</b></DT><DD> 18117 18118<p> 18119Reject mail with invalid Content-Transfer-Encoding: information 18120for the message/* or multipart/* MIME content types. This blocks 18121mail from poorly written software. 18122</p> 18123 18124<p> 18125This feature should not be enabled on a general purpose mail server, 18126because it will reject mail after a single violation. 18127</p> 18128 18129<p> 18130This feature is available in Postfix 2.0 and later. 18131</p> 18132 18133 18134</DD> 18135 18136<DT><b><a name="strict_rfc821_envelopes">strict_rfc821_envelopes</a> 18137(default: no)</b></DT><DD> 18138 18139<p> 18140Require that addresses received in SMTP MAIL FROM and RCPT TO 18141commands are enclosed with <>, and that those addresses do 18142not contain <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> style comments or phrases. This stops mail 18143from poorly written software. 18144</p> 18145 18146<p> 18147By default, the Postfix SMTP server accepts <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> syntax in MAIL 18148FROM and RCPT TO addresses. 18149</p> 18150 18151 18152</DD> 18153 18154<DT><b><a name="strict_smtputf8">strict_smtputf8</a> 18155(default: no)</b></DT><DD> 18156 18157<p> Enable stricter enforcement of the SMTPUTF8 protocol. The Postfix 18158SMTP server accepts UTF8 sender or recipient addresses only when 18159the client requests an SMTPUTF8 mail transaction. </p> 18160 18161<p> This feature is available in Postfix 3.0 and later. </p> 18162 18163 18164</DD> 18165 18166<DT><b><a name="sun_mailtool_compatibility">sun_mailtool_compatibility</a> 18167(default: no)</b></DT><DD> 18168 18169<p> 18170Obsolete SUN mailtool compatibility feature. Instead, use 18171"<a href="postconf.5.html#mailbox_delivery_lock">mailbox_delivery_lock</a> = dotlock". 18172</p> 18173 18174 18175</DD> 18176 18177<DT><b><a name="swap_bangpath">swap_bangpath</a> 18178(default: yes)</b></DT><DD> 18179 18180<p> 18181Enable the rewriting of "site!user" into "user@site". This is 18182necessary if your machine is connected to UUCP networks. It is 18183enabled by default. 18184</p> 18185 18186<p> Note: with Postfix version 2.2, message header address rewriting 18187happens only when one of the following conditions is true: </p> 18188 18189<ul> 18190 18191<li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command, 18192 18193<li> The message is received from a network client that matches 18194$<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>, 18195 18196<li> The message is received from the network, and the 18197<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value. 18198 18199</ul> 18200 18201<p> To get the behavior before Postfix version 2.2, specify 18202"<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p> 18203 18204<p> 18205Example: 18206</p> 18207 18208<pre> 18209<a href="postconf.5.html#swap_bangpath">swap_bangpath</a> = no 18210</pre> 18211 18212 18213</DD> 18214 18215<DT><b><a name="syslog_facility">syslog_facility</a> 18216(default: mail)</b></DT><DD> 18217 18218<p> 18219The syslog facility of Postfix logging. Specify a facility as 18220defined in syslog.conf(5). The default facility is "mail". 18221</p> 18222 18223<p> 18224Warning: a non-default <a href="postconf.5.html#syslog_facility">syslog_facility</a> setting takes effect only 18225after a Postfix process has completed initialization. Errors during 18226process initialization will be logged with the default facility. 18227Examples are errors while parsing the command line arguments, and 18228errors while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file. 18229</p> 18230 18231 18232</DD> 18233 18234<DT><b><a name="syslog_name">syslog_name</a> 18235(default: see "postconf -d" output)</b></DT><DD> 18236 18237<p> 18238A prefix that is prepended to the process name in syslog 18239records, so that, for example, "smtpd" becomes "prefix/smtpd". 18240</p> 18241 18242<p> 18243Warning: a non-default <a href="postconf.5.html#syslog_name">syslog_name</a> setting takes effect only after 18244a Postfix process has completed initialization. Errors during 18245process initialization will be logged with the default name. Examples 18246are errors while parsing the command line arguments, and errors 18247while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file. 18248</p> 18249 18250 18251</DD> 18252 18253<DT><b><a name="tcp_windowsize">tcp_windowsize</a> 18254(default: 0)</b></DT><DD> 18255 18256<p> An optional workaround for routers that break TCP window scaling. 18257Specify a value > 0 and < 65536 to enable this feature. With 18258Postfix TCP servers (<a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a>), this feature is implemented 18259by the Postfix <a href="master.8.html">master(8)</a> daemon. </p> 18260 18261<p> To change this parameter without stopping Postfix, you need to 18262first terminate all Postfix TCP servers: </p> 18263 18264<blockquote> 18265<pre> 18266# postconf -e <a href="postconf.5.html#master_service_disable">master_service_disable</a>=inet 18267# postfix reload 18268</pre> 18269</blockquote> 18270 18271<p> This immediately terminates all processes that accept network 18272connections. Next, you enable Postfix TCP servers with the updated 18273<a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> setting: </p> 18274 18275<blockquote> 18276<pre> 18277# postconf -e <a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a>=65535 <a href="postconf.5.html#master_service_disable">master_service_disable</a>= 18278# postfix reload 18279</pre> 18280</blockquote> 18281 18282<p> If you skip these steps with a running Postfix system, then the 18283<a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> change will work only for Postfix TCP clients (<a href="smtp.8.html">smtp(8)</a>, 18284<a href="lmtp.8.html">lmtp(8)</a>). </p> 18285 18286<p> This feature is available in Postfix 2.6 and later. </p> 18287 18288 18289</DD> 18290 18291<DT><b><a name="tls_append_default_CA">tls_append_default_CA</a> 18292(default: no)</b></DT><DD> 18293 18294<p> Append the system-supplied default Certification Authority 18295certificates to the ones specified with *_tls_CApath or *_tls_CAfile. 18296The default is "no"; this prevents Postfix from trusting third-party 18297certificates and giving them relay permission with 18298<a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p> 18299 18300<p> This feature is available in Postfix 2.4.15, 2.5.11, 2.6.8, 183012.7.2 and later versions. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = yes" for 18302backwards compatibility, to avoid breaking certificate verification 18303with sites that don't use <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p> 18304 18305 18306</DD> 18307 18308<DT><b><a name="tls_daemon_random_bytes">tls_daemon_random_bytes</a> 18309(default: 32)</b></DT><DD> 18310 18311<p> The number of pseudo-random bytes that an <a href="smtp.8.html">smtp(8)</a> or <a href="smtpd.8.html">smtpd(8)</a> 18312process requests from the <a href="tlsmgr.8.html">tlsmgr(8)</a> server in order to seed its 18313internal pseudo random number generator (PRNG). The default of 32 18314bytes (equivalent to 256 bits) is sufficient to generate a 128bit 18315(or 168bit) session key. </p> 18316 18317<p> This feature is available in Postfix 2.2 and later. </p> 18318 18319 18320</DD> 18321 18322<DT><b><a name="tls_dane_digest_agility">tls_dane_digest_agility</a> 18323(default: on)</b></DT><DD> 18324 18325<p> Configure <a href="http://tools.ietf.org/html/rfc7671">RFC7671</a> DANE TLSA digest algorithm agility. 18326Do not change this setting from its default value. </p> 18327 18328<p> See Section 8 of <a href="http://tools.ietf.org/html/rfc7671">RFC7671</a> for correct key rotation procedures. </p> 18329 18330<p> This feature is available in Postfix 2.11 through 3.1. Postfix 183313.2 and later ignore this configuration parameter and behave as 18332though it were set to "on". </p> 18333 18334 18335</DD> 18336 18337<DT><b><a name="tls_dane_digests">tls_dane_digests</a> 18338(default: sha512 sha256)</b></DT><DD> 18339 18340<p> DANE TLSA (<a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>, <a href="http://tools.ietf.org/html/rfc7671">RFC 7671</a>, <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a>) resource-record "matching 18341type" digest algorithms in descending preference order. All the 18342specified algorithms must be supported by the underlying OpenSSL 18343library, otherwise the Postfix SMTP client will not support DANE 18344TLSA security. </p> 18345 18346<p> Specify a list of digest names separated by commas and/or 18347whitespace. Each digest name may be followed by an optional 18348"=<number>" suffix. For example, "sha512" may instead be specified 18349as "sha512=2" and "sha256" may instead be specified as "sha256=1". 18350The optional number must match the <a 18351href="https://www.iana.org/assignments/dane-parameters/dane-parameters.xhtml#matching-types" 18352>IANA</a> assigned TLSA matching type number the algorithm in question. 18353Postfix will check this constraint for the algorithms it knows about. 18354Additional matching type algorithms registered with IANA can be added 18355with explicit numbers provided they are supported by OpenSSL. </p> 18356 18357<p> Invalid list elements are logged with a warning and disable DANE 18358support. TLSA RRs that specify digests not included in the list are 18359ignored with a warning. </p> 18360 18361<p> Note: It is unwise to omit sha256 from the digest list. This 18362digest algorithm is the only mandatory to implement digest algorithm 18363in <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>, and many servers are expected publish TLSA records 18364with just sha256 digests. Unless one of the standard digests is 18365seriously compromised and servers have had ample time to update their 18366TLSA records you should not omit any standard digests, just arrange 18367them in order from strongest to weakest. </p> 18368 18369<p> This feature is available in Postfix 2.11 and later. </p> 18370 18371 18372</DD> 18373 18374<DT><b><a name="tls_dane_trust_anchor_digest_enable">tls_dane_trust_anchor_digest_enable</a> 18375(default: yes)</b></DT><DD> 18376 18377<p> Enable support for <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE TLSA) DNS records that contain 18378digests of trust-anchors with certificate usage "2". Do not change 18379this setting from its default value. </p> 18380 18381<p> This feature is available in Postfix 2.11 through 3.1. It has 18382been withdrawn in Postfix 3.2, as trust-anchor TLSA records are now 18383widely used and have proved sufficiently reliable. Postfix 3.2 and 18384later ignore this configuration parameter and behaves as though it 18385were set to "yes". </p> 18386 18387 18388</DD> 18389 18390<DT><b><a name="tls_disable_workarounds">tls_disable_workarounds</a> 18391(default: see "postconf -d" output)</b></DT><DD> 18392 18393<p> List or bit-mask of OpenSSL bug work-arounds to disable. </p> 18394 18395<p> The OpenSSL toolkit includes a set of work-arounds for buggy SSL/TLS 18396implementations. Applications, such as Postfix, that want to maximize 18397interoperability ask the OpenSSL library to enable the full set of 18398recommended work-arounds. </p> 18399 18400<p> From time to time, it is discovered that a work-around creates a 18401security issue, and should no longer be used. If upgrading OpenSSL 18402to a fixed version is not an option or an upgrade is not available 18403in a timely manner, or in closed environments where no buggy clients 18404or servers exist, it may be appropriate to disable some or all of the 18405OpenSSL interoperability work-arounds. This parameter specifies which 18406bug work-arounds to disable. </p> 18407 18408<p> If the value of the parameter is a hexadecimal long integer starting 18409with "0x", the bug work-arounds corresponding to the bits specified in 18410its value are removed from the <b>SSL_OP_ALL</b> work-around bit-mask 18411(see openssl/ssl.h and SSL_CTX_set_options(3)). You can specify more 18412bits than are present in SSL_OP_ALL, excess bits are ignored. Specifying 184130xFFFFFFFF disables all bug-workarounds on a 32-bit system. This should 18414also be sufficient on 64-bit systems, until OpenSSL abandons support 18415for 32-bit systems and starts using the high 32 bits of a 64-bit 18416bug-workaround mask. </p> 18417 18418<p> Otherwise, the parameter is a white-space or comma separated list 18419of specific named bug work-arounds chosen from the list below. It 18420is possible that your OpenSSL version includes new bug work-arounds 18421added after your Postfix source code was last updated, in that case 18422you can only disable one of these via the hexadecimal syntax above. </p> 18423 18424<dl> 18425 18426<dt><b>CRYPTOPRO_TLSEXT_BUG</b></dt> <dd>New with GOST support in 18427OpenSSL 1.0.0.</dd> 18428 18429<dt><b>DONT_INSERT_EMPTY_FRAGMENTS</b></dt> <dd>See 18430SSL_CTX_set_options(3)</dd> 18431 18432<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3)</dd> 18433 18434<dt><b>MICROSOFT_BIG_SSLV3_BUFFER</b></dt> <dd>See 18435SSL_CTX_set_options(3)</dd> 18436 18437<dt><b>MICROSOFT_SESS_ID_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd> 18438 18439<dt><b>MSIE_SSLV2_RSA_PADDING</b></dt> <dd> also aliased as 18440<b>CVE-2005-2969</b>. Postfix 2.8 disables this work-around by 18441default with OpenSSL versions that may predate the fix. Fixed in 18442OpenSSL 0.9.7h and OpenSSL 0.9.8a.</dd> 18443 18444<dt><b>NETSCAPE_CHALLENGE_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd> 18445 18446<dt><b>NETSCAPE_REUSE_CIPHER_CHANGE_BUG</b></dt> <dd> also aliased 18447as <b>CVE-2010-4180</b>. Postfix 2.8 disables this work-around by 18448default with OpenSSL versions that may predate the fix. Fixed in 18449OpenSSL 0.9.8q and OpenSSL 1.0.0c.</dd> 18450 18451<dt><b>SSLEAY_080_CLIENT_DH_BUG</b></dt> <dd>See 18452SSL_CTX_set_options(3)</dd> 18453 18454<dt><b>SSLREF2_REUSE_CERT_TYPE_BUG</b></dt> <dd>See 18455SSL_CTX_set_options(3)</dd> 18456 18457<dt><b>TLS_BLOCK_PADDING_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd> 18458 18459<dt><b>TLS_D5_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd> 18460 18461<dt><b>TLS_ROLLBACK_BUG</b></dt> <dd>See SSL_CTX_set_options(3). 18462This is disabled in OpenSSL 0.9.7 and later. Nobody should still 18463be using 0.9.6! </dd> 18464 18465<dt><b>TLSEXT_PADDING</b></dt><dd>Postfix ≥ 3.4. See SSL_CTX_set_options(3).</dd> 18466 18467</dl> 18468 18469<p> This feature is available in Postfix 2.8 and later. </p> 18470 18471 18472</DD> 18473 18474<DT><b><a name="tls_eecdh_auto_curves">tls_eecdh_auto_curves</a> 18475(default: see "postconf -d" output)</b></DT><DD> 18476 18477<p> The prioritized list of elliptic curves supported by the Postfix 18478SMTP client and server. These curves are used by the Postfix SMTP 18479server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = auto". The selected curves 18480must be implemented by OpenSSL and be standardized for use in TLS 18481(<a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a> or its imminent successor). It is unwise to list only 18482"bleeding-edge" curves supported by a small subset of clients. The 18483default list is suitable for most users. </p> 18484 18485<p> Postfix skips curve names that are unknown to OpenSSL, or that 18486are known but not yet implemented. This makes it possible to 18487"anticipate" support for curves that should be used once they become 18488available. In particular, in some OpenSSL versions, the new <a href="http://tools.ietf.org/html/rfc8031">RFC</a> 18489<a href="http://tools.ietf.org/html/rfc8031">8031</a> curves "X25519" and "X448" may be known by name, but ECDH 18490support for either or both may be missing. These curves may appear 18491in the default value of this parameter, even though they'll only 18492be usable with later versions of OpenSSL. </p> 18493 18494<p> This feature is available in Postfix 3.2 and later, when it is 18495compiled and linked with OpenSSL 1.0.2 or later on platforms where 18496EC algorithms have not been disabled by the vendor. </p> 18497 18498 18499</DD> 18500 18501<DT><b><a name="tls_eecdh_strong_curve">tls_eecdh_strong_curve</a> 18502(default: prime256v1)</b></DT><DD> 18503 18504<p> The elliptic curve used by the Postfix SMTP server for sensibly 18505strong 18506ephemeral ECDH key exchange. This curve is used by the Postfix SMTP 18507server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The phrase "sensibly 18508strong" means approximately 128-bit security based on best known 18509attacks. The selected curve must be implemented by OpenSSL (as 18510reported by ecparam(1) with the "-list_curves" option) and be one 18511of the curves listed in Section 5.1.1 of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not 18512generally change this setting. Remote SMTP client implementations 18513must support this curve for EECDH key exchange to take place. It 18514is unwise to choose an "bleeding-edge" curve supported by only a 18515small subset of clients. </p> 18516 18517<p> The default "strong" curve is rated in NSA <a 18518href="https://web.archive.org/web/20160330034144/https://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite 18519B</a> for information classified up to SECRET. </p> 18520 18521<p> Note: elliptic curve names are poorly standardized; different 18522standards groups are assigning different names to the same underlying 18523curves. The curve with the X9.62 name "prime256v1" is also known 18524under the SECG name "secp256r1", but OpenSSL does not recognize the 18525latter name. </p> 18526 18527<p> If you want to take maximal advantage of ciphers that offer <a 18528href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see 18529the <a href="FORWARD_SECRECY_README.html#quick-start">Getting 18530started</a> section of <a 18531href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The 18532full document conveniently presents all information about Postfix 18533"perfect" forward secrecy support in one place: what forward secrecy 18534is, how to tweak settings, and what you can expect to see when 18535Postfix uses ciphers with forward secrecy. </p> 18536 18537<p> This feature is available in Postfix 2.6 and later, when it is 18538compiled and linked with OpenSSL 1.0.0 or later on platforms where 18539EC algorithms have not been disabled by the vendor. </p> 18540 18541 18542</DD> 18543 18544<DT><b><a name="tls_eecdh_ultra_curve">tls_eecdh_ultra_curve</a> 18545(default: secp384r1)</b></DT><DD> 18546 18547<p> The elliptic curve used by the Postfix SMTP server for maximally 18548strong 18549ephemeral ECDH key exchange. This curve is used by the Postfix SMTP 18550server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = ultra". The phrase "maximally 18551strong" means approximately 192-bit security based on best known attacks. 18552This additional strength comes at a significant computational cost, most 18553users should instead set "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The selected 18554curve must be implemented by OpenSSL (as reported by ecparam(1) with the 18555"-list_curves" option) and be one of the curves listed in Section 5.1.1 18556of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not generally change this setting. </p> 18557 18558<p> This default "ultra" curve is rated in NSA <a 18559href="https://web.archive.org/web/20160330034144/https://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite 18560B</a> for information classified up to TOP SECRET. </p> 18561 18562<p> If you want to take maximal advantage of ciphers that offer <a 18563href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see 18564the <a href="FORWARD_SECRECY_README.html#quick-start">Getting 18565started</a> section of <a 18566href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The 18567full document conveniently presents all information about Postfix 18568"perfect" forward secrecy support in one place: what forward secrecy 18569is, how to tweak settings, and what you can expect to see when 18570Postfix uses ciphers with forward secrecy. </p> 18571 18572<p> This feature is available in Postfix 2.6 and later, when it is 18573compiled and linked with OpenSSL 1.0.0 or later on platforms where 18574EC algorithms have not been disabled by the vendor. </p> 18575 18576 18577</DD> 18578 18579<DT><b><a name="tls_export_cipherlist">tls_export_cipherlist</a> 18580(default: see "postconf -d" output)</b></DT><DD> 18581 18582<p> The OpenSSL cipherlist for "export" or higher grade ciphers. This 18583defines the meaning of the "export" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>, 18584<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>, 18585<a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. With Postfix 18586releases before the middle of 2015 this is the default cipherlist 18587for the opportunistic ("may") TLS client security level and also 18588the default cipherlist for the SMTP server. You are strongly 18589encouraged to not change this setting. </p> 18590 18591<p> This feature is available in Postfix 2.3 and later. </p> 18592 18593 18594</DD> 18595 18596<DT><b><a name="tls_fast_shutdown_enable">tls_fast_shutdown_enable</a> 18597(default: yes)</b></DT><DD> 18598 18599<p> A workaround for implementations that hang Postfix while shutting 18600down a TLS session, until Postfix times out. With this enabled, 18601Postfix will not wait for the remote TLS peer to respond to a TLS 18602'close' notification. This behavior is recommended for TLSv1.0 and 18603later. </p> 18604 18605 18606</DD> 18607 18608<DT><b><a name="tls_high_cipherlist">tls_high_cipherlist</a> 18609(default: see "postconf -d" output)</b></DT><DD> 18610 18611<p> The OpenSSL cipherlist for "high" grade ciphers. This defines 18612the meaning of the "high" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>, 18613<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>, 18614<a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly 18615encouraged to not change this setting. </p> 18616 18617<p> This feature is available in Postfix 2.3 and later. </p> 18618 18619 18620</DD> 18621 18622<DT><b><a name="tls_legacy_public_key_fingerprints">tls_legacy_public_key_fingerprints</a> 18623(default: no)</b></DT><DD> 18624 18625<p> A temporary migration aid for sites that use certificate 18626<i>public-key</i> fingerprints with Postfix 2.9.0..2.9.5, which use 18627an incorrect algorithm. This parameter has no effect on the certificate 18628fingerprint support that is available since Postfix 2.2. </p> 18629 18630<p> Specify "<a href="postconf.5.html#tls_legacy_public_key_fingerprint">tls_legacy_public_key_fingerprints</a> = yes" temporarily, 18631pending a migration from configuration files with incorrect Postfix 186322.9.0..2.9.5 certificate public-key finger prints, to the correct 18633fingerprints used by Postfix 2.9.6 and later. To compute the correct 18634certificate public-key fingerprints, see <a href="TLS_README.html">TLS_README</a>. </p> 18635 18636<p> This feature is available in Postfix 2.9.6 and later. </p> 18637 18638 18639</DD> 18640 18641<DT><b><a name="tls_low_cipherlist">tls_low_cipherlist</a> 18642(default: see "postconf -d" output)</b></DT><DD> 18643 18644<p> The OpenSSL cipherlist for "low" or higher grade ciphers. This defines 18645the meaning of the "low" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>, 18646<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>, 18647<a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly 18648encouraged to not change this setting. </p> 18649 18650<p> This feature is available in Postfix 2.3 and later. </p> 18651 18652 18653</DD> 18654 18655<DT><b><a name="tls_medium_cipherlist">tls_medium_cipherlist</a> 18656(default: see "postconf -d" output)</b></DT><DD> 18657 18658<p> The OpenSSL cipherlist for "medium" or higher grade ciphers. This 18659defines the meaning of the "medium" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>, 18660<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>, 18661<a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. This is the 18662default cipherlist for mandatory TLS encryption in the TLS client 18663(with anonymous ciphers disabled when verifying server certificates). 18664This is the default cipherlist for opportunistic TLS with Postfix 18665releases after the middle of 2015. You are strongly encouraged to 18666not change this setting. </p> 18667 18668<p> This feature is available in Postfix 2.3 and later. </p> 18669 18670 18671</DD> 18672 18673<DT><b><a name="tls_null_cipherlist">tls_null_cipherlist</a> 18674(default: eNULL:!aNULL)</b></DT><DD> 18675 18676<p> The OpenSSL cipherlist for "NULL" grade ciphers that provide 18677authentication without encryption. This defines the meaning of the "null" 18678setting in smtpd_mandatory_tls_ciphers, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and 18679<a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly encouraged to not 18680change this setting. </p> 18681 18682<p> This feature is available in Postfix 2.3 and later. </p> 18683 18684 18685</DD> 18686 18687<DT><b><a name="tls_preempt_cipherlist">tls_preempt_cipherlist</a> 18688(default: no)</b></DT><DD> 18689 18690<p> With SSLv3 and later, use the Postfix SMTP server's cipher 18691preference order instead of the remote client's cipher preference 18692order. </p> 18693 18694<p> By default, the OpenSSL server selects the client's most preferred 18695cipher that the server supports. With SSLv3 and later, the server may 18696choose its own most preferred cipher that is supported (offered) by 18697the client. Setting "<a href="postconf.5.html#tls_preempt_cipherlist">tls_preempt_cipherlist</a> = yes" enables server cipher 18698preferences. </p> 18699 18700<p> While server cipher selection may in some cases lead to a more secure 18701or performant cipher choice, there is some risk of interoperability 18702issues. In the past, some SSL clients have listed lower priority ciphers 18703that they did not implement correctly. If the server chooses a cipher 18704that the client prefers less, it may select a cipher whose client 18705implementation is flawed. Most notably Windows 2003 Microsoft 18706Exchange servers have flawed implementations of DES-CBC3-SHA, which 18707OpenSSL considers stronger than RC4-SHA. Enabling server cipher-suite 18708selection may create interoperability issues with Windows 2003 18709Microsoft Exchange clients. </p> 18710 18711<p> This feature is available in Postfix 2.8 and later, in combination 18712with OpenSSL 0.9.7 and later. </p> 18713 18714 18715</DD> 18716 18717<DT><b><a name="tls_random_bytes">tls_random_bytes</a> 18718(default: 32)</b></DT><DD> 18719 18720<p> The number of bytes that <a href="tlsmgr.8.html">tlsmgr(8)</a> reads from $<a href="postconf.5.html#tls_random_source">tls_random_source</a> 18721when (re)seeding the in-memory pseudo random number generator (PRNG) 18722pool. The default of 32 bytes (256 bits) is good enough for 128bit 18723symmetric keys. If using EGD or a device file, a maximum of 255 18724bytes is read. </p> 18725 18726<p> This feature is available in Postfix 2.2 and later. </p> 18727 18728 18729</DD> 18730 18731<DT><b><a name="tls_random_exchange_name">tls_random_exchange_name</a> 18732(default: see "postconf -d" output)</b></DT><DD> 18733 18734<p> Name of the pseudo random number generator (PRNG) state file 18735that is maintained by <a href="tlsmgr.8.html">tlsmgr(8)</a>. The file is created when it does 18736not exist, and its length is fixed at 1024 bytes. </p> 18737 18738<p> As of version 2.5, Postfix no longer uses root privileges when 18739opening this file, and the default file location was changed from 18740${<a href="postconf.5.html#config_directory">config_directory</a>}/prng_exch to ${<a href="postconf.5.html#data_directory">data_directory</a>}/prng_exch. As 18741a migration aid, an attempt to open the file under a non-Postfix 18742directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a 18743warning is logged. </p> 18744 18745<p> This feature is available in Postfix 2.2 and later. </p> 18746 18747 18748</DD> 18749 18750<DT><b><a name="tls_random_prng_update_period">tls_random_prng_update_period</a> 18751(default: 3600s)</b></DT><DD> 18752 18753<p> The time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to save the state of 18754the pseudo random number generator (PRNG) to the file specified 18755with $<a href="postconf.5.html#tls_random_exchange_name">tls_random_exchange_name</a>. </p> 18756 18757<p> This feature is available in Postfix 2.2 and later. </p> 18758 18759 18760</DD> 18761 18762<DT><b><a name="tls_random_reseed_period">tls_random_reseed_period</a> 18763(default: 3600s)</b></DT><DD> 18764 18765<p> The maximal time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to re-seed the 18766in-memory pseudo random number generator (PRNG) pool from external 18767sources. The actual time between re-seeding attempts is calculated 18768using the PRNG, and is between 0 and the time specified. </p> 18769 18770<p> This feature is available in Postfix 2.2 and later. </p> 18771 18772 18773</DD> 18774 18775<DT><b><a name="tls_random_source">tls_random_source</a> 18776(default: see "postconf -d" output)</b></DT><DD> 18777 18778<p> The external entropy source for the in-memory <a href="tlsmgr.8.html">tlsmgr(8)</a> pseudo 18779random number generator (PRNG) pool. Be sure to specify a non-blocking 18780source. If this source is not a regular file, the entropy source 18781type must be prepended: egd:/path/to/egd_socket for a source with 18782EGD compatible socket interface, or dev:/path/to/device for a 18783device file. </p> 18784 18785<p> Note: on OpenBSD systems specify /dev/arandom when /dev/urandom 18786gives timeout errors. </p> 18787 18788<p> This feature is available in Postfix 2.2 and later. </p> 18789 18790 18791</DD> 18792 18793<DT><b><a name="tls_server_sni_maps">tls_server_sni_maps</a> 18794(default: empty)</b></DT><DD> 18795 18796<p> Optional lookup tables that map names received from remote SMTP 18797clients via the TLS Server Name Indication (SNI) extension to the 18798appropriate keys and certificate chains. This parameter is implemented 18799in the Postfix TLS library, and applies to both <a href="smtpd.8.html">smtpd(8)</a> and the SMTP 18800server mode of <a href="tlsproxy.8.html">tlsproxy(8)</a>. </p> 18801 18802<p> When this parameter is non-empty, the Postfix SMTP server enables 18803SNI extension processing, and logs SNI values that are invalid or 18804don't match an entry in the the specified tables. When an entry 18805does match, the SNI name is logged as part of the connection summary 18806at log levels 1 and higher. </p> 18807 18808<p> The lookup key is either the verbatim SNI domain name or an 18809ancestor domain prefixed with a leading dot. For internationalized 18810domains, the lookup key must be in IDNA 2008 A-label form (as 18811required in the TLS SNI extension). </p> 18812 18813<p> The syntax of the lookup value is the same as with the 18814<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> parameter (see there for additional details), 18815but here scoped to just TLS connections in which the client sends 18816a matching SNI domain name. </p> 18817 18818<p> Example: </p> 18819<blockquote> 18820<pre> 18821/etc/postfix/<a href="postconf.5.html">main.cf</a>: 18822 # 18823 # The indexed SNI table must be created with "postmap -F" 18824 # 18825 indexed = ${<a href="postconf.5.html#default_database_type">default_database_type</a>}:${<a href="postconf.5.html#config_directory">config_directory</a>}/ 18826 <a href="postconf.5.html#tls_server_sni_maps">tls_server_sni_maps</a> = ${indexed}sni 18827</pre> 18828</blockquote> 18829 18830<blockquote> 18831<pre> 18832/etc/postfix/sni: 18833 # 18834 # The example.com domain has both an RSA and ECDSA certificate 18835 # chain. The chain files MUST start with the private key, 18836 # with the certificate chain next, starting with the leaf 18837 # (server) certificate, and then the issuer certificates. 18838 # 18839 example.com /etc/postfix/sni-chains/rsa2048.example.com.pem, 18840 /etc/postfix/sni-chains/ecdsa-p256.example.com.pem 18841 # 18842 # The example.net domain has a wildcard certificate, and two 18843 # additional DNS names. So its certificate chain is also used 18844 # with any subdomain, plus the additional names. 18845 # 18846 example.net /etc/postfix/sni-chains/example.net.pem 18847 .example.net /etc/postfix/sni-chains/example.net.pem 18848 example.info /etc/postfix/sni-chains/example.net.pem 18849 example.org /etc/postfix/sni-chains/example.net.pem 18850</pre> 18851</blockquote> 18852 18853<p> Note that the SNI lookup tables should also have entries for 18854the domains that correspond to the Postfix SMTP server's default 18855certificate(s). This ensures that the remote SMTP client's TLS SNI 18856extension gets a positive response when it specifies one of the 18857Postfix SMTP server's <a href="ADDRESS_CLASS_README.html#default_domain_class">default domains</a>, and ensures that the Postfix 18858SMTP server will not log an SNI name mismatch for such a domain. 18859The Postfix SMTP server's default certificates are then only used 18860when the client sends no SNI or when it sends SNI with a domain 18861that the server knows no certificate(s) for. </p> 18862 18863<p> The mapping from an SNI domain name to a certificate chain is indirect. In 18864the input source files for "cdb", "hash", "btree" or other tables that are 18865converted to on-disk indexed files via <a href="postmap.1.html">postmap(1)</a>, the value specified for each 18866key is a list of filenames. When <a href="postmap.1.html">postmap(1)</a> is used with the <b>-F</b> option, 18867the generated table stores for each lookup key the base64-encoded contents of 18868the associated files. When querying tables via <b>postmap -Fq</b>, the table 18869value is decoded from base64, yielding the original file content, plus a new 18870line. </p> 18871 18872<p> With "regexp", "pcre", "inline", "texthash", "static" and similar 18873tables that are interpreted at run-time, and don't have a separate 18874source format, the table value is again a list files, that are loaded 18875into memory when the table is opened. </p> 18876 18877<p> With tables whose content is managed outside of Postfix, such 18878as LDAP, MySQL, PostgreSQL, socketmap and tcp, the value must be a 18879concatenation of the desired PEM keys and certificate chains, that 18880is then further encoded to yield a single-line base64 string. 18881Creation of such tables and secure storage (the value includes 18882private key material) are outside the responsibility of Postfix. </p> 18883 18884<p> With "socketmap" and "tcp" the data will be transmitted in the clear, and 18885there is no query access control, so these are generally unsuitable for storing 18886SNI chains. With LDAP and SQL, you should restrict read access and use TLS to 18887protect the sensitive data in transit. </p> 18888 18889<p> Typically there is only one private key and its chain of certificates 18890starting with the "leaf" certificate corresponding to that key, and 18891continuing with the appropriate intermediate issuer CA certificates, 18892with each certificate ideally followed by its issuer. Servers 18893that have keys and certificates for more than one algorithm (e.g. 18894both an RSA key and an ECDSA key, or even RSA, ECDSA and Ed25519) 18895can use multiple chains concatenated together, with the key always 18896listed before the corresponding certificates. </p> 18897 18898<p> This feature is available in Postfix 3.4 and later. </p> 18899 18900 18901</DD> 18902 18903<DT><b><a name="tls_session_ticket_cipher">tls_session_ticket_cipher</a> 18904(default: Postfix ≥ 3.0: aes-256-cbc, Postfix < 3.0: aes-128-cbc)</b></DT><DD> 18905 18906<p> Algorithm used to encrypt <a href="http://tools.ietf.org/html/rfc5077">RFC5077</a> TLS session tickets. This 18907algorithm must use CBC mode, have a 128-bit block size, and must 18908have a key length between 128 and 256 bits. The default is 18909aes-256-cbc. Overriding the default to choose a different algorithm 18910is discouraged. </p> 18911 18912<p> Setting this parameter empty disables session ticket support 18913in the Postfix SMTP server. Another way to disable session ticket 18914support is via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter. </p> 18915 18916<p> This feature is available in Postfix 3.0 and later. </p> 18917 18918 18919</DD> 18920 18921<DT><b><a name="tls_ssl_options">tls_ssl_options</a> 18922(default: empty)</b></DT><DD> 18923 18924<p> List or bit-mask of OpenSSL options to enable. </p> 18925 18926<p> The OpenSSL toolkit provides a set of options that applications 18927can enable to tune the OpenSSL behavior. Some of these work around 18928bugs in other implementations and are on by default. You can use 18929the <a href="postconf.5.html#tls_disable_workarounds">tls_disable_workarounds</a> parameter to selectively disable some 18930or all of the bug work-arounds, making OpenSSL more strict at the 18931cost of non-interoperability with SSL clients or servers that exhibit 18932the bugs. </p> 18933 18934<p> Other options are off by default, and typically enable or disable 18935features rather than bug work-arounds. These may be turned on (with 18936care) via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter. The value is a white-space 18937or comma separated list of named options chosen from the list below. 18938The names are not case-sensitive, you can use lower-case if you 18939prefer. The upper case values below match the corresponding macro 18940name in the ssl.h header file with the SSL_OP_ prefix removed. It 18941is possible that your OpenSSL version includes new options added 18942after your Postfix source code was last updated, in that case you 18943can only enable one of these via the hexadecimal syntax below. </p> 18944 18945<p> You should only enable features via the hexadecimal mask when 18946the need to control the feature is critical (to deal with a new 18947vulnerability or a serious interoperability problem). Postfix DOES 18948NOT promise backwards compatible behavior with respect to the mask 18949bits. A feature enabled via the mask in one release may be enabled 18950by other means in a later release, and the mask bit will then be 18951ignored. Therefore, use of the hexadecimal mask is only a temporary 18952measure until a new Postfix or OpenSSL release provides a better 18953solution. </p> 18954 18955<p> If the value of the parameter is a hexadecimal long integer 18956starting with "0x", the options corresponding to the bits specified 18957in its value are enabled (see openssl/ssl.h and SSL_CTX_set_options(3)). 18958You can only enable options not already controlled by other Postfix 18959settings. For example, you cannot disable protocols or enable 18960server cipher preference. Do not attempt to turn all features by 18961specifying 0xFFFFFFFF, this is unlikely to be a good idea. Some 18962bug work-arounds are also valid here, allowing them to be re-enabled 18963if/when they're no longer enabled by default. The supported values 18964include: </p> 18965 18966<dl> 18967 18968<dt><b>ENABLE_MIDDLEBOX_COMPAT</b></dt> <dd>Postfix ≥ 3.4. See 18969SSL_CTX_set_options(3).</dd> 18970 18971<dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3).</dd> 18972 18973<dt><b>NO_TICKET</b></dt> <dd>Enabled by default when needed in 18974fully-patched Postfix ≥ 2.7. Not needed at all for Postfix ≥ 189752.11, unless for some reason you do not want to support TLS session 18976resumption. Best not set explicitly. See SSL_CTX_set_options(3).</dd> 18977 18978<dt><b>NO_COMPRESSION</b></dt> <dd>Disable SSL compression even if 18979supported by the OpenSSL library. Compression is CPU-intensive, 18980and compression before encryption does not always improve security. </dd> 18981 18982<dt><b>NO_RENEGOTIATION</b></dt> <dd>Postfix ≥ 3.4. This can 18983reduce opportunities for a potential CPU exhaustion attack. See 18984SSL_CTX_set_options(3).</dd> 18985 18986<dt><b>NO_SESSION_RESUMPTION_ON_RENEGOTIATION</b></dt> <dd>Postfix 18987≥ 3.4. See SSL_CTX_set_options(3).</dd> 18988 18989<dt><b>PRIORITIZE_CHACHA</b></dt> <dd>Postfix ≥ 3.4. See SSL_CTX_set_options(3).</dd> 18990 18991</dl> 18992 18993<p> This feature is available in Postfix 2.11 and later. </p> 18994 18995 18996</DD> 18997 18998<DT><b><a name="tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a> 18999(default: yes)</b></DT><DD> 19000 19001<p> Match multiple DNS labels with "*" in wildcard certificates. 19002</p> 19003 19004<p> Some mail service providers prepend the customer domain name 19005to a base domain for which they have a wildcard TLS certificate. 19006For example, the MX records for example.com hosted by example.net 19007may be: </p> 19008 19009<blockquote> 19010<pre> 19011example.com. IN MX 0 example.com.mx1.example.net. 19012example.com. IN MX 0 example.com.mx2.example.net. 19013</pre> 19014</blockquote> 19015 19016<p> and the TLS certificate may be for "*.example.net". The "*" 19017then corresponds with multiple labels in the mail server domain 19018name. While multi-label wildcards are not widely supported, and 19019are not blessed by any standard, there is little to be gained by 19020disallowing their use in this context. </p> 19021 19022<p> Notes: <p> 19023 19024<ul> 19025 19026<li> <p> In a certificate name, the "*" is special only when it is 19027used as the first label. </p> 19028 19029<li> <p> While Postfix (2.11 or later) can match "*" with multiple 19030domain name labels, other implementations likely will not. </p> 19031 19032<li> <p> Earlier Postfix implementations behave as if 19033"<a href="postconf.5.html#tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a> = no". </p> 19034 19035</ul> 19036 19037<p> This feature is available in Postfix 2.11 and later. </p> 19038 19039 19040</DD> 19041 19042<DT><b><a name="tlsmgr_service_name">tlsmgr_service_name</a> 19043(default: tlsmgr)</b></DT><DD> 19044 19045<p> The name of the <a href="tlsmgr.8.html">tlsmgr(8)</a> service entry in <a href="master.5.html">master.cf</a>. This 19046service maintains TLS session caches and other information in support 19047of TLS. </p> 19048 19049<p> This feature is available in Postfix 2.11 and later. </p> 19050 19051 19052</DD> 19053 19054<DT><b><a name="tlsproxy_client_CAfile">tlsproxy_client_CAfile</a> 19055(default: $<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>)</b></DT><DD> 19056 19057<p> A file containing CA certificates of root CAs trusted to sign 19058either remote TLS server certificates or intermediate CA certificates. 19059See <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> for further details. </p> 19060 19061<p> This feature is available in Postfix 3.4 and later. </p> 19062 19063 19064</DD> 19065 19066<DT><b><a name="tlsproxy_client_CApath">tlsproxy_client_CApath</a> 19067(default: $<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a>)</b></DT><DD> 19068 19069<p> Directory with PEM format Certification Authority certificates 19070that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client uses to verify a remote TLS 19071server certificate. See <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> for further details. </p> 19072 19073<p> This feature is available in Postfix 3.4 and later. </p> 19074 19075 19076</DD> 19077 19078<DT><b><a name="tlsproxy_client_cert_file">tlsproxy_client_cert_file</a> 19079(default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD> 19080 19081<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client RSA certificate in PEM 19082format. See <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for further details. The preferred way 19083to configure tlsproxy client keys and certificates is via the 19084"<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p> 19085 19086<p> This feature is available in Postfix 3.4 and later. </p> 19087 19088 19089</DD> 19090 19091<DT><b><a name="tlsproxy_client_chain_files">tlsproxy_client_chain_files</a> 19092(default: $<a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a>)</b></DT><DD> 19093 19094<p> Files with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client keys and certificate 19095chains in PEM format. See <a href="postconf.5.html#smtp_tls_chain_files">smtp_tls_chain_files</a> for further details. </p> 19096 19097<p> This feature is available in Postfix 3.4 and later. </p> 19098 19099 19100</DD> 19101 19102<DT><b><a name="tlsproxy_client_dcert_file">tlsproxy_client_dcert_file</a> 19103(default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD> 19104 19105<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client DSA certificate in PEM 19106format. See <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> for further details. DSA is obsolete and 19107should not be used. </p> 19108 19109<p> This feature is available in Postfix 3.4 and later. </p> 19110 19111 19112</DD> 19113 19114<DT><b><a name="tlsproxy_client_dkey_file">tlsproxy_client_dkey_file</a> 19115(default: $<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a>)</b></DT><DD> 19116 19117<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client DSA private key in PEM 19118format. See <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> for further details. DSA is obsolete and 19119should not be used. </p> 19120 19121<p> This feature is available in Postfix 3.4 and later. </p> 19122 19123 19124</DD> 19125 19126<DT><b><a name="tlsproxy_client_eccert_file">tlsproxy_client_eccert_file</a> 19127(default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD> 19128 19129<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client ECDSA certificate in PEM 19130format. See <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> for further details. The preferred way 19131to configure tlsproxy client keys and certificates is via the 19132"<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p> 19133 19134<p> This feature is available in Postfix 3.4 and later. </p> 19135 19136 19137</DD> 19138 19139<DT><b><a name="tlsproxy_client_eckey_file">tlsproxy_client_eckey_file</a> 19140(default: $<a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a>)</b></DT><DD> 19141 19142<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client ECDSA private key in PEM 19143format. See <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> for further details. The preferred way 19144to configure tlsproxy client keys and certificates is via the 19145"<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p> 19146 19147<p> This feature is available in Postfix 3.4 and later. </p> 19148 19149 19150</DD> 19151 19152<DT><b><a name="tlsproxy_client_enforce_tls">tlsproxy_client_enforce_tls</a> 19153(default: $<a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>)</b></DT><DD> 19154 19155<p> Enforcement mode: require that SMTP servers use TLS encryption. 19156See <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> for further details. </p> 19157 19158<p> This feature is available in Postfix 3.4 and later. </p> 19159 19160 19161</DD> 19162 19163<DT><b><a name="tlsproxy_client_fingerprint_digest">tlsproxy_client_fingerprint_digest</a> 19164(default: $<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>)</b></DT><DD> 19165 19166<p> The message digest algorithm used to construct remote TLS server 19167certificate fingerprints. See <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> for 19168further details. </p> 19169 19170<p> This feature is available in Postfix 3.4 and later. </p> 19171 19172 19173</DD> 19174 19175<DT><b><a name="tlsproxy_client_key_file">tlsproxy_client_key_file</a> 19176(default: $<a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a>)</b></DT><DD> 19177 19178<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client RSA private key in PEM 19179format. See <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> for further details. The preferred way to 19180configure tlsproxy client keys and certificates is via the 19181"<a href="postconf.5.html#tlsproxy_client_chain_files">tlsproxy_client_chain_files</a>" parameter. </p> 19182 19183<p> This feature is available in Postfix 3.4 and later. </p> 19184 19185 19186</DD> 19187 19188<DT><b><a name="tlsproxy_client_loglevel">tlsproxy_client_loglevel</a> 19189(default: $<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>)</b></DT><DD> 19190 19191<p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client logging of TLS 19192activity. See <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> for further details. </p> 19193 19194<p> This feature is available in Postfix 3.4 and later. </p> 19195 19196 19197</DD> 19198 19199<DT><b><a name="tlsproxy_client_loglevel_parameter">tlsproxy_client_loglevel_parameter</a> 19200(default: <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>)</b></DT><DD> 19201 19202<p> The name of the parameter that provides the <a href="postconf.5.html#tlsproxy_client_loglevel">tlsproxy_client_loglevel</a> 19203value. </p> 19204 19205<p> This feature is available in Postfix 3.4 and later. </p> 19206 19207 19208</DD> 19209 19210<DT><b><a name="tlsproxy_client_per_site">tlsproxy_client_per_site</a> 19211(default: $<a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a>)</b></DT><DD> 19212 19213<p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS 19214usage policy by next-hop destination and by remote TLS server 19215hostname. See <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> for further details. </p> 19216 19217<p> This feature is available in Postfix 3.4 and later. </p> 19218 19219 19220</DD> 19221 19222<DT><b><a name="tlsproxy_client_policy_maps">tlsproxy_client_policy_maps</a> 19223(default: $<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>)</b></DT><DD> 19224 19225<p> Optional lookup tables with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> client TLS 19226security policy by next-hop destination. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> 19227for further details. </p> 19228 19229<p> This feature is available in Postfix 3.4 and later. </p> 19230 19231 19232</DD> 19233 19234<DT><b><a name="tlsproxy_client_scert_verifydepth">tlsproxy_client_scert_verifydepth</a> 19235(default: $<a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>)</b></DT><DD> 19236 19237<p> The verification depth for remote TLS server certificates. 19238See <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a> for further details. </p> 19239 19240<p> This feature is available in Postfix 3.4 and later. </p> 19241 19242 19243</DD> 19244 19245<DT><b><a name="tlsproxy_client_security_level">tlsproxy_client_security_level</a> 19246(default: $<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a>)</b></DT><DD> 19247 19248<p> The default TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> 19249client. See <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> for further details. </p> 19250 19251<p> This feature is available in Postfix 3.4 and later. </p> 19252 19253 19254</DD> 19255 19256<DT><b><a name="tlsproxy_client_use_tls">tlsproxy_client_use_tls</a> 19257(default: $<a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>)</b></DT><DD> 19258 19259<p> Opportunistic mode: use TLS when a remote server announces TLS 19260support. See <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> for further details. </p> 19261 19262<p> This feature is available in Postfix 3.4 and later. </p> 19263 19264 19265</DD> 19266 19267<DT><b><a name="tlsproxy_enforce_tls">tlsproxy_enforce_tls</a> 19268(default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD> 19269 19270<p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and 19271require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> for 19272further details. </p> 19273 19274<p> This feature is available in Postfix 2.8 and later. </p> 19275 19276 19277</DD> 19278 19279<DT><b><a name="tlsproxy_service_name">tlsproxy_service_name</a> 19280(default: tlsproxy)</b></DT><DD> 19281 19282<p> The name of the <a href="tlsproxy.8.html">tlsproxy(8)</a> service entry in <a href="master.5.html">master.cf</a>. This 19283service performs plaintext <=> TLS ciphertext conversion. <p> 19284 19285<p> This feature is available in Postfix 2.8 and later. </p> 19286 19287 19288</DD> 19289 19290<DT><b><a name="tlsproxy_tls_CAfile">tlsproxy_tls_CAfile</a> 19291(default: $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)</b></DT><DD> 19292 19293<p> A file containing (PEM format) CA certificates of root CAs 19294trusted to sign either remote SMTP client certificates or intermediate 19295CA certificates. See <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> for further details. </p> 19296 19297<p> This feature is available in Postfix 2.8 and later. </p> 19298 19299 19300</DD> 19301 19302<DT><b><a name="tlsproxy_tls_CApath">tlsproxy_tls_CApath</a> 19303(default: $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>)</b></DT><DD> 19304 19305<p> A directory containing (PEM format) CA certificates of root CAs 19306trusted to sign either remote SMTP client certificates or intermediate 19307CA certificates. See <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> for further details. </p> 19308 19309<p> This feature is available in Postfix 2.8 and later. </p> 19310 19311 19312</DD> 19313 19314<DT><b><a name="tlsproxy_tls_always_issue_session_ids">tlsproxy_tls_always_issue_session_ids</a> 19315(default: $<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>)</b></DT><DD> 19316 19317<p> Force the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server to issue a TLS session id, 19318even when TLS session caching is turned off. See 19319<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> for further details. </p> 19320 19321<p> This feature is available in Postfix 2.8 and later. </p> 19322 19323 19324</DD> 19325 19326<DT><b><a name="tlsproxy_tls_ask_ccert">tlsproxy_tls_ask_ccert</a> 19327(default: $<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>)</b></DT><DD> 19328 19329<p> Ask a remote SMTP client for a client certificate. See 19330<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> for further details. </p> 19331 19332<p> This feature is available in Postfix 2.8 and later. </p> 19333 19334 19335</DD> 19336 19337<DT><b><a name="tlsproxy_tls_ccert_verifydepth">tlsproxy_tls_ccert_verifydepth</a> 19338(default: $<a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>)</b></DT><DD> 19339 19340<p> The verification depth for remote SMTP client certificates. A 19341depth of 1 is sufficient if the issuing CA is listed in a local CA 19342file. See <a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> for further details. </p> 19343 19344<p> This feature is available in Postfix 2.8 and later. </p> 19345 19346 19347</DD> 19348 19349<DT><b><a name="tlsproxy_tls_cert_file">tlsproxy_tls_cert_file</a> 19350(default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD> 19351 19352<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA certificate in PEM 19353format. This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 19354private RSA key. See <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for further details. With 19355Postfix ≥ 3.4 the preferred way to configure tlsproxy server keys and 19356certificates is via the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p> 19357 19358<p> This feature is available in Postfix 2.8 and later. </p> 19359 19360 19361</DD> 19362 19363<DT><b><a name="tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a> 19364(default: $<a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a>)</b></DT><DD> 19365 19366<p> Files with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server keys and certificate 19367chains in PEM format. See <a href="postconf.5.html#smtpd_tls_chain_files">smtpd_tls_chain_files</a> for further details. </p> 19368 19369<p> This feature is available in Postfix 3.4 and later. </p> 19370 19371 19372</DD> 19373 19374<DT><b><a name="tlsproxy_tls_ciphers">tlsproxy_tls_ciphers</a> 19375(default: $<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>)</b></DT><DD> 19376 19377<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 19378will use with opportunistic TLS encryption. See <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> 19379for further details. </p> 19380 19381<p> This feature is available in Postfix 2.8 and later. </p> 19382 19383 19384</DD> 19385 19386<DT><b><a name="tlsproxy_tls_dcert_file">tlsproxy_tls_dcert_file</a> 19387(default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD> 19388 19389<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA certificate in PEM 19390format. This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 19391private DSA key. DSA is obsolete and should not be used. See 19392<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> for further details. </p> 19393 19394<p> This feature is available in Postfix 2.8 and later. </p> 19395 19396 19397</DD> 19398 19399<DT><b><a name="tlsproxy_tls_dh1024_param_file">tlsproxy_tls_dh1024_param_file</a> 19400(default: $<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>)</b></DT><DD> 19401 19402<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 19403should use with non-export EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> 19404for further details. </p> 19405 19406<p> This feature is available in Postfix 2.8 and later. </p> 19407 19408 19409</DD> 19410 19411<DT><b><a name="tlsproxy_tls_dh512_param_file">tlsproxy_tls_dh512_param_file</a> 19412(default: $<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>)</b></DT><DD> 19413 19414<p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 19415should use with export-grade EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> 19416for further details. The default SMTP server cipher grade is 19417"medium" with Postfix releases after the middle of 2015, and as a 19418result export-grade cipher suites are by default not used. </p> 19419 19420<p> This feature is available in Postfix 2.8 and later. </p> 19421 19422 19423</DD> 19424 19425<DT><b><a name="tlsproxy_tls_dkey_file">tlsproxy_tls_dkey_file</a> 19426(default: $<a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>)</b></DT><DD> 19427 19428<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA private key in PEM 19429format. This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 19430DSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. DSA is 19431obsolete and should not be used. See <a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> for further 19432details. </p> 19433 19434<p> This feature is available in Postfix 2.8 and later. </p> 19435 19436 19437</DD> 19438 19439<DT><b><a name="tlsproxy_tls_eccert_file">tlsproxy_tls_eccert_file</a> 19440(default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD> 19441 19442<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA certificate in PEM 19443format. This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 19444private ECDSA key. See <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> for further details. With 19445Postfix ≥ 3.4 the preferred way to configure tlsproxy server keys and 19446certificates is via the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p> 19447 19448<p> This feature is available in Postfix 2.8 and later. </p> 19449 19450 19451</DD> 19452 19453<DT><b><a name="tlsproxy_tls_eckey_file">tlsproxy_tls_eckey_file</a> 19454(default: $<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>)</b></DT><DD> 19455 19456<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA private key in PEM 19457format. This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 19458ECDSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. See 19459<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> for further details. With Postfix ≥ 3.4 the 19460preferred way to configure tlsproxy server keys and certificates is via 19461the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p> 19462 19463<p> This feature is available in Postfix 2.8 and later. </p> 19464 19465 19466</DD> 19467 19468<DT><b><a name="tlsproxy_tls_eecdh_grade">tlsproxy_tls_eecdh_grade</a> 19469(default: $<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>)</b></DT><DD> 19470 19471<p> The Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server security grade for ephemeral 19472elliptic-curve Diffie-Hellman (EECDH) key exchange. See 19473<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> for further details. </p> 19474 19475<p> This feature is available in Postfix 2.8 and later. </p> 19476 19477 19478</DD> 19479 19480<DT><b><a name="tlsproxy_tls_exclude_ciphers">tlsproxy_tls_exclude_ciphers</a> 19481(default: $<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>)</b></DT><DD> 19482 19483<p> List of ciphers or cipher types to exclude from the <a href="tlsproxy.8.html">tlsproxy(8)</a> 19484server cipher list at all TLS security levels. See 19485<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> for further details. </p> 19486 19487<p> This feature is available in Postfix 2.8 and later. </p> 19488 19489 19490</DD> 19491 19492<DT><b><a name="tlsproxy_tls_fingerprint_digest">tlsproxy_tls_fingerprint_digest</a> 19493(default: $<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>)</b></DT><DD> 19494 19495<p> The message digest algorithm to construct remote SMTP 19496client-certificate 19497fingerprints. See <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> for further details. 19498</p> 19499 19500<p> This feature is available in Postfix 2.8 and later. </p> 19501 19502 19503</DD> 19504 19505<DT><b><a name="tlsproxy_tls_key_file">tlsproxy_tls_key_file</a> 19506(default: $<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a>)</b></DT><DD> 19507 19508<p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA private key in PEM 19509format. This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 19510RSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>. See 19511<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a> for further details. With Postfix ≥ 3.4 the 19512preferred way to configure tlsproxy server keys and certificates is via 19513the "<a href="postconf.5.html#tlsproxy_tls_chain_files">tlsproxy_tls_chain_files</a>" parameter. </p> 19514 19515<p> This feature is available in Postfix 2.8 and later. </p> 19516 19517 19518</DD> 19519 19520<DT><b><a name="tlsproxy_tls_loglevel">tlsproxy_tls_loglevel</a> 19521(default: $<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a>)</b></DT><DD> 19522 19523<p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server logging of TLS 19524activity. Each logging level also includes the information that 19525is logged at a lower logging level. See <a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> for 19526further details. </p> 19527 19528<p> This feature is available in Postfix 2.8 and later. </p> 19529 19530 19531</DD> 19532 19533<DT><b><a name="tlsproxy_tls_mandatory_ciphers">tlsproxy_tls_mandatory_ciphers</a> 19534(default: $<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>)</b></DT><DD> 19535 19536<p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 19537will use with mandatory TLS encryption. See <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> 19538for further details. </p> 19539 19540<p> This feature is available in Postfix 2.8 and later. </p> 19541 19542 19543</DD> 19544 19545<DT><b><a name="tlsproxy_tls_mandatory_exclude_ciphers">tlsproxy_tls_mandatory_exclude_ciphers</a> 19546(default: $<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>)</b></DT><DD> 19547 19548<p> Additional list of ciphers or cipher types to exclude from the 19549<a href="tlsproxy.8.html">tlsproxy(8)</a> server cipher list at mandatory TLS security levels. 19550See <a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> for further details. </p> 19551 19552<p> This feature is available in Postfix 2.8 and later. </p> 19553 19554 19555</DD> 19556 19557<DT><b><a name="tlsproxy_tls_mandatory_protocols">tlsproxy_tls_mandatory_protocols</a> 19558(default: $<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>)</b></DT><DD> 19559 19560<p> The SSL/TLS protocols accepted by the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server 19561with mandatory TLS encryption. If the list is empty, the server 19562supports all available SSL/TLS protocol versions. See 19563<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> for further details. </p> 19564 19565<p> This feature is available in Postfix 2.8 and later. </p> 19566 19567 19568</DD> 19569 19570<DT><b><a name="tlsproxy_tls_protocols">tlsproxy_tls_protocols</a> 19571(default: $<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>)</b></DT><DD> 19572 19573<p> List of TLS protocols that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server will 19574exclude or include with opportunistic TLS encryption. See 19575<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> for further details. </p> 19576 19577<p> This feature is available in Postfix 2.8 and later. </p> 19578 19579 19580</DD> 19581 19582<DT><b><a name="tlsproxy_tls_req_ccert">tlsproxy_tls_req_ccert</a> 19583(default: $<a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>)</b></DT><DD> 19584 19585<p> With mandatory TLS encryption, require a trusted remote SMTP 19586client certificate in order to allow TLS connections to proceed. 19587See <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> for further details. </p> 19588 19589<p> This feature is available in Postfix 2.8 and later. </p> 19590 19591 19592</DD> 19593 19594<DT><b><a name="tlsproxy_tls_security_level">tlsproxy_tls_security_level</a> 19595(default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD> 19596 19597<p> The SMTP TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server; 19598when a non-empty value is specified, this overrides the obsolete 19599parameters <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a> and <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>. See 19600<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> for further details. </p> 19601 19602<p> This feature is available in Postfix 2.8 and later. </p> 19603 19604 19605</DD> 19606 19607<DT><b><a name="tlsproxy_tls_session_cache_timeout">tlsproxy_tls_session_cache_timeout</a> 19608(default: $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>)</b></DT><DD> 19609 19610<p> Obsolete expiration time of Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server TLS session 19611cache information. Since the cache is shared with <a href="smtpd.8.html">smtpd(8)</a> and managed 19612by <a href="tlsmgr.8.html">tlsmgr(8)</a>, there is only one expiration time for the SMTP server cache 19613shared by all three services, namely <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p> 19614 19615<p> This feature is available in Postfix 2.8 and later. </p> 19616 19617 19618</DD> 19619 19620<DT><b><a name="tlsproxy_use_tls">tlsproxy_use_tls</a> 19621(default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD> 19622 19623<p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients, 19624but do not require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a> 19625for further details. </p> 19626 19627<p> This feature is available in Postfix 2.8 and later. </p> 19628 19629 19630</DD> 19631 19632<DT><b><a name="tlsproxy_watchdog_timeout">tlsproxy_watchdog_timeout</a> 19633(default: 10s)</b></DT><DD> 19634 19635<p> How much time a <a href="tlsproxy.8.html">tlsproxy(8)</a> process may take to process local 19636or remote I/O before it is terminated by a built-in watchdog timer. 19637This is a safety mechanism that prevents <a href="tlsproxy.8.html">tlsproxy(8)</a> from becoming 19638non-responsive due to a bug in Postfix itself or in system software. 19639To avoid false alarms and unnecessary cache corruption this limit 19640cannot be set under 10s. </p> 19641 19642<p> Specify a non-zero time value (an integral value plus an optional 19643one-letter suffix that specifies the time unit). Time units: s 19644(seconds), m (minutes), h (hours), d (days), w (weeks). </p> 19645 19646<p> This feature is available in Postfix 2.8 and later </p> 19647 19648 19649</DD> 19650 19651<DT><b><a name="trace_service_name">trace_service_name</a> 19652(default: trace)</b></DT><DD> 19653 19654<p> 19655The name of the trace service. This service is implemented by the 19656<a href="bounce.8.html">bounce(8)</a> daemon and maintains a record 19657of mail deliveries and produces a mail delivery report when verbose 19658delivery is requested with "<b>sendmail -v</b>". 19659</p> 19660 19661<p> 19662This feature is available in Postfix 2.1 and later. 19663</p> 19664 19665 19666</DD> 19667 19668<DT><b><a name="transport_delivery_slot_cost">transport_delivery_slot_cost</a> 19669(default: $<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b></DT><DD> 19670 19671<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> 19672parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 19673the message delivery transport. </p> 19674 19675<p> Note: <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> parameters will not 19676show up in "postconf" command output before Postfix version 2.9. 19677This limitation applies to many parameters whose name is a combination 19678of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case: 19679"_delivery_slot_cost"). </p> 19680 19681 19682</DD> 19683 19684<DT><b><a name="transport_delivery_slot_discount">transport_delivery_slot_discount</a> 19685(default: $<a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>)</b></DT><DD> 19686 19687<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a> 19688parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 19689the message delivery transport. </p> 19690 19691<p> Note: <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> parameters will 19692not show up in "postconf" command output before Postfix version 196932.9. This limitation applies to many parameters whose name is a 19694combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 19695this case: "_delivery_slot_discount"). </p> 19696 19697 19698</DD> 19699 19700<DT><b><a name="transport_delivery_slot_loan">transport_delivery_slot_loan</a> 19701(default: $<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b></DT><DD> 19702 19703<p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a> 19704parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 19705the message delivery transport. </p> 19706 19707<p> Note: <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> parameters will not 19708show up in "postconf" command output before Postfix version 2.9. 19709This limitation applies to many parameters whose name is a combination 19710of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case: 19711"_delivery_slot_loan"). </p> 19712 19713 19714</DD> 19715 19716<DT><b><a name="transport_destination_concurrency_failed_cohort_limit">transport_destination_concurrency_failed_cohort_limit</a> 19717(default: $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>)</b></DT><DD> 19718 19719<p> A transport-specific override for the 19720<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> parameter value, 19721where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery 19722transport. </p> 19723 19724<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> 19725parameters will not show up in "postconf" command output before 19726Postfix version 2.9. This limitation applies to many parameters 19727whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a 19728built-in suffix (in this case: 19729"_destination_concurrency_failed_cohort_limit"). </p> 19730 19731<p> This feature is available in Postfix 2.5 and later. </p> 19732 19733 19734</DD> 19735 19736<DT><b><a name="transport_destination_concurrency_limit">transport_destination_concurrency_limit</a> 19737(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD> 19738 19739<p> A transport-specific override for the 19740<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> parameter value, where 19741<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery 19742transport. </p> 19743 19744<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> 19745parameters will not show up in "postconf" command output before 19746Postfix version 2.9. This limitation applies to many parameters 19747whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a 19748built-in suffix (in this case: "_destination_concurrency_limit"). 19749</p> 19750 19751 19752</DD> 19753 19754<DT><b><a name="transport_destination_concurrency_negative_feedback">transport_destination_concurrency_negative_feedback</a> 19755(default: $<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>)</b></DT><DD> 19756 19757<p> A transport-specific override for the 19758<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> parameter value, 19759where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery 19760transport. </p> 19761 19762<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a> 19763parameters will not show up in "postconf" command output before 19764Postfix version 2.9. This limitation applies to many parameters 19765whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a 19766built-in suffix (in this case: 19767"_destination_concurrency_negative_feedback"). </p> 19768 19769<p> This feature is available in Postfix 2.5 and later. </p> 19770 19771 19772</DD> 19773 19774<DT><b><a name="transport_destination_concurrency_positive_feedback">transport_destination_concurrency_positive_feedback</a> 19775(default: $<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>)</b></DT><DD> 19776 19777<p> A transport-specific override for the 19778<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> parameter value, 19779where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery 19780transport. </p> 19781 19782<p> Note: some <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a> 19783parameters will not show up in "postconf" command output before 19784Postfix version 2.9. This limitation applies to many parameters 19785whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a 19786built-in suffix (in this case: 19787"_destination_concurrency_positive_feedback"). </p> 19788 19789<p> This feature is available in Postfix 2.5 and later. </p> 19790 19791 19792</DD> 19793 19794<DT><b><a name="transport_destination_rate_delay">transport_destination_rate_delay</a> 19795(default: $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>)</b></DT><DD> 19796 19797<p> A transport-specific override for the <a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a> 19798parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 19799the message delivery transport. </p> 19800 19801<p> Note: some <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> parameters 19802will not show up in "postconf" command output before Postfix version 198032.9. This limitation applies to many parameters whose name is a 19804combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 19805this case: "_destination_rate_delay"). </p> 19806 19807<p> This feature is available in Postfix 2.5 and later. </p> 19808 19809 19810</DD> 19811 19812<DT><b><a name="transport_destination_recipient_limit">transport_destination_recipient_limit</a> 19813(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD> 19814 19815<p> A transport-specific override for the 19816<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> parameter value, where 19817<i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery 19818transport. </p> 19819 19820<p> Note: some <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> parameters 19821will not show up in "postconf" command output before Postfix version 198222.9. This limitation applies to many parameters whose name is a 19823combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 19824this case: "_destination_recipient_limit"). </p> 19825 19826 19827</DD> 19828 19829<DT><b><a name="transport_extra_recipient_limit">transport_extra_recipient_limit</a> 19830(default: $<a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>)</b></DT><DD> 19831 19832<p> A transport-specific override for the <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a> 19833parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 19834the message delivery transport. </p> 19835 19836<p> Note: <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> parameters will 19837not show up in "postconf" command output before Postfix version 198382.9. This limitation applies to many parameters whose name is a 19839combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 19840this case: "_extra_recipient_limit"). </p> 19841 19842 19843</DD> 19844 19845<DT><b><a name="transport_initial_destination_concurrency">transport_initial_destination_concurrency</a> 19846(default: $<a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>)</b></DT><DD> 19847 19848<p> A transport-specific override for the <a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a> 19849parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 19850the message delivery transport. </p> 19851 19852<p> Note: some <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> 19853parameters will not show up in "postconf" command output before 19854Postfix version 2.9. This limitation applies to many parameters 19855whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a 19856built-in suffix (in this case: "_initial_destination_concurrency"). 19857</p> 19858 19859<p> This feature is available in Postfix 2.5 and later. </p> 19860 19861 19862</DD> 19863 19864<DT><b><a name="transport_maps">transport_maps</a> 19865(default: empty)</b></DT><DD> 19866 19867<p> 19868Optional lookup tables with mappings from recipient address to 19869(message delivery transport, next-hop destination). See <a href="transport.5.html">transport(5)</a> 19870for details. 19871</p> 19872 19873<p> 19874Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by 19875whitespace or comma. Tables will be searched in the specified order 19876until a match is found. If you use this 19877feature with local files, run "<b>postmap /etc/postfix/transport</b>" 19878after making a change. </p> 19879 19880<p> Pattern matching of domain names is controlled by the presence 19881or absence of "<a href="postconf.5.html#transport_maps">transport_maps</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> 19882parameter value. </p> 19883 19884<p> For safety reasons, as of Postfix 2.3 this feature does not 19885allow $number substitutions in regular expression maps. </p> 19886 19887<p> 19888Examples: 19889</p> 19890 19891<pre> 19892<a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/transport 19893<a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport 19894</pre> 19895 19896 19897</DD> 19898 19899<DT><b><a name="transport_minimum_delivery_slots">transport_minimum_delivery_slots</a> 19900(default: $<a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>)</b></DT><DD> 19901 19902<p> A transport-specific override for the <a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a> 19903parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 19904the message delivery transport. </p> 19905 19906<p> Note: <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> parameters will 19907not show up in "postconf" command output before Postfix version 199082.9. This limitation applies to many parameters whose name is a 19909combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 19910this case: "_minimum_delivery_slots"). </p> 19911 19912 19913</DD> 19914 19915<DT><b><a name="transport_recipient_limit">transport_recipient_limit</a> 19916(default: $<a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>)</b></DT><DD> 19917 19918<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a> 19919parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 19920the message delivery transport. </p> 19921 19922<p> Note: some <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> parameters will not 19923show up in "postconf" command output before Postfix version 2.9. 19924This limitation applies to many parameters whose name is a combination 19925of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case: 19926"_recipient_limit"). </p> 19927 19928 19929</DD> 19930 19931<DT><b><a name="transport_recipient_refill_delay">transport_recipient_refill_delay</a> 19932(default: $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>)</b></DT><DD> 19933 19934<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a> 19935parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 19936the message delivery transport. </p> 19937 19938<p> Note: <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> parameters will 19939not show up in "postconf" command output before Postfix version 199402.9. This limitation applies to many parameters whose name is a 19941combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 19942this case: "_recipient_refill_delay"). </p> 19943 19944<p> This feature is available in Postfix 2.4 and later. </p> 19945 19946 19947</DD> 19948 19949<DT><b><a name="transport_recipient_refill_limit">transport_recipient_refill_limit</a> 19950(default: $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>)</b></DT><DD> 19951 19952<p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> 19953parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of 19954the message delivery transport. </p> 19955 19956<p> Note: <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> parameters will 19957not show up in "postconf" command output before Postfix version 199582.9. This limitation applies to many parameters whose name is a 19959combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in 19960this case: "_recipient_refill_limit"). </p> 19961 19962<p> This feature is available in Postfix 2.4 and later. </p> 19963 19964 19965</DD> 19966 19967<DT><b><a name="transport_retry_time">transport_retry_time</a> 19968(default: 60s)</b></DT><DD> 19969 19970<p> 19971The time between attempts by the Postfix queue manager to contact 19972a malfunctioning message delivery transport. 19973</p> 19974 19975<p> 19976Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 19977The default time unit is s (seconds). 19978</p> 19979 19980 19981</DD> 19982 19983<DT><b><a name="transport_time_limit">transport_time_limit</a> 19984(default: $<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b></DT><DD> 19985 19986<p> A transport-specific override for the <a href="postconf.5.html#command_time_limit">command_time_limit</a> parameter 19987value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message 19988delivery transport. </p> 19989 19990<p> Note: <a href="postconf.5.html#transport_time_limit"><i>transport</i>_time_limit</a> parameters will not show up 19991in "postconf" command output before Postfix version 2.9. This 19992limitation applies to many parameters whose name is a combination 19993of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case: 19994"_time_limit"). </p> 19995 19996 19997</DD> 19998 19999<DT><b><a name="transport_transport_rate_delay">transport_transport_rate_delay</a> 20000(default: $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>)</b></DT><DD> 20001 20002<p> A transport-specific override for the <a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a> 20003parameter value, where the initial <i>transport</i> in the parameter 20004name is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p> 20005 20006 20007</DD> 20008 20009<DT><b><a name="trigger_timeout">trigger_timeout</a> 20010(default: 10s)</b></DT><DD> 20011 20012<p> 20013The time limit for sending a trigger to a Postfix daemon (for 20014example, the <a href="pickup.8.html">pickup(8)</a> or <a href="qmgr.8.html">qmgr(8)</a> daemon). This time limit prevents 20015programs from getting stuck when the mail system is under heavy 20016load. 20017</p> 20018 20019<p> 20020Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). 20021The default time unit is s (seconds). 20022</p> 20023 20024 20025</DD> 20026 20027<DT><b><a name="undisclosed_recipients_header">undisclosed_recipients_header</a> 20028(default: see "postconf -d" output)</b></DT><DD> 20029 20030<p> 20031Message header that the Postfix <a href="cleanup.8.html">cleanup(8)</a> server inserts when a 20032message contains no To: or Cc: message header. With Postfix 2.8 20033and later, the default value is empty. With Postfix 2.4-2.7, 20034specify an empty value to disable this feature. </p> 20035 20036<p> Example: </p> 20037 20038<pre> 20039# Default value before Postfix 2.8. 20040# Note: the ":" and ";" are both required. 20041<a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> = To: undisclosed-recipients:; 20042</pre> 20043 20044 20045</DD> 20046 20047<DT><b><a name="unknown_address_reject_code">unknown_address_reject_code</a> 20048(default: 450)</b></DT><DD> 20049 20050<p> 20051The numerical response code when the Postfix SMTP server rejects a 20052sender or recipient address because its domain is unknown. This 20053is one of the possible replies from the restrictions 20054<a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a> and <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>. 20055</p> 20056 20057<p> 20058Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 20059</p> 20060 20061 20062</DD> 20063 20064<DT><b><a name="unknown_address_tempfail_action">unknown_address_tempfail_action</a> 20065(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD> 20066 20067<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a> 20068or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> fail due to a temporary error 20069condition. Specify "defer" to defer the remote SMTP client request 20070immediately. With the default "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix 20071SMTP server continues to look for opportunities to reject mail, and 20072defers the client request only if it would otherwise be accepted. 20073</p> 20074 20075<p> This feature is available in Postfix 2.6 and later. </p> 20076 20077 20078</DD> 20079 20080<DT><b><a name="unknown_client_reject_code">unknown_client_reject_code</a> 20081(default: 450)</b></DT><DD> 20082 20083<p> 20084The numerical Postfix SMTP server response code when a client 20085without valid address <=> name mapping is rejected by the 20086<a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> restriction. The SMTP server always replies 20087with 450 when the mapping failed due to a temporary error condition. 20088</p> 20089 20090<p> 20091Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 20092</p> 20093 20094 20095</DD> 20096 20097<DT><b><a name="unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a> 20098(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD> 20099 20100<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> 20101fails due to a temporary error condition. Specify "defer" to defer 20102the remote SMTP client request immediately. With the default 20103"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look 20104for opportunities to reject mail, and defers the client request 20105only if it would otherwise be accepted. </p> 20106 20107<p> This feature is available in Postfix 2.6 and later. </p> 20108 20109 20110</DD> 20111 20112<DT><b><a name="unknown_hostname_reject_code">unknown_hostname_reject_code</a> 20113(default: 450)</b></DT><DD> 20114 20115<p> 20116The numerical Postfix SMTP server response code when the hostname 20117specified with the HELO or EHLO command is rejected by the 20118<a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> restriction. 20119</p> 20120 20121<p> 20122Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 20123</p> 20124 20125 20126</DD> 20127 20128<DT><b><a name="unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> 20129(default: 550)</b></DT><DD> 20130 20131<p> 20132The numerical Postfix SMTP server response code when a recipient 20133address is local, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> specifies a list of 20134lookup tables that does not match the recipient. A recipient 20135address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, 20136$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> or $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. 20137</p> 20138 20139<p> 20140The default setting is 550 (reject mail) but it is safer to initially 20141use 450 (try again later) so you have time to find out if your 20142<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> settings are OK. 20143</p> 20144 20145<p> 20146Example: 20147</p> 20148 20149<pre> 20150<a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 450 20151</pre> 20152 20153<p> 20154This feature is available in Postfix 2.0 and later. 20155</p> 20156 20157 20158</DD> 20159 20160<DT><b><a name="unknown_relay_recipient_reject_code">unknown_relay_recipient_reject_code</a> 20161(default: 550)</b></DT><DD> 20162 20163<p> 20164The numerical Postfix SMTP server reply code when a recipient 20165address matches $<a href="postconf.5.html#relay_domains">relay_domains</a>, and <a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> specifies 20166a list of lookup tables that does not match the recipient address. 20167</p> 20168 20169<p> 20170This feature is available in Postfix 2.0 and later. 20171</p> 20172 20173 20174</DD> 20175 20176<DT><b><a name="unknown_virtual_alias_reject_code">unknown_virtual_alias_reject_code</a> 20177(default: 550)</b></DT><DD> 20178 20179<p> 20180The Postfix SMTP server reply code when a recipient address matches 20181$<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, and $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> specifies a list 20182of lookup tables that does not match the recipient address. 20183</p> 20184 20185<p> 20186This feature is available in Postfix 2.0 and later. 20187</p> 20188 20189 20190</DD> 20191 20192<DT><b><a name="unknown_virtual_mailbox_reject_code">unknown_virtual_mailbox_reject_code</a> 20193(default: 550)</b></DT><DD> 20194 20195<p> 20196The Postfix SMTP server reply code when a recipient address matches 20197$<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>, and $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> specifies a list 20198of lookup tables that does not match the recipient address. 20199</p> 20200 20201<p> 20202This feature is available in Postfix 2.0 and later. 20203</p> 20204 20205 20206</DD> 20207 20208<DT><b><a name="unverified_recipient_defer_code">unverified_recipient_defer_code</a> 20209(default: 450)</b></DT><DD> 20210 20211<p> 20212The numerical Postfix SMTP server response when a recipient address 20213probe fails due to a temporary error condition. 20214</p> 20215 20216<p> 20217Unlike elsewhere in Postfix, you can specify 250 in order to 20218accept the address anyway. 20219</p> 20220 20221<p> 20222Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 20223</p> 20224 20225<p> 20226This feature is available in Postfix 2.6 and later. 20227</p> 20228 20229 20230</DD> 20231 20232<DT><b><a name="unverified_recipient_reject_code">unverified_recipient_reject_code</a> 20233(default: 450)</b></DT><DD> 20234 20235<p> 20236The numerical Postfix SMTP server response when a recipient address 20237is rejected by the <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> restriction. 20238</p> 20239 20240<p> 20241Unlike elsewhere in Postfix, you can specify 250 in order to 20242accept the address anyway. 20243</p> 20244 20245<p> 20246Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 20247</p> 20248 20249<p> 20250This feature is available in Postfix 2.1 and later. 20251</p> 20252 20253 20254</DD> 20255 20256<DT><b><a name="unverified_recipient_reject_reason">unverified_recipient_reject_reason</a> 20257(default: empty)</b></DT><DD> 20258 20259<p> The Postfix SMTP server's reply when rejecting mail with 20260<a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. Do not include the numeric SMTP reply 20261code or the enhanced status code. By default, the response includes 20262actual address verification details. 20263 20264<p> Example: </p> 20265 20266<pre> 20267<a href="postconf.5.html#unverified_recipient_reject_reason">unverified_recipient_reject_reason</a> = Recipient address lookup failed 20268</pre> 20269 20270<p> This feature is available in Postfix 2.6 and later. </p> 20271 20272 20273</DD> 20274 20275<DT><b><a name="unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> 20276(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD> 20277 20278<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> 20279fails due to a temporary error condition. Specify "defer" to defer 20280the remote SMTP client request immediately. With the default 20281"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look 20282for opportunities to reject mail, and defers the client request 20283only if it would otherwise be accepted. </p> 20284 20285<p> This feature is available in Postfix 2.6 and later. </p> 20286 20287 20288</DD> 20289 20290<DT><b><a name="unverified_sender_defer_code">unverified_sender_defer_code</a> 20291(default: 450)</b></DT><DD> 20292 20293<p> 20294The numerical Postfix SMTP server response code when a sender address 20295probe fails due to a temporary error condition. 20296</p> 20297 20298<p> 20299Unlike elsewhere in Postfix, you can specify 250 in order to 20300accept the address anyway. 20301</p> 20302 20303<p> 20304Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 20305</p> 20306 20307<p> 20308This feature is available in Postfix 2.6 and later. 20309</p> 20310 20311 20312</DD> 20313 20314<DT><b><a name="unverified_sender_reject_code">unverified_sender_reject_code</a> 20315(default: 450)</b></DT><DD> 20316 20317<p> 20318The numerical Postfix SMTP server response code when a recipient 20319address is rejected by the <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> restriction. 20320</p> 20321 20322<p> 20323Unlike elsewhere in Postfix, you can specify 250 in order to 20324accept the address anyway. 20325</p> 20326 20327<p> 20328Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. 20329</p> 20330 20331<p> 20332This feature is available in Postfix 2.1 and later. 20333</p> 20334 20335 20336</DD> 20337 20338<DT><b><a name="unverified_sender_reject_reason">unverified_sender_reject_reason</a> 20339(default: empty)</b></DT><DD> 20340 20341<p> The Postfix SMTP server's reply when rejecting mail with 20342<a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>. Do not include the numeric SMTP reply 20343code or the enhanced status code. By default, the response includes 20344actual address verification details. 20345 20346<p> Example: </p> 20347 20348<pre> 20349<a href="postconf.5.html#unverified_sender_reject_reason">unverified_sender_reject_reason</a> = Sender address lookup failed 20350</pre> 20351 20352<p> This feature is available in Postfix 2.6 and later. </p> 20353 20354 20355</DD> 20356 20357<DT><b><a name="unverified_sender_tempfail_action">unverified_sender_tempfail_action</a> 20358(default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD> 20359 20360<p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> 20361fails due to a temporary error condition. Specify "defer" to defer 20362the remote SMTP client request immediately. With the default 20363"<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look 20364for opportunities to reject mail, and defers the client request 20365only if it would otherwise be accepted. </p> 20366 20367<p> This feature is available in Postfix 2.6 and later. </p> 20368 20369 20370</DD> 20371 20372<DT><b><a name="verp_delimiter_filter">verp_delimiter_filter</a> 20373(default: -=+)</b></DT><DD> 20374 20375<p> 20376The characters Postfix accepts as VERP delimiter characters on the 20377Postfix <a href="sendmail.1.html">sendmail(1)</a> command line and in SMTP commands. 20378</p> 20379 20380<p> 20381This feature is available in Postfix 1.1 and later. 20382</p> 20383 20384 20385</DD> 20386 20387<DT><b><a name="virtual_alias_address_length_limit">virtual_alias_address_length_limit</a> 20388(default: 1000)</b></DT><DD> 20389 20390<p> 20391The maximal length of an email address after virtual alias expansion. 20392This stops virtual aliasing loops that increase the address length 20393exponentially. 20394</p> 20395 20396<p> 20397This feature is available in Postfix 3.0 and later. 20398</p> 20399 20400 20401</DD> 20402 20403<DT><b><a name="virtual_alias_domains">virtual_alias_domains</a> 20404(default: $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>)</b></DT><DD> 20405 20406<p> Postfix is final destination for the specified list of virtual 20407alias domains, that is, domains for which all addresses are aliased 20408to addresses in other local or remote domains. The SMTP server 20409validates recipient addresses with $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> and rejects 20410non-existent recipients. See also the <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> class 20411in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file </p> 20412 20413<p> 20414This feature is available in Postfix 2.0 and later. The default 20415value is backwards compatible with Postfix version 1.1. 20416</p> 20417 20418<p> 20419The default value is $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> so that you can keep all 20420information about <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a> in one place. If you have 20421many users, it is better to separate information that changes more 20422frequently (virtual address -> local or remote address mapping) 20423from information that changes less frequently (the list of virtual 20424domain names). 20425</p> 20426 20427<p> Specify a list of host or domain names, "/file/name" or 20428"<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. A 20429"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" 20430lookup table is matched when a table entry matches a lookup string 20431(the lookup result is ignored). Continue long lines by starting 20432the next line with whitespace. Specify "!pattern" to exclude a host 20433or domain name from the list. The form "!/file/name" is supported 20434only in Postfix version 2.4 and later. </p> 20435 20436<p> 20437See also the <a href="VIRTUAL_README.html">VIRTUAL_README</a> and <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> documents 20438for further information. 20439</p> 20440 20441<p> 20442Example: 20443</p> 20444 20445<pre> 20446<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = virtual1.tld virtual2.tld 20447</pre> 20448 20449 20450</DD> 20451 20452<DT><b><a name="virtual_alias_expansion_limit">virtual_alias_expansion_limit</a> 20453(default: 1000)</b></DT><DD> 20454 20455<p> 20456The maximal number of addresses that virtual alias expansion produces 20457from each original recipient. 20458</p> 20459 20460<p> 20461This feature is available in Postfix 2.1 and later. 20462</p> 20463 20464 20465</DD> 20466 20467<DT><b><a name="virtual_alias_maps">virtual_alias_maps</a> 20468(default: $<a href="postconf.5.html#virtual_maps">virtual_maps</a>)</b></DT><DD> 20469 20470<p> 20471Optional lookup tables that alias specific mail addresses or domains 20472to other local or remote address. The table format and lookups 20473are documented in <a href="virtual.5.html">virtual(5)</a>. For an overview of Postfix address 20474manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document. 20475</p> 20476 20477<p> 20478This feature is available in Postfix 2.0 and later. The default 20479value is backwards compatible with Postfix version 1.1. 20480</p> 20481 20482<p> 20483Specify zero or more "type:name" lookup tables, separated by 20484whitespace or comma. Tables will be searched in the specified order 20485until a match is found. 20486Note: these lookups are recursive. 20487</p> 20488 20489<p> 20490If you use this feature with indexed files, run "<b>postmap 20491/etc/postfix/virtual</b>" after changing the file. 20492</p> 20493 20494<p> 20495Examples: 20496</p> 20497 20498<pre> 20499<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/virtual 20500<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/virtual 20501</pre> 20502 20503 20504</DD> 20505 20506<DT><b><a name="virtual_alias_recursion_limit">virtual_alias_recursion_limit</a> 20507(default: 1000)</b></DT><DD> 20508 20509<p> 20510The maximal nesting depth of virtual alias expansion. Currently 20511the recursion limit is applied only to the left branch of the 20512expansion graph, so the depth of the tree can in the worst case 20513reach the sum of the expansion and recursion limits. This may 20514change in the future. 20515</p> 20516 20517<p> 20518This feature is available in Postfix 2.1 and later. 20519</p> 20520 20521 20522</DD> 20523 20524<DT><b><a name="virtual_delivery_status_filter">virtual_delivery_status_filter</a> 20525(default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD> 20526 20527<p> Optional filter for the <a href="virtual.8.html">virtual(8)</a> delivery agent to change the 20528delivery status code or explanatory text of successful or unsuccessful 20529deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p> 20530 20531<p> This feature is available in Postfix 3.0 and later. </p> 20532 20533 20534</DD> 20535 20536<DT><b><a name="virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> 20537(default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD> 20538 20539<p> The maximal number of parallel deliveries to the same destination 20540via the virtual message delivery transport. This limit is enforced 20541by the queue manager. The message delivery transport name is the 20542first field in the entry in the <a href="master.5.html">master.cf</a> file. </p> 20543 20544 20545</DD> 20546 20547<DT><b><a name="virtual_destination_recipient_limit">virtual_destination_recipient_limit</a> 20548(default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD> 20549 20550<p> The maximal number of recipients per message for the virtual 20551message delivery transport. This limit is enforced by the queue 20552manager. The message delivery transport name is the first field in 20553the entry in the <a href="master.5.html">master.cf</a> file. </p> 20554 20555<p> Setting this parameter to a value of 1 changes the meaning of 20556<a href="postconf.5.html#virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> from concurrency per domain 20557into concurrency per recipient. </p> 20558 20559 20560</DD> 20561 20562<DT><b><a name="virtual_gid_maps">virtual_gid_maps</a> 20563(default: empty)</b></DT><DD> 20564 20565<p> 20566Lookup tables with the per-recipient group ID for <a href="virtual.8.html">virtual(8)</a> mailbox 20567delivery. 20568</p> 20569 20570<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent. 20571It does not apply when mail is delivered with a different mail 20572delivery program. </p> 20573 20574<p> 20575Specify zero or more "type:name" lookup tables, separated by 20576whitespace or comma. Tables will be searched in the specified order 20577until a match is found. 20578</p> 20579 20580<p> 20581In a lookup table, specify a left-hand side of "@domain.tld" to 20582match any user in the specified domain that does not have a specific 20583"user@domain.tld" entry. 20584</p> 20585 20586<p> 20587When a recipient address has an optional address extension 20588(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up 20589the full address first, and when the lookup fails, it looks up the 20590unextended address (user@domain.tld). 20591</p> 20592 20593<p> 20594Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows 20595regular expression substitution of $1 etc. in regular expression 20596lookup tables, because that would open a security hole. 20597</p> 20598 20599<p> 20600Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will 20601silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead 20602it will open the table directly. Before Postfix version 2.2, the 20603<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error. 20604</p> 20605 20606 20607</DD> 20608 20609<DT><b><a name="virtual_mailbox_base">virtual_mailbox_base</a> 20610(default: empty)</b></DT><DD> 20611 20612<p> 20613A prefix that the <a href="virtual.8.html">virtual(8)</a> delivery agent prepends to all pathname 20614results from $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> table lookups. This is a safety 20615measure to ensure that an out of control map doesn't litter the 20616file system with mailboxes. While <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> could be 20617set to "/", this setting isn't recommended. 20618</p> 20619 20620<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent. 20621It does not apply when mail is delivered with a different mail 20622delivery program. </p> 20623 20624<p> 20625Example: 20626</p> 20627 20628<pre> 20629<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /var/mail 20630</pre> 20631 20632 20633</DD> 20634 20635<DT><b><a name="virtual_mailbox_domains">virtual_mailbox_domains</a> 20636(default: $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>)</b></DT><DD> 20637 20638<p> Postfix is final destination for the specified list of domains; 20639mail is delivered via the $<a href="postconf.5.html#virtual_transport">virtual_transport</a> mail delivery transport. 20640By default this is the Postfix <a href="virtual.8.html">virtual(8)</a> delivery agent. The SMTP 20641server validates recipient addresses with $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> 20642and rejects mail for non-existent recipients. See also the virtual 20643mailbox domain class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file. </p> 20644 20645<p> This parameter expects the same syntax as the <a href="postconf.5.html#mydestination">mydestination</a> 20646configuration parameter. </p> 20647 20648<p> 20649This feature is available in Postfix 2.0 and later. The default 20650value is backwards compatible with Postfix version 1.1. 20651</p> 20652 20653 20654</DD> 20655 20656<DT><b><a name="virtual_mailbox_limit">virtual_mailbox_limit</a> 20657(default: 51200000)</b></DT><DD> 20658 20659<p> 20660The maximal size in bytes of an individual <a href="virtual.8.html">virtual(8)</a> mailbox or 20661maildir file, or zero (no limit). </p> 20662 20663<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent. 20664It does not apply when mail is delivered with a different mail 20665delivery program. </p> 20666 20667 20668</DD> 20669 20670<DT><b><a name="virtual_mailbox_lock">virtual_mailbox_lock</a> 20671(default: see "postconf -d" output)</b></DT><DD> 20672 20673<p> 20674How to lock a UNIX-style <a href="virtual.8.html">virtual(8)</a> mailbox before attempting 20675delivery. For a list of available file locking methods, use the 20676"<b>postconf -l</b>" command. 20677</p> 20678 20679<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent. 20680It does not apply when mail is delivered with a different mail 20681delivery program. </p> 20682 20683<p> 20684This setting is ignored with <b>maildir</b> style delivery, because 20685such deliveries are safe without application-level locks. 20686</p> 20687 20688<p> 20689Note 1: the <b>dotlock</b> method requires that the recipient UID 20690or GID has write access to the parent directory of the recipient's 20691mailbox file. 20692</p> 20693 20694<p> 20695Note 2: the default setting of this parameter is system dependent. 20696</p> 20697 20698 20699</DD> 20700 20701<DT><b><a name="virtual_mailbox_maps">virtual_mailbox_maps</a> 20702(default: empty)</b></DT><DD> 20703 20704<p> 20705Optional lookup tables with all valid addresses in the domains that 20706match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>. 20707</p> 20708 20709<p> 20710Specify zero or more "type:name" lookup tables, separated by 20711whitespace or comma. Tables will be searched in the specified order 20712until a match is found. 20713</p> 20714 20715<p> 20716In a lookup table, specify a left-hand side of "@domain.tld" to 20717match any user in the specified domain that does not have a specific 20718"user@domain.tld" entry. 20719</p> 20720 20721<p> The remainder of this text is specific to the <a href="virtual.8.html">virtual(8)</a> delivery 20722agent. It does not apply when mail is delivered with a different 20723mail delivery program. </p> 20724 20725<p> 20726The <a href="virtual.8.html">virtual(8)</a> delivery agent uses this table to look up the 20727per-recipient mailbox or maildir pathname. If the lookup result 20728ends in a slash ("/"), maildir-style delivery is carried out, 20729otherwise the path is assumed to specify a UNIX-style mailbox file. 20730Note that $<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> is unconditionally prepended to 20731this path. 20732</p> 20733 20734<p> 20735When a recipient address has an optional address extension 20736(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up 20737the full address first, and when the lookup fails, it looks up the 20738unextended address (user@domain.tld). 20739</p> 20740 20741<p> 20742Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows 20743regular expression substitution of $1 etc. in regular expression 20744lookup tables, because that would open a security hole. 20745</p> 20746 20747<p> 20748Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will 20749silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead 20750it will open the table directly. Before Postfix version 2.2, the 20751<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error. 20752</p> 20753 20754 20755</DD> 20756 20757<DT><b><a name="virtual_maps">virtual_maps</a> 20758(default: empty)</b></DT><DD> 20759 20760<p> Optional lookup tables with a) names of domains for which all 20761addresses are aliased to addresses in other local or remote domains, 20762and b) addresses that are aliased to addresses in other local or 20763remote domains. Available before Postfix version 2.0. With Postfix 20764version 2.0 and later, this is replaced by separate controls: <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> 20765and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p> 20766 20767 20768</DD> 20769 20770<DT><b><a name="virtual_minimum_uid">virtual_minimum_uid</a> 20771(default: 100)</b></DT><DD> 20772 20773<p> 20774The minimum user ID value that the <a href="virtual.8.html">virtual(8)</a> delivery agent accepts 20775as a result from $<a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> table lookup. Returned 20776values less than this will be rejected, and the message will be 20777deferred. 20778</p> 20779 20780<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent. 20781It does not apply when mail is delivered with a different mail 20782delivery program. </p> 20783 20784 20785</DD> 20786 20787<DT><b><a name="virtual_transport">virtual_transport</a> 20788(default: virtual)</b></DT><DD> 20789 20790<p> 20791The default mail delivery transport and next-hop destination for 20792final delivery to domains listed with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>. 20793This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. 20794</p> 20795 20796<p> 20797Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i> 20798is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>. 20799The <i>:nexthop</i> destination is optional; its syntax is documented 20800in the manual page of the corresponding delivery agent. 20801</p> 20802 20803<p> 20804This feature is available in Postfix 2.0 and later. 20805</p> 20806 20807 20808</DD> 20809 20810<DT><b><a name="virtual_uid_maps">virtual_uid_maps</a> 20811(default: empty)</b></DT><DD> 20812 20813<p> 20814Lookup tables with the per-recipient user ID that the <a href="virtual.8.html">virtual(8)</a> 20815delivery agent uses while writing to the recipient's mailbox. 20816</p> 20817 20818<p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent. 20819It does not apply when mail is delivered with a different mail 20820delivery program. </p> 20821 20822<p> 20823Specify zero or more "type:name" lookup tables, separated by 20824whitespace or comma. Tables will be searched in the specified order 20825until a match is found. 20826</p> 20827 20828<p> 20829In a lookup table, specify a left-hand side of "@domain.tld" 20830to match any user in the specified domain that does not have a 20831specific "user@domain.tld" entry. 20832</p> 20833 20834<p> 20835When a recipient address has an optional address extension 20836(user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up 20837the full address first, and when the lookup fails, it looks up the 20838unextended address (user@domain.tld). 20839</p> 20840 20841<p> 20842Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows 20843regular expression substitution of $1 etc. in regular expression 20844lookup tables, because that would open a security hole. 20845</p> 20846 20847<p> 20848Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will 20849silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead 20850it will open the table directly. Before Postfix version 2.2, the 20851<a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error. 20852</p> 20853 20854 20855</DD> 20856 20857</dl> 20858 20859</body> 20860 20861</html> 20862