From 426ff88c97805d5359804bcfd7186dcd2c9fbf47 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 13 Apr 2024 10:42:06 +0200 Subject: Merging upstream version 3.9.0. Signed-off-by: Daniel Baumann --- html/ADDRESS_CLASS_README.html | 83 ++-- html/ADDRESS_REWRITING_README.html | 159 +++++--- html/COMPATIBILITY_README.html | 96 ++--- html/DATABASE_README.html | 9 +- html/DEPRECATION_README.html | 411 ++++++++++++++++++++ html/INSTALL.html | 3 + html/LOCAL_RECIPIENT_README.html | 3 +- html/MAILLOG_README.html | 10 + html/MILTER_README.html | 2 +- html/MONGODB_README.html | 263 +++++++++++++ html/Makefile.in | 6 +- html/POSTSCREEN_README.html | 4 +- html/TLS_README.html | 164 +++++--- html/access.5.html | 4 +- html/aliases.5.html | 14 +- html/canonical.5.html | 30 +- html/cleanup.8.html | 98 ++--- html/dnsblog.8.html | 4 +- html/generic.5.html | 17 +- html/header_checks.5.html | 59 ++- html/index.html | 4 + html/lmtp.8.html | 248 ++++++------ html/local.8.html | 234 +++++------ html/mailq.1.html | 8 +- html/makedefs.1.html | 6 +- html/master.5.html | 13 +- html/master.8.html | 8 +- html/mongodb_table.5.html | 215 +++++++++++ html/mysql_table.5.html | 188 +++++---- html/newaliases.1.html | 8 +- html/pcre_table.5.html | 8 +- html/pgsql_table.5.html | 13 + html/pipe.8.html | 106 ++--- html/postcat.1.html | 2 +- html/postconf.1.html | 170 ++++---- html/postconf.5.html | 771 ++++++++++++++++++++++++++++--------- html/postdrop.1.html | 2 +- html/postfix-manuals.html | 6 +- html/postfix.1.html | 5 +- html/postkick.1.html | 2 +- html/postlock.1.html | 2 +- html/postlog.1.html | 7 + html/postlogd.8.html | 13 +- html/postscreen.8.html | 32 +- html/postsuper.1.html | 2 +- html/posttls-finger.1.html | 12 +- html/proxymap.8.html | 2 +- html/qmgr.8.html | 4 +- html/qmqpd.8.html | 2 +- html/regexp_table.5.html | 8 +- html/relocated.5.html | 9 +- html/sendmail.1.html | 8 +- html/smtp-source.1.html | 43 ++- html/smtp.8.html | 248 ++++++------ html/smtpd.8.html | 298 +++++++------- html/socketmap_table.5.html | 2 +- html/tlsproxy.8.html | 111 +++--- html/trivial-rewrite.8.html | 21 +- html/virtual.5.html | 159 ++++---- 59 files changed, 3037 insertions(+), 1402 deletions(-) create mode 100644 html/DEPRECATION_README.html create mode 100644 html/MONGODB_README.html create mode 100644 html/mongodb_table.5.html (limited to 'html') diff --git a/html/ADDRESS_CLASS_README.html b/html/ADDRESS_CLASS_README.html index ec46627..179d13d 100644 --- a/html/ADDRESS_CLASS_README.html +++ b/html/ADDRESS_CLASS_README.html @@ -52,20 +52,25 @@ address classes are very important for the operation of Postfix.

@@ -92,12 +97,12 @@ This domain class also includes mail for user@[ipaddress] when the IP address is listed with the inet_interfaces or proxy_interfaces parameters.

