]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-1.1.12-20021218
authorWietse Venema <wietse@porcupine.org>
Wed, 18 Dec 2002 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:28:35 +0000 (06:28 +0000)
58 files changed:
postfix/HISTORY
postfix/README_FILES/SASL_README
postfix/conf/access
postfix/conf/canonical
postfix/conf/transport
postfix/conf/virtual
postfix/html/access.5.html
postfix/html/canonical.5.html
postfix/html/cleanup.8.html
postfix/html/local.8.html
postfix/html/master.8.html
postfix/html/pcre_table.5.html
postfix/html/pickup.8.html
postfix/html/postalias.1.html
postfix/html/postconf.1.html
postfix/html/postfix.1.html
postfix/html/qmqpd.8.html
postfix/html/sendmail.1.html
postfix/html/transport.5.html
postfix/html/trivial-rewrite.8.html
postfix/html/virtual.5.html
postfix/html/virtual.8.html
postfix/man/man1/postalias.1
postfix/man/man1/postconf.1
postfix/man/man1/postfix.1
postfix/man/man1/sendmail.1
postfix/man/man5/access.5
postfix/man/man5/canonical.5
postfix/man/man5/pcre_table.5
postfix/man/man5/transport.5
postfix/man/man5/virtual.5
postfix/man/man8/cleanup.8
postfix/man/man8/local.8
postfix/man/man8/master.8
postfix/man/man8/pickup.8
postfix/man/man8/qmqpd.8
postfix/man/man8/trivial-rewrite.8
postfix/man/man8/virtual.8
postfix/proto/access
postfix/proto/canonical
postfix/proto/pcre_table
postfix/proto/transport
postfix/proto/virtual
postfix/src/cleanup/cleanup.c
postfix/src/global/Makefile.in
postfix/src/global/mail_version.h
postfix/src/local/local.c
postfix/src/master/master.c
postfix/src/pickup/pickup.c
postfix/src/postalias/postalias.c
postfix/src/postconf/postconf.c
postfix/src/postfix/postfix.c
postfix/src/qmqpd/qmqpd.c
postfix/src/sendmail/sendmail.c
postfix/src/trivial-rewrite/Makefile.in
postfix/src/trivial-rewrite/resolve.c
postfix/src/trivial-rewrite/trivial-rewrite.c
postfix/src/virtual/virtual.c

index d855304058cbe3a43a9a5740082705a60a1b9394..a68d0a460b45e97df055fedab7f8faaed0eb8922 100644 (file)
@@ -7500,9 +7500,6 @@ Open problems:
        or maildir delivery that result in deferral rather than
        bouncing mail.
 
-       Low: don't do user@domain and @domain lookups in
-       local_recipient_maps queries.
-
        Low: after reorganizing configuration parameters, add flags
        to all parameters whose value can be read from file.
 
@@ -7528,7 +7525,3 @@ Open problems:
 
        Low: with quoted-printable, perhaps use =46rom instead of
        >From.
-
-       Low: make it easier to have local_recipient_maps turned on
-       by default. This requires documentation of its existence
-       with anything that replaces or extends local delivery.
index 67508d3fc18454282abd4055cecd49fd03837360..73ebdd6d37ff0e39ea684d74cc9cd6918e53bba3 100644 (file)
@@ -46,10 +46,11 @@ was contributed by Jason Hoos.
 When receiving mail, Postfix logs the client-provided username,
 authentication method, and sender address to the maillog file, and
 optionally grants mail access via the permit_sasl_authenticated
-UCE restriction.  SASL authentication information is not passed on
-via message headers or via SMTP.  It is no-one's business what
-username and authentication method the poster was using in order
-to access the mail server.
+UCE restriction.
+
+SASL authentication information is not passed on via message headers
+or via SMTP.  It is no-one's business what username and authentication
+method the poster was using in order to access the mail server.
 
 When sending mail, Postfix looks up the server hostname or destination
 domain (the address remote part) in a table, and if a username/password
index 1d7e01e64188ee333405d6a598619c0580803a47..0b4a8ad63eb60d25e173d850d4a8641abaeaffaf 100644 (file)
 #               tion schemes.
 # 
 #        DUNNO  Pretend that the lookup key was not found  in  this
-#               table,  to  prevents Postfix from trying substrings
+#               table. This prevents Postfix from trying substrings
 #               of the lookup key (such as a subdomain name,  or  a
 #               network address subnetwork).
 # 
index 2ffb81e53a95aef87ca315eb8a91aa44969d8bc3..e140b09274358601684e635f1907ad5e4c8b6887 100644 (file)
@@ -72,7 +72,7 @@
 #               user@domain  is  replaced by address. This form has
 #               the highest precedence.
 # 
-#               This form useful to clean up addresses produced  by
+#               This is useful to clean up  addresses  produced  by
 #               legacy  mail  systems.  It can also be used to pro-
 #               duce Firstname.Lastname style  addresses,  but  see
 #               below for a simpler solution.
index 65be2041040350b6c23edc60a1612ea52ae80697..c5c6cf8c69eae9baab42577e1df4094d01892295 100644 (file)
 #        Note 1: the special pattern * represents any address (i.e.
 #        it functions as the wild-card pattern).
 # 
-#        Note  2:  the  null  recipient address is looked up as the
-#        local  mailer-daemon  address  (mailer-daemon@fully-quali-
-#        fied-domain-name).
+#        Note  2:  the  null  recipient  address  is  looked  up as
+#        $empty_address_recipient@$myhostname (default: mailer-dae-
+#        mon@hostname).
 # 
 # RESULT FORMAT
-#        A  null  transport  and  null nexthop result means "do not
-#        change": use the delivery transport and  nexthop  informa-
-#        tion  that  would  be used when the entire transport table
+#        The  transport field specifies the name of a mail delivery
+#        transport (the first name of a mail delivery service entry
+#        in the Postfix master.cf file).
+# 
+#        The  interpretation  of  the  nexthop  field  is transport
+#        dependent. In the case of SMTP, specify host:service for a
+#        non-default  server port, and use [host] or [host]:port in
+#        order to disable MX (mail exchanger) DNS lookups.  The  []
+#        form  can  also be used with IP addresses instead of host-
+#        names.
+# 
+#        A null transport and null nexthop  result  means  "do  not
+#        change":  use  the delivery transport and nexthop informa-
+#        tion that would be used when the  entire  transport  table
 #        did not exist.
 # 
-#        A non-null transport  field  with  a  null  nexthop  field
+#        A  non-null  transport  field  with  a  null nexthop field
 #        resets the nexthop information to the recipient domain.
 # 
-#        A  null  transport  field with non-null nexthop field does
+#        A null transport field with non-null  nexthop  field  does
 #        not modify the transport information.
 # 
-# TRANSPORT FIELD
-#        The transport field specifies the name of a mail  delivery
-#        transport (the first name of a mail delivery service entry
-#        in the Postfix master.cf file).
-# 
-#        When a null transport field is specified, Postfix uses one
-#        of the following transports:
-# 
-#        $local_transport
-#               The  domain  matches $mydestination or $inet_inter-
-#               faces.
+# DEFAULT DELIVERY METHOD
+#        When  the  recipient  address  or  domain does not match a
+#        transport table entry, Postfix uses one of  the  following
+#        delivery methods, with the recipient domain as the default
+#        nexthop.
 # 
-#        $virtual_transport
-#               The domain matches $virtual_mailbox_domains.
+#        o      The  recipient  domain  matches  $mydestination  or
+#               $inet_interfaces.  The  transport and optional nex-
+#               thop are specified with $local_transport.
 # 
-#        $relay_transport
-#               The domain matches $relay_transport.
+#        o      The   recipient   domain   matches   $virtual_mail-
+#               box_domains.   The  transport  and optional nexthop
+#               are specified with $virtual_transport.
 # 
-#        $default_transport
-#               All other non-local, non-virtual destinations.
+#        o      The recipient domain  matches  $relay_domains.  The
+#               transport  and  optional nexthop are specified with
+#               $relay_transport. This overrides the nexthop infor-
+#               mation that is specified with $relayhost.
 # 
-# NEXTHOP FIELD
-#        The interpretation  of  the  nexthop  field  is  transport
-#        dependent. In the case of SMTP, specify host:service for a
-#        non-default server port, and use [host] or [host]:port  in
-#        order  to  disable MX (mail exchanger) DNS lookups. The []
-#        form can also be used with IP addresses instead  of  host-
-#        names.
+#        o      All  other destinations. the transport and optional
+#               nexthop are specified with $relay_transport.   This
+#               overrides the nexthop information that is specified
+#               with $relayhost.
 # 
 # EXAMPLES
-#        In  order to deliver internal mail directly, while using a
-#        mail relay for all other mail, specify a  null  entry  for
-#        internal  destinations  (do not change the delivery trans-
-#        port or the nexthop information) and  specify  a  wildcard
-#        for  all  other  destinations. Note that for this trick to
-#        work you should not specify a  relayhost  in  the  main.cf
-#        file.
+#        In order to deliver internal mail directly, while using  a
+#        mail  relay  for  all other mail, specify a null entry for
+#        internal destinations (do not change the  delivery  trans-
+#        port  or  the  nexthop information) and specify a wildcard
+#        for all other destinations.
 # 
 #             my.domain    :
 #             .my.domain   :
 #             *            smtp:outbound-relay.my.domain
 # 
-#        In  order  to send mail for foo.org and its subdomains via
+#        In order to send mail for foo.org and its  subdomains  via
 #        the uucp transport to the UUCP host named foo:
 # 
 #             foo.org      uucp:foo
 #             .foo.org     uucp:foo
 # 
-#        When no nexthop host name is  specified,  the  destination
-#        domain  name  is  used instead. For example, the following
-#        directs mail for user@foo.org via the slow transport to  a
-#        mail  exchanger  for foo.org.  The slow transport could be
-#        something that runs at most  one  delivery  process  at  a
+#        When  no  nexthop  host name is specified, the destination
+#        domain name is used instead. For  example,  the  following
+#        directs  mail for user@foo.org via the slow transport to a
+#        mail exchanger for foo.org.  The slow transport  could  be
+#        something  that  runs  at  most  one delivery process at a
 #        time:
 # 
 #             foo.org      slow:
 # 
 #        When no transport is specified, Postfix uses the transport
 #        that matches the address domain class (see TRANSPORT FIELD
-#        discussion  above).   The  following  sends  all  mail for
+#        discussion above).   The  following  sends  all  mail  for
 #        foo.org and its subdomains to host gateway.foo.org:
 # 
 #             foo.org      :[gateway.foo.org]
 #             .foo.org     :[gateway.foo.org]
 # 
-#        In the above example, the  []  are  used  to  suppress  MX
-#        lookups.   The  result  would  likely  point to your local
+#        In  the  above  example,  the  []  are used to suppress MX
+#        lookups.  The result would  likely  point  to  your  local
 #        machine.
 # 
-#        In the case of delivery via SMTP, one  may  specify  host-
+#        In  the  case  of delivery via SMTP, one may specify host-
 #        name:service instead of just a host:
 # 
 #             foo.org      smtp:bar.org:2025
 # 
-#        This  directs  mail  for user@foo.org to host bar.org port
-#        2025. Instead of a numerical port a symbolic name  may  be
-#        used.  Specify  [] around the hostname in order to disable
+#        This directs mail for user@foo.org to  host  bar.org  port
+#        2025.  Instead  of a numerical port a symbolic name may be
+#        used. Specify [] around the hostname in order  to  disable
 #        MX lookups.
 # 
 #        The error mailer can be used to bounce mail:
 # 
-#             .foo.org      error:mail for *.foo.org is not  deliv-
+#             .foo.org       error:mail for *.foo.org is not deliv-
 #        erable
 # 
-#        This  causes  all  mail  for  user@anything.foo.org  to be
+#        This causes  all  mail  for  user@anything.foo.org  to  be
 #        bounced.
 # 
 # REGULAR EXPRESSION TABLES
-#        This section describes how the table lookups  change  when
+#        This  section  describes how the table lookups change when
 #        the table is given in the form of regular expressions. For
-#        a description of regular expression lookup  table  syntax,
+#        a  description  of regular expression lookup table syntax,
 #        see regexp_table(5) or pcre_table(5).
 # 
-#        Each  pattern  is  a regular expression that is applied to
+#        Each pattern is a regular expression that  is  applied  to
 #        the entire domain being looked up. Thus, some.domain.hier-
 #        archy is not broken up into parent domains.
 # 
-#        Patterns  are  applied  in  the  order as specified in the
-#        table, until a pattern is found that  matches  the  search
+#        Patterns are applied in the  order  as  specified  in  the
+#        table,  until  a  pattern is found that matches the search
 #        string.
 # 
-#        Results  are  the  same as with indexed file lookups, with
-#        the additional feature that parenthesized substrings  from
+#        Results are the same as with indexed  file  lookups,  with
+#        the  additional feature that parenthesized substrings from
 #        the pattern can be interpolated as $1, $2 and so on.
 # 
 # CONFIGURATION PARAMETERS
-#        The  following  main.cf parameters are especially relevant
-#        to this topic. See the Postfix  main.cf  file  for  syntax
-#        details  and  for  default  values. Use the postfix reload
+#        The following main.cf parameters are  especially  relevant
+#        to  this  topic.  See  the Postfix main.cf file for syntax
+#        details and for default values.  Use  the  postfix  reload
 #        command after a configuration change.
 # 
+#        empty_address_recipient
+#               The  address  that is looked up instead of the null
+#               sender address.
+# 
 #        parent_domain_matches_subdomains
 #               List of Postfix features that use  domain.tld  pat-
 #               terns   to  match  sub.domain.tld  (as  opposed  to
index 6fa76dfe17a976521479a98501378cef518e0c2e..6f7f05fc20042c7c305d258b8ae7ff76ddb91e45 100644 (file)
@@ -18,8 +18,8 @@
 # 
 #        The main applications of virtual aliasing are:
 # 
-#        o      To redirect mail from one address to  one  or  more
-#               other addresses.
+#        o      To redirect mail for one address  to  one  or  more
+#               addresses.
 # 
 #        o      To  simulate  virtual  domains  where  all  virtual
 #               addresses are aliased to non-virtual addresses.
 #        sions.  In  that  case, the lookups are done in a slightly
 #        different way as described below.
 # 
