2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-30 21:55:20 +00:00

postfix-2.0.0-20021223

This commit is contained in:
Wietse Venema
2002-12-23 00:00:00 -05:00
committed by Viktor Dukhovni
parent 8862f35036
commit ca9dbb69cd
13 changed files with 235 additions and 110 deletions

View File

@@ -185,7 +185,7 @@ exercise. It probably is not worth the trouble.
Older Microsoft SMTP client software implements a non-standard
version of the AUTH protocol syntax, and expects that the SMTP
server replies to EHLO with "250 AUTH=stuff" instead of "250 AUTH
stuff". To accomodate such clients in addition to conformant
stuff". To accommodate such clients in addition to conformant
clients, set "broken_sasl_auth_clients = yes" in the main.cf file.
Testing SASL authentication in the Postfix SMTP server

View File

@@ -40,7 +40,7 @@ but should work properly. To disable backwards compatibility specify
The behavior of "sendmail -v" has changed. One -v option now sends
an email report with the status of each delivery attempt. Multiple
-v options behave as before: turn on verbose logging in the sendmail
and and postdrop commands.
and postdrop commands.
The Postfix upgrade procedure will add two new services to your
master.cf file: "trace" and "verify". These servers can run inside

View File

@@ -1,3 +1,10 @@
NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
Before upgrading from Postfix 1.1 you must stop Postfix ("postfix
stop"). Some internal protocols have changed. No mail will be
lost if you fail to stop and restart Postfix, but Postfix won't be
able to receive any new mail, either.
NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
In the text below, changes are labeled with the Postfix snapshot
that introduced the change, and whether the change introduced a
feature, an incompatibility, or whether the feature is obsolete.
@@ -13,8 +20,8 @@ snapshot release). Patches change the patchlevel and the release
date. Snapshots change only the release date, unless they include
the same bugfixes as a patch release.
Major changes with Postfix version 2.0.0 (released 20021222)
============================================================
Major changes with Postfix version 2.0.0 (released 20021222, 20021223)
======================================================================
First comes the bad news - things that may break when you upgrade
from Postfix 1.1. Then comes the good news - things that evolved
@@ -138,7 +145,7 @@ for details.
MIME headers in attachments. This is much more efficient than
previous versions that recognized MIME headers via body_checks.
MIME headers are now processed one multi-line header at a time,
instead of one body line at a time. To get the the old behavior,
instead of one body line at a time. To get the old behavior,
specify "disable_mime_input_processing = yes". More details in
conf/sample-filter.cf.
@@ -252,19 +259,25 @@ appended to the previous line. More details about the syntax are
given in the pcre_table(5) and regexp_table(5) manual pages.
[Feature 20020717] The default timeout for establishing an SMTP
connection has been reduced to 30 seconds, because many systems
have an atrociously large default timeout value.
connection has been reduced to 30 seconds, because many system
TCP/IP stacks have an atrociously large default timeout value.
[Feature 20020505] Finer control over Berkeley DB memory usage,
The parameter "berkeley_db_create_buffer_size" (default: 16 MBytes)
specifies the buffer size for the postmap and postalias commands.
The parameter "berkeley_db_read_buffer_size" (default: 256 kBytes)
speficies the buffer size for all other applications. Specify
specifies the buffer size for all other applications. Specify
"berkeley_db_read_buffer_size = 1048576" to get the old read buffer
size. For more information, see the last paragraphs of the DB_README
file.
size. Contributed by Victor Duchovni. For more information, see
the last paragraphs of the DB_README file.
Improved compatibitity
[Incompat 20021211] The default process limit is doubled from 50
to 100. The default limits on the number of active queue files or
recipients are doubled from 10000 to 20000. The default concurrency
for parallel delivery to the same destination is doubled from 10
to 20.
Improved compatibility
======================
[Feature 20020527] The Postfix SMTP client will now convert 8BITMIME
@@ -622,7 +635,7 @@ for details.
MIME headers in attachments. This is much more efficient than
previous versions that recognized MIME headers via body_checks.
MIME headers are now processed one multi-line header at a time,
instead of one body line at a time. To get the the old behavior,
instead of one body line at a time. To get the old behavior,
specify "disable_mime_input_processing = yes". More details in
conf/sample-filter.cf.
@@ -793,7 +806,7 @@ Berkeley DB related changes
The parameter "berkeley_db_create_buffer_size" (default: 16 MBytes)
specifies the buffer size for the postmap and postalias commands.
The parameter "berkeley_db_read_buffer_size" (default: 256 kBytes)
speficies the buffer size for all other applications. Specify
specifies the buffer size for all other applications. Specify
"berkeley_db_read_buffer_size = 1048576" to get the old read buffer
size. For more information, see the last paragraphs of the DB_README
file.