-
  • Valid recipient addresses are listed with the local_recipient_maps -parameter, as described in LOCAL_RECIPIENT_README. The Postfix SMTP -server rejects invalid recipients with "User unknown in local -recipient table". If the local_recipient_maps parameter value is -empty, then the Postfix SMTP server accepts any address in the -local domain class.

    +
  • Valid recipient addresses for those domains are +listed with the local_recipient_maps parameter, as described in +LOCAL_RECIPIENT_README. The Postfix SMTP server rejects invalid recipients +with "User unknown in local recipient table". If the local_recipient_maps +parameter value is empty, then the Postfix SMTP server accepts any +address in the local domain class.

  • The mail delivery transport is specified with the local_transport parameter. The default value is local:$myhostname @@ -111,21 +116,25 @@ class.

    • Purpose: hosted domains where each recipient address is -aliased to an address in a different domain, for example, a local -UNIX system account or a remote address. A +aliased to an address in a different domain class, for example, a +local UNIX system account or a remote address. A virtual alias example is given in the VIRTUAL_README file.

    • Domain names are listed in virtual_alias_domains. The default value is $virtual_alias_maps for Postfix 1.1 compatibility.

      -
    • Valid recipient addresses are listed with the virtual_alias_maps -parameter. The Postfix SMTP server rejects invalid recipients with -"User unknown in virtual alias table". The default value is -$virtual_maps for Postfix 1.1 compatibility.

      +
    • Valid recipient addresses for those domains are listed with the +virtual_alias_maps parameter. The Postfix SMTP server rejects invalid +recipients with "User unknown in virtual alias table". The default +value is $virtual_maps for Postfix 1.1 compatibility.

      -
    • There is no mail delivery transport parameter. Every -address must be aliased to an address in some other domain.

      +

      Note: for historical reasons, virtual_alias_maps +apply to recipients in all domain classes, not only the virtual +alias domain class.

      + +
    • There is no configurable mail delivery transport. Every +address must be aliased to an address in some other domain class.

    @@ -136,18 +145,19 @@ class.

  • Purpose: final delivery for hosted domains where each recipient address can have its own mailbox, and where users do not -need to have a UNIX system account. A virtual mailbox example is +need to have a UNIX system account. A virtual mailbox example is given in the VIRTUAL_README file.

  • Domain names are listed with the virtual_mailbox_domains parameter. The default value is $virtual_mailbox_maps for Postfix 1.1 compatibility.

    -
  • Valid recipient addresses are listed with the virtual_mailbox_maps -parameter. The Postfix SMTP server rejects invalid recipients with -"User unknown in virtual mailbox table". If this parameter value -is empty, the Postfix SMTP server accepts all recipients for domains -listed in $virtual_mailbox_domains.

    +
  • Valid recipient addresses for those domains are listed +with the virtual_mailbox_maps parameter. The Postfix SMTP server +rejects invalid recipients with "User unknown in virtual mailbox +table". If this parameter value is empty, the Postfix SMTP server +accepts all recipients for domains listed in $virtual_mailbox_domains. +

  • The mail delivery transport is specified with the virtual_transport parameter. The default value is virtual @@ -169,11 +179,12 @@ file.

  • Domain names are listed with the relay_domains parameter.

    -
  • Valid recipient addresses are listed with the relay_recipient_maps -parameter. The Postfix SMTP server rejects invalid recipients with -"User unknown in relay recipient table". If this parameter value -is empty, the Postfix SMTP server accepts all recipients for domains -listed with the relay_domains parameter.

    +
  • Valid recipient addresses for those domains are listed +with the relay_recipient_maps parameter. The Postfix SMTP server +rejects invalid recipients with "User unknown in relay recipient +table". If this parameter value is empty, the Postfix SMTP server +accepts all recipients for domains listed with the relay_domains +parameter.

  • The mail delivery transport is specified with the relay_transport parameter. The default value is relay which diff --git a/html/ADDRESS_REWRITING_README.html b/html/ADDRESS_REWRITING_README.html index 85e296f..c92a314 100644 --- a/html/ADDRESS_REWRITING_README.html +++ b/html/ADDRESS_REWRITING_README.html @@ -94,9 +94,7 @@ as invalid

      -
    • Resolve address to destination - -
    • Mail transport switch +
    • Resolve address to (transport, next-hop destination)
    • Relocated users table @@ -312,8 +310,8 @@ find what you need.

      - + @@ -340,13 +338,12 @@ nowrap> all mail - - - - - + + + diff --git a/html/LOCAL_RECIPIENT_README.html b/html/LOCAL_RECIPIENT_README.html index a3a3636..5a614e0 100644 --- a/html/LOCAL_RECIPIENT_README.html +++ b/html/LOCAL_RECIPIENT_README.html @@ -57,7 +57,8 @@ all names or addresses of local recipients. A recipient address is local when its domain matches $mydestination, $inet_interfaces or $proxy_interfaces. If a local username or address is not listed in $local_recipient_maps, then the Postfix SMTP server will reject -the address with "User unknown in local recipient table".

      +the address with "User unknown in local recipient table". Other +Postfix interfaces may still accept an "unknown" recipient.

      The default setting, shown below, assumes that you use the default Postfix local(8) delivery agent for local delivery, where diff --git a/html/MAILLOG_README.html b/html/MAILLOG_README.html index be58e33..ab751f4 100644 --- a/html/MAILLOG_README.html +++ b/html/MAILLOG_README.html @@ -63,10 +63,16 @@ Postfix version.

      /var/log/postfix.log. See also the "Logfile rotation" section below for logfile management.

      +

      In the example below, specifying maillog_file_permissions is +optional (Postfix 3.9 and later). The default value is 0600, i.e., +only the super-user can access the file; the value 0644 also +adds 'group' and 'other' read access.

      +
       # postfix stop
       # postconf maillog_file=/var/log/postfix.log
      +# postconf maillog_file_permissions=0644 # (Postfix 3.9 and later)
       # postfix start
       
      @@ -124,6 +130,10 @@ old logfile.

      program is configured with the maillog_file_compressor parameter (default: gzip).

      +
    • The next time it logs an event, postlogd(8) will create a +new logfile, with permissions specified with the maillog_file_permissions +parameter (default: 0600).

      +

      Notes:

      diff --git a/html/MILTER_README.html b/html/MILTER_README.html index c69a5bf..b72fdb8 100644 --- a/html/MILTER_README.html +++ b/html/MILTER_README.html @@ -630,7 +630,7 @@ and protocol.

      clients

      The smtpd_milter_maps feature supports different Milter settings -for different client IP addresses. Lookup results override the the +for different client IP addresses. Lookup results override the global smtpd_milters setting, and have the same syntax. For example, to disable Milter settings for local address ranges:

      diff --git a/html/MONGODB_README.html b/html/MONGODB_README.html new file mode 100644 index 0000000..a05d1f5 --- /dev/null +++ b/html/MONGODB_README.html @@ -0,0 +1,263 @@ + + + +Postfix MongoDB Howto + + + +

      Postfix MongoDB Howto

      +
      + +

      MongoDB Support in Postfix

      + +

      Postfix can use MongoDB as a source for any of its lookups: +aliases(5), virtual(5), canonical(5), etc. This allows you to keep +information for your mail service in a replicated noSQL database +with fine-grained access controls. By not storing it locally on the +mail server, the administrators can maintain it from anywhere, and +the users can control whatever bits of it you think appropriate. +You can have multiple mail servers using the same information, +without the hassle and delay of having to copy it to each.

      + +

      Topics covered in this document:

      + + + +

      Building Postfix with MongoDB support

      + +

      These instructions assume that you build Postfix from source +code as described in the INSTALL document. Some modification may +be required if you build Postfix from a vendor-specific source +package.

      + +

      The Postfix MongoDB client requires the mongo-c-driver +library. This can be built from source code from the +mongod-c project, or this can be installed as a binary package +from your OS distribution, typically named mongo-c-driver, +mongo-c-driver-devel or libmongoc-dev. +Installing the mongo-c-driver library may also install libbson +as a dependency.

      + +

      To build Postfix with mongodb map support, add to the CCARGS +environment variable the options -DHAS_MONGODB and -I for the +directory containing the mongodb headers, and specify the AUXLIBS_MONGODB +with the libmongoc and libbson libraries, for example:

      + +
      +
      +% make tidy
      +% make -f Makefile.init makefiles \
      +    CCARGS="$CCARGS -DHAS_MONGODB -I/usr/include/libmongoc-1.0 \
      +    -I/usr/include/libbson-1.0" \
      +    AUXLIBS_MONGODB="-lmongoc-1.0 -lbson-1.0"
      +
      +
      + +

      The 'make tidy' command is needed only if you have previously +built Postfix without MongoDB support.

      + +

      If your MongoDB shared library is in a directory that the RUN-TIME +linker does not know about, add a "-Wl,-R,/path/to/directory" option +after "-lbson-1.0". Then, just run 'make'.

      + +

      Configuring MongoDB lookups

      + +

      In order to use MongoDB lookups, define a MongoDB source as a +table lookup in main.cf, for example:

      + +
      +
      +alias_maps = hash:/etc/aliases, proxy:mongodb:/etc/postfix/mongo-aliases.cf
      +
      +
      + +

      The file /etc/postfix/mongo-aliases.cf can specify a number of +parameters. For a complete description, see the mongodb_table(5) +manual page.

      + +

      Example: virtual(5) alias maps

      + +

      Here's a basic example for using MongoDB to look up virtual(5) +aliases. Assume that in main.cf, you have:

      + +
      +
      +virtual_alias_maps = hash:/etc/postfix/virtual_aliases, 
      +    proxy:mongodb:/etc/postfix/mongo-virtual-aliases.cf
      +
      +
      + +

      and in mongodb:/etc/postfix/mongo-virtual-aliases.cf you have:

      + +
      +
      +uri = mongodb+srv://user_name:password@some_server
      +dbname = mail
      +collection = mailbox
      +query_filter = {"$or": [{"username":"%s"}, {"alias.address": "%s"}], "active": 1}
      +result_attribute = username
      +
      +
      + +

      This example assumes mailbox names are stored in a MongoDB backend, +in a format like:

      + +
      +
      +{ "username": "user@example.com",
      +  "alias": [
      +    {"address": "admin@example.com"},
      +    {"address": "abuse@example.com"}
      +  ],
      +  "active": 1
      +}
      +
      +
      + +

      Upon receiving mail for "admin@example.com" that isn't found in the +/etc/postfix/virtual_aliases database, Postfix will search the +MongoDB server/cluster listening at port 27017 on some_server. It +will connect using the provided credentials, and search for any +entries whose username is, or alias field has "admin@example.com". +It will return the username attribute of those found, and build a +list of their email addresses.

      + +

      Notes:

      + +
        + +
      • As with projection (see below), the Postfix mongodb +client automatically removes the top-level '_id' field from a +result_attribute result.

      • + +
      • The Postfix mongodb client will only parse result fields +with data types UTF8, INT32, INT64 and ARRAY. Other fields will be +ignored, with a warning in the logs.

      • + +
      + +

      Example: Mailing lists

      + +

      When it comes to mailing lists, one way of implementing one would +be as below:

      + +
      +
      +{ "name": "dev@example.com", "active": 1, "address": 
      +  [ "hamid@example.com", "wietse@example.com", "viktor@example.com" ] }
      +
      +
      + +

      using the filter below, will result in a comma separated string +with all email addresses in this list.

      + +
      +
      +query_filter = {"name": "%s", "active": 1}
      +result_attribute = address
      +
      +
      + +

      Notes:

      + +
        + +
      • As with projection (see below), the Postfix mongodb +client automatically removes the top-level '_id' field from a +result_attribute result.

      • + +
      • The Postfix mongodb client will only parse result fields +with data types UTF8, INT32, INT64 and ARRAY. Other fields will be +ignored, with a warning in the logs.

      • + +
      + +

      Example: advanced projections

      + +

      This module also supports the use of more complex MongoDB +projections. There may be some use cases where operations such as +concatenation are necessary to be performed on the data retrieved +from the database. Although it is encouraged to keep the database +design simple enough so this is not necessary, postfix supports the +use of MongoDB projections to achieve the goal.

      + +

      Consider the example below:

      + +
      +
      +{ "username": "user@example.com",
      +  "local_part": "user",
      +  "domain": "example.com",
      +  "alias": [
      +    {"address": "admin@example.com"},
      +    {"address": "abuse@example.com"}
      +  ],
      +  "active": 1
      +}
      +
      +
      + +

      virtual_mailbox_maps can be created using below parameters in a +mongodb:/etc/postfix/mongo-virtual-mailboxes.cf file:

      + +
      +
      +uri = mongodb+srv://user_name:password@some_server
      +dbname = mail
      +collection = mailbox
      +query_filter = {"$or": [{"username":"%s"}, {"alias.address": "%s"}], "active": 1}
      +projection = { "mail_path": {"$concat": ["$domain", "/", "$local_part"]} }
      +
      +
      + +

      This will return 'example.com/user' path built from the database fields.

      + +

      A couple of considerations when using projections:

      + +
        + +
      • As with result_attribute, the Postfix mongodb client +automatically removes the top-level '_id' field from a projection +result.

      • + +
      • The Postfix mongodb client will only parse fields with data +types UTF8, INT32, INT64 and ARRAY. Other fields will be ignored, +with a warning in the logs. It is suggested to exclude any unnecessary +fields when using a projection.

      • + +
      + +

      Feedback

      + +

      If you have questions, send them to postfix-users@postfix.org. +Please include relevant information about your Postfix setup: +MongoDB-related output from postconf, which libraries you built +with, and such. If your question involves your database contents, +please include the applicable bits of some database entries.

      + +

      Credits

      + +
        + +
      • Stephan Ferraro (Aionda GmbH) implemented an early version of the +Postfix MongoDB client. + +
      • Hamid Maadani (Dextrous Technologies, LLC) added support for +projections and %letter interpolation, and added documentation. + +
      • Wietse Venema adopted and restructured the code and documentation. + +
      + + + + diff --git a/html/Makefile.in b/html/Makefile.in index c5481f8..7f23ed7 100644 --- a/html/Makefile.in +++ b/html/Makefile.in @@ -20,7 +20,7 @@ CONFIG = access.5.html aliases.5.html canonical.5.html relocated.5.html \ transport.5.html virtual.5.html pcre_table.5.html regexp_table.5.html \ cidr_table.5.html tcp_table.5.html header_checks.5.html \ ldap_table.5.html lmdb_table.5.html mysql_table.5.html \ - pgsql_table.5.html memcache_table.5.html \ + pgsql_table.5.html memcache_table.5.html mongodb_table.5.html \ master.5.html nisplus_table.5.html generic.5.html bounce.5.html \ postfix-wrapper.5.html sqlite_table.5.html socketmap_table.5.html OTHER = postfix-manuals.html @@ -298,6 +298,10 @@ memcache_table.5.html: ../proto/memcache_table PATH=../mantools:$$PATH; \ srctoman - $? | $(AWK) | $(NROFF) -man | uniq | $(MAN2HTML) | postlink >$@ +mongodb_table.5.html: ../proto/mongodb_table + PATH=../mantools:$$PATH; \ + srctoman - $? | $(AWK) | $(NROFF) -man | uniq | $(MAN2HTML) | postlink >$@ + mysql_table.5.html: ../proto/mysql_table PATH=../mantools:$$PATH; \ srctoman - $? | $(AWK) | $(NROFF) -man | uniq | $(MAN2HTML) | postlink >$@ diff --git a/html/POSTSCREEN_README.html b/html/POSTSCREEN_README.html index bca2ef0..9bef8db 100644 --- a/html/POSTSCREEN_README.html +++ b/html/POSTSCREEN_README.html @@ -120,7 +120,7 @@ of time to deliver spam before their IP address becomes denylisted. To speed up spam deliveries, zombies make compromises in their SMTP protocol implementation. For example, they speak before their turn, or they ignore responses from SMTP servers and continue sending -mail even when the server tells them to go away.

      +commands even when the server tells them to go away.

      postscreen(8) uses a variety of measurements to recognize zombies. First, postscreen(8) determines if the remote SMTP client @@ -159,7 +159,7 @@ overhead for legitimate clients.

      Quick tests before everything else

      -

      Before engaging in SMTP-level tests. postscreen(8) queries a +

      Before engaging in SMTP-level tests, postscreen(8) queries a number of local deny and allowlists. These tests speed up the handling of known clients.

      diff --git a/html/TLS_README.html b/html/TLS_README.html index eb9965a..a77f69d 100644 --- a/html/TLS_README.html +++ b/html/TLS_README.html @@ -2266,82 +2266,124 @@ describe the corresponding table syntax:

      additional attributes are supported at this level.
      may
      Opportunistic TLS. -The optional "ciphers", "exclude" and "protocols" attributes -(available for opportunistic TLS with Postfix ≥ 2.6) override the -"smtp_tls_ciphers", "smtp_tls_exclude_ciphers" and "smtp_tls_protocols" -configuration parameters. At this level and higher, the optional -"servername" attribute (available with Postfix ≥ 3.4) overrides the -global "smtp_tls_servername" parameter, enabling per-destination -configuration of the SNI extension sent to the remote SMTP server.
      +The optional "ciphers", "exclude", and "protocols" attributes (available +for opportunistic TLS with Postfix ≥ 2.6) and "connection_reuse" +attribute (Postfix ≥ 3.4) override the "smtp_tls_ciphers", +"smtp_tls_exclude_ciphers", "smtp_tls_protocols", and +"smtp_tls_connection_reuse" configuration parameters. At this level and +higher, the optional "servername" attribute (available with Postfix ≥ +3.4) overrides the global "smtp_tls_servername" parameter, enabling +per-destination configuration of the SNI extension sent to the remote +SMTP server. The optional "enable_rpk" attribute (Postfix ≥ 3.9) +overrides the main.cf smtp_tls_enable_rpk parameter. When opportunistic +TLS handshakes fail, Postfix retries the connection with TLS disabled. +This allows mail delivery to sites with non-interoperable TLS +implementations.
      encrypt
      Mandatory encryption. -Mail is delivered only if the remote SMTP server offers STARTTLS -and the TLS handshake succeeds. At this level and higher, the optional +Mail is delivered only if the remote SMTP server offers STARTTLS and the +TLS handshake succeeds. At this level and higher, the optional "protocols" attribute overrides the main.cf smtp_tls_mandatory_protocols -parameter, the optional "ciphers" attribute overrides the -main.cf smtp_tls_mandatory_ciphers parameter, and the optional -"exclude" attribute (Postfix ≥ 2.6) overrides the main.cf -smtp_tls_mandatory_exclude_ciphers parameter.
      +parameter, the optional "ciphers" attribute overrides the main.cf +smtp_tls_mandatory_ciphers parameter, the optional "exclude" attribute +(Postfix ≥ 2.6) overrides the main.cf +smtp_tls_mandatory_exclude_ciphers parameter, and the optional +"connection_reuse" attribute (Postfix ≥ 3.4) overrides the main.cf +smtp_tls_connection_reuse parameter. The optional "enable_rpk" attribute +(Postfix ≥ 3.9) overrides the main.cf smtp_tls_enable_rpk parameter. +
      dane
      Opportunistic DANE TLS. The TLS policy for the destination is obtained via TLSA records in -DNSSEC. If no TLSA records are found, the effective security level -used is may. If TLSA records are -found, but none are usable, the effective security level is encrypt. When usable TLSA records -are obtained for the remote SMTP server, SSLv2+3 are automatically -disabled (see smtp_tls_mandatory_protocols), and the server certificate -must match the TLSA records. RFC 7672 (DANE) TLS authentication -and DNSSEC support is available with Postfix 2.11 and later.
      +DNSSEC. If no TLSA records are found, the effective security level used +is may. If TLSA records are found, but +none are usable, the effective security level is encrypt. When usable TLSA records are +obtained for the remote SMTP server, the server certificate must match +the TLSA records (and the SNI name is unconditionally set to the TLSA +base domain). RFC 7672 (DANE) TLS authentication and DNSSEC +support is available with Postfix 2.11 and later. The optional +"connection_reuse" attribute (Postfix ≥ 3.4) overrides the main.cf +smtp_tls_connection_reuse parameter. When the effective security level +used is may, the optional "ciphers", +"exclude", and "protocols" attributes (Postfix ≥ 2.6) override the +"smtp_tls_ciphers", "smtp_tls_exclude_ciphers", and "smtp_tls_protocols" +configuration parameters. When the effective security level used is encrypt, the optional "ciphers", +"exclude", and "protocols" attributes (Postfix ≥ 2.6) override the +"smtp_tls_mandatory_ciphers", "smtp_tls_mandatory_exclude_ciphers", and +"smtp_tls_mandatory_protocols" configuration parameters.
      dane-only
      Mandatory DANE TLS. The TLS policy for the destination is obtained via TLSA records in -DNSSEC. If no TLSA records are found, or none are usable, no -connection is made to the server. When usable TLSA records are -obtained for the remote SMTP server, SSLv2+3 are automatically disabled -(see smtp_tls_mandatory_protocols), and the server certificate must -match the TLSA records. RFC 7672 (DANE) TLS authentication and -DNSSEC support is available with Postfix 2.11 and later.
      +DNSSEC. If no TLSA records are found, or none are usable, no connection +is made to the server. When usable TLSA records are obtained for the +remote SMTP server, the server certificate must match the TLSA records. +RFC 7672 (DANE) TLS authentication and DNSSEC support is available with +Postfix 2.11 and later. The optional "ciphers", "exclude", and +"protocols" attributes (Postfix ≥ 2.6) override the +"smtp_tls_mandatory_ciphers", "smtp_tls_mandatory_exclude_ciphers", and +"smtp_tls_mandatory_protocols" configuration parameters. The optional +"connection_reuse" attribute (Postfix ≥ 3.4) overrides the main.cf +smtp_tls_connection_reuse parameter.
      fingerprint
      Certificate -fingerprint verification. Available with Postfix 2.5 and -later. At this security level, there are no trusted Certification -Authorities. The certificate trust chain, expiration date, ... are -not checked. Instead, the optional match attribute, or else -the main.cf smtp_tls_fingerprint_cert_match parameter, lists -the server certificate fingerprints or public key fingerprints -(Postfix 2.9 and later). The -digest algorithm used to calculate fingerprints is selected by the -smtp_tls_fingerprint_digest parameter. Multiple fingerprints can -be combined with a "|" delimiter in a single match attribute, or multiple -match attributes can be employed. The ":" character is not used as a -delimiter as it occurs between each pair of fingerprint (hexadecimal) -digits.
      +fingerprint verification. Available with Postfix 2.5 and later. At +this security level, there are no trusted Certification Authorities. The +certificate trust chain, expiration date, ... are not checked. Instead, +the optional "match" attribute, or else the main.cf +smtp_tls_fingerprint_cert_match parameter, lists the certificate +fingerprints or the public key fingerprints (Postfix 2.9 and later) of +acceptable server certificates. The digest algorithm used to calculate +the fingerprint is selected by the smtp_tls_fingerprint_digest +parameter. Multiple fingerprints can be combined with a "|" delimiter in +a single match attribute, or multiple match attributes can be employed. +The ":" character is not used as a delimiter as it occurs between each +pair of fingerprint (hexadecimal) digits. The optional "ciphers", +"exclude", and "protocols" attributes (Postfix ≥ 2.6) override the +"smtp_tls_mandatory_ciphers", "smtp_tls_mandatory_exclude_ciphers", and +"smtp_tls_mandatory_protocols" configuration parameters. The optional +"connection_reuse" attribute (Postfix ≥ 3.4) overrides the main.cf +smtp_tls_connection_reuse parameter. The optional "enable_rpk" +attribute (Postfix ≥ 3.9) overrides the main.cf smtp_tls_enable_rpk +parameter.
      verify
      Mandatory -server certificate verification. Mail is delivered only if the -TLS handshake succeeds, if the remote SMTP server certificate can -be validated (not expired or revoked, and signed by a trusted -Certification Authority), and if the server certificate name matches -the optional "match" attribute (or the main.cf smtp_tls_verify_cert_match -parameter value when no optional "match" attribute is specified). -With Postfix ≥ 2.11 the "tafile" attribute optionally modifies -trust chain verification in the same manner as the -"smtp_tls_trust_anchor_file" parameter. The "tafile" attribute -may be specified multiple times to load multiple trust-anchor -files.
      +server certificate verification. Mail is delivered only if the TLS +handshake succeeds, the remote SMTP server certificate chain can be +validated, and a DNS name in the certificate matches the specified match +criteria. At this security level, DNS MX lookups are presumed to be +secure enough, and the name verified in the server certificate is +potentially obtained via unauthenticated DNS MX lookups. The server +certificate name must match either the optional "match" attribute, or +else the main.cf smtp_tls_verify_cert_match parameter value. With +Postfix ≥ 2.11 the "tafile" attribute optionally modifies trust chain +verification in the same manner as the "smtp_tls_trust_anchor_file" +parameter. The "tafile" attribute may be specified multiple times to +load multiple trust-anchor files. The optional "connection_reuse" +attribute (Postfix ≥ 3.4) overrides the main.cf +smtp_tls_connection_reuse parameter.
      secure
      Secure certificate -verification. Mail is delivered only if the TLS handshake succeeds, -and DNS forgery resistant remote SMTP certificate verification succeeds -(not expired or revoked, and signed by a trusted Certification Authority), -and if the server certificate name matches the optional "match" attribute -(or the main.cf smtp_tls_secure_cert_match parameter value when no optional -"match" attribute is specified). With Postfix ≥ 2.11 the "tafile" -attribute optionally modifies trust chain verification in the same manner -as the "smtp_tls_trust_anchor_file" parameter. The "tafile" attribute -may be specified multiple times to load multiple trust-anchor -files.
      +verification. +Mail is delivered only if the TLS handshake succeeds, the remote SMTP +server certificate chain can be validated, and a DNS name in the +certificate matches the specified match criteria. At this security +level, DNS MX lookups, though potentially used to determine the +candidate next-hop gateway IP addresses, are not presumed to be +secure enough for TLS peername verification. Instead, the default name +verified in the server certificate is obtained directly from the +next-hop, or is explicitly specified via the optional "match" attribute +which overrides the main.cf smtp_tls_secure_cert_match parameter. The +optional "ciphers", "exclude", and "protocols" attributes (Postfix ≥ +2.6) override the "smtp_tls_mandatory_ciphers", +"smtp_tls_mandatory_exclude_ciphers", and "smtp_tls_mandatory_protocols" +configuration parameters. With Postfix ≥ 2.11 the "tafile" attribute +optionally modifies trust chain verification in the same manner as the +"smtp_tls_trust_anchor_file" parameter. The "tafile" attribute may be +specified multiple times to load multiple trust-anchor files. The +optional "connection_reuse" attribute (Postfix ≥ 3.4) overrides the +main.cf smtp_tls_connection_reuse parameter. diff --git a/html/access.5.html b/html/access.5.html index 24f844b..427eacf 100644 --- a/html/access.5.html +++ b/html/access.5.html @@ -60,7 +60,7 @@ ACCESS(5) ACCESS(5) A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line. -EMAIL ADDRESS PATTERNS +EMAIL ADDRESS PATTERNS IN INDEXED TABLES 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: @@ -92,7 +92,7 @@ ACCESS(5) ACCESS(5) (e.g., user+foo@domain), the lookup order becomes: user+foo@domain, user@domain, domain, user+foo@, and user@. -HOST NAME/ADDRESS PATTERNS +HOST NAME/ADDRESS PATTERNS IN INDEXED TABLES With lookups from indexed files such as DB or DBM, or from networked tables such as NIS, LDAP or SQL, the following lookup patterns are examined in the order as listed: diff --git a/html/aliases.5.html b/html/aliases.5.html index 27cfe69..79d01b4 100644 --- a/html/aliases.5.html +++ b/html/aliases.5.html @@ -14,9 +14,13 @@ ALIASES(5) ALIASES(5) newaliases DESCRIPTION - The aliases(5) table provides a system-wide mechanism to redirect mail - for local recipients. The redirections are processed by the Postfix - local(8) delivery agent. + The optional aliases(5) table (alias_maps) redirects mail for local + recipients. The redirections are processed by the Postfix local(8) + delivery agent. + + This is unlike virtual(5) aliasing (virtual_alias_maps) which applies + to all recipients: local(8), virtual, and remote, and which is imple- + mented by the cleanup(8) daemon. Normally, the aliases(5) table is specified as a text file that serves as input to the postalias(1) command. The result, an indexed file in @@ -144,7 +148,9 @@ ALIASES(5) ALIASES(5) "newaliases" or with "sendmail -bi". alias_maps (see 'postconf -d' output) - The alias databases that are used for local(8) delivery. + Optional lookup tables with aliases that apply only to local(8) + recipients; this is unlike virtual_alias_maps that apply to all + recipients: local(8), virtual, and remote. allow_mail_to_commands (alias, forward) Restrict local(8) mail delivery to external commands. diff --git a/html/canonical.5.html b/html/canonical.5.html index 68b6532..d051297 100644 --- a/html/canonical.5.html +++ b/html/canonical.5.html @@ -56,7 +56,7 @@ CANONICAL(5) CANONICAL(5) systems. The canonical(5) mapping is not to be confused with virtual alias sup- - port or with local aliasing. To change the destination but not the + port or with local aliasing. To change the destination but not the headers, use the virtual(5) or aliases(5) map instead. CASE FOLDING @@ -211,20 +211,18 @@ CANONICAL(5) CANONICAL(5) Other parameters of interest: inet_interfaces (all) - The network interface addresses that this mail system receives - mail on. + The local network interface addresses that this mail system + receives mail on. local_header_rewrite_clients (permit_inet_interfaces) - Rewrite message header addresses in mail from these clients and - update incomplete addresses with the domain name in $myorigin or - $mydomain; either don't rewrite message headers from other - clients at all, or rewrite message headers and update incomplete - addresses with the domain specified in the remote_header_re- - write_domain parameter. + Rewrite or add message headers in mail from these clients, + updating incomplete addresses with the domain name in $myorigin + or $mydomain, and adding missing headers. proxy_interfaces (empty) - The network interface addresses that this mail system receives - mail on by way of a proxy or network address translation unit. + The remote network interface addresses that this mail system + receives mail on by way of a proxy or network address transla- + tion unit. masquerade_classes (envelope_sender, header_sender, header_recipient) What addresses are subject to address masquerading. @@ -253,15 +251,17 @@ CANONICAL(5) CANONICAL(5) set to "-". remote_header_rewrite_domain (empty) - Don't rewrite message headers from remote clients at all when - this parameter is empty; otherwise, rewrite message headers and - append the specified domain name to incomplete addresses. + Rewrite or add message headers in mail from remote clients if + the remote_header_rewrite_domain parameter value is non-empty, + updating incomplete addresses with the domain specified in the + remote_header_rewrite_domain parameter, and adding missing head- + ers. SEE ALSO cleanup(8), canonicalize and enqueue mail postmap(1), Postfix lookup table manager postconf(5), configuration parameters - virtual(5), virtual aliasing + virtual(5), virtual aliasing README FILES DATABASE_README, Postfix lookup table overview diff --git a/html/cleanup.8.html b/html/cleanup.8.html index 6e662f6..e4ecd43 100644 --- a/html/cleanup.8.html +++ b/html/cleanup.8.html @@ -172,26 +172,26 @@ CLEANUP(8) CLEANUP(8) BEFORE QUEUE MILTER CONTROLS As of version 2.3, Postfix supports the Sendmail version 8 Milter (mail - filter) protocol. When mail is not received via the smtpd(8) server, + filter) protocol. When mail is not received via the smtpd(8) server, the cleanup(8) server will simulate SMTP events to the extent that this is possible. For details see the MILTER_README document. non_smtpd_milters (empty) - A list of Milter (mail filter) applications for new mail that + A list of Milter (mail filter) applications for new mail that does not arrive via the Postfix smtpd(8) server. milter_protocol (6) - The mail filter protocol version and optional protocol exten- - sions for communication with a Milter application; prior to + The mail filter protocol version and optional protocol exten- + sions for communication with a Milter application; prior to Postfix 2.6 the default protocol is 2. milter_default_action (tempfail) - The default action when a Milter (mail filter) response is - unavailable (for example, bad Postfix configuration or Milter + The default action when a Milter (mail filter) response is + unavailable (for example, bad Postfix configuration or Milter failure). milter_macro_daemon_name ($myhostname) - The {daemon_name} macro value for Milter (mail filter) applica- + The {daemon_name} macro value for Milter (mail filter) applica- tions. milter_macro_v ($mail_name $mail_version) @@ -202,45 +202,45 @@ CLEANUP(8) CLEANUP(8) tion, and for negotiating protocol options. milter_command_timeout (30s) - The time limit for sending an SMTP command to a Milter (mail + The time limit for sending an SMTP command to a Milter (mail filter) application, and for receiving the response. milter_content_timeout (300s) - The time limit for sending message content to a Milter (mail + The time limit for sending message content to a Milter (mail filter) application, and for receiving the response. milter_connect_macros (see 'postconf -d' output) - The macros that are sent to Milter (mail filter) applications + The macros that are sent to Milter (mail filter) applications after completion of an SMTP connection. milter_helo_macros (see 'postconf -d' output) - The macros that are sent to Milter (mail filter) applications + The macros that are sent to Milter (mail filter) applications after the SMTP HELO or EHLO command. milter_mail_macros (see 'postconf -d' output) - The macros that are sent to Milter (mail filter) applications + The macros that are sent to Milter (mail filter) applications after the SMTP MAIL FROM command. milter_rcpt_macros (see 'postconf -d' output) - The macros that are sent to Milter (mail filter) applications + The macros that are sent to Milter (mail filter) applications after the SMTP RCPT TO command. milter_data_macros (see 'postconf -d' output) - The macros that are sent to version 4 or higher Milter (mail + The macros that are sent to version 4 or higher Milter (mail filter) applications after the SMTP DATA command. milter_unknown_command_macros (see 'postconf -d' output) - The macros that are sent to version 3 or higher Milter (mail + The macros that are sent to version 3 or higher Milter (mail filter) applications after an unknown SMTP command. milter_end_of_data_macros (see 'postconf -d' output) - The macros that are sent to Milter (mail filter) applications + The macros that are sent to Milter (mail filter) applications after the message end-of-data. Available in Postfix version 2.5 and later: milter_end_of_header_macros (see 'postconf -d' output) - The macros that are sent to Milter (mail filter) applications + The macros that are sent to Milter (mail filter) applications after the end of the message header. Available in Postfix version 2.7 and later: @@ -252,8 +252,8 @@ CLEANUP(8) CLEANUP(8) Available in Postfix version 3.1 and later: milter_macro_defaults (empty) - Optional list of name=value pairs that specify default values - for arbitrary macros that Postfix may send to Milter applica- + Optional list of name=value pairs that specify default values + for arbitrary macros that Postfix may send to Milter applica- tions. MIME PROCESSING CONTROLS @@ -279,82 +279,83 @@ CLEANUP(8) CLEANUP(8) ing information. strict_mime_encoding_domain (no) - Reject mail with invalid Content-Transfer-Encoding: information + Reject mail with invalid Content-Transfer-Encoding: information for the message/* or multipart/* MIME content types. Available in Postfix version 2.5 and later: detect_8bit_encoding_header (yes) - Automatically detect 8BITMIME body content by looking at Con- - tent-Transfer-Encoding: message headers; historically, this + Automatically detect 8BITMIME body content by looking at Con- + tent-Transfer-Encoding: message headers; historically, this behavior was hard-coded to be "always on". AUTOMATIC BCC RECIPIENT CONTROLS - Postfix can automatically add BCC (blind carbon copy) when mail enters + Postfix can automatically add BCC (blind carbon copy) when mail enters the mail system: always_bcc (empty) - Optional address that receives a "blind carbon copy" of each + Optional address that receives a "blind carbon copy" of each message that is received by the Postfix mail system. Available in Postfix version 2.1 and later: sender_bcc_maps (empty) - Optional BCC (blind carbon-copy) address lookup tables, indexed - by sender address. + Optional BCC (blind carbon-copy) address lookup tables, indexed + by envelope sender address. recipient_bcc_maps (empty) - Optional BCC (blind carbon-copy) address lookup tables, indexed - by recipient address. + Optional BCC (blind carbon-copy) address lookup tables, indexed + by envelope recipient address. ADDRESS TRANSFORMATION CONTROLS - Address rewriting is delegated to the trivial-rewrite(8) daemon. The + Address rewriting is delegated to the trivial-rewrite(8) daemon. The cleanup(8) server implements table driven address mapping. empty_address_recipient (MAILER-DAEMON) The recipient of mail addressed to the null address. canonical_maps (empty) - Optional address mapping lookup tables for message headers and + Optional address mapping lookup tables for message headers and envelopes. recipient_canonical_maps (empty) - Optional address mapping lookup tables for envelope and header + Optional address mapping lookup tables for envelope and header recipient addresses. sender_canonical_maps (empty) - Optional address mapping lookup tables for envelope and header + Optional address mapping lookup tables for envelope and header sender addresses. masquerade_classes (envelope_sender, header_sender, header_recipient) What addresses are subject to address masquerading. masquerade_domains (empty) - Optional list of domains whose subdomain structure will be + Optional list of domains whose subdomain structure will be stripped off in email addresses. masquerade_exceptions (empty) - Optional list of user names that are not subjected to address - masquerading, even when their addresses match $masquer- + Optional list of user names that are not subjected to address + masquerading, even when their addresses match $masquer- ade_domains. propagate_unmatched_extensions (canonical, virtual) - What address lookup tables copy an address extension from the + What address lookup tables copy an address extension from the lookup key to the lookup result. Available before Postfix version 2.0: virtual_maps (empty) - Optional lookup tables with a) names of domains for which all - addresses are aliased to addresses in other local or remote + Optional lookup tables with a) names of domains for which all + addresses are aliased to addresses in other local or remote domains, and b) addresses that are aliased to addresses in other local or remote domains. Available in Postfix version 2.0 and later: virtual_alias_maps ($virtual_maps) - Optional lookup tables that alias specific mail addresses or - domains to other local or remote address. + Optional lookup tables with aliases that apply to all recipi- + ents: local(8), virtual, and remote; this is unlike alias_maps + that apply only to local(8) recipients. Available in Postfix version 2.2 and later: @@ -371,9 +372,11 @@ CLEANUP(8) CLEANUP(8) ping. remote_header_rewrite_domain (empty) - Don't rewrite message headers from remote clients at all when - this parameter is empty; otherwise, rewrite message headers and - append the specified domain name to incomplete addresses. + Rewrite or add message headers in mail from remote clients if + the remote_header_rewrite_domain parameter value is non-empty, + updating incomplete addresses with the domain specified in the + remote_header_rewrite_domain parameter, and adding missing head- + ers. RESOURCE AND RATE CONTROLS duplicate_filter_limit (1000) @@ -433,7 +436,7 @@ CLEANUP(8) CLEANUP(8) smtputf8_enable (yes) Enable preliminary SMTPUTF8 support for the protocols described - in RFC 6531..6533. + in RFC 6531, RFC 6532, and RFC 6533. smtputf8_autodetect_classes (sendmail, verify) Detect that a message requires SMTPUTF8 support for the speci- @@ -520,6 +523,13 @@ CLEANUP(8) CLEANUP(8) The email address form that will be used in non-debug logging (info, warning, etc.). + Available in Postfix 3.9 and later: + + force_mime_input_conversion (no) + Convert body content that claims to be 8-bit into quoted-print- + able, before header_checks, body_checks, Milters, and before + after-queue content filters. + FILES /etc/postfix/canonical*, canonical mapping table /etc/postfix/virtual*, virtual mapping table diff --git a/html/dnsblog.8.html b/html/dnsblog.8.html index 250b046..2028fa1 100644 --- a/html/dnsblog.8.html +++ b/html/dnsblog.8.html @@ -49,8 +49,8 @@ DNSBLOG(8) DNSBLOG(8) request before it is terminated by a built-in watchdog timer. postscreen_dnsbl_sites (empty) - Optional list of DNS allow/denylist domains, filters and weight - factors. + Optional list of patterns with DNS allow/denylist domains, fil- + ters and weight factors. ipc_timeout (3600s) The time limit for sending or receiving information over an diff --git a/html/generic.5.html b/html/generic.5.html index 813d47e..c1a8a30 100644 --- a/html/generic.5.html +++ b/html/generic.5.html @@ -182,25 +182,26 @@ GENERIC(5) GENERIC(5) Other parameters of interest: inet_interfaces (all) - The network interface addresses that this mail system receives - mail on. + The local network interface addresses that this mail system + receives mail on. proxy_interfaces (empty) - The network interface addresses that this mail system receives - mail on by way of a proxy or network address translation unit. + The remote network interface addresses that this mail system + receives mail on by way of a proxy or network address transla- + tion unit. mydestination ($myhostname, localhost.$mydomain, localhost) - The list of domains that are delivered via the $local_transport + The list of domains that are delivered via the $local_transport mail delivery transport. myorigin ($myhostname) - The domain name that locally-posted mail appears to come from, + The domain name that locally-posted mail appears to come from, and that locally posted mail is delivered to. owner_request_special (yes) - Enable special treatment for owner-listname entries in the + Enable special treatment for owner-listname entries in the aliases(5) file, and don't split owner-listname and list- - name-request address localparts when the recipient_delimiter is + name-request address localparts when the recipient_delimiter is set to "-". SEE ALSO diff --git a/html/header_checks.5.html b/html/header_checks.5.html index 6bb114a..c1c8b17 100644 --- a/html/header_checks.5.html +++ b/html/header_checks.5.html @@ -392,40 +392,31 @@ HEADER_CHECKS(5) HEADER_CHECKS(5) Return-Path:. CONFIGURATION PARAMETERS - body_checks - Lookup tables with content filter rules for message body lines. - These filters see one physical line at a time, in chunks of at - most $line_length_limit bytes. - - body_checks_size_limit - The amount of content per message body segment (attachment) that - is subjected to $body_checks filtering. - - header_checks - - mime_header_checks (default: $header_checks) - - nested_header_checks (default: $header_checks) - Lookup tables with content filter rules for message header - lines: respectively, these are applied to the initial message - headers (not including MIME headers), to the MIME headers any- - where in the message, and to the initial headers of attached - messages. - - Note: these filters see one logical message header at a time, - even when a message header spans multiple lines. Message headers - that are longer than $header_size_limit characters are trun- - cated. - - disable_mime_input_processing - While receiving mail, give no special treatment to MIME related - message headers; all text after the initial message headers is - considered to be part of the message body. This means that - header_checks is applied to all the initial message headers, and - that body_checks is applied to the remainder of the message. - - Note: when used in this manner, body_checks will process a - multi-line message header one line at a time. + body_checks (empty) + Optional lookup tables for content inspection as specified in + the body_checks(5) manual page. + + body_checks_size_limit (51200) + How much text in a message body segment (or attachment, if you + prefer to use that term) is subjected to body_checks inspection. + + header_checks (empty) + Optional lookup tables for content inspection of primary + non-MIME message headers, as specified in the header_checks(5) + manual page. + + mime_header_checks ($header_checks) + Optional lookup tables for content inspection of MIME related + message headers, as described in the header_checks(5) manual + page. + + nested_header_checks ($header_checks) + Optional lookup tables for content inspection of non-MIME mes- + sage headers in attached messages, as described in the + header_checks(5) manual page. + + disable_mime_input_processing (no) + Turn off MIME processing while receiving mail. EXAMPLES Header pattern to block attachments with bad file name extensions. For diff --git a/html/index.html b/html/index.html index 68edc59..a7da6cb 100644 --- a/html/index.html +++ b/html/index.html @@ -53,6 +53,8 @@ configuration examples
    • Backwards-Compatibility Safety Net +
    • Deprecated features and alternatives +
    • Installation from source code @@ -141,6 +143,8 @@ Per-client/user/etc. access
    • Memcache Howto +
    • MongoDB Howto +
    • MySQL Howto
    • PCRE Howto diff --git a/html/lmtp.8.html b/html/lmtp.8.html index 1144ee8..4cc187c 100644 --- a/html/lmtp.8.html +++ b/html/lmtp.8.html @@ -5,88 +5,100 @@ Postfix manual - smtp(8)
      -SMTP(8)                                                                SMTP(8)
      +SMTP,(LMTP)                                                        SMTP,(LMTP)
       
       NAME
      -       smtp - Postfix SMTP+LMTP client
      +       smtp, lmtp - Postfix SMTP+LMTP client
       
       SYNOPSIS
              smtp [generic Postfix daemon options] [flags=DORX]
       
      +       lmtp [generic Postfix daemon options] [flags=DORX]
      +
       DESCRIPTION
              The Postfix SMTP+LMTP client implements the SMTP and LMTP mail delivery
              protocols. It processes message delivery requests from the  queue  man-
              ager.  Each  request specifies a queue file, a sender address, a domain
              or host to deliver to, and recipient information.  This program expects
      -       to be run from the master(8) process manager.
      +       to be run from the master(8) process manager. The process name, smtp or
      +       lmtp, controls the protocol, and the names of the configuration parame-
      +       ters that will be used.
       
              The  SMTP+LMTP  client  updates  the queue file and marks recipients as
              finished, or it informs the queue manager that delivery should be tried
              again  at  a  later  time.  Delivery  status  reports  are  sent to the
              bounce(8), defer(8) or trace(8) daemon as appropriate.
       
      -       The SMTP+LMTP client looks up a list of mail  exchanger  addresses  for
      -       the  destination  host,  sorts  the list by preference, and connects to
      -       each listed address until it finds a server that responds.
      -
      -       When a server is not reachable, or when mail delivery fails  due  to  a
      -       recoverable  error  condition, the SMTP+LMTP client will try to deliver
      -       the mail to an alternate host.
      +       The server lookup strategy is different for SMTP and LMTP, as described
      +       in the sections "SMTP SERVER LOOKUP" and "LMTP SERVER LOOKUP".
       
      -       After a successful mail transaction, a connection may be saved  to  the
      -       scache(8)  connection  cache  server,  so  that  it  may be used by any
      +       After  a  successful mail transaction, a connection may be saved to the
      +       scache(8) connection cache server, so  that  it  may  be  used  by  any
              SMTP+LMTP client for a subsequent transaction.
       
      -       By default, connection caching is enabled temporarily for  destinations
      +       By  default, connection caching is enabled temporarily for destinations
              that have a high volume of mail in the active queue. Connection caching
              can be enabled permanently for specific destinations.
       
      -SMTP DESTINATION SYNTAX
      -       The Postfix SMTP+LMTP client supports multiple  destinations  separated
      -       by comma or whitespace (Postfix 3.5 and later).  SMTP destinations have
      -       the following form:
      +SMTP SERVER LOOKUP
      +       The  Postfix  SMTP  client  supports multiple destinations separated by
      +       comma or whitespace (Postfix 3.5 and later).  Each destination is tried
      +       in the specified order.
      +
      +       SMTP destinations have the following form:
       
              domainname
       
      -       domainname:port
      -              Look up the mail exchangers for the specified domain,  and  con-
      -              nect to the specified port (default: smtp).
      +       domainname:service
      +              Look  up  the mail exchangers for the specified domain, and con-
      +              nect to the specified service (default: smtp).  Optionally, mail
      +              exchangers may be looked up with SRV queries instead of MX; this
      +              requires that service is given in symbolic form.
       
              [hostname]
       
      -       [hostname]:port
      -              Look  up  the  address(es) of the specified host, and connect to
      -              the specified port (default: smtp).
      +       [hostname]:service
      +              Look up the address(es) for the specified host, and  connect  to
      +              the specified service (default: smtp).
       
              [address]
       
      -       [address]:port
      +       [address]:service
                     Connect to the host at the specified address, and connect to the
      -              specified  port (default: smtp). An IPv6 address must be format-
      -              ted as [ipv6:address].
      +              specified service (default: smtp). An IPv6 address must be  for-
      +              matted as [ipv6:address].
       
      -LMTP DESTINATION SYNTAX
      -       The Postfix SMTP+LMTP client supports multiple  destinations  separated
      -       by comma or whitespace (Postfix 3.5 and later).  LMTP destinations have
      -       the following form:
      +LMTP SERVER LOOKUP
      +       The  Postfix  LMTP  client  supports multiple destinations separated by
      +       comma or whitespace (Postfix 3.5 and later).  Each destination is tried
      +       in the specified order.
      +
      +       LMTP destinations have the following form:
       
              unix:pathname
      -              Connect to the local UNIX-domain server that  is  bound  to  the
      -              specified  pathname.  If  the process runs chrooted, an absolute
      +              Connect  to  the  local  UNIX-domain server that is bound to the
      +              specified pathname. If the process runs  chrooted,  an  absolute
                     pathname is interpreted relative to the Postfix queue directory.
       
      +       inet:domainname
      +
      +       inet:domainname:service
      +              Look up the LMTP servers for the specified  domain  and  service
      +              (default:  lmtp).   This  form is supported when SRV lookups are
      +              enabled, and requires that service is in symbolic form.
      +
              inet:hostname
       
      -       inet:hostname:port
      +       inet:hostname:service
      +              Look up the address(es) for the specified host, and  connect  to
      +              the  specified  service  (default:  lmtp).  When SRV lookups are
      +              enabled, use the form [hostname] to force address lookups.
       
              inet:[address]
       
      -       inet:[address]:port
      -              Connect  to  the  specified  TCP  port on the specified local or
      -              remote host. If no  port  is  specified,  connect  to  the  port
      -              defined  as  lmtp  in services(4).  If no such service is found,
      -              the lmtp_tcp_port configuration parameter (default value of  24)
      -              will   be   used.    An   IPv6  address  must  be  formatted  as
      +       inet:[address]:service
      +              Connect to the  specified  local  or  remote  host  and  service
      +              (default:   lmtp).    An  IPv6  address  must  be  formatted  as
                     [ipv6:address].
       
       SINGLE-RECIPIENT DELIVERY
      @@ -136,10 +148,9 @@ SMTP(8)                                                                SMTP(8)
                            This feature is available as of Postfix 3.5.
       
       SECURITY
      -       The SMTP+LMTP client is moderately security-sensitive. It
      -       talks to SMTP or LMTP servers and to DNS servers on the
      -       network. The SMTP+LMTP client can be run chrooted at fixed
      -       low privilege.
      +       The SMTP+LMTP client is moderately security-sensitive. It talks to SMTP
      +       or LMTP servers and to DNS servers on the network. The SMTP+LMTP client
      +       can be run chrooted at fixed low privilege.
       
       STANDARDS
              RFC 821 (SMTP protocol)
      @@ -180,20 +191,19 @@ SMTP(8)                                                                SMTP(8)
              for all destinations that map onto the same IP address and TCP port.
       
       CONFIGURATION PARAMETERS
      -       Before Postfix version 2.3, the LMTP client is a separate program  that
      -       implements  only  a  subset  of  the functionality available with SMTP:
      -       there is no support for TLS, and  connections  are  cached  in-process,
      -       making it ineffective when the client is used for multiple domains.
      +       Postfix versions 2.3 and later implement the SMTP and LMTP client  with
      +       the  same program, and choose the protocol and configuration parameters
      +       based on the process name, smtp or lmtp.
       
              Most smtp_xxx configuration parameters have an lmtp_xxx "mirror" param-
      -       eter for the equivalent LMTP  feature.  This  document  describes  only
      +       eter  for  the  equivalent  LMTP  feature. This document describes only
              those LMTP-related parameters that aren't simply "mirror" parameters.
       
      -       Changes  to  main.cf  are picked up automatically, as smtp(8) processes
      +       Changes to main.cf are picked up automatically,  as  smtp(8)  processes
              run for only a limited amount of time. Use the command "postfix reload"
              to speed up a change.
       
      -       The  text  below provides only a parameter summary. See postconf(5) for
      +       The text below provides only a parameter summary. See  postconf(5)  for
              more details including examples.
       
       COMPATIBILITY CONTROLS
      @@ -214,8 +224,8 @@ SMTP(8)                                                                SMTP(8)
                     will send via SMTP.
       
              smtp_pix_workaround_delay_time (10s)
      -              How  long  the  Postfix  SMTP  client  pauses   before   sending
      -              ".<CR><LF>"   in   order   to   work  around  the  PIX  firewall
      +              How   long   the  Postfix  SMTP  client  pauses  before  sending
      +              ".<CR><LF>"  in  order  to  work   around   the   PIX   firewall
                     "<CR><LF>.<CR><LF>" bug.
       
              smtp_pix_workaround_threshold_time (500s)
      @@ -224,19 +234,19 @@ SMTP(8)                                                                SMTP(8)
                     delivery through firewalls with "smtp fixup" mode turned on.
       
              smtp_pix_workarounds (disable_esmtp, delay_dotcrlf)
      -              A list that specifies zero or more  workarounds  for  CISCO  PIX
      +              A  list  that  specifies  zero or more workarounds for CISCO PIX
                     firewall bugs.
       
              smtp_pix_workaround_maps (empty)
      -              Lookup  tables,  indexed by the remote SMTP server address, with
      +              Lookup tables, indexed by the remote SMTP server  address,  with
                     per-destination workarounds for CISCO PIX firewall bugs.
       
              smtp_quote_rfc821_envelope (yes)
      -              Quote addresses in Postfix SMTP client MAIL  FROM  and  RCPT  TO
      +              Quote  addresses  in  Postfix  SMTP client MAIL FROM and RCPT TO
                     commands as required by RFC 5321.
       
              smtp_reply_filter (empty)
      -              A  mechanism  to  transform replies from remote SMTP servers one
      +              A mechanism to transform replies from remote  SMTP  servers  one
                     line at a time.
       
              smtp_skip_5xx_greeting (yes)
      @@ -248,68 +258,68 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 2.0 and earlier:
       
              smtp_skip_4xx_greeting (yes)
      -              Skip SMTP servers that greet with a 4XX status  code  (go  away,
      +              Skip  SMTP  servers  that greet with a 4XX status code (go away,
                     try again later).
       
              Available in Postfix version 2.2 and later:
       
              smtp_discard_ehlo_keyword_address_maps (empty)
      -              Lookup  tables,  indexed by the remote SMTP server address, with
      -              case insensitive lists of EHLO keywords  (pipelining,  starttls,
      +              Lookup tables, indexed by the remote SMTP server  address,  with
      +              case  insensitive  lists of EHLO keywords (pipelining, starttls,
                     auth, etc.) that the Postfix SMTP client will ignore in the EHLO
                     response from a remote SMTP server.
       
              smtp_discard_ehlo_keywords (empty)
      -              A case insensitive list of EHLO keywords (pipelining,  starttls,
      +              A  case insensitive list of EHLO keywords (pipelining, starttls,
                     auth, etc.) that the Postfix SMTP client will ignore in the EHLO
                     response from a remote SMTP server.
       
              smtp_generic_maps (empty)
      -              Optional lookup tables that perform  address  rewriting  in  the
      -              Postfix  SMTP  client,  typically  to  transform a locally valid
      -              address into a globally valid address when sending  mail  across
      +              Optional  lookup  tables  that  perform address rewriting in the
      +              Postfix SMTP client, typically  to  transform  a  locally  valid
      +              address  into  a globally valid address when sending mail across
                     the Internet.
       
              Available in Postfix version 2.2.9 and later:
       
              smtp_cname_overrides_servername (version dependent)
      -              When  the  remote  SMTP  servername  is a DNS CNAME, replace the
      -              servername with the result from CNAME expansion for the  purpose
      -              of  logging,  SASL password lookup, TLS policy decisions, or TLS
      +              When the remote SMTP servername is  a  DNS  CNAME,  replace  the
      +              servername  with the result from CNAME expansion for the purpose
      +              of logging, SASL password lookup, TLS policy decisions,  or  TLS
                     certificate verification.
       
              Available in Postfix version 2.3 and later:
       
              lmtp_discard_lhlo_keyword_address_maps (empty)
      -              Lookup tables, indexed by the remote LMTP server  address,  with
      -              case  insensitive  lists of LHLO keywords (pipelining, starttls,
      +              Lookup  tables,  indexed by the remote LMTP server address, with
      +              case insensitive lists of LHLO keywords  (pipelining,  starttls,
                     auth, etc.) that the Postfix LMTP client will ignore in the LHLO
                     response from a remote LMTP server.
       
              lmtp_discard_lhlo_keywords (empty)
      -              A  case insensitive list of LHLO keywords (pipelining, starttls,
      +              A case insensitive list of LHLO keywords (pipelining,  starttls,
                     auth, etc.) that the Postfix LMTP client will ignore in the LHLO
                     response from a remote LMTP server.
       
              Available in Postfix version 2.4.4 and later:
       
              send_cyrus_sasl_authzid (no)
      -              When  authenticating  to  a  remote SMTP or LMTP server with the
      -              default setting "no", send no SASL authoriZation  ID  (authzid);
      -              send  only  the  SASL authentiCation ID (authcid) plus the auth-
      +              When authenticating to a remote SMTP or  LMTP  server  with  the
      +              default  setting  "no", send no SASL authoriZation ID (authzid);
      +              send only the SASL authentiCation ID (authcid)  plus  the  auth-
                     cid's password.
       
              Available in Postfix version 2.5 and later:
       
              smtp_header_checks (empty)
      -              Restricted header_checks(5) tables for the Postfix SMTP  client.
      +              Restricted  header_checks(5) tables for the Postfix SMTP client.
       
              smtp_mime_header_checks (empty)
      -              Restricted  mime_header_checks(5)  tables  for  the Postfix SMTP
      +              Restricted mime_header_checks(5) tables  for  the  Postfix  SMTP
                     client.
       
              smtp_nested_header_checks (empty)
      -              Restricted nested_header_checks(5) tables for the  Postfix  SMTP
      +              Restricted  nested_header_checks(5)  tables for the Postfix SMTP
                     client.
       
              smtp_body_checks (empty)
      @@ -318,7 +328,7 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 2.6 and later:
       
              tcp_windowsize (0)
      -              An  optional  workaround for routers that break TCP window scal-
      +              An optional workaround for routers that break TCP  window  scal-
                     ing.
       
              Available in Postfix version 2.8 and later:
      @@ -329,16 +339,16 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 2.9 - 3.6:
       
              smtp_per_record_deadline (no)
      -              Change the behavior of the smtp_*_timeout time  limits,  from  a
      -              time  limit  per  read  or write system call, to a time limit to
      -              send or receive a complete record (an SMTP  command  line,  SMTP
      -              response  line,  SMTP message content line, or TLS protocol mes-
      +              Change  the  behavior  of the smtp_*_timeout time limits, from a
      +              time limit per read or write system call, to  a  time  limit  to
      +              send  or  receive  a complete record (an SMTP command line, SMTP
      +              response line, SMTP message content line, or TLS  protocol  mes-
                     sage).
       
              Available in Postfix version 2.9 and later:
       
              smtp_send_dummy_mail_auth (no)
      -              Whether or not to append the "AUTH=<>" option to the  MAIL  FROM
      +              Whether  or  not to append the "AUTH=<>" option to the MAIL FROM
                     command in SASL-authenticated SMTP sessions.
       
              Available in Postfix version 2.11 and later:
      @@ -349,7 +359,7 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 3.0 and later:
       
              smtp_delivery_status_filter ($default_delivery_status_filter)
      -              Optional  filter  for  the  smtp(8) delivery agent to change the
      +              Optional filter for the smtp(8) delivery  agent  to  change  the
                     delivery status code or explanatory text of successful or unsuc-
                     cessful deliveries.
       
      @@ -359,38 +369,38 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 3.3 and later:
       
              smtp_balance_inet_protocols (yes)
      -              When  a remote destination resolves to a combination of IPv4 and
      +              When a remote destination resolves to a combination of IPv4  and
                     IPv6 addresses, ensure that the Postfix SMTP client can try both
                     address types before it runs into the smtp_mx_address_limit.
       
              Available in Postfix 3.5 and later:
       
              info_log_address_format (external)
      -              The  email  address  form that will be used in non-debug logging
      +              The email address form that will be used  in  non-debug  logging
                     (info, warning, etc.).
       
              Available in Postfix 3.6 and later:
       
              dnssec_probe (ns:.)
      -              The DNS query type (default: "ns") and DNS query name  (default:
      +              The  DNS query type (default: "ns") and DNS query name (default:
                     ".") that Postfix may use to determine whether DNSSEC validation
                     is available.
       
      -       known_tcp_ports  (lmtp=24,  smtp=25,   smtps=submissions=465,   submis-
      +       known_tcp_ports   (lmtp=24,   smtp=25,  smtps=submissions=465,  submis-
              sion=587)
      -              Optional setting that avoids lookups in  the  services(5)  data-
      +              Optional  setting  that  avoids lookups in the services(5) data-
                     base.
       
              Available in Postfix version 3.7 and later:
       
              smtp_per_request_deadline (no)
      -              Change  the  behavior  of the smtp_*_timeout time limits, from a
      -              time limit per plaintext or TLS read or write call,  to  a  com-
      -              bined  time  limit  for  sending a complete SMTP request and for
      +              Change the behavior of the smtp_*_timeout time  limits,  from  a
      +              time  limit  per  plaintext or TLS read or write call, to a com-
      +              bined time limit for sending a complete  SMTP  request  and  for
                     receiving a complete SMTP response.
       
              smtp_min_data_rate (500)
      -              The minimum plaintext data transfer  rate  in  bytes/second  for
      +              The  minimum  plaintext  data  transfer rate in bytes/second for
                     DATA    requests,    when    deadlines    are    enabled    with
                     smtp_per_request_deadline.
       
      @@ -400,16 +410,16 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 3.8 and later:
       
              use_srv_lookup (empty)
      -              Enables discovery for the specified  service(s)  using  DNS  SRV
      +              Enables  discovery  for  the  specified service(s) using DNS SRV
                     records.
       
              ignore_srv_lookup_error (no)
      -              When  SRV  record  lookup  fails,  fall back to MX or IP address
      +              When SRV record lookup fails, fall back  to  MX  or  IP  address
                     lookup as if SRV record lookup was not enabled.
       
              allow_srv_lookup_fallback (no)
      -              When SRV record lookup fails or no SRV record exists, fall  back
      -              to  MX  or  IP  address  lookup  as if SRV record lookup was not
      +              When  SRV record lookup fails or no SRV record exists, fall back
      +              to MX or IP address lookup as  if  SRV  record  lookup  was  not
                     enabled.
       
       MIME PROCESSING CONTROLS
      @@ -428,7 +438,7 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 2.1 and later:
       
              smtp_send_xforward_command (no)
      -              Send  the  non-standard  XFORWARD  command when the Postfix SMTP
      +              Send the non-standard XFORWARD command  when  the  Postfix  SMTP
                     server EHLO response announces XFORWARD support.
       
       SASL AUTHENTICATION CONTROLS
      @@ -436,60 +446,66 @@ SMTP(8)                                                                SMTP(8)
                     Enable SASL authentication in the Postfix SMTP client.
       
              smtp_sasl_password_maps (empty)
      -              Optional Postfix  SMTP  client  lookup  tables  with  one  user-
      -              name:password  entry  per  sender,  remote  hostname or next-hop
      +              Optional  Postfix  SMTP  client  lookup  tables  with  one user-
      +              name:password entry per  sender,  remote  hostname  or  next-hop
                     domain.
       
              smtp_sasl_security_options (noplaintext, noanonymous)
                     Postfix SMTP client SASL security options; as of Postfix 2.3 the
      -              list  of available features depends on the SASL client implemen-
      +              list of available features depends on the SASL client  implemen-
                     tation that is selected with smtp_sasl_type.
       
              Available in Postfix version 2.2 and later:
       
              smtp_sasl_mechanism_filter (empty)
      -              If non-empty, a Postfix SMTP client filter for the  remote  SMTP
      +              If  non-empty,  a Postfix SMTP client filter for the remote SMTP
                     server's list of offered SASL mechanisms.
       
              Available in Postfix version 2.3 and later:
       
              smtp_sender_dependent_authentication (no)
                     Enable  sender-dependent  authentication  in  the  Postfix  SMTP
      -              client; this is available only  with  SASL  authentication,  and
      -              disables  SMTP  connection caching to ensure that mail from dif-
      +              client;  this  is  available  only with SASL authentication, and
      +              disables SMTP connection caching to ensure that mail  from  dif-
                     ferent senders will use the appropriate credentials.
       
              smtp_sasl_path (empty)
                     Implementation-specific information that the Postfix SMTP client
      -              passes  through  to  the  SASL  plug-in  implementation  that is
      +              passes through  to  the  SASL  plug-in  implementation  that  is
                     selected with smtp_sasl_type.
       
              smtp_sasl_type (cyrus)
      -              The SASL plug-in type that the Postfix SMTP  client  should  use
      +              The  SASL  plug-in  type that the Postfix SMTP client should use
                     for authentication.
       
              Available in Postfix version 2.5 and later:
       
              smtp_sasl_auth_cache_name (empty)
      -              An  optional table to prevent repeated SASL authentication fail-
      -              ures with the same remote SMTP  server  hostname,  username  and
      +              An optional table to prevent repeated SASL authentication  fail-
      +              ures  with  the  same  remote SMTP server hostname, username and
                     password.
       
              smtp_sasl_auth_cache_time (90d)
      -              The  maximal age of an smtp_sasl_auth_cache_name entry before it
      +              The maximal age of an smtp_sasl_auth_cache_name entry before  it
                     is removed.
       
              smtp_sasl_auth_soft_bounce (yes)
      -              When a remote SMTP server rejects a SASL authentication  request
      -              with  a 535 reply code, defer mail delivery instead of returning
      +              When  a remote SMTP server rejects a SASL authentication request
      +              with a 535 reply code, defer mail delivery instead of  returning
                     mail as undeliverable.
       
              Available in Postfix version 2.9 and later:
       
              smtp_send_dummy_mail_auth (no)
      -              Whether or not to append the "AUTH=<>" option to the  MAIL  FROM
      +              Whether  or  not to append the "AUTH=<>" option to the MAIL FROM
                     command in SASL-authenticated SMTP sessions.
       
      +       Available in Postfix version 3.9 and later:
      +
      +       smtp_sasl_password_result_delimiter (:)
      +              The delimiter between username and password in  sasl_passwd_maps
      +              lookup results.
      +
       STARTTLS SUPPORT CONTROLS
              Detailed  information  about STARTTLS configuration may be found in the
              TLS_README document.
      @@ -619,7 +635,7 @@ SMTP(8)                                                                SMTP(8)
       
              Available in Postfix version 2.6 and later:
       
      -       smtp_tls_protocols (see postconf -d output)
      +       smtp_tls_protocols (see 'postconf -d' output)
                     TLS  protocols that the Postfix SMTP client will use with oppor-
                     tunistic TLS encryption.
       
      @@ -724,6 +740,12 @@ SMTP(8)                                                                SMTP(8)
                     The application name passed by Postfix to OpenSSL  library  ini-
                     tialization functions.
       
      +       Available in Postfix version 3.9 and later:
      +
      +       smtp_tls_enable_rpk (no)
      +              Request  that remote SMTP servers send an RFC7250 raw public key
      +              instead of an X.509 certificate.
      +
       OBSOLETE STARTTLS CONTROLS
              The following configuration parameters  exist  for  compatibility  with
              Postfix  versions  before  2.3.  Support for these will be removed in a
      @@ -954,7 +976,7 @@ SMTP(8)                                                                SMTP(8)
                     The  local  network  interface  addresses  that this mail system
                     receives mail on.
       
      -       inet_protocols (see 'postconf -d output')
      +       inet_protocols (see 'postconf -d' output)
                     The Internet protocols Postfix will attempt to use  when  making
                     or accepting connections.
       
      @@ -1119,5 +1141,5 @@ SMTP(8)                                                                SMTP(8)
              Victor Duchovni
              Morgan Stanley
       
      -                                                                       SMTP(8)
      +                                       8                           SMTP,(LMTP)
       
      diff --git a/html/local.8.html b/html/local.8.html index fce3d04..a923ce2 100644 --- a/html/local.8.html +++ b/html/local.8.html @@ -178,40 +178,42 @@ LOCAL(8) LOCAL(8) replaced with underscores. The list of acceptable characters is speci- fied with the command_expansion_filter configuration parameter. - SHELL The recipient user's login shell. + SHELL The envelope recipient user's login shell. - HOME The recipient user's home directory. + HOME The envelope recipient user's home directory. - USER The bare recipient name. + USER The bare envelope recipient name. EXTENSION - The optional recipient address extension. + The optional envelope recipient address extension. - DOMAIN The recipient address domain part. + DOMAIN The envelope recipient address domain part. LOGNAME - The bare recipient name. + The bare envelope recipient name. - LOCAL The entire recipient address localpart (text to the left of the - rightmost @ character). + LOCAL The entire envelope recipient address localpart (text to the + left of the rightmost @ character). ORIGINAL_RECIPIENT - The entire recipient address, before any address rewriting or - aliasing (Postfix 2.5 and later). + The entire envelope recipient address, before any address + rewriting or aliasing (Postfix 2.5 and later). RECIPIENT - The entire recipient address. + The entire envelope recipient address. - SENDER The entire sender address. + SENDER The entire envelope sender address. - Additional remote client information is made available via the follow- + ENVID The optional RFC 3461 envelope ID. Available as of Postfix 3.9. + + Additional remote client information is made available via the follow- ing environment variables: CLIENT_ADDRESS Remote client network address. Available as of Postfix 2.2. CLIENT_HELO - Remote client EHLO command parameter. Available as of Postfix + Remote client EHLO command parameter. Available as of Postfix 2.2. CLIENT_HOSTNAME @@ -221,69 +223,69 @@ LOCAL(8) LOCAL(8) Remote client protocol. Available as of Postfix 2.2. SASL_METHOD - SASL authentication method specified in the remote client AUTH + SASL authentication method specified in the remote client AUTH command. Available as of Postfix 2.2. SASL_SENDER - SASL sender address specified in the remote client MAIL FROM + SASL sender address specified in the remote client MAIL FROM command. Available as of Postfix 2.2. SASL_USERNAME - SASL username specified in the remote client AUTH command. + SASL username specified in the remote client AUTH command. Available as of Postfix 2.2. - The PATH environment variable is always reset to a system-dependent - default path, and environment variables whose names are blessed by the + The PATH environment variable is always reset to a system-dependent + default path, and environment variables whose names are blessed by the export_environment configuration parameter are exported unchanged. The current working directory is the mail queue directory. The local(8) daemon prepends a "From sender time_stamp" envelope header - to each message, prepends an X-Original-To: header with the recipient - address as given to Postfix, prepends an optional Delivered-To: header - with the final recipient envelope address, prepends a Return-Path: + to each message, prepends an X-Original-To: header with the recipient + address as given to Postfix, prepends an optional Delivered-To: header + with the final recipient envelope address, prepends a Return-Path: header with the sender envelope address, and appends no empty line. EXTERNAL FILE DELIVERY - The delivery format depends on the destination filename syntax. The - default is to use UNIX-style mailbox format. Specify a name ending in + The delivery format depends on the destination filename syntax. The + default is to use UNIX-style mailbox format. Specify a name ending in / for qmail-compatible maildir delivery. - The allow_mail_to_files configuration parameter restricts delivery to - external files. The default setting (alias, forward) forbids file des- + The allow_mail_to_files configuration parameter restricts delivery to + external files. The default setting (alias, forward) forbids file des- tinations in :include: files. - In the case of UNIX-style mailbox delivery, the local(8) daemon - prepends a "From sender time_stamp" envelope header to each message, - prepends an X-Original-To: header with the recipient address as given - to Postfix, prepends an optional Delivered-To: header with the final - recipient envelope address, prepends a > character to lines beginning - with "From ", and appends an empty line. The envelope sender address - is available in the Return-Path: header. When the destination is a - regular file, it is locked for exclusive access while delivery is in + In the case of UNIX-style mailbox delivery, the local(8) daemon + prepends a "From sender time_stamp" envelope header to each message, + prepends an X-Original-To: header with the recipient address as given + to Postfix, prepends an optional Delivered-To: header with the final + recipient envelope address, prepends a > character to lines beginning + with "From ", and appends an empty line. The envelope sender address + is available in the Return-Path: header. When the 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 original length. - In the case of maildir delivery, the local daemon prepends an optional - Delivered-To: header with the final envelope recipient address, and - prepends an X-Original-To: header with the recipient address as given - to Postfix. The envelope sender address is available in the + In the case of maildir delivery, the local daemon prepends an optional + Delivered-To: header with the final envelope recipient address, and + prepends an X-Original-To: header with the recipient address as given + to Postfix. The envelope sender address is available in the Return-Path: header. ADDRESS EXTENSION - The optional recipient_delimiter configuration parameter specifies how + The optional recipient_delimiter configuration parameter specifies how to separate address extensions from local recipient names. - For example, with "recipient_delimiter = +", mail for name+foo is - delivered to the alias name+foo or to the alias name, to the destina- + For example, with "recipient_delimiter = +", mail for name+foo is + delivered to the alias name+foo or to the alias name, to the destina- tions listed in ~name/.forward+foo or in ~name/.forward, to the mailbox owned by the user name, or it is sent back as undeliverable. DELIVERY RIGHTS - Deliveries to external files and external commands are made with the - rights of the receiving user on whose behalf the delivery is made. In - the absence of a user context, the local(8) daemon uses the owner - rights of the :include: file or alias database. When those files are + Deliveries to external files and external commands are made with the + rights of the receiving user on whose behalf the delivery is made. In + the absence of a user context, the local(8) daemon uses the owner + rights of the :include: file or alias database. When those files are owned by the superuser, delivery is made with the rights specified with the default_privs configuration parameter. @@ -292,43 +294,43 @@ LOCAL(8) LOCAL(8) RFC 3463 (Enhanced status codes) DIAGNOSTICS - Problems and transactions are logged to syslogd(8) or postlogd(8). - Corrupted message files are marked so that the queue manager can move + Problems and transactions are logged to syslogd(8) or postlogd(8). + Corrupted message files are marked so that the queue manager can move them to the corrupt queue afterwards. - Depending on the setting of the notify_classes parameter, the postmas- + Depending on the setting of the notify_classes parameter, the postmas- ter is notified of bounces and of other trouble. SECURITY - The local(8) delivery agent needs a dual personality 1) to access the + The local(8) delivery agent needs a dual personality 1) to access the private Postfix queue and IPC mechanisms, 2) to impersonate the recipi- - ent and deliver to recipient-specified files or commands. It is there- + ent and deliver to recipient-specified files or commands. It is there- fore security sensitive. - The local(8) delivery agent disallows regular expression substitution + The local(8) delivery agent disallows regular expression substitution of $1 etc. in alias_maps, because that would open a security hole. - The local(8) delivery agent will silently ignore requests to use the - proxymap(8) server within alias_maps. Instead it will open the table + The local(8) delivery agent will silently ignore requests to use the + proxymap(8) server within alias_maps. Instead it will open the table directly. Before Postfix version 2.2, the local(8) delivery agent will terminate with a fatal error. BUGS - For security reasons, the message delivery status of external commands - or of external files is never checkpointed to file. As a result, the - program may occasionally deliver more than once to a command or exter- + For security reasons, the message delivery status of external commands + or of external files is never checkpointed to file. As a result, the + program may occasionally deliver more than once to a command or exter- nal file. Better safe than sorry. - Mutually-recursive aliases or ~/.forward files are not detected early. - The resulting mail forwarding loop is broken by the use of the Deliv- + Mutually-recursive aliases or ~/.forward files are not detected early. + The resulting mail forwarding loop is broken by the use of the Deliv- ered-To: message header. CONFIGURATION PARAMETERS - Changes to main.cf are picked up automatically, as local(8) processes + Changes to main.cf are picked up automatically, as local(8) processes run for only a limited amount of time. Use the command "postfix reload" to speed up a change. - The text below provides only a parameter summary. See postconf(5) for + The text below provides only a parameter summary. See postconf(5) for more details including examples. COMPATIBILITY CONTROLS @@ -336,14 +338,14 @@ LOCAL(8) LOCAL(8) Whether or not to use the local biff service. expand_owner_alias (no) - When delivering to an alias "aliasname" that has an + When delivering to an alias "aliasname" that has an "owner-aliasname" companion alias, set the envelope sender address to the expansion of the "owner-aliasname" alias. owner_request_special (yes) - Enable special treatment for owner-listname entries in the + Enable special treatment for owner-listname entries in the aliases(5) file, and don't split owner-listname and list- - name-request address localparts when the recipient_delimiter is + name-request address localparts when the recipient_delimiter is set to "-". sun_mailtool_compatibility (no) @@ -352,62 +354,64 @@ LOCAL(8) LOCAL(8) Available in Postfix version 2.3 and later: frozen_delivered_to (yes) - Update the local(8) delivery agent's idea of the Delivered-To: - address (see prepend_delivered_header) only once, at the start - of a delivery attempt; do not update the Delivered-To: address + Update the local(8) delivery agent's idea of the Delivered-To: + address (see prepend_delivered_header) only once, at the start + of a delivery attempt; do not update the Delivered-To: address while expanding aliases or .forward files. Available in Postfix version 2.5.3 and later: strict_mailbox_ownership (yes) - Defer delivery when a mailbox file is not owned by its recipi- + Defer delivery when a mailbox file is not owned by its recipi- ent. reset_owner_alias (no) - Reset the local(8) delivery agent's idea of the owner-alias - attribute, when delivering mail to a child alias that does not + Reset the local(8) delivery agent's idea of the owner-alias + attribute, when delivering mail to a child alias that does not have its own owner alias. Available in Postfix version 3.0 and later: local_delivery_status_filter ($default_delivery_status_filter) - Optional filter for the local(8) delivery agent to change the - status code or explanatory text of successful or unsuccessful + Optional filter for the local(8) delivery agent to change the + status code or explanatory text of successful or unsuccessful deliveries. DELIVERY METHOD CONTROLS - The precedence of local(8) delivery methods from high to low is: + The precedence of local(8) delivery methods from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, - mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_direc- + mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_direc- tory, fallback_transport_maps, fallback_transport, and luser_relay. alias_maps (see 'postconf -d' output) - The alias databases that are used for local(8) delivery. + Optional lookup tables with aliases that apply only to local(8) + recipients; this is unlike virtual_alias_maps that apply to all + recipients: local(8), virtual, and remote. forward_path (see 'postconf -d' output) - The local(8) delivery agent search list for finding a .forward + The local(8) delivery agent search list for finding a .forward file with user-specified delivery methods. mailbox_transport_maps (empty) Optional lookup tables with per-recipient message delivery - transports to use for local(8) mailbox delivery, whether or not + transports to use for local(8) mailbox delivery, whether or not the recipients are found in the UNIX passwd database. mailbox_transport (empty) - Optional message delivery transport that the local(8) delivery - agent should use for mailbox delivery to all local recipients, + Optional message delivery transport that the local(8) delivery + agent should use for mailbox delivery to all local recipients, whether or not they are found in the UNIX passwd database. mailbox_command_maps (empty) - Optional lookup tables with per-recipient external commands to + Optional lookup tables with per-recipient external commands to use for local(8) mailbox delivery. mailbox_command (empty) - Optional external command that the local(8) delivery agent + Optional external command that the local(8) delivery agent should use for mailbox delivery. home_mailbox (empty) - Optional pathname of a mailbox file relative to a local(8) + Optional pathname of a mailbox file relative to a local(8) user's home directory. mail_spool_directory (see 'postconf -d' output) @@ -419,17 +423,17 @@ LOCAL(8) LOCAL(8) not find in the aliases(5) or UNIX password database. fallback_transport (empty) - Optional message delivery transport that the local(8) delivery - agent should use for names that are not found in the aliases(5) + Optional message delivery transport that the local(8) delivery + agent should use for names that are not found in the aliases(5) or UNIX password database. luser_relay (empty) - Optional catch-all destination for unknown local(8) recipients. + Optional catch-all destination for unknown local(8) recipients. Available in Postfix version 2.2 and later: command_execution_directory (empty) - The local(8) delivery agent working directory for delivery to + The local(8) delivery agent working directory for delivery to external commands. MAILBOX LOCKING CONTROLS @@ -438,15 +442,15 @@ LOCAL(8) LOCAL(8) mailbox file or bounce(8) logfile. deliver_lock_delay (1s) - The time between attempts to acquire an exclusive lock on a + The time between attempts to acquire an exclusive lock on a mailbox file or bounce(8) logfile. stale_lock_time (500s) - The time after which a stale exclusive mailbox lockfile is + The time after which a stale exclusive mailbox lockfile is removed. mailbox_delivery_lock (see 'postconf -d' output) - How to lock a UNIX-style local(8) mailbox before attempting + How to lock a UNIX-style local(8) mailbox before attempting delivery. RESOURCE AND RATE CONTROLS @@ -459,20 +463,20 @@ LOCAL(8) LOCAL(8) showq(8) queue displays. mailbox_size_limit (51200000) - The maximal size of any local(8) individual mailbox or maildir + The maximal size of any local(8) individual mailbox or maildir file, or zero (no limit). Implemented in the qmgr(8) daemon: local_destination_concurrency_limit (2) - The maximal number of parallel deliveries via the local mail - delivery transport to the same recipient (when "local_destina- - tion_recipient_limit = 1") or the maximal number of parallel + The maximal number of parallel deliveries via the local mail + delivery transport to the same recipient (when "local_destina- + tion_recipient_limit = 1") or the maximal number of parallel deliveries to the same local domain (when "local_destina- tion_recipient_limit > 1"). local_destination_recipient_limit (1) - The maximal number of recipients per message delivery via the + The maximal number of recipients per message delivery via the local mail delivery transport. SECURITY CONTROLS @@ -483,49 +487,49 @@ LOCAL(8) LOCAL(8) Restrict local(8) mail delivery to external files. command_expansion_filter (see 'postconf -d' output) - Restrict the characters that the local(8) delivery agent allows - in $name expansions of $mailbox_command and $command_execu- + Restrict the characters that the local(8) delivery agent allows + in $name expansions of $mailbox_command and $command_execu- tion_directory. default_privs (nobody) - The default rights used by the local(8) delivery agent for + The default rights used by the local(8) delivery agent for delivery to an external file or command. forward_expansion_filter (see 'postconf -d' output) - Restrict the characters that the local(8) delivery agent allows + Restrict the characters that the local(8) delivery agent allows in $name expansions of $forward_path. Available in Postfix version 2.2 and later: execution_directory_expansion_filter (see 'postconf -d' output) - Restrict the characters that the local(8) delivery agent allows + Restrict the characters that the local(8) delivery agent allows in $name expansions of $command_execution_directory. Available in Postfix version 2.5.3 and later: strict_mailbox_ownership (yes) - Defer delivery when a mailbox file is not owned by its recipi- + Defer delivery when a mailbox file is not owned by its recipi- ent. MISCELLANEOUS CONTROLS config_directory (see 'postconf -d' output) - The default location of the Postfix main.cf and master.cf con- + The default location of the Postfix main.cf and master.cf con- figuration files. daemon_timeout (18000s) - How much time a Postfix daemon process may take to handle a + How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. delay_logging_resolution_limit (2) - The maximal number of digits after the decimal point when log- + The maximal number of digits after the decimal point when log- ging sub-second delay values. export_environment (see 'postconf -d' output) - The list of environment variables that a Postfix process will + The list of environment variables that a Postfix process will export to non-Postfix processes. ipc_timeout (3600s) - The time limit for sending or receiving information over an + The time limit for sending or receiving information over an internal communication channel. local_command_shell (empty) @@ -533,7 +537,7 @@ LOCAL(8) LOCAL(8) mands. max_idle (100s) - The maximum amount of time that an idle Postfix daemon process + The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. max_use (100) @@ -541,8 +545,8 @@ LOCAL(8) LOCAL(8) process will service before terminating voluntarily. prepend_delivered_header (command, file, forward) - The message delivery contexts where the Postfix local(8) deliv- - ery agent prepends a Delivered-To: message header with the + The message delivery contexts where the Postfix local(8) deliv- + ery agent prepends a Delivered-To: message header with the address that the mail was delivered to. process_id (read-only) @@ -552,14 +556,14 @@ LOCAL(8) LOCAL(8) The process name of a Postfix command or daemon process. propagate_unmatched_extensions (canonical, virtual) - What address lookup tables copy an address extension from the + What address lookup tables copy an address extension from the lookup key to the lookup result. queue_directory (see 'postconf -d' output) The location of the Postfix top-level queue directory. recipient_delimiter (empty) - The set of characters that can separate an email address local- + The set of characters that can separate an email address local- part, user name, or a .forward file name from its extension. require_home_directory (no) @@ -570,14 +574,14 @@ LOCAL(8) LOCAL(8) The syslog facility of Postfix logging. syslog_name (see 'postconf -d' output) - A prefix that is prepended to the process name in syslog + A prefix that is prepended to the process name in syslog records, so that, for example, "smtpd" becomes "prefix/smtpd". Available in Postfix version 3.3 and later: enable_original_recipient (yes) - Enable support for the original recipient address after an - address is rewritten to a different address (for example with + Enable support for the original recipient address after an + address is rewritten to a different address (for example with aliasing or with canonical mapping). service_name (read-only) @@ -586,7 +590,7 @@ LOCAL(8) LOCAL(8) Available in Postfix 3.5 and later: info_log_address_format (external) - The email address form that will be used in non-debug logging + The email address form that will be used in non-debug logging (info, warning, etc.). FILES @@ -610,10 +614,10 @@ LOCAL(8) LOCAL(8) The Secure Mailer license must be distributed with this software. HISTORY - The Delivered-To: message header appears in the qmail system by Daniel + The Delivered-To: message header appears in the qmail system by Daniel Bernstein. - The maildir structure appears in the qmail system by Daniel Bernstein. + The maildir structure appears in the qmail system by Daniel Bernstein. AUTHOR(S) Wietse Venema diff --git a/html/mailq.1.html b/html/mailq.1.html index bebc17b..bf6051d 100644 --- a/html/mailq.1.html +++ b/html/mailq.1.html @@ -455,9 +455,11 @@ SENDMAIL(1) SENDMAIL(1) The location of the Postfix top-level queue directory. remote_header_rewrite_domain (empty) - Don't rewrite message headers from remote clients at all when - this parameter is empty; otherwise, rewrite message headers and - append the specified domain name to incomplete addresses. + Rewrite or add message headers in mail from remote clients if + the remote_header_rewrite_domain parameter value is non-empty, + updating incomplete addresses with the domain specified in the + remote_header_rewrite_domain parameter, and adding missing head- + ers. syslog_facility (mail) The syslog facility of Postfix logging. diff --git a/html/makedefs.1.html b/html/makedefs.1.html index 7202a8d..ce67257 100644 --- a/html/makedefs.1.html +++ b/html/makedefs.1.html @@ -34,9 +34,9 @@ MAKEDEFS(1) MAKEDEFS(1) AUXLIBS=object_library... Specifies one or more non-default object libraries. Postfix 3.0 and later specify some of their database library dependencies - with AUXLIBS_CDB, AUXLIBS_LDAP, AUXLIBS_LMDB, AUXLIBS_MYSQL, - AUXLIBS_PCRE, AUXLIBS_PGSQL, AUXLIBS_SDBM, and AUXLIBS_SQLITE, - respectively. + with AUXLIBS_CDB, AUXLIBS_LDAP, AUXLIBS_LMDB, AUXLIBS_MONGODB, + AUXLIBS_MYSQL, AUXLIBS_PCRE, AUXLIBS_PGSQL, AUXLIBS_SDBM, and + AUXLIBS_SQLITE, respectively. CC=compiler_command Specifies a non-default compiler. On many systems, the default diff --git a/html/master.5.html b/html/master.5.html index 04a0c42..21f2b43 100644 --- a/html/master.5.html +++ b/html/master.5.html @@ -226,10 +226,17 @@ MASTER(5) MASTER(5) options to make a Postfix daemon process increasingly verbose. - Other command-line arguments + Command-line arguments that start with { + With Postfix 3.0 and later specify "{" and "}" around + command arguments that start with "{". The outer "{" and + "}" are removed from the input, together with any leading + or trailing whitespace. + + Other command-line arguments Specify "{" and "}" around command arguments that contain - whitespace (Postfix 3.0 and later). Whitespace after "{" - and before "}" is ignored. + whitespace (Postfix 3.0 and later). The outer "{" and "}" + are removed from the input, together with any leading or + trailing whitespace. SEE ALSO master(8), process manager diff --git a/html/master.8.html b/html/master.8.html index cacc801..de0f9a5 100644 --- a/html/master.8.html +++ b/html/master.8.html @@ -148,15 +148,15 @@ MASTER(8) MASTER(8) invoked with the -D option. inet_interfaces (all) - The network interface addresses that this mail system receives - mail on. + The local network interface addresses that this mail system + receives mail on. - inet_protocols (see 'postconf -d output') + inet_protocols (see 'postconf -d' output) The Internet protocols Postfix will attempt to use when making or accepting connections. import_environment (see 'postconf -d' output) - The list of environment parameters that a privileged Postfix + The list of environment variables that a privileged Postfix process will import from a non-Postfix parent process, or name=value environment overrides. diff --git a/html/mongodb_table.5.html b/html/mongodb_table.5.html new file mode 100644 index 0000000..b7434f2 --- /dev/null +++ b/html/mongodb_table.5.html @@ -0,0 +1,215 @@ + + + + + Postfix manual - mongodb_table(5) +
      +MONGODB_TABLE(5)                                              MONGODB_TABLE(5)
      +
      +NAME
      +       mongodb_table - Postfix MongoDB client configuration
      +
      +SYNOPSIS
      +       postmap -q "string" mongodb:/etc/postfix/filename
      +
      +       postmap -q - mongodb:/etc/postfix/filename <inputfile
      +
      +DESCRIPTION
      +       The  Postfix  mail system uses optional tables for address rewriting or
      +       mail routing. These tables are usually in dbm or db format.
      +
      +       Alternatively, lookup tables can be specified as MongoDB databases.  In
      +       order to use MongoDB lookups, define a MongoDB source as a lookup table
      +       in main.cf, for example:
      +           alias_maps = mongodb:/etc/postfix/mongodb-aliases.cf
      +
      +       In this example, the file /etc/postfix/mongodb-aliases.cf has the  same
      +       format  as  the  Postfix  main.cf  file, and can specify the parameters
      +       described below. It is also  possible  to  have  the  configuration  in
      +       main.cf; see "OBSOLETE MAIN.CF PARAMETERS" below.
      +
      +       It is strongly recommended to use proxy:mongodb, in order to reduce the
      +       number of database connections. For example:
      +           alias_maps = proxy:mongodb:/etc/postfix/mongodb-aliases.cf
      +
      +       Note: when using proxy:mongodb:/file, the file must be readable by  the
      +       unprivileged  postfix  user (specified with the Postfix mail_owner con-
      +       figuration parameter).
      +
      +MONGODB PARAMETERS
      +       uri    The URI of mongo server/cluster that Postfix will try to connect
      +              to and query from. Please see
      +              https://www.mongodb.com/docs/manual/reference/connection-string/
      +
      +              Example:
      +                  uri = mongodb+srv://user:pass@loclhost:27017/mail
      +
      +       dbname Name of the database to read the information from.  Example:
      +                  dbname = mail
      +
      +       collection
      +              Name  of  the  collection  (table) to read the information from.
      +              Example:
      +                  collection = mailbox
      +
      +       query_filter
      +              The MongoDB query template used to search the database, where %s
      +              is  a substitute for the email address that Postfix is trying to
      +              resolve. Please see:
      +              https://www.mongodb.com/docs/manual/tutorial/query-documents/
      +
      +              Example:
      +                  query_filter = {"$or": [{"username": "%s"}, {"alias.address": "%s"}], "active": 1}
      +
      +              This parameter supports the following '%' expansions:
      +
      +              %%     This is replaced by a literal '%' character.
      +
      +              %s     This is replaced by the input key. The %s must appear  in
      +                     quotes,  because all Postfix queries are strings contain-
      +                     ing (parts from) a domain or email address. Postfix makes
      +                     no numerical queries.
      +
      +              %u     When the input key is an address of the form user@domain,
      +                     %u is replaced by the local part of the address.   Other-
      +                     wise, %u is replaced by the entire search string.
      +
      +              %d     When the input key is an address of the form user@domain,
      +                     %d is replaced by the domain part of the address.
      +
      +              %[1-9] The patterns %1, %2, ... %9 are replaced  by  the  corre-
      +                     sponding  most  significant  component of the input key's
      +                     domain. If the input key is  user@mail.example.com,  then
      +                     %1 is com, %2 is example and %3 is mail.
      +
      +              In  the  above  substitutions,  characters  will  be  quoted  as
      +              required by RFC 4627. For example, each double  quote  or  back-
      +              slash character will be escaped with a backslash characacter.
      +
      +       projection
      +              Advanced MongoDB query projections. Please see:
      +              https://www.mongodb.com/docs/manual/tutorial/project-fields-from-query-results/
      +
      +              o      If projection is non-empty, then result_attribute must be
      +                     empty.
      +
      +              o      This implementation can  extract  information  only  from
      +                     result  fields  that  have  type  string  (UTF8), integer
      +                     (int32, int64) and array. Other  result  fields  will  be
      +                     ignored with a warning. Please see:
      +                     https://mongoc.org/libbson/current/bson_type_t.html
      +
      +              o      As  with  result_attribute, the top-level _id field (type
      +                     OID) is automatically removed from projection results.
      +
      +       result_attribute
      +              Comma or whitespace separated list with the names of  fields  to
      +              be returned in a lookup result.
      +
      +              o      If result_attribute is non-empty, then projection must be
      +                     empty.
      +
      +              o      As with projection, the top-level _id field (type OID) is
      +                     automatically removed from lookup results.
      +
      +       result_format (default: %s)
      +              Format  template  applied  to  the  result  from  projection  or
      +              result_attribute. Most commonly used to append (or prepend) text
      +              to  the result. This parameter supports the following '%' expan-
      +              sions:
      +
      +              %%     This is replaced by a literal '%' character.
      +
      +              %s     This is replaced by the value of  the  result  attribute.
      +                     When result is empty it is skipped.
      +
      +              %u     When the result attribute value is an address of the form
      +                     user@domain, %u is replaced by  the  local  part  of  the
      +                     address.  When  the  result  has an empty localpart it is
      +                     skipped.
      +
      +              %d     When a result attribute value is an address of  the  form
      +                     user@domain,  %d  is  replaced  by the domain part of the
      +                     attribute value. When the result  is  unqualified  it  is
      +                     skipped.
      +
      +              %[SUD1-9]
      +                     The  upper-case  and decimal digit expansions interpolate
      +                     the parts of the input key rather than the result.  Their
      +                     behavior  is  identical to that described with query_fil-
      +                     ter, and in fact  because  the  input  key  is  known  in
      +                     advance,  lookups  whose  key  does  not  contain all the
      +                     information specified in the  result  template  are  sup-
      +                     pressed and return no results.
      +
      +              For example, using "result_format = smtp:[%s]" allows one to use
      +              a mailHost attribute as the basis of a transport(5) table. After
      +              applying  the result format, multiple values are concatenated as
      +              comma separated strings. The expansion_limit parameter explained
      +              below allows one to restrict the number of values in the result,
      +              which is especially useful for maps that should return a  single
      +              value.
      +
      +              The  default value %s specifies that each attribute value should
      +              be used as is.
      +
      +              NOTE: DO NOT put quotes around the result format! The result  is
      +              not a JSON string.
      +
      +       domain (default: no domain list)
      +              This  is a list of domain names, paths to files, or "type:table"
      +              databases. When specified, only fully qualified search keys with
      +              a  *non-empty*  localpart and a matching domain are eligible for
      +              lookup:  'user'  lookups,  bare  domain  lookups  and  "@domain"
      +              lookups  are  not  performed.  This can significantly reduce the
      +              query load on the backend database. Example:
      +                  domain = postfix.org, hash:/etc/postfix/searchdomains
      +
      +       expansion_limit (default: 0)
      +              A limit on the total number of result elements  returned  (as  a
      +              comma separated list) by a lookup against the map.  A setting of
      +              zero disables the limit. Lookups fail with a temporary error  if
      +              the  limit  is  exceeded.  Setting  the  limit to 1 ensures that
      +              lookups do not return multiple values.
      +
      +OBSOLETE MAIN.CF PARAMETERS
      +       MongoDB parameters can also be defined in main.cf. Specify  as  MongoDB
      +       source  a  name  that  doesn't begin with a slash or a dot. The MongoDB
      +       parameters will then be accessible as the name you've given the  source
      +       in  its  definition,  an underscore, and the name of the parameter. For
      +       example, if a map is specified as "mongodb:mongodb_source",  the  "uri"
      +       parameter would be defined in main.cf as "mongodb_source_uri".
      +
      +       Note:  with  this form, passwords are written in main.cf, which is nor-
      +       mally world-readable, and '$' in a mongodb parameter setting  needs  to
      +       be written as '$$'.
      +
      +SEE ALSO
      +       postmap(1), Postfix lookup table maintenance
      +       postconf(5), configuration parameters
      +
      +README FILES
      +       DATABASE_README, Postfix lookup table overview
      +       MONGODB_README, Postfix MONGODB client guide
      +
      +LICENSE
      +       The Secure Mailer license must be distributed with this software.
      +
      +HISTORY
      +       MongoDB support was introduced with Postfix version 3.9.
      +
      +AUTHOR(S)
      +       Hamid Maadani (hamid@dexo.tech)
      +       Dextrous Technologies, LLC
      +
      +       Edited by:
      +       Wietse Venema
      +       porcupine.org
      +
      +       Based on prior work by:
      +       Stephan Ferraro
      +       Aionda GmbH
      +
      +                                                              MONGODB_TABLE(5)
      +
      diff --git a/html/mysql_table.5.html b/html/mysql_table.5.html index 4971e57..5063e65 100644 --- a/html/mysql_table.5.html +++ b/html/mysql_table.5.html @@ -72,56 +72,76 @@ MYSQL_TABLE(5) MYSQL_TABLE(5) dbname The database name on the servers. Example: dbname = customer_database - query The SQL query template used to search the database, where %s is - a substitute for the address Postfix is trying to resolve, e.g. + charset (default: utf8mb4) + The default MySQL client character set; this also implies the + collation order. + + This parameter is available with Postfix 3.9 and later. With + earlier Postfix versions, the default was chosen by the MySQL + implementation (utf8mb4 as of MySQL 8.0, latin1 historically). + + idle_interval (default: 60) + The number of seconds after which an idle database connection + will be closed. + + This feature is available in Postfix 3.9 and later. + + retry_interval (default: 60) + The number of seconds that a database connection will be skipped + after an error. + + This feature is available in Postfix 3.9 and later. + + query The SQL query template used to search the database, where %s is + a substitute for the address Postfix is trying to resolve, e.g. query = SELECT replacement FROM aliases WHERE mailbox = '%s' - By default, every query must return a result set (instead of - storing its results in a table); with "require_result_set = no" - (Postfix 3.2 and later), the absence of a result set is treated + By default, every query must return a result set (instead of + storing its results in a table); with "require_result_set = no" + (Postfix 3.2 and later), the absence of a result set is treated as "not found". This parameter supports the following '%' expansions: %% This is replaced by a literal '%' character. - %s This is replaced by the input key. SQL quoting is used - to make sure that the input key does not add unexpected + %s This is replaced by the input key. SQL quoting is used + to make sure that the input key does not add unexpected metacharacters. %u When the input key is an address of the form user@domain, - %u is replaced by the SQL quoted local part of the - address. Otherwise, %u is replaced by the entire search - string. If the localpart is empty, the query is sup- + %u is replaced by the SQL quoted local part of the + address. Otherwise, %u is replaced by the entire search + string. If the localpart is empty, the query is sup- pressed and returns no results. %d When the input key is an address of the form user@domain, - %d is replaced by the SQL quoted domain part of the - address. Otherwise, the query is suppressed and returns + %d is replaced by the SQL quoted domain part of the + address. Otherwise, the query is suppressed and returns no results. %[SUD] The upper-case equivalents of the above expansions behave - in the query parameter identically to their lower-case - counter-parts. With the result_format parameter (see - below), they expand the input key rather than the result + in the query parameter identically to their lower-case + counter-parts. With the result_format parameter (see + below), they expand the input key rather than the result value. - %[1-9] The patterns %1, %2, ... %9 are replaced by the corre- - sponding most significant component of the input key's - domain. If the input key is user@mail.example.com, then + %[1-9] The patterns %1, %2, ... %9 are replaced by the corre- + sponding most significant component of the input key's + domain. If the input key is user@mail.example.com, then %1 is com, %2 is example and %3 is mail. If the input key - is unqualified or does not have enough domain components - to satisfy all the specified patterns, the query is sup- + is unqualified or does not have enough domain components + to satisfy all the specified patterns, the query is sup- pressed and returns no results. - The domain parameter described below limits the input keys to - addresses in matching domains. When the domain parameter is + The domain parameter described below limits the input keys to + addresses in matching domains. When the domain parameter is non-empty, SQL queries for unqualified addresses or addresses in non-matching domains are suppressed and return no results. - This parameter is available with Postfix 2.2. In prior releases - the SQL query was built from the separate parameters: - select_field, table, where_field and additional_conditions. The + This parameter is available with Postfix 2.2. In prior releases + the SQL query was built from the separate parameters: + select_field, table, where_field and additional_conditions. The mapping from the old parameters to the equivalent query is: SELECT [select_field] @@ -129,50 +149,50 @@ MYSQL_TABLE(5) MYSQL_TABLE(5) WHERE [where_field] = '%s' [additional_conditions] - The '%s' in the WHERE clause expands to the escaped search - string. With Postfix 2.2 these legacy parameters are used if + The '%s' in the WHERE clause expands to the escaped search + string. With Postfix 2.2 these legacy parameters are used if the query parameter is not specified. NOTE: DO NOT put quotes around the query parameter. result_format (default: %s) Format template applied to result attributes. Most commonly used - to append (or prepend) text to the result. This parameter sup- + to append (or prepend) text to the result. This parameter sup- ports the following '%' expansions: %% This is replaced by a literal '%' character. - %s This is replaced by the value of the result attribute. + %s This is replaced by the value of the result attribute. When result is empty it is skipped. %u When the result attribute value is an address of the form - user@domain, %u is replaced by the local part of the - address. When the result has an empty localpart it is + user@domain, %u is replaced by the local part of the + address. When the result has an empty localpart it is skipped. - %d When a result attribute value is an address of the form - user@domain, %d is replaced by the domain part of the - attribute value. When the result is unqualified it is + %d When a result attribute value is an address of the form + user@domain, %d is replaced by the domain part of the + attribute value. When the result is unqualified it is skipped. %[SUD1-9] - The upper-case and decimal digit expansions interpolate - the parts of the input key rather than the result. Their - behavior is identical to that described with query, and - in fact because the input key is known in advance, - queries whose key does not contain all the information - specified in the result template are suppressed and + The upper-case and decimal digit expansions interpolate + the parts of the input key rather than the result. Their + behavior is identical to that described with query, and + in fact because the input key is known in advance, + queries whose key does not contain all the information + specified in the result template are suppressed and return no results. For example, using "result_format = smtp:[%s]" allows one to use a mailHost attribute as the basis of a transport(5) table. After - applying the result format, multiple values are concatenated as + applying the result format, multiple values are concatenated as comma separated strings. The expansion_limit and parameter - explained below allows one to restrict the number of values in + explained below allows one to restrict the number of values in the result, which is especially useful for maps that must return at most one value. - The default value %s specifies that each result value should be + The default value %s specifies that each result value should be used as is. This parameter is available with Postfix 2.2 and later. @@ -180,15 +200,15 @@ MYSQL_TABLE(5) MYSQL_TABLE(5) NOTE: DO NOT put quotes around the result format! domain (default: no domain list) - This is a list of domain names, paths to files, or "type:table" + This is a list of domain names, paths to files, or "type:table" databases. When specified, only fully qualified search keys with - a *non-empty* localpart and a matching domain are eligible for + a *non-empty* localpart and a matching domain are eligible for lookup: 'user' lookups, bare domain lookups and "@domain" - lookups are not performed. This can significantly reduce the + lookups are not performed. This can significantly reduce the query load on the MySQL server. domain = postfix.org, hash:/etc/postfix/searchdomains - It is best not to use SQL to store the domains eligible for SQL + It is best not to use SQL to store the domains eligible for SQL lookups. This parameter is available with Postfix 2.2 and later. @@ -197,37 +217,37 @@ MYSQL_TABLE(5) MYSQL_TABLE(5) the input keys are always unqualified. expansion_limit (default: 0) - A limit on the total number of result elements returned (as a + A limit on the total number of result elements returned (as a comma separated list) by a lookup against the map. A setting of - zero disables the limit. Lookups fail with a temporary error if - the limit is exceeded. Setting the limit to 1 ensures that + zero disables the limit. Lookups fail with a temporary error if + the limit is exceeded. Setting the limit to 1 ensures that lookups do not return multiple values. option_file - Read options from the given file instead of the default my.cnf - location. This reads options from the [client] option group, + Read options from the given file instead of the default my.cnf + location. This reads options from the [client] option group, optionally followed by options from the group given with option_group. This parameter is available with Postfix 2.11 and later. option_group (default: Postfix >=3.2: client, <= 3.1: empty) - Read options from the given group of the mysql options file, + Read options from the given group of the mysql options file, after reading options from the [client] group. - Postfix 3.2 and later read [client] option group settings by - default. To disable this specify no option_file and specify + Postfix 3.2 and later read [client] option group settings by + default. To disable this specify no option_file and specify "option_group =" (i.e. an empty value). - Postfix 3.1 and earlier don't read [client] option group set- - tings unless a non-empty option_file or option_group value are + Postfix 3.1 and earlier don't read [client] option group set- + tings unless a non-empty option_file or option_group value are specified. To enable this, specify, for example, "option_group = client". This parameter is available with Postfix 2.11 and later. require_result_set (default: yes) - If "yes", require that every query returns a result set. If + If "yes", require that every query returns a result set. If "no", treat the absence of a result set as "not found". This parameter is available with Postfix 3.2 and later. @@ -238,19 +258,19 @@ MYSQL_TABLE(5) MYSQL_TABLE(5) This parameter is available with Postfix 2.11 and later. tls_key_file - File containing the private key corresponding to tls_cert_file. + File containing the private key corresponding to tls_cert_file. This parameter is available with Postfix 2.11 and later. tls_CAfile - File containing certificates for all of the X509 Certification - Authorities the client will recognize. Takes precedence over + File containing certificates for all of the X509 Certification + Authorities the client will recognize. Takes precedence over tls_CApath. This parameter is available with Postfix 2.11 and later. tls_CApath - Directory containing X509 Certification Authority certificates + Directory containing X509 Certification Authority certificates in separate individual files. This parameter is available with Postfix 2.11 and later. @@ -261,13 +281,13 @@ MYSQL_TABLE(5) MYSQL_TABLE(5) This parameter is available with Postfix 2.11 and later. tls_verify_cert (default: no) - Verify that the server's name matches the common name in the + Verify that the server's name matches the common name in the certificate. This parameter is available with Postfix 2.11 and later. USING MYSQL STORED PROCEDURES - Postfix 3.2 and later support calling a stored procedure instead of + Postfix 3.2 and later support calling a stored procedure instead of using a SELECT statement in the query, e.g. query = CALL lookup('%s') @@ -275,17 +295,17 @@ MYSQL_TABLE(5) MYSQL_TABLE(5) The previously described '%' expansions can be used in the parameter(s) to the stored procedure. - By default, every stored procedure call must return a result set, i.e. - every code path must execute a SELECT statement that returns a result + By default, every stored procedure call must return a result set, i.e. + every code path must execute a SELECT statement that returns a result set (instead of storing its results in a table). With - "require_result_set = no", the absence of a result set is treated as + "require_result_set = no", the absence of a result set is treated as "not found". - A stored procedure must not return multiple result sets. That is, - there must be no code path that executes multiple SELECT statements + A stored procedure must not return multiple result sets. That is, + there must be no code path that executes multiple SELECT statements that return a result (instead of storing their results in a table). - The following is an example of a stored procedure returning a single + The following is an example of a stored procedure returning a single result set: CREATE [DEFINER=`user`@`host`] PROCEDURE @@ -297,26 +317,26 @@ MYSQL_TABLE(5) MYSQL_TABLE(5) END OBSOLETE MAIN.CF PARAMETERS - For compatibility with other Postfix lookup tables, MySQL parameters - can also be defined in main.cf. In order to do that, specify as MySQL - source a name that doesn't begin with a slash or a dot. The MySQL - parameters will then be accessible as the name you've given the source - in its definition, an underscore, and the name of the parameter. For - example, if the map is specified as "mysql:mysqlname", the parameter + For compatibility with other Postfix lookup tables, MySQL parameters + can also be defined in main.cf. In order to do that, specify as MySQL + source a name that doesn't begin with a slash or a dot. The MySQL + parameters will then be accessible as the name you've given the source + in its definition, an underscore, and the name of the parameter. For + example, if the map is specified as "mysql:mysqlname", the parameter "hosts" would be defined in main.cf as "mysqlname_hosts". - Note: with this form, the passwords for the MySQL sources are written - in main.cf, which is normally world-readable. Support for this form + Note: with this form, the passwords for the MySQL sources are written + in main.cf, which is normally world-readable. Support for this form will be removed in a future Postfix version. OBSOLETE QUERY INTERFACE - This section describes an interface that is deprecated as of Postfix - 2.2. It is replaced by the more general query interface described - above. If the query parameter is defined, the legacy parameters - described here ignored. Please migrate to the new interface as the + This section describes an interface that is deprecated as of Postfix + 2.2. It is replaced by the more general query interface described + above. If the query parameter is defined, the legacy parameters + described here ignored. Please migrate to the new interface as the legacy interface may be removed in a future release. - The following parameters can be used to fill in a SELECT template + The following parameters can be used to fill in a SELECT template statement of the form: SELECT [select_field] @@ -325,7 +345,7 @@ MYSQL_TABLE(5) MYSQL_TABLE(5) [additional_conditions] The specifier %s is replaced by the search string, and is escaped so if - it contains single quotes or other odd characters, it will not cause a + it contains single quotes or other odd characters, it will not cause a parse error, or worse, a security problem. select_field diff --git a/html/newaliases.1.html b/html/newaliases.1.html index bebc17b..bf6051d 100644 --- a/html/newaliases.1.html +++ b/html/newaliases.1.html @@ -455,9 +455,11 @@ SENDMAIL(1) SENDMAIL(1) The location of the Postfix top-level queue directory. remote_header_rewrite_domain (empty) - Don't rewrite message headers from remote clients at all when - this parameter is empty; otherwise, rewrite message headers and - append the specified domain name to incomplete addresses. + Rewrite or add message headers in mail from remote clients if + the remote_header_rewrite_domain parameter value is non-empty, + updating incomplete addresses with the domain specified in the + remote_header_rewrite_domain parameter, and adding missing head- + ers. syslog_facility (mail) The syslog facility of Postfix logging. diff --git a/html/pcre_table.5.html b/html/pcre_table.5.html index 0216e3e..1e03644 100644 --- a/html/pcre_table.5.html +++ b/html/pcre_table.5.html @@ -191,8 +191,12 @@ PCRE_TABLE(5) PCRE_TABLE(5) Postfix parses the result as if it is a file in /etc/postfix. - Note: if a rule contains $, specify $$ to keep Postfix from trying to - do $name expansion as it evaluates a parameter value. + Note: if an inlined rule contains $, specify $$ to keep Postfix from + trying to do $name expansion as it evaluates a parameter value. + + Note: when using $name inside an inlined pattern, use \Q$name\E to dis- + able metacharacters such as '.' in the $name expansion. Otherwise, the + pattern may have unexpected matches. EXAMPLE SMTPD ACCESS MAP # Protect your outgoing majordomo exploders diff --git a/html/pgsql_table.5.html b/html/pgsql_table.5.html index 964bd6d..0b50fd1 100644 --- a/html/pgsql_table.5.html +++ b/html/pgsql_table.5.html @@ -72,11 +72,24 @@ PGSQL_TABLE(5) PGSQL_TABLE(5) The encoding used by the database client. The default setting is: encoding = UTF8 + Historically, the database client was hard coded to use LATIN1 in an attempt to disable multibyte character support. This feature is available in Postfix 3.8 and later. + idle_interval (default: 60) + The number of seconds after which an idle database connection + will be closed. + + This feature is available in Postfix 3.9 and later. + + retry_interval (default: 60) + The number of seconds that a database connection will be skipped + after an error. + + This feature is available in Postfix 3.9 and later. + query The SQL query template used to search the database, where %s is a substitute for the address Postfix is trying to resolve, e.g. query = SELECT replacement FROM aliases WHERE mailbox = '%s' diff --git a/html/pipe.8.html b/html/pipe.8.html index a0e4678..d813954 100644 --- a/html/pipe.8.html +++ b/html/pipe.8.html @@ -242,13 +242,19 @@ PIPE(8) PIPE(8) This feature is available as of Postfix 2.5. + ${envid} + This macro expands to the RFC 3461 envelope ID if avail- + able, otherwise the empty string. + + This feature is available as of Postfix 3.9. + ${extension} - This macro expands to the extension part of a recipient - address. For example, with an address user+foo@domain + This macro expands to the extension part of a recipient + address. For example, with an address user+foo@domain the extension is foo. - A command-line argument that contains ${extension} - expands into as many command-line arguments as there are + A command-line argument that contains ${extension} + expands into as many command-line arguments as there are recipients. This information is modified by the u flag for case fold- @@ -256,11 +262,11 @@ PIPE(8) PIPE(8) ${mailbox} This macro expands to the complete local part of a recip- - ient address. For example, with an address + ient address. For example, with an address user+foo@domain the mailbox is user+foo. - A command-line argument that contains ${mailbox} expands - to as many command-line arguments as there are recipi- + A command-line argument that contains ${mailbox} expands + to as many command-line arguments as there are recipi- ents. This information is modified by the u flag for case fold- @@ -273,11 +279,11 @@ PIPE(8) PIPE(8) ing. ${original_recipient} - This macro expands to the complete recipient address + This macro expands to the complete recipient address before any address rewriting or aliasing. - A command-line argument that contains ${original_recipi- - ent} expands to as many command-line arguments as there + A command-line argument that contains ${original_recipi- + ent} expands to as many command-line arguments as there are recipients. This information is modified by the hqu flags for quoting @@ -293,8 +299,8 @@ PIPE(8) PIPE(8) ${recipient} This macro expands to the complete recipient address. - A command-line argument that contains ${recipient} - expands to as many command-line arguments as there are + A command-line argument that contains ${recipient} + expands to as many command-line arguments as there are recipients. This information is modified by the hqu flags for quoting @@ -302,13 +308,13 @@ PIPE(8) PIPE(8) ${sasl_method} This macro expands to the name of the SASL authentication - mechanism in the AUTH command when the Postfix SMTP + mechanism in the AUTH command when the Postfix SMTP server received the message. This feature is available as of Postfix 2.2. ${sasl_sender} - This macro expands to the SASL sender name (i.e. the + This macro expands to the SASL sender name (i.e. the original submitter as per RFC 4954) in the MAIL FROM com- mand when the Postfix SMTP server received the message. @@ -321,25 +327,25 @@ PIPE(8) PIPE(8) This feature is available as of Postfix 2.2. ${sender} - This macro expands to the envelope sender address. By - default, the null sender address expands to MAILER-DAE- - MON; this can be changed with the null_sender attribute, + This macro expands to the envelope sender address. By + default, the null sender address expands to MAILER-DAE- + MON; this can be changed with the null_sender attribute, as described above. This information is modified by the q flag for quoting. ${size} This macro expands to Postfix's idea of the message size, - which is an approximation of the size of the message as + which is an approximation of the size of the message as delivered. ${user} - This macro expands to the username part of a recipient - address. For example, with an address user+foo@domain + This macro expands to the username part of a recipient + address. For example, with an address user+foo@domain the username part is user. - A command-line argument that contains ${user} expands - into as many command-line arguments as there are recipi- + A command-line argument that contains ${user} expands + into as many command-line arguments as there are recipi- ents. This information is modified by the u flag for case fold- @@ -349,36 +355,36 @@ PIPE(8) PIPE(8) RFC 3463 (Enhanced status codes) DIAGNOSTICS - Command exit status codes are expected to follow the conventions + Command exit status codes are expected to follow the conventions defined in <sysexits.h>. Exit status 0 means normal successful comple- tion. In the case of a non-zero exit status, a limited amount of command out- - put is logged, and reported in a delivery status notification. When - the output begins with a 4.X.X or 5.X.X enhanced status code, the sta- - tus code takes precedence over the non-zero exit status (Postfix ver- + put is logged, and reported in a delivery status notification. When + the output begins with a 4.X.X or 5.X.X enhanced status code, the sta- + tus code takes precedence over the non-zero exit status (Postfix ver- sion 2.3 and later). - After successful delivery (zero exit status) a limited amount of com- - mand output is logged, and reported in "success" delivery status noti- + After successful delivery (zero exit status) a limited amount of com- + mand output is logged, and reported in "success" delivery status noti- fications (Postfix 3.0 and later). This command output is not examined for the presence of an enhanced status code. - Problems and transactions are logged to syslogd(8) or postlogd(8). - Corrupted message files are marked so that the queue manager can move + Problems and transactions are logged to syslogd(8) or postlogd(8). + Corrupted message files are marked so that the queue manager can move them to the corrupt queue for further inspection. SECURITY - This program needs a dual personality 1) to access the private Postfix - queue and IPC mechanisms, and 2) to execute external commands as the + This program needs a dual personality 1) to access the private Postfix + queue and IPC mechanisms, and 2) to execute external commands as the specified user. It is therefore security sensitive. CONFIGURATION PARAMETERS Changes to main.cf are picked up automatically as pipe(8) processes run - for only a limited amount of time. Use the command "postfix reload" to + for only a limited amount of time. Use the command "postfix reload" to speed up a change. - The text below provides only a parameter summary. See postconf(5) for + The text below provides only a parameter summary. See postconf(5) for more details including examples. RESOURCE AND RATE CONTROLS @@ -386,50 +392,50 @@ PIPE(8) PIPE(8) transport_time_limit ($command_time_limit) A transport-specific override for the command_time_limit parame- - ter value, where transport is the master.cf name of the message + ter value, where transport is the master.cf name of the message delivery transport. Implemented in the qmgr(8) daemon: transport_destination_concurrency_limit ($default_destination_concur- rency_limit) - A transport-specific override for the default_destination_con- + A transport-specific override for the default_destination_con- currency_limit parameter value, where transport is the master.cf name of the message delivery transport. transport_destination_recipient_limit ($default_destination_recipi- ent_limit) A transport-specific override for the default_destination_recip- - ient_limit parameter value, where transport is the master.cf + ient_limit parameter value, where transport is the master.cf name of the message delivery transport. MISCELLANEOUS CONTROLS config_directory (see 'postconf -d' output) - The default location of the Postfix main.cf and master.cf con- + The default location of the Postfix main.cf and master.cf con- figuration files. daemon_timeout (18000s) - How much time a Postfix daemon process may take to handle a + How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. delay_logging_resolution_limit (2) - The maximal number of digits after the decimal point when log- + The maximal number of digits after the decimal point when log- ging sub-second delay values. export_environment (see 'postconf -d' output) - The list of environment variables that a Postfix process will + The list of environment variables that a Postfix process will export to non-Postfix processes. ipc_timeout (3600s) - The time limit for sending or receiving information over an + The time limit for sending or receiving information over an internal communication channel. mail_owner (postfix) - The UNIX system account that owns the Postfix queue and most + The UNIX system account that owns the Postfix queue and most Postfix daemon processes. max_idle (100s) - The maximum amount of time that an idle Postfix daemon process + The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. max_use (100) @@ -446,28 +452,28 @@ PIPE(8) PIPE(8) The location of the Postfix top-level queue directory. recipient_delimiter (empty) - The set of characters that can separate an email address local- + The set of characters that can separate an email address local- part, user name, or a .forward file name from its extension. syslog_facility (mail) The syslog facility of Postfix logging. syslog_name (see 'postconf -d' output) - A prefix that is prepended to the process name in syslog + A prefix that is prepended to the process name in syslog records, so that, for example, "smtpd" becomes "prefix/smtpd". Available in Postfix version 3.0 and later: pipe_delivery_status_filter ($default_delivery_status_filter) - Optional filter for the pipe(8) delivery agent to change the + Optional filter for the pipe(8) delivery agent to change the delivery status code or explanatory text of successful or unsuc- cessful deliveries. Available in Postfix version 3.3 and later: enable_original_recipient (yes) - Enable support for the original recipient address after an - address is rewritten to a different address (for example with + Enable support for the original recipient address after an + address is rewritten to a different address (for example with aliasing or with canonical mapping). service_name (read-only) @@ -476,7 +482,7 @@ PIPE(8) PIPE(8) Available in Postfix 3.5 and later: info_log_address_format (external) - The email address form that will be used in non-debug logging + The email address form that will be used in non-debug logging (info, warning, etc.). SEE ALSO diff --git a/html/postcat.1.html b/html/postcat.1.html index 4c61c52..71b763e 100644 --- a/html/postcat.1.html +++ b/html/postcat.1.html @@ -85,7 +85,7 @@ POSTCAT(1) POSTCAT(1) figuration files. import_environment (see 'postconf -d' output) - The list of environment parameters that a privileged Postfix + The list of environment variables that a privileged Postfix process will import from a non-Postfix parent process, or name=value environment overrides. diff --git a/html/postconf.1.html b/html/postconf.1.html index 4269a5e..a8444a2 100644 --- a/html/postconf.1.html +++ b/html/postconf.1.html @@ -13,7 +13,7 @@ POSTCONF(1) POSTCONF(1) SYNOPSIS Managing main.cf: - postconf [-dfhHnopvx] [-c config_dir] [-C class,...] [parameter ...] + postconf [-dfhHnopqvx] [-c config_dir] [-C class,...] [parameter ...] postconf [-epv] [-c config_dir] parameter=value ... @@ -23,7 +23,7 @@ POSTCONF(1) POSTCONF(1) Managing master.cf service entries: - postconf -M [-fovx] [-c config_dir] [service[/type] ...] + postconf -M [-foqvx] [-c config_dir] [service[/type] ...] postconf -M [-ev] [-c config_dir] service/type=value ... @@ -33,13 +33,13 @@ POSTCONF(1) POSTCONF(1) Managing master.cf service fields: - postconf -F [-fhHovx] [-c config_dir] [service[/type[/field]] ...] + postconf -F [-fhHoqvx] [-c config_dir] [service[/type[/field]] ...] postconf -F [-ev] [-c config_dir] service/type/field=value ... Managing master.cf service parameters: - postconf -P [-fhHovx] [-c config_dir] [service[/type[/parameter]] ...] + postconf -P [-fhHoqvx] [-c config_dir] [service[/type[/parameter]] ...] postconf -P [-ev] [-c config_dir] service/type/parameter=value ... @@ -272,52 +272,58 @@ POSTCONF(1) POSTCONF(1) This feature is available with Postfix 2.9 and later. + mongodb + MongoDB database client. This is described in mongodb_ta- + ble(5). + + This feature is available with Postfix 3.9 and later. + mysql (read-only) MySQL database client. Available on systems with support - for MySQL databases. This is described in mysql_ta- + for MySQL databases. This is described in mysql_ta- ble(5). pcre (read-only) - A lookup table based on Perl Compatible Regular Expres- + A lookup table based on Perl Compatible Regular Expres- sions. The file format is described in pcre_table(5). pgsql (read-only) - PostgreSQL database client. This is described in + PostgreSQL database client. This is described in pgsql_table(5). This feature is available with Postfix 2.1 and later. pipemap (read-only) - A lookup table that constructs a pipeline of tables. - Example: "pipemap:{type_1:name_1, ..., type_n:name_n}". - Each "pipemap:" query is given to the first table. Each + A lookup table that constructs a pipeline of tables. + Example: "pipemap:{type_1:name_1, ..., type_n:name_n}". + Each "pipemap:" query is given to the first table. Each lookup result becomes the query for the next table in the - pipeline, and the last table produces the final result. - When any table lookup produces no result, the pipeline - produces no result. The first and last characters of the + pipeline, and the last table produces the final result. + When any table lookup produces no result, the pipeline + produces no result. The first and last characters of the "pipemap:" table name must be "{" and "}". Within these, individual maps are separated with comma or whitespace. This feature is available with Postfix 3.0 and later. - proxy Postfix proxymap(8) client for shared access to Postfix + proxy Postfix proxymap(8) client for shared access to Postfix databases. The table name syntax is type:name. This feature is available with Postfix 2.0 and later. randmap (read-only) - An in-memory table that performs random selection. Exam- + An in-memory table that performs random selection. Exam- ple: "randmap:{result_1, ..., result_n}". Each table query returns a random choice from the specified results. - The first and last characters of the "randmap:" table - name must be "{" and "}". Within these, individual + The first and last characters of the "randmap:" table + name must be "{" and "}". Within these, individual results are separated with comma or whitespace. To give a specific result more weight, specify it multiple times. This feature is available with Postfix 3.0 and later. regexp (read-only) - A lookup table based on regular expressions. The file + A lookup table based on regular expressions. The file format is described in regexp_table(5). sdbm An indexed file type based on hashing. Available on sys- @@ -326,9 +332,9 @@ POSTCONF(1) POSTCONF(1) This feature is available with Postfix 2.2 and later. socketmap (read-only) - Sendmail-style socketmap client. The table name is - inet:host:port:name for a TCP/IP server, or unix:path- - name:name for a UNIX-domain server. This is described in + Sendmail-style socketmap client. The table name is + inet:host:port:name for a TCP/IP server, or unix:path- + name:name for a UNIX-domain server. This is described in socketmap_table(5). This feature is available with Postfix 2.10 and later. @@ -339,11 +345,11 @@ POSTCONF(1) POSTCONF(1) This feature is available with Postfix 2.8 and later. static (read-only) - A table that always returns its name as lookup result. + A table that always returns its name as lookup result. For example, static:foobar always returns the string foo- - bar as lookup result. Specify "static:{ text with white- - space }" when the result contains whitespace; this form - ignores whitespace after the opening "{" and before the + bar as lookup result. Specify "static:{ text with white- + space }" when the result contains whitespace; this form + ignores whitespace after the opening "{" and before the closing "}". See also the inline: map. The form "static:{text} is available with Postfix 3.0 and @@ -353,66 +359,66 @@ POSTCONF(1) POSTCONF(1) TCP/IP client. The protocol is described in tcp_table(5). texthash (read-only) - Produces similar results as hash: files, except that you - don't need to run the postmap(1) command before you can - use the file, and that it does not detect changes after + Produces similar results as hash: files, except that you + don't need to run the postmap(1) command before you can + use the file, and that it does not detect changes after the file is read. This feature is available with Postfix 2.8 and later. unionmap (read-only) - A table that sends each query to multiple lookup tables - and that concatenates all found results, separated by + A table that sends each query to multiple lookup tables + and that concatenates all found results, separated by comma. The table name syntax is the same as for pipemap. This feature is available with Postfix 3.0 and later. unix (read-only) - A limited view of the UNIX authentication database. The + A limited view of the UNIX authentication database. The following tables are implemented: unix:passwd.byname - The table is the UNIX password database. The key - is a login name. The result is a password file + The table is the UNIX password database. The key + is a login name. The result is a password file entry in passwd(5) format. unix:group.byname The table is the UNIX group database. The key is a - group name. The result is a group file entry in + group name. The result is a group file entry in group(5) format. - Other table types may exist depending on how Postfix was built. + Other table types may exist depending on how Postfix was built. - -M Show master.cf file contents instead of main.cf file contents. + -M Show master.cf file contents instead of main.cf file contents. Specify -Mf to fold long lines for human readability. Specify zero or more arguments, each with a service-name or ser- - vice-name/service-type pair, where service-name is the first - field of a master.cf entry and service-type is one of (inet, + vice-name/service-type pair, where service-name is the first + field of a master.cf entry and service-type is one of (inet, unix, fifo, or pass). - If service-name or service-name/service-type is specified, only - the matching master.cf entries will be output. For example, - "postconf -Mf smtp" will output all services named "smtp", and - "postconf -Mf smtp/inet" will output only the smtp service that - listens on the network. Trailing service type fields that are + If service-name or service-name/service-type is specified, only + the matching master.cf entries will be output. For example, + "postconf -Mf smtp" will output all services named "smtp", and + "postconf -Mf smtp/inet" will output only the smtp service that + listens on the network. Trailing service type fields that are omitted will be handled as "*" wildcard fields. This feature is available with Postfix 2.9 and later. The syntax - was changed from "name.type" to "name/type", and "*" wildcard + was changed from "name.type" to "name/type", and "*" wildcard support was added with Postfix 2.11. -n Show only configuration parameters that have explicit name=value - settings in main.cf. Specify -nf to fold long lines for human - readability (Postfix 2.9 and later). To show settings that dif- + settings in main.cf. Specify -nf to fold long lines for human + readability (Postfix 2.9 and later). To show settings that dif- fer from built-in defaults only, use the following bash syntax: LANG=C comm -23 <(postconf -n) <(postconf -d) Replace "-23" with "-12" to show settings that duplicate built-in defaults. -o name=value - Override main.cf parameter settings. This lets you see the - effect changing a parameter would have when it is used in other + Override main.cf parameter settings. This lets you see the + effect changing a parameter would have when it is used in other configuration parameters, e.g.: postconf -x -o stress=yes @@ -422,38 +428,42 @@ POSTCONF(1) POSTCONF(1) This feature is available with Postfix 2.11 and later. - -P Show master.cf service parameter settings (by default all ser- - vices and all parameters), formatted as "service/type/parame- + -P Show master.cf service parameter settings (by default all ser- + vices and all parameters), formatted as "service/type/parame- ter=value", one per line. Specify -Pf to fold long lines. - Specify one or more "service/type/parameter" instances on the - postconf(1) command line to limit the output to parameters of - interest. Trailing parameter name or service type fields that + Specify one or more "service/type/parameter" instances on the + postconf(1) command line to limit the output to parameters of + interest. Trailing parameter name or service type fields that are omitted will be handled as "*" wildcard fields. This feature is available with Postfix 2.11 and later. + -q Do not log warnings for deprecated or unused parameters. + + This feature is available with Postfix 3.9 and later. + -t [template_file] - Display the templates for text that appears at the beginning of - delivery status notification (DSN) messages, without expanding + Display the templates for text that appears at the beginning of + delivery status notification (DSN) messages, without expanding $name expressions. - To override the bounce_template_file parameter setting, specify - a template file name at the end of the "postconf -t" command - line. Specify an empty file name to display built-in templates + To override the bounce_template_file parameter setting, specify + a template file name at the end of the "postconf -t" command + line. Specify an empty file name to display built-in templates (in shell language: ""). This feature is available with Postfix 2.3 and later. -T mode - If Postfix is compiled without TLS support, the -T option pro- - duces no output. Otherwise, if an invalid mode is specified, - the -T option reports an error and exits with a non-zero status + If Postfix is compiled without TLS support, the -T option pro- + duces no output. Otherwise, if an invalid mode is specified, + the -T option reports an error and exits with a non-zero status code. The valid modes are: compile-version Output the OpenSSL version that Postfix was compiled with - (i.e. the OpenSSL version in a header file). The output + (i.e. the OpenSSL version in a header file). The output format is the same as with the command "openssl version". run-version @@ -461,40 +471,40 @@ POSTCONF(1) POSTCONF(1) runtime (i.e. the OpenSSL version in a shared library). public-key-algorithms - Output the lower-case names of the supported public-key + Output the lower-case names of the supported public-key algorithms, one per-line. This feature is available with Postfix 3.1 and later. - -v Enable verbose logging for debugging purposes. Multiple -v + -v Enable verbose logging for debugging purposes. Multiple -v options make the software increasingly verbose. - -x Expand $name in main.cf or master.cf parameter values. The + -x Expand $name in main.cf or master.cf parameter values. The expansion is recursive. This feature is available with Postfix 2.10 and later. - -X Edit the main.cf configuration file, and remove the parameters + -X Edit the main.cf configuration file, and remove the parameters named on the postconf(1) command line. Specify a list of param- eter names, not "name=value" pairs. - With -M, edit the master.cf configuration file, and remove one - or more service entries as specified with "service/type" on the + With -M, edit the master.cf configuration file, and remove one + or more service entries as specified with "service/type" on the postconf(1) command line. - With -P, edit the master.cf configuration file, and remove one + With -P, edit the master.cf configuration file, and remove one or more service parameter settings (-o parameter=value settings) - as specified with "service/type/parameter" on the postconf(1) + as specified with "service/type/parameter" on the postconf(1) command line. In all cases the file is copied to a temporary file then renamed into place. Specify quotes to protect special characters on the postconf(1) command line. - There is no postconf(1) command to perform the reverse opera- + There is no postconf(1) command to perform the reverse opera- tion. - This feature is available with Postfix 2.10 and later. Support + This feature is available with Postfix 2.10 and later. Support for -M and -P was added with Postfix 2.11. -# Edit the main.cf configuration file, and comment out the parame- @@ -502,18 +512,18 @@ POSTCONF(1) POSTCONF(1) eters revert to their default values. Specify a list of parame- ter names, not "name=value" pairs. - With -M, edit the master.cf configuration file, and comment out - one or more service entries as specified with "service/type" on + With -M, edit the master.cf configuration file, and comment out + one or more service entries as specified with "service/type" on the postconf(1) command line. In all cases the file is copied to a temporary file then renamed into place. Specify quotes to protect special characters on the postconf(1) command line. - There is no postconf(1) command to perform the reverse opera- + There is no postconf(1) command to perform the reverse opera- tion. - This feature is available with Postfix 2.6 and later. Support + This feature is available with Postfix 2.6 and later. Support for -M was added with Postfix 2.11. DIAGNOSTICS @@ -524,18 +534,18 @@ POSTCONF(1) POSTCONF(1) Directory with Postfix configuration files. CONFIGURATION PARAMETERS - The following main.cf parameters are especially relevant to this pro- + The following main.cf parameters are especially relevant to this pro- gram. - The text below provides only a parameter summary. See postconf(5) for + The text below provides only a parameter summary. See postconf(5) for more details including examples. config_directory (see 'postconf -d' output) - The default location of the Postfix main.cf and master.cf con- + The default location of the Postfix main.cf and master.cf con- figuration files. bounce_template_file (empty) - Pathname of a configuration file with bounce message templates. + Pathname of a configuration file with bounce message templates. FILES /etc/postfix/main.cf, Postfix configuration parameters diff --git a/html/postconf.5.html b/html/postconf.5.html index dbb8cc8..0ac9b68 100644 --- a/html/postconf.5.html +++ b/html/postconf.5.html @@ -612,8 +612,14 @@ Examples: (default: see "postconf -d" output)

      -The alias databases that are used for local(8) delivery. See -aliases(5) for syntax details. +Optional lookup tables with aliases that apply only to local(8) +recipients; this is unlike virtual_alias_maps that apply to all +recipients: local(8), virtual, and remote. +The table format and lookups are documented in aliases(5). For an +overview of Postfix address manipulations see the ADDRESS_REWRITING_README +document.

      + +

      Specify zero or more "type:name" lookup tables, separated by whitespace or comma. Tables will be searched in the specified order until a match is found. @@ -2732,19 +2738,30 @@ name of the message delivery transport.

      The default mail delivery transport and next-hop destination for -destinations that do not match $mydestination, $inet_interfaces, +the default domain class: recipient domains that do not match +$mydestination, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, $virtual_mailbox_domains, -or $relay_domains. This information can be overruled with the -sender_dependent_default_transport_maps parameter and with the -transport(5) table.

      +or $relay_domains. This information will not be used when +sender_dependent_default_transport_maps returns a result, and may +be overridden with the transport(5) table.

      -

      -In order of decreasing precedence, the nexthop destination is taken -from $sender_dependent_default_transport_maps, $default_transport, -$sender_dependent_relayhost_maps, $relayhost, or from the recipient -domain. +

      For recipient domains in the default domain class:

      + +

      +

      Specify a string of the form transport:nexthop, where transport is the name of a mail delivery transport defined in master.cf. @@ -3713,6 +3730,25 @@ This feature is available in Postfix 2.0 and later.

      +
      + +
      force_mime_input_conversion +(default: no)
      + +

      Convert body content that claims to be 8-bit into quoted-printable, +before header_checks, body_checks, Milters, and before after-queue +content filters. This feature does not affect messages that are +sent into smtpd_proxy_filter.

      + +

      The typical use case is an MTA that applies this conversion +before signing outbound messages, so that the signatures will remain +valid when a message is later delivered to an MTA that does not +announce 8BITMIME support, or when a message line exceeds the SMTP +length limit.

      + +

      This feature is available in Postfix ≥ 3.9.

      + +
      fork_attempts @@ -3797,7 +3833,7 @@ filtered with the character set that is specified with the
      The address extension delimiter that was found in the recipient address (Postfix 2.11 and later), or the 'first' delimiter specified with the system-wide recipient address extension delimiter (Postfix -3.5.22, 3.5.12, 3.7.8, 3.8.3 and later). Historically, this was +3.5.22, 3.6.12, 3.7.8, 3.8.3 and later). Historically, this was always the system-wide recipient address extension delimiter (Postfix 2.10 and earlier).
      @@ -4154,12 +4190,17 @@ Specify 0 to disable the feature. Valid delays are 0..10.
      inet_interfaces (default: all)
      -

      The local network interface addresses that this mail system receives -mail on. Specify "all" to receive mail on all network -interfaces (default), and "loopback-only" to receive mail -on loopback network interfaces only (Postfix version 2.2 and later). The -parameter also controls delivery of mail to user@[ip.address]. -

      +

      The local network interface addresses that this mail system +receives mail on. Specify "all" to receive mail on all network +interfaces (default), "loopback-only" to receive mail on loopback +network interfaces only (Postfix version 2.2 and later), or zero +or more IPv4 or IPv6 addresses (IPv6 is supported in Postfix version +2.2 and later). The parameter also controls whether Postfix will +accept mail for user@[ip.address], and prevents Postfix +from delivering mail to a host that has equal or larger MX preference. +Specify an empty value if Postfix does not receive mail over the +network, or if all network listeners have an explicit IP address +in master.cf.

      Note 1: you need to stop and start Postfix when this parameter changes. @@ -4168,22 +4209,44 @@ Note 1: you need to stop and start Postfix when this parameter changes.

      Note 2: address information may be enclosed inside [], but this form is not required here.

      -

      When inet_interfaces specifies just one IPv4 and/or IPv6 address -that is not a loopback address, the Postfix SMTP client will use -this address as the IP source address for outbound mail. Support -for IPv6 is available in Postfix version 2.2 and later.

      +

      When smtp_bind_address and/or smtp_bind_address6 are not +specified, the inet_interfaces setting may constrain the source IP +address for an outbound SMTP or LMTP connection as described below. +

      + +

      The following text is specific to SMTP and IPv4. The same +reasoning applies to the IPv6 protocol, and to the Postfix LMTP +client. To disable IPv4 or IPv6 support in the Postfix SMTP and +LMTP client, use inet_protocols.

      -

      -On a multi-homed firewall with separate Postfix instances listening on the -"inside" and "outside" interfaces, this can prevent each instance from -being able to reach remote SMTP servers on the "other side" of the -firewall. Setting -smtp_bind_address to 0.0.0.0 avoids the potential problem for -IPv4, and setting smtp_bind_address6 to :: solves the problem -for IPv6.

      +
        + +
      • When inet_interfaces specifies one IPv4 address, and that +is not a loopback address, the Postfix SMTP client uses that as the +source address for outbound IPv4 connections.

        + +
      • Otherwise, the Postfix SMTP client does not constrain the +source IPv4 address, and connects using a system-chosen source IPv4 +address. This includes the cases where inet_interfaces is empty, +where it specifies all, or where it contains no IPv4 address, +one IPv4 address that is a loopback address, or multiple IPv4 +addresses.

        + +
      + +

      A Postfix SMTP client may fail to reach some remote SMTP servers +when the client source IP address is constrained explicitly with +smtp_bind_address or smtp_bind_address6, or implicitly with +inet_interfaces. This can happen when Postfix runs on a multi-homed +system such as a firewall, the Postfix SMTP source client IP address +is constrained to one specific network interface, and the remote +SMTP server must be reached through a different interface. Setting +smtp_bind_address to 0.0.0.0 avoids the potential problem for IPv4, +and setting smtp_bind_address6 to :: solves the problem for IPv6. +

      -A better solution for multi-homed firewalls is to leave inet_interfaces +A better solution for multi-homed systems is to leave inet_interfaces at the default value and instead use explicit IP addresses in the master.cf SMTP server definitions. This preserves the Postfix SMTP client's @@ -4215,7 +4278,7 @@ Examples:

      inet_protocols -(default: see 'postconf -d output')
      +(default: see 'postconf -d' output)

      The Internet protocols Postfix will attempt to use when making or accepting connections. Specify one or more of "ipv4" @@ -4893,6 +4956,9 @@ configuration parameter. See there for details.

      The LMTP-specific version of the smtp_enforce_tls configuration parameter. See there for details.

      +

      This feature is deprecated as of Postfix 3.9. Specify +lmtp_tls_security_level instead.

      +

      This feature is available in Postfix 2.3 and later.

      @@ -5293,6 +5359,15 @@ to the remote host.

      +
      + +
      lmtp_sasl_password_result_delimiter +(default: :)
      + +

      The LMTP-specific version of the smtp_sasl_password_result_delimiter +configuration parameter. See there for details.

      + +
      lmtp_sasl_path @@ -5592,6 +5667,17 @@ parameter. See there for details.

      compiled and linked with OpenSSL 1.0.0 or later.

      + + +
      lmtp_tls_enable_rpk +(default: yes)
      + +

      The LMTP-specific version of the smtp_tls_enable_rpk +configuration parameter. See there for details.

      + +

      This feature is available in Postfix 3.9 and later.

      + +
      lmtp_tls_enforce_peername @@ -5694,7 +5780,7 @@ configuration parameter. See there for details.

      lmtp_tls_mandatory_protocols -(default: see postconf -d output)
      +(default: see 'postconf -d' output)

      The LMTP-specific version of the smtp_tls_mandatory_protocols configuration parameter. See there for details.

      @@ -5721,6 +5807,9 @@ configuration parameter. See there for details.

      The LMTP-specific version of the smtp_tls_per_site configuration parameter. See there for details.

      +

      This feature is deprecated as of Postfix 3.9. Specify +lmtp_tls_policy_maps instead.

      +

      This feature is available in Postfix 2.3 and later.

      @@ -5738,7 +5827,7 @@ configuration parameter. See there for details.

      lmtp_tls_protocols -(default: see postconf -d output)
      +(default: see 'postconf -d' output)

      The LMTP-specific version of the smtp_tls_protocols configuration parameter. See there for details.

      @@ -5853,6 +5942,9 @@ parameter. See there for details.

      The LMTP-specific version of the smtp_use_tls configuration parameter. See there for details.

      +

      This feature is deprecated as of Postfix 3.9. Specify +lmtp_tls_security_level instead.

      +

      This feature is available in Postfix 2.3 and later.

      @@ -6149,8 +6241,8 @@ until a match is found.

      If this parameter is non-empty (the default), then the Postfix SMTP -server will reject mail for unknown local users. -

      +server will reject mail for unknown local users. Other Postfix +interfaces may still accept an "unknown" recipient.

      To turn off local recipient checking in the Postfix SMTP server, @@ -6449,6 +6541,11 @@ and later.

      The domain part of the recipient address.
      +
      ENVID
      + +
      The optional RFC 3461 envelope ID. Available in Postfix version +3.9 and later
      +
      EXTENSION
      The optional address extension.
      @@ -6681,6 +6778,21 @@ first argument.

      This feature is available in Postfix 3.4 and later.

      + + +
      maillog_file_permissions +(default: 0600)
      + +

      The file access permissions that will be set when the file +$maillog_file is created for the first time, or when the file is +created after an existing file is rotated. Specify one of: 0600 +(only super-user read/write access), 0640 (adds 'group' read +access), or 0644 (also adds 'other' read access). The leading +'0' is optional.

      + +

      This feature is available in Postfix 3.9 and later.

      + +
      maillog_file_prefixes @@ -8326,9 +8438,9 @@ it passes the test, before it can talk to a real Postfix SMTP server.
      postscreen_bare_newline_ttl (default: 30d)
      -

      The amount of time that postscreen(8) will use the result from -a successful "bare newline" SMTP protocol test. During this -time, the client IP address is excluded from this test. The default +

      The amount of time that postscreen(8) remembers that a client +IP address passed a "bare newline" SMTP protocol test, before it +address is required to pass that test again. The default is long because a remote SMTP client must disconnect after it passes the test, before it can talk to a real Postfix SMTP server.

      @@ -8584,9 +8696,10 @@ defined with the postscreen_dns

      Specify a negative value to enable this feature. When a client passes the postscreen_dnsbl_allowlist_threshold without having failed other tests, all pending or disabled tests are flagged as -completed with a time-to-live value equal to postscreen_dnsbl_ttl. -When a test was already completed, its time-to-live value is updated -if it was less than postscreen_dnsbl_ttl.

      +completed with an expiration time based on the DNS reply TTL. +When a test was already completed, its expiration time is updated +if it was less than the value based on the DNS reply TTL. See +also postscreen_dnsbl_max_ttl and postscreen_dnsbl_min_ttl.

      This feature is available in Postfix 3.6 and later.

      @@ -8599,9 +8712,9 @@ if it was less than postscreen_dn
      postscreen_dnsbl_max_ttl (default: ${postscreen_dnsbl_ttl?{$postscreen_dnsbl_ttl}:{1}}h)
      -

      The maximum amount of time that postscreen(8) will use the -result from a successful DNS-based reputation test before a -client IP address is required to pass that test again. If the DNS +

      The maximum amount of time that postscreen(8) remembers that a +client IP address passed a DNS-based reputation test, before it is +required to pass that test again. If the DNS reply specifies a shorter TTL value, that value will be used unless it would be smaller than postscreen_dnsbl_min_ttl.

      @@ -8619,9 +8732,9 @@ is backwards-compatible with older Postfix versions.

      postscreen_dnsbl_min_ttl (default: 60s)
      -

      The minimum amount of time that postscreen(8) will use the -result from a successful DNS-based reputation test before a -client IP address is required to pass that test again. If the DNS +

      The minimum amount of time that postscreen(8) remembers that a +client IP address passed a DNS-based reputation test, before it +is required to pass that test again. If the DNS reply specifies a larger TTL value, that value will be used unless it would be larger than postscreen_dnsbl_max_ttl.

      @@ -8762,9 +8875,9 @@ The default time unit is s (seconds).

      postscreen_dnsbl_ttl (default: 1h)
      -

      The amount of time that postscreen(8) will use the result from -a successful DNS-based reputation test before a client -IP address is required to pass that test again.

      +

      The amount of time that postscreen(8) remembers that a client +IP address passed a DNS-based reputation test, before it is required +to pass that test again.

      Specify a non-zero time value (an integral value plus an optional one-letter suffix that specifies the time unit). Time units: s @@ -8880,9 +8993,9 @@ value to disable this feature.

      postscreen_greet_ttl (default: 1d)
      -

      The amount of time that postscreen(8) will use the result from -a successful PREGREET test. During this time, the client IP address -is excluded from this test. The default is relatively short, because +

      The amount of time that postscreen(8) remembers that a client +IP address passed a PREGREET test, before it is required to pass +that test again. The default is relatively short, because a good client can immediately talk to a real Postfix SMTP server.

      Specify a non-zero time value (an integral value plus an optional @@ -8976,9 +9089,9 @@ test, before it can talk to a real Postfix SMTP server.

      postscreen_non_smtp_command_ttl (default: 30d)
      -

      The amount of time that postscreen(8) will use the result from -a successful "non_smtp_command" SMTP protocol test. During this -time, the client IP address is excluded from this test. The default +

      The amount of time that postscreen(8) remembers that a client +IP address passed a "non_smtp_command" SMTP protocol test, before +it is required to pass that test again. The default is long because a client must disconnect after it passes the test, before it can talk to a real Postfix SMTP server.

      @@ -9044,9 +9157,9 @@ server.

      postscreen_pipelining_ttl (default: 30d)
      -

      The amount of time that postscreen(8) will use the result from -a successful "pipelining" SMTP protocol test. During this time, the -client IP address is excluded from this test. The default is +

      The amount of time that postscreen(8) remembers that a client +IP address passed a "pipelining" SMTP protocol test, before it is +required to pass that test again. The default is long because a good client must disconnect after it passes the test, before it can talk to a real Postfix SMTP server.

      @@ -10136,13 +10249,24 @@ This feature is available in Postfix 2.0 and later.

      The default mail delivery transport and next-hop destination for -remote delivery to domains listed with $relay_domains. In order of -decreasing precedence, the nexthop destination is taken from -$relay_transport, $sender_dependent_relayhost_maps, $relayhost, or -from the recipient domain. This information can be overruled with -the transport(5) table. +the relay domain address class: recipient domains that match +$relay_domains.

      + +

      For recipient domains in the relay domain address class:

      + + +

      Specify a string of the form transport:nexthop, where transport is the name of a mail delivery transport defined in master.cf. @@ -10166,13 +10290,31 @@ This feature is available in Postfix 2.0 and later. (default: empty)

      -The next-hop destination(s) for non-local mail; overrides non-local -domains in recipient addresses. This information is overruled with -relay_transport, sender_dependent_default_transport_maps, -default_transport, sender_dependent_relayhost_maps -and with the transport(5) table. +The next-hop destination(s) for non-local mail; takes precedence +over non-local domains in recipient addresses. This information +will not be used when the sender matches $sender_dependent_relayhost_maps.

      +

      In order of decreasing precedence:

      + + +

      On an intranet, specify the organizational domain name. If your internal DNS uses no MX records, specify the name of the intranet @@ -10180,11 +10322,12 @@ gateway host instead.

      -In the case of SMTP or LMTP delivery, specify one or more destinations -in the form of a domain name, hostname, hostname:port, [hostname]:port, -[hostaddress] or [hostaddress]:port, separated by comma or whitespace. -The form [hostname] turns off MX lookups. Multiple destinations are -supported in Postfix 3.5 and later. +In the case of SMTP delivery, specify one or more destinations in +the form of a domain name, hostname, hostname:service, [hostname]:service, +[hostaddress] or [hostaddress]:service, separated by comma or whitespace. +The form [hostname] turns off MX or SRV lookups. Multiple destinations +are supported in Postfix 3.5 and later. Each destination is tried +in the specified order.

      @@ -10589,18 +10732,38 @@ address and @domain. A lookup result of DUNNO terminates the search without overriding the global default_transport parameter setting. This information is overruled with the transport(5) table.

      -

      -Specify zero or more "type:name" lookup tables, separated by -whitespace or comma. Tables will be searched in the specified order -until a match is found. +

      This setting affects only the default domain address class +(recipient domains that do not match $mydestination, $inet_interfaces, +$proxy_interfaces, $virtual_alias_domains, $virtual_mailbox_domains, +or $relay_domains):

      + + +

      Note: this overrides default_transport, not transport_maps, and therefore the expected syntax is that of default_transport, not the syntax of transport_maps. Specifically, this does not support the transport_maps syntax for null transport, null nexthop, or null email addresses.

      +

      +Specify zero or more "type:name" lookup tables, separated by +whitespace or comma. Tables will be searched in the specified order +until a match is found. +

      +

      For safety reasons, this feature does not allow $number substitutions in regular expression maps.

      @@ -10616,9 +10779,27 @@ substitutions in regular expression maps.

      setting. The tables are searched by the envelope sender address and @domain. A lookup result of DUNNO terminates the search without overriding the global relayhost parameter setting (Postfix 2.6 and -later). This information is overruled with relay_transport, -sender_dependent_default_transport_maps, default_transport and with -the transport(5) table.

      +later).

      + +

      In order of decreasing precedence:

      + +

      Specify zero or more "type:name" lookup tables, separated by @@ -10820,13 +11001,38 @@ IPv6 connectivity:

      • The setting "smtp_address_preference = ipv6" is unsafe. -It can fail to deliver mail when there is an outage that affects -IPv6, while the destination is still reachable over IPv4.

        +All deliveries will suffer delays during an IPv6 outage, even +while the destination is still reachable over IPv4. Mail may be +stuck in the queue with Postfix versions < 3.3 that do not +implement "smtp_balance_inet_protocols". For similar reasons, the +setting "smtp_address_preference = ipv4" is also unsafe.

      • The setting "smtp_address_preference = any" is safe. With -this, mail will eventually be delivered even if there is an outage +this, and "smtp_balance_inet_protocols = yes" (the default), only +half of deliveries will suffer delays if there is an outage that affects IPv6 or IPv4, as long as it does not affect both.

        +
      • The setting "smtp_address_preference = ipv4" is not a +solution for remote servers that flag email received over IPv6 as +more 'spammy' (the client IPv6 address has a bad or missing PTR or +AAAA record, bad network neighbors, etc.). Instead, configure Postfix +to receive mail over both IPv4 and IPv6, and to deliver mail over +only IPv4.

        + +
        +
        +/etc/postfix/main.cf:
        +    inet_protocols = all
        +
        +
        + +
        +
        +/etc/postfix/master.cf
        +    smtp ...other fields... smtp -o inet_protocols=ipv4
        +
        +
        +

      This feature is available in Postfix 2.8 and later.

      @@ -12295,6 +12501,9 @@ If no username:password entry is found, then the Postfix SMTP client will not attempt to authenticate to the remote host.

      +

      Use smtp_sasl_password_result_delimiter to specify an +alternative separator between username and password.

      +

      The Postfix SMTP client opens the lookup table before going to chroot jail, so you can leave the password file in /etc/postfix. @@ -12307,6 +12516,18 @@ until a match is found.

      +
      + +
      smtp_sasl_password_result_delimiter +(default: :)
      + +

      The delimiter between username and password in sasl_passwd_maps lookup +results. Specify one non-whitespace character that does not appear in +the username.

      + +

      This feature is available in Postfix ≥ 3.9.

      + +
      smtp_sasl_path @@ -13033,6 +13254,86 @@ to anyone else.

      compiled and linked with OpenSSL 1.0.0 or later.

      + + +
      smtp_tls_enable_rpk +(default: no)
      + +

      Request that remote SMTP servers send an RFC7250 raw public key +instead of an X.509 certificate. This feature and the enable_rpk +policy attribute are ignored when there is no raw public key support +in the local TLS implementation.

      + +
        + +
      • At the "may", "encrypt" and "fingerprint" security levels, +with parameter setting "smtp_tls_enable_rpk = yes" or with "enable_rpk += yes" in a policy entry, the Postfix SMTP client will indicate in +the TLS handshake that it prefers to receive a raw server public +key, but it will still accept a server public key certificate.

        + +
      • At the "fingerprint" security level, with parameter setting +"smtp_tls_enable_rpk = yes" or with "enable_rpk = yes" in a policy +entry, server authentication based on certificate fingerprints +becomes more fragile. Even if the server private key and certificate +remain unchanged, the remote SMTP server will fail fingerprint +authentication (won't match the configured list of fingerprints) +when it starts sending a raw public key instead of a certificate, +after its TLS implementation is updated with raw public key support. +Therefore, DO NOT enable raw public keys to remote destinations +authenticated by server certificate fingerprints. You should +enable raw public keys only for servers matched via their public +key fingerprint.

        + +
      • At the "verify" and "secure" security levels, the Postfix +SMTP client always ignores the parameter setting smtp_tls_enable_rpk +or the enable_rpk policy attribute.

        + +
      • At the opportunistic "dane" security level, the Postfix +SMTP client ignores the parameter setting smtp_tls_enable_rpk or +the enable_rpk policy attribute (but it will respect them when it +falls back to the "may" or "encrypt" level). When all valid TLSA +records specify only server public keys (no certificates) and the +local TLS implementation supports raw public keys, the client will +indicate in the TLS handshake that it prefers to receive a raw +public key, but it will still accept a public key certificate.

        + +
      • At the mandatory "dane-only" security level, the Postfix +SMTP client always ignores the parameter setting smtp_tls_enable_rpk +or the enable_rpk policy attribute. When all valid TLSA records +specify only server public keys (no certificates) and the local TLS +implementation supports raw public keys, the client will indicate +in the TLS handshake that it prefers to receive a raw public key, +but it will still accept a public key certificate.

        + +
      + +

      The Postfix SMTP client is always willing to send raw public keys +to servers that solicit them when a client certificate is configured +and the local TLS implementation supports raw public keys.

      + +

      Sample commands to compute certificate and public key SHA256 digests:

      + +
      +# SHA256 digest of the first certificate in "cert.pem"
      +$ openssl x509 -in cert.pem -outform DER | openssl dgst -sha256 -c
      +
      + +
      +# SHA256 digest of the SPKI of the first certificate in "cert.pem"
      +$ openssl x509 -in cert.pem -pubkey -noout |
      +    openssl pkey -pubin -outform DER | openssl dgst -sha256 -c
      +
      + +
      +# SHA256 digest of the SPKI of the first private key in "pkey.pem"
      +$ openssl pkey -in pkey.pem -pubout -outform DER |
      +    openssl dgst -sha256 -c
      +
      + +

      This feature is available in Postfix 3.9 and later.

      + +
      smtp_tls_enforce_peername @@ -13296,7 +13597,9 @@ verification errors if server certificate verification is not required. With Postfix 2.8 and earlier, log the summary message and unconditionally log trust-chain verification errors. -
      2 Also log levels during TLS negotiation.
      +
      2 Also enable verbose logging in the Postfix TLS +library, log session cache operations, and enable OpenSSL logging +of the progress of the SSL handshake.
      3 Also log the hexadecimal and ASCII dump of the TLS negotiation process.
      @@ -13546,11 +13849,13 @@ lookup key, and overrides the global smtp and smtp_tls_enforce_peername settings.
      MAY
      Try to use TLS if the server announces support, -otherwise use an unencrypted connection. This has less precedence +otherwise use an unencrypted connection; after a failed TLS handshake +or TLS session, fall back to plaintext if the message has spent +minimal_backoff_time in the mail queue. This level has less precedence than a more specific result (including NONE) from the alternate host or next-hop lookup key, and has less precedence than the more specific global "smtp_enforce_tls = yes" or "smtp_tls_enforce_peername -= yes".
      += yes".
      MUST_NOPEERMATCH
      Require TLS encryption, but do not require that the remote SMTP server hostname matches the information @@ -13643,28 +13948,35 @@ security are:

      Opportunistic TLS. Since sending in the clear is acceptable, demanding stronger than default TLS security merely reduces interoperability. The optional "ciphers", "exclude", and "protocols" -attributes (available for opportunistic TLS with Postfix ≥ 2.6) -and "connection_reuse" attribute (Postfix ≥ 3.4) override the +attributes (available for opportunistic TLS with Postfix ≥ 2.6) and +"connection_reuse" attribute (Postfix ≥ 3.4) override the "smtp_tls_ciphers", "smtp_tls_exclude_ciphers", "smtp_tls_protocols", -and -"smtp_tls_connection_reuse" configuration parameters. In the policy table, -multiple ciphers, protocols or excluded ciphers must be separated by colons, -as attribute values may not contain whitespace or commas. When opportunistic -TLS handshakes fail, Postfix retries the connection with TLS disabled. -This allows mail delivery to sites with non-interoperable TLS -implementations.
      +and "smtp_tls_connection_reuse" configuration parameters. In the policy +table, multiple ciphers, protocols or excluded ciphers must be separated +by colons, as attribute values may not contain whitespace or commas. At +this level and higher, the optional "servername" attribute (available +with Postfix ≥ 3.4) overrides the global "smtp_tls_servername" +parameter, enabling per-destination configuration of the SNI extension +sent to the remote SMTP server. The optional "enable_rpk" attribute +(Postfix ≥ 3.9) overrides the main.cf smtp_tls_enable_rpk parameter. +When opportunistic TLS handshakes fail, Postfix retries the connection +with TLS disabled. This allows mail delivery to sites with +non-interoperable TLS implementations.
      encrypt
      -
      Mandatory TLS encryption. At this level -and higher, the optional "protocols" attribute overrides the main.cf +
      Mandatory TLS encryption. Mail is delivered only if the remote SMTP +server offers STARTTLS and the TLS handshake succeeds. At this level and +higher, the optional "protocols" attribute overrides the main.cf smtp_tls_mandatory_protocols parameter, the optional "ciphers" attribute -overrides the main.cf smtp_tls_mandatory_ciphers parameter, the -optional "exclude" attribute (Postfix ≥ 2.6) overrides the main.cf +overrides the main.cf smtp_tls_mandatory_ciphers parameter, the optional +"exclude" attribute (Postfix ≥ 2.6) overrides the main.cf smtp_tls_mandatory_exclude_ciphers parameter, and the optional -"connection_reuse" attribute (Postfix ≥ 3.4) overrides the -main.cf smtp_tls_connection_reuse parameter. In the policy table, -multiple ciphers, protocols or excluded ciphers must be separated by colons, -as attribute values may not contain whitespace or commas.
      +"connection_reuse" attribute (Postfix ≥ 3.4) overrides the main.cf +smtp_tls_connection_reuse parameter. In the policy table, multiple +ciphers, protocols or excluded ciphers must be separated by colons, as +attribute values may not contain whitespace or commas. The optional +"enable_rpk" attribute (Postfix ≥ 3.9) overrides the main.cf +smtp_tls_enable_rpk parameter.
      dane
      Opportunistic DANE TLS. The TLS policy for the destination is @@ -13709,10 +14021,10 @@ configuration parameters. The optional "connection_reuse" attribute verification. Available with Postfix 2.5 and later. At this security level, there are no trusted Certification Authorities. The certificate trust chain, expiration date, ... are not checked. Instead, -the optional "match" attribute, or else the main.cf +the optional policy table "match" attribute, or else the main.cf smtp_tls_fingerprint_cert_match parameter, lists the certificate -fingerprints or the public key fingerprint (Postfix 2.9 and later) -of the valid server certificate. The digest +fingerprints or the public key fingerprints (Postfix 2.9 and later) +of acceptable server certificates. The digest algorithm used to calculate the fingerprint is selected by the smtp_tls_fingerprint_digest parameter. Multiple fingerprints can be combined with a "|" delimiter in a single match attribute, or multiple @@ -13723,45 +14035,58 @@ digits. The optional "ciphers", "exclude", and "protocols" attributes "smtp_tls_mandatory_exclude_ciphers", and "smtp_tls_mandatory_protocols" configuration parameters. The optional "connection_reuse" attribute (Postfix ≥ 3.4) overrides the main.cf smtp_tls_connection_reuse -parameter.
      +parameter. The optional "enable_rpk" attribute (Postfix ≥ 3.9) +overrides the main.cf smtp_tls_enable_rpk parameter.
      verify
      -
      Mandatory TLS verification. At this security -level, DNS MX lookups are trusted to be secure enough, and the name -verified in the server certificate is usually obtained indirectly via -unauthenticated DNS MX lookups. The optional "match" attribute overrides -the main.cf smtp_tls_verify_cert_match parameter. In the policy table, -multiple match patterns and strategies must be separated by colons. -In practice explicit control over matching is more common with the -"secure" policy, described below. The optional "ciphers", "exclude", -and "protocols" attributes (Postfix ≥ 2.6) override the -"smtp_tls_mandatory_ciphers", "smtp_tls_mandatory_exclude_ciphers", and -"smtp_tls_mandatory_protocols" configuration parameters. The optional -"connection_reuse" attribute (Postfix ≥ 3.4) overrides the main.cf -smtp_tls_connection_reuse parameter.
      +
      Mandatory TLS verification. Mail is delivered only if the TLS +handshake succeeds, the remote SMTP server certificate chain can be +validated, and a DNS name in the certificate matches the specified match +criteria. At this security level, DNS MX lookups are presumed to be +secure enough, and the name verified in the server certificate is +potentially obtained via unauthenticated DNS MX lookups. The optional +"match" attribute overrides the main.cf smtp_tls_verify_cert_match +parameter. In the policy table, multiple match patterns and strategies +must be separated by colons. In practice explicit control over matching +is more common with the "secure" policy, described below. The optional +"ciphers", "exclude", and "protocols" attributes (Postfix ≥ 2.6) +override the "smtp_tls_mandatory_ciphers", +"smtp_tls_mandatory_exclude_ciphers", and "smtp_tls_mandatory_protocols" +configuration parameters. With Postfix ≥ 2.11 the optional "tafile" +policy table attribute modifies trust chain verification in the same +manner as the "smtp_tls_trust_anchor_file" parameter. The "tafile" +attribute may be specified multiple times to load multiple trust-anchor +files. The optional "connection_reuse" attribute (Postfix ≥ 3.4) +overrides the main.cf smtp_tls_connection_reuse parameter.
      secure
      -
      Secure-channel TLS. At this security level, DNS -MX lookups, though potentially used to determine the candidate next-hop -gateway IP addresses, are not trusted to be secure enough for TLS -peername verification. Instead, the default name verified in the server -certificate is obtained directly from the next-hop, or is explicitly -specified via the optional "match" attribute which overrides the -main.cf smtp_tls_secure_cert_match parameter. In the policy table, -multiple match patterns and strategies must be separated by colons. -The match attribute is most useful when multiple domains are supported by -a common server: the policy entries for additional domains specify matching -rules for the primary domain certificate. While transport table overrides -that route the secondary domains to the primary nexthop also allow secure -verification, they risk delivery to the wrong destination when domains -change hands or are re-assigned to new gateways. With the "match" -attribute approach, routing is not perturbed, and mail is deferred if -verification of a new MX host fails. The optional "ciphers", "exclude", -and "protocols" attributes (Postfix ≥ 2.6) override the -"smtp_tls_mandatory_ciphers", "smtp_tls_mandatory_exclude_ciphers", and -"smtp_tls_mandatory_protocols" configuration parameters. The optional -"connection_reuse" attribute (Postfix ≥ 3.4) overrides the main.cf -smtp_tls_connection_reuse parameter.
      +
      Secure certificate verification. Mail is delivered only if the TLS +handshake succeeds, the remote SMTP server certificate chain can be +validated, and a DNS name in the certificate matches the specified match +criteria. At this security level, DNS MX lookups, though potentially +used to determine the candidate next-hop gateway IP addresses, are +not presumed to be secure enough for TLS peername verification. +Instead, the default name verified in the server certificate is obtained +directly from the next-hop, or is explicitly specified via the optional +"match" attribute which overrides the main.cf smtp_tls_secure_cert_match +parameter. In the policy table, multiple match patterns and strategies +must be separated by colons. The match attribute is most useful when +multiple domains are supported by a common server: the policy entries +for additional domains specify matching rules for the primary domain +certificate. While transport table overrides that route the secondary +domains to the primary nexthop also allow secure verification, they risk +delivery to the wrong destination when domains change hands or are +re-assigned to new gateways. With the "match" attribute approach, +routing is not perturbed, and mail is deferred if verification of a new +MX host fails. The optional "ciphers", "exclude", and "protocols" +attributes (Postfix ≥ 2.6) override the "smtp_tls_mandatory_ciphers", +"smtp_tls_mandatory_exclude_ciphers", and "smtp_tls_mandatory_protocols" +configuration parameters. With Postfix ≥ 2.11 the "tafile" attribute +optionally modifies trust chain verification in the same manner as the +"smtp_tls_trust_anchor_file" parameter. The "tafile" attribute may be +specified multiple times to load multiple trust-anchor files. The +optional "connection_reuse" attribute (Postfix ≥ 3.4) overrides the +main.cf smtp_tls_connection_reuse parameter.
      @@ -13807,7 +14132,7 @@ configurations in environments where DNS security is not assured.

      smtp_tls_protocols -(default: see postconf -d output)
      +(default: see 'postconf -d' output)

      TLS protocols that the Postfix SMTP client will use with opportunistic TLS encryption. In main.cf the values are separated by @@ -13975,7 +14300,9 @@ destinations via smtp_tls_policy_

      may
      Opportunistic TLS. Use TLS if this is supported by the remote -SMTP server, otherwise use plaintext. Since +SMTP server, otherwise use plaintext; after a failed TLS handshake +or TLS session, fall back to plaintext if the message has spent +minimal_backoff_time in the mail queue. Since sending in the clear is acceptable, demanding stronger than default TLS security merely reduces interoperability. The "smtp_tls_ciphers" and "smtp_tls_protocols" (Postfix ≥ 2.6) @@ -14896,9 +15223,8 @@ pubkey_fingerprint } }
      check_client_access type:table
      -
      Search the specified access database for the client hostname, -parent domains, client IP address, or networks obtained by stripping -least significant octets. See the access(5) manual page for details.
      +
      Search the specified access database for the client hostname +or IP address. See the access(5) manual page for details.
      check_client_a_access type:table
      @@ -14929,8 +15255,7 @@ available in Postfix 2.7 and later.
      check_reverse_client_hostname_access type:table
      Search the specified access database for the unverified reverse -client hostname, parent domains, client IP address, or networks -obtained by stripping least significant octets. See the access(5) +client hostname or IP address. See the access(5) manual page for details. Note: a result of "OK" is not allowed for safety reasons. Instead, use DUNNO in order to exclude specific hosts from denylists. This feature is available in Postfix 2.6 @@ -15527,6 +15852,9 @@ server. This option is therefore off by default.

      STARTTLS due to insufficient privileges to access the server private key. This is intended behavior.

      +

      This feature is deprecated as of Postfix 3.9. Specify +smtpd_tls_security_level instead.

      +

      This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtpd_tls_security_level instead.

      @@ -15588,8 +15916,8 @@ received with the ETRN command.
      check_etrn_access type:table
      -
      Search the specified access database for the ETRN domain name -or its parent domains. See the access(5) manual page for details. +
      Search the specified access database for the ETRN domain name. +See the access(5) manual page for details.
      @@ -15641,7 +15969,7 @@ This feature is available in Postfix 2.0 and later.
      smtpd_forbid_bare_newline -(default: Postfix < 3.9: no)
      +(default: Postfix ≥ 3.9: normalize)

      Reject or restrict input lines from an SMTP client that end in <LF> instead of the standard <CR><LF>. Such line @@ -15654,7 +15982,8 @@ SMTP smuggling.

      -
      normalize
      Require the standard +
      normalize (default for Postfix ≥ 3.9)
      +
      Require the standard End-of-DATA sequence <CR><LF>.<CR><LF>. Otherwise, allow command or message content lines ending in the non-standard <LF>, and process them as if the client sent the @@ -15666,6 +15995,13 @@ with the standard End-of-DATA sequence <CR><LF>.<CR><LF>.

      Such clients can be excluded with smtpd_forbid_bare_newline_exclusions.
      +
      note
      Same as "normalize", but also notes in +the log whether the Postfix SMTP server received any lines with +"bare <LF>". The information is formatted as "disconnect +from name[address] ... notes=bare_lf". The notes value is +expected to become a list of comma-separated names.

      This +feature is available in Postfix 3.9 and later.
      +
      yes
      Compatibility alias for normalize.
      reject
      Require the standard End-of-DATA @@ -15684,8 +16020,8 @@ of BDAT violations, BDAT can be selectively disabled with smtpd_discard_ehlo_keyword_address_maps, or globally disabled with smtpd_discard_ehlo_keywords).
      -
      no (default)
      Do not require the standard -End-of-DATA +
      no (default for Postfix < 3.9)
      +
      Do not require the standard End-of-DATA sequence <CR><LF>.<CR><LF>. Always process a bare <LF> as if the client sent <CR><LF>. This option is fully backwards compatible, but is not recommended for @@ -15793,9 +16129,9 @@ Specify a 5XX status code (521 to disconnect).

      Disconnect remote SMTP clients that violate RFC 2920 (or 5321) command pipelining constraints. The server replies with "554 5.5.0 Error: SMTP protocol synchronization" and logs the unexpected remote -SMTP client input. Specify "smtpd_forbid_unauth_pipelining = yes" -to enable. This feature is enabled by default with Postfix ≥ -3.9.

      +SMTP client input. This feature is enabled by default with Postfix +≥ 3.9. Specify "smtpd_forbid_unauth_pipelining = no" to disable. +

      This feature is available in Postfix ≥ 3.9, 3.8.1, 3.7.6, 3.6.10, and 3.5.20.

      @@ -15899,7 +16235,7 @@ received with the HELO or EHLO command.
      check_helo_access type:table
      Search the specified access(5) database for the HELO or EHLO -hostname or parent domains, and execute the corresponding action. +hostname, and execute the corresponding action. Note: specify "smtpd_helo_required = yes" to fully enforce this restriction (without "smtpd_helo_required = yes", a client can simply skip check_helo_access by not sending HELO or EHLO).
      @@ -16563,8 +16899,7 @@ that is received with the RCPT TO command.
      check_recipient_access type:table
      Search the specified access(5) database for the resolved RCPT -TO address, domain, parent domains, or localpart@, and execute the -corresponding action.
      +TO address, and execute the corresponding action.
      check_recipient_a_access type:table
      @@ -16993,7 +17328,7 @@ The same restrictions are available as documented under smtpd_recipient_restrictions.

      -

      This feature is available in Postix 2.10 and later.

      +

      This feature is available in Postfix 2.10 and later.

      @@ -17411,8 +17746,7 @@ received with the MAIL FROM command.
      check_sender_access type:table
      Search the specified access(5) database for the MAIL FROM -address, domain, parent domains, or localpart@, and execute the -corresponding action.
      +address, and execute the corresponding action.
      check_sender_a_access type:table
      @@ -18314,6 +18648,53 @@ compiled and linked with OpenSSL 1.0.0 or later on platforms where EC algorithms have not been disabled by the vendor.

      + + +
      smtpd_tls_enable_rpk +(default: no)
      + +

      Request that remote SMTP clients send an RFC7250 raw public key +instead of an X.509 certificate, when asking for or requiring client +authentication. This feature is ignored when there is no raw public +key support in the local TLS implementation.

      + +

      The Postfix SMTP server will log a warning when "smtpd_tls_enable_rpk += yes", but the remote SMTP client sends a certificate, the +certificate's public key fingerprint does not match a check_ccert_access +table, while the certificate fingerprint does match a check_ccert_access +table. The remote SMTP client would lose access when it starts +sending a raw public key instead of a certificate, after its TLS +implementation is updated with raw public key support.

      + +

      The Postfix SMTP server always sends a raw public key instead +of a certificate, if solicited by the remote SMTP client and the +local TLS implementation supports raw public keys. If the client +sends a server name indication with an SNI TLS extension, and +tls_server_sni_maps is configured, the server will extract a raw +public key from the indicated certificate.

      + +

      Sample commands to compute certificate and public key SHA256 digests:

      + +
      +# SHA256 digest of the first certificate in "cert.pem"
      +$ openssl x509 -in cert.pem -outform DER | openssl dgst -sha256 -c
      +
      + +
      +# SHA256 digest of the SPKI of the first certificate in "cert.pem"
      +$ openssl x509 -in cert.pem -pubkey -noout |
      +    openssl pkey -pubin -outform DER | openssl dgst -sha256 -c
      +
      + +
      +# SHA256 digest of the SPKI of the first private key in "pkey.pem"
      +$ openssl pkey -in pkey.pem -pubout -outform DER |
      +    openssl dgst -sha256 -c
      +
      + +

      This feature is available in Postfix 3.9 and later.

      + +
      smtpd_tls_exclude_ciphers @@ -18472,7 +18853,9 @@ if client certificate verification is not required. With Postfix 2.8 and earlier, log the summary message, peer certificate summary information and unconditionally log trust-chain verification errors. -
      2 Also log levels during TLS negotiation.
      +
      2 Also enable verbose logging in the Postfix TLS +library, log session cache operations, and enable OpenSSL logging +of the progress of the SSL handshake.
      3 Also log hexadecimal and ASCII dump of TLS negotiation process.
      @@ -18655,7 +19038,7 @@ releases ≥ 3.0.14, 3.1.10, 3.2.7 and 3.3.2).

      smtpd_tls_protocols -(default: see postconf -d output)
      +(default: see 'postconf -d' output)

      TLS protocols accepted by the Postfix SMTP server with opportunistic TLS encryption. If the list is empty, the server supports all available @@ -18931,6 +19314,9 @@ but do not require that clients use TLS encryption.

      STARTTLS due to insufficient privileges to access the server private key. This is intended behavior.

      +

      This feature is deprecated as of Postfix 3.9. Specify +smtpd_tls_security_level instead.

      +

      This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtpd_tls_security_level instead.

      @@ -19438,8 +19824,7 @@ via the tls_config_file parameter. selected name is not present in the configuration file, the default application name ("openssl_conf") is used as a fallback.

      -

      This feature is available in Postfix ≥ 3.9, 3.8.1, 3.7.6, -3.6.10, and 3.5.20.

      +

      This feature is available in Postfix ≥ 3.9.

      @@ -20356,6 +20741,9 @@ to configure tlsproxy client keys and certificates is via the See smtp_enforce_tls for further details. Use tlsproxy_client_security_level instead.

      +

      This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_client_security_level instead.

      +

      This feature is available in Postfix 3.4 and later.

      @@ -20427,6 +20815,9 @@ value.

      usage policy by next-hop destination and by remote TLS server hostname. See smtp_tls_per_site for further details.

      +

      This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_client_policy_maps instead.

      +

      This feature is available in Postfix 3.4 and later.

      @@ -20488,6 +20879,9 @@ was previously called tlsproxy_c support. See smtp_use_tls for further details. Use tlsproxy_client_security_level instead.

      +

      This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_client_security_level instead.

      +

      This feature is available in Postfix 3.4 and later.

      @@ -20500,6 +20894,9 @@ support. See smtp_use_tls for further require that clients use TLS encryption. See smtpd_enforce_tls for further details. Use tlsproxy_tls_security_level instead.

      +

      This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_tls_security_level instead.

      +

      This feature is available in Postfix 2.8 and later.

      @@ -20632,6 +21029,8 @@ private DSA key. DSA is obsolete and should not be used. See should use with non-export EDH ciphers. See smtpd_tls_dh1024_param_file for further details.

      +

      This feature is deprecated as of Postfix 3.9. Do not specify.

      +

      This feature is available in Postfix 2.8 and later.

      @@ -20704,9 +21103,23 @@ the "tlsproxy_tls_chain_files elliptic-curve Diffie-Hellman (EECDH) key exchange. See smtpd_tls_eecdh_grade for further details.

      +

      This feature is deprecated as of Postfix 3.9. Do not specify.

      +

      This feature is available in Postfix 2.8 and later.

      + + +
      tlsproxy_tls_enable_rpk +(default: $smtpd_tls_enable_rpk)
      + +

      Request that remote SMTP clients send an RFC7250 raw public key +instead of an X.509 certificate, when asking or requiring client +authentication. See $smtpd_tls_enable_rpk for details.

      + +

      This feature is available in Postfix 3.9 and later.

      + +
      tlsproxy_tls_exclude_ciphers @@ -20856,6 +21269,9 @@ shared by all three services, namely smtpd_use_tls for further details. Use tlsproxy_tls_security_level instead.

      +

      This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_tls_security_level instead.

      +

      This feature is available in Postfix 2.8 and later.

      @@ -21100,7 +21516,14 @@ built-in suffix (in this case: "_initial_destination_concurrency").

      Optional lookup tables with mappings from recipient address to (message delivery transport, next-hop destination). See transport(5) -for details. +for syntax details. +

      + +

      This information may override the message delivery transport +and/or next-hop destination that are specified with $local_transport, +$virtual_transport, $relay_transport, $default_transport, +$sender_dependent_relayhost_maps, $relayhost, +$sender_dependent_default_transport_maps, or the recipient domain.

      @@ -21735,7 +22158,7 @@ This feature is available in Postfix 1.1 and later.

      The maximal length of an email address after virtual alias expansion. -This stops virtual aliasing loops that increase the address length +This stops virtual aliasing loops that increase the address length exponentially.

      @@ -21814,8 +22237,10 @@ This feature is available in Postfix 2.1 and later. (default: $virtual_maps)

      -Optional lookup tables that alias specific mail addresses or domains -to other local or remote addresses. The table format and lookups +Optional lookup tables with aliases that apply to all recipients: +local(8), virtual, and remote; this is unlike alias_maps that apply +only to local(8) recipients. +The table format and lookups are documented in virtual(5). For an overview of Postfix address manipulations see the ADDRESS_REWRITING_README document.

      diff --git a/html/postdrop.1.html b/html/postdrop.1.html index 72a4abf..bc4293a 100644 --- a/html/postdrop.1.html +++ b/html/postdrop.1.html @@ -70,7 +70,7 @@ POSTDROP(1) POSTDROP(1) figuration files. import_environment (see 'postconf -d' output) - The list of environment parameters that a privileged Postfix + The list of environment variables that a privileged Postfix process will import from a non-Postfix parent process, or name=value environment overrides. diff --git a/html/postfix-manuals.html b/html/postfix-manuals.html index 7ddfa73..84774a5 100644 --- a/html/postfix-manuals.html +++ b/html/postfix-manuals.html @@ -135,7 +135,7 @@ the following convention:

    • access(5), Postfix SMTP access control table -
    • aliases(5), Postfix alias database +
    • aliases(5), Postfix local aliasing
    • canonical(5), Postfix input address rewriting @@ -147,7 +147,7 @@ the following convention:

    • transport(5), Postfix routing table -
    • virtual(5), Postfix virtual aliasing +
    • virtual(5), Postfix virtual aliasing @@ -164,6 +164,8 @@ the following convention:

    • memcache_table(5), Postfix memcache client +
    • mongodb_table(5), Postfix MongoDB client +
    • mysql_table(5), Postfix MYSQL client
    • nisplus_table(5), Postfix NIS+ client diff --git a/html/postfix.1.html b/html/postfix.1.html index 4654071..a6ede78 100644 --- a/html/postfix.1.html +++ b/html/postfix.1.html @@ -346,19 +346,20 @@ POSTFIX(1) POSTFIX(1) Table-driven mechanisms: access(5), Postfix SMTP access control table - aliases(5), Postfix alias database + aliases(5), Postfix local aliasing canonical(5), Postfix input address rewriting generic(5), Postfix output address rewriting header_checks(5), body_checks(5), Postfix content inspection relocated(5), Users that have moved transport(5), Postfix routing table - virtual(5), Postfix virtual aliasing + virtual(5), Postfix virtual aliasing Table lookup mechanisms: cidr_table(5), Associate CIDR pattern with value ldap_table(5), Postfix LDAP client lmdb_table(5), Postfix LMDB database driver memcache_table(5), Postfix memcache client + mongodb_table(5), Postfix MongoDB client mysql_table(5), Postfix MYSQL client nisplus_table(5), Postfix NIS+ client pcre_table(5), Associate PCRE pattern with value diff --git a/html/postkick.1.html b/html/postkick.1.html index 3156fc4..9ca7c59 100644 --- a/html/postkick.1.html +++ b/html/postkick.1.html @@ -63,7 +63,7 @@ POSTKICK(1) POSTKICK(1) the Postfix daemon process input buffer before giving up. import_environment (see 'postconf -d' output) - The list of environment parameters that a privileged Postfix + The list of environment variables that a privileged Postfix process will import from a non-Postfix parent process, or name=value environment overrides. diff --git a/html/postlock.1.html b/html/postlock.1.html index 0ca0b57..9750f9b 100644 --- a/html/postlock.1.html +++ b/html/postlock.1.html @@ -93,7 +93,7 @@ POSTLOCK(1) POSTLOCK(1) figuration files. import_environment (see 'postconf -d' output) - The list of environment parameters that a privileged Postfix + The list of environment variables that a privileged Postfix process will import from a non-Postfix parent process, or name=value environment overrides. diff --git a/html/postlog.1.html b/html/postlog.1.html index 587edbc..617b78b 100644 --- a/html/postlog.1.html +++ b/html/postlog.1.html @@ -90,6 +90,13 @@ POSTLOG(1) POSTLOG(1) postlog_service_name (postlog) The name of the postlogd(8) service entry in master.cf. + Available in Postfix 3.9 and later: + + maillog_file_permissions (0600) + The file access permissions that will be set when the file + $maillog_file is created for the first time, or when the file is + created after an existing file is rotated. + SEE ALSO postconf(5), configuration parameters postlogd(8), Postfix logging diff --git a/html/postlogd.8.html b/html/postlogd.8.html index 58cdf01..e0a72af 100644 --- a/html/postlogd.8.html +++ b/html/postlogd.8.html @@ -36,9 +36,9 @@ POSTLOGD(8) POSTLOGD(8) postqueue(1) and (Postfix >= 3.7) postlog(1). CONFIGURATION PARAMETERS - Changes to main.cf are picked up automatically, as postlogd(8) pro- - cesses run for only a limited amount of time. Use the command "postfix - reload" to speed up a change. + Changes to main.cf are not picked up automatically, because postlogd(8) + terminates only after reaching the max_idle time limit. Use the com- + mand "postfix reload" to speed up a change. The text below provides only a parameter summary. See postconf(5) for more details including examples. @@ -68,6 +68,13 @@ POSTLOGD(8) POSTLOGD(8) How much time a postlogd(8) process may take to process a request before it is terminated by a built-in watchdog timer. + Available in Postfix 3.9 and later: + + maillog_file_permissions (0600) + The file access permissions that will be set when the file + $maillog_file is created for the first time, or when the file is + created after an existing file is rotated. + SEE ALSO postconf(5), configuration parameters syslogd(8), system logging diff --git a/html/postscreen.8.html b/html/postscreen.8.html index 3511a9c..9ab10b7 100644 --- a/html/postscreen.8.html +++ b/html/postscreen.8.html @@ -315,31 +315,35 @@ POSTSCREEN(8) POSTSCREEN(8) porary allowlist entry before it is removed. postscreen_bare_newline_ttl (30d) - The amount of time that postscreen(8) will use the result from a - successful "bare newline" SMTP protocol test. + The amount of time that postscreen(8) remembers that a client IP + address passed a "bare newline" SMTP protocol test, before it + address is required to pass that test again. postscreen_dnsbl_max_ttl (${postscreen_dnsbl_ttl?{$postscreen_dnsbl_ttl}:{1}}h) - The maximum amount of time that postscreen(8) will use the - result from a successful DNS-based reputation test before a - client IP address is required to pass that test again. + The maximum amount of time that postscreen(8) remembers that a + client IP address passed a DNS-based reputation test, before it + is required to pass that test again. postscreen_dnsbl_min_ttl (60s) - The minimum amount of time that postscreen(8) will use the - result from a successful DNS-based reputation test before a - client IP address is required to pass that test again. + The minimum amount of time that postscreen(8) remembers that a + client IP address passed a DNS-based reputation test, before it + is required to pass that test again. postscreen_greet_ttl (1d) - The amount of time that postscreen(8) will use the result from a - successful PREGREET test. + The amount of time that postscreen(8) remembers that a client IP + address passed a PREGREET test, before it is required to pass + that test again. postscreen_non_smtp_command_ttl (30d) - The amount of time that postscreen(8) will use the result from a - successful "non_smtp_command" SMTP protocol test. + The amount of time that postscreen(8) remembers that a client IP + address passed a "non_smtp_command" SMTP protocol test, before + it is required to pass that test again. postscreen_pipelining_ttl (30d) - The amount of time that postscreen(8) will use the result from a - successful "pipelining" SMTP protocol test. + The amount of time that postscreen(8) remembers that a client IP + address passed a "pipelining" SMTP protocol test, before it is + required to pass that test again. RESOURCE CONTROLS line_length_limit (2048) diff --git a/html/postsuper.1.html b/html/postsuper.1.html index 30a524a..cf0681a 100644 --- a/html/postsuper.1.html +++ b/html/postsuper.1.html @@ -275,7 +275,7 @@ POSTSUPER(1) POSTSUPER(1) subdirectory levels. import_environment (see 'postconf -d' output) - The list of environment parameters that a privileged Postfix + The list of environment variables that a privileged Postfix process will import from a non-Postfix parent process, or name=value environment overrides. diff --git a/html/posttls-finger.1.html b/html/posttls-finger.1.html index 2ed629a..a1475ca 100644 --- a/html/posttls-finger.1.html +++ b/html/posttls-finger.1.html @@ -112,7 +112,7 @@ POSTTLS-FINGER(1) POSTTLS-FINGER(1) ified in the DNS). In Postfix versions prior to 3.6, the default value was "md5". - -f Lookup the associated DANE TLSA RRset even when a hostname is + -f Look up the associated DANE TLSA RRset even when a hostname is not an alias and its address records lie in an unsigned zone. See smtp_tls_force_insecure_host_tlsa_lookup for details. @@ -302,6 +302,16 @@ POSTTLS-FINGER(1) POSTTLS-FINGER(1) protocol. The destination domain:port must of course provide such a service. + -x Prefer RFC7250 non-X.509 raw public key (RPK) server creden- + tials. By default only X.509 certificates are accepted. This + is analogous to setting smtp_tls_enable_rpk = yes in the smtp(8) + client. At the fingerprint security level, when raw public keys + are enabled, only public key (and not certificate) fingerprints + will be compared against the specified list of match arguments. + Certificate fingerprints are fragile when raw public keys are + solicited, the server may at some point in time start returning + only the public key. + -X Enable tlsproxy(8) mode. This is an unsupported mode, for pro- gram development only. diff --git a/html/proxymap.8.html b/html/proxymap.8.html index 7c98c47..a1f2f18 100644 --- a/html/proxymap.8.html +++ b/html/proxymap.8.html @@ -41,7 +41,7 @@ PROXYMAP(8) PROXYMAP(8) o To provide single-updater functionality for lookup tables that do not reliably support multiple writers (i.e. all file-based - tables). + tables that are not based on lmdb). The proxymap(8) server implements the following requests: diff --git a/html/qmgr.8.html b/html/qmgr.8.html index bfaa05f..068b256 100644 --- a/html/qmgr.8.html +++ b/html/qmgr.8.html @@ -232,8 +232,8 @@ QMGR(8) QMGR(8) ter.cf name of the message delivery transport. default_recipient_refill_delay (5s) - The default per-transport maximum delay between recipients - refills. + The default per-transport maximum delay between refilling recip- + ients. transport_recipient_refill_delay ($default_recipient_refill_delay) A transport-specific override for the default_recipi- diff --git a/html/qmqpd.8.html b/html/qmqpd.8.html index 9506cfa..55cbcdc 100644 --- a/html/qmqpd.8.html +++ b/html/qmqpd.8.html @@ -61,7 +61,7 @@ QMQPD(8) QMQPD(8) smtputf8_enable (yes) Enable preliminary SMTPUTF8 support for the protocols described - in RFC 6531..6533. + in RFC 6531, RFC 6532, and RFC 6533. smtputf8_autodetect_classes (sendmail, verify) Detect that a message requires SMTPUTF8 support for the speci- diff --git a/html/regexp_table.5.html b/html/regexp_table.5.html index 05cda13..96e4b38 100644 --- a/html/regexp_table.5.html +++ b/html/regexp_table.5.html @@ -148,8 +148,12 @@ REGEXP_TABLE(5) REGEXP_TABLE(5) Postfix parses the result as if it is a file in /etc/postfix. - Note: if a rule contains $, specify $$ to keep Postfix from trying to - do $name expansion as it evaluates a parameter value. + Note: if an inlined rule contains $, specify $$ to keep Postfix from + trying to do $name expansion as it evaluates a parameter value. + + Note: when using $name inside an inlined pattern, this will not disable + metacharacters such as '.' in the $name expansion. To prevent unex- + pected matches, use a pcre: table, and specify \Q$name\E. EXAMPLE SMTPD ACCESS MAP # Disallow sender-specified routing. This is a must if you relay mail diff --git a/html/relocated.5.html b/html/relocated.5.html index efd2f53..62a580a 100644 --- a/html/relocated.5.html +++ b/html/relocated.5.html @@ -125,8 +125,8 @@ RELOCATED(5) RELOCATED(5) Other parameters of interest: inet_interfaces (all) - The network interface addresses that this mail system receives - mail on. + The local network interface addresses that this mail system + receives mail on. mydestination ($myhostname, localhost.$mydomain, localhost) The list of domains that are delivered via the $local_transport @@ -137,8 +137,9 @@ RELOCATED(5) RELOCATED(5) and that locally posted mail is delivered to. proxy_interfaces (empty) - The network interface addresses that this mail system receives - mail on by way of a proxy or network address translation unit. + The remote network interface addresses that this mail system + receives mail on by way of a proxy or network address transla- + tion unit. SEE ALSO trivial-rewrite(8), address resolver diff --git a/html/sendmail.1.html b/html/sendmail.1.html index bebc17b..bf6051d 100644 --- a/html/sendmail.1.html +++ b/html/sendmail.1.html @@ -455,9 +455,11 @@ SENDMAIL(1) SENDMAIL(1) The location of the Postfix top-level queue directory. remote_header_rewrite_domain (empty) - Don't rewrite message headers from remote clients at all when - this parameter is empty; otherwise, rewrite message headers and - append the specified domain name to incomplete addresses. + Rewrite or add message headers in mail from remote clients if + the remote_header_rewrite_domain parameter value is non-empty, + updating incomplete addresses with the domain specified in the + remote_header_rewrite_domain parameter, and adding missing head- + ers. syslog_facility (mail) The syslog facility of Postfix logging. diff --git a/html/smtp-source.1.html b/html/smtp-source.1.html index db9a17b..6311971 100644 --- a/html/smtp-source.1.html +++ b/html/smtp-source.1.html @@ -49,7 +49,7 @@ SMTP-SOURCE(1) SMTP-SOURCE(1) over the same connection. -f from - Use the specified sender address (default: <foo@myhostname>). + Use the specified sender address (default: <foo@my-hostname>). -F file Send the pre-formatted message header and body in the specified @@ -65,28 +65,42 @@ SMTP-SOURCE(1) SMTP-SOURCE(1) -m message_count Send the specified number of messages (default: 1). - -M myhostname + -M my-hostname Use the specified hostname or [address] in the HELO command and in the default sender and recipient addresses, instead of the machine hostname. - -N Prepend a non-repeating sequence number to each recipient - address. This avoids the artificial 100% hit rate in the resolve - and rewrite client caches and exercises the trivial-rewrite dae- - mon, better approximating Postfix performance under real-life - work-loads. + -N Generate each recipient address by appending a number (a + per-process recipient counter) to the recipient address local- + part specified with the -t option. + + Note: to use the number as an address extension, specify an + explicit address delimiter at the end of the recipient local- + part, as in "-t localpart+@domain" or "-t localpart+", where "+" + is a Postfix recipient address delimiter. + + Benefits: + + o A non-constant recipient address avoids an unrealistic + 100% cache hit rate in clients of the Postfix trivial-re- + write service, better approximating performance under + real-life work-loads. + + o A fixed recipient address local-part with a non-constant + address extension avoids the need to configure a large + number of valid recipient addresses in the receiving + Postfix server. -o Old mode: don't send HELO, and don't send message headers. -r recipient_count - Send the specified number of recipients per transaction - (default: 1). Recipient names are generated by prepending a - number to the recipient address. + Send the specified number of recipients per transaction + (default: 1), and generate recipient addresses as described + under the -N option. -R interval - Wait for a random period of time 0 <= n <= interval between mes- - sages. Suspending one thread does not affect other delivery - threads. + Wait a random time (0 <= n <= interval) between messages. Sus- + pending one thread does not affect other delivery threads. -s session_count Run the specified number of SMTP sessions in parallel (default: @@ -95,7 +109,8 @@ SMTP-SOURCE(1) SMTP-SOURCE(1) -S subject Send mail with the named subject line (default: none). - -t to Use the specified recipient address (default: <foo@myhostname>). + -t to Use the specified recipient address (default: <foo@my-host- + name>). -T windowsize Override the default TCP window size. To work around broken TCP diff --git a/html/smtp.8.html b/html/smtp.8.html index 1144ee8..4cc187c 100644 --- a/html/smtp.8.html +++ b/html/smtp.8.html @@ -5,88 +5,100 @@ Postfix manual - smtp(8)
      -SMTP(8)                                                                SMTP(8)
      +SMTP,(LMTP)                                                        SMTP,(LMTP)
       
       NAME
      -       smtp - Postfix SMTP+LMTP client
      +       smtp, lmtp - Postfix SMTP+LMTP client
       
       SYNOPSIS
              smtp [generic Postfix daemon options] [flags=DORX]
       
      +       lmtp [generic Postfix daemon options] [flags=DORX]
      +
       DESCRIPTION
              The Postfix SMTP+LMTP client implements the SMTP and LMTP mail delivery
              protocols. It processes message delivery requests from the  queue  man-
              ager.  Each  request specifies a queue file, a sender address, a domain
              or host to deliver to, and recipient information.  This program expects
      -       to be run from the master(8) process manager.
      +       to be run from the master(8) process manager. The process name, smtp or
      +       lmtp, controls the protocol, and the names of the configuration parame-
      +       ters that will be used.
       
              The  SMTP+LMTP  client  updates  the queue file and marks recipients as
              finished, or it informs the queue manager that delivery should be tried
              again  at  a  later  time.  Delivery  status  reports  are  sent to the
              bounce(8), defer(8) or trace(8) daemon as appropriate.
       
      -       The SMTP+LMTP client looks up a list of mail  exchanger  addresses  for
      -       the  destination  host,  sorts  the list by preference, and connects to
      -       each listed address until it finds a server that responds.
      -
      -       When a server is not reachable, or when mail delivery fails  due  to  a
      -       recoverable  error  condition, the SMTP+LMTP client will try to deliver
      -       the mail to an alternate host.
      +       The server lookup strategy is different for SMTP and LMTP, as described
      +       in the sections "SMTP SERVER LOOKUP" and "LMTP SERVER LOOKUP".
       
      -       After a successful mail transaction, a connection may be saved  to  the
      -       scache(8)  connection  cache  server,  so  that  it  may be used by any
      +       After  a  successful mail transaction, a connection may be saved to the
      +       scache(8) connection cache server, so  that  it  may  be  used  by  any
              SMTP+LMTP client for a subsequent transaction.
       
      -       By default, connection caching is enabled temporarily for  destinations
      +       By  default, connection caching is enabled temporarily for destinations
              that have a high volume of mail in the active queue. Connection caching
              can be enabled permanently for specific destinations.
       
      -SMTP DESTINATION SYNTAX
      -       The Postfix SMTP+LMTP client supports multiple  destinations  separated
      -       by comma or whitespace (Postfix 3.5 and later).  SMTP destinations have
      -       the following form:
      +SMTP SERVER LOOKUP
      +       The  Postfix  SMTP  client  supports multiple destinations separated by
      +       comma or whitespace (Postfix 3.5 and later).  Each destination is tried
      +       in the specified order.
      +
      +       SMTP destinations have the following form:
       
              domainname
       
      -       domainname:port
      -              Look up the mail exchangers for the specified domain,  and  con-
      -              nect to the specified port (default: smtp).
      +       domainname:service
      +              Look  up  the mail exchangers for the specified domain, and con-
      +              nect to the specified service (default: smtp).  Optionally, mail
      +              exchangers may be looked up with SRV queries instead of MX; this
      +              requires that service is given in symbolic form.
       
              [hostname]
       
      -       [hostname]:port
      -              Look  up  the  address(es) of the specified host, and connect to
      -              the specified port (default: smtp).
      +       [hostname]:service
      +              Look up the address(es) for the specified host, and  connect  to
      +              the specified service (default: smtp).
       
              [address]
       
      -       [address]:port
      +       [address]:service
                     Connect to the host at the specified address, and connect to the
      -              specified  port (default: smtp). An IPv6 address must be format-
      -              ted as [ipv6:address].
      +              specified service (default: smtp). An IPv6 address must be  for-
      +              matted as [ipv6:address].
       
      -LMTP DESTINATION SYNTAX
      -       The Postfix SMTP+LMTP client supports multiple  destinations  separated
      -       by comma or whitespace (Postfix 3.5 and later).  LMTP destinations have
      -       the following form:
      +LMTP SERVER LOOKUP
      +       The  Postfix  LMTP  client  supports multiple destinations separated by
      +       comma or whitespace (Postfix 3.5 and later).  Each destination is tried
      +       in the specified order.
      +
      +       LMTP destinations have the following form:
       
              unix:pathname
      -              Connect to the local UNIX-domain server that  is  bound  to  the
      -              specified  pathname.  If  the process runs chrooted, an absolute
      +              Connect  to  the  local  UNIX-domain server that is bound to the
      +              specified pathname. If the process runs  chrooted,  an  absolute
                     pathname is interpreted relative to the Postfix queue directory.
       
      +       inet:domainname
      +
      +       inet:domainname:service
      +              Look up the LMTP servers for the specified  domain  and  service
      +              (default:  lmtp).   This  form is supported when SRV lookups are
      +              enabled, and requires that service is in symbolic form.
      +
              inet:hostname
       
      -       inet:hostname:port
      +       inet:hostname:service
      +              Look up the address(es) for the specified host, and  connect  to
      +              the  specified  service  (default:  lmtp).  When SRV lookups are
      +              enabled, use the form [hostname] to force address lookups.
       
              inet:[address]
       
      -       inet:[address]:port
      -              Connect  to  the  specified  TCP  port on the specified local or
      -              remote host. If no  port  is  specified,  connect  to  the  port
      -              defined  as  lmtp  in services(4).  If no such service is found,
      -              the lmtp_tcp_port configuration parameter (default value of  24)
      -              will   be   used.    An   IPv6  address  must  be  formatted  as
      +       inet:[address]:service
      +              Connect to the  specified  local  or  remote  host  and  service
      +              (default:   lmtp).    An  IPv6  address  must  be  formatted  as
                     [ipv6:address].
       
       SINGLE-RECIPIENT DELIVERY
      @@ -136,10 +148,9 @@ SMTP(8)                                                                SMTP(8)
                            This feature is available as of Postfix 3.5.
       
       SECURITY
      -       The SMTP+LMTP client is moderately security-sensitive. It
      -       talks to SMTP or LMTP servers and to DNS servers on the
      -       network. The SMTP+LMTP client can be run chrooted at fixed
      -       low privilege.
      +       The SMTP+LMTP client is moderately security-sensitive. It talks to SMTP
      +       or LMTP servers and to DNS servers on the network. The SMTP+LMTP client
      +       can be run chrooted at fixed low privilege.
       
       STANDARDS
              RFC 821 (SMTP protocol)
      @@ -180,20 +191,19 @@ SMTP(8)                                                                SMTP(8)
              for all destinations that map onto the same IP address and TCP port.
       
       CONFIGURATION PARAMETERS
      -       Before Postfix version 2.3, the LMTP client is a separate program  that
      -       implements  only  a  subset  of  the functionality available with SMTP:
      -       there is no support for TLS, and  connections  are  cached  in-process,
      -       making it ineffective when the client is used for multiple domains.
      +       Postfix versions 2.3 and later implement the SMTP and LMTP client  with
      +       the  same program, and choose the protocol and configuration parameters
      +       based on the process name, smtp or lmtp.
       
              Most smtp_xxx configuration parameters have an lmtp_xxx "mirror" param-
      -       eter for the equivalent LMTP  feature.  This  document  describes  only
      +       eter  for  the  equivalent  LMTP  feature. This document describes only
              those LMTP-related parameters that aren't simply "mirror" parameters.
       
      -       Changes  to  main.cf  are picked up automatically, as smtp(8) processes
      +       Changes to main.cf are picked up automatically,  as  smtp(8)  processes
              run for only a limited amount of time. Use the command "postfix reload"
              to speed up a change.
       
      -       The  text  below provides only a parameter summary. See postconf(5) for
      +       The text below provides only a parameter summary. See  postconf(5)  for
              more details including examples.
       
       COMPATIBILITY CONTROLS
      @@ -214,8 +224,8 @@ SMTP(8)                                                                SMTP(8)
                     will send via SMTP.
       
              smtp_pix_workaround_delay_time (10s)
      -              How  long  the  Postfix  SMTP  client  pauses   before   sending
      -              ".<CR><LF>"   in   order   to   work  around  the  PIX  firewall
      +              How   long   the  Postfix  SMTP  client  pauses  before  sending
      +              ".<CR><LF>"  in  order  to  work   around   the   PIX   firewall
                     "<CR><LF>.<CR><LF>" bug.
       
              smtp_pix_workaround_threshold_time (500s)
      @@ -224,19 +234,19 @@ SMTP(8)                                                                SMTP(8)
                     delivery through firewalls with "smtp fixup" mode turned on.
       
              smtp_pix_workarounds (disable_esmtp, delay_dotcrlf)
      -              A list that specifies zero or more  workarounds  for  CISCO  PIX
      +              A  list  that  specifies  zero or more workarounds for CISCO PIX
                     firewall bugs.
       
              smtp_pix_workaround_maps (empty)
      -              Lookup  tables,  indexed by the remote SMTP server address, with
      +              Lookup tables, indexed by the remote SMTP server  address,  with
                     per-destination workarounds for CISCO PIX firewall bugs.
       
              smtp_quote_rfc821_envelope (yes)
      -              Quote addresses in Postfix SMTP client MAIL  FROM  and  RCPT  TO
      +              Quote  addresses  in  Postfix  SMTP client MAIL FROM and RCPT TO
                     commands as required by RFC 5321.
       
              smtp_reply_filter (empty)
      -              A  mechanism  to  transform replies from remote SMTP servers one
      +              A mechanism to transform replies from remote  SMTP  servers  one
                     line at a time.
       
              smtp_skip_5xx_greeting (yes)
      @@ -248,68 +258,68 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 2.0 and earlier:
       
              smtp_skip_4xx_greeting (yes)
      -              Skip SMTP servers that greet with a 4XX status  code  (go  away,
      +              Skip  SMTP  servers  that greet with a 4XX status code (go away,
                     try again later).
       
              Available in Postfix version 2.2 and later:
       
              smtp_discard_ehlo_keyword_address_maps (empty)
      -              Lookup  tables,  indexed by the remote SMTP server address, with
      -              case insensitive lists of EHLO keywords  (pipelining,  starttls,
      +              Lookup tables, indexed by the remote SMTP server  address,  with
      +              case  insensitive  lists of EHLO keywords (pipelining, starttls,
                     auth, etc.) that the Postfix SMTP client will ignore in the EHLO
                     response from a remote SMTP server.
       
              smtp_discard_ehlo_keywords (empty)
      -              A case insensitive list of EHLO keywords (pipelining,  starttls,
      +              A  case insensitive list of EHLO keywords (pipelining, starttls,
                     auth, etc.) that the Postfix SMTP client will ignore in the EHLO
                     response from a remote SMTP server.
       
              smtp_generic_maps (empty)
      -              Optional lookup tables that perform  address  rewriting  in  the
      -              Postfix  SMTP  client,  typically  to  transform a locally valid
      -              address into a globally valid address when sending  mail  across
      +              Optional  lookup  tables  that  perform address rewriting in the
      +              Postfix SMTP client, typically  to  transform  a  locally  valid
      +              address  into  a globally valid address when sending mail across
                     the Internet.
       
              Available in Postfix version 2.2.9 and later:
       
              smtp_cname_overrides_servername (version dependent)
      -              When  the  remote  SMTP  servername  is a DNS CNAME, replace the
      -              servername with the result from CNAME expansion for the  purpose
      -              of  logging,  SASL password lookup, TLS policy decisions, or TLS
      +              When the remote SMTP servername is  a  DNS  CNAME,  replace  the
      +              servername  with the result from CNAME expansion for the purpose
      +              of logging, SASL password lookup, TLS policy decisions,  or  TLS
                     certificate verification.
       
              Available in Postfix version 2.3 and later:
       
              lmtp_discard_lhlo_keyword_address_maps (empty)
      -              Lookup tables, indexed by the remote LMTP server  address,  with
      -              case  insensitive  lists of LHLO keywords (pipelining, starttls,
      +              Lookup  tables,  indexed by the remote LMTP server address, with
      +              case insensitive lists of LHLO keywords  (pipelining,  starttls,
                     auth, etc.) that the Postfix LMTP client will ignore in the LHLO
                     response from a remote LMTP server.
       
              lmtp_discard_lhlo_keywords (empty)
      -              A  case insensitive list of LHLO keywords (pipelining, starttls,
      +              A case insensitive list of LHLO keywords (pipelining,  starttls,
                     auth, etc.) that the Postfix LMTP client will ignore in the LHLO
                     response from a remote LMTP server.
       
              Available in Postfix version 2.4.4 and later:
       
              send_cyrus_sasl_authzid (no)
      -              When  authenticating  to  a  remote SMTP or LMTP server with the
      -              default setting "no", send no SASL authoriZation  ID  (authzid);
      -              send  only  the  SASL authentiCation ID (authcid) plus the auth-
      +              When authenticating to a remote SMTP or  LMTP  server  with  the
      +              default  setting  "no", send no SASL authoriZation ID (authzid);
      +              send only the SASL authentiCation ID (authcid)  plus  the  auth-
                     cid's password.
       
              Available in Postfix version 2.5 and later:
       
              smtp_header_checks (empty)
      -              Restricted header_checks(5) tables for the Postfix SMTP  client.
      +              Restricted  header_checks(5) tables for the Postfix SMTP client.
       
              smtp_mime_header_checks (empty)
      -              Restricted  mime_header_checks(5)  tables  for  the Postfix SMTP
      +              Restricted mime_header_checks(5) tables  for  the  Postfix  SMTP
                     client.
       
              smtp_nested_header_checks (empty)
      -              Restricted nested_header_checks(5) tables for the  Postfix  SMTP
      +              Restricted  nested_header_checks(5)  tables for the Postfix SMTP
                     client.
       
              smtp_body_checks (empty)
      @@ -318,7 +328,7 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 2.6 and later:
       
              tcp_windowsize (0)
      -              An  optional  workaround for routers that break TCP window scal-
      +              An optional workaround for routers that break TCP  window  scal-
                     ing.
       
              Available in Postfix version 2.8 and later:
      @@ -329,16 +339,16 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 2.9 - 3.6:
       
              smtp_per_record_deadline (no)
      -              Change the behavior of the smtp_*_timeout time  limits,  from  a
      -              time  limit  per  read  or write system call, to a time limit to
      -              send or receive a complete record (an SMTP  command  line,  SMTP
      -              response  line,  SMTP message content line, or TLS protocol mes-
      +              Change  the  behavior  of the smtp_*_timeout time limits, from a
      +              time limit per read or write system call, to  a  time  limit  to
      +              send  or  receive  a complete record (an SMTP command line, SMTP
      +              response line, SMTP message content line, or TLS  protocol  mes-
                     sage).
       
              Available in Postfix version 2.9 and later:
       
              smtp_send_dummy_mail_auth (no)
      -              Whether or not to append the "AUTH=<>" option to the  MAIL  FROM
      +              Whether  or  not to append the "AUTH=<>" option to the MAIL FROM
                     command in SASL-authenticated SMTP sessions.
       
              Available in Postfix version 2.11 and later:
      @@ -349,7 +359,7 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 3.0 and later:
       
              smtp_delivery_status_filter ($default_delivery_status_filter)
      -              Optional  filter  for  the  smtp(8) delivery agent to change the
      +              Optional filter for the smtp(8) delivery  agent  to  change  the
                     delivery status code or explanatory text of successful or unsuc-
                     cessful deliveries.
       
      @@ -359,38 +369,38 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 3.3 and later:
       
              smtp_balance_inet_protocols (yes)
      -              When  a remote destination resolves to a combination of IPv4 and
      +              When a remote destination resolves to a combination of IPv4  and
                     IPv6 addresses, ensure that the Postfix SMTP client can try both
                     address types before it runs into the smtp_mx_address_limit.
       
              Available in Postfix 3.5 and later:
       
              info_log_address_format (external)
      -              The  email  address  form that will be used in non-debug logging
      +              The email address form that will be used  in  non-debug  logging
                     (info, warning, etc.).
       
              Available in Postfix 3.6 and later:
       
              dnssec_probe (ns:.)
      -              The DNS query type (default: "ns") and DNS query name  (default:
      +              The  DNS query type (default: "ns") and DNS query name (default:
                     ".") that Postfix may use to determine whether DNSSEC validation
                     is available.
       
      -       known_tcp_ports  (lmtp=24,  smtp=25,   smtps=submissions=465,   submis-
      +       known_tcp_ports   (lmtp=24,   smtp=25,  smtps=submissions=465,  submis-
              sion=587)
      -              Optional setting that avoids lookups in  the  services(5)  data-
      +              Optional  setting  that  avoids lookups in the services(5) data-
                     base.
       
              Available in Postfix version 3.7 and later:
       
              smtp_per_request_deadline (no)
      -              Change  the  behavior  of the smtp_*_timeout time limits, from a
      -              time limit per plaintext or TLS read or write call,  to  a  com-
      -              bined  time  limit  for  sending a complete SMTP request and for
      +              Change the behavior of the smtp_*_timeout time  limits,  from  a
      +              time  limit  per  plaintext or TLS read or write call, to a com-
      +              bined time limit for sending a complete  SMTP  request  and  for
                     receiving a complete SMTP response.
       
              smtp_min_data_rate (500)
      -              The minimum plaintext data transfer  rate  in  bytes/second  for
      +              The  minimum  plaintext  data  transfer rate in bytes/second for
                     DATA    requests,    when    deadlines    are    enabled    with
                     smtp_per_request_deadline.
       
      @@ -400,16 +410,16 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 3.8 and later:
       
              use_srv_lookup (empty)
      -              Enables discovery for the specified  service(s)  using  DNS  SRV
      +              Enables  discovery  for  the  specified service(s) using DNS SRV
                     records.
       
              ignore_srv_lookup_error (no)
      -              When  SRV  record  lookup  fails,  fall back to MX or IP address
      +              When SRV record lookup fails, fall back  to  MX  or  IP  address
                     lookup as if SRV record lookup was not enabled.
       
              allow_srv_lookup_fallback (no)
      -              When SRV record lookup fails or no SRV record exists, fall  back
      -              to  MX  or  IP  address  lookup  as if SRV record lookup was not
      +              When  SRV record lookup fails or no SRV record exists, fall back
      +              to MX or IP address lookup as  if  SRV  record  lookup  was  not
                     enabled.
       
       MIME PROCESSING CONTROLS
      @@ -428,7 +438,7 @@ SMTP(8)                                                                SMTP(8)
              Available in Postfix version 2.1 and later:
       
              smtp_send_xforward_command (no)
      -              Send  the  non-standard  XFORWARD  command when the Postfix SMTP
      +              Send the non-standard XFORWARD command  when  the  Postfix  SMTP
                     server EHLO response announces XFORWARD support.
       
       SASL AUTHENTICATION CONTROLS
      @@ -436,60 +446,66 @@ SMTP(8)                                                                SMTP(8)
                     Enable SASL authentication in the Postfix SMTP client.
       
              smtp_sasl_password_maps (empty)
      -              Optional Postfix  SMTP  client  lookup  tables  with  one  user-
      -              name:password  entry  per  sender,  remote  hostname or next-hop
      +              Optional  Postfix  SMTP  client  lookup  tables  with  one user-
      +              name:password entry per  sender,  remote  hostname  or  next-hop
                     domain.
       
              smtp_sasl_security_options (noplaintext, noanonymous)
                     Postfix SMTP client SASL security options; as of Postfix 2.3 the
      -              list  of available features depends on the SASL client implemen-
      +              list of available features depends on the SASL client  implemen-
                     tation that is selected with smtp_sasl_type.
       
              Available in Postfix version 2.2 and later:
       
              smtp_sasl_mechanism_filter (empty)
      -              If non-empty, a Postfix SMTP client filter for the  remote  SMTP
      +              If  non-empty,  a Postfix SMTP client filter for the remote SMTP
                     server's list of offered SASL mechanisms.
       
              Available in Postfix version 2.3 and later:
       
              smtp_sender_dependent_authentication (no)
                     Enable  sender-dependent  authentication  in  the  Postfix  SMTP
      -              client; this is available only  with  SASL  authentication,  and
      -              disables  SMTP  connection caching to ensure that mail from dif-
      +              client;  this  is  available  only with SASL authentication, and
      +              disables SMTP connection caching to ensure that mail  from  dif-
                     ferent senders will use the appropriate credentials.
       
              smtp_sasl_path (empty)
                     Implementation-specific information that the Postfix SMTP client
      -              passes  through  to  the  SASL  plug-in  implementation  that is
      +              passes through  to  the  SASL  plug-in  implementation  that  is
                     selected with smtp_sasl_type.
       
              smtp_sasl_type (cyrus)
      -              The SASL plug-in type that the Postfix SMTP  client  should  use
      +              The  SASL  plug-in  type that the Postfix SMTP client should use
                     for authentication.
       
              Available in Postfix version 2.5 and later:
       
              smtp_sasl_auth_cache_name (empty)
      -              An  optional table to prevent repeated SASL authentication fail-
      -              ures with the same remote SMTP  server  hostname,  username  and
      +              An optional table to prevent repeated SASL authentication  fail-
      +              ures  with  the  same  remote SMTP server hostname, username and
                     password.
       
              smtp_sasl_auth_cache_time (90d)
      -              The  maximal age of an smtp_sasl_auth_cache_name entry before it
      +              The maximal age of an smtp_sasl_auth_cache_name entry before  it
                     is removed.
       
              smtp_sasl_auth_soft_bounce (yes)
      -              When a remote SMTP server rejects a SASL authentication  request
      -              with  a 535 reply code, defer mail delivery instead of returning
      +              When  a remote SMTP server rejects a SASL authentication request
      +              with a 535 reply code, defer mail delivery instead of  returning
                     mail as undeliverable.
       
              Available in Postfix version 2.9 and later:
       
              smtp_send_dummy_mail_auth (no)
      -              Whether or not to append the "AUTH=<>" option to the  MAIL  FROM
      +              Whether  or  not to append the "AUTH=<>" option to the MAIL FROM
                     command in SASL-authenticated SMTP sessions.
       
      +       Available in Postfix version 3.9 and later:
      +
      +       smtp_sasl_password_result_delimiter (:)
      +              The delimiter between username and password in  sasl_passwd_maps
      +              lookup results.
      +
       STARTTLS SUPPORT CONTROLS
              Detailed  information  about STARTTLS configuration may be found in the
              TLS_README document.
      @@ -619,7 +635,7 @@ SMTP(8)                                                                SMTP(8)
       
              Available in Postfix version 2.6 and later:
       
      -       smtp_tls_protocols (see postconf -d output)
      +       smtp_tls_protocols (see 'postconf -d' output)
                     TLS  protocols that the Postfix SMTP client will use with oppor-
                     tunistic TLS encryption.
       
      @@ -724,6 +740,12 @@ SMTP(8)                                                                SMTP(8)
                     The application name passed by Postfix to OpenSSL  library  ini-
                     tialization functions.
       
      +       Available in Postfix version 3.9 and later:
      +
      +       smtp_tls_enable_rpk (no)
      +              Request  that remote SMTP servers send an RFC7250 raw public key
      +              instead of an X.509 certificate.
      +
       OBSOLETE STARTTLS CONTROLS
              The following configuration parameters  exist  for  compatibility  with
              Postfix  versions  before  2.3.  Support for these will be removed in a
      @@ -954,7 +976,7 @@ SMTP(8)                                                                SMTP(8)
                     The  local  network  interface  addresses  that this mail system
                     receives mail on.
       
      -       inet_protocols (see 'postconf -d output')
      +       inet_protocols (see 'postconf -d' output)
                     The Internet protocols Postfix will attempt to use  when  making
                     or accepting connections.
       
      @@ -1119,5 +1141,5 @@ SMTP(8)                                                                SMTP(8)
              Victor Duchovni
              Morgan Stanley
       
      -                                                                       SMTP(8)
      +                                       8                           SMTP,(LMTP)
       
      diff --git a/html/smtpd.8.html b/html/smtpd.8.html index 672302a..85a8aee 100644 --- a/html/smtpd.8.html +++ b/html/smtpd.8.html @@ -560,7 +560,7 @@ SMTPD(8) SMTPD(8) Available in Postfix version 2.6 and later: - smtpd_tls_protocols (see postconf -d output) + smtpd_tls_protocols (see 'postconf -d' output) TLS protocols accepted by the Postfix SMTP server with oppor- tunistic TLS encryption. @@ -648,6 +648,13 @@ SMTPD(8) SMTPD(8) The application name passed by Postfix to OpenSSL library ini- tialization functions. + Available in Postfix version 3.9 and later: + + smtpd_tls_enable_rpk (no) + Request that remote SMTP clients send an RFC7250 raw public key + instead of an X.509 certificate, when asking for or requiring + client authentication. + OBSOLETE STARTTLS CONTROLS The following configuration parameters exist for compatibility with Postfix versions before 2.3. Support for these will be removed in a @@ -801,7 +808,7 @@ SMTPD(8) SMTPD(8) receives mail on by way of a proxy or network address transla- tion unit. - inet_protocols (see 'postconf -d output') + inet_protocols (see 'postconf -d' output) The Internet protocols Postfix will attempt to use when making or accepting connections. @@ -840,30 +847,31 @@ SMTPD(8) SMTPD(8) aliased to addresses in other local or remote domains. virtual_alias_maps ($virtual_maps) - Optional lookup tables that alias specific mail addresses or - domains to other local or remote addresses. + Optional lookup tables with aliases that apply to all recipi- + ents: local(8), virtual, and remote; this is unlike alias_maps + that apply only to local(8) recipients. unknown_virtual_alias_reject_code (550) - The Postfix SMTP server reply code when a recipient address - matches $virtual_alias_domains, and $virtual_alias_maps speci- - fies a list of lookup tables that does not match the recipient + The Postfix SMTP server reply code when a recipient address + matches $virtual_alias_domains, and $virtual_alias_maps speci- + fies a list of lookup tables that does not match the recipient address. Parameters concerning known/unknown recipients in virtual mailbox domains: virtual_mailbox_domains ($virtual_mailbox_maps) - Postfix is the final destination for the specified list of - domains; mail is delivered via the $virtual_transport mail + Postfix is the final destination for the specified list of + domains; mail is delivered via the $virtual_transport mail delivery transport. virtual_mailbox_maps (empty) - Optional lookup tables with all valid addresses in the domains + Optional lookup tables with all valid addresses in the domains that match $virtual_mailbox_domains. unknown_virtual_mailbox_reject_code (550) - The Postfix SMTP server reply code when a recipient address - matches $virtual_mailbox_domains, and $virtual_mailbox_maps + The Postfix SMTP server reply code when a recipient address + matches $virtual_mailbox_domains, and $virtual_mailbox_maps specifies a list of lookup tables that does not match the recip- ient address. @@ -872,7 +880,7 @@ SMTPD(8) SMTPD(8) control client request rates. line_length_limit (2048) - Upon input, long lines are chopped up into pieces of at most + Upon input, long lines are chopped up into pieces of at most this length; upon delivery, long lines are reconstructed. queue_minfree (0) @@ -880,62 +888,62 @@ SMTPD(8) SMTPD(8) tem that is needed to receive mail. message_size_limit (10240000) - The maximal size in bytes of a message, including envelope + The maximal size in bytes of a message, including envelope information. smtpd_recipient_limit (1000) - The maximal number of recipients that the Postfix SMTP server + The maximal number of recipients that the Postfix SMTP server accepts per message delivery request. smtpd_timeout (normal: 300s, overload: 10s) - When the Postfix SMTP server wants to send an SMTP server - response, how long the Postfix SMTP server will wait for an - underlying network write operation to complete; and when the - Postfix SMTP server Postfix wants to receive an SMTP client - request, how long the Postfix SMTP server will wait for an + When the Postfix SMTP server wants to send an SMTP server + response, how long the Postfix SMTP server will wait for an + underlying network write operation to complete; and when the + Postfix SMTP server Postfix wants to receive an SMTP client + request, how long the Postfix SMTP server will wait for an underlying network read operation to complete. smtpd_history_flush_threshold (100) - The maximal number of lines in the Postfix SMTP server command - history before it is flushed upon receipt of EHLO, RSET, or end + The maximal number of lines in the Postfix SMTP server command + history before it is flushed upon receipt of EHLO, RSET, or end of DATA. Available in Postfix version 2.3 and later: smtpd_peername_lookup (yes) - Attempt to look up the remote SMTP client hostname, and verify + Attempt to look up the remote SMTP client hostname, and verify that the name matches the client IP address. The per SMTP client connection count and request rate limits are imple- - mented in co-operation with the anvil(8) service, and are available in + mented in co-operation with the anvil(8) service, and are available in Postfix version 2.2 and later. smtpd_client_connection_count_limit (50) - How many simultaneous connections any client is allowed to make + How many simultaneous connections any client is allowed to make to this service. smtpd_client_connection_rate_limit (0) - The maximal number of connection attempts any client is allowed + The maximal number of connection attempts any client is allowed to make to this service per time unit. smtpd_client_message_rate_limit (0) - The maximal number of message delivery requests that any client - is allowed to make to this service per time unit, regardless of + The maximal number of message delivery requests that any client + is allowed to make to this service per time unit, regardless of whether or not Postfix actually accepts those messages. smtpd_client_recipient_rate_limit (0) - The maximal number of recipient addresses that any client is - allowed to send to this service per time unit, regardless of + The maximal number of recipient addresses that any client is + allowed to send to this service per time unit, regardless of whether or not Postfix actually accepts those recipients. smtpd_client_event_limit_exceptions ($mynetworks) - Clients that are excluded from smtpd_client_*_count/rate_limit + Clients that are excluded from smtpd_client_*_count/rate_limit restrictions. Available in Postfix version 2.3 and later: smtpd_client_new_tls_session_rate_limit (0) - The maximal number of new (i.e., uncached) TLS sessions that a + The maximal number of new (i.e., uncached) TLS sessions that a remote SMTP client is allowed to negotiate with this service per time unit. @@ -943,29 +951,29 @@ SMTPD(8) SMTPD(8) smtpd_per_record_deadline (normal: no, overload: yes) Change the behavior of the smtpd_timeout and smtpd_start- - tls_timeout time limits, from a time limit per read or write - system call, to a time limit to send or receive a complete - record (an SMTP command line, SMTP response line, SMTP message + tls_timeout time limits, from a time limit per read or write + system call, to a time limit to send or receive a complete + record (an SMTP command line, SMTP response line, SMTP message content line, or TLS protocol message). Available in Postfix version 3.1 and later: smtpd_client_auth_rate_limit (0) - The maximal number of AUTH commands that any client is allowed - to send to this service per time unit, regardless of whether or + The maximal number of AUTH commands that any client is allowed + to send to this service per time unit, regardless of whether or not Postfix actually accepts those commands. Available in Postfix version 3.7 and later: smtpd_per_request_deadline (normal: no, overload: yes) Change the behavior of the smtpd_timeout and smtpd_start- - tls_timeout time limits, from a time limit per plaintext or TLS - read or write call, to a combined time limit for receiving a - complete SMTP request and for sending a complete SMTP response. + tls_timeout time limits, from a time limit per plaintext or TLS + read or write call, to a combined time limit for receiving a + complete SMTP request and for sending a complete SMTP response. smtpd_min_data_rate (500) - The minimum plaintext data transfer rate in bytes/second for - DATA and BDAT requests, when deadlines are enabled with + The minimum plaintext data transfer rate in bytes/second for + DATA and BDAT requests, when deadlines are enabled with smtpd_per_request_deadline. header_from_format (standard) @@ -974,27 +982,27 @@ SMTPD(8) SMTPD(8) Available in Postfix version 3.8 and later: smtpd_client_ipv4_prefix_length (32) - Aggregate smtpd_client_*_count and smtpd_client_*_rate statis- + Aggregate smtpd_client_*_count and smtpd_client_*_rate statis- tics by IPv4 network blocks with the specified network prefix. smtpd_client_ipv6_prefix_length (84) - Aggregate smtpd_client_*_count and smtpd_client_*_rate statis- + Aggregate smtpd_client_*_count and smtpd_client_*_rate statis- tics by IPv6 network blocks with the specified network prefix. Available in Postfix 3.9, 3.8.1, 3.7.6, 3.6.10, 3.5.20 and later: smtpd_forbid_unauth_pipelining (Postfix >= 3.9: yes) - Disconnect remote SMTP clients that violate RFC 2920 (or 5321) + Disconnect remote SMTP clients that violate RFC 2920 (or 5321) command pipelining constraints. Available in Postfix 3.9, 3.8.4, 3.7.9, 3.6.13, 3.5.23 and later: - smtpd_forbid_bare_newline (Postfix < 3.9: no) - Reject or restrict input lines from an SMTP client that end in + smtpd_forbid_bare_newline (Postfix >= 3.9: normalize) + Reject or restrict input lines from an SMTP client that end in <LF> instead of the standard <CR><LF>. smtpd_forbid_bare_newline_exclusions ($mynetworks) - Exclude the specified clients from smtpd_forbid_bare_newline + Exclude the specified clients from smtpd_forbid_bare_newline enforcement. Available in Postfix 3.9, 3.8.5, 3.7.10, 3.6.14, 3.5.24 and later: @@ -1004,55 +1012,55 @@ SMTPD(8) SMTPD(8) request with "smtpd_forbid_bare_newline = reject". TARPIT CONTROLS - When a remote SMTP client makes errors, the Postfix SMTP server can - insert delays before responding. This can help to slow down run-away - software. The behavior is controlled by an error counter that counts + When a remote SMTP client makes errors, the Postfix SMTP server can + insert delays before responding. This can help to slow down run-away + software. The behavior is controlled by an error counter that counts the number of errors within an SMTP session that a client makes without delivering mail. smtpd_error_sleep_time (1s) - With Postfix version 2.1 and later: the SMTP server response - delay after a client has made more than $smtpd_soft_error_limit - errors, and fewer than $smtpd_hard_error_limit errors, without + With Postfix version 2.1 and later: the SMTP server response + delay after a client has made more than $smtpd_soft_error_limit + errors, and fewer than $smtpd_hard_error_limit errors, without delivering mail. smtpd_soft_error_limit (10) - The number of errors a remote SMTP client is allowed to make - without delivering mail before the Postfix SMTP server slows + The number of errors a remote SMTP client is allowed to make + without delivering mail before the Postfix SMTP server slows down all its responses. smtpd_hard_error_limit (normal: 20, overload: 1) - The maximal number of errors a remote SMTP client is allowed to + The maximal number of errors a remote SMTP client is allowed to make without delivering mail. smtpd_junk_command_limit (normal: 100, overload: 1) - The number of junk commands (NOOP, VRFY, ETRN or RSET) that a - remote SMTP client can send before the Postfix SMTP server + The number of junk commands (NOOP, VRFY, ETRN or RSET) that a + remote SMTP client can send before the Postfix SMTP server starts to increment the error counter with each junk command. Available in Postfix version 2.1 and later: smtpd_recipient_overshoot_limit (1000) - The number of recipients that a remote SMTP client can send in + The number of recipients that a remote SMTP client can send in excess of the limit specified with $smtpd_recipient_limit, - before the Postfix SMTP server increments the per-session error + before the Postfix SMTP server increments the per-session error count for each excess recipient. ACCESS POLICY DELEGATION CONTROLS - As of version 2.1, Postfix can be configured to delegate access policy - decisions to an external server that runs outside Postfix. See the + As of version 2.1, Postfix can be configured to delegate access policy + decisions to an external server that runs outside Postfix. See the file SMTPD_POLICY_README for more information. smtpd_policy_service_max_idle (300s) - The time after which an idle SMTPD policy service connection is + The time after which an idle SMTPD policy service connection is closed. smtpd_policy_service_max_ttl (1000s) - The time after which an active SMTPD policy service connection + The time after which an active SMTPD policy service connection is closed. smtpd_policy_service_timeout (100s) - The time limit for connecting to, writing to, or receiving from + The time limit for connecting to, writing to, or receiving from a delegated SMTPD policy server. Available in Postfix version 3.0 and later: @@ -1062,81 +1070,81 @@ SMTPD(8) SMTPD(8) The default action when an SMTPD policy service request fails. smtpd_policy_service_request_limit (0) - The maximal number of requests per SMTPD policy service connec- + The maximal number of requests per SMTPD policy service connec- tion, or zero (no limit). smtpd_policy_service_try_limit (2) - The maximal number of attempts to send an SMTPD policy service + The maximal number of attempts to send an SMTPD policy service request before giving up. smtpd_policy_service_retry_delay (1s) - The delay between attempts to resend a failed SMTPD policy ser- + The delay between attempts to resend a failed SMTPD policy ser- vice request. Available in Postfix version 3.1 and later: smtpd_policy_service_policy_context (empty) - Optional information that the Postfix SMTP server specifies in - the "policy_context" attribute of a policy service request - (originally, to share the same service endpoint among multiple + Optional information that the Postfix SMTP server specifies in + the "policy_context" attribute of a policy service request + (originally, to share the same service endpoint among multiple check_policy_service clients). ACCESS CONTROLS - The SMTPD_ACCESS_README document gives an introduction to all the SMTP + The SMTPD_ACCESS_README document gives an introduction to all the SMTP server access control features. smtpd_delay_reject (yes) - Wait until the RCPT TO command before evaluating + Wait until the RCPT TO command before evaluating $smtpd_client_restrictions, $smtpd_helo_restrictions and $smtpd_sender_restrictions, or wait until the ETRN command - before evaluating $smtpd_client_restrictions and + before evaluating $smtpd_client_restrictions and $smtpd_helo_restrictions. parent_domain_matches_subdomains (see 'postconf -d' output) - A list of Postfix features where the pattern "example.com" also - matches subdomains of example.com, instead of requiring an + A list of Postfix features where the pattern "example.com" also + matches subdomains of example.com, instead of requiring an explicit ".example.com" pattern. smtpd_client_restrictions (empty) - Optional restrictions that the Postfix SMTP server applies in + Optional restrictions that the Postfix SMTP server applies in the context of a client connection request. smtpd_helo_required (no) - Require that a remote SMTP client introduces itself with the - HELO or EHLO command before sending the MAIL command or other + Require that a remote SMTP client introduces itself with the + HELO or EHLO command before sending the MAIL command or other commands that require EHLO negotiation. smtpd_helo_restrictions (empty) - Optional restrictions that the Postfix SMTP server applies in + Optional restrictions that the Postfix SMTP server applies in the context of a client HELO command. smtpd_sender_restrictions (empty) - Optional restrictions that the Postfix SMTP server applies in + Optional restrictions that the Postfix SMTP server applies in the context of a client MAIL FROM command. smtpd_recipient_restrictions (see 'postconf -d' output) - Optional restrictions that the Postfix SMTP server applies in - the context of a client RCPT TO command, after + Optional restrictions that the Postfix SMTP server applies in + the context of a client RCPT TO command, after smtpd_relay_restrictions. smtpd_etrn_restrictions (empty) - Optional restrictions that the Postfix SMTP server applies in + Optional restrictions that the Postfix SMTP server applies in the context of a client ETRN command. allow_untrusted_routing (no) - Forward mail with sender-specified routing - (user[@%!]remote[@%!]site) from untrusted clients to destina- + Forward mail with sender-specified routing + (user[@%!]remote[@%!]site) from untrusted clients to destina- tions matching $relay_domains. smtpd_restriction_classes (empty) User-defined aliases for groups of access restrictions. smtpd_null_access_lookup_key (<>) - The lookup key to be used in SMTP access(5) tables instead of + The lookup key to be used in SMTP access(5) tables instead of the null sender address. permit_mx_backup_networks (empty) - Restrict the use of the permit_mx_backup SMTP access feature to + Restrict the use of the permit_mx_backup SMTP access feature to only domains whose primary MX hosts match the listed networks. Available in Postfix version 2.0 and later: @@ -1146,19 +1154,19 @@ SMTPD(8) SMTPD(8) applies in the context of the SMTP DATA command. smtpd_expansion_filter (see 'postconf -d' output) - What characters are allowed in $name expansions of RBL reply + What characters are allowed in $name expansions of RBL reply templates. Available in Postfix version 2.1 and later: smtpd_reject_unlisted_sender (no) - Request that the Postfix SMTP server rejects mail from unknown - sender addresses, even when no explicit reject_unlisted_sender + Request that the Postfix SMTP server rejects mail from unknown + sender addresses, even when no explicit reject_unlisted_sender access restriction is specified. smtpd_reject_unlisted_recipient (yes) - Request that the Postfix SMTP server rejects mail for unknown - recipient addresses, even when no explicit + Request that the Postfix SMTP server rejects mail for unknown + recipient addresses, even when no explicit reject_unlisted_recipient access restriction is specified. Available in Postfix version 2.2 and later: @@ -1172,17 +1180,17 @@ SMTPD(8) SMTPD(8) smtpd_relay_restrictions (permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination) Access restrictions for mail relay control that the Postfix SMTP - server applies in the context of the RCPT TO command, before + server applies in the context of the RCPT TO command, before smtpd_recipient_restrictions. SENDER AND RECIPIENT ADDRESS VERIFICATION CONTROLS - Postfix version 2.1 introduces sender and recipient address verifica- + Postfix version 2.1 introduces sender and recipient address verifica- tion. This feature is implemented by sending probe email messages that are not actually delivered. This feature is requested via the - reject_unverified_sender and reject_unverified_recipient access - restrictions. The status of verification probes is maintained by the - verify(8) server. See the file ADDRESS_VERIFICATION_README for infor- - mation about how to configure and operate the Postfix sender/recipient + reject_unverified_sender and reject_unverified_recipient access + restrictions. The status of verification probes is maintained by the + verify(8) server. See the file ADDRESS_VERIFICATION_README for infor- + mation about how to configure and operate the Postfix sender/recipient address verification service. address_verify_poll_count (normal: 3, overload: 1) @@ -1194,7 +1202,7 @@ SMTPD(8) SMTPD(8) fication request in progress. address_verify_sender ($double_bounce_sender) - The sender address to use in address verification probes; prior + The sender address to use in address verification probes; prior to Postfix 2.5 the default was "postmaster". unverified_sender_reject_code (450) @@ -1202,18 +1210,18 @@ SMTPD(8) SMTPD(8) address is rejected by the reject_unverified_sender restriction. unverified_recipient_reject_code (450) - The numerical Postfix SMTP server response when a recipient - address is rejected by the reject_unverified_recipient restric- + The numerical Postfix SMTP server response when a recipient + address is rejected by the reject_unverified_recipient restric- tion. Available in Postfix version 2.6 and later: unverified_sender_defer_code (450) - The numerical Postfix SMTP server response code when a sender + The numerical Postfix SMTP server response code when a sender address probe fails due to a temporary error condition. unverified_recipient_defer_code (450) - The numerical Postfix SMTP server response when a recipient + The numerical Postfix SMTP server response when a recipient address probe fails due to a temporary error condition. unverified_sender_reject_reason (empty) @@ -1225,17 +1233,17 @@ SMTPD(8) SMTPD(8) reject_unverified_recipient. unverified_sender_tempfail_action ($reject_tempfail_action) - The Postfix SMTP server's action when reject_unverified_sender + The Postfix SMTP server's action when reject_unverified_sender fails due to a temporary error condition. unverified_recipient_tempfail_action ($reject_tempfail_action) - The Postfix SMTP server's action when reject_unverified_recipi- + The Postfix SMTP server's action when reject_unverified_recipi- ent fails due to a temporary error condition. Available with Postfix 2.9 and later: address_verify_sender_ttl (0s) - The time between changes in the time-dependent portion of + The time between changes in the time-dependent portion of address verification probe sender addresses. ACCESS CONTROL RESPONSES @@ -1247,36 +1255,36 @@ SMTPD(8) SMTPD(8) map "reject" action. defer_code (450) - The numerical Postfix SMTP server response code when a remote + The numerical Postfix SMTP server response code when a remote SMTP client request is rejected by the "defer" restriction. invalid_hostname_reject_code (501) - The numerical Postfix SMTP server response code when the client - HELO or EHLO command parameter is rejected by the + The numerical Postfix SMTP server response code when the client + HELO or EHLO command parameter is rejected by the reject_invalid_helo_hostname restriction. maps_rbl_reject_code (554) - The numerical Postfix SMTP server response code when a remote - SMTP client request is blocked by the reject_rbl_client, + The numerical Postfix SMTP server response code when a remote + SMTP client request is blocked by the reject_rbl_client, reject_rhsbl_client, reject_rhsbl_reverse_client, reject_rhsbl_sender or reject_rhsbl_recipient restriction. non_fqdn_reject_code (504) - The numerical Postfix SMTP server reply code when a client - request is rejected by the reject_non_fqdn_helo_hostname, + The numerical Postfix SMTP server reply code when a client + request is rejected by the reject_non_fqdn_helo_hostname, reject_non_fqdn_sender or reject_non_fqdn_recipient restriction. plaintext_reject_code (450) - The numerical Postfix SMTP server response code when a request + The numerical Postfix SMTP server response code when a request is rejected by the reject_plaintext_session restriction. reject_code (554) - The numerical Postfix SMTP server response code when a remote + The numerical Postfix SMTP server response code when a remote SMTP client request is rejected by the "reject" restriction. relay_domains_reject_code (554) - The numerical Postfix SMTP server response code when a client - request is rejected by the reject_unauth_destination recipient + The numerical Postfix SMTP server response code when a client + request is rejected by the reject_unauth_destination recipient restriction. unknown_address_reject_code (450) @@ -1284,24 +1292,24 @@ SMTPD(8) SMTPD(8) a sender or recipient address because its domain is unknown. unknown_client_reject_code (450) - The numerical Postfix SMTP server response code when a client - without valid address <=> name mapping is rejected by the + The numerical Postfix SMTP server response code when a client + without valid address <=> name mapping is rejected by the reject_unknown_client_hostname restriction. unknown_hostname_reject_code (450) - The numerical Postfix SMTP server response code when the host- - name specified with the HELO or EHLO command is rejected by the + The numerical Postfix SMTP server response code when the host- + name specified with the HELO or EHLO command is rejected by the reject_unknown_helo_hostname restriction. Available in Postfix version 2.0 and later: default_rbl_reply (see 'postconf -d' output) - The default Postfix SMTP server response template for a request + The default Postfix SMTP server response template for a request that is rejected by an RBL-based restriction. multi_recipient_bounce_reject_code (550) - The numerical Postfix SMTP server response code when a remote - SMTP client request is blocked by the reject_multi_recipi- + The numerical Postfix SMTP server response code when a remote + SMTP client request is blocked by the reject_multi_recipi- ent_bounce restriction. rbl_reply_maps (empty) @@ -1311,52 +1319,52 @@ SMTPD(8) SMTPD(8) access_map_defer_code (450) The numerical Postfix SMTP server response code for an access(5) - map "defer" action, including "defer_if_permit" or + map "defer" action, including "defer_if_permit" or "defer_if_reject". reject_tempfail_action (defer_if_permit) - The Postfix SMTP server's action when a reject-type restriction + The Postfix SMTP server's action when a reject-type restriction fails due to a temporary error condition. unknown_helo_hostname_tempfail_action ($reject_tempfail_action) - The Postfix SMTP server's action when reject_unknown_helo_host- + The Postfix SMTP server's action when reject_unknown_helo_host- name fails due to a temporary error condition. unknown_address_tempfail_action ($reject_tempfail_action) - The Postfix SMTP server's action when - reject_unknown_sender_domain or reject_unknown_recipient_domain + The Postfix SMTP server's action when + reject_unknown_sender_domain or reject_unknown_recipient_domain fail due to a temporary error condition. MISCELLANEOUS CONTROLS config_directory (see 'postconf -d' output) - The default location of the Postfix main.cf and master.cf con- + The default location of the Postfix main.cf and master.cf con- figuration files. daemon_timeout (18000s) - How much time a Postfix daemon process may take to handle a + How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. command_directory (see 'postconf -d' output) The location of all postfix administrative commands. double_bounce_sender (double-bounce) - The sender address of postmaster notifications that are gener- + The sender address of postmaster notifications that are gener- ated by the mail system. ipc_timeout (3600s) - The time limit for sending or receiving information over an + The time limit for sending or receiving information over an internal communication channel. mail_name (Postfix) - The mail system name that is displayed in Received: headers, in + The mail system name that is displayed in Received: headers, in the SMTP greeting banner, and in bounced mail. mail_owner (postfix) - The UNIX system account that owns the Postfix queue and most + The UNIX system account that owns the Postfix queue and most Postfix daemon processes. max_idle (100s) - The maximum amount of time that an idle Postfix daemon process + The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. max_use (100) @@ -1367,11 +1375,11 @@ SMTPD(8) SMTPD(8) The internet hostname of this mail system. mynetworks (see 'postconf -d' output) - The list of "trusted" remote SMTP clients that have more privi- + The list of "trusted" remote SMTP clients that have more privi- leges than "strangers". myorigin ($myhostname) - The domain name that locally-posted mail appears to come from, + The domain name that locally-posted mail appears to come from, and that locally posted mail is delivered to. process_id (read-only) @@ -1384,24 +1392,24 @@ SMTPD(8) SMTPD(8) The location of the Postfix top-level queue directory. recipient_delimiter (empty) - The set of characters that can separate an email address local- + The set of characters that can separate an email address local- part, user name, or a .forward file name from its extension. smtpd_banner ($myhostname ESMTP $mail_name) - The text that follows the 220 status code in the SMTP greeting + The text that follows the 220 status code in the SMTP greeting banner. syslog_facility (mail) The syslog facility of Postfix logging. syslog_name (see 'postconf -d' output) - A prefix that is prepended to the process name in syslog + A prefix that is prepended to the process name in syslog records, so that, for example, "smtpd" becomes "prefix/smtpd". Available in Postfix version 2.2 and later: smtpd_forbidden_commands (CONNECT GET POST regexp:{{/^[^A-Z]/ Bogus}}) - List of commands that cause the Postfix SMTP server to immedi- + List of commands that cause the Postfix SMTP server to immedi- ately terminate the session with a 221 code. Available in Postfix version 2.5 and later: @@ -1418,7 +1426,7 @@ SMTPD(8) SMTPD(8) Available in Postfix 3.4 and later: smtpd_reject_footer_maps (empty) - Lookup tables, indexed by the complete Postfix SMTP server 4xx + Lookup tables, indexed by the complete Postfix SMTP server 4xx or 5xx response, with reject footer templates. SEE ALSO diff --git a/html/socketmap_table.5.html b/html/socketmap_table.5.html index a8bbd07..4c9e96c 100644 --- a/html/socketmap_table.5.html +++ b/html/socketmap_table.5.html @@ -18,7 +18,7 @@ SOCKETMAP_TABLE(5) SOCKETMAP_TABLE(5) postmap -q - socketmap:unix:pathname:name <inputfile DESCRIPTION - The Postfix mail system uses optional tables for address rewriting. + The Postfix mail system uses optional tables for address rewriting, mail routing or policy lookup. The Postfix socketmap client expects TCP endpoint names of the form diff --git a/html/tlsproxy.8.html b/html/tlsproxy.8.html index 0c36743..615a222 100644 --- a/html/tlsproxy.8.html +++ b/html/tlsproxy.8.html @@ -170,26 +170,26 @@ TLSPROXY(8) TLSPROXY(8) tialization functions. STARTTLS SERVER CONTROLS - These settings are clones of Postfix SMTP server settings. They allow + These settings are clones of Postfix SMTP server settings. They allow tlsproxy(8) to load the same certificate and private key information as - the Postfix SMTP server, before dropping privileges, so that the key - files can be kept read-only for root. These settings can currently not - be overruled by information in a tlsproxy(8) client request, but that + the Postfix SMTP server, before dropping privileges, so that the key + files can be kept read-only for root. These settings can currently not + be overruled by information in a tlsproxy(8) client request, but that limitation may be removed in a future version. tlsproxy_tls_CAfile ($smtpd_tls_CAfile) - A file containing (PEM format) CA certificates of root CAs + A file containing (PEM format) CA certificates of root CAs trusted to sign either remote SMTP client certificates or inter- mediate CA certificates. tlsproxy_tls_CApath ($smtpd_tls_CApath) - A directory containing (PEM format) CA certificates of root CAs + A directory containing (PEM format) CA certificates of root CAs trusted to sign either remote SMTP client certificates or inter- mediate CA certificates. tlsproxy_tls_always_issue_session_ids ($smtpd_tls_always_issue_ses- sion_ids) - Force the Postfix tlsproxy(8) server to issue a TLS session id, + Force the Postfix tlsproxy(8) server to issue a TLS session id, even when TLS session caching is turned off. tlsproxy_tls_ask_ccert ($smtpd_tls_ask_ccert) @@ -199,7 +199,7 @@ TLSPROXY(8) TLSPROXY(8) The verification depth for remote SMTP client certificates. tlsproxy_tls_cert_file ($smtpd_tls_cert_file) - File with the Postfix tlsproxy(8) server RSA certificate in PEM + File with the Postfix tlsproxy(8) server RSA certificate in PEM format. tlsproxy_tls_ciphers ($smtpd_tls_ciphers) @@ -207,47 +207,47 @@ TLSPROXY(8) TLSPROXY(8) will use with opportunistic TLS encryption. tlsproxy_tls_dcert_file ($smtpd_tls_dcert_file) - File with the Postfix tlsproxy(8) server DSA certificate in PEM + File with the Postfix tlsproxy(8) server DSA certificate in PEM format. tlsproxy_tls_dh1024_param_file ($smtpd_tls_dh1024_param_file) - File with DH parameters that the Postfix tlsproxy(8) server + File with DH parameters that the Postfix tlsproxy(8) server should use with non-export EDH ciphers. tlsproxy_tls_dh512_param_file ($smtpd_tls_dh512_param_file) - File with DH parameters that the Postfix tlsproxy(8) server + File with DH parameters that the Postfix tlsproxy(8) server should use with export-grade EDH ciphers. tlsproxy_tls_dkey_file ($smtpd_tls_dkey_file) - File with the Postfix tlsproxy(8) server DSA private key in PEM + File with the Postfix tlsproxy(8) server DSA private key in PEM format. tlsproxy_tls_eccert_file ($smtpd_tls_eccert_file) - File with the Postfix tlsproxy(8) server ECDSA certificate in + File with the Postfix tlsproxy(8) server ECDSA certificate in PEM format. tlsproxy_tls_eckey_file ($smtpd_tls_eckey_file) - File with the Postfix tlsproxy(8) server ECDSA private key in + File with the Postfix tlsproxy(8) server ECDSA private key in PEM format. tlsproxy_tls_eecdh_grade ($smtpd_tls_eecdh_grade) - The Postfix tlsproxy(8) server security grade for ephemeral + The Postfix tlsproxy(8) server security grade for ephemeral elliptic-curve Diffie-Hellman (EECDH) key exchange. tlsproxy_tls_exclude_ciphers ($smtpd_tls_exclude_ciphers) - List of ciphers or cipher types to exclude from the tlsproxy(8) + List of ciphers or cipher types to exclude from the tlsproxy(8) server cipher list at all TLS security levels. tlsproxy_tls_fingerprint_digest ($smtpd_tls_fingerprint_digest) - The message digest algorithm to construct remote SMTP + The message digest algorithm to construct remote SMTP client-certificate fingerprints. tlsproxy_tls_key_file ($smtpd_tls_key_file) - File with the Postfix tlsproxy(8) server RSA private key in PEM + File with the Postfix tlsproxy(8) server RSA private key in PEM format. tlsproxy_tls_loglevel ($smtpd_tls_loglevel) - Enable additional Postfix tlsproxy(8) server logging of TLS + Enable additional Postfix tlsproxy(8) server logging of TLS activity. tlsproxy_tls_mandatory_ciphers ($smtpd_tls_mandatory_ciphers) @@ -256,7 +256,7 @@ TLSPROXY(8) TLSPROXY(8) tlsproxy_tls_mandatory_exclude_ciphers ($smtpd_tls_manda- tory_exclude_ciphers) - Additional list of ciphers or cipher types to exclude from the + Additional list of ciphers or cipher types to exclude from the tlsproxy(8) server cipher list at mandatory TLS security levels. tlsproxy_tls_mandatory_protocols ($smtpd_tls_mandatory_protocols) @@ -264,67 +264,74 @@ TLSPROXY(8) TLSPROXY(8) with mandatory TLS encryption. tlsproxy_tls_protocols ($smtpd_tls_protocols) - List of TLS protocols that the Postfix tlsproxy(8) server will + List of TLS protocols that the Postfix tlsproxy(8) server will exclude or include with opportunistic TLS encryption. tlsproxy_tls_req_ccert ($smtpd_tls_req_ccert) - With mandatory TLS encryption, require a trusted remote SMTP + With mandatory TLS encryption, require a trusted remote SMTP client certificate in order to allow TLS connections to proceed. tlsproxy_tls_security_level ($smtpd_tls_security_level) - The SMTP TLS security level for the Postfix tlsproxy(8) server; + The SMTP TLS security level for the Postfix tlsproxy(8) server; when a non-empty value is specified, this overrides the obsolete parameters smtpd_use_tls and smtpd_enforce_tls. tlsproxy_tls_chain_files ($smtpd_tls_chain_files) - Files with the Postfix tlsproxy(8) server keys and certificate + Files with the Postfix tlsproxy(8) server keys and certificate chains in PEM format. + Available in Postfix version 3.9 and later: + + tlsproxy_tls_enable_rpk ($smtpd_tls_enable_rpk) + Request that remote SMTP clients send an RFC7250 raw public key + instead of an X.509 certificate, when asking or requiring client + authentication. + STARTTLS CLIENT CONTROLS - These settings are clones of Postfix SMTP client settings. They allow + These settings are clones of Postfix SMTP client settings. They allow tlsproxy(8) to load the same certificate and private key information as - the Postfix SMTP client, before dropping privileges, so that the key + the Postfix SMTP client, before dropping privileges, so that the key files can be kept read-only for root. Some settings may be overruled by information in a tlsproxy(8) client request. Available in Postfix version 3.4 and later: tlsproxy_client_CAfile ($smtp_tls_CAfile) - A file containing CA certificates of root CAs trusted to sign - either remote TLS server certificates or intermediate CA cer- + A file containing CA certificates of root CAs trusted to sign + either remote TLS server certificates or intermediate CA cer- tificates. tlsproxy_client_CApath ($smtp_tls_CApath) - Directory with PEM format Certification Authority certificates - that the Postfix tlsproxy(8) client uses to verify a remote TLS + Directory with PEM format Certification Authority certificates + that the Postfix tlsproxy(8) client uses to verify a remote TLS server certificate. tlsproxy_client_chain_files ($smtp_tls_chain_files) - Files with the Postfix tlsproxy(8) client keys and certificate + Files with the Postfix tlsproxy(8) client keys and certificate chains in PEM format. tlsproxy_client_cert_file ($smtp_tls_cert_file) - File with the Postfix tlsproxy(8) client RSA certificate in PEM + File with the Postfix tlsproxy(8) client RSA certificate in PEM format. tlsproxy_client_key_file ($smtp_tls_key_file) - File with the Postfix tlsproxy(8) client RSA private key in PEM + File with the Postfix tlsproxy(8) client RSA private key in PEM format. tlsproxy_client_dcert_file ($smtp_tls_dcert_file) - File with the Postfix tlsproxy(8) client DSA certificate in PEM + File with the Postfix tlsproxy(8) client DSA certificate in PEM format. tlsproxy_client_dkey_file ($smtp_tls_dkey_file) - File with the Postfix tlsproxy(8) client DSA private key in PEM + File with the Postfix tlsproxy(8) client DSA private key in PEM format. tlsproxy_client_eccert_file ($smtp_tls_eccert_file) - File with the Postfix tlsproxy(8) client ECDSA certificate in + File with the Postfix tlsproxy(8) client ECDSA certificate in PEM format. tlsproxy_client_eckey_file ($smtp_tls_eckey_file) - File with the Postfix tlsproxy(8) client ECDSA private key in + File with the Postfix tlsproxy(8) client ECDSA private key in PEM format. tlsproxy_client_fingerprint_digest ($smtp_tls_fingerprint_digest) @@ -332,7 +339,7 @@ TLSPROXY(8) TLSPROXY(8) certificate fingerprints. tlsproxy_client_loglevel ($smtp_tls_loglevel) - Enable additional Postfix tlsproxy(8) client logging of TLS + Enable additional Postfix tlsproxy(8) client logging of TLS activity. tlsproxy_client_loglevel_parameter (smtp_tls_loglevel) @@ -343,43 +350,43 @@ TLSPROXY(8) TLSPROXY(8) The verification depth for remote TLS server certificates. tlsproxy_client_use_tls ($smtp_use_tls) - Opportunistic mode: use TLS when a remote server announces TLS + Opportunistic mode: use TLS when a remote server announces TLS support. tlsproxy_client_enforce_tls ($smtp_enforce_tls) - Enforcement mode: require that SMTP servers use TLS encryption. + Enforcement mode: require that SMTP servers use TLS encryption. tlsproxy_client_per_site ($smtp_tls_per_site) - Optional lookup tables with the Postfix tlsproxy(8) client TLS - usage policy by next-hop destination and by remote TLS server + Optional lookup tables with the Postfix tlsproxy(8) client TLS + usage policy by next-hop destination and by remote TLS server hostname. Available in Postfix version 3.4-3.6: tlsproxy_client_level ($smtp_tls_security_level) - The default TLS security level for the Postfix tlsproxy(8) + The default TLS security level for the Postfix tlsproxy(8) client. tlsproxy_client_policy ($smtp_tls_policy_maps) - Optional lookup tables with the Postfix tlsproxy(8) client TLS + Optional lookup tables with the Postfix tlsproxy(8) client TLS security policy by next-hop destination. Available in Postfix version 3.7 and later: tlsproxy_client_security_level ($smtp_tls_security_level) - The default TLS security level for the Postfix tlsproxy(8) + The default TLS security level for the Postfix tlsproxy(8) client. tlsproxy_client_policy_maps ($smtp_tls_policy_maps) - Optional lookup tables with the Postfix tlsproxy(8) client TLS + Optional lookup tables with the Postfix tlsproxy(8) client TLS security policy by next-hop destination. OBSOLETE STARTTLS SUPPORT CONTROLS - These parameters are supported for compatibility with smtpd(8) legacy + These parameters are supported for compatibility with smtpd(8) legacy parameters. tlsproxy_use_tls ($smtpd_use_tls) - Opportunistic TLS: announce STARTTLS support to remote SMTP + Opportunistic TLS: announce STARTTLS support to remote SMTP clients, but do not require that clients use TLS encryption. tlsproxy_enforce_tls ($smtpd_enforce_tls) @@ -387,11 +394,11 @@ TLSPROXY(8) TLSPROXY(8) and require that clients use TLS encryption. tlsproxy_client_use_tls ($smtp_use_tls) - Opportunistic mode: use TLS when a remote server announces TLS + Opportunistic mode: use TLS when a remote server announces TLS support. tlsproxy_client_enforce_tls ($smtp_enforce_tls) - Enforcement mode: require that SMTP servers use TLS encryption. + Enforcement mode: require that SMTP servers use TLS encryption. RESOURCE CONTROLS tlsproxy_watchdog_timeout (10s) @@ -400,7 +407,7 @@ TLSPROXY(8) TLSPROXY(8) MISCELLANEOUS CONTROLS config_directory (see 'postconf -d' output) - The default location of the Postfix main.cf and master.cf con- + The default location of the Postfix main.cf and master.cf con- figuration files. process_id (read-only) @@ -413,7 +420,7 @@ TLSPROXY(8) TLSPROXY(8) The syslog facility of Postfix logging. syslog_name (see 'postconf -d' output) - A prefix that is prepended to the process name in syslog + A prefix that is prepended to the process name in syslog records, so that, for example, "smtpd" becomes "prefix/smtpd". Available in Postfix 3.3 and later: diff --git a/html/trivial-rewrite.8.html b/html/trivial-rewrite.8.html index 1bcd8e7..7b1e3e3 100644 --- a/html/trivial-rewrite.8.html +++ b/html/trivial-rewrite.8.html @@ -134,9 +134,11 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8) Available in Postfix 2.2 and later: remote_header_rewrite_domain (empty) - Don't rewrite message headers from remote clients at all when - this parameter is empty; otherwise, rewrite message headers and - append the specified domain name to incomplete addresses. + Rewrite or add message headers in mail from remote clients if + the remote_header_rewrite_domain parameter value is non-empty, + updating incomplete addresses with the domain specified in the + remote_header_rewrite_domain parameter, and adding missing head- + ers. ROUTING CONTROLS The following is applicable to Postfix version 2.0 and later. Earlier @@ -155,13 +157,14 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8) relay_transport (relay) The default mail delivery transport and next-hop destination for - remote delivery to domains listed with $relay_domains. + the relay domain address class: recipient domains that match + $relay_domains. default_transport (smtp) The default mail delivery transport and next-hop destination for - destinations that do not match $mydestination, $inet_interfaces, - $proxy_interfaces, $virtual_alias_domains, $virtual_mail- - box_domains, or $relay_domains. + the default domain class: recipient domains that do not match + $mydestination, $inet_interfaces, $proxy_interfaces, $vir- + tual_alias_domains, $virtual_mailbox_domains, or $relay_domains. parent_domain_matches_subdomains (see 'postconf -d' output) A list of Postfix features where the pattern "example.com" also @@ -169,8 +172,8 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8) explicit ".example.com" pattern. relayhost (empty) - The next-hop destination(s) for non-local mail; overrides - non-local domains in recipient addresses. + The next-hop destination(s) for non-local mail; takes precedence + over non-local domains in recipient addresses. transport_maps (empty) Optional lookup tables with mappings from recipient address to diff --git a/html/virtual.5.html b/html/virtual.5.html index 7e9061e..c1c6ece 100644 --- a/html/virtual.5.html +++ b/html/virtual.5.html @@ -18,101 +18,102 @@ VIRTUAL(5) VIRTUAL(5) postmap -q - /etc/postfix/virtual <inputfile DESCRIPTION - The optional virtual(5) alias table rewrites recipient addresses for - all local, all virtual, and all remote mail destinations. This is - unlike the aliases(5) table which is used only for local(8) delivery. - This feature is implemented in the Postfix cleanup(8) daemon before - mail is queued. + The optional virtual(5) alias table (virtual_alias_maps) applies to all + recipients: local(8), virtual, and remote. This feature is implemented + in the Postfix cleanup(8) daemon before mail is queued. - Virtual aliasing is recursive; to terminate recursion for a specific + This is unlike the aliases(5) table (alias_maps) which applies only to + local(8) recipients. + + Virtual aliasing is recursive; to terminate recursion for a specific address, alias that address to itself. - The main applications of virtual aliasing are: + The main applications of virtual aliasing are: o To redirect mail for one address to one or more addresses. - o To implement virtual alias domains where all addresses are + o To implement virtual alias domains where all addresses are aliased to addresses in other domains. - Virtual alias domains are not to be confused with the virtual + Virtual alias domains are not to be confused with the virtual mailbox domains that are implemented with the Postfix virtual(8) - mail delivery agent. With virtual mailbox domains, each recipi- + mail delivery agent. With virtual mailbox domains, each recipi- ent address can have its own mailbox. - Virtual aliasing is applied only to recipient envelope addresses, and - does not affect message headers. Use canonical(5) mapping to rewrite + Virtual aliasing is applied only to recipient envelope addresses, and + does not affect message headers. Use canonical(5) mapping to rewrite header and envelope addresses in general. - Normally, the virtual(5) alias table is specified as a text file that + Normally, the virtual(5) alias table is specified as a text file that serves as input to the postmap(1) command. The result, an indexed file - in dbm or db format, is used for fast searching by the mail system. + in dbm or db format, is used for fast searching by the mail system. Execute the command "postmap /etc/postfix/virtual" to rebuild an indexed file after changing the corresponding text file. - When the table is provided via other means such as NIS, LDAP or SQL, + When the table is provided via other means such as NIS, LDAP 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, or lookups can be - directed to a TCP-based server. In those case, the lookups are done in - a slightly different way as described below under "REGULAR EXPRESSION + Alternatively, the table can be provided as a regular-expression map + where patterns are given as regular expressions, or lookups can be + directed to a TCP-based server. In those case, the lookups are done in + a slightly different way as described below under "REGULAR EXPRESSION TABLES" or "TCP-BASED TABLES". CASE FOLDING - The search string is folded to lowercase before database lookup. As of - Postfix 2.3, the search string is not case folded with database types - such as regexp: or pcre: whose lookup fields can match both upper and + The search string is folded to lowercase before database lookup. As of + Postfix 2.3, the search string is not case folded with database types + such as regexp: or pcre: whose lookup fields can match both upper and lower case. TABLE FORMAT The input format for the postmap(1) command is as follows: pattern address, address, ... - When pattern matches a mail address, replace it by the corre- + When pattern matches a mail address, replace it by the corre- sponding address. blank lines and comments - Empty lines and whitespace-only lines are ignored, as are lines + Empty lines and whitespace-only lines are ignored, as are lines whose first non-whitespace character is a `#'. multi-line text - A logical line starts with non-whitespace text. A line that + A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line. TABLE SEARCH ORDER - With lookups from indexed files such as DB or DBM, or from networked - tables such as NIS, LDAP or SQL, each user@domain query produces a + With lookups from indexed files such as DB or DBM, or from networked + tables such as NIS, LDAP or SQL, each user@domain query produces a sequence of query patterns as described below. Each query pattern is sent to each specified lookup table before trying the next query pattern, until a match is found. user@domain address, address, ... - Redirect mail for user@domain to address. This form has the + Redirect mail for user@domain to address. This form has the highest precedence. user address, address, ... - Redirect mail for user@site to address when site is equal to - $myorigin, when site is listed in $mydestination, or when it is + Redirect mail for user@site to address when site is equal to + $myorigin, when site is listed in $mydestination, or when it is listed in $inet_interfaces or $proxy_interfaces. - This functionality overlaps with the functionality of the local - aliases(5) database. The difference is that virtual(5) mapping + This functionality overlaps with the functionality of the local + aliases(5) database. The difference is that virtual(5) mapping can be applied to non-local addresses. @domain address, address, ... - Redirect mail for other users in domain to address. This form + Redirect mail for other users in domain to address. This form has the lowest precedence. - Note: @domain is a wild-card. With this form, the Postfix SMTP - server accepts mail for any recipient in domain, regardless of - whether that recipient exists. This may turn your mail system - into a backscatter source: Postfix first accepts mail for - non-existent recipients and then tries to return that mail as + Note: @domain is a wild-card. With this form, the Postfix SMTP + server accepts mail for any recipient in domain, regardless of + whether that recipient exists. This may turn your mail system + into a backscatter source: Postfix first accepts mail for + non-existent recipients and then tries to return that mail as "undeliverable" to the often forged sender address. - To avoid backscatter with mail for a wild-card domain, replace - the wild-card mapping with explicit 1:1 mappings, or add a + To avoid backscatter with mail for a wild-card domain, replace + the wild-card mapping with explicit 1:1 mappings, or add a reject_unverified_recipient restriction for that domain: smtpd_recipient_restrictions = @@ -128,11 +129,11 @@ VIRTUAL(5) VIRTUAL(5) RESULT ADDRESS REWRITING The lookup result is subject to address rewriting: - o When the result has the form @otherdomain, the result becomes - the same user in otherdomain. This works only for the first + o When the result has the form @otherdomain, the result becomes + the same user in otherdomain. This works only for the first address in a multi-address lookup result. - o When "append_at_myorigin=yes", append "@$myorigin" to addresses + o When "append_at_myorigin=yes", append "@$myorigin" to addresses without "@domain". o When "append_dot_mydomain=yes", append ".$mydomain" to addresses @@ -140,26 +141,26 @@ VIRTUAL(5) VIRTUAL(5) ADDRESS EXTENSION When a mail address localpart contains the optional recipient delimiter - (e.g., user+foo@domain), the lookup order becomes: user+foo@domain, + (e.g., user+foo@domain), the lookup order becomes: user+foo@domain, user@domain, user+foo, user, and @domain. - The propagate_unmatched_extensions parameter controls whether an + The propagate_unmatched_extensions parameter controls whether an unmatched address extension (+foo) is propagated to the result of a ta- ble lookup. VIRTUAL ALIAS DOMAINS - Besides virtual aliases, the virtual alias table can also be used to - implement virtual alias domains. With a virtual alias domain, all + Besides virtual aliases, the virtual alias table can also be used to + implement virtual alias domains. With a virtual alias domain, all recipient addresses are aliased to addresses in other domains. - Virtual alias domains are not to be confused with the virtual mailbox - domains that are implemented with the Postfix virtual(8) mail delivery - agent. With virtual mailbox domains, each recipient address can have + Virtual alias domains are not to be confused with the virtual mailbox + domains that are implemented with the Postfix virtual(8) mail delivery + agent. With virtual mailbox domains, each recipient address can have its own mailbox. - With a virtual alias domain, the virtual domain has its own user name - space. Local (i.e. non-virtual) usernames are not visible in a virtual - alias domain. In particular, local aliases(5) and local mailing lists + With a virtual alias domain, the virtual domain has its own user name + space. Local (i.e. non-virtual) usernames are not visible in a virtual + alias domain. In particular, local aliases(5) and local mailing lists are not visible as localname@virtual-alias.domain. Support for a virtual alias domain looks like: @@ -167,7 +168,7 @@ VIRTUAL(5) VIRTUAL(5) /etc/postfix/main.cf: virtual_alias_maps = hash:/etc/postfix/virtual - Note: some systems use dbm databases instead of hash. See the output + Note: some systems use dbm databases instead of hash. See the output from "postconf -m" for available database types. /etc/postfix/virtual: @@ -177,46 +178,46 @@ VIRTUAL(5) VIRTUAL(5) user2@virtual-alias.domain address2, address3 The virtual-alias.domain anything entry is required for a virtual alias - domain. Without this entry, mail is rejected with "relay access + domain. Without this entry, mail is rejected with "relay access denied", or bounces with "mail loops back to myself". - Do not specify virtual alias domain names in the main.cf mydestination + Do not specify virtual alias domain names in the main.cf mydestination or relay_domains configuration parameters. - With a virtual alias domain, the Postfix SMTP server accepts mail for + With a virtual alias domain, the Postfix SMTP server accepts mail for known-user@virtual-alias.domain, and rejects mail for unknown-user@vir- tual-alias.domain as undeliverable. - Instead of specifying the virtual alias domain name via the vir- - tual_alias_maps table, you may also specify it via the main.cf vir- + Instead of specifying the virtual alias domain name via the vir- + tual_alias_maps table, you may also specify it via the main.cf vir- tual_alias_domains configuration parameter. 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 a description of regular + 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, see regexp_table(5) or pcre_table(5). - Each pattern is a regular expression that is applied to the entire - address being looked up. Thus, user@domain mail addresses are not bro- - ken up into their user and @domain constituent parts, nor is user+foo + Each pattern is a regular expression that is applied to the entire + address being looked up. Thus, user@domain mail addresses are not bro- + ken up into their user and @domain constituent parts, nor is user+foo broken up into user and foo. - Patterns are applied in the order as specified in the table, until a + 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 the pattern can be interpo- + Results are the same as with indexed file lookups, with the additional + feature that parenthesized substrings from the pattern can be interpo- lated as $1, $2 and so on. TCP-BASED TABLES - This section describes how the table lookups change when lookups are - directed to a TCP-based server. For a description of the TCP - client/server lookup protocol, see tcp_table(5). This feature is + This section describes how the table lookups change when lookups are + directed to a TCP-based server. For a description of the TCP + client/server lookup protocol, see tcp_table(5). This feature is available in Postfix 2.5 and later. - Each lookup operation uses the entire address once. Thus, user@domain - mail addresses are not broken up into their user and @domain con- + Each lookup operation uses the entire address once. Thus, user@domain + mail addresses are not broken up into their user and @domain con- stituent parts, nor is user+foo broken up into user and foo. Results are the same as with indexed file lookups. @@ -230,8 +231,9 @@ VIRTUAL(5) VIRTUAL(5) Use the "postfix reload" command after a configuration change. virtual_alias_maps ($virtual_maps) - Optional lookup tables that alias specific mail addresses or - domains to other local or remote addresses. + Optional lookup tables with aliases that apply to all recipi- + ents: local(8), virtual, and remote; this is unlike alias_maps + that apply only to local(8) recipients. virtual_alias_domains ($virtual_alias_maps) Postfix is the final destination for the specified list of vir- @@ -245,8 +247,8 @@ VIRTUAL(5) VIRTUAL(5) Other parameters of interest: inet_interfaces (all) - The network interface addresses that this mail system receives - mail on. + The local network interface addresses that this mail system + receives mail on. mydestination ($myhostname, localhost.$mydomain, localhost) The list of domains that are delivered via the $local_transport @@ -263,8 +265,9 @@ VIRTUAL(5) VIRTUAL(5) set to "-". proxy_interfaces (empty) - The network interface addresses that this mail system receives - mail on by way of a proxy or network address translation unit. + The remote network interface addresses that this mail system + receives mail on by way of a proxy or network address transla- + tion unit. SEE ALSO cleanup(8), canonicalize and enqueue mail -- cgit v1.2.3
    • Address manipulation Scope Daemon Global turn-on control Selective -turn-off control
      Daemon Turn-on controls +Turn-off controls
      Rewrite addresses to standard form all mail trivial-
      rewrite(8)
      cleanup(8) < nowrap> all mail cleanup(8) virtual_alias_maps receive_override_options
      Resolve address to destination - all mail trivial-
      rewrite(8)
      none none
      Mail transport switch all mail trivial-
      rewrite(8)
      -transport_maps none
      Resolve address to (transport, next-hop +destination) all mail +trivial-
      rewrite(8)
      local_transport, virtual_transport, +relay_transport, default_transport, relayhost, +sender_dependent_relayhost_maps, sender_dependent_default_transport_maps + content_filter
      Relocated users table all mail trivial-
      rewrite(8)
      @@ -774,6 +771,11 @@ may be a more appropriate vehicle. See the VIRTUAL for an overview of methods to host virtual domains with Postfix.

      +

      Note: virtual aliasing (virtual_alias_maps) applies to all +recipients: local(8), virtual, and remote. +This is unlike local aliasing (alias_maps) which applies only to +local(8) recipients.

      +

      Virtual aliasing is disabled by default. To enable, edit the virtual_alias_maps parameter in the main.cf file and specify one or more lookup tables, separated by whitespace or @@ -792,7 +794,7 @@ commas.

      Addresses found in virtual alias maps are subjected to another -iteration of virtual aliasing, but are not subjected to canonical +iteration of virtual aliasing, but are not subjected to canonical mapping, in order to avoid loops.

      For static mappings as shown above, lookup tables such as hash:, @@ -833,9 +835,8 @@ manager delegates the more complex address manipulations to the

      Logged with compatibility_level < 2:

      Logged with compatibility_level < 3.6:

      @@ -241,6 +241,48 @@ administrator should make the backwards-compatible setting +

      Using backwards-compatible default +setting smtputf8_enable=no

      + +

      The smtputf8_enable default value has changed from "no" to "yes". +With the new "yes" setting, the Postfix SMTP server rejects non-ASCII +addresses from clients that don't request SMTPUTF8 support, after +Postfix is updated from an older version. The backwards-compatibility +safety net is designed to prevent such surprises.

      + +

      As long as the smtputf8_enable parameter is left at its implicit +default value, and the compatibility_level setting is +less than 1, Postfix logs a warning each time an SMTP command uses a +non-ASCII address localpart without requesting SMTPUTF8 support:

      + +
      +
      +postfix/smtpd[27560]: using backwards-compatible default setting
      +    smtputf8_enable=no to accept non-ASCII sender address
      +    "??@example.org" from localhost[127.0.0.1]
      +
      +
      + +
      +
      +postfix/smtpd[27560]: using backwards-compatible default setting
      +    smtputf8_enable=no to accept non-ASCII recipient address
      +    "??@example.com" from localhost[127.0.0.1]
      +
      +
      + +

      If the address should not be rejected, and the client cannot +be updated to use SMTPUTF8, then the system administrator should +make the backwards-compatible setting "smtputf8_enable = no" permanent +in main.cf: + +

      +
      +# postconf smtputf8_enable=no
      +# postfix reload
      +
      +
      +

      Using backwards-compatible default setting mynetworks_style=subnet

      @@ -352,48 +394,6 @@ administrator should make the backwards-compatible setting

      Instead of $mydestination, it may be better to specify an explicit list of domain names.

      -

      Using backwards-compatible default -setting smtputf8_enable=no

      - -

      The smtputf8_enable default value has changed from "no" to "yes". -With the new "yes" setting, the Postfix SMTP server rejects non-ASCII -addresses from clients that don't request SMTPUTF8 support, after -Postfix is updated from an older version. The backwards-compatibility -safety net is designed to prevent such surprises.

      - -

      As long as the smtputf8_enable parameter is left at its implicit -default value, and the compatibility_level setting is -less than 1, Postfix logs a warning each time an SMTP command uses a -non-ASCII address localpart without requesting SMTPUTF8 support:

      - -
      -
      -postfix/smtpd[27560]: using backwards-compatible default setting
      -    smtputf8_enable=no to accept non-ASCII sender address
      -    "??@example.org" from localhost[127.0.0.1]
      -
      -
      - -
      -
      -postfix/smtpd[27560]: using backwards-compatible default setting
      -    smtputf8_enable=no to accept non-ASCII recipient address
      -    "??@example.com" from localhost[127.0.0.1]
      -
      -
      - -

      If the address should not be rejected, and the client cannot -be updated to use SMTPUTF8, then the system administrator should -make the backwards-compatible setting "smtputf8_enable = no" permanent -in main.cf: - -

      -
      -# postconf smtputf8_enable=no
      -# postfix reload
      -
      -
      -

      Using backwards-compatible default setting smtpd_tls_fingerprint_digest=md5

      diff --git a/html/DATABASE_README.html b/html/DATABASE_README.html index e3b3c05..87941bc 100644 --- a/html/DATABASE_README.html +++ b/html/DATABASE_README.html @@ -56,10 +56,10 @@ documentation:

       /etc/postfix/main.cf:
      -    alias_maps = hash:/etc/postfix/aliases            (local aliasing)
      +    alias_maps = hash:/etc/postfix/aliases            (local aliasing)
           header_checks = regexp:/etc/postfix/header_checks (content filtering)
           transport_maps = hash:/etc/postfix/transport      (routing table)
      -    virtual_alias_maps = hash:/etc/postfix/virtual    (address rewriting)
      +    virtual_alias_maps = hash:/etc/postfix/virtual    (virtual aliasing)
       
      @@ -349,6 +349,11 @@ See lmdb_table(5) for details.
      Memcache database client. Configuration details are given in memcache_table(5).
      +
      mongodb (read-only)
      + +
      MongoDB database client. Configuration details are given in +mongodb_table(5), with examples in MONGODB_README.
      +
      mysql (read-only)
      MySQL database client. Configuration details are given in diff --git a/html/DEPRECATION_README.html b/html/DEPRECATION_README.html new file mode 100644 index 0000000..4729568 --- /dev/null +++ b/html/DEPRECATION_README.html @@ -0,0 +1,411 @@ + + + + + + +Postfix Replacements for Deprecated Features + + + + + + + + +

      Postfix +Replacements for Deprecated Features

      + +
      + +

      Purpose of this document

      + +

      This document describes Postfix features that are deprecated +(will be removed) or that have already been removed. It also has +tips for making an existing Postfix configuration more future-proof. +

      + +

      Overview:

      + + + +

      Why deprecate?

      + +

      Sometimes, a Postfix feature needs to be replaced with a different +one. To give an example:

      + +
        + +
      • The initial Postfix TLS implementation used multiple boolean +parameters: one parameter to enable opportunistic TLS (for example, +"smtp_enforce_tls = yes") and one parameter to enable mandatory TLS +(for example, "smtp_require_tls = yes").

        + +
      • As we added support more features such as fingerprint, +dane, and so on, we decided not to add more boolean parameters. +Instead we introduced one configuration parameter to select from +multiple deployment models (for example, smtp_tls_security_level = +may | encrypt | dane, etc...).

        + +
      + + + +

      Having both the "old" and "new" way to configure Postfix is +convenient for existing Postfix installations, because their +configuration does not break after an upgrade to a new version. +Unfortunately, there are also disadvantages. Having multiple ways +to do similar things is not only confusing for newcomers, it also +makes Postfix harder to change.

      + +

      Deprecation process

      + +

      The basic process steps are:

      + +
        + +
      1. Inform humans that a feature will be removed, and suggest +replacements, in logging and documentation.

        + +
      2. Remove the feature, and update logging and documentation.

        + +
      + +

      Disclaimer: it has taken 20 years for some features to be +removed. This past is not a guarantee for the future.

      + +

      Deprecated features

      + +

      The table summarizes removed or deprecated features and +replacements. Click on the "obsolete feature" name for a more +detailed description.

      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Obsolete feature name Warning as
      of version +
      Removed
      in version
      Replacement
      disable_dns_lookups + 3.9 - smtp_dns_support_level
      xxx_use_tls 3.9 - +xxx_tls_security_level
      xxx_enforce_tls + 3.9 - xxx_tls_security_level
      xxx_per_site 3.9 - +xxx_policy_maps
      +smtpd_tls_dh1024_param_file 3.9 - do not specify (leave at default) +
      smtpd_tls_eecdh_grade + 3.9 - do not specify (leave at default)
      permit_mx_backup 3.9 - +relay_domains
      check_relay_domains + 2.2 3.9 permit_mynetworks, reject_unauth_destination
      reject_maps_rbl 2.1 3.9 +reject_rbl_client
      permit_naked_ip_address + 2.0 3.9 + permit_mynetworks, permit_sasl_authenticated
      + +
      + +

      Obsolete DNS on/off configuration +

      + +

      The postconf(1) command logs the following:

      + + + +

      Replace obsolete configuration with its replacement:

      + +
      + + + + + + + + + +
      Goal Obsolete configuration + Replacement configuration
      To disable DNS lookups in the Postfix SMTP/LMTP client + disable_dns_lookups = yes smtp_dns_support_level += disabled
      To enable DNS lookups in the Postfix SMTP/LMTP client +disable_dns_lookups = no +Leave smtp_dns_support_level at the implicit default which is empty, unless +you need a higher support level such as DNSSEC.
      + +
      + +

      Obsolete opportunistic TLS configuration +

      + +

      The postconf(1) command logs one of the following:

      + + + +

      There are similarly-named parameters and warnings for postscreen(8) +and tlsproxy(8), but those parameters should rarely be specified +by hand.

      + +

      Replace obsolete configuration with its replacement:

      + +
      + + + + + + + + + + +
      Goal Obsolete configuration Replacement configuration
      To turn off TLS xxx_use_tls = no xxx_security_level = none
      To turn on opportunistic TLS xxx_use_tls += yes xxx_security_level = may
      + +
      + +

      Obsolete mandatory TLS configuration +

      + +

      The postconf(1) command logs one of the following:

      + + + +

      There are similarly-named parameters and warnings for postscreen(8) +and tlsproxy(8), but those parameters should rarely be specified +by hand.

      + +

      Replace obsolete configuration with its replacement:

      + +
      + + + + + + + + + +
      Goal Obsolete configuration Replacement configuration
      To turn off mandatory TLS xxx_enforce_tls += no xxx_security_level = may
      To turn on mandatory TLS xxx_enforce_tls += yes xxx_security_level = encrypt
      + +
      + +

      Obsolete TLS policy table configuration +

      + +

      The postconf(1) command logs one of the following:

      + + + +

      There is similarly-named parameter and warning for tlsproxy(8), +but that parameter should rarely be specified by hand.

      + +

      Unfortunately, this is more than a name change: the table format +has changed too, as has the table search process. There is no simple +conversion of the obsolete form to its replacement.

      + +

      check_relay_domains

      + +

      Depending on the Postfix version, the Postfix SMTP daemon logs +following warning:

      + +
        + +
      • support for restriction "check_relay_domains" has been removed +in Postfix 3.9"; instead, specify "reject_unauth_destination" + +
      • support for restriction "check_relay_domains" will be removed +from Postfix; use "reject_unauth_destination" instead + +
      + +

      This feature was removed because it would relay based on the +client domain name, which is not robust.

      + +

      Recommended configuration to prevent an "open relay" problem +with the SMTP service on port 25: +

      + +
      +
      +main.cf:
      +    smtpd_recipient_restrictions = 
      +        permit_mynetworks, 
      +        permit_sasl_authenticated, 
      +        reject_unauth_destination
      +        ...other restrictions...
      +
      +
      + +

      Or equivalent in smtpd_relay_restrictions.

      + +

      permit_mx_backup

      + +

      The Postfix version 3.9 and later SMTP daemon logs the following +warning:

      + + + +

      This feature will be removed because it is too difficult to +configure recipient address validation, making Postfix a source of +backscatter bounces.

      + +

      To specify the domains that Postfix will provide MX backup +service for, see +Configuring Postfix as primary or backup MX host for a remote +site.

      + +

      reject_maps_rbl

      + +

      Depending on the Postfix version, the SMTP daemon logs one of +the following warnings:

      + +
        + +
      • support for restriction "reject_maps_rbl" has been removed in +Postfix 3.9"; instead, specify "reject_rbl_client domain-name" + +
      • support for restriction "reject_maps_rbl" will be removed from +Postfix; use "reject_rbl_client domain-name" instead + +
      + +

      This feature was replaced because "MAPS RBL" is the name of a +specific reputation service. The reject_rbl_client feature provides +a superset of the reject_maps_rbl functionality.

      + +

      Recommended configuration:

      + +
      +
      +main.cf:
      +    smtpd_recipient_restrictions =
      +        permit_mynetworks,
      +        permit_sasl_authenticated,
      +        reject_unauth_destination
      +        reject_rbl_client domain-name
      +        ...other restrictions...
      +
      +
      + +

      Where domain-name is the domain name of a DNS reputation service.

      + +

      permit_naked_ip_address

      + +

      Depending on the Postfix version, the SMTP daemon logs one of +the following warnings:

      + + + +

      This feature was removed because it was easy to get a false +match when smtpd_recipient_restrictions was intended to match a +remote SMTP client IP address.

      + +

      Recommended configuration:

      + +
      +
      +main.cf:
      +    smtpd_recipient_restrictions =
      +        permit_mynetworks,
      +        permit_sasl_authenticated,
      +        reject_unauth_destination
      +        reject_rbl_client domain-name
      +        ...other restrictions...
      +
      +
      + +

      That is, no restriction on HELO or EHLO syntax. Such restrictions +ar rarely useful nowadays. + + + + diff --git a/html/INSTALL.html b/html/INSTALL.html index 6cd70d1..94d78ba 100644 --- a/html/INSTALL.html +++ b/html/INSTALL.html @@ -605,6 +605,9 @@ describe how to build Postfix with support for optional features:

      LDAP database LDAP_README Postfix 1.0
      MongoDB database MONGODB_README Postfix +3.9
      MySQL database MYSQL_README Postfix 1.0