-# SIMULATED VIRTUAL DOMAINS
-#        Besides virtual aliases, the virtual alias table can  also
-#        be used to simulate virtual domains. With a simulated vir-
-#        tual domain, all recipient addresses are aliased  to  non-
-#        virtual  addresses.   These  non-virtual  addresses may be
-#        either local or remote.
-# 
-#        Simulated virtual domains are not to be confused with  the
-#        true virtual domains that are implemented with the Postfix
-#        virtual(8) mail delivery agent. With true virtual domains,
-#        each recipient address can have its own mailbox.
-# 
-#        With  a  simulated  virtual domain, the virtual domain has
-#        its own user name space. Local  (i.e.  non-virtual)  user-
-#        names  are  not  visible in a simulated virtual domain. In
-#        particular, local aliases(5) and local mailing  lists  are
-#        not visible as localname@simulated.domain.
-# 
-#        Support for a simulated virtual domain looks like:
-# 
-#        /etc/postfix/main.cf:
-#            virtual_alias_maps = hash:/etc/postfix/virtual
-# 
-#            Note:  some systems use dbm databases instead of hash.
-#            See the output from postconf -m for available database
-#            types.
-# 
-#        /etc/postfix/virtual:
-#            simulated.domain     anything (right-hand content does not matter)
-#            postmaster@simulated.domain  postmaster
-#            user1@simulated.domain       address1
-#            user2@simulated.domain       address2, address3
-# 
-#        The simulated.domain anything entry is required for a sim-
-#        ulated virtual domain. Without this entry,  mail  will  be
-#        rejected with a "relay access denied" error condition.
-# 
-#        Do not list a simulated virtual domain name in the main.cf
-#        mydestination configuration parameter.
-# 
-#        With a simulated virtual domain, the Postfix  SMTP  server
-#        accepts  mail for known-user@simulated.domain, and rejects
-#        mail for unknown-user@simulated.domain as undeliverable.
-# 
-#        Instead of specifying the simulated  virtual  domain  name
-#        via  the virtual_alias_maps table, you may also specify it
-#        via the main.cf virtual_alias_domains configuration param-
-#        eter.   This  latter parameter uses the same syntax as the
-#        main.cf mydestination configuration parameter.
-# 
 # TABLE FORMAT
 #        The format of the virtual table is  as  follows,  mappings
 #        being tried in the order as listed in this manual page:
 #        @domain.   An unmatched address extension (+foo) is propa-
 #        gated to the result of table lookup.
 # 
+# SIMULATED VIRTUAL DOMAINS
+#        Besides virtual aliases, the virtual alias table can  also
+#        be used to simulate virtual domains. With a simulated vir-
+#        tual domain, all recipient addresses are aliased  to  non-
+#        virtual  addresses.   These  non-virtual  addresses may be
+#        either local or remote.
+# 
+#        Simulated virtual domains are not to be confused with  the
+#        true virtual domains that are implemented with the Postfix
+#        virtual(8) mail delivery agent. With true virtual domains,
+#        each recipient address can have its own mailbox.
+# 
+#        With  a  simulated  virtual domain, the virtual domain has
+#        its own user name space. Local  (i.e.  non-virtual)  user-
+#        names  are  not  visible in a simulated virtual domain. In
+#        particular, local aliases(5) and local mailing  lists  are
+#        not visible as localname@simulated.domain.
+# 
+#        Support for a simulated virtual domain looks like:
+# 
+#        /etc/postfix/main.cf:
+#            virtual_alias_maps = hash:/etc/postfix/virtual
+# 
+#            Note:  some systems use dbm databases instead of hash.
+#            See the output from postconf -m for available database
+#            types.
+# 
+#        /etc/postfix/virtual:
+#            simulated.domain     anything (right-hand content does not matter)
+#            postmaster@simulated.domain  postmaster
+#            user1@simulated.domain       address1
+#            user2@simulated.domain       address2, address3
+# 
+#        The simulated.domain anything entry is required for a sim-
+#        ulated virtual domain. Without this entry,  mail  will  be
+#        rejected with a "relay access denied" error condition.
+# 
+#        Do not list a simulated virtual domain name in the main.cf
+#        mydestination configuration parameter.
+# 
+#        With a simulated virtual domain, the Postfix  SMTP  server
+#        accepts  mail for known-user@simulated.domain, and rejects
+#        mail for unknown-user@simulated.domain as undeliverable.
+# 
+#        Instead of specifying the simulated  virtual  domain  name
+#        via  the virtual_alias_maps table, you may also specify it
+#        via the main.cf virtual_alias_domains configuration param-
+#        eter.   This  latter parameter uses the same syntax as the
+#        main.cf mydestination configuration parameter.
+# 
 # REGULAR EXPRESSION TABLES
 #        This section describes how the table lookups  change  when
 #        the table is given in the form of regular expressions. For
index 71f575c842c7c4191ff9ebb7a4cf3ddefbff6aa6..5158b390c80bc2582fb3f891a9c8e8a631afecb3 100644 (file)
@@ -130,7 +130,7 @@ ACCESS(5)                                               ACCESS(5)
               tion schemes.
 
        <b>DUNNO</b>  Pretend that the lookup key was not found  in  this
-              table,  to  prevents Postfix from trying substrings
+              table. This prevents Postfix from trying substrings
               of the lookup key (such as a subdomain name,  or  a
               network address subnetwork).
 
index d830aa05e66fdda888b02183ab1ea5ab6e7475e1..641f732fa1911aa0e5c7caa12691e5bc3eb8e524 100644 (file)
@@ -73,7 +73,7 @@ CANONICAL(5)                                         CANONICAL(5)
               <i>user</i>@<i>domain</i>  is  replaced by <i>address</i>. This form has
               the highest precedence.
 
-              This form useful to clean up addresses produced  by
+              This is useful to clean up  addresses  produced  by
               legacy  mail  systems.  It can also be used to pro-
               duce <i>Firstname.Lastname</i> style  addresses,  but  see
               below for a simpler solution.
index 1c7326f38f20250a62f6b25d3c177a3d5c94c353..8efac446b2ab30033c9d41ada0fb4bfac366df97 100644 (file)
@@ -188,20 +188,24 @@ CLEANUP(8)                                             CLEANUP(8)
 
 <b>Resource</b> <b>controls</b>
        <b>duplicate</b><i>_</i><b>filter</b><i>_</i><b>limit</b>
-              Limit  the  number  of envelope recipients that are
+              Limits  the  number of envelope recipients that are
               remembered.
 
-       <b>header</b><i>_</i><b>size</b><i>_</i><b>limit</b>
-              Limit the amount of memory in bytes used to process
+       <b>header</b><i>_</i><b>address</b><i>_</i><b>token</b><i>_</i><b>limit</b>
+              Limits the number of address tokens used to process
               a message header.
 
+       <b>header</b><i>_</i><b>size</b><i>_</i><b>limit</b>
+              Limits  the  amount of memory in bytes used to pro-
+              cess a message header.
+
        <b>in</b><i>_</i><b>flow</b><i>_</i><b>delay</b>
               Amount of time to pause before accepting a message,
-              when the message arrival rate exceeds  the  message
+              when  the  message arrival rate exceeds the message
               delivery rate.
 
        <b>extract</b><i>_</i><b>recipient</b><i>_</i><b>limit</b>
-              Limit  the amount of recipients extracted from mes-
+              Limit the amount of recipients extracted from  mes-
               sage headers.
 
 <b>SEE</b> <b>ALSO</b>
@@ -216,7 +220,7 @@ CLEANUP(8)                                             CLEANUP(8)
        /etc/postfix/virtual*, virtual mapping table
 
 <b>LICENSE</b>
-       The Secure Mailer license must be  distributed  with  this
+       The  Secure  Mailer  license must be distributed with this
        software.
 
 <b>AUTHOR(S)</b>
index 076c8fe382ed1a9f27f9558a46c3dafa24b9571f..59d82ef1bfa4214f79d28697568fe8565e51393e 100644 (file)
@@ -173,45 +173,47 @@ LOCAL(8)                                                 LOCAL(8)
        <b>SENDER</b> The entire sender address.
 
        The <b>PATH</b> environment variable is always reset to a system-
-       dependent default path, and the <b>TZ</b> (time zone) environment
-       variable is always passed on without change.
+       dependent  default  path,  and environment variables whose
+       names are blessed by the <b>export</b><i>_</i><b>environment</b> configureation
+       parameter are exported unchanged.
 
        The current working directory is the mail queue directory.
 
        The <b>local</b> daemon prepends a "<b>From</b> <i>sender</i> <i>time_stamp</i>" enve-
-       lope header to each message,  prepends  an  <b>X-Original-To:</b>
-       header  with  the  recipient  address as given to Postfix,
+       lope  header  to  each message, prepends an <b>X-Original-To:</b>
+       header with the recipient address  as  given  to  Postfix,
        prepends an optional <b>Delivered-To:</b> header with the recipi-
-       ent  envelope address, prepends a <b>Return-Path:</b> header with
+       ent envelope address, prepends a <b>Return-Path:</b> header  with
        the sender envelope address, and appends no empty line.
 
 <b>EXTERNAL</b> <b>FILE</b> <b>DELIVERY</b>
-       The delivery format depends on  the  destination  filename
-       syntax.   The default is to use UNIX-style mailbox format.
-       Specify a name ending in <b>/</b>  for  <b>qmail</b>-compatible  <b>maildir</b>
+       The  delivery  format  depends on the destination filename
+       syntax.  The default is to use UNIX-style mailbox  format.
+       Specify  a  name  ending in <b>/</b> for <b>qmail</b>-compatible <b>maildir</b>
        delivery.
 
-       The  <b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>files</b> configuration parameter restricts
-       delivery to external files. The  default  setting  (<b>alias,</b>
+       The <b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>files</b> configuration parameter  restricts
+       delivery  to  external  files. The default setting (<b>alias,</b>
        <b>forward</b>) forbids file destinations in <b>:include:</b> files.
 
        In the case of UNIX-style mailbox delivery, the <b>local</b> dae-
        mon prepends a "<b>From</b> <i>sender</i> <i>time_stamp</i>" envelope header to
-       each  message,  prepends an <b>X-Original-To:</b> header with the
-       recipient  address  as  given  to  Postfix,  prepends   an
-       optional  <b>Delivered-To:</b> header with the recipient envelope
-       address, prepends a &gt; character to  lines  beginning  with
-       "<b>From</b>  ",  and appends an empty line.  The envelope sender
+       each message, prepends an <b>X-Original-To:</b> header  with  the
+       recipient   address  as  given  to  Postfix,  prepends  an
+       optional <b>Delivered-To:</b> header with the recipient  envelope
+       address,  prepends  a  &gt; character to lines beginning with
+       "<b>From</b> ", and appends an empty line.  The  envelope  sender
        address is available in the <b>Return-Path:</b> header.  When the
-       destination  is a regular file, it is locked for exclusive
+       destination is a regular file, it is locked for  exclusive
        access while delivery is in progress. In case of problems,
        an attempt is made to truncate a regular file to its orig-
        inal length.
 
        In the case of <b>maildir</b> delivery, the local daemon prepends
        an optional <b>Delivered-To:</b> header with the envelope recipi-
-       ent address.  The envelope sender address is available  in
-       the <b>Return-Path:</b> header.
+       ent  address,  and  prepends an <b>X-Original-To:</b> header with
+       the recipient address as given to Postfix.   The  envelope
+       sender address is available in the <b>Return-Path:</b> header.
 
 <b>ADDRESS</b> <b>EXTENSION</b>
        The  optional  <b>recipient</b><i>_</i><b>delimiter</b> configuration parameter
index 211c6b1487308881725a1b8f2bc01252b39b4dbd..512485ca765829045595c582eecc107dec10b17c 100644 (file)
@@ -5,7 +5,7 @@ MASTER(8)                                               MASTER(8)
        master - Postfix master process
 
 <b>SYNOPSIS</b>
-       <b>master</b> [<b>-c</b> <i>config_dir</i>] [<b>-e</b> <i>exit_time</i>] [<b>-D</b>] [<b>-t</b>] [<b>-v</b>]
+       <b>master</b> [<b>-Dtv</b>] [<b>-c</b> <i>config_dir</i>] [<b>-e</b> <i>exit_time</i>]
 
 <b>DESCRIPTION</b>
        The  <b>master</b> daemon is the resident process that runs Post-
index d74644c637ccfbe442bc01ad364cc91a6ca03b73..31da45f43a9e97daf6f6735fcd3c7618fa31f0e9 100644 (file)
@@ -62,7 +62,7 @@ PCRE_TABLE(5)                                       PCRE_TABLE(5)
 
        <b>m</b> (default: off)
               Toggles  the PCRE_MULTILINE flag. When this flag is
-              on, the <b>^</b> and $  metacharacters  match  immediately
+              on, the <b>^</b> and <b>$</b>  metacharacters  match  immediately
               after  and  immediately before a newline character,
               respectively, in addition to matching at the  start
               and end of the subject string.
index dfd20d5d779161da607c52e1906523c629000e15..ba6056e8e9ee01458d6a32167edd7f719398834c 100644 (file)
@@ -19,13 +19,13 @@ PICKUP(8)                                               PICKUP(8)
        world.
 
 <b>SECURITY</b>
-       The <b>pickup</b> daemon runs with superuser privileges  so  that
-       it 1) can open a queue file with the rights of the submit-
-       ting user and 2) can access the Postfix private IPC  chan-
-       nels.  On the positive side, the program can run chrooted,
-       opens no files for writing, is careful about what files it
-       opens  for  reading,  and does not actually touch any data
-       that is sent to its public service endpoint.
+       The <b>pickup</b> daemon is  moderately  security  sensitive.  It
+       runs  with  fixed  low privilege and can run in a chrooted
+       environment.  However, the program reads files from poten-
+       tially  hostile  users.   The <b>pickup</b> daemon opens no files
+       for writing, is careful about  what  files  it  opens  for
+       reading, and does not actually touch any data that is sent
+       to its public service endpoint.
 
 <b>DIAGNOSTICS</b>
        Problems and transactions are logged to <b>syslogd</b>(8).
@@ -56,10 +56,6 @@ PICKUP(8)                                               PICKUP(8)
               Address  to send a copy of each message that enters
               the system.
 
-       <b>mail</b><i>_</i><b>owner</b>
-              The process privileges used  while  not  opening  a
-              <b>maildrop</b> file.
-
        <b>queue</b><i>_</i><b>directory</b>
               Top-level directory of the Postfix queue.
 
@@ -70,7 +66,7 @@ PICKUP(8)                                               PICKUP(8)
        syslogd(8) system logging
 
 <b>LICENSE</b>
-       The  Secure  Mailer  license must be distributed with this
+       The Secure Mailer license must be  distributed  with  this
        software.
 
 <b>AUTHOR(S)</b>
index 8f96b4cefd7e1c686ebf49c4a4feb3214cedd8bd..b19ca66ecd45fcdd9dfc8aa81d259e0975a521e9 100644 (file)
@@ -51,7 +51,7 @@ POSTALIAS(1)                                         POSTALIAS(1)
        <b>-i</b>     Incremental mode. Read entries from standard  input
               and  do  not  truncate  an  existing  database.  By
               default, <b>postalias</b> creates a new database from  the
-              entries in <b>file</b><i>_</i><b>name</b>.
+              entries in <i>file_name</i>.
 
        <b>-n</b>     Don't  include  the terminating null character that
               terminates lookup  keys  and  values.  By  default,
@@ -113,7 +113,7 @@ POSTALIAS(1)                                         POSTALIAS(1)
 
        <i>file_name</i>
               The  name  of  the  alias database source file when
-              rebuilding a database.
+              creating a database.
 
 <b>DIAGNOSTICS</b>
        Problems are logged to the standard error stream. No  out-
@@ -136,9 +136,9 @@ POSTALIAS(1)                                         POSTALIAS(1)
        to  this  program. See the Postfix <b>main.cf</b> file for syntax
        details and for default values.
 
-       efault_Bdatabase_type
-              Default alias database type. On many UNIX  systems,
-              the default type is either <b>dbm</b> or <b>hash</b>.
+       <b>default</b><i>_</i><b>database</b><i>_</i><b>type</b>
+              Default database type. On many  UNIX  systems,  the
+              default type is either <b>dbm</b> or <b>hash</b>.
 
        <b>berkeley</b><i>_</i><b>db</b><i>_</i><b>create</b><i>_</i><b>buffer</b><i>_</i><b>size</b>
               Amount  of buffer memory to be used when creating a