View File

@@ -67,7 +67,7 @@
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
#628 inet n - n - - qmqpd

View File

@@ -9,7 +9,7 @@
# destination. This is the default limit for delivery via SMTP, via
# the local delivery agent and via the pipe mailer.
#
default_destination_concurrency_limit = 10
default_destination_concurrency_limit = 20
# The default_destination_recipient_limit parameter specifies a
# default limit on the number of recipients per message delivery.

View File

@@ -145,7 +145,7 @@ smtp_pix_workaround_threshold_time = 500s
# The default limit is the default_destination_concurrency_limit
# parameter. It is probably safer to limit the concurrency to 10.
#
smtp_destination_concurrency_limit = 10
smtp_destination_concurrency_limit = 20
# The smtp_destination_recipient_limit parameter limits the number
# of recipients per delivery via the smtp delivery agent.

View File

@@ -80,6 +80,8 @@ domains with "relay access denied"</a>
<li><a href="#nopass">What does "warning: cannot access UNIX password database" mean?</a>
<li><a href="#loop">What does "Error: too many hops" mean?</a>
<li><a href="#noalias">What does "fatal: open database /etc/aliases.db" mean?</a>
<li><a href="#noservice">What does "fatal: unknown service: smtp/tcp" mean?</a>
@@ -316,6 +318,10 @@ mailbox</a>
<a name="content_filtering"><h3>Content filtering</h3>
<ul>
<li><a href="#loop">What does "Error: too many hops" mean?</a>
</ul>
<a name="other_transports"><h3>Other transports: UUCP, FAX, etc.</h3>
@@ -1275,19 +1281,66 @@ clients?
<p>
Your problem could be that the disk is saturated with I/O from
Your problem could be one of several.
<p>
<ul>
<li>You're trying to send mail to difficult to reach sites (Hotmail,
Yahoo, etc.). Solution: set up transport map entries that give special
treatment (many parallel connections, short connection timeouts):
<p>
<pre>
/etc/postfix/main.cf:
transport_maps = hash:/etc/postfix/transport
deadbeats_destination_concurrency_limit = 50
/etc/postfix/transport:
hotmail.com deadbeats:
yahoo.com deadbeats:
/etc/postfix/master.cf:
deadbeats unix - - n - - smtp
-o smtp_connect_timeout=5 -o smtp_helo_timeout=5
</pre>
<p>
<li>Incoming mail, destined for a small number of inside mailhubs,
is competing with outgoing mail to the Internet. As of Postfix
version 2, this should be less of a problem. However, when a single
internal mailhub goes down, it can totally ruin the performance
because Postfix is wasting huge amounts of time on connection
timeouts. The solution is to specify shorter connection timeouts
for the inbound <b>relay</b> transport:
<p>
<pre>
/etc/postfix/main.cf:
mydestination = my.own.host.name
relay_domains = my.corp.domain
relay_transport = relay
/etc/postfix/master.cf:
relay unix - - n - - smtp
-o smtp_connect_timeout=2 -o smtp_helo_timeout=2
</pre>
<p>
<li>The disk is saturated with I/O from
receiving mail, so that the Postfix queue manager gets insufficient
chance to process the requests (many SMTP server processes are
competing for disk access against one poor queue manager).
<p>
You solve the problem by getting faster disks.
<p>
I am still solving the scheduling problem from the software side,
but don't hold your breath.
You solve the problem by getting faster disks, and/or by using
different disk drives for logging, mail queue, and mailboxes.
<p>
@@ -1322,6 +1375,8 @@ depending on the interface that it is supposed to handle.
inet_interfaces = $myhostname
</pre>
</ul>
<hr>
<a name="delay"><h3>Postfix responds slowly to incoming SMTP connections</h3></a>
@@ -1706,6 +1761,12 @@ your nslookup test should begin with asking for the MX record. Some
DNS servers are broken and produce no reply when asked for a
non-existent MX record.
<p> <li> Secondly, the nslookup test is invalid if you ran it as
a privileged user. Postfix DNS lookups are known to fail because
of incorrect permissions on system files and directories. For
example, a common beginner's mistake is to lose world read permission
for the <b>/etc/resolv.conf</b> file.
<p> <li>
Check out your Postfix <b>master.cf</b> file. If the SMTP client
@@ -1954,8 +2015,8 @@ systems for performance and/or security reasons.
<p>
The warning message means that new mail notificiation failed because
the <b>comsat</b> network service is turned off.
The Postfix warning message means that new mail notificiation failed
because the <b>comsat</b> network service is turned off.
<p>
@@ -1971,6 +2032,12 @@ specify:
<p>
Note: recent versions of <b>procmail</b> also produce <b>biff</b>
notifications. To silence <b>biff</b> completely you may also have
to updte <b>procmail</b> configuration files.
<p>
To enable the <b>comsat</b> network service, uncomment the
corresponding entry in the <b>inetd.conf</b> file, and <b>kill -HUP</b>
the <b>inetd</b> process.
@@ -2711,6 +2778,32 @@ effective.
<hr>
<a name="loop"><h3>What does "Error: too many hops" mean?</h3></a>
Short answer: this message means that mail is probably looping. If
you see this after you turned on Postfix content filtering, then
you have made a mistake that causes mail to be filtered repeatedly.
This is cured by appropriate use of <tt>content_filter=</tt>,
<tt>header_checks=</tt>, and <tt>body_checks=</tt>.
<p>
Long answer: the message has too many Received: message headers.
A received header is added whenever Postfix (or any MTA) receives
a message. A large number of Received: message headers
is an indication that mail is looping around.
<p>
Side comment: email uses the opposite of the technique that is used
to avoid IP forwarding loops. With IP, the sender sets a TTL (time
to live) field in the IP header. The field is decremented by each
router. When the TTL reaches zero the packet is discarded and an
ICMP error message is returned to the sender.
<hr>
<a name="uucp-tcp"><h3>Using UUCP over TCP</h3>
This subject comes up whenever someone asks about a "domain in

