1This is the first official Postfix release that is not called BETA. 2May it help the people who cannot get BETA software past their 3management. 4 5Release 20010228 differs from snapshot 20010228 in that the virtual 6delivery agent and nqmgr queue manager are left out. That software 7will become part of the official release when it has not changed 8in a while. 9 10In the text below, incompatible changes are labeled with the Postfix 11version that introduced the change. If you upgrade from a later 12Postfix version, then you do not have to worry about that particular 13incompatibility. 14 15Major incompatible changes with release-20010228 16================================================ 17 18[snapshot-20010225] POSTFIX NO LONGER RELAYS MAIL FOR CLIENTS IN 19THE ENTIRE CLASS A/B/C NETWORK. To get the old behavior, specify 20"mynetworks_style = class" in the main.cf file. The default 21(mynetworks_style = subnet) is to relay for clients in the local 22IP subnet. See conf/main.cf. 23 24[snapshot-20001005, snapshot-20010225] You must execute "postfix 25stop" before installing this release. Some recommended parameter 26settings have changed, and a new entry must be added to the master.cf 27file before you can start Postfix again. 28 291 - The recommended Postfix configuration no longer uses flat 30 directories for the "incoming" "active", "bounce", and "defer" 31 queue directories. The "flush" directory for the new "flush" 32 service directory should not be flat either. 33 34 Upon start-up, Postfix checks if the hash_queue_names configuration 35 parameter is properly set up, and will add any queue directory 36 names that are missing. 37 382 - In order to improve performance of one-to-one mail deliveries 39 the queue manager will now look at up to 10000 queue files 40 (was: 1000). The default qmgr_message_active_limit setting 41 was changed accordingly. 42 43 If you have a non-default qmgr_message_active_limit in main.cf, 44 you may want adjust it. 45 463 - The new "flush" service needs to be configured in master.cf. 47 48 Upon start-up, Postfix checks if the new "flush" service is 49 configured in the master.cf file, and will add an entry if it 50 is missing. 51 52Should you wish to back out to a previous Postfix release there is 53no need to undo the above queue configuration changes. 54 55[snapshot-20000921] The protocol between queue manager and delivery 56agents has changed. This means that you cannot mix the Postfix 57queue manager or delivery agents with those of Postfix versions 58prior to 20000921. This change does not affect Postfix queue file 59formats. 60 61[snapshot-20000529] This release introduces an incompatible queue 62file format change ONLY when content filtering is enabled (see text 63in FILTER_README). Old Postfix queue files will work fine, but 64queue files with the new content filtering info will not work with 65Postfix versions before 20000529. Postfix logs a warning and moves 66incompatible queue files to the "corrupt" mail queue subdirectory. 67 68Minor incompatible changes with release-20010228 69================================================ 70 71[snapshot-20010225] The incoming and deferred queue directories 72are now hashed by default. This improves the performance considerably 73under heavy load, at the cost of a small but noticeable slowdown 74when one runs "mailq" on an unloaded system. 75 76[snapshot-20010222] Postfix no longer automatically delivers 77recipients one at a time when their domain is listed in $mydestination. 78This change solves delivery performance problems with delivery via 79LMTP, with virus scanning, and with firewall relays that forward 80all mail for $mydestination to an inside host. 81 82The "one recipient at a time" delivery behavior is now controlled 83by the per-transport recipient limit (xxx_destination_recipient_limit, 84where xxx is the name of the delivery mechanism). This parameter 85controls the number of recipients that can be sent in one delivery 86(surprise). 87 88The setting of the per-transport recipient limit also controls the 89meaning of the per-transport destination concurrency limit (named 90xxx_destination_concurrency_limit, where xxx is again the name of 91the delivery mechanism): 92 93 1) When the per-transport recipient limit is 1 (i.e., send one 94 recipient per delivery), the per-transport destination concurrency 95 limit controls the number of simultaneous deliveries to the 96 same recipient. This is the default behavior for delivery via 97 the Postfix local delivery agent. 98 99 2) When the per-transport recipient limit is > 1 (i.e., send 100 multiple recipients per delivery), the per-transport destination 101 concurrency limit controls the number of simultaneous deliveries 102 to the same domain. This is the default behavior for all other 103 Postfix delivery agents. 104 105[snapshot-20010128] The Postfix local delivery agent now enforces 106mailbox file size limits (default: mailbox_size_limit = 51200000). 107This limit affects all file write access by the local delivery 108agent or by a process run by the local delivery agent. The purpose 109of this parameter is to act as a safety for run-away software. It 110cannot be a substitute for a file quota management system. Specify 111a limit of 0 to disable. 112 113[snapshot-20010128] REJECT in header/body_checks is now flagged as 114policy violation rather than bounce, for consistency in postmaster 115notifications. 116 117[snapshot-20010128] The default RBL (real-time blackhole lists) 118domain examples have been changed from *.vix.com to *.mail-abuse.org. 119 120[snapshot-20001210] Several interfaces of libutil and libglobal 121routines have changed. This may break third-party code written 122for Postfix. In particular, the safe_open() routine has changed, 123the way the preferred locking method is specified in the sys_defs.h 124file, as well as all routines that perform file locking. When 125compiling third-party code written for Postfix, the incompatibilities 126will be detected by the compiler provided that #include file 127dependencies are properly maintained. 128 129[snapshot-20001210] When delivering to /file/name (as directed in 130an alias or .forward file), the local delivery agent now logs a 131warning when it is unable to create a /file/name.lock file. Mail 132is still delivered as before. 133 134[snapshot-20001210] The "sun_mailtool_compatibility" feature is 135going away (a compatibility mode that turns off kernel locks on 136mailbox files). It still works, but a warning is logged. Instead 137of using "sun_mailtool_compatibility", specify the mailbox locking 138strategy as "mailbox_delivery_lock = dotlock". 139 140[snapshot-20001210] The Postfix SMTP client now skips SMTP server 141replies that do not start with "CODE SPACE" or with "CODE HYPHEN" 142and flags them as protocol errors. Older Postfix SMTP clients 143silently treated "CODE TEXT" as "CODE SPACE TEXT", i.e. as a valid 144SMTP reply. 145 146[snapshot-20001121] On RedHat Linux 7.0, you must install the 147db3-devel RPM before you can compile the Postfix source code. 148 149[snapshot-20000924] The postmaster address in the "sorry" text at 150the top of bounced mail is now just postmaster, not postmaster@machine. 151The idea is to refer users to their own postmaster. 152 153[snapshot-20000921] The notation of [host:port] in transport tables 154etc. is going away but it is still supported. The preferred form 155is now [host]:port. This change is necessary to support IPV6 156address forms which use ":" as part of a numeric IP address. In a 157future release, Postfix will log a warning when it encounters the 158[host:port] form. 159 160[snapshot-20000921] In mail headers, Errors-To:, Reply-To: and 161Return-Receipt: addresses are now rewritten as a sender address 162(was: recipient). 163 164[snapshot-20000921] Postfix no longer inserts Sender: message 165headers. 166 167[snapshot-20000921] The queue manager now logs the original number 168of recipients when opening a queue file (example: from=<>, size=3502, 169nrcpt=1). 170 171[snapshot-20000921] The local delivery agent no longer appends a 172blank line to mail that is delivered to external command. 173 174[snapshot-20000921] The pipe delivery agent no longer appends a 175blank line when the F flag is specified (in the master.cf file). 176Specify the B flag if you need that blank line. 177 178[snapshot-20000507] As required by RFC 822, Postfix now inserts a 179generic destination message header when no destination header is 180present. The text is specified via the undisclosed_recipients_header 181configuration parameter (default: "To: undisclosed-recipients:;"). 182 183[snapshot-20000507] The Postfix sendmail command treats a line with 184only `.' as the end of input, for the sake of sendmail compatibility. 185To disable this feature, specify the sendmail-compatible `-i' or 186`-oi' flags on the sendmail command line. 187 188[snapshot-20000507] For the sake of Sendmail compatibility, the 189Postfix SMTP client skips over SMTP servers that greet with a 4XX 190or 5XX reply code, treating them as unreachable servers. To obtain 191prior behavior (4XX=retry, 5XX=bounce), specify "smtp_skip_4xx_greeting 192= no" and "smtp_skip_5xx_greeting = no". 193 194Major changes with release-20010228 195=================================== 196 197Postfix produces DSN formatted bounced/delayed mail notifications. 198The human-readable text still exists, so that users will not have 199to be unnecessarily confused by all the ugliness of RFC 1894. Full 200DSN support will be later. 201 202This release introduces full content filtering through an external 203process. This involves an incompatible change in queue file format. 204Mail is delivered to content filtering software via an existing 205mail delivery agent, and is re-injected into Postfix via an existing 206mail submission agent. See examples in the FILTER_README file. 207Depending on how the filter is implemented, you can expect to lose 208a factor of 2 to 4 in delivery performance of SMTP transit mail, 209more if the content filtering software needs lots of CPU or memory. 210 211Specify "body_checks = regexp:/etc/postfix/body_checks" for a quick 212and dirty emergency content filter that looks at non-header lines 213one line at a time (including MIME headers inside the message body). 214Details in conf/sample-filter.cf. 215 216The header_checks and body_checks features can be used to strip 217out unwanted data. Specify IGNORE on the right-hand side and the 218data will disappear from the mail. 219 220Support for SASL (RFC 2554) authentication in the SMTP server and 221in the SMTP and LMTP clients. See the SASL_README file for more 222details. This file still needs better examples. 223 224Postfix now ships with an LMTP delivery agent that can deliver over 225local/remote TCP sockets and over local UNIX-domain sockets. The 226LMTP_README file gives example, but still needs to be revised. 227 228Fast "ETRN" and "sendmail -qR". Postfix maintains per-destination 229logfiles with information about what mail is queued for selected 230destinations. See the file ETRN_README for details. 231 232The mailbox locking style is now fully configurable at runtime. 233The new configuration parameter is called "mailbox_delivery_lock". 234Depending on the operating system type, mailboxes can be locked 235with one or more of "flock", "fcntl" or "dotlock". The command 236"postconf -l" shows the available locking styles. The default 237mailbox locking style is system dependent. This change affects 238all mailbox and all "/file/name" deliveries by the Postfix local 239delivery agent. 240 241Minor changes with release-20010228 242=================================== 243 244You can now specify multiple SMTP destinations in the relayhost 245and fallback_relay configuration parameters. The destinations are 246tried in the specified order. Specify host or host:port (perform 247MX record lookups), [host] or [host]:port (no MX record lookups), 248[address] or [address]:port (numerical IP address). 249 250The "mailbox_transport" and "fallback_transport" parameters now 251understand the form "transport:nexthop", with suitable defaults 252when either transport or nexthop are omitted, just like in the 253Postfix transport map. This allows you to specify for example, 254"mailbox_transport = lmtp:unix:/file/name". 255 256The local_transport and default_transport configuration parameters 257can now be specified in transport:destination notation, just like 258the mailbox_transport and fallback_transport parameters. The 259:destination part is optional. However, these parameters take only 260one destination, unlike relayhost and fallback-relay which take 261any number of destinations. 262 263More general virtual domain support. Postfix now supports both 264Sendmail-style virtual domains and Postfix-style virtual domains. 265Details and examples are given in the revised virtual manual page. 266 267- With Sendmail-style virtual domains, local users/aliases/mailing 268 lists are visible as localname@virtual.domain. This is convenient 269 if you want to host mailing lists under virtual domains. 270 271- With Postfix-style virtual domains, local users/aliases/mailing 272 lists are not visible as localname@virtual.domain. Each virtual 273 domain has its own separate name space. 274 275More general "soft bounce" feature. Specify "soft_bounce = yes" 276in main.cf to prevent the SMTP server from bouncing mail while you 277are testing configurations. Until this release the SMTP server was 278not aware of soft bounces. 279 280Workarounds for non-standard RFC 2554 (AUTH command) implementations. 281Specify "broken_sasl_auth_clients = yes" to enable SMTP server 282support for old Microsoft client applications. The Postfix SMTP 283client supports non-standard RFC 2554 servers by default. 284 285All time-related configuration parameters now accept a one-letter 286suffix to indicate the time unit (s: second, m: minute, h: hour, 287d: day, w: week). The exceptions are the LDAP and MYSQL modules 288which are maintained separately. 289 290New "import_environment" and "export_environment" configuration 291parameters provide explicit control over what environment variables 292Postfix will import, and what environment variables Postfix will 293pass on to a non-Postfix process. 294 295In order to improve performance of one-to-one deliveries, Postfix 296by default now looks at up to 10000 messages at a time (was: 1000). 297 298Specify "syslog_facility = log_local1" etc. to separate the logging 299from multiple Postfix instances. However, a non-default logging 300facility takes effect only after process initialization. Errors 301during command-line parsing are still logged with the default syslog 302facility, as are errors while processing the main.cf file. 303 304Postfix now strips out Content-Length: headers in incoming mail to 305avoid confusion in mail user agents. 306 307Specify "require_home_directory = yes" to prevent mail from being 308delivered to a user whose home directory is not mounted. This 309feature is implemented by the Postfix local delivery agent. 310 311The pipe mailer has a size limit (size=nnn) command-line argument. 312 313The pipe delivery agent has a configurable end-of-line attribute. 314Specify "pipe ... eol=\r\n" for delivery mechanisms that require 315CRLF record delimiters. The eol attribute understands the following 316C-style escape sequences: \a \b \f \n \r \t \v \nnn \\. 317 318In master.cf you can selectively override main.cf configuration 319parameters, for example: "smtpd -o myhostname=foo.com". 320 321In main.cf, specify "smtp_bind_address=x.x.x.x" to bind SMTP 322connections to a specific local interface. Or override the default 323setting in master.cf with "smtp -o smtp_bind_address=x.x.x.x". 324For now, you must specify a numeric IP address. 325 326Questionable feature: with "smtp_always_send_ehlo = yes", the SMTP 327client sends EHLO regardless of the content of the SMTP server's 328greeting. 329 330Specify "-d key" to postalias or postmap in order to remove one 331key. This still needs to be generalized to multi-key removal (e.g., 332read keys from stdin). 333 334Comments in Postfix configuration files no longer contain troff 335formatting codes. The text is now generated from prototype files 336in a new "proto" subdirectory. 337 338Major changes with postfix-19991231: 339==================================== 340 341- It is now much more difficult to configure Postfix as an open 342relay. The SMTP server requires that "smtpd_recipient_restrictions" 343contains at least one restriction that by default refuses mail (as 344is the default). There were too many accidents with changes to 345the UCE restrictions. 346 347- The relay_domains parameter no longer needs to contain $virtual_maps. 348 349- Overhauled FAQ (html/faq.html) with many more examples. 350 351- Updated UCE documentation (html/uce.html) with more examples. 352More UCE configuration examples in sample configuration files. 353 354- Several little improvements to the installation procedure: 355relative symlinks, configurable directory for scratch files so the 356installation can be done without write access to the build tree. 357 358- Updated LDAP client code (John Hensley). 359 360- Updated mysql client code (Scott Cotton). 361 362- The SMTP server now rejects mail for unknown users in virtual 363domains that are defined by Postfix virtual maps. 364 365- The SMTP server can reject mail for unknown local users. Specify 366"local_recipient_maps = $alias_maps, unix:passwd.byname" if your 367local mail is delivered by a UNIX-style local delivery agent. See 368example in conf/main.cf. 369 370- Use "disable_vrfy_command = yes" to disable the SMTP VRFY command. 371This prevents some forms of address harvesting. 372 373- The sendmail "-f" option now understands <user> and even understands 374forms with RFC 822-style comments. 375 376- New "qmgr_fudge_factor" parameter allows you to balance mailing 377list performance against response time for one-to-one mail. The 378fudge factor controls what percentage of delivery resources Postfix 379will devote to one message. With 100%, delivery of one message 380does not begin before delivery of the previous message is completed. 381This is good for list performance, bad for one-to-one mail. With 38210%, response time for one-to-one mail improves much, but list 383performance suffers: in the worst case, people near the start of a 384mailing list get a burst of postings today, while people near the 385end of the list get that same burst of postings a whole day later. 386 387- It is now relatively safe to configure 550 status codes for the 388main.cf unknown_address_reject_code or unknown_client_reject_code 389parameters. The SMTP server now always sends a 450 (try again) 390reply code when an UCE restriction fails due to a soft DNS error, 391regardless of what main.cf specifies. 392 393- The RBL checks now show the content of TXT records (Simon J Mudd). 394 395- The Postfix SMTP server now understands a wider range of illegal 396address forms in MAIL FROM and RCPT TO commands. In order to disable 397illegal forms, specify "strict_rfc821_envelopes = yes". This also 398disables support for MAIL FROM and RCPT TO addresses without <>. 399 400- Per-client/helo/sender/recipient UCE restrictions (fully-recursive 401UCE restriction parser). See the RESTRICTION_CLASS file for details. 402 403- Use "postmap -q key" or "postalias -q key" for testing Postfix 404lookup tables or alias files. 405 406- Use "postconf -e name=value..." to edit the main.cf file. This 407is easier and safer than editing the main.cf file by hand. The 408edits are done on a temporary copy that is renamed into place. 409 410- Use "postconf -m" to display all supported lookup table types 411(Scott Cotton). 412 413- New "permit_auth_destination" UCE restriction for finer-grained 414access control (Jesper Skriver). 415 416Incompatible changes with postfix-19990906 417========================================== 418 419- On systems that use user.lock files to protect system mailboxes 420against simultaneous updates, Postfix now uses /file/name.lock 421files while delivering to files specified in aliases/forward/include 422files. This is a no-op when the recipient lacks directory write 423permission. 424 425- The LDAP client code no longer looks up a name containing "*" 426because it could be abused. See the LDAP_README file for how to 427restore previous behavior. 428 429- The Postfix to PCRE interface now expects PCRE version 2.08. 430Postfix is no longer compatible with PCRE versions prior to 2.06. 431 432Major changes with postfix-19990906 433=================================== 434 435Several bugfixes, none related to security. See the HISTORY file 436for a complete list of changes. 437 438- Postfix is now distributed under IBM Public License Version 1.0 439which does not carry the controversial termination clause. The new 440license does have a requirement that contributors make source code 441available. 442 443- INSTALL.sh install/upgrade procedure that replaces existing 444programs and shell scripts instead of overwriting them, and that 445leaves existing queue files and configuration files alone. 446 447- The ugly Delivered-To: header can now be turned off selectively. 448The default setting is: "prepend_delivered_header = command, file, 449forward". Turning off the Delivered-To: header when forwarding 450mail is not recommended. 451 452- mysql client support by Scott Cotton and Joshua Marcus, Internet 453Consultants Group, Inc. See the file MYSQL_README for instructions. 454 455- reject_unauth_destination SMTP recipient restriction that rejects 456destinations not in $relay_domains. Unlike the check_relay_domains 457restriction, reject_unauth_destination ignores the client hostname. 458By Lamont Jones of Hewlett-Packard. 459 460- reject_unauth_pipelining SMTP *anything* restriction to stop mail 461from spammers that improperly use SMTP command pipelining to speed 462up their deliveries. 463 464- Postfix "sendmail" now issues a warning and drops privileges if 465installed set-uid root. 466 467- No more duplicate delivery when "postfix reload" is immediately 468followed by "sendmail -q". 469 470- No more "invalid argument" errors when a Postfix daemon opens a 471DB/DBM file while some other process is changing the file. 472 473- Portability to the Mac OS X Server, Reliant Unix, AIX 3.2.5 and 474Ultrix 4.3. 475 476Incompatible changes with postfix-19990601: 477=========================================== 478 479- The SMTP server now delays all UCE restrictions until the RCPT 480TO, VRFY or ETRN command. This makes the restrictions more useful, 481because many SMTP clients do not expect negative responses earlier 482in the protocol. In order to restore the old behavior, specify 483"smtpd_delay_reject = no" in /etc/postfix/main.cf. 484 485- The Postfix local delivery agent no longer automatically propagates 486address extensions to aliases/include/forward addresses. Specify 487"propagate_unmatched_extensions = canonical, virtual, alias, forward, 488include" to restore the old behavior. 489 490- The Postfix local delivery agent no longer does $name expansion 491on words found in the mailbox_command configuration parameter. This 492makes it easier to specify shell syntax. See conf/main.cf. 493 494- The luser_relay syntax has changed. You can specify one address; 495it is subjected to $user, etc. expansions. See conf/main.cf. 496 497- File system reorganization: daemon executables are now in the 498libexec subdirectory, command executables in the bin subdirectory. 499The INSTALL instructions now recommend installing daemons and 500commands into separate directories. 501 502Major changes with postfix-19990601: 503===================================== 504 505- New USER, EXTENSION, LOCAL, DOMAIN and RECIPIENT environment 506variables for delivery to command (including mailbox_command) by 507the local delivery agent. As you might expect, the information is 508censored. The list of acceptable characters is specified with the 509command_expansion_filter configuration parameter. Unacceptable 510characters are replaced by underscores. See html/local.8.html. 511 512- Specify "forward_path = /var/forward/$user" to avoid looking up 513.forward files in user home directories. The default value is 514$home/.forward$recipient_delimiter$extension, $home/.forward. 515Initial code by Philip A. Prindeville, Mirapoint, Inc., USA. 516 517- Conditional $name expansion in forward_path and luser_relay. 518Available names are: $user (bare user name) $shell (user login 519shell), $home (user home directory), $local (everything to the left 520of @), $extension (optional address extension), $domain (everything 521to the right of @), $recipient (the complete address) and 522$recipient_delimiter. A simple $name expands as usual. ${name?value} 523expands to value when $name is defined. ${name:value} expands to 524value when $name is not defined. With ${name?value} and ${name:value}, 525the value is subject to another iteration of $name expansion. 526 527- POSIX regular expression support, enabled by default on 4.4BSD, 528LINUX, HP-UX, and Solaris 2.5 and later. See conf/sample-regexp.cf. 529Initial code by Lamont Jones, Hewlett-Packard, borrowing heavily 530from the PCRE implementation by Andrew McNamara, connect.com.au 531Pty. Ltd., Australia. 532 533- Regular expression checks for message headers. This requires 534support for POSIX or for PCRE regular expressions. Specify 535"header_checks = regexp:/file/name" or "header_checks = pcre:/file/name", 536and specify "/^header-name: badstuff/ REJECT" in the pattern file 537(patterns are case-insensitive by default). Code by Lamont Jones, 538Hewlett-Packard. It is to be expected that full content filtering 539will be delegated to an external command. 540 541- Regular expression support for all lookup tables, including access 542control (full mail addresses only), address rewriting (canonical/virtual, 543full mail addresses only) and transport tables (full domain names 544only). However, regular expressions are not allowed for aliases, 545because that would open up security exposures. 546 547- Automatic detection of changes to DB or DBM lookup tables. This 548eliminates the need to run "postfix reload" after each change to 549the SMTP access table, or to the canonical, virtual, transport or 550aliases tables. 551 552- New error mailer. Specify ".domain.name error:domain is undeliverable" 553in the transport table to bounce mail for entire domains. 554 555- No more Postfix lockups on Solaris (knock on wood). The code no 556longer uses Solaris UNIX-domain sockets, because they are still 557broken, even with Solaris 7. 558 559- Workaround for the Solaris mailtool, which keeps an exclusive 560kernel lock on the mailbox while its window is not iconified (specify 561"sun_mailtool_compatibility = yes" in main.cf). 562 563- Questionable workaround for Solaris, which reportedly loses 564long-lived exclusive locks that are held by the master daemon. 565 566- New reject_unknown_{sender,recipient}_domain restrictions for 567sender and recipient mail addresses that distinguish between soft 568errors (always 450) and hard errors (unknown_address_reject_code, 569default 450). 570 571- MIME-encapsulated bounce messages, making it easier to recover 572bounced mail. Initial implementation by Philip A. Prindeville, 573Mirapoint, Inc., USA. Support for RFC 1892 (multipart/report) and 574RFC 1894 (DSN) will have to wait until Postfix internals have been 575revised to support RFC 1893. 576 577- Separately configurable "postmaster" addresses for single bounces 578(bounce_notice_recipient), double bounces (2bounce_notice_recipient), 579delayed mail (delay_notice_recipient), and for mailer error reports 580(error_notice_recipient). See conf/main.cf. 581 582- Questionable feature: specify "best_mx_transport = local" if 583this machine is the best MX host for domains not in mydestinations. 584 585Incompatible changes with postfix-19990317: 586=========================================== 587 588- You MUST install the new version of /etc/postfix/postfix-script. 589 590- The pipe mailer "flags" syntax has changed. You now explicitly 591MUST specify the R flag in order to generate a Return-Path: message 592header (as needed by, for example, cyrus). 593 594Major changes with postfix-19990317: 595==================================== 596 597A detailed record of changes is given in the HISTORY file. 598 599- Less postmaster mail. Undeliverable bounce messages (double 600bounces) are now discarded. Specify "notify_classes = 2bounce..." 601to get copies of double bounces. Specify "notify_classes = bounce..." 602to get copies of normal and double bounces. 603 604- Improved LDAP client code by John Hensley of Merit Network, USA. 605See LDAP_README for details. 606 607- Perl-compatible regular expression support for lookup maps by 608Andrew McNamara, connect.com.au Pty. Ltd., Australia.. Example: 609"check_recipient_access pcre:/etc/postfix/sample-pcre.cf". Regular 610expressions provide a powerful tool not only for SMTP access control 611but also for address rewriting. See PCRE_README for details. 612 613- Automatic notification of delayed mail (disabled by default). 614With "delay_warning_time = 4", Postfix informs senders when mail 615has not been delivered after 4 hours. Initial version of the code 616by Daniel Eisenbud, University of California at Berkeley. In order 617to get postmaster copies of such warnings, specify "notify_classes 618= delay...". 619 620- More configurable local delivery: "mail_spool_directory" to 621specify the UNIX mail spool directory; "mailbox_transport" to 622delegate all mailbox delivery to, for example, cyrus, and 623"fallback_transport" to delegate delivery of only non-UNIX users. 624And all this without losing local aliases and local .forward 625processing. See config/main.cf and config/master.cf. 626 627- Several changes to improve Postfix behavior under worst-case 628conditions (frequent Postfix restarts/reloads combined with lots 629if inbound mail, intermittent connectivity problems, SMTP servers 630that become comatose after receiving QUIT). 631 632- More NFS-friendly mailbox delivery. The local delivery agent 633now avoids using root privileges where possible. 634 635- For sites that do not receive mail at all, mydestination can now 636be an empty string. Be sure to set up a transport table entry to 637prevent mail from looping. 638 639- New "postsuper" utility to clean up stale files from Postfix 640queues. 641 642- Workaround for BSD select() collisions that cause performance 643problems on large BSD systems. 644 645- Several questionable but useful features to capture mail: 646"always_bcc = address" to capture a copy of every message that 647enters the system, and "luser_relay = address" to capture mail for 648unknown recipients (does not work when mailbox_transport or 649fallback_transport are being used). 650 651- Junk mail controls: new reject_non_fqdn_{hostname,sender,recipient} 652restrictions to reject non-FQDN arguments in HELO, MAIL FROM and 653RCPT TO commands, and stricter checking of numeric HELO arguments. 654 655- "fallback_relay" feature for sites that use DNS but that can't 656talk to the entire world. The fall-back relay gets the mail when 657a destination is not found in the DNS or when the destination is 658found but not reachable. 659 660- Several questionable controls that can help to keep mail going: 661specify "smtp_skip_4xx_greeting = yes" to skip SMTP servers that 662greet with 4XX, "ignore_mx_lookup_error = yes" to look up an A 663record when a DNS server does not respond to an MX query. 664 665Incompatible changes with postfix-beta-19990122-pl01: 666===================================================== 667 668None. 669 670Major changes with postfix-beta-19990122-pl01: 671============================================== 672 673- Restrict who may use ETRN and what domains may be specified. 674Example: "smtpd_etrn_restrictions = permit_mynetworks, reject". 675 676- BIFF notifications. For compatibility reasons this feature is 677on by default. Specify "biff = no" in main.cf if your machine has 678lots of shell users. 679 680- With "soft_bounce = yes", defer delivery instead of bouncing 681mail. This is a safety net for configuration errors with delivery 682agents. It has no effect on errors in virtual maps, canonical maps, 683or in junk mail restrictions. 684 685- Specify "owner_request_special = no" to turn off special treatment 686of owner-foo and foo-request addresses. 687 688Incompatible changes with postfix-beta-19990122: 689================================================ 690 691- The syntax of the transport table has changed. An entry like: 692 693 customer.org smtp:[gateway.customer.org] 694 695 no longer forwards mail for anything.customer.org. For that you 696 need to specify: 697 698 customer.org smtp:[gateway.customer.org] 699 .customer.org smtp:[gateway.customer.org] 700 701 This change makes transport tables more compatible with 702 sendmail mailer tables. 703 704- The format of syslog records has changed. A client is now always 705logged as hostname[address]; the pickup daemon logs queue file uid 706and sender address. 707 708Major changes with postfix-beta-19990122: 709========================================= 710 711- Junk mail restrictions can now be postponed to the RCPT TO command. 712Specify: "smtpd_recipient_restrictions = reject_maps_rbl...". 713 714- More flexible interface for delivery to e.g., cyrus IMAP without 715need for PERL scripts to munge recipient addresses. In addition to 716$sender, $nexthop and $recipient, the pipe mailer now also supports 717$user, $extension and $mailbox. 718 719- New mail now has precedence over deferred mail, plus some other 720tweaks to make bulk mail go faster. But it ain't no cure for massive 721network outages. 722 723- Watchdog timer for systems that cause the Postfix queue manager 724to lock up, so it recovers without human intervention. 725 726- Delivery to qmail-style maildir files, which is good for NFS 727environments. Specify "home_mailbox = Maildir/", or specify 728/file/name/ in aliases or in .forward files. The trailing / is 729required to turn on maildir delivery. 730 731- Incremental updates of aliases and maps. Specify "postmap -i 732mapname" and it will read new entries from stdin. 733 734- Newaliases will now update more than one alias database. 735Specify the names with the main.cf "alias_database" parameter. 736 737- Address masquerading exceptions to prevent users from being 738masqueraded. Specify "masquerade_exceptions = root". 739 740- A pipelined SMTP client. Deliveries to Postfix, qmail, LSOFT, 741zmailer, and exim (once it's fixed) speed up by some 30% for short 742messages with one recipient, with more for multi-recipient mails. 743 744- Hook for local delivery to "|command" via the smrsh restricted 745shell, to restrict what commands may be used in .forward etc. files. 746Specify "local_command_shell = /some/where/smrsh -c". 747