index 2fd3a7539b45ae442672051554947cded65d801a..0367e4f510cad18cbaee844c15a4c6d3137ae653 100644 (file)
@@ -11,7 +11,7 @@ POSTCONF(1)                                           POSTCONF(1)
 
 <b>DESCRIPTION</b>
        The  <b>postconf</b> command prints the actual value of <i>parameter</i>
-       (all known parameters by default), one parameter per line,
+       (all known parameters by default) one parameter per  line,
        changes  its  value, or prints other information about the
        Postfix mail system.
 
index 2d2e98b3d05ccf9aa8d182a585e416d47dbbd9ca..b2f1c1bbdb71a57de93f5049e78719def7a2e678 100644 (file)
@@ -5,7 +5,7 @@ POSTFIX(1)                                             POSTFIX(1)
        postfix - Postfix control program
 
 <b>SYNOPSIS</b>
-       <b>postfix</b> [<b>-c</b> <i>config_dir</i>] [<b>-D</b>] [<b>-v</b>] <i>command</i>
+       <b>postfix</b> [<b>-Dv</b>] [<b>-c</b> <i>config_dir</i>] <i>command</i>
 
 <b>DESCRIPTION</b>
        This  command  is  reserved  for  the superuser. To submit
@@ -67,11 +67,12 @@ POSTFIX(1)                                             POSTFIX(1)
               verbose.
 
 <b>ENVIRONMENT</b>
-       The  <b>postfix</b>  command sets the following environment vari-
-       ables:
+       The  <b>postfix</b>  command  exports  the  following environment
+       variables before executing the <b>postfix-script</b> file:
 
        <b>MAIL</b><i>_</i><b>CONFIG</b>
-              Directory with Postfix configuration files.
+              This is set when the -c command-line option is pre-
+              sent.
 
        <b>MAIL</b><i>_</i><b>VERBOSE</b>
               This is set when the -v command-line option is pre-
@@ -81,10 +82,8 @@ POSTFIX(1)                                             POSTFIX(1)
               This is set when the -D command-line option is pre-
               sent.
 
-<b>CONFIGURATION</b> <b>PARAMETERS</b>
-       The following <b>main.cf</b> configuration  parameters  are  made
-       available  as  process environment variables with the same
-       names:
+       The   following   <b>main.cf</b>   configuration  parameters  are
+       exported as environment variables with the same names:
 
        <b>command</b><i>_</i><b>directory</b>
               Directory with Postfix administrative commands.
@@ -111,14 +110,14 @@ POSTFIX(1)                                             POSTFIX(1)
               commands.
 
        <b>sendmail</b><i>_</i><b>path</b>
-              The full pathname for the Postfix sendmail command.
+              The full pathname for the Postfix <b>sendmail</b> command.
 
        <b>newaliases</b><i>_</i><b>path</b>
-              The  full  pathname for the Postfix newaliases com-
+              The  full  pathname for the Postfix <b>newaliases</b> com-
               mand.
 
        <b>mailq</b><i>_</i><b>path</b>
-              The full pathname for the Postfix mailq command.
+              The full pathname for the Postfix <b>mailq</b> command.
 
        <b>manpage</b><i>_</i><b>directory</b>
               The directory for the Postfix on-line manual pages.
index 37fc7294a1677252246a035fbce904390537d567..9c99eb526e3b09ffbb2e8b801de76bb522ce6f9d 100644 (file)
@@ -96,7 +96,7 @@ QMQPD(8)                                                 QMQPD(8)
               address information.
 
 <b>Tarpitting</b>
-       <b>qmqpd</b><i>_</i><b>error</b><i>_</i><b>sleep</b><i>_</i><b>time</b>
+       <b>qmqpd</b><i>_</i><b>error</b><i>_</i><b>delay</b>
               Time to wait in seconds before informing the client
               of a problem. This slows down run-away errors.
 
index ba691f1ebc1a4274598f54654bae328a0304679a..b96c79529d82fa33b9da23cf33f496f871449c2f 100644 (file)
@@ -164,63 +164,64 @@ SENDMAIL(1)                                           SENDMAIL(1)
        <b>-o7</b> (ignored)
 
        <b>-o8</b> (ignored)
-              The message body type.  Currently,  Postfix  imple-
-              ments <b>just-send-eight</b>.
+              To send 8-bit or binary content, use an appropriate
+              MIME  encapsulation  and specify the appropriate <b>-B</b>
+              command-line option.
 
-       <b>-oi</b>    When  reading  a message from standard input, don't
-              treat a line with only a <b>.</b> character as the end  of
+       <b>-oi</b>    When reading a message from standard  input,  don't
+              treat  a line with only a <b>.</b> character as the end of
               input.
 
        <b>-om</b> (ignored)
-              The  sender  is  never  eliminated  from alias etc.
+              The sender is  never  eliminated  from  alias  etc.
               expansions.
 
        <b>-o</b> <i>x</i> <i>value</i> (ignored)
-              Set option <i>x</i> to <i>value</i>. Use the equivalent  configu-
+              Set  option <i>x</i> to <i>value</i>. Use the equivalent configu-
               ration parameter in <b>main.cf</b> instead.
 
        <b>-r</b> <i>sender</i>
               Set  the  envelope  sender  address.  This  is  the
               address where delivery problems are sent to, unless
-              the  message contains an <b>Errors-To:</b> message header.
+              the message contains an <b>Errors-To:</b> message  header.
 
-       <b>-q</b>     Attempt to deliver all queued mail. This is  imple-
+       <b>-q</b>     Attempt  to deliver all queued mail. This is imple-
               mented by executing the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.
 
        <b>-q</b><i>interval</i> (ignored)
-              The   interval   between   queue   runs.   Use  the
+              The  interval   between   queue   runs.   Use   the
               <b>queue</b><i>_</i><b>run</b><i>_</i><b>delay</b> configuration parameter instead.
 
        <b>-qR</b><i>site</i>
-              Schedule immediate delivery of  all  mail  that  is
+              Schedule  immediate  delivery  of  all mail that is
               queued for the named <i>site</i>. This option accepts only
-              <i>site</i> names that are eligible for the  "fast  flush"
-              service,   and  is  implemented  by  executing  the
+              <i>site</i>  names  that are eligible for the "fast flush"
+              service,  and  is  implemented  by  executing   the
               <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.  See <a href="flushd.8.html"><b>flush</b>(8)</a> for more infor-
               mation about the "fast flush" service.
 
        <b>-qS</b><i>site</i>
-              This  command  is  not  implemented. Use the slower
+              This command is not  implemented.  Use  the  slower
               <b>sendmail</b> <b>-q</b> command instead.
 
-       <b>-t</b>     Extract  recipients  from  message  headers.   This
-              requires  that  no  recipients  be specified on the
+       <b>-t</b>     Extract   recipients  from  message  headers.  This
+              requires that no recipients  be  specified  on  the
               command line.
 
        <b>-v</b>     Enable verbose logging for debugging purposes. Mul-
-              tiple  <b>-v</b>  options  make  the software increasingly
-              verbose. For compatibility  with  mailx  and  other
-              mail  submission  software, a single <b>-v</b> option pro-
+              tiple <b>-v</b> options  make  the  software  increasingly
+              verbose.  For  compatibility  with  mailx and other
+              mail submission software, a single <b>-v</b>  option  pro-
               duces no output.
 
 <b>SECURITY</b>
-       By design, this program is not  set-user  (or  group)  id.
-       However,  it  must  handle  data  from  untrusted users or
-       untrusted machines.  Thus, the usual precautions  need  to
+       By  design,  this  program  is not set-user (or group) id.
+       However, it must  handle  data  from  untrusted  users  or
+       untrusted  machines.   Thus, the usual precautions need to
        be taken against malicious inputs.
 
 <b>DIAGNOSTICS</b>
-       Problems  are  logged  to  <b>syslogd</b>(8)  and to the standard
+       Problems are logged to  <b>syslogd</b>(8)  and  to  the  standard
        error stream.
 
 <b>ENVIRONMENT</b>
@@ -232,7 +233,7 @@ SENDMAIL(1)                                           SENDMAIL(1)
 
        <b>MAIL</b><i>_</i><b>DEBUG</b>
               Enable debugging with an external command, as spec-
-              ified   with   the  <b>debugger</b><i>_</i><b>command</b>  configuration
+              ified  with  the   <b>debugger</b><i>_</i><b>command</b>   configuration
               parameter.
 
 <b>FILES</b>
@@ -240,13 +241,13 @@ SENDMAIL(1)                                           SENDMAIL(1)
        /etc/postfix, configuration files
 
 <b>CONFIGURATION</b> <b>PARAMETERS</b>
-       See the Postfix <b>main.cf</b> file for syntax  details  and  for
-       default  values.  Use  the  <b>postfix</b> <b>reload</b> command after a
+       See  the  Postfix  <b>main.cf</b> file for syntax details and for
+       default values. Use the <b>postfix</b>  <b>reload</b>  command  after  a
        configuration change.
 
        <b>alias</b><i>_</i><b>database</b>
-              Default  alias  database(s)  for  <b>newaliases</b>.   The
-              default  value  for  this  parameter is system-spe-
+              Default   alias  database(s)  for  <b>newaliases</b>.  The
+              default value for  this  parameter  is  system-spe-
               cific.
 
        <b>bounce</b><i>_</i><b>size</b><i>_</i><b>limit</b>
@@ -262,41 +263,41 @@ SENDMAIL(1)                                           SENDMAIL(1)
               initialized.
 
        <b>debug</b><i>_</i><b>peer</b><i>_</i><b>level</b>
-              Increment  in  verbose  logging level when a remote
+              Increment in verbose logging level  when  a  remote
               host  matches  a  pattern  in  the  <b>debug</b><i>_</i><b>peer</b><i>_</i><b>list</b>
               parameter.
 
        <b>debug</b><i>_</i><b>peer</b><i>_</i><b>list</b>
-              List  of  domain or network patterns. When a remote
-              host matches a pattern, increase the  verbose  log-
-              ging   level   by   the  amount  specified  in  the
+              List of domain or network patterns. When  a  remote
+              host  matches  a pattern, increase the verbose log-
+              ging  level  by  the  amount   specified   in   the
               <b>debug</b><i>_</i><b>peer</b><i>_</i><b>level</b> parameter.
 
        <b>default</b><i>_</i><b>verp</b><i>_</i><b>delimiters</b>
-              The VERP delimiter characters that  are  used  when
-              the  <b>-V</b>  command  line  option is specified without
+              The  VERP  delimiter  characters that are used when
+              the <b>-V</b> command line  option  is  specified  without
               delimiter characters.
 
        <b>fast</b><i>_</i><b>flush</b><i>_</i><b>domains</b>
               List of domains that will receive "fast flush" ser-
-              vice  (default:  all  domains  that  this system is
-              willing to relay mail to). This list specifies  the
-              domains  that  Postfix  accepts  in  the  SMTP <b>ETRN</b>
+              vice (default: all  domains  that  this  system  is
+              willing  to relay mail to). This list specifies the
+              domains that  Postfix  accepts  in  the  SMTP  <b>ETRN</b>
               request and in the <b>sendmail</b> <b>-qR</b> command.
 
        <b>fork</b><i>_</i><b>attempts</b>
-              Number of attempts to <b>fork</b>() a process before  giv-
+              Number  of attempts to <b>fork</b>() a process before giv-
               ing up.
 
        <b>fork</b><i>_</i><b>delay</b>
-              Delay   in   seconds   between   successive  <b>fork</b>()
+              Delay  in   seconds   between   successive   <b>fork</b>()
               attempts.
 
        <b>hopcount</b><i>_</i><b>limit</b>
               Limit the number of <b>Received:</b> message headers.
 
        <b>mail</b><i>_</i><b>owner</b>
-              The owner of the mail queue  and  of  most  Postfix
+              The  owner  of  the  mail queue and of most Postfix
               processes.
 
        <b>command</b><i>_</i><b>directory</b>
@@ -306,16 +307,16 @@ SENDMAIL(1)                                           SENDMAIL(1)
               Directory with Postfix daemon programs.
 
        <b>queue</b><i>_</i><b>directory</b>
-              Top-level  directory  of the Postfix queue. This is
+              Top-level directory of the Postfix queue.  This  is
               also the root directory of Postfix daemons that run
               chrooted.
 
        <b>queue</b><i>_</i><b>run</b><i>_</i><b>delay</b>
-              The  time  between successive scans of the deferred
+              The time between successive scans of  the  deferred
               queue.
 
        <b>verp</b><i>_</i><b>delimiter</b><i>_</i><b>filter</b>
-              The characters that Postfix accepts as VERP  delim-
+              The  characters that Postfix accepts as VERP delim-
               iter characters.
 
 <b>SEE</b> <b>ALSO</b>
@@ -331,7 +332,7 @@ SENDMAIL(1)                                           SENDMAIL(1)
        syslogd(8) system logging
 
 <b>LICENSE</b>
-       The  Secure  Mailer  license must be distributed with this
+       The Secure Mailer license must be  distributed  with  this
        software.
 
 <b>AUTHOR(S)</b>
index 58543b89302998fda8408089f83da5b25ea85643..a7f22bb5ad1d93c68fd3d61e816912bc1100d79c 100644 (file)
@@ -89,133 +89,141 @@ TRANSPORT(5)                                         TRANSPORT(5)
        Note 1: the special pattern <b>*</b> represents any address (i.e.
        it functions as the wild-card pattern).
 
-       Note  2:  the  null  recipient address is looked up as the
-       local  mailer-daemon  address  (mailer-daemon@fully-quali-
-       fied-domain-name).
+       Note  2:  the  null  recipient  address  is  looked  up as
+       <b>$empty</b><i>_</i><b>address</b><i>_</i><b>recipient</b>@<b>$myhostname</b> (default: mailer-dae-
+       mon@hostname).
 
 <b>RESULT</b> <b>FORMAT</b>
-       A  null  <i>transport</i>  and  null <i>nexthop</i> result means "do not
-       change": use the delivery transport and  nexthop  informa-
-       tion  that  would  be used when the entire transport table
+       The  transport field specifies the name of a mail delivery
+       transport (the first name of a mail delivery service entry
+       in the Postfix <b>master.cf</b> file).
+
+       The  interpretation  of  the  nexthop  field  is transport
+       dependent. In the case of SMTP, specify <i>host</i>:<i>service</i> for a
+       non-default  server port, and use [<i>host</i>] or [<i>host</i>]:<i>port</i> in
+       order to disable MX (mail exchanger) DNS lookups.  The  []
+       form  can  also be used with IP addresses instead of host-
+       names.
+
+       A null <i>transport</i> and null <i>nexthop</i>  result  means  "do  not
+       change":  use  the delivery transport and nexthop informa-
+       tion that would be used when the  entire  transport  table
        did not exist.
 
-       A non-null <i>transport</i>  field  with  a  null  <i>nexthop</i>  field
+       A  non-null  <i>transport</i>  field  with  a  null <i>nexthop</i> field
        resets the nexthop information to the recipient domain.
 
-       A  null  <i>transport</i>  field with non-null <i>nexthop</i> field does
+       A null <i>transport</i> field with non-null  <i>nexthop</i>  field  does
        not modify the transport information.
 