View File

@@ -82,14 +82,14 @@ Use a larger value if your machine is a major mail hub.
You can override this setting for specific Postfix daemons by
editing the <b>master.cf</b> file. For example, if you do not
wish to receive 50 SMTP messages at the same time, you could specify:
wish to receive 100 SMTP messages at the same time, you could specify:
<dl>
<dd> <pre>
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
. . .
smtp inet n - - - 5 smtpd
@@ -126,7 +126,7 @@ limit for the specific mail transport channel.
<p>
The <b>default_destination_concurrency_limit</b> parameter
(default: 10) controls how many messages may be sent to the same
(default: 20) controls how many messages may be sent to the same
destination simultaneously. You can override this setting for
specific delivery channels (<b>local, smtp, uucp</b> etc.). The
<b>main.cf</b> file recommends the following:
@@ -135,7 +135,7 @@ specific delivery channels (<b>local, smtp, uucp</b> etc.). The
<dd> <b>local_destination_concurrency_limit = 2</b>
<dd> <b>default_destination_concurrency_limit = 10</b>
<dd> <b>default_destination_concurrency_limit = 20</b>
</dl>
@@ -150,7 +150,7 @@ manager, you don't want to run too many instances at the same time.
<p>
A destination concurrency limit of 10 for SMTP delivery seems enough
A destination concurrency limit of 20 for SMTP delivery seems enough
to noticeably load a system without bringing it to its knees. Be
careful when changing this to a much larger number.

