From: Wietse Venema
Date: Sun, 6 Feb 2005 05:00:00 +0000 (-0500)
Subject: postfix-2.2-20050206
X-Git-Tag: v2.2.0-RC1~12
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9897d4a62889c3ddda46991d32d63f1773ce5d3f;p=thirdparty%2Fpostfix.git
postfix-2.2-20050206
---
diff --git a/postfix/HISTORY b/postfix/HISTORY
index f92beeb9b..9dc7db36c 100644
--- a/postfix/HISTORY
+++ b/postfix/HISTORY
@@ -10268,8 +10268,28 @@ Apologies for any names omitted.
command examples. Files: mantools/manlint, mantools/fixman,
mantools/postconf2man.
+20050206
+
+ Cleanup: don't count a [45]XX SMTP server greeting towards
+ the mx_session_limit setting. File: smtp/smtp_connect.c.
+
+ Feature: output address rewriting in the SMTP client. The
+ smtp_generics_maps parameter specifies an address mapping
+ that happens only when mail is delivered via SMTP. This is
+ typically used for hosts without a valid domain name, that
+ use something like localdomain.local instead. This feature
+ can replace local mail addresses by valid Internet mail
+ addresses when mail needs to go across the Internet, but
+ not when mail is sent between accounts on the local machine.
+ Files: smtp/smtp_proto.c, smtp/smtp_map11.c.
+
+ Cleanup: don't panic in mymalloc() when master can't find
+ any IP addresses. LaMont Jones. File: master/master_ent.c.
+
Open problems:
+ Med: document generics mapping in BASIC_CONFIGURATION_README.
+
Med: local and remote source port and IP address for
smtpd policy hook.
@@ -10319,7 +10339,9 @@ Open problems:
Low: update events.c so that 1-second timer requests do
not suffer from rounding errors. This is needed for 1-second
- SMTP session caching time limits.
+ SMTP session caching time limits. A 1-second interval would
+ become arbitrarily short when an event is scheduled just
+ before the current second rolls over.
Low: per-sender resolver personalities?
diff --git a/postfix/README_FILES/ADDRESS_REWRITING_README b/postfix/README_FILES/ADDRESS_REWRITING_README
index e686d21fd..183eb8896 100644
--- a/postfix/README_FILES/ADDRESS_REWRITING_README
+++ b/postfix/README_FILES/ADDRESS_REWRITING_README
@@ -50,6 +50,13 @@ Topics covered in this document:
o Resolve address to destination
o Mail transport switch
o Relocated users table
+
+ * Address rewriting with remote delivery
+
+ o Generic mapping for outgoing SMTP mail
+
+ * Address rewriting with local delivery
+
o Local alias database
o Local per-user .forward files
o Local catch-all address
@@ -118,52 +125,56 @@ this document for the first time, skip forward to "Address rewriting when mail
is received". Once you've finished reading the remainder of this document, the
table will help you to quickly find what you need.
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- |AAddddrreessss |SSccooppee|DDaaeemmoonn |GGlloobbaall ttuurrnn--oonn |SSeelleeccttiivvee ttuurrnn--ooffff |
- |mmaanniippuullaattiioonn| | |ccoonnttrrooll |ccoonnttrrooll |
- |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
- |Rewrite | |trivial-|append_at_myorigin, | |
- |addresses to|all |rewrite |append_dot_mydomain,|none |
- |standard |mail |(8) |swap_bangpath, | |
- |form | | |allow_percent_hack | |
- |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
- |Canonical |all |cleanup | | |
- |address |mail |(8) |canonical_maps |receive_override_options|
- |mapping | | | | |
- |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
- |Address |all |cleanup |masquerade_domains |receive_override_options|
- |masquerading|mail |(8) | | |
- |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
- |Automatic |new |cleanup |always_bcc, | |
- |BCC |mail |(8) |sender_bcc_maps, |receive_override_options|
- |recipients | | |recipient_bcc_maps | |
- |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
- |Virtual |all |cleanup |virtual_alias_maps |receive_override_options|
- |aliasing |mail |(8) | | |
- |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
- |Resolve |all |trivial-| | |
- |address to |mail |rewrite |none |none |
- |destination | |(8) | | |
- |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
- |Mail |all |trivial-| | |
- |transport |mail |rewrite |transport_maps |none |
- |switch | |(8) | | |
- |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
- |Relocated |all |trivial-| | |
- |users table |mail |rewrite |relocated_maps |none |
- | | |(8) | | |
- |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
- |Local alias |all |local(8)|alias_maps |none |
- |database |mail | | | |
- |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
- |Local per- | | | | |
- |user |all |local(8)|forward_path |none |
- |.forward |mail | | | |
- |files | | | | |
- |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
- |Local catch-|all |local(8)|luser_relay |none |
- |all address |mail | | | |
- |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+ |AAddddrreessss |SSccooppee |DDaaeemmoonn |GGlloobbaall ttuurrnn--oonn |SSeelleeccttiivvee ttuurrnn--ooffff |
+ |mmaanniippuullaattiioonn| | |ccoonnttrrooll |ccoonnttrrooll |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |Rewrite | |trivial-|append_at_myorigin, | |
+ |addresses to|all mail|rewrite |append_dot_mydomain,|none |
+ |standard | |(8) |swap_bangpath, | |
+ |form | | |allow_percent_hack | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |Canonical | |cleanup | | |
+ |address |all mail|(8) |canonical_maps |receive_override_options|
+ |mapping | | | | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |Address |all mail|cleanup |masquerade_domains |receive_override_options|
+ |masquerading| |(8) | | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |Automatic | |cleanup |always_bcc, | |
+ |BCC |new mail|(8) |sender_bcc_maps, |receive_override_options|
+ |recipients | | |recipient_bcc_maps | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |Virtual |all mail|cleanup |virtual_alias_maps |receive_override_options|
+ |aliasing | |(8) | | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |Resolve | |trivial-| | |
+ |address to |all mail|rewrite |none |none |
+ |destination | |(8) | | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |Mail | |trivial-| | |
+ |transport |all mail|rewrite |transport_maps |none |
+ |switch | |(8) | | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |Relocated | |trivial-| | |
+ |users table |all mail|rewrite |relocated_maps |none |
+ | | |(8) | | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |Generics |outgoing| | | |
+ |table |SMTP |smtp(8) |smtp_generics_maps |none |
+ | |mail | | | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |Local alias |all mail|local(8)|alias_maps |none |
+ |database | | | | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |Local per- | | | | |
+ |user |all mail|local(8)|forward_path |none |
+ |.forward | | | | |
+ |files | | | | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |Local catch-|all mail|local(8)|luser_relay |none |
+ |all address | | | | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
AAddddrreessss rreewwrriittiinngg wwhheenn mmaaiill iiss rreecceeiivveedd
@@ -502,6 +513,10 @@ rules of the SMTP, LMTP, etc. protocol. When mail cannot be delivered, it is
either returned to the sender or moved to the deferred queue and tried again
later.
+Address manipulations when mail is delivered via the smtp(8) delivery agent:
+
+ * Generic mapping for outgoing SMTP mail
+
Address manipulations when mail is delivered via the local(8) delivery agent:
* Local alias database
@@ -585,6 +600,37 @@ server with the reason "user has moved to otheruser@elsewhere.tld". Older
Postfix versions will receive the mail first, and then return it to the sender
as undeliverable, with the same reason.
+GGeenneerriicc mmaappppiinngg ffoorr oouuttggooiinngg SSMMTTPP mmaaiill
+
+Some hosts have no valid Internet domain name, and instead use a name such as
+localdomain.local. This can be a problem when you want to send mail over the
+Internet, because many mail servers reject mail addresses with invalid domain
+names.
+
+With the smtp_generics_maps parameter you can specify lookup tables that
+replace local mail addresses by valid Internet addresses when mail leaves the
+machine via SMTP. This mapping replaces envelope and header addresses, and is
+non-recursive. It does not happen when you send mail between addresses on the
+local machine.
+
+This feature is available in Postfix version 2.2 and later.
+
+Example:
+
+ /etc/postfix/main.cf:
+ smtp_generics_maps = hash:/etc/postfix/generics
+
+ /etc/postfix/generics:
+ you@localdomain.local youraccount@yourisp.example
+ her@localdomain.local heraccount@herisp.example
+ @localdomain.local youraccount+local@yourisp.example
+
+When mail is sent to a remote host via SMTP, this replaces your local mail
+address you@localdomain.local by your ISP mail address, replaces
+her@localdomain.local by her ISP mail address, and replaces all other local
+addresses by your ISP account, with an address extension of +local (this
+example assumes that the ISP supports "+" style address extensions).
+
LLooccaall aalliiaass ddaattaabbaassee
When mail is to be delivered locally, the local(8) delivery agent runs each
diff --git a/postfix/README_FILES/DEBUG_README b/postfix/README_FILES/DEBUG_README
index f8e1504bc..da0cb445a 100644
--- a/postfix/README_FILES/DEBUG_README
+++ b/postfix/README_FILES/DEBUG_README
@@ -39,7 +39,7 @@ in the /etc/syslog.conf file.
When Postfix does not receive or deliver mail, the first order of business is
to look for errors that prevent Postfix from working properly:
- % egrep '(warning|error|fatal|panic):' /some/log/file | more
+ % eeggrreepp ''((wwaarrnniinngg||eerrrroorr||ffaattaall||ppaanniicc))::'' //ssoommee//lloogg//ffiillee || mmoorree
Note: the most important message is near the BEGINNING of the output. Error
messages that come later are less useful.
@@ -74,13 +74,13 @@ Postfix can produce two types of mail delivery reports for debugging:
* What-if: report what would happen, but do not actually deliver mail. This
mode of operation is requested with:
- $ //uussrr//ssbbiinn//sseennddmmaaiill --bbvv aaddddrreessss......
+ % //uussrr//ssbbiinn//sseennddmmaaiill --bbvv aaddddrreessss......
Mail Delivery Status Report will be mailed to .
* What happened: deliver mail and report successes and/or failures, including
replies from remote SMTP servers. This mode of operation is requested with:
- $ //uussrr//ssbbiinn//sseennddmmaaiill --vv aaddddrreessss......
+ % //uussrr//ssbbiinn//sseennddmmaaiill --vv aaddddrreessss......
Mail Delivery Status Report will be mailed to .
These reports contain information that is generated by Postfix delivery agents.
@@ -138,7 +138,7 @@ This example uses ttccppdduummpp. In order to record a conversation you n
specify a large enough buffer with the "-s" option or else you will miss some
or all of the packet payload.
- # tcpdump -w /file/name -s 2000 host example.com and port 25
+ # ttccppdduummpp --ww //ffiillee//nnaammee --ss 22000000 hhoosstt eexxaammppllee..ccoomm aanndd ppoorrtt 2255
Run this for a while, stop with Ctrl-C when done. To view the data use a binary
viewer, or eetthheerreeaall, or use my ttccppdduummppxx utility that is available from ftp://
@@ -164,15 +164,15 @@ MMaannuuaallllyy ttrraacciinngg aa PPoossttffiixx ddaae
Many systems allow you to inspect a running process with a system call tracer.
For example:
- # trace -p process-id (SunOS 4)
- # strace -p process-id (Linux and many others)
- # truss -p process-id (Solaris, FreeBSD)
- # ktrace -p process-id (generic 4.4BSD)
+ # ttrraaccee --pp pprroocceessss--iidd (SunOS 4)
+ # ssttrraaccee --pp pprroocceessss--iidd (Linux and many others)
+ # ttrruussss --pp pprroocceessss--iidd (Solaris, FreeBSD)
+ # kkttrraaccee --pp pprroocceessss--iidd (generic 4.4BSD)
Even more informative are traces of system library calls. Examples:
- # ltrace -p process-id (Linux, also ported to FreeBSD and BSD/OS)
- # sotruss -p process-id (Solaris)
+ # llttrraaccee --pp pprroocceessss--iidd (Linux, also ported to FreeBSD and BSD/OS)
+ # ssoottrruussss --pp pprroocceessss--iidd (Solaris)
See your system documentation for details.
@@ -224,8 +224,8 @@ xxxxggddbb:
Be sure that ggddbb is in the command search path, and export XXAAUUTTHHOORRIITTYY so that X
access control works, for example:
- % setenv XAUTHORITY ~/.Xauthority (csh syntax)
- $ export XAUTHORITY=$HOME/.Xauthority (sh syntax)
+ % sseetteennvv XXAAUUTTHHOORRIITTYY ~~//..XXaauutthhoorriittyy (csh syntax)
+ $ eexxppoorrtt XXAAUUTTHHOORRIITTYY==$$HHOOMMEE//..XXaauutthhoorriittyy (sh syntax)
Append a --DD option to the suspect daemon definition in /etc/postfix/master.cf,
for example:
@@ -299,22 +299,23 @@ if optimization makes a difference.
In order to compile Postfix with optimizations turned off:
- % make tidy
- % make makefiles OPT=
+ % mmaakkee ttiiddyy
+ % mmaakkee mmaakkeeffiilleess OOPPTT==
This produces a set of Makefiles that do not request compiler optimization.
Once the makefiles are set up, build the software:
- % make
- % su
- # make install
+ % mmaakkee
+ % ssuu
+ Password:
+ # mmaakkee iinnssttaallll
If the problem goes away, then it is time to ask your vendor for help.
RReeppoorrttiinngg pprroobblleemmss ttoo ppoossttffiixx--uusseerrss@@ppoossttffiixx..oorrgg
-The people who participate on the postfix-users@postfix.org are very helpful,
+The people who participate on postfix-users@postfix.org are very helpful,
especially if YOU provide them with sufficient information. Remember, these
volunteers are willing to help, but their time is limited.
@@ -323,29 +324,34 @@ When reporting a problem, be sure to include the following information.
* A summary of the problem. Please do not just send some logging without
explanation of what YOU believe is wrong.
+ * Complete error messages. Please use cut-and-paste, or use attachments,
+ instead of reciting information from memory.
+
+ * Postfix logging. See the text at the top of the DEBUG_README document to
+ find out where logging is stored. Please do not frustrate the helpers by
+ word wrapping the logging.
+
* Consider using a test email address so that you don't have to reveal email
- addresses of innocent people.
+ addresses or passwords of innocent people.
* If you can't use a test email address, please anonymize information
consistently. Replace each letter by "A", each digit by "D" so that the
helpers can still recognize syntactical errors.
- * Complete error messages. Please use cut-and-paste, or use attachments,
- instead of reciting information from memory.
+ * Output from "ppoossttccoonnff --nn". Please do not send your main.cf file or 400+
+ lines of ppoossttccoonnff output.
- * Postfix logging. See the text at the top of the DEBUG_README document to
- find out where logging is stored. Please do not frustrate the helpers by
- word wrapping the logging.
+ * Better, provide output from the ppoossttffiinnggeerr tool. This can be found at http:
+ //ftp.wl0.org/SOURCES/postfinger.
- * Output from "postconf -n". Please do not send your main.cf file. Or better,
- provide output from the "postfinger" tool. This tool is bundled with
- Postfix 2.2 and later source code, and can be found at http://ftp.wl0.org/
- SOURCES/postfinger.
+ * If the problem is SASL related, consider including the output from the
+ ssaassllffiinnggeerr tool. This can be found at http://postfix.state-of-mind.de/
+ patrick.koetter/saslfinger/.
* If the problem is about too much mail in the queue, consider including
- output from the qshape tool, as described in the QSHAPE_README file.
+ output from the qqsshhaappee tool, as described in the QSHAPE_README file.
* If the problem is protocol related (connections time out or an SMTP server
complains about syntax errors etc.) consider recording a session with
- tcpdump, as described in the DEBUG_README document.
+ ttccppdduummpp, as described in the DEBUG_README document.
diff --git a/postfix/README_FILES/IPV6_README b/postfix/README_FILES/IPV6_README
index 8b2f5ee97..684026341 100644
--- a/postfix/README_FILES/IPV6_README
+++ b/postfix/README_FILES/IPV6_README
@@ -10,7 +10,7 @@ support older Postfix versions was available as an add-on patch. The section
between these implementations.
The main feature of interest is that IPv6 uses 128-bit IP addresses instead of
-the 32-bit addresses used by IPv4. It can therefore accomodate a much larger
+the 32-bit addresses used by IPv4. It can therefore accommodate a much larger
number of hosts and networks without ugly kluges such as NAT. A side benefit of
the much larger address space is that it makes network scanning unpractical.
diff --git a/postfix/RELEASE_NOTES b/postfix/RELEASE_NOTES
index 50668fbbd..fa9a2ba48 100644
--- a/postfix/RELEASE_NOTES
+++ b/postfix/RELEASE_NOTES
@@ -7,6 +7,35 @@ snapshot release). Patches are issued for the official release
and change the patchlevel and the release date. Patches are never
issued for snapshot releases.
+Major changes with snapshot Postfix-2.2-20050206
+================================================
+
+Support for address rewriting in outgoing SMTP mail. This is useful
+for sites that have no valid Internet domain name, and that use a
+domain name such as localdomain.local instead. Mail addresses that
+use such domain names are often rejected by mail servers. The new
+smtp_generics_maps feature allows you to replace local mail addresses
+by valid Internet addresses when mail needs to be sent across the
+Internet. It has no effect on mail that is sent between accounts
+on the local machine.
+
+Example:
+
+/etc/postfix/main.cf:
+ smtp_generics_maps = hash:/etc/postfix/generics
+
+/etc/postfix/generics:
+ you@localdomain.local youraccount@yourisp.net
+ her@localdomain.local heraccount@herisp.net
+ @localdomain.local youraccount+local@yourisp.net
+
+When mail is sent to a remote host via SMTP, this replaces your
+local mail address you@localdomain.local by your ISP mail address,
+replaces her@localdomain.local by her ISP mail address, and replaces
+all other local addresses by your ISP account, with an address
+extension of +local (this example assumes that the ISP supports
+"+" style address extensions).
+
Major changes with snapshot Postfix-2.2-20050205
================================================
diff --git a/postfix/html/ADDRESS_REWRITING_README.html b/postfix/html/ADDRESS_REWRITING_README.html
index 9abb142c1..d95fcb50b 100644
--- a/postfix/html/ADDRESS_REWRITING_README.html
+++ b/postfix/html/ADDRESS_REWRITING_README.html
@@ -94,6 +94,20 @@ as invalid
Relocated users table
+
+
+ Address rewriting with remote delivery
+
+
+
+ Address rewriting with local delivery
+
+
- Address manipulations when mail is delivered via the local(8)
-delivery agent:
+ Address manipulations when mail is delivered
+via the smtp(8) delivery agent:
+
+
+
+ Address manipulations when mail is delivered
+via the local(8) delivery agent:
@@ -912,6 +939,42 @@ otheruser@elsewhere.tld". Older Postfix versions will receive the
mail first, and then return it to the sender as undeliverable, with
the same reason.
+
+
+ Some hosts have no valid Internet domain name, and instead use
+a name such as localdomain.local. This can be a problem when
+you want to send mail over the Internet, because many mail servers
+reject mail addresses with invalid domain names.
+
+ With the smtp_generics_maps parameter you can specify lookup
+tables that replace local mail addresses by valid Internet addresses
+when mail leaves the machine via SMTP. This mapping replaces envelope
+and header addresses, and is non-recursive. It does not happen when
+you send mail between addresses on the local machine.
+
+ This feature is available in Postfix version 2.2 and later.
+
+ Example:
+
+
+
+/etc/postfix/main.cf:
+ smtp_generics_maps = hash:/etc/postfix/generics
+
+/etc/postfix/generics:
+ you@localdomain.local youraccount@yourisp.example
+ her@localdomain.local heraccount@herisp.example
+ @localdomain.local youraccount+local@yourisp.example
+
+
+
+ When mail is sent to a remote host via SMTP, this replaces your
+local mail address you@localdomain.local by your ISP mail
+address, replaces her@localdomain.local by her ISP mail
+address, and replaces all other local addresses by your ISP account,
+with an address extension of +local (this example assumes
+that the ISP supports "+" style address extensions).
+
When mail is to be delivered locally, the local(8) delivery
diff --git a/postfix/html/DEBUG_README.html b/postfix/html/DEBUG_README.html
index e326699cc..71fdfd08e 100644
--- a/postfix/html/DEBUG_README.html
+++ b/postfix/html/DEBUG_README.html
@@ -78,7 +78,7 @@ properly:
-% egrep '(warning|error|fatal|panic):' /some/log/file | more
+% egrep '(warning|error|fatal|panic):' /some/log/file | more
@@ -126,7 +126,7 @@ debugging:
deliver mail. This mode of operation is requested with:
-$ /usr/sbin/sendmail -bv address...
+% /usr/sbin/sendmail -bv address...
Mail Delivery Status Report will be mailed to <your login name>.
@@ -135,7 +135,7 @@ failures, including replies from remote SMTP servers. This mode
of operation is requested with:
-$ /usr/sbin/sendmail -v address...
+% /usr/sbin/sendmail -v address...
Mail Delivery Status Report will be mailed to <your login name>.
@@ -211,7 +211,7 @@ else you will miss some or all of the packet payload.
-# tcpdump -w /file/name -s 2000 host example.com and port 25
+# tcpdump -w /file/name -s 2000 host example.com and port 25
@@ -248,10 +248,10 @@ system call tracer. For example:
-# trace -p process-id (SunOS 4)
-# strace -p process-id (Linux and many others)
-# truss -p process-id (Solaris, FreeBSD)
-# ktrace -p process-id (generic 4.4BSD)
+# trace -p process-id (SunOS 4)
+# strace -p process-id (Linux and many others)
+# truss -p process-id (Solaris, FreeBSD)
+# ktrace -p process-id (generic 4.4BSD)
@@ -260,8 +260,8 @@ Examples:
-# ltrace -p process-id (Linux, also ported to FreeBSD and BSD/OS)
-# sotruss -p process-id (Solaris)
+# ltrace -p process-id (Linux, also ported to FreeBSD and BSD/OS)
+# sotruss -p process-id (Solaris)
@@ -340,8 +340,8 @@ export XAUTHORITY so that X access control works, for example:
-% setenv XAUTHORITY ~/.Xauthority (csh syntax)
-$ export XAUTHORITY=$HOME/.Xauthority (sh syntax)
+% setenv XAUTHORITY ~/.Xauthority (csh syntax)
+$ export XAUTHORITY=$HOME/.Xauthority (sh syntax)
@@ -446,8 +446,8 @@ makes a difference.
-% make tidy
-% make makefiles OPT=
+% make tidy
+% make makefiles OPT=
@@ -458,9 +458,10 @@ optimization.
-% make
-% su
-# make install
+% make
+% su
+Password:
+# make install
@@ -469,7 +470,7 @@ for help.
- The people who participate on the postfix-users@postfix.org
+
The people who participate on postfix-users@postfix.org
are very helpful, especially if YOU provide them with sufficient
information. Remember, these volunteers are willing to help, but
their time is limited.
@@ -482,35 +483,40 @@ information.
A summary of the problem. Please do not just send some
logging without explanation of what YOU believe is wrong.
+ Complete error messages. Please use cut-and-paste, or use
+attachments, instead of reciting information from memory.
+
+
+ Postfix logging. See the text at the top of the DEBUG_README
+document to find out where logging is stored. Please do not frustrate
+the helpers by word wrapping the logging.
+
Consider using a test email address so that you don't have
-to reveal email addresses of innocent people.
+to reveal email addresses or passwords of innocent people.
If you can't use a test email address, please anonymize
information consistently. Replace each letter by "A", each digit
by "D" so that the helpers can still recognize syntactical errors.
- Complete error messages. Please use cut-and-paste, or use
-attachments, instead of reciting information from memory.
-
+ Output from "postconf -n". Please do not send your
+main.cf file or 400+ lines of postconf output.
- Postfix logging. See the text at the top of the DEBUG_README
-document to find out where logging is stored. Please do not frustrate
-the helpers by word wrapping the logging.
+ Better, provide output from the postfinger tool.
+This can be found at http://ftp.wl0.org/SOURCES/postfinger.
- Output from "postconf -n". Please do not send your main.cf
-file. Or better, provide output from the "postfinger" tool. This
-tool is bundled with Postfix 2.2 and later source code, and can be
-found at http://ftp.wl0.org/SOURCES/postfinger.
+ If the problem is SASL related, consider including the
+output from the saslfinger tool. This can be found at
+http://postfix.state-of-mind.de/patrick.koetter/saslfinger/.
If the problem is about too much mail in the queue, consider
-including output from the qshape tool, as described in the
+including output from the qshape tool, as described in the
QSHAPE_README file.
If the problem is protocol related (connections time out
or an SMTP server complains about syntax errors etc.) consider
-recording a session with tcpdump, as described in the DEBUG_README
-document.
+recording a session with tcpdump, as described in the DEBUG_README document.