-<b>TRANSPORT</b> <b>FIELD</b>
-       The transport field specifies the name of a mail  delivery
-       transport (the first name of a mail delivery service entry
-       in the Postfix <b>master.cf</b> file).
-
-       When a null transport field is specified, Postfix uses one
-       of the following transports:
-
-       <b>$local</b><i>_</i><b>transport</b>
-              The  domain  matches <b>$mydestination</b> or <b>$inet</b><i>_</i><b>inter-</b>
-              <b>faces</b>.
+<b>DEFAULT</b> <b>DELIVERY</b> <b>METHOD</b>
+       When  the  recipient  address  or  domain does not match a
+       transport table entry, Postfix uses one of  the  following
+       delivery methods, with the recipient domain as the default
+       nexthop.
 
-       <b>$virtual</b><i>_</i><b>transport</b>
-              The domain matches <b>$virtual</b><i>_</i><b>mailbox</b><i>_</i><b>domains</b>.
+       <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>.
 
-       <b>$relay</b><i>_</i><b>transport</b>
-              The domain matches <b>$relay</b><i>_</i><b>transport</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>.
 
-       <b>$default</b><i>_</i><b>transport</b>
-              All other non-local, non-virtual destinations.
+       <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 nexthop infor-
+              mation that is specified with <b>$relayhost</b>.
 
-<b>NEXTHOP</b> <b>FIELD</b>
-       The interpretation  of  the  nexthop  field  is  transport
-       dependent. In the case of SMTP, specify <i>host</i>:<i>service</i> for a
-       non-default server port, and use [<i>host</i>] or [<i>host</i>]:<i>port</i>  in
-       order  to  disable MX (mail exchanger) DNS lookups. The []
-       form can also be used with IP addresses instead  of  host-
-       names.
+       <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 nexthop information that is specified
+              with <b>$relayhost</b>.
 
 <b>EXAMPLES</b>
-       In  order to deliver internal mail directly, while using a
-       mail relay for all other mail, specify a  null  entry  for
-       internal  destinations  (do not change the delivery trans-
-       port or the nexthop information) and  specify  a  wildcard
-       for  all  other  destinations. Note that for this trick to
-       work you should not specify a  <b>relayhost</b>  in  the  <b>main.cf</b>
-       file.
+       In order to deliver internal mail directly, while using  a
+       mail  relay  for  all other mail, specify a null entry for
+       internal destinations (do not change the  delivery  trans-
+       port  or  the  nexthop information) and specify a wildcard
+       for all other destinations.
 
             <b>my.domain</b>    <b>:</b>
             <b>.my.domain</b>   <b>:</b>
             <b>*</b>            <b>smtp:outbound-relay.my.domain</b>
 
-       In  order  to send mail for <b>foo.org</b> and its subdomains via
+       In order to send mail for <b>foo.org</b> and its  subdomains  via
        the <b>uucp</b> transport to the UUCP host named <b>foo</b>:
 
             <b>foo.org</b>      <b>uucp:foo</b>
             <b>.foo.org</b>     <b>uucp:foo</b>
 
-       When no nexthop host name is  specified,  the  destination
-       domain  name  is  used instead. For example, the following
-       directs mail for <i>user</i>@<b>foo.org</b> via the <b>slow</b> transport to  a
-       mail  exchanger  for <b>foo.org</b>.  The <b>slow</b> transport could be
-       something that runs at most  one  delivery  process  at  a
+       When  no  nexthop  host name is specified, the destination
+       domain name is used instead. For  example,  the  following
+       directs  mail for <i>user</i>@<b>foo.org</b> via the <b>slow</b> transport to a
+       mail exchanger for <b>foo.org</b>.  The <b>slow</b> transport  could  be
+       something  that  runs  at  most  one delivery process at a
        time:
 
             <b>foo.org</b>      <b>slow:</b>
 
        When no transport is specified, Postfix uses the transport
        that matches the address domain class (see TRANSPORT FIELD
-       discussion  above).   The  following  sends  all  mail for
+       discussion above).   The  following  sends  all  mail  for
        <b>foo.org</b> and its subdomains to host <b>gateway.foo.org</b>:
 
             <b>foo.org</b>      <b>:[gateway.foo.org]</b>
             <b>.foo.org</b>     <b>:[gateway.foo.org]</b>
 
-       In the above example, the  []  are  used  to  suppress  MX
-       lookups.   The  result  would  likely  point to your local
+       In  the  above  example,  the  []  are used to suppress MX
+       lookups.  The result would  likely  point  to  your  local
        machine.
 
-       In the case of delivery via SMTP, one  may  specify  <i>host-</i>
+       In  the  case  of delivery via SMTP, one may specify <i>host-</i>
        <i>name</i>:<i>service</i> instead of just a host:
 
             <b>foo.org</b>      <b>smtp:bar.org:2025</b>
 
-       This  directs  mail  for <i>user</i>@<b>foo.org</b> to host <b>bar.org</b> port
-       <b>2025</b>. Instead of a numerical port a symbolic name  may  be
-       used.  Specify  [] around the hostname in order to disable
+       This directs mail for <i>user</i>@<b>foo.org</b> to  host  <b>bar.org</b>  port
+       <b>2025</b>.  Instead  of a numerical port a symbolic name may be
+       used. Specify [] around the hostname in order  to  disable
        MX lookups.
 
        The error mailer can be used to bounce mail:
 
-            <b>.foo.org</b>      <b>error:mail</b> <b>for</b> <b>*.foo.org</b> <b>is</b> <b>not</b>  <b>deliv-</b>
+            <b>.foo.org</b>       <b>error:mail</b> <b>for</b> <b>*.foo.org</b> <b>is</b> <b>not</b> <b>deliv-</b>
        <b>erable</b>
 
-       This  causes  all  mail  for  <i>user</i>@<i>anything</i><b>.foo.org</b>  to be
+       This causes  all  mail  for  <i>user</i>@<i>anything</i><b>.foo.org</b>  to  be
        bounced.
 
 <b>REGULAR</b> <b>EXPRESSION</b> <b>TABLES</b>
-       This section describes how the table lookups  change  when
+       This  section  describes how the table lookups change when
        the table is given in the form of regular expressions. For
-       a description of regular expression lookup  table  syntax,
+       a  description  of regular expression lookup table syntax,
        see <a href="regexp_table.5.html"><b>regexp</b><i>_</i><b>table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre</b><i>_</i><b>table</b>(5)</a>.
 
-       Each  pattern  is  a regular expression that is applied to
+       Each pattern is a regular expression that  is  applied  to
        the entire domain being looked up. Thus, <i>some.domain.hier-</i>
        <i>archy</i> is not broken up into parent domains.
 
-       Patterns  are  applied  in  the  order as specified in the
-       table, until a pattern is found that  matches  the  search
+       Patterns are applied in the  order  as  specified  in  the
+       table,  until  a  pattern is found that matches the search
        string.
 
-       Results  are  the  same as with indexed file lookups, with
-       the additional feature that parenthesized substrings  from
+       Results are the same as with indexed  file  lookups,  with
+       the  additional feature that parenthesized substrings from
        the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
 
 <b>CONFIGURATION</b> <b>PARAMETERS</b>
-       The  following  <b>main.cf</b> parameters are especially relevant
-       to this topic. See the Postfix  <b>main.cf</b>  file  for  syntax
-       details  and  for  default  values. Use the <b>postfix</b> <b>reload</b>
+       The following <b>main.cf</b> parameters are  especially  relevant
+       to  this  topic.  See  the Postfix <b>main.cf</b> file for syntax
+       details and for default values.  Use  the  <b>postfix</b>  <b>reload</b>
        command after a configuration change.
 