View File

@@ -40,30 +40,41 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
<b>DEFAULT</b> <b>DELIVERY</b> <b>METHODS</b>
By default, Postfix uses one of the following delivery
methods. This may be overruled with the optional <a href="transport.5.html">trans-</a>
<a href="transport.5.html">port(5)</a> table.
<a href="transport.5.html">port(5)</a> table. The default delivery method is selected by
matching the recipient address domain against one of the
following:
<b>o</b> The recipient domain matches <b>$mydestination</b> or
<b>$inet</b><i>_</i><b>interfaces</b>. The transport and optional nex-
thop are specified with <b>$local</b><i>_</i><b>transport</b>. The
default nexthop is the recipient domain.
<b>$mydestination</b>
<b>o</b> The recipient domain matches <b>$virtual</b><i>_</i><b>mail-</b>
<b>box</b><i>_</i><b>domains</b>. The transport and optional nexthop
are specified with <b>$virtual</b><i>_</i><b>transport</b>. The default
nexthop is the recipient domain.
<b>$inet</b><i>_</i><b>interfaces</b>
The transport and optional nexthop are specified
with <b>$local</b><i>_</i><b>transport</b>. The default nexthop is the
recipient domain.
<b>o</b> The recipient domain matches <b>$relay</b><i>_</i><b>domains</b>. The
transport and optional nexthop are specified with
<b>$relay</b><i>_</i><b>transport</b>. This overrides the optional nex-
thop information that is specified with <b>$relayhost</b>.
The default nexthop is the recipient domain.
<b>$virtual</b><i>_</i><b>alias</b><i>_</i><b>domains</b>
The recipient address is undeliverable (user
unknown). By definition, all known addresses in a
virtual alias domain are aliased to other
addresses.
<b>o</b> All other destinations. the transport and optional
nexthop are specified with <b>$relay</b><i>_</i><b>transport</b>. This
overrides the optional nexthop information that is
specified with <b>$relayhost</b>. The default nexthop is
<b>$virtual</b><i>_</i><b>mailbox</b><i>_</i><b>domains</b>
The transport and optional nexthop are specified
with <b>$virtual</b><i>_</i><b>transport</b>. The default nexthop is
the recipient domain.
<b>$relay</b><i>_</i><b>domains</b>
The transport and optional nexthop are specified
with <b>$relay</b><i>_</i><b>transport</b>. This overrides the optional
nexthop information that is specified with <b>$relay-</b>
<b>host</b>. The default nexthop is the recipient domain.
none of the above
The transport and optional nexthop are specified
with <b>$default</b><i>_</i><b>transport</b>. This overrides the
optional nexthop information that is specified with
<b>$relayhost</b>. The default nexthop is the recipient
domain.
<b>STANDARDS</b>
None. The command does not interact with the outside
world.

View File

