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