+       <b>empty</b><i>_</i><b>address</b><i>_</i><b>recipient</b>
+              The  address  that is looked up instead of the null
+              sender address.
+
        <b>parent</b><i>_</i><b>domain</b><i>_</i><b>matches</b><i>_</i><b>subdomains</b>
               List of Postfix features that use  <i>domain.tld</i>  pat-
               terns   to  match  <i>sub.domain.tld</i>  (as  opposed  to
index 508bfca2b9709d72609598babb0f38f13838d336..77f3e64470a0cf1abece499ebf693781ab4d45ac 100644 (file)
@@ -30,8 +30,8 @@ TRIVIAL-REWRITE(8)                             TRIVIAL-REWRITE(8)
                      field of an entry in the <b>master.cf</b> file.
 
               <i>nexthop</i>
-                     The host to send to. For local delivery this
-                     is an empty string.
+                     The  host  to  send to and optional delivery
+                     method information.
 
               <i>recipient</i>
                      The  envelope  recipient  address  that   is
@@ -66,11 +66,16 @@ TRIVIAL-REWRITE(8)                             TRIVIAL-REWRITE(8)
        command after a configuration change.
 
 <b>Miscellaneous</b>
+       <b>empty</b><i>_</i><b>address</b><i>_</i><b>recipient</b>
+              The recipient that  is  substituted  for  the  null
+              address.
+
        <b>inet</b><i>_</i><b>interfaces</b>
-              The  network  interfaces  that  this  mail   system
-              receives  mail  on.   This  information  is used to
-              determine if <i>user</i>@[<i>net.work.addr.ess</i>] is  local  or
-              remote.
+              The   network  interfaces  that  this  mail  system
+              receives mail on.   This  information  is  used  to
+              determine  if  <i>user</i>@[<i>net.work.addr.ess</i>] is local or
+              remote.  Mail for  local  users  is  given  to  the
+              <b>$local</b><i>_</i><b>transport</b>.
 
        <b>mydestination</b>
               List of domains that are given to the <b>$local</b><i>_</i><b>trans-</b>
index fd7fe1b663ab21ddfb4637bec27fa533eda4e7a6..72463e287b129abe99a065b8724a282556b864ad 100644 (file)
@@ -19,8 +19,8 @@ VIRTUAL(5)                                             VIRTUAL(5)
 
        The main applications of virtual aliasing are:
 
-       <b>o</b>      To redirect mail from one address to  one  or  more
-              other addresses.
+       <b>o</b>      To redirect mail for one address  to  one  or  more
+              addresses.
 
        <b>o</b>      To  simulate  virtual  domains  where  all  virtual
               addresses are aliased to non-virtual addresses.
@@ -50,56 +50,6 @@ VIRTUAL(5)                                             VIRTUAL(5)
        sions.  In  that  case, the lookups are done in a slightly
        different way as described below.
 
-<b>SIMULATED</b> <b>VIRTUAL</b> <b>DOMAINS</b>
-       Besides virtual aliases, the virtual alias table can  also
-       be used to simulate virtual domains. With a simulated vir-
-       tual domain, all recipient addresses are aliased  to  non-
-       virtual  addresses.   These  non-virtual  addresses may be
-       either local or remote.
-
-       Simulated virtual domains are not to be confused with  the
-       true virtual domains that are implemented with the Postfix
-       <a href="virtual.8.html"><b>virtual</b>(8)</a> mail delivery agent. With true virtual domains,
-       each recipient address can have its own mailbox.
-
-       With  a  simulated  virtual domain, the virtual domain has
-       its own user name space. Local  (i.e.  non-virtual)  user-
-       names  are  not  visible in a simulated virtual domain. In
-       particular, local <a href="aliases.5.html"><b>aliases</b>(5)</a> and local mailing  lists  are
-       not visible as <i>localname@simulated.domain</i>.
-
-       Support for a simulated virtual domain looks like:
-
-       /etc/postfix/main.cf:
-           virtual_alias_maps = hash:/etc/postfix/virtual
-
-           Note:  some systems use <b>dbm</b> databases instead of <b>hash</b>.
-           See the output from <b>postconf</b> <b>-m</b> for available database
-           types.
-
-       /etc/postfix/virtual:
-           <i>simulated.domain</i>     <i>anything</i> (right-hand content does not matter)
-           <i>postmaster@simulated.domain</i>  <i>postmaster</i>
-           <i>user1@simulated.domain</i>       <i>address1</i>
-           <i>user2@simulated.domain</i>       <i>address2,</i> <i>address3</i>
-
-       The <i>simulated.domain</i> <i>anything</i> entry is required for a sim-
-       ulated virtual domain. Without this entry,  mail  will  be
-       rejected with a "relay access denied" error condition.
-
-       Do not list a simulated virtual domain name in the <b>main.cf</b>
-       <b>mydestination</b> configuration parameter.
-
-       With a simulated virtual domain, the Postfix  SMTP  server
-       accepts  mail for <i>known-user@simulated.domain</i>, and rejects
-       mail for <i>unknown-user</i>@<i>simulated.domain</i> as undeliverable.
-
-       Instead of specifying the simulated  virtual  domain  name
-       via  the <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>maps</b> table, you may also specify it
-       via the <b>main.cf</b> <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>domains</b> configuration param-
-       eter.   This  latter parameter uses the same syntax as the
-       <b>main.cf</b> <b>mydestination</b> configuration parameter.
-
 <b>TABLE</b> <b>FORMAT</b>
        The format of the virtual table is  as  follows,  mappings
        being tried in the order as listed in this manual page:
@@ -152,6 +102,56 @@ VIRTUAL(5)                                             VIRTUAL(5)
        @<i>domain</i>.   An unmatched address extension (<i>+foo</i>) is propa-
        gated to the result of table lookup.
 
+<b>SIMULATED</b> <b>VIRTUAL</b> <b>DOMAINS</b>
+       Besides virtual aliases, the virtual alias table can  also
+       be used to simulate virtual domains. With a simulated vir-
+       tual domain, all recipient addresses are aliased  to  non-
+       virtual  addresses.   These  non-virtual  addresses may be
+       either local or remote.
+
+       Simulated virtual domains are not to be confused with  the
+       true virtual domains that are implemented with the Postfix
+       <a href="virtual.8.html"><b>virtual</b>(8)</a> mail delivery agent. With true virtual domains,
+       each recipient address can have its own mailbox.
+
+       With  a  simulated  virtual domain, the virtual domain has
+       its own user name space. Local  (i.e.  non-virtual)  user-
+       names  are  not  visible in a simulated virtual domain. In
+       particular, local <a href="aliases.5.html"><b>aliases</b>(5)</a> and local mailing  lists  are
+       not visible as <i>localname@simulated.domain</i>.
+
+       Support for a simulated virtual domain looks like:
+
+       /etc/postfix/main.cf:
+           virtual_alias_maps = hash:/etc/postfix/virtual
+
+           Note:  some systems use <b>dbm</b> databases instead of <b>hash</b>.
+           See the output from <b>postconf</b> <b>-m</b> for available database
+           types.
+
+       /etc/postfix/virtual:
+           <i>simulated.domain</i>     <i>anything</i> (right-hand content does not matter)
+           <i>postmaster@simulated.domain</i>  <i>postmaster</i>
+           <i>user1@simulated.domain</i>       <i>address1</i>
+           <i>user2@simulated.domain</i>       <i>address2,</i> <i>address3</i>
+
+       The <i>simulated.domain</i> <i>anything</i> entry is required for a sim-
+       ulated virtual domain. Without this entry,  mail  will  be
+       rejected with a "relay access denied" error condition.
+
+       Do not list a simulated virtual domain name in the <b>main.cf</b>
+       <b>mydestination</b> configuration parameter.
+
+       With a simulated virtual domain, the Postfix  SMTP  server
+       accepts  mail for <i>known-user@simulated.domain</i>, and rejects
+       mail for <i>unknown-user</i>@<i>simulated.domain</i> as undeliverable.
+
+       Instead of specifying the simulated  virtual  domain  name
+       via  the <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>maps</b> table, you may also specify it
+       via the <b>main.cf</b> <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>domains</b> configuration param-
+       eter.   This  latter parameter uses the same syntax as the
+       <b>main.cf</b> <b>mydestination</b> configuration parameter.
+
 <b>REGULAR</b> <b>EXPRESSION</b> <b>TABLES</b>
        This section describes how the table lookups  change  when
        the table is given in the form of regular expressions. For
index 93e15fd6a0a0407aa030dfe94cbe2c6db7ac92bb..925526715c21ca652fc53e8786f4709e1b7dcefa 100644 (file)
@@ -40,9 +40,11 @@ VIRTUAL(8)                                             VIRTUAL(8)
        The  <b>virtual</b>  delivery  agent  prepends  a  "<b>From</b>   <i>sender</i>
        <i>time_stamp</i>"  envelope  header  to each message, prepends a
        <b>Delivered-To:</b> message header with the  envelope  recipient
-       address,  prepends  a <b>Return-Path:</b> message header with the
-       envelope sender address, prepends a &gt; character  to  lines
-       beginning with "<b>From</b> ", and appends an empty line.
+       address, prepends an <b>X-Original-To:</b> header with the recip-
+       ient address as given to Postfix, prepends a  <b>Return-Path:</b>
+       message  header with the envelope sender address, prepends
+       a &gt; character to lines beginning with "<b>From</b> ", and appends
+       an empty line.
 
        The  mailbox is locked for exclusive access while delivery
        is in progress. In case of problems, an attempt is made to
index e7594fe4955a92f97e9dc97c5de82d534a8dcc02..e7fc82ef0216c962f35e14e444c52740fa96a4ad 100644 (file)
@@ -49,7 +49,7 @@ a map.
 .IP \fB-i\fR
 Incremental mode. Read entries from standard input and do not
 truncate an existing database. By default, \fBpostalias\fR creates
-a new database from the entries in \fBfile_name\fR.
+a new database from the entries in \fIfile_name\fR.
 .IP \fB-n\fR
 Don't include the terminating null character that terminates lookup
 keys and values. By default, Postfix does whatever is the default for
@@ -101,7 +101,7 @@ parameter.
 The default value for this parameter depends on the host environment.
 .RE
 .IP \fIfile_name\fR
-The name of the alias database source file when rebuilding a database.
+The name of the alias database source file when creating a database.
 .SH DIAGNOSTICS
 .ad
 .fi
@@ -129,8 +129,8 @@ Enable verbose logging for debugging purposes.
 The following \fBmain.cf\fR parameters are especially relevant to
 this program. See the Postfix \fBmain.cf\fR file for syntax details
 and for default values.
-.IP \fdefault_Bdatabase_type\fR
-Default alias database type. On many UNIX systems, the default type
+.IP \fBdefault_database_type\fR
+Default database type. On many UNIX systems, the default type
 is either \fBdbm\fR or \fBhash\fR.
 .IP \fBberkeley_db_create_buffer_size\fR
 Amount of buffer memory to be used when creating a Berkeley DB
index 8c0a4e339a080698ecd26bd7845600ec7dd1e969..74d20a49a29114ba2af530c4e5f4bc1940621b06 100644 (file)
@@ -18,7 +18,7 @@ Postfix configuration utility
 .ad
 .fi
 The \fBpostconf\fR command prints the actual value of
-\fIparameter\fR (all known parameters by default), one
+\fIparameter\fR (all known parameters by default) one
 parameter per line, changes its value, or prints other
 information about the Postfix mail system.
 
index 7e4ce0b9524912c23f7a61ab42ab715c9d968baa..9401d1273eb8212d3281feed07c562b835b8c480 100644 (file)
@@ -9,8 +9,7 @@ Postfix control program
 .na
 .nf
 .fi
-\fBpostfix\fR [\fB-c \fIconfig_dir\fR] [\fB-D\fR] [\fB-v\fR]
-\fIcommand\fR
+\fBpostfix\fR [\fB-Dv\fR] [\fB-c \fIconfig_dir\fR] \fIcommand\fR
 .SH DESCRIPTION
 .ad
 .fi
@@ -67,21 +66,17 @@ options make the software increasingly verbose.
 .nf
 .ad
 .fi
-The \fBpostfix\fR command sets the following environment
-variables:
+The \fBpostfix\fR command exports the following environment
+variables before executing the \fBpostfix-script\fR file:
 .IP \fBMAIL_CONFIG\fR
-Directory with Postfix configuration files.
+This is set when the -c command-line option is present.
 .IP \fBMAIL_VERBOSE\fR
 This is set when the -v command-line option is present.
 .IP \fBMAIL_DEBUG\fR
 This is set when the -D command-line option is present.
-.SH CONFIGURATION PARAMETERS
-.na
-.nf
-.ad
-.fi
-The following \fBmain.cf\fR configuration parameters are made
-available as process environment variables with the same names:
+.PP
+The following \fBmain.cf\fR configuration parameters are
+exported as environment variables with the same names:
 .IP \fBcommand_directory\fR
 Directory with Postfix administrative commands.
 .IP \fBdaemon_directory\fR
@@ -98,11 +93,11 @@ The owner of Postfix queue files and of most Postfix processes.
 .IP \fBsetgid_group\fR
 The group for mail submission and queue management commands.
 .IP \fBsendmail_path
-The full pathname for the Postfix sendmail command.
+The full pathname for the Postfix \fBsendmail\fR command.
 .IP \fBnewaliases_path
-The full pathname for the Postfix newaliases command.
+The full pathname for the Postfix \fBnewaliases\fR command.
 .IP \fBmailq_path
-The full pathname for the Postfix mailq command.
+The full pathname for the Postfix \fBmailq\fR command.
 .IP \fBmanpage_directory
 The directory for the Postfix on-line manual pages.
 .IP \fBsample_directory
index 44a714b473be81f00347d911f705e6f29268065c..785ded0496610306d50afad402471b78d6180c09 100644 (file)
@@ -140,8 +140,8 @@ Non-default alias database. Specify \fIpathname\fR or
 details.
 .IP "\fB-o7\fR (ignored)"
 .IP "\fB-o8\fR (ignored)"
-The message body type. Currently, Postfix implements
-\fBjust-send-eight\fR.
+To send 8-bit or binary content, use an appropriate MIME encapsulation
+and specify the appropriate \fB-B\fR command-line option.
 .IP "\fB-oi\fR"
 When reading a message from standard input, don\'t treat a line
 with only a \fB.\fR character as the end of input.
index 54d9974da3ff3f9768685757a969ad4544c4d926..12528f65948cdd3519de758fb8cf8bb4e7e6662f 100644 (file)
@@ -125,7 +125,7 @@ Accept the address etc. that matches the pattern.
 An all-numerical result is treated as OK. This format is
 generated by address-based relay authorization schemes.
 .IP \fBDUNNO\fR
-Pretend that the lookup key was not found in this table, to
+Pretend that the lookup key was not found in this table. This
 prevents Postfix from trying substrings of the lookup key
 (such as a subdomain name, or a network address subnetwork).
 .IP \fBHOLD\fR
index 9259187df9993cc2236ab9f89bed23a579dd82c7..2b413caf5cca1c1d9191f99cc732acf51427133a 100644 (file)
@@ -71,7 +71,7 @@ listed below:
 \fIuser\fR@\fIdomain\fR is replaced by \fIaddress\fR. This form
 has the highest precedence.
 .sp
-This form useful to clean up addresses produced by legacy mail systems.
+This is useful to clean up addresses produced by legacy mail systems.
 It can also be used to produce \fIFirstname.Lastname\fR style
 addresses, but see below for a simpler solution.
 .IP "\fIuser address\fR"
index fbb07661774fc75ab59f18df01c861045d63389b..6293ed4a8c413b558913034865041948f1da9841 100644 (file)
@@ -57,7 +57,7 @@ Toggles the case sensitivity flag. By default, matching is case
 insensitive.
 .IP "\fBm\fR (default: off)"
 Toggles the PCRE_MULTILINE flag. When this flag is on, the \fB^\fR
-and \fb$\fR metacharacters match immediately after and immediately
+and \fB$\fR metacharacters match immediately after and immediately
 before a newline character, respectively, in addition to
 matching at the start and end of the subject string.
 .IP "\fBs\fR (default: on)"
index c35b35420381df2d3dd13b7ff759d18f2fd411ee..f73bbb69de2b49fbcfc8935136c5cc2499cb6424 100644 (file)
@@ -59,6 +59,8 @@ such as \fBsmtp\fR or \fBlocal\fR. The \fInexthop\fR field
 specifies where and how to deliver mail. More details are given
 in section "RESULT FORMAT".
 .SH TABLE LOOKUP
+.na
+.nf
 .ad
 .fi
 With lookups from indexed files such as DB or DBM, or from networked
@@ -84,11 +86,23 @@ Otherwise, a domain name matches itself and its subdomains.
 Note 1: the special pattern \fB*\fR represents any address (i.e. it
 functions as the wild-card pattern).
 
-Note 2: the null recipient address is looked up as the local
-mailer-daemon address (mailer-daemon@fully-qualified-domain-name).
+Note 2: the null recipient address is looked up as
+\fB$empty_address_recipient\fR@\fB$myhostname\fR (default:
+mailer-daemon@hostname).
 .SH RESULT FORMAT
+.na
+.nf
 .ad
 .fi
+The transport field specifies the name of a mail delivery transport
+(the first name of a mail delivery service entry in the Postfix
+\fBmaster.cf\fR file).
+
+The interpretation of the nexthop field is transport
+dependent. In the case of SMTP, specify \fIhost\fR:\fIservice\fR for a
+non-default server port, and use [\fIhost\fR] or [\fIhost\fR]:\fIport\fR
+in order to disable MX (mail exchanger) DNS lookups. The [] form
+can also be used with IP addresses instead of hostnames.
 
 A null \fItransport\fR and null \fInexthop\fR result means "do
 not change": use the delivery transport and nexthop information
@@ -99,31 +113,32 @@ resets the nexthop information to the recipient domain.
 
 A null \fItransport\fR field with non-null \fInexthop\fR field
 does not modify the transport information.
-.SH TRANSPORT FIELD
-.ad
-.fi
-The transport field specifies the name of a mail delivery transport
-(the first name of a mail delivery service entry in the Postfix
-\fBmaster.cf\fR file).
-
-When a null transport field is specified, Postfix uses one of the
-following transports:
-.IP \fB$local_transport\fR
-The domain matches \fB$mydestination\fR or \fB$inet_interfaces\fR.
-.IP \fB$virtual_transport\fR
-The domain matches \fB$virtual_mailbox_domains\fR.
-.IP \fB$relay_transport\fR
-The domain matches \fB$relay_transport\fR.
-.IP \fB$default_transport\fR
-All other non-local, non-virtual destinations.
-.SH NEXTHOP FIELD
+.SH DEFAULT DELIVERY METHOD
+.na
+.nf
 .ad
 .fi
-The interpretation of the nexthop field is transport
-dependent. In the case of SMTP, specify \fIhost\fR:\fIservice\fR for a
-non-default server port, and use [\fIhost\fR] or [\fIhost\fR]:\fIport\fR
-in order to disable MX (mail exchanger) DNS lookups. The [] form
-can also be used with IP addresses instead of hostnames.
+When the recipient address or domain does not match a transport
+table entry, Postfix uses one of the following delivery methods,
+with the recipient domain as the default nexthop.
+.IP \(bu
+The recipient domain matches \fB$mydestination\fR or
+\fB$inet_interfaces\fR. The transport and optional nexthop
+are specified with \fB$local_transport\fR.
+.IP \(bu
+The recipient domain matches \fB$virtual_mailbox_domains\fR.
+The transport and optional nexthop are specified with
+\fB$virtual_transport\fR.
+.IP \(bu
+The recipient domain matches \fB$relay_domains\fR. The
+transport and optional nexthop are specified with
+\fB$relay_transport\fR. This overrides the nexthop information
+that is specified with \fB$relayhost\fR.
+.IP \(bu
+All other destinations. the transport and optional nexthop are
+specified with \fB$relay_transport\fR.
+This overrides the nexthop information that is specified with
+\fB$relayhost\fR.
 .SH EXAMPLES
 .na
 .nf
@@ -133,8 +148,7 @@ In order to deliver internal mail directly, while using a
 mail relay for all other mail, specify a null entry for
 internal destinations (do not change the delivery transport or
 the nexthop information) and specify a wildcard for all other
-destinations. Note that for this trick to work you should
-not specify a \fBrelayhost\fR in the \fBmain.cf\fR file.
+destinations.
 
 .ti +5
 \fB\&my.domain    :\fR
@@ -219,6 +233,8 @@ The following \fBmain.cf\fR parameters are especially relevant to
 this topic. See the Postfix \fBmain.cf\fR file for syntax details
 and for default values. Use the \fBpostfix reload\fR command after
 a configuration change.
+.IP \fBempty_address_recipient\fR
+The address that is looked up instead of the null sender address.
 .IP \fBparent_domain_matches_subdomains\fR
 List of Postfix features that use \fIdomain.tld\fR patterns
 to match \fIsub.domain.tld\fR (as opposed to
index 98d61140bad3dc7e1de4be96d4092f2e6bc72303..a9b493d3dda2f50d02342a33914a83a146b19e02 100644 (file)
@@ -22,7 +22,7 @@ is recursive, and is done by the Postfix \fBcleanup\fR(8) daemon.
 
 The main applications of virtual aliasing are:
 .IP \(bu
-To redirect mail from one address to one or more other addresses.
+To redirect mail for one address to one or more addresses.
 .IP \(bu
 To simulate virtual domains where all virtual addresses are aliased
 to non-virtual addresses.
@@ -49,6 +49,54 @@ or SQL, the same lookups are done as for ordinary indexed files.
 Alternatively, the table can be provided as a regular-expression
 map where patterns are given as regular expressions. In that case,
 the lookups are done in a slightly different way as described below.
+.SH TABLE FORMAT
+.na
+.nf
+.ad
+.fi
+The format of the virtual table is as follows, mappings being
+tried in the order as listed in this manual page:
+.IP "\fIpattern result\fR"
+When \fIpattern\fR matches a mail address, replace it by the
+corresponding \fIresult\fR.
+.IP "blank lines and comments"
+Empty lines and whitespace-only lines are ignored, as
+are lines whose first non-whitespace character is a `#'.
+.IP "multi-line text"
+A logical line starts with non-whitespace text. A line that
+starts with whitespace continues a logical line.
+.PP
+With lookups from indexed files such as DB or DBM, or from networked
+tables such as NIS, LDAP or SQL, patterns are tried in the order as
+listed below:
+.IP "\fIuser\fR@\fIdomain address, address, ...\fR"
+Mail for \fIuser\fR@\fIdomain\fR is redirected to \fIaddress\fR.
+This form has the highest precedence.
+.IP "\fIuser address, address, ...\fR"
+Mail for \fIuser\fR@\fIsite\fR is redirected to \fIaddress\fR when
+\fIsite\fR is equal to $\fBmyorigin\fR, when \fIsite\fR is listed in
+$\fRmydestination\fR, or when it is listed in $\fIinet_interfaces\fR.
+.sp
+This functionality overlaps with functionality of the local
+\fIaliases\fR(5) database. The difference is that \fBvirtual\fR
+mapping can be applied to non-local addresses.
+.IP "@\fIdomain address, address, ...\fR"
+Mail for any user in \fIdomain\fR is redirected to \fIaddress\fR.
+This form has the lowest precedence.
+.PP
+In all the above forms, when \fIaddress\fR has the form
+@\fIotherdomain\fR, the result is the same user in \fIotherdomain\fR.
+This works for the first address in the expansion only.
+.SH ADDRESS EXTENSION
+.na
+.nf
+.fi
+.ad
+When a mail address localpart contains the optional recipient delimiter
+(e.g., \fIuser+foo\fR@\fIdomain\fR), the lookup order becomes:
+\fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR, \fIuser+foo\fR,
+\fIuser\fR, and @\fIdomain\fR.  An unmatched address extension
+(\fI+foo\fR) is propagated to the result of table lookup.
 .SH SIMULATED VIRTUAL DOMAINS
 .na
 .nf
@@ -108,54 +156,6 @@ the \fBvirtual_alias_maps\fR table, you may also specify it via
 the \fBmain.cf virtual_alias_domains\fR configuration parameter.
 This latter parameter uses the same syntax as the \fBmain.cf
 mydestination\fR configuration parameter.
-.SH TABLE FORMAT
-.na
-.nf
-.ad
-.fi
-The format of the virtual table is as follows, mappings being
-tried in the order as listed in this manual page:
-.IP "\fIpattern result\fR"
-When \fIpattern\fR matches a mail address, replace it by the
-corresponding \fIresult\fR.
-.IP "blank lines and comments"
-Empty lines and whitespace-only lines are ignored, as
-are lines whose first non-whitespace character is a `#'.
-.IP "multi-line text"
-A logical line starts with non-whitespace text. A line that
-starts with whitespace continues a logical line.
-.PP
-With lookups from indexed files such as DB or DBM, or from networked
-tables such as NIS, LDAP or SQL, patterns are tried in the order as
-listed below:
-.IP "\fIuser\fR@\fIdomain address, address, ...\fR"
-Mail for \fIuser\fR@\fIdomain\fR is redirected to \fIaddress\fR.
-This form has the highest precedence.
-.IP "\fIuser address, address, ...\fR"
-Mail for \fIuser\fR@\fIsite\fR is redirected to \fIaddress\fR when
-\fIsite\fR is equal to $\fBmyorigin\fR, when \fIsite\fR is listed in
-$\fRmydestination\fR, or when it is listed in $\fIinet_interfaces\fR.
-.sp
-This functionality overlaps with functionality of the local
-\fIaliases\fR(5) database. The difference is that \fBvirtual\fR
-mapping can be applied to non-local addresses.
-.IP "@\fIdomain address, address, ...\fR"
-Mail for any user in \fIdomain\fR is redirected to \fIaddress\fR.
-This form has the lowest precedence.
-.PP
-In all the above forms, when \fIaddress\fR has the form
-@\fIotherdomain\fR, the result is the same user in \fIotherdomain\fR.
-This works for the first address in the expansion only.
-.SH ADDRESS EXTENSION
-.na
-.nf
-.fi
-.ad
-When a mail address localpart contains the optional recipient delimiter
-(e.g., \fIuser+foo\fR@\fIdomain\fR), the lookup order becomes:
-\fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR, \fIuser+foo\fR,
-\fIuser\fR, and @\fIdomain\fR.  An unmatched address extension
-(\fI+foo\fR) is propagated to the result of table lookup.
 .SH REGULAR EXPRESSION TABLES
 .na
 .nf
index 6f5e8f747ab8c2101f4219355f20a6dbd0be078f..0e6e0cdc2edd729b595db2b620da7b17863319e8 100644 (file)
@@ -164,9 +164,11 @@ Address mapping lookup table for envelope recipient addresses.
 .ad
 .fi
 .IP \fBduplicate_filter_limit\fR
-Limit the number of envelope recipients that are remembered.
+Limits the number of envelope recipients that are remembered.
+.IP \fBheader_address_token_limit\fR
+Limits the number of address tokens used to process a message header.
 .IP \fBheader_size_limit\fR
-Limit the amount of memory in bytes used to process a message header.
+Limits the amount of memory in bytes used to process a message header.
 .IP \fBin_flow_delay\fR
 Amount of time to pause before accepting a message, when the
 message arrival rate exceeds the message delivery rate.
index 9f85c78d0a7cd4192a028b2d7f4f531848e0ceff..4fc4cc8ac9280f61cde4f776a5785f1022c7f5f4 100644 (file)
@@ -185,8 +185,9 @@ The entire recipient address.
 The entire sender address.
 .PP
 The \fBPATH\fR environment variable is always reset to a
-system-dependent default path, and the \fBTZ\fR (time zone)
-environment variable is always passed on without change.
+system-dependent default path, and environment variables
+whose names are blessed by the \fBexport_environment\fR
+configureation parameter are exported unchanged.
 
 The current working directory is the mail queue directory.
 
@@ -228,7 +229,10 @@ is made to truncate a regular file to its original length.
 
 In the case of \fBmaildir\fR delivery, the local daemon prepends
 an optional
-\fBDelivered-To:\fR header with the envelope recipient address.
+\fBDelivered-To:\fR header with the envelope recipient address, and
+prepends an
+\fBX-Original-To:\fR header with the recipient address as given to
+Postfix.
 The envelope sender address is available in the \fBReturn-Path:\fR
 header.
 .SH ADDRESS EXTENSION
index b1379e199e3cb772b0a18b94ad35688d5a955e6a..ced98fe7cb4655bdff38915eea4a6fabfadae05c 100644 (file)
@@ -9,8 +9,8 @@ Postfix master process
 .na
 .nf
 .fi
-\fBmaster\fR [\fB-c \fIconfig_dir\fR] [\fB-e \fIexit_time\fR]
-[\fB-D\fR] [\fB-t\fR] [\fB-v\fR]
+\fBmaster\fR [\fB-Dtv\fR] [\fB-c \fIconfig_dir\fR]
+[\fB-e \fIexit_time\fR]
 .SH DESCRIPTION
 .ad
 .fi
index bcc1b43cdf23dd123b3d50743c588bebc0b66c4d..199e030558bae29e35ab951d740df613af57785d 100644 (file)
@@ -29,13 +29,12 @@ None. The \fBpickup\fR daemon does not interact with the outside world.
 .nf
 .ad
 .fi
-The \fBpickup\fR daemon runs with superuser privileges so that it
-1) can open a queue file with the rights of the submitting user
-and 2) can access the Postfix private IPC channels.
-On the positive side, the program can run chrooted, opens no files
-for writing, is careful about what files it opens for reading, and
-does not actually touch any data that is sent to its public service
-endpoint.
+The \fBpickup\fR daemon is moderately security sensitive. It runs
+with fixed low privilege and can run in a chrooted environment.
+However, the program reads files from potentially hostile users.
+The \fBpickup\fR daemon opens no files for writing, is careful about
+what files it opens for reading, and does not actually touch any data
+that is sent to its public service endpoint.
 .SH DIAGNOSTICS
 .ad
 .fi
@@ -67,8 +66,6 @@ a Postfix transport table.
 .fi
 .IP \fBalways_bcc\fR
 Address to send a copy of each message that enters the system.
-.IP \fBmail_owner\fR
-The process privileges used while not opening a \fBmaildrop\fR file.
 .IP \fBqueue_directory\fR
 Top-level directory of the Postfix queue.
 .SH SEE ALSO
index f2b0c31a45d3577f04aeb87172709600353da745..b608249fa84a23c47330f23302c57d5f3a5a0aba 100644 (file)
@@ -95,7 +95,7 @@ storage for sender and recipient address information.
 .SH Tarpitting
 .ad
 .fi
-.IP \fBqmqpd_error_sleep_time\fR
+.IP \fBqmqpd_error_delay\fR
 Time to wait in seconds before informing the client of
 a problem. This slows down run-away errors.
 .SH SEE ALSO
index b299a9c96ddeaf6fbbaf0d54e183ee4e15e6244a..ce170c760f91160cf3e3050c4c9073419a07137f 100644 (file)
@@ -28,7 +28,7 @@ Resolve an address to a (\fItransport\fR, \fInexthop\fR,
 The delivery agent to use. This is the first field of an entry
 in the \fBmaster.cf\fR file.
 .IP \fInexthop\fR
-The host to send to. For local delivery this is an empty string.
+The host to send to and optional delivery method information.
 .IP \fIrecipient\fR
 The envelope recipient address that is passed on to \fInexthop\fR.
 .PP
@@ -72,18 +72,21 @@ a configuration change.
 .SH Miscellaneous
 .ad
 .fi
+.IP \fBempty_address_recipient\fR
+The recipient that is substituted for the null address.
 .IP \fBinet_interfaces\fR
 The network interfaces that this mail system receives mail on.
 This information is used to determine if
 \fIuser\fR@[\fInet.work.addr.ess\fR] is local or remote.
+Mail for local users is given to the \fB$local_transport\fR.
 .IP \fBmydestination\fR
 List of domains that are given to the \fB$local_transport\fR.
-.IP \fBvirtual_alias_domains\fT
+.IP \fBvirtual_alias_domains\fR
 List of simulated virtual domains (domains with all recipients
 aliased to some other local or remote domain).
-.IP \fBvirtual_mailbox_domains\fT
+.IP \fBvirtual_mailbox_domains\fR
 List of domains that are given to the \fB$virtual_transport\fR.
-.IP \fBrelay_domains\fT
+.IP \fBrelay_domains\fR
 List of domains that are given to the \fB$relay_transport\fR.
 .IP \fBresolve_unquoted_address\fR
 When resolving an address, do not quote the address localpart as
index 8027649205841892e89084850fdc4a123cdcb35c..f74a6d228e142cfad46b47f59a4818739b4283f0 100644 (file)
@@ -49,7 +49,10 @@ messages in one textfile.
 The \fBvirtual\fR delivery agent prepends a "\fBFrom \fIsender
 time_stamp\fR" envelope header to each message, prepends a
 \fBDelivered-To:\fR message header with the envelope recipient
-address, prepends a \fBReturn-Path:\fR message header with the
+address,
+prepends an \fBX-Original-To:\fR header with the recipient address as
+given to Postfix,
+prepends a \fBReturn-Path:\fR message header with the
 envelope sender address, prepends a \fB>\fR character to lines
 beginning with "\fBFrom \fR", and appends an empty line.
 
index d9e0d3680b0370a8ccf82e7e785d7f1a0e6e6396..eef4a4bf1ab65e8b14a25ee107d0aaa413d582fa 100644 (file)
 #      An all-numerical result is treated as OK. This format is
 #      generated by address-based relay authorization schemes.
 # .IP \fBDUNNO\fR
-#      Pretend that the lookup key was not found in this table, to
+#      Pretend that the lookup key was not found in this table. This
 #      prevents Postfix from trying substrings of the lookup key
 #      (such as a subdomain name, or a network address subnetwork).
 # .IP \fBHOLD\fR
index afc29f3cb552e0b0ce10f1c8d272c5868743d497..3c0e8427a6c4957640a34a4b2c097690665214ed 100644 (file)
@@ -63,7 +63,7 @@
 #      \fIuser\fR@\fIdomain\fR is replaced by \fIaddress\fR. This form
 #      has the highest precedence.
 #      .sp
-#      This form useful to clean up addresses produced by legacy mail systems.
+#      This is useful to clean up addresses produced by legacy mail systems.
 #      It can also be used to produce \fIFirstname.Lastname\fR style
 #      addresses, but see below for a simpler solution.
 # .IP "\fIuser address\fR"
index 97c0f4e85ff6ef0dc894b21e58285f444cbfc430..c8512c70c87100c1b526287765cc78fda09b3d8e 100644 (file)
@@ -51,7 +51,7 @@
 #      insensitive.
 # .IP "\fBm\fR (default: off)"
 #      Toggles the PCRE_MULTILINE flag. When this flag is on, the \fB^\fR
-#      and \fb$\fR metacharacters match immediately after and immediately
+#      and \fB$\fR metacharacters match immediately after and immediately
 #      before a newline character, respectively, in addition to
 #      matching at the start and end of the subject string.
 # .IP "\fBs\fR (default: on)"
index c8634c45bb82a198edaf9feedfb1ab0d99d9706d..95cf09aa185c0182e33085cbf11f655bba4d5bf2 100644 (file)
@@ -6,9 +6,9 @@
 # SYNOPSIS
 #      \fBpostmap /etc/postfix/transport\fR
 #
-#       \fBpostmap -q "\fIstring\fB" /etc/postfix/transport\fR
+#      \fBpostmap -q "\fIstring\fB" /etc/postfix/transport\fR
 #
-#       \fBpostmap -q - /etc/postfix/transport <\fIinputfile\fR
+#      \fBpostmap -q - /etc/postfix/transport <\fIinputfile\fR
 # DESCRIPTION
 #      The optional \fBtransport\fR table specifies a mapping from email
 #      addresses to message delivery transports and/or relay hosts. The
@@ -50,7 +50,7 @@
 #      such as \fBsmtp\fR or \fBlocal\fR. The \fInexthop\fR field
 #      specifies where and how to deliver mail. More details are given
 #      in section "RESULT FORMAT".
-# .SH TABLE LOOKUP
+# TABLE LOOKUP
 # .ad
 # .fi
 #      With lookups from indexed files such as DB or DBM, or from networked
 #      Note 1: the special pattern \fB*\fR represents any address (i.e. it
 #      functions as the wild-card pattern).
 #
-#      Note 2: the null recipient address is looked up as the local
-#      mailer-daemon address (mailer-daemon@fully-qualified-domain-name).
-# .SH RESULT FORMAT
+#      Note 2: the null recipient address is looked up as
+#      \fB$empty_address_recipient\fR@\fB$myhostname\fR (default:
+#      mailer-daemon@hostname).
+# RESULT FORMAT
 # .ad
 # .fi
+#      The transport field specifies the name of a mail delivery transport
+#      (the first name of a mail delivery service entry in the Postfix
+#      \fBmaster.cf\fR file).
+#
+#      The interpretation of the nexthop field is transport
+#      dependent. In the case of SMTP, specify \fIhost\fR:\fIservice\fR for a
+#      non-default server port, and use [\fIhost\fR] or [\fIhost\fR]:\fIport\fR
+#      in order to disable MX (mail exchanger) DNS lookups. The [] form
+#      can also be used with IP addresses instead of hostnames.
 #
 #      A null \fItransport\fR and null \fInexthop\fR result means "do
 #      not change": use the delivery transport and nexthop information
 #
 #      A null \fItransport\fR field with non-null \fInexthop\fR field
 #      does not modify the transport information.
-# .SH TRANSPORT FIELD
-# .ad
-# .fi
-#      The transport field specifies the name of a mail delivery transport
-#      (the first name of a mail delivery service entry in the Postfix
-#      \fBmaster.cf\fR file).
-#
-#      When a null transport field is specified, Postfix uses one of the
-#      following transports:
-# .IP \fB$local_transport\fR
-#      The domain matches \fB$mydestination\fR or \fB$inet_interfaces\fR.
-# .IP \fB$virtual_transport\fR
-#      The domain matches \fB$virtual_mailbox_domains\fR.
-# .IP \fB$relay_transport\fR
-#      The domain matches \fB$relay_transport\fR.
-# .IP \fB$default_transport\fR
-#      All other non-local, non-virtual destinations.
-# .SH NEXTHOP FIELD
+# DEFAULT DELIVERY METHOD
 # .ad
 # .fi
-#      The interpretation of the nexthop field is transport
-#      dependent. In the case of SMTP, specify \fIhost\fR:\fIservice\fR for a
-#      non-default server port, and use [\fIhost\fR] or [\fIhost\fR]:\fIport\fR
-#      in order to disable MX (mail exchanger) DNS lookups. The [] form
-#      can also be used with IP addresses instead of hostnames.
+#      When the recipient address or domain does not match a transport
+#      table entry, Postfix uses one of the following delivery methods,
+#      with the recipient domain as the default nexthop.
+# .IP \(bu
+#      The recipient domain matches \fB$mydestination\fR or
+#      \fB$inet_interfaces\fR. The transport and optional nexthop
+#      are specified with \fB$local_transport\fR.
+# .IP \(bu
+#      The recipient domain matches \fB$virtual_mailbox_domains\fR.
+#      The transport and optional nexthop are specified with
+#      \fB$virtual_transport\fR.
+# .IP \(bu
+#      The recipient domain matches \fB$relay_domains\fR. The
+#      transport and optional nexthop are specified with
+#      \fB$relay_transport\fR. This overrides the nexthop information
+#      that is specified with \fB$relayhost\fR.
+# .IP \(bu
+#      All other destinations. the transport and optional nexthop are
+#      specified with \fB$relay_transport\fR.
+#      This overrides the nexthop information that is specified with
+#      \fB$relayhost\fR.
 # EXAMPLES
 # .ad
 # .fi
 #      mail relay for all other mail, specify a null entry for
 #      internal destinations (do not change the delivery transport or
 #      the nexthop information) and specify a wildcard for all other
-#      destinations. Note that for this trick to work you should
-#      not specify a \fBrelayhost\fR in the \fBmain.cf\fR file.
+#      destinations.
 #
 # .ti +5
 #      \fB\&my.domain    :\fR
 #      this topic. See the Postfix \fBmain.cf\fR file for syntax details
 #      and for default values. Use the \fBpostfix reload\fR command after
 #      a configuration change.
+# .IP \fBempty_address_recipient\fR
+#      The address that is looked up instead of the null sender address.
 # .IP \fBparent_domain_matches_subdomains\fR
 #      List of Postfix features that use \fIdomain.tld\fR patterns
 #      to match \fIsub.domain.tld\fR (as opposed to
index 0b5eaf374c6f63048c891a973cf22320b1541c21..f82d18740c143c73daa3bb1ac839905d5741c122 100644 (file)
@@ -16,7 +16,7 @@
 #
 #      The main applications of virtual aliasing are:
 # .IP \(bu
-#      To redirect mail from one address to one or more other addresses.
+#      To redirect mail for one address to one or more addresses.
 # .IP \(bu
 #      To simulate virtual domains where all virtual addresses are aliased
 #      to non-virtual addresses.
 #      Alternatively, the table can be provided as a regular-expression
 #      map where patterns are given as regular expressions. In that case,
 #      the lookups are done in a slightly different way as described below.
+# TABLE FORMAT
+# .ad
+# .fi
+#      The format of the virtual table is as follows, mappings being
+#      tried in the order as listed in this manual page:
+# .IP "\fIpattern result\fR"
+#      When \fIpattern\fR matches a mail address, replace it by the
+#      corresponding \fIresult\fR.
+# .IP "blank lines and comments"
+#      Empty lines and whitespace-only lines are ignored, as
+#      are lines whose first non-whitespace character is a `#'.
+# .IP "multi-line text"
+#      A logical line starts with non-whitespace text. A line that
+#      starts with whitespace continues a logical line.
+# .PP
+#      With lookups from indexed files such as DB or DBM, or from networked
+#      tables such as NIS, LDAP or SQL, patterns are tried in the order as
+#      listed below:
+# .IP "\fIuser\fR@\fIdomain address, address, ...\fR"
+#      Mail for \fIuser\fR@\fIdomain\fR is redirected to \fIaddress\fR.
+#      This form has the highest precedence.
+# .IP "\fIuser address, address, ...\fR"
+#      Mail for \fIuser\fR@\fIsite\fR is redirected to \fIaddress\fR when
+#      \fIsite\fR is equal to $\fBmyorigin\fR, when \fIsite\fR is listed in
+#      $\fRmydestination\fR, or when it is listed in $\fIinet_interfaces\fR.
+#      .sp
+#      This functionality overlaps with functionality of the local
+#      \fIaliases\fR(5) database. The difference is that \fBvirtual\fR
+#      mapping can be applied to non-local addresses.
+# .IP "@\fIdomain address, address, ...\fR"
+#      Mail for any user in \fIdomain\fR is redirected to \fIaddress\fR.
+#      This form has the lowest precedence.
+# .PP
+#      In all the above forms, when \fIaddress\fR has the form
+#      @\fIotherdomain\fR, the result is the same user in \fIotherdomain\fR.
+#      This works for the first address in the expansion only.
+# ADDRESS EXTENSION
+# .fi
+# .ad
+#      When a mail address localpart contains the optional recipient delimiter
+#      (e.g., \fIuser+foo\fR@\fIdomain\fR), the lookup order becomes:
+#      \fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR, \fIuser+foo\fR,
+#      \fIuser\fR, and @\fIdomain\fR.  An unmatched address extension
+#      (\fI+foo\fR) is propagated to the result of table lookup.
 # SIMULATED VIRTUAL DOMAINS
 # .ad
 # .fi
 #      the \fBmain.cf virtual_alias_domains\fR configuration parameter.
 #      This latter parameter uses the same syntax as the \fBmain.cf
 #      mydestination\fR configuration parameter.
-# TABLE FORMAT
-# .ad
-# .fi
-#      The format of the virtual table is as follows, mappings being
-#      tried in the order as listed in this manual page:
-# .IP "\fIpattern result\fR"
-#      When \fIpattern\fR matches a mail address, replace it by the
-#      corresponding \fIresult\fR.
-# .IP "blank lines and comments"
-#      Empty lines and whitespace-only lines are ignored, as
-#      are lines whose first non-whitespace character is a `#'.
-# .IP "multi-line text"
-#      A logical line starts with non-whitespace text. A line that
-#      starts with whitespace continues a logical line.
-# .PP
-#      With lookups from indexed files such as DB or DBM, or from networked
-#      tables such as NIS, LDAP or SQL, patterns are tried in the order as
-#      listed below:
-# .IP "\fIuser\fR@\fIdomain address, address, ...\fR"
-#      Mail for \fIuser\fR@\fIdomain\fR is redirected to \fIaddress\fR.
-#      This form has the highest precedence.
-# .IP "\fIuser address, address, ...\fR"
-#      Mail for \fIuser\fR@\fIsite\fR is redirected to \fIaddress\fR when
-#      \fIsite\fR is equal to $\fBmyorigin\fR, when \fIsite\fR is listed in
-#      $\fRmydestination\fR, or when it is listed in $\fIinet_interfaces\fR.
-#      .sp
-#      This functionality overlaps with functionality of the local
-#      \fIaliases\fR(5) database. The difference is that \fBvirtual\fR
-#      mapping can be applied to non-local addresses.
-# .IP "@\fIdomain address, address, ...\fR"
-#      Mail for any user in \fIdomain\fR is redirected to \fIaddress\fR.
-#      This form has the lowest precedence.
-# .PP
-#      In all the above forms, when \fIaddress\fR has the form
-#      @\fIotherdomain\fR, the result is the same user in \fIotherdomain\fR.
-#      This works for the first address in the expansion only.
-# ADDRESS EXTENSION
-# .fi
-# .ad
-#      When a mail address localpart contains the optional recipient delimiter
-#      (e.g., \fIuser+foo\fR@\fIdomain\fR), the lookup order becomes:
-#      \fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR, \fIuser+foo\fR,
-#      \fIuser\fR, and @\fIdomain\fR.  An unmatched address extension
-#      (\fI+foo\fR) is propagated to the result of table lookup.
 # REGULAR EXPRESSION TABLES
 # .ad
 # .fi
index 1dd7f9881b3ef6917a3780a3d26ff826991b4b3e..7207298e76b7c8b35851596ffa4d6b2377ae0f94 100644 (file)
 /* .ad
 /* .fi
 /* .IP \fBduplicate_filter_limit\fR
-/*     Limit the number of envelope recipients that are remembered.
+/*     Limits the number of envelope recipients that are remembered.
+/* .IP \fBheader_address_token_limit\fR
+/*     Limits the number of address tokens used to process a message header.
 /* .IP \fBheader_size_limit\fR
-/*     Limit the amount of memory in bytes used to process a message header.
+/*     Limits the amount of memory in bytes used to process a message header.
 /* .IP \fBin_flow_delay\fR
 /*     Amount of time to pause before accepting a message, when the
 /*     message arrival rate exceeds the message delivery rate.
index 5a5a430eb7d0272523f4bc8d0d02f6171b6c0a54..b9c37aa01c48af258ffe6ac71eb2197b3fe8d47b 100644 (file)
@@ -306,8 +306,7 @@ rewrite_clnt_test: rewrite_clnt rewrite_clnt.in rewrite_clnt.ref
            diff - rewrite_clnt.tmp
        rm -f rewrite_clnt.tmp
 
-# Requires: Postfix, root, myorigin=$myhostname, relayhost=$mydomain,
-# no transport map
+# Requires: Postfix, root, relayhost=$mydomain, no transport map
 
 resolve_clnt_test: resolve_clnt resolve_clnt.in resolve_clnt.ref
        sed -e "s/MYDOMAIN/`postconf -h mydomain`/g" \
index 3dc150f1e6eb9e50f3f8b5e55fb7d0babb773595..8e65ad4e89505d1d5a159b24d8e38fe5f6e3431a 100644 (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      "20021217"
+#define MAIL_RELEASE_DATE      "20021218"
 
 #define VAR_MAIL_VERSION       "mail_version"
 #define DEF_MAIL_VERSION       "1.1.12-" MAIL_RELEASE_DATE
index ac6c0ca703df48c414a337adaf1a1b6f6cab4b6a..be2a07aecd62221302eaac7f02194ccea821a80f 100644 (file)
 /*     The entire sender address.
 /* .PP
 /*     The \fBPATH\fR environment variable is always reset to a
-/*     system-dependent default path, and the \fBTZ\fR (time zone)
-/*     environment variable is always passed on without change.
+/*     system-dependent default path, and environment variables
+/*     whose names are blessed by the \fBexport_environment\fR
+/*     configureation parameter are exported unchanged.
 /*
 /*     The current working directory is the mail queue directory.
 /*
 /*
 /*     In the case of \fBmaildir\fR delivery, the local daemon prepends
 /*     an optional
-/*     \fBDelivered-To:\fR header with the envelope recipient address.
+/*     \fBDelivered-To:\fR header with the envelope recipient address, and
+/*     prepends an
+/*     \fBX-Original-To:\fR header with the recipient address as given to
+/*     Postfix.
 /*     The envelope sender address is available in the \fBReturn-Path:\fR
 /*     header.
 /* ADDRESS EXTENSION
index 9071f34e7a8189c7f02046e508fd2a9eb7922ba7..e4b29c6e99a58ccc37fa878bc92a6c36be9b228c 100644 (file)
@@ -5,8 +5,8 @@
 /*     Postfix master process
 /* SYNOPSIS
 /* .fi
-/*     \fBmaster\fR [\fB-c \fIconfig_dir\fR] [\fB-e \fIexit_time\fR]
-/*             [\fB-D\fR] [\fB-t\fR] [\fB-v\fR]
+/*     \fBmaster\fR [\fB-Dtv\fR] [\fB-c \fIconfig_dir\fR]
+/*             [\fB-e \fIexit_time\fR]
 /* DESCRIPTION
 /*     The \fBmaster\fR daemon is the resident process that runs Postfix
 /*     daemons on demand: daemons to send or receive messages via the
index 40e1ab7141d8e6b11d259b64546fd7e26898624d..b8f697b281a33502ca8da7cd25dc098e37c21122 100644 (file)
 /* SECURITY
 /* .ad
 /* .fi
-/*     The \fBpickup\fR daemon runs with superuser privileges so that it
-/*     1) can open a queue file with the rights of the submitting user
-/*     and 2) can access the Postfix private IPC channels.
-/*     On the positive side, the program can run chrooted, opens no files
-/*     for writing, is careful about what files it opens for reading, and
-/*     does not actually touch any data that is sent to its public service
-/*     endpoint.
+/*     The \fBpickup\fR daemon is moderately security sensitive. It runs
+/*     with fixed low privilege and can run in a chrooted environment.
+/*     However, the program reads files from potentially hostile users.
+/*     The \fBpickup\fR daemon opens no files for writing, is careful about
+/*     what files it opens for reading, and does not actually touch any data
+/*     that is sent to its public service endpoint.
 /* DIAGNOSTICS
 /*     Problems and transactions are logged to \fBsyslogd\fR(8).
 /* BUGS
@@ -51,8 +50,6 @@
 /* .fi
 /* .IP \fBalways_bcc\fR
 /*     Address to send a copy of each message that enters the system.
-/* .IP \fBmail_owner\fR
-/*     The process privileges used while not opening a \fBmaildrop\fR file.
 /* .IP \fBqueue_directory\fR
 /*     Top-level directory of the Postfix queue.
 /* SEE ALSO
index 72c2588b51de3b9c91d0641ed768ec0e58c73595..cadb61a7fd4e5d0a272b4d691ef44852d72d7c01 100644 (file)
@@ -43,7 +43,7 @@
 /* .IP \fB-i\fR
 /*     Incremental mode. Read entries from standard input and do not
 /*     truncate an existing database. By default, \fBpostalias\fR creates
-/*     a new database from the entries in \fBfile_name\fR.
+/*     a new database from the entries in \fIfile_name\fR.
 /* .IP \fB-n\fR
 /*     Don't include the terminating null character that terminates lookup
 /*     keys and values. By default, Postfix does whatever is the default for
@@ -95,7 +95,7 @@
 /*     The default value for this parameter depends on the host environment.
 /* .RE
 /* .IP \fIfile_name\fR
-/*     The name of the alias database source file when rebuilding a database.
+/*     The name of the alias database source file when creating a database.
 /* DIAGNOSTICS
 /*     Problems are logged to the standard error stream. No output means
 /*     no problems were detected. Duplicate entries are skipped and are
 /*     The following \fBmain.cf\fR parameters are especially relevant to
 /*     this program. See the Postfix \fBmain.cf\fR file for syntax details
 /*     and for default values.
-/* .IP \fdefault_Bdatabase_type\fR
-/*     Default alias database type. On many UNIX systems, the default type
+/* .IP \fBdefault_database_type\fR
+/*     Default database type. On many UNIX systems, the default type
 /*     is either \fBdbm\fR or \fBhash\fR.
 /* .IP \fBberkeley_db_create_buffer_size\fR
 /*     Amount of buffer memory to be used when creating a Berkeley DB
index 6854a57eb7b0978b618d51722b1fdad6262128ce..662c66b1d6ccc2a44de73b6c6c922690170ccfcf 100644 (file)
@@ -12,7 +12,7 @@
 /*             [\fIparameter=value ...\fR]
 /* DESCRIPTION
 /*     The \fBpostconf\fR command prints the actual value of
-/*     \fIparameter\fR (all known parameters by default), one
+/*     \fIparameter\fR (all known parameters by default) one
 /*     parameter per line, changes its value, or prints other
 /*     information about the Postfix mail system.
 /*
index 91ac5be64be9a712d2a17c2bd02ee54e646dbc66..5912b7bf0aa05c5cc70062e7a8f796beabc33b18 100644 (file)
@@ -5,8 +5,7 @@
 /*     Postfix control program
 /* SYNOPSIS
 /* .fi
-/*     \fBpostfix\fR [\fB-c \fIconfig_dir\fR] [\fB-D\fR] [\fB-v\fR]
-/*             \fIcommand\fR
+/*     \fBpostfix\fR [\fB-Dv\fR] [\fB-c \fIconfig_dir\fR] \fIcommand\fR
 /* DESCRIPTION
 /*     This command is reserved for the superuser. To submit mail,
 /*     use the Postfix \fBsendmail\fR command.
 /* ENVIRONMENT
 /* .ad
 /* .fi
-/*     The \fBpostfix\fR command sets the following environment
-/*     variables:
+/*     The \fBpostfix\fR command exports the following environment
+/*     variables before executing the \fBpostfix-script\fR file:
 /* .IP \fBMAIL_CONFIG\fR
-/*     Directory with Postfix configuration files.
+/*     This is set when the -c command-line option is present.
 /* .IP \fBMAIL_VERBOSE\fR
 /*     This is set when the -v command-line option is present.
 /* .IP \fBMAIL_DEBUG\fR
 /*     This is set when the -D command-line option is present.
-/* CONFIGURATION PARAMETERS
-/* .ad
-/* .fi
-/*     The following \fBmain.cf\fR configuration parameters are made
-/*     available as process environment variables with the same names:
+/* .PP
+/*     The following \fBmain.cf\fR configuration parameters are
+/*     exported as environment variables with the same names:
 /* .IP \fBcommand_directory\fR
 /*     Directory with Postfix administrative commands.
 /* .IP \fBdaemon_directory\fR
 /* .IP \fBsetgid_group\fR
 /*      The group for mail submission and queue management commands.
 /* .IP \fBsendmail_path
-/*       The full pathname for the Postfix sendmail command.
+/*       The full pathname for the Postfix \fBsendmail\fR command.
 /* .IP \fBnewaliases_path
-/*       The full pathname for the Postfix newaliases command.
+/*       The full pathname for the Postfix \fBnewaliases\fR command.
 /* .IP \fBmailq_path
-/*       The full pathname for the Postfix mailq command.
+/*       The full pathname for the Postfix \fBmailq\fR command.
 /* .IP \fBmanpage_directory
 /*       The directory for the Postfix on-line manual pages.
 /* .IP \fBsample_directory
index 96dda4d4f2aff039bd0c8ae9159468ebc8c96dc3..34ebb91c145b8f9557645d9245dc3d6a1c864385 100644 (file)
@@ -81,7 +81,7 @@
 /* .SH Tarpitting
 /* .ad
 /* .fi
-/* .IP \fBqmqpd_error_sleep_time\fR
+/* .IP \fBqmqpd_error_delay\fR
 /*     Time to wait in seconds before informing the client of
 /*     a problem. This slows down run-away errors.
 /* SEE ALSO
index f2fa7218d450feaca330d33ce55e300ffe461dd2..954bd07173bbb30871bd61ca90b1bced995040a1 100644 (file)
 /*     details.
 /* .IP "\fB-o7\fR (ignored)"
 /* .IP "\fB-o8\fR (ignored)"
-/*     The message body type. Currently, Postfix implements
-/*     \fBjust-send-eight\fR.
+/*     To send 8-bit or binary content, use an appropriate MIME encapsulation
+/*     and specify the appropriate \fB-B\fR command-line option.
 /* .IP "\fB-oi\fR"
 /*     When reading a message from standard input, don\'t treat a line
 /*     with only a \fB.\fR character as the end of input.
@@ -385,10 +385,12 @@ static void enqueue(const int flags, const char *encoding, const char *sender,
      * to use login names at all.
      */
     if (sender != 0) {
+       VSTRING_RESET(buf);
+       VSTRING_TERMINATE(buf);
        tree = tok822_parse(sender);
        for (naddr = 0, tp = tree; tp != 0; tp = tp->next)
-           if (tp->type == TOK822_ADDR)
-               naddr++, tok822_internalize(buf, tp->head, TOK822_STR_DEFL);
+           if (tp->type == TOK822_ADDR && naddr++ == 0)
+               tok822_internalize(buf, tp->head, TOK822_STR_DEFL);
        tok822_free_tree(tree);
        saved_sender = mystrdup(STR(buf));
        if (naddr > 1)
@@ -431,7 +433,8 @@ static void enqueue(const int flags, const char *encoding, const char *sender,
        rec_fputs(dst, REC_TYPE_FULL, full_name);
     rec_fputs(dst, REC_TYPE_FROM, saved_sender);
     if (verp_delims && *saved_sender == 0)
-       msg_fatal("-V option requires non-null sender address");
+       msg_fatal_status(EX_USAGE,
+                        "-V option requires non-null sender address");
     if (encoding)
        rec_fprintf(dst, REC_TYPE_ATTR, "%s=%s", MAIL_ATTR_ENCODING, encoding);
     if (verp_delims)
@@ -756,7 +759,7 @@ int     main(int argc, char **argv)
            } else if (optarg[0] == 'R') {
                site_to_flush = optarg + 1;
                if (*site_to_flush == 0)
-                   msg_fatal("specify: -qRsitename");
+                   msg_fatal_status(EX_USAGE, "specify: -qRsitename");
            } else {
                msg_fatal_status(EX_USAGE, "-q%c is not implemented",
                                 optarg[0]);
@@ -784,13 +787,14 @@ int     main(int argc, char **argv)
      * Look for conflicting options and arguments.
      */
     if (extract_recipients && mode != SM_MODE_ENQUEUE)
-       msg_fatal("-t can be used only in delivery mode");
+       msg_fatal_status(EX_USAGE, "-t can be used only in delivery mode");
 
     if (site_to_flush && mode != SM_MODE_ENQUEUE)
-       msg_fatal("-qR can be used only in delivery mode");
+       msg_fatal_status(EX_USAGE, "-qR can be used only in delivery mode");
 
     if (extract_recipients && argv[OPTIND])
-       msg_fatal("cannot handle command-line recipients with -t");
+       msg_fatal_status(EX_USAGE,
+                        "cannot handle command-line recipients with -t");
 
     /*
      * Start processing. Everything is delegated to external commands.
@@ -805,7 +809,7 @@ int     main(int argc, char **argv)
            exit(0);
        }
        if (argv[OPTIND])
-           msg_fatal("flush site requires no recipient");
+           msg_fatal_status(EX_USAGE, "flush site requires no recipient");
        ext_argv = argv_alloc(2);
        argv_add(ext_argv, "postqueue", "-s", site_to_flush, (char *) 0);
        for (n = 0; n < msg_verbose; n++)
@@ -816,7 +820,8 @@ int     main(int argc, char **argv)
        break;
     case SM_MODE_MAILQ:
        if (argv[OPTIND])
-           msg_fatal("display queue mode requires no recipient");
+           msg_fatal_status(EX_USAGE,
+                            "display queue mode requires no recipient");
        ext_argv = argv_alloc(2);
        argv_add(ext_argv, "postqueue", "-p", (char *) 0);
        for (n = 0; n < msg_verbose; n++)
@@ -826,7 +831,8 @@ int     main(int argc, char **argv)
        /* NOTREACHED */
     case SM_MODE_FLUSHQ:
        if (argv[OPTIND])
-           msg_fatal("flush queue mode requires no recipient");
+           msg_fatal_status(EX_USAGE,
+                            "flush queue mode requires no recipient");
        ext_argv = argv_alloc(2);
        argv_add(ext_argv, "postqueue", "-f", (char *) 0);
        for (n = 0; n < msg_verbose; n++)
@@ -836,7 +842,7 @@ int     main(int argc, char **argv)
        /* NOTREACHED */
     case SM_MODE_DAEMON:
        if (argv[OPTIND])
-           msg_fatal("daemon mode requires no recipient");
+           msg_fatal_status(EX_USAGE, "daemon mode requires no recipient");
        ext_argv = argv_alloc(2);
        argv_add(ext_argv, "postfix", (char *) 0);
        for (n = 0; n < msg_verbose; n++)
@@ -849,7 +855,8 @@ int     main(int argc, char **argv)
        break;
     case SM_MODE_NEWALIAS:
        if (argv[OPTIND])
-           msg_fatal("alias initialization mode requires no recipient");
+           msg_fatal_status(EX_USAGE,
+                        "alias initialization mode requires no recipient");
        if (*var_alias_db_map == 0)
            return (0);
        ext_argv = argv_alloc(2);
@@ -862,7 +869,8 @@ int     main(int argc, char **argv)
        /* NOTREACHED */
     case SM_MODE_USER:
        if (argv[OPTIND])
-           msg_fatal("stand-alone mode requires no recipient");
+           msg_fatal_status(EX_USAGE,
+                            "stand-alone mode requires no recipient");
        ext_argv = argv_alloc(2);
        argv_add(ext_argv, "smtpd", "-S", (char *) 0);
        for (n = 0; n < msg_verbose; n++)
index 36d30660ed5e9e883ff69d381e01029d39126e7b..e8d9bc2178f60398820de6d38a9fdb6c0c06707c 100644 (file)
@@ -76,7 +76,6 @@ resolve.o: ../../include/mail_params.h
 resolve.o: ../../include/mail_proto.h
 resolve.o: ../../include/iostuff.h
 resolve.o: ../../include/attr.h
-resolve.o: ../../include/mail_addr.h
 resolve.o: ../../include/rewrite_clnt.h
 resolve.o: ../../include/resolve_local.h
 resolve.o: ../../include/mail_conf.h
@@ -152,6 +151,7 @@ trivial-rewrite.o: ../../include/mail_conf.h
 trivial-rewrite.o: ../../include/resolve_clnt.h
 trivial-rewrite.o: ../../include/rewrite_clnt.h
 trivial-rewrite.o: ../../include/tok822.h
+trivial-rewrite.o: ../../include/mail_addr.h
 trivial-rewrite.o: ../../include/mail_server.h
 trivial-rewrite.o: trivial-rewrite.h
 trivial-rewrite.o: transport.h
index 53fdd5b30f412e0e8bbad37e48e7becb9fb5ad13..abcf25ca864cd861ae3731b246053213668cd273 100644 (file)
@@ -69,7 +69,6 @@
 
 #include <mail_params.h>
 #include <mail_proto.h>
-#include <mail_addr.h>
 #include <rewrite_clnt.h>
 #include <resolve_local.h>
 #include <mail_conf.h>
@@ -320,8 +319,9 @@ void    resolve_addr(char *addr, VSTRING *channel, VSTRING *nexthop,
            tok822_free(tree->head);
            tree->head = 0;
        }
+       /* XXX must be localpart only, not user@domain form. */
        if (tree->head == 0)
-           tree->head = tok822_scan(MAIL_ADDR_MAIL_DAEMON, &tree->tail);
+           tree->head = tok822_scan(var_empty_addr, &tree->tail);
 
        /*
         * We're done. There are no domains left to strip off the address,
index 2a7f0233fa521cfeacecca02dbd092b1e3add658..d52e372dd5dd02e5541e05c700cd529b00587525 100644 (file)
@@ -22,7 +22,7 @@
 /*     The delivery agent to use. This is the first field of an entry
 /*     in the \fBmaster.cf\fR file.
 /* .IP \fInexthop\fR
-/*     The host to send to. For local delivery this is an empty string.
+/*     The host to send to and optional delivery method information.
 /* .IP \fIrecipient\fR
 /*     The envelope recipient address that is passed on to \fInexthop\fR.
 /* .PP
 /* .SH Miscellaneous
 /* .ad
 /* .fi
+/* .IP \fBempty_address_recipient\fR
+/*     The recipient that is substituted for the null address.
 /* .IP \fBinet_interfaces\fR
 /*     The network interfaces that this mail system receives mail on.
 /*     This information is used to determine if
 /*     \fIuser\fR@[\fInet.work.addr.ess\fR] is local or remote.
+/*     Mail for local users is given to the \fB$local_transport\fR.
 /* .IP \fBmydestination\fR
 /*     List of domains that are given to the \fB$local_transport\fR.
-/* .IP \fBvirtual_alias_domains\fT
+/* .IP \fBvirtual_alias_domains\fR
 /*     List of simulated virtual domains (domains with all recipients
 /*     aliased to some other local or remote domain).
-/* .IP \fBvirtual_mailbox_domains\fT
+/* .IP \fBvirtual_mailbox_domains\fR
 /*     List of domains that are given to the \fB$virtual_transport\fR.
-/* .IP \fBrelay_domains\fT
+/* .IP \fBrelay_domains\fR
 /*     List of domains that are given to the \fB$relay_transport\fR.
 /* .IP \fBresolve_unquoted_address\fR
 /*     When resolving an address, do not quote the address localpart as
 #include <resolve_clnt.h>
 #include <rewrite_clnt.h>
 #include <tok822.h>
+#include <mail_addr.h>
 
 /* Multi server skeleton. */
 
@@ -206,6 +210,7 @@ char   *var_virt_alias_doms;
 char   *var_virt_mailbox_doms;
 char   *var_relocated_maps;
 char   *var_def_transport;
+char   *var_empty_addr;
 
 /* rewrite_service - read request and send reply */
 
@@ -281,6 +286,7 @@ int     main(int argc, char **argv)
        VAR_VIRT_TRANSPORT, DEF_VIRT_TRANSPORT, &var_virt_transport, 1, 0,
        VAR_RELAY_TRANSPORT, DEF_RELAY_TRANSPORT, &var_relay_transport, 1, 0,
        VAR_RELOCATED_MAPS, DEF_RELOCATED_MAPS, &var_relocated_maps, 0, 0,
+       VAR_EMPTY_ADDR, DEF_EMPTY_ADDR, &var_empty_addr, 1, 0,
        0,
     };
     static CONFIG_BOOL_TABLE bool_table[] = {
index 40767955dc2a69a6d657179e7950ec79765abba1..0ae16d2e7e551144f5c4973bc36684b787b641c8 100644 (file)
 /*     The \fBvirtual\fR delivery agent prepends a "\fBFrom \fIsender
 /*     time_stamp\fR" envelope header to each message, prepends a
 /*     \fBDelivered-To:\fR message header with the envelope recipient
-/*     address, prepends a \fBReturn-Path:\fR message header with the
+/*     address,
+/*     prepends an \fBX-Original-To:\fR header with the recipient address as
+/*     given to Postfix,
+/*     prepends a \fBReturn-Path:\fR message header with the
 /*     envelope sender address, prepends a \fB>\fR character to lines
 /*     beginning with "\fBFrom \fR", and appends an empty line.
 /*
 /*     The \fBmaildir\fR structure appears in the \fBqmail\fR system
 /*     by Daniel Bernstein.
 /* SEE ALSO
-/*     regexp_table(5) POSIX regular expression table format 
+/*     regexp_table(5) POSIX regular expression table format
 /*     pcre_table(5) Perl Compatible Regular Expression table format
 /*     bounce(8) non-delivery status reports
 /*     syslogd(8) system logging