@@ -39,25 +39,29 @@ The envelope recipient address that is passed on to \fInexthop\fR.
.fi
By default, Postfix uses one of the following delivery methods.
This may be overruled with the optional transport(5) table.
.IP \(bu
The recipient domain matches \fB$mydestination\fR or
\fB$inet_interfaces\fR. The transport and optional nexthop
The default delivery method is selected by matching the
recipient address domain against one of the following:
.IP \fB$mydestination\fR
.IP \fB$inet_interfaces\fR
The transport and optional nexthop
are specified with \fB$local_transport\fR.
The default nexthop is the recipient domain.
.IP \(bu
The recipient domain matches \fB$virtual_mailbox_domains\fR.
.IP \fB$virtual_alias_domains\fR
The recipient address is undeliverable (user unknown).
By definition, all known addresses in a virtual alias domain
are aliased to other addresses.
.IP \fB$virtual_mailbox_domains\fR
The transport and optional nexthop are specified with
\fB$virtual_transport\fR.
The default nexthop is the recipient domain.
.IP \(bu
The recipient domain matches \fB$relay_domains\fR. The
transport and optional nexthop are specified with
.IP \fB$relay_domains\fR
The transport and optional nexthop are specified with
\fB$relay_transport\fR. This overrides the optional nexthop
information that is specified with \fB$relayhost\fR.
The default nexthop is the recipient domain.
.IP \(bu
All other destinations. the transport and optional nexthop are
specified with \fB$relay_transport\fR.
.IP "none of the above"
The transport and optional nexthop are specified with
\fB$default_transport\fR.
This overrides the optional nexthop information that is specified
with \fB$relayhost\fR.
The default nexthop is the recipient domain.

View File

@@ -580,7 +580,7 @@ extern int var_init_dest_concurrency;
#define VAR_DEST_CON_LIMIT "default_destination_concurrency_limit"
#define _DEST_CON_LIMIT "_destination_concurrency_limit"
#define DEF_DEST_CON_LIMIT 10
#define DEF_DEST_CON_LIMIT 20
extern int var_dest_con_limit;
#define VAR_LOCAL_CON_LIMIT "local" _DEST_CON_LIMIT

View File

@@ -20,7 +20,7 @@
* Patches change the patchlevel and the release date. Snapshots change the
* release date only, unless they include the same bugfix as a patch release.
*/
#define MAIL_RELEASE_DATE "20021222"
#define MAIL_RELEASE_DATE "20021223"
#define VAR_MAIL_VERSION "mail_version"
#define DEF_MAIL_VERSION "2.0.0-" MAIL_RELEASE_DATE

View File

@@ -31,25 +31,29 @@
/* .fi
/* By default, Postfix uses one of the following delivery methods.
/* This may be overruled with the optional transport(5) table.
/* .IP \(bu
/* The recipient domain matches \fB$mydestination\fR or
/* \fB$inet_interfaces\fR. The transport and optional nexthop
/* The default delivery method is selected by matching the
/* recipient address domain against one of the following:
/* .IP \fB$mydestination\fR
/* .IP \fB$inet_interfaces\fR
/* The transport and optional nexthop
/* are specified with \fB$local_transport\fR.
/* The default nexthop is the recipient domain.
/* .IP \(bu
/* The recipient domain matches \fB$virtual_mailbox_domains\fR.
/* .IP \fB$virtual_alias_domains\fR
/* The recipient address is undeliverable (user unknown).
/* By definition, all known addresses in a virtual alias domain
/* are aliased to other addresses.
/* .IP \fB$virtual_mailbox_domains\fR
/* The transport and optional nexthop are specified with
/* \fB$virtual_transport\fR.
/* The default nexthop is the recipient domain.
/* .IP \(bu
/* The recipient domain matches \fB$relay_domains\fR. The
/* transport and optional nexthop are specified with
/* .IP \fB$relay_domains\fR
/* The transport and optional nexthop are specified with
/* \fB$relay_transport\fR. This overrides the optional nexthop
/* information that is specified with \fB$relayhost\fR.
/* The default nexthop is the recipient domain.
/* .IP \(bu
/* All other destinations. the transport and optional nexthop are
/* specified with \fB$relay_transport\fR.
/* .IP "none of the above"
/* The transport and optional nexthop are specified with
/* \fB$default_transport\fR.
/* This overrides the optional nexthop information that is specified
/* with \fB$relayhost\fR.
/* The default nexthop is the recipient domain.