From 984278aadfe8767568bd2172e9d2b03d5abfd6d6 Mon Sep 17 00:00:00 2001 From: Wietse Venema Date: Sun, 10 Dec 2023 00:00:00 -0500 Subject: [PATCH] postfix-3.9-20231210 --- postfix/HISTORY | 54 ++- postfix/WISHLIST | 8 +- postfix/conf/main.cf | 2 +- postfix/html/lmtp.8.html | 363 ++++++++++---------- postfix/html/local.8.html | 234 ++++++------- postfix/html/pipe.8.html | 106 +++--- postfix/html/postconf.5.html | 5 + postfix/html/proxymap.8.html | 2 +- postfix/html/smtp.8.html | 363 ++++++++++---------- postfix/man/man5/postconf.5 | 4 + postfix/man/man8/local.8 | 27 +- postfix/man/man8/pipe.8 | 5 + postfix/man/man8/proxymap.8 | 2 +- postfix/man/man8/smtp.8 | 19 +- postfix/proto/postconf.proto | 5 + postfix/proto/stop | 1 + postfix/proto/stop.double-history | 9 + postfix/proto/stop.spell-cc | 2 + postfix/proto/stop.spell-history | 3 + postfix/src/global/mail_proto.h | 7 + postfix/src/global/mail_version.h | 2 +- postfix/src/local/command.c | 5 +- postfix/src/local/local.c | 27 +- postfix/src/pipe/pipe.c | 9 + postfix/src/postqueue/showq_json.c | 2 +- postfix/src/posttls-finger/posttls-finger.c | 13 +- postfix/src/proxymap/proxymap.c | 38 +- postfix/src/smtp/smtp.c | 48 ++- postfix/src/smtpd/smtpd_check.c | 10 +- 29 files changed, 774 insertions(+), 601 deletions(-) diff --git a/postfix/HISTORY b/postfix/HISTORY index 1ea43b766..b93c5e051 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -27529,8 +27529,8 @@ Apologies for any names omitted. Bugfix (defect introduced: Postfix 2.3, date 20051222): the Dovecot auth client did not reset the 'reason' from a previous Dovecot auth service response, before parsing the - next Dovecot auth server response. Reported by Stephan - Bosch, File: xsasl/xsasl_dovecot_server.c. + next Dovecot auth server response in the same SMTP session. + Reported by Stephan Bosch, File: xsasl/xsasl_dovecot_server.c. 20231105 @@ -27553,3 +27553,53 @@ Apologies for any names omitted. Robustness: don't loop on an 'unfinished' queue file that still has its all-zero SIZE record. File: postcat/postcat.c. + +20231126 + + Cleanup: implementation and documentation for the selection + of SMTP versus LMTP client protocol and parameters, based + on process name. Files: smtp/smtp.c, global/mail_proto.h, + proto/postconf.proto. + + Cleanup: documented (in proxymap source code) the complexities + of determining the optimal proxywrite service process limit, + and make the 'invalid' proxymap service name error message + more similar to the error message for an invalid SMTP/LMTP + client process name. File: proxymap/proxymap.c. + +20231127 + + Documentation: in the stock main.cf file, mailbox_command + uses $default_privs, not $default_user. Vijay Sarvepalli, + Cert/CC. File: conf/main.cf. + +20231202 + + Bugfix: posttls-finger certificate match expectations for + opportunistic DANE incorrectly defaulted to ("nexthop", + "hostname") instead of ("nexthop", "dot-nexthop"), when no + TLSA records were found. Viktor Dukhovni. File: posttls-finger.c. + +20231204 + + Documentation: updated comments on address validation in + smtpd_check.c, making them consistent with the implementation. + File: smtpd/smtpd_check.c. + +20231208 + + Bugfix (defect introduced: Postfix 3.1, date: 20151128): + "postqueue -j" produced broken JSON when escaping a control + character as \uXXXX. Found during code maintenance. File: + postqueue/showq_json.c. + +20231209 + + Feature: the local(8) delivery agent exports an ENVID + environment variable with the RFC 3461 envelope ID if + available. Files: local/command.c, local/local.c, + proto/postconf.proto. + + Feature: the pipe(8) delivery agent supports an ${envid} + command-line attribute that expands to the RFC 3461 envelope + ID if available. File: pipe/pipe.c. diff --git a/postfix/WISHLIST b/postfix/WISHLIST index 0b5209c43..47d4b7491 100644 --- a/postfix/WISHLIST +++ b/postfix/WISHLIST @@ -8,10 +8,10 @@ Wish list: postfix-install should mention makedefs.out. - Propagate information about parsed daemon command-line - options to service callback functions. With this, a proxywrite - server can enforce a process limit of 1 without duplicating - libmaster's command-line parsing code. + In documentation and configuration file examples, replace + IPv4 address prefixes from Cloud9 with 192.168.* from RFC + 1918, and replace IPv6 address prefixes with unique local + IPv6 address prefixes fd00:* from RFC 4193. Add a pre-release check for '.' instead of ','. Generalize from grep '[a-zA-Z0-9]\. *[a-z]' proto/*|egrep -v diff --git a/postfix/conf/main.cf b/postfix/conf/main.cf index 43c7956eb..2f4eba9ed 100644 --- a/postfix/conf/main.cf +++ b/postfix/conf/main.cf @@ -452,7 +452,7 @@ unknown_local_recipient_reject_code = 550 # The mailbox_command parameter specifies the optional external # command to use instead of mailbox delivery. The command is run as # the recipient with proper HOME, SHELL and LOGNAME environment settings. -# Exception: delivery for root is done as $default_user. +# Exception: delivery for root is done as $default_privs. # # Other environment variables of interest: USER (recipient username), # EXTENSION (address extension), DOMAIN (domain part of address), diff --git a/postfix/html/lmtp.8.html b/postfix/html/lmtp.8.html index 0aa736afd..84e8b5cdb 100644 --- a/postfix/html/lmtp.8.html +++ b/postfix/html/lmtp.8.html @@ -5,20 +5,24 @@ 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
@@ -180,20 +184,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 +217,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 +227,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 +251,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 +321,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 +332,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 +352,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 +362,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 +403,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 +431,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,88 +439,88 @@ 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
+              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
+       Detailed  information  about STARTTLS configuration may be found in the
        TLS_README document.
 
        smtp_tls_security_level (empty)
               The default SMTP TLS security level for the Postfix SMTP client.
 
        smtp_sasl_tls_security_options ($smtp_sasl_security_options)
-              The SASL authentication security options that the  Postfix  SMTP
+              The  SASL  authentication security options that the Postfix SMTP
               client uses for TLS encrypted SMTP sessions.
 
        smtp_starttls_timeout (300s)
-              Time  limit  for  Postfix  SMTP client write and read operations
+              Time limit for Postfix SMTP client  write  and  read  operations
               during TLS startup and shutdown handshake procedures.
 
        smtp_tls_CAfile (empty)
-              A file containing CA certificates of root CAs  trusted  to  sign
-              either  remote  SMTP server certificates or intermediate CA cer-
+              A  file  containing  CA certificates of root CAs trusted to sign
+              either remote SMTP server certificates or intermediate  CA  cer-
               tificates.
 
        smtp_tls_CApath (empty)
-              Directory with PEM format Certification  Authority  certificates
+              Directory  with  PEM format Certification Authority certificates
               that the Postfix SMTP client uses to verify a remote SMTP server
               certificate.
 
@@ -525,7 +528,7 @@ SMTP(8)                                                                SMTP(8)
               File with the Postfix SMTP client RSA certificate in PEM format.
 
        smtp_tls_mandatory_ciphers (medium)
-              The  minimum  TLS cipher grade that the Postfix SMTP client will
+              The minimum TLS cipher grade that the Postfix SMTP  client  will
               use with mandatory TLS encryption.
 
        smtp_tls_exclude_ciphers (empty)
@@ -533,8 +536,8 @@ SMTP(8)                                                                SMTP(8)
               client cipher list at all TLS security levels.
 
        smtp_tls_mandatory_exclude_ciphers (empty)
-              Additional  list  of ciphers or cipher types to exclude from the
-              Postfix SMTP client cipher list at mandatory TLS  security  lev-
+              Additional list of ciphers or cipher types to exclude  from  the
+              Postfix  SMTP  client cipher list at mandatory TLS security lev-
               els.
 
        smtp_tls_dcert_file (empty)
@@ -550,7 +553,7 @@ SMTP(8)                                                                SMTP(8)
               Enable additional Postfix SMTP client logging of TLS activity.
 
        smtp_tls_note_starttls_offer (no)
-              Log the hostname of a remote SMTP server that  offers  STARTTLS,
+              Log  the  hostname of a remote SMTP server that offers STARTTLS,
               when TLS is not already enabled for that server.
 
        smtp_tls_policy_maps (empty)
@@ -559,14 +562,14 @@ SMTP(8)                                                                SMTP(8)
               fied, this overrides the obsolete smtp_tls_per_site parameter.
 
        smtp_tls_mandatory_protocols (see 'postconf -d' output)
-              TLS  protocols that the Postfix SMTP client will use with manda-
+              TLS protocols that the Postfix SMTP client will use with  manda-
               tory TLS encryption.
 
        smtp_tls_scert_verifydepth (9)
               The verification depth for remote SMTP server certificates.
 
        smtp_tls_secure_cert_match (nexthop, dot-nexthop)
-              How the Postfix SMTP  client  verifies  the  server  certificate
+              How  the  Postfix  SMTP  client  verifies the server certificate
               peername for the "secure" TLS security level.
 
        smtp_tls_session_cache_database (empty)
@@ -574,16 +577,16 @@ SMTP(8)                                                                SMTP(8)
               session cache.
 
        smtp_tls_session_cache_timeout (3600s)
-              The expiration time of Postfix SMTP  client  TLS  session  cache
+              The  expiration  time  of  Postfix SMTP client TLS session cache
               information.
 
        smtp_tls_verify_cert_match (hostname)
-              How  the  Postfix  SMTP  client  verifies the server certificate
+              How the Postfix SMTP  client  verifies  the  server  certificate
               peername for the "verify" TLS security level.
 
        tls_daemon_random_bytes (32)
-              The number of pseudo-random bytes that an  smtp(8)  or  smtpd(8)
-              process  requests from the tlsmgr(8) server in order to seed its
+              The  number  of  pseudo-random bytes that an smtp(8) or smtpd(8)
+              process requests from the tlsmgr(8) server in order to seed  its
               internal pseudo random number generator (PRNG).
 
        tls_high_cipherlist (see 'postconf -d' output)
@@ -593,7 +596,7 @@ SMTP(8)                                                                SMTP(8)
               The OpenSSL cipherlist for "medium" or higher grade ciphers.
 
        tls_null_cipherlist (eNULL:!aNULL)
-              The OpenSSL cipherlist for "NULL"  grade  ciphers  that  provide
+              The  OpenSSL  cipherlist  for  "NULL" grade ciphers that provide
               authentication without encryption.
 
        Available in in Postfix version 2.3..3.7:
@@ -608,45 +611,45 @@ SMTP(8)                                                                SMTP(8)
 
        smtp_sasl_tls_verified_security_options           ($smtp_sasl_tls_secu-
        rity_options)
-              The  SASL  authentication security options that the Postfix SMTP
-              client uses for TLS encrypted  SMTP  sessions  with  a  verified
+              The SASL authentication security options that the  Postfix  SMTP
+              client  uses  for  TLS  encrypted  SMTP sessions with a verified
               server certificate.
 
        Available in Postfix version 2.5 and later:
 
        smtp_tls_fingerprint_cert_match (empty)
-              List  of  acceptable remote SMTP server certificate fingerprints
-              for  the  "fingerprint"  TLS  security   level   (smtp_tls_secu-
+              List of acceptable remote SMTP server  certificate  fingerprints
+              for   the   "fingerprint"  TLS  security  level  (smtp_tls_secu-
               rity_level = fingerprint).
 
        smtp_tls_fingerprint_digest (see 'postconf -d' output)
-              The  message  digest  algorithm  used  to  construct remote SMTP
+              The message digest  algorithm  used  to  construct  remote  SMTP
               server certificate fingerprints.
 
        Available in Postfix version 2.6 and later:
 
        smtp_tls_protocols (see 'postconf -d' output)
-              TLS protocols that the Postfix SMTP client will use with  oppor-
+              TLS  protocols that the Postfix SMTP client will use with oppor-
               tunistic TLS encryption.
 
        smtp_tls_ciphers (medium)
-              The  minimum  TLS cipher grade that the Postfix SMTP client will
+              The minimum TLS cipher grade that the Postfix SMTP  client  will
               use with opportunistic TLS encryption.
 
        smtp_tls_eccert_file (empty)
-              File with the Postfix SMTP client ECDSA certificate in PEM  for-
+              File  with the Postfix SMTP client ECDSA certificate in PEM for-
               mat.
 
        smtp_tls_eckey_file ($smtp_tls_eccert_file)
-              File  with the Postfix SMTP client ECDSA private key in PEM for-
+              File with the Postfix SMTP client ECDSA private key in PEM  for-
               mat.
 
        Available in Postfix version 2.7 and later:
 
        smtp_tls_block_early_mail_reply (no)
-              Try to detect a mail hijacking attack based on  a  TLS  protocol
-              vulnerability  (CVE-2009-3555), where an attacker prepends mali-
-              cious HELO, MAIL, RCPT, DATA commands to a Postfix  SMTP  client
+              Try  to  detect  a mail hijacking attack based on a TLS protocol
+              vulnerability (CVE-2009-3555), where an attacker prepends  mali-
+              cious  HELO,  MAIL, RCPT, DATA commands to a Postfix SMTP client
               TLS session.
 
        Available in Postfix version 2.8 and later:
@@ -666,11 +669,11 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.11 and later:
 
        smtp_tls_trust_anchor_file (empty)
-              Zero or more PEM-format  files  with  trust-anchor  certificates
+              Zero  or  more  PEM-format  files with trust-anchor certificates
               and/or public keys.
 
        smtp_tls_force_insecure_host_tlsa_lookup (no)
-              Lookup  the  associated  DANE TLSA RRset even when a hostname is
+              Lookup the associated DANE TLSA RRset even when  a  hostname  is
               not an alias and its address records lie in an unsigned zone.
 
        tlsmgr_service_name (tlsmgr)
@@ -679,14 +682,14 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 3.0 and later:
 
        smtp_tls_wrappermode (no)
-              Request that the Postfix SMTP client connects using the  SUBMIS-
+              Request  that the Postfix SMTP client connects using the SUBMIS-
               SIONS/SMTPS protocol instead of using the STARTTLS command.
 
        Available in Postfix version 3.1 and later:
 
        smtp_tls_dane_insecure_mx_policy (see 'postconf -d' output)
-              The  TLS policy for MX hosts with "secure" TLSA records when the
-              nexthop destination security level is dane, but  the  MX  record
+              The TLS policy for MX hosts with "secure" TLSA records when  the
+              nexthop  destination  security  level is dane, but the MX record
               was found via an "insecure" MX lookup.
 
        Available in Postfix version 3.2 and later:
@@ -701,23 +704,23 @@ SMTP(8)                                                                SMTP(8)
               Try to make multiple deliveries per TLS-encrypted connection.
 
        smtp_tls_chain_files (empty)
-              List of one or more PEM files, each holding one or more  private
+              List  of one or more PEM files, each holding one or more private
               keys directly followed by a corresponding certificate chain.
 
        smtp_tls_servername (empty)
-              Optional  name  to  send  to  the  remote SMTP server in the TLS
+              Optional name to send to the  remote  SMTP  server  in  the  TLS
               Server Name Indication (SNI) extension.
 
        Available in Postfix 3.5, 3.4.6, 3.3.5, 3.2.10, 3.1.13 and later:
 
        tls_fast_shutdown_enable (yes)
-              A workaround for implementations that hang Postfix  while  shut-
+              A  workaround  for implementations that hang Postfix while shut-
               ting down a TLS session, until Postfix times out.
 
        Available in Postfix version 3.8 and later:
 
        tls_ffdhe_auto_groups (see 'postconf -d' output)
-              The  prioritized  list  of finite-field Diffie-Hellman ephemeral
+              The prioritized list of  finite-field  Diffie-Hellman  ephemeral
               (FFDHE) key exchange groups supported by the Postfix SMTP client
               and server.
 
@@ -727,50 +730,50 @@ SMTP(8)                                                                SMTP(8)
               Optional configuration file with baseline OpenSSL settings.
 
        tls_config_name (empty)
-              The  application  name passed by Postfix to OpenSSL library ini-
+              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
+              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
+       The following configuration parameters  exist  for  compatibility  with
+       Postfix  versions  before  2.3.  Support for these will be removed in a
        future release.
 
        smtp_use_tls (no)
-              Opportunistic  mode: use TLS when a remote SMTP server announces
+              Opportunistic mode: use TLS when a remote SMTP server  announces
               STARTTLS support, otherwise send the mail in the clear.
 
        smtp_enforce_tls (no)
-              Enforcement mode: require  that  remote  SMTP  servers  use  TLS
+              Enforcement  mode:  require  that  remote  SMTP  servers use TLS
               encryption, and never send mail in the clear.
 
        smtp_tls_enforce_peername (yes)
-              With  mandatory  TLS  encryption,  require  that the remote SMTP
-              server hostname matches  the  information  in  the  remote  SMTP
+              With mandatory TLS encryption,  require  that  the  remote  SMTP
+              server  hostname  matches  the  information  in  the remote SMTP
               server certificate.
 
        smtp_tls_per_site (empty)
-              Optional  lookup  tables  with the Postfix SMTP client TLS usage
-              policy by next-hop destination and by remote SMTP  server  host-
+              Optional lookup tables with the Postfix SMTP  client  TLS  usage
+              policy  by  next-hop destination and by remote SMTP server host-
               name.
 
        smtp_tls_cipherlist (empty)
-              Obsolete  Postfix  < 2.3 control for the Postfix SMTP client TLS
+              Obsolete Postfix < 2.3 control for the Postfix SMTP  client  TLS
               cipher list.
 
 RESOURCE AND RATE CONTROLS
        smtp_connect_timeout (30s)
-              The Postfix SMTP client time limit for completing a TCP  connec-
+              The  Postfix SMTP client time limit for completing a TCP connec-
               tion, or zero (use the operating system built-in time limit).
 
        smtp_helo_timeout (300s)
-              The  Postfix SMTP client time limit for sending the HELO or EHLO
-              command, and  for  receiving  the  initial  remote  SMTP  server
+              The Postfix SMTP client time limit for sending the HELO or  EHLO
+              command,  and  for  receiving  the  initial  remote  SMTP server
               response.
 
        lmtp_lhlo_timeout (300s)
@@ -782,19 +785,19 @@ SMTP(8)                                                                SMTP(8)
               mand, and for receiving the remote SMTP server response.
 
        smtp_mail_timeout (300s)
-              The  Postfix  SMTP  client  time limit for sending the MAIL FROM
+              The Postfix SMTP client time limit for  sending  the  MAIL  FROM
               command, and for receiving the remote SMTP server response.
 
        smtp_rcpt_timeout (300s)
-              The Postfix SMTP client time limit for sending the SMTP RCPT  TO
+              The  Postfix SMTP client time limit for sending the SMTP RCPT TO
               command, and for receiving the remote SMTP server response.
 
        smtp_data_init_timeout (120s)
-              The  Postfix  SMTP  client  time limit for sending the SMTP DATA
+              The Postfix SMTP client time limit for  sending  the  SMTP  DATA
               command, and for receiving the remote SMTP server response.
 
        smtp_data_xfer_timeout (180s)
-              The Postfix SMTP client time limit for sending the SMTP  message
+              The  Postfix SMTP client time limit for sending the SMTP message
               content.
 
        smtp_data_done_timeout (600s)
@@ -808,13 +811,13 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.1 and later:
 
        smtp_mx_address_limit (5)
-              The  maximal number of MX (mail exchanger) IP addresses that can
-              result from Postfix SMTP client mail exchanger lookups, or  zero
+              The maximal number of MX (mail exchanger) IP addresses that  can
+              result  from Postfix SMTP client mail exchanger lookups, or zero
               (no limit).
 
        smtp_mx_session_limit (2)
-              The  maximal number of SMTP sessions per delivery request before
-              the Postfix SMTP client gives up  or  delivers  to  a  fall-back
+              The maximal number of SMTP sessions per delivery request  before
+              the  Postfix  SMTP  client  gives  up or delivers to a fall-back
               relay host, or zero (no limit).
 
        smtp_rset_timeout (20s)
@@ -824,17 +827,17 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.2 and earlier:
 
        lmtp_cache_connection (yes)
-              Keep Postfix LMTP client connections open for  up  to  $max_idle
+              Keep  Postfix  LMTP  client connections open for up to $max_idle
               seconds.
 
        Available in Postfix version 2.2 and later:
 
        smtp_connection_cache_destinations (empty)
-              Permanently  enable  SMTP  connection  caching for the specified
+              Permanently enable SMTP connection  caching  for  the  specified
               destinations.
 
        smtp_connection_cache_on_demand (yes)
-              Temporarily enable SMTP connection caching while  a  destination
+              Temporarily  enable  SMTP connection caching while a destination
               has a high volume of mail in the active queue.
 
        smtp_connection_reuse_time_limit (300s)
@@ -848,23 +851,23 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.3 and later:
 
        connection_cache_protocol_timeout (5s)
-              Time  limit for connection cache connect, send or receive opera-
+              Time limit for connection cache connect, send or receive  opera-
               tions.
 
        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.11 and later:
 
        smtp_connection_reuse_count_limit (0)
-              When SMTP connection caching is enabled,  the  number  of  times
-              that  an SMTP session may be reused before it is closed, or zero
+              When  SMTP  connection  caching  is enabled, the number of times
+              that an SMTP session may be reused before it is closed, or  zero
               (no limit).
 
        Available in Postfix version 3.4 and later:
@@ -875,13 +878,13 @@ SMTP(8)                                                                SMTP(8)
        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.
 
@@ -889,54 +892,54 @@ SMTP(8)                                                                SMTP(8)
 
        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.
 
 SMTPUTF8 CONTROLS
        Preliminary SMTPUTF8 support is introduced with Postfix 3.0.
 
        smtputf8_enable (yes)
-              Enable  preliminary SMTPUTF8 support for the protocols described
+              Enable preliminary SMTPUTF8 support for the protocols  described
               in RFC 6531, RFC 6532, and RFC 6533.
 
        smtputf8_autodetect_classes (sendmail, verify)
-              Detect that a message requires SMTPUTF8 support for  the  speci-
+              Detect  that  a message requires SMTPUTF8 support for the speci-
               fied mail origin classes.
 
        Available in Postfix version 3.2 and later:
 
        enable_idna2003_compatibility (no)
-              Enable   'transitional'   compatibility   between  IDNA2003  and
-              IDNA2008, when converting UTF-8 domain names to/from  the  ASCII
+              Enable  'transitional'  compatibility   between   IDNA2003   and
+              IDNA2008,  when  converting UTF-8 domain names to/from the ASCII
               form that is used for DNS lookups.
 
 TROUBLE SHOOTING CONTROLS
        debug_peer_level (2)
-              The  increment  in verbose logging level when a nexthop destina-
-              tion, remote client or server name or network address matches  a
+              The increment in verbose logging level when a  nexthop  destina-
+              tion,  remote client or server name or network address matches a
               pattern given with the debug_peer_list parameter.
 
        debug_peer_list (empty)
-              Optional  list  of  nexthop destination, remote client or server
-              name or network address patterns that,  if  matched,  cause  the
-              verbose  logging  level  to  increase by the amount specified in
+              Optional list of nexthop destination, remote  client  or  server
+              name  or  network  address  patterns that, if matched, cause the
+              verbose logging level to increase by  the  amount  specified  in
               $debug_peer_level.
 
        error_notice_recipient (postmaster)
-              The recipient of postmaster notifications  about  mail  delivery
+              The  recipient  of  postmaster notifications about mail delivery
               problems that are caused by policy, resource, software or proto-
               col errors.
 
        internal_mail_filter_classes (empty)
-              What  categories  of  Postfix-generated  mail  are  subject   to
-              before-queue    content    inspection    by   non_smtpd_milters,
+              What   categories  of  Postfix-generated  mail  are  subject  to
+              before-queue   content    inspection    by    non_smtpd_milters,
               header_checks and body_checks.
 
        notify_classes (resource, software)
@@ -944,46 +947,46 @@ SMTP(8)                                                                SMTP(8)
 
 MISCELLANEOUS CONTROLS
        best_mx_transport (empty)
-              Where the Postfix  SMTP  client  should  deliver  mail  when  it
+              Where  the  Postfix  SMTP  client  should  deliver  mail when it
               detects a "mail loops back to myself" error condition.
 
        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.
 
        disable_dns_lookups (no)
               Disable DNS lookups in the Postfix SMTP and LMTP clients.
 
        inet_interfaces (all)
-              The local network interface  addresses  that  this  mail  system
+              The  local  network  interface  addresses  that this mail system
               receives mail on.
 
        inet_protocols (see 'postconf -d' output)
-              The  Internet  protocols Postfix will attempt to use when making
+              The Internet protocols Postfix will attempt to use  when  making
               or accepting connections.
 
        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.
 
        lmtp_assume_final (no)
-              When  a remote LMTP server announces no DSN support, assume that
-              the server performs final delivery, and send "delivered"  deliv-
+              When a remote LMTP server announces no DSN support, assume  that
+              the  server performs final delivery, and send "delivered" deliv-
               ery status notifications instead of "relayed".
 
        lmtp_tcp_port (24)
               The default TCP port that the Postfix LMTP client connects to.
 
        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)
@@ -997,21 +1000,21 @@ SMTP(8)                                                                SMTP(8)
               The process name of a Postfix command or daemon process.
 
        proxy_interfaces (empty)
-              The remote network interface addresses  that  this  mail  system
-              receives  mail  on by way of a proxy or network address transla-
+              The  remote  network  interface  addresses that this mail system
+              receives mail on by way of a proxy or network  address  transla-
               tion unit.
 
        smtp_address_preference (any)
               The address type ("ipv6", "ipv4" or "any") that the Postfix SMTP
-              client  will  try  first,  when  a destination has IPv6 and IPv4
+              client will try first, when a  destination  has  IPv6  and  IPv4
               addresses with equal MX preference.
 
        smtp_bind_address (empty)
-              An optional numerical network  address  that  the  Postfix  SMTP
+              An  optional  numerical  network  address  that the Postfix SMTP
               client should bind to when making an IPv4 connection.
 
        smtp_bind_address6 (empty)
-              An  optional  numerical  network  address  that the Postfix SMTP
+              An optional numerical network  address  that  the  Postfix  SMTP
               client should bind to when making an IPv6 connection.
 
        smtp_helo_name ($myhostname)
@@ -1031,7 +1034,7 @@ SMTP(8)                                                                SMTP(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 with Postfix 2.2 and earlier:
@@ -1043,14 +1046,14 @@ SMTP(8)                                                                SMTP(8)
        Available with Postfix 2.3 and later:
 
        smtp_fallback_relay ($fallback_relay)
-              Optional  list  of  relay destinations that will be used when an
-              SMTP destination is not found, or when delivery fails due  to  a
+              Optional list of relay destinations that will be  used  when  an
+              SMTP  destination  is not found, or when delivery fails due to a
               non-permanent error.
 
        Available with Postfix 3.0 and later:
 
        smtp_address_verify_target (rcpt)
-              In  the context of email address verification, the SMTP protocol
+              In the context of email address verification, the SMTP  protocol
               stage that determines whether an email address is deliverable.
 
        Available with Postfix 3.1 and later:
@@ -1072,7 +1075,7 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix 3.7 and later:
 
        smtp_bind_address_enforce (no)
-              Defer  delivery  when  the  Postfix SMTP client cannot apply the
+              Defer delivery when the Postfix SMTP  client  cannot  apply  the
               smtp_bind_address or smtp_bind_address6 setting.
 
 SEE ALSO
@@ -1131,5 +1134,5 @@ SMTP(8)                                                                SMTP(8)
        Victor Duchovni
        Morgan Stanley
 
-                                                                       SMTP(8)
+                                       8                           SMTP,(LMTP)
 
diff --git a/postfix/html/local.8.html b/postfix/html/local.8.html index 2c80b0e67..a923ce206 100644 --- a/postfix/html/local.8.html +++ b/postfix/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,64 +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) - Optional lookup tables with aliases that apply only to local(8) - recipients; this is unlike virtual_alias_maps that apply to all + 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) @@ -421,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 @@ -440,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 @@ -461,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 @@ -485,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) @@ -535,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) @@ -543,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) @@ -554,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) @@ -572,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) @@ -588,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 @@ -612,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/postfix/html/pipe.8.html b/postfix/html/pipe.8.html index a0e46785b..d81395471 100644 --- a/postfix/html/pipe.8.html +++ b/postfix/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/postfix/html/postconf.5.html b/postfix/html/postconf.5.html index 62260c23b..06553f229 100644 --- a/postfix/html/postconf.5.html +++ b/postfix/html/postconf.5.html @@ -6498,6 +6498,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.
diff --git a/postfix/html/proxymap.8.html b/postfix/html/proxymap.8.html index 7c98c47d6..a1f2f1895 100644 --- a/postfix/html/proxymap.8.html +++ b/postfix/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/postfix/html/smtp.8.html b/postfix/html/smtp.8.html index 0aa736afd..84e8b5cdb 100644 --- a/postfix/html/smtp.8.html +++ b/postfix/html/smtp.8.html @@ -5,20 +5,24 @@ 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
@@ -180,20 +184,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 +217,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 +227,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 +251,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 +321,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 +332,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 +352,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 +362,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 +403,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 +431,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,88 +439,88 @@ 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
+              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
+       Detailed  information  about STARTTLS configuration may be found in the
        TLS_README document.
 
        smtp_tls_security_level (empty)
               The default SMTP TLS security level for the Postfix SMTP client.
 
        smtp_sasl_tls_security_options ($smtp_sasl_security_options)
-              The SASL authentication security options that the  Postfix  SMTP
+              The  SASL  authentication security options that the Postfix SMTP
               client uses for TLS encrypted SMTP sessions.
 
        smtp_starttls_timeout (300s)
-              Time  limit  for  Postfix  SMTP client write and read operations
+              Time limit for Postfix SMTP client  write  and  read  operations
               during TLS startup and shutdown handshake procedures.
 
        smtp_tls_CAfile (empty)
-              A file containing CA certificates of root CAs  trusted  to  sign
-              either  remote  SMTP server certificates or intermediate CA cer-
+              A  file  containing  CA certificates of root CAs trusted to sign
+              either remote SMTP server certificates or intermediate  CA  cer-
               tificates.
 
        smtp_tls_CApath (empty)
-              Directory with PEM format Certification  Authority  certificates
+              Directory  with  PEM format Certification Authority certificates
               that the Postfix SMTP client uses to verify a remote SMTP server
               certificate.
 
@@ -525,7 +528,7 @@ SMTP(8)                                                                SMTP(8)
               File with the Postfix SMTP client RSA certificate in PEM format.
 
        smtp_tls_mandatory_ciphers (medium)
-              The  minimum  TLS cipher grade that the Postfix SMTP client will
+              The minimum TLS cipher grade that the Postfix SMTP  client  will
               use with mandatory TLS encryption.
 
        smtp_tls_exclude_ciphers (empty)
@@ -533,8 +536,8 @@ SMTP(8)                                                                SMTP(8)
               client cipher list at all TLS security levels.
 
        smtp_tls_mandatory_exclude_ciphers (empty)
-              Additional  list  of ciphers or cipher types to exclude from the
-              Postfix SMTP client cipher list at mandatory TLS  security  lev-
+              Additional list of ciphers or cipher types to exclude  from  the
+              Postfix  SMTP  client cipher list at mandatory TLS security lev-
               els.
 
        smtp_tls_dcert_file (empty)
@@ -550,7 +553,7 @@ SMTP(8)                                                                SMTP(8)
               Enable additional Postfix SMTP client logging of TLS activity.
 
        smtp_tls_note_starttls_offer (no)
-              Log the hostname of a remote SMTP server that  offers  STARTTLS,
+              Log  the  hostname of a remote SMTP server that offers STARTTLS,
               when TLS is not already enabled for that server.
 
        smtp_tls_policy_maps (empty)
@@ -559,14 +562,14 @@ SMTP(8)                                                                SMTP(8)
               fied, this overrides the obsolete smtp_tls_per_site parameter.
 
        smtp_tls_mandatory_protocols (see 'postconf -d' output)
-              TLS  protocols that the Postfix SMTP client will use with manda-
+              TLS protocols that the Postfix SMTP client will use with  manda-
               tory TLS encryption.
 
        smtp_tls_scert_verifydepth (9)
               The verification depth for remote SMTP server certificates.
 
        smtp_tls_secure_cert_match (nexthop, dot-nexthop)
-              How the Postfix SMTP  client  verifies  the  server  certificate
+              How  the  Postfix  SMTP  client  verifies the server certificate
               peername for the "secure" TLS security level.
 
        smtp_tls_session_cache_database (empty)
@@ -574,16 +577,16 @@ SMTP(8)                                                                SMTP(8)
               session cache.
 
        smtp_tls_session_cache_timeout (3600s)
-              The expiration time of Postfix SMTP  client  TLS  session  cache
+              The  expiration  time  of  Postfix SMTP client TLS session cache
               information.
 
        smtp_tls_verify_cert_match (hostname)
-              How  the  Postfix  SMTP  client  verifies the server certificate
+              How the Postfix SMTP  client  verifies  the  server  certificate
               peername for the "verify" TLS security level.
 
        tls_daemon_random_bytes (32)
-              The number of pseudo-random bytes that an  smtp(8)  or  smtpd(8)
-              process  requests from the tlsmgr(8) server in order to seed its
+              The  number  of  pseudo-random bytes that an smtp(8) or smtpd(8)
+              process requests from the tlsmgr(8) server in order to seed  its
               internal pseudo random number generator (PRNG).
 
        tls_high_cipherlist (see 'postconf -d' output)
@@ -593,7 +596,7 @@ SMTP(8)                                                                SMTP(8)
               The OpenSSL cipherlist for "medium" or higher grade ciphers.
 
        tls_null_cipherlist (eNULL:!aNULL)
-              The OpenSSL cipherlist for "NULL"  grade  ciphers  that  provide
+              The  OpenSSL  cipherlist  for  "NULL" grade ciphers that provide
               authentication without encryption.
 
        Available in in Postfix version 2.3..3.7:
@@ -608,45 +611,45 @@ SMTP(8)                                                                SMTP(8)
 
        smtp_sasl_tls_verified_security_options           ($smtp_sasl_tls_secu-
        rity_options)
-              The  SASL  authentication security options that the Postfix SMTP
-              client uses for TLS encrypted  SMTP  sessions  with  a  verified
+              The SASL authentication security options that the  Postfix  SMTP
+              client  uses  for  TLS  encrypted  SMTP sessions with a verified
               server certificate.
 
        Available in Postfix version 2.5 and later:
 
        smtp_tls_fingerprint_cert_match (empty)
-              List  of  acceptable remote SMTP server certificate fingerprints
-              for  the  "fingerprint"  TLS  security   level   (smtp_tls_secu-
+              List of acceptable remote SMTP server  certificate  fingerprints
+              for   the   "fingerprint"  TLS  security  level  (smtp_tls_secu-
               rity_level = fingerprint).
 
        smtp_tls_fingerprint_digest (see 'postconf -d' output)
-              The  message  digest  algorithm  used  to  construct remote SMTP
+              The message digest  algorithm  used  to  construct  remote  SMTP
               server certificate fingerprints.
 
        Available in Postfix version 2.6 and later:
 
        smtp_tls_protocols (see 'postconf -d' output)
-              TLS protocols that the Postfix SMTP client will use with  oppor-
+              TLS  protocols that the Postfix SMTP client will use with oppor-
               tunistic TLS encryption.
 
        smtp_tls_ciphers (medium)
-              The  minimum  TLS cipher grade that the Postfix SMTP client will
+              The minimum TLS cipher grade that the Postfix SMTP  client  will
               use with opportunistic TLS encryption.
 
        smtp_tls_eccert_file (empty)
-              File with the Postfix SMTP client ECDSA certificate in PEM  for-
+              File  with the Postfix SMTP client ECDSA certificate in PEM for-
               mat.
 
        smtp_tls_eckey_file ($smtp_tls_eccert_file)
-              File  with the Postfix SMTP client ECDSA private key in PEM for-
+              File with the Postfix SMTP client ECDSA private key in PEM  for-
               mat.
 
        Available in Postfix version 2.7 and later:
 
        smtp_tls_block_early_mail_reply (no)
-              Try to detect a mail hijacking attack based on  a  TLS  protocol
-              vulnerability  (CVE-2009-3555), where an attacker prepends mali-
-              cious HELO, MAIL, RCPT, DATA commands to a Postfix  SMTP  client
+              Try  to  detect  a mail hijacking attack based on a TLS protocol
+              vulnerability (CVE-2009-3555), where an attacker prepends  mali-
+              cious  HELO,  MAIL, RCPT, DATA commands to a Postfix SMTP client
               TLS session.
 
        Available in Postfix version 2.8 and later:
@@ -666,11 +669,11 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.11 and later:
 
        smtp_tls_trust_anchor_file (empty)
-              Zero or more PEM-format  files  with  trust-anchor  certificates
+              Zero  or  more  PEM-format  files with trust-anchor certificates
               and/or public keys.
 
        smtp_tls_force_insecure_host_tlsa_lookup (no)
-              Lookup  the  associated  DANE TLSA RRset even when a hostname is
+              Lookup the associated DANE TLSA RRset even when  a  hostname  is
               not an alias and its address records lie in an unsigned zone.
 
        tlsmgr_service_name (tlsmgr)
@@ -679,14 +682,14 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 3.0 and later:
 
        smtp_tls_wrappermode (no)
-              Request that the Postfix SMTP client connects using the  SUBMIS-
+              Request  that the Postfix SMTP client connects using the SUBMIS-
               SIONS/SMTPS protocol instead of using the STARTTLS command.
 
        Available in Postfix version 3.1 and later:
 
        smtp_tls_dane_insecure_mx_policy (see 'postconf -d' output)
-              The  TLS policy for MX hosts with "secure" TLSA records when the
-              nexthop destination security level is dane, but  the  MX  record
+              The TLS policy for MX hosts with "secure" TLSA records when  the
+              nexthop  destination  security  level is dane, but the MX record
               was found via an "insecure" MX lookup.
 
        Available in Postfix version 3.2 and later:
@@ -701,23 +704,23 @@ SMTP(8)                                                                SMTP(8)
               Try to make multiple deliveries per TLS-encrypted connection.
 
        smtp_tls_chain_files (empty)
-              List of one or more PEM files, each holding one or more  private
+              List  of one or more PEM files, each holding one or more private
               keys directly followed by a corresponding certificate chain.
 
        smtp_tls_servername (empty)
-              Optional  name  to  send  to  the  remote SMTP server in the TLS
+              Optional name to send to the  remote  SMTP  server  in  the  TLS
               Server Name Indication (SNI) extension.
 
        Available in Postfix 3.5, 3.4.6, 3.3.5, 3.2.10, 3.1.13 and later:
 
        tls_fast_shutdown_enable (yes)
-              A workaround for implementations that hang Postfix  while  shut-
+              A  workaround  for implementations that hang Postfix while shut-
               ting down a TLS session, until Postfix times out.
 
        Available in Postfix version 3.8 and later:
 
        tls_ffdhe_auto_groups (see 'postconf -d' output)
-              The  prioritized  list  of finite-field Diffie-Hellman ephemeral
+              The prioritized list of  finite-field  Diffie-Hellman  ephemeral
               (FFDHE) key exchange groups supported by the Postfix SMTP client
               and server.
 
@@ -727,50 +730,50 @@ SMTP(8)                                                                SMTP(8)
               Optional configuration file with baseline OpenSSL settings.
 
        tls_config_name (empty)
-              The  application  name passed by Postfix to OpenSSL library ini-
+              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
+              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
+       The following configuration parameters  exist  for  compatibility  with
+       Postfix  versions  before  2.3.  Support for these will be removed in a
        future release.
 
        smtp_use_tls (no)
-              Opportunistic  mode: use TLS when a remote SMTP server announces
+              Opportunistic mode: use TLS when a remote SMTP server  announces
               STARTTLS support, otherwise send the mail in the clear.
 
        smtp_enforce_tls (no)
-              Enforcement mode: require  that  remote  SMTP  servers  use  TLS
+              Enforcement  mode:  require  that  remote  SMTP  servers use TLS
               encryption, and never send mail in the clear.
 
        smtp_tls_enforce_peername (yes)
-              With  mandatory  TLS  encryption,  require  that the remote SMTP
-              server hostname matches  the  information  in  the  remote  SMTP
+              With mandatory TLS encryption,  require  that  the  remote  SMTP
+              server  hostname  matches  the  information  in  the remote SMTP
               server certificate.
 
        smtp_tls_per_site (empty)
-              Optional  lookup  tables  with the Postfix SMTP client TLS usage
-              policy by next-hop destination and by remote SMTP  server  host-
+              Optional lookup tables with the Postfix SMTP  client  TLS  usage
+              policy  by  next-hop destination and by remote SMTP server host-
               name.
 
        smtp_tls_cipherlist (empty)
-              Obsolete  Postfix  < 2.3 control for the Postfix SMTP client TLS
+              Obsolete Postfix < 2.3 control for the Postfix SMTP  client  TLS
               cipher list.
 
 RESOURCE AND RATE CONTROLS
        smtp_connect_timeout (30s)
-              The Postfix SMTP client time limit for completing a TCP  connec-
+              The  Postfix SMTP client time limit for completing a TCP connec-
               tion, or zero (use the operating system built-in time limit).
 
        smtp_helo_timeout (300s)
-              The  Postfix SMTP client time limit for sending the HELO or EHLO
-              command, and  for  receiving  the  initial  remote  SMTP  server
+              The Postfix SMTP client time limit for sending the HELO or  EHLO
+              command,  and  for  receiving  the  initial  remote  SMTP server
               response.
 
        lmtp_lhlo_timeout (300s)
@@ -782,19 +785,19 @@ SMTP(8)                                                                SMTP(8)
               mand, and for receiving the remote SMTP server response.
 
        smtp_mail_timeout (300s)
-              The  Postfix  SMTP  client  time limit for sending the MAIL FROM
+              The Postfix SMTP client time limit for  sending  the  MAIL  FROM
               command, and for receiving the remote SMTP server response.
 
        smtp_rcpt_timeout (300s)
-              The Postfix SMTP client time limit for sending the SMTP RCPT  TO
+              The  Postfix SMTP client time limit for sending the SMTP RCPT TO
               command, and for receiving the remote SMTP server response.
 
        smtp_data_init_timeout (120s)
-              The  Postfix  SMTP  client  time limit for sending the SMTP DATA
+              The Postfix SMTP client time limit for  sending  the  SMTP  DATA
               command, and for receiving the remote SMTP server response.
 
        smtp_data_xfer_timeout (180s)
-              The Postfix SMTP client time limit for sending the SMTP  message
+              The  Postfix SMTP client time limit for sending the SMTP message
               content.
 
        smtp_data_done_timeout (600s)
@@ -808,13 +811,13 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.1 and later:
 
        smtp_mx_address_limit (5)
-              The  maximal number of MX (mail exchanger) IP addresses that can
-              result from Postfix SMTP client mail exchanger lookups, or  zero
+              The maximal number of MX (mail exchanger) IP addresses that  can
+              result  from Postfix SMTP client mail exchanger lookups, or zero
               (no limit).
 
        smtp_mx_session_limit (2)
-              The  maximal number of SMTP sessions per delivery request before
-              the Postfix SMTP client gives up  or  delivers  to  a  fall-back
+              The maximal number of SMTP sessions per delivery request  before
+              the  Postfix  SMTP  client  gives  up or delivers to a fall-back
               relay host, or zero (no limit).
 
        smtp_rset_timeout (20s)
@@ -824,17 +827,17 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.2 and earlier:
 
        lmtp_cache_connection (yes)
-              Keep Postfix LMTP client connections open for  up  to  $max_idle
+              Keep  Postfix  LMTP  client connections open for up to $max_idle
               seconds.
 
        Available in Postfix version 2.2 and later:
 
        smtp_connection_cache_destinations (empty)
-              Permanently  enable  SMTP  connection  caching for the specified
+              Permanently enable SMTP connection  caching  for  the  specified
               destinations.
 
        smtp_connection_cache_on_demand (yes)
-              Temporarily enable SMTP connection caching while  a  destination
+              Temporarily  enable  SMTP connection caching while a destination
               has a high volume of mail in the active queue.
 
        smtp_connection_reuse_time_limit (300s)
@@ -848,23 +851,23 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.3 and later:
 
        connection_cache_protocol_timeout (5s)
-              Time  limit for connection cache connect, send or receive opera-
+              Time limit for connection cache connect, send or receive  opera-
               tions.
 
        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.11 and later:
 
        smtp_connection_reuse_count_limit (0)
-              When SMTP connection caching is enabled,  the  number  of  times
-              that  an SMTP session may be reused before it is closed, or zero
+              When  SMTP  connection  caching  is enabled, the number of times
+              that an SMTP session may be reused before it is closed, or  zero
               (no limit).
 
        Available in Postfix version 3.4 and later:
@@ -875,13 +878,13 @@ SMTP(8)                                                                SMTP(8)
        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.
 
@@ -889,54 +892,54 @@ SMTP(8)                                                                SMTP(8)
 
        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.
 
 SMTPUTF8 CONTROLS
        Preliminary SMTPUTF8 support is introduced with Postfix 3.0.
 
        smtputf8_enable (yes)
-              Enable  preliminary SMTPUTF8 support for the protocols described
+              Enable preliminary SMTPUTF8 support for the protocols  described
               in RFC 6531, RFC 6532, and RFC 6533.
 
        smtputf8_autodetect_classes (sendmail, verify)
-              Detect that a message requires SMTPUTF8 support for  the  speci-
+              Detect  that  a message requires SMTPUTF8 support for the speci-
               fied mail origin classes.
 
        Available in Postfix version 3.2 and later:
 
        enable_idna2003_compatibility (no)
-              Enable   'transitional'   compatibility   between  IDNA2003  and
-              IDNA2008, when converting UTF-8 domain names to/from  the  ASCII
+              Enable  'transitional'  compatibility   between   IDNA2003   and
+              IDNA2008,  when  converting UTF-8 domain names to/from the ASCII
               form that is used for DNS lookups.
 
 TROUBLE SHOOTING CONTROLS
        debug_peer_level (2)
-              The  increment  in verbose logging level when a nexthop destina-
-              tion, remote client or server name or network address matches  a
+              The increment in verbose logging level when a  nexthop  destina-
+              tion,  remote client or server name or network address matches a
               pattern given with the debug_peer_list parameter.
 
        debug_peer_list (empty)
-              Optional  list  of  nexthop destination, remote client or server
-              name or network address patterns that,  if  matched,  cause  the
-              verbose  logging  level  to  increase by the amount specified in
+              Optional list of nexthop destination, remote  client  or  server
+              name  or  network  address  patterns that, if matched, cause the
+              verbose logging level to increase by  the  amount  specified  in
               $debug_peer_level.
 
        error_notice_recipient (postmaster)
-              The recipient of postmaster notifications  about  mail  delivery
+              The  recipient  of  postmaster notifications about mail delivery
               problems that are caused by policy, resource, software or proto-
               col errors.
 
        internal_mail_filter_classes (empty)
-              What  categories  of  Postfix-generated  mail  are  subject   to
-              before-queue    content    inspection    by   non_smtpd_milters,
+              What   categories  of  Postfix-generated  mail  are  subject  to
+              before-queue   content    inspection    by    non_smtpd_milters,
               header_checks and body_checks.
 
        notify_classes (resource, software)
@@ -944,46 +947,46 @@ SMTP(8)                                                                SMTP(8)
 
 MISCELLANEOUS CONTROLS
        best_mx_transport (empty)
-              Where the Postfix  SMTP  client  should  deliver  mail  when  it
+              Where  the  Postfix  SMTP  client  should  deliver  mail when it
               detects a "mail loops back to myself" error condition.
 
        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.
 
        disable_dns_lookups (no)
               Disable DNS lookups in the Postfix SMTP and LMTP clients.
 
        inet_interfaces (all)
-              The local network interface  addresses  that  this  mail  system
+              The  local  network  interface  addresses  that this mail system
               receives mail on.
 
        inet_protocols (see 'postconf -d' output)
-              The  Internet  protocols Postfix will attempt to use when making
+              The Internet protocols Postfix will attempt to use  when  making
               or accepting connections.
 
        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.
 
        lmtp_assume_final (no)
-              When  a remote LMTP server announces no DSN support, assume that
-              the server performs final delivery, and send "delivered"  deliv-
+              When a remote LMTP server announces no DSN support, assume  that
+              the  server performs final delivery, and send "delivered" deliv-
               ery status notifications instead of "relayed".
 
        lmtp_tcp_port (24)
               The default TCP port that the Postfix LMTP client connects to.
 
        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)
@@ -997,21 +1000,21 @@ SMTP(8)                                                                SMTP(8)
               The process name of a Postfix command or daemon process.
 
        proxy_interfaces (empty)
-              The remote network interface addresses  that  this  mail  system
-              receives  mail  on by way of a proxy or network address transla-
+              The  remote  network  interface  addresses that this mail system
+              receives mail on by way of a proxy or network  address  transla-
               tion unit.
 
        smtp_address_preference (any)
               The address type ("ipv6", "ipv4" or "any") that the Postfix SMTP
-              client  will  try  first,  when  a destination has IPv6 and IPv4
+              client will try first, when a  destination  has  IPv6  and  IPv4
               addresses with equal MX preference.
 
        smtp_bind_address (empty)
-              An optional numerical network  address  that  the  Postfix  SMTP
+              An  optional  numerical  network  address  that the Postfix SMTP
               client should bind to when making an IPv4 connection.
 
        smtp_bind_address6 (empty)
-              An  optional  numerical  network  address  that the Postfix SMTP
+              An optional numerical network  address  that  the  Postfix  SMTP
               client should bind to when making an IPv6 connection.
 
        smtp_helo_name ($myhostname)
@@ -1031,7 +1034,7 @@ SMTP(8)                                                                SMTP(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 with Postfix 2.2 and earlier:
@@ -1043,14 +1046,14 @@ SMTP(8)                                                                SMTP(8)
        Available with Postfix 2.3 and later:
 
        smtp_fallback_relay ($fallback_relay)
-              Optional  list  of  relay destinations that will be used when an
-              SMTP destination is not found, or when delivery fails due  to  a
+              Optional list of relay destinations that will be  used  when  an
+              SMTP  destination  is not found, or when delivery fails due to a
               non-permanent error.
 
        Available with Postfix 3.0 and later:
 
        smtp_address_verify_target (rcpt)
-              In  the context of email address verification, the SMTP protocol
+              In the context of email address verification, the SMTP  protocol
               stage that determines whether an email address is deliverable.
 
        Available with Postfix 3.1 and later:
@@ -1072,7 +1075,7 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix 3.7 and later:
 
        smtp_bind_address_enforce (no)
-              Defer  delivery  when  the  Postfix SMTP client cannot apply the
+              Defer delivery when the Postfix SMTP  client  cannot  apply  the
               smtp_bind_address or smtp_bind_address6 setting.
 
 SEE ALSO
@@ -1131,5 +1134,5 @@ SMTP(8)                                                                SMTP(8)
        Victor Duchovni
        Morgan Stanley
 
-                                                                       SMTP(8)
+                                       8                           SMTP,(LMTP)
 
diff --git a/postfix/man/man5/postconf.5 b/postfix/man/man5/postconf.5 index 7ffe42b00..0ceea67ee 100644 --- a/postfix/man/man5/postconf.5 +++ b/postfix/man/man5/postconf.5 @@ -4023,6 +4023,10 @@ Remote client protocol. Available in Postfix version 2.2 and later. .IP "\fBDOMAIN\fR" The domain part of the recipient address. .br +.IP "\fBENVID\fR" +The optional RFC 3461 envelope ID. Available in Postfix version +3.9 and later +.br .IP "\fBEXTENSION\fR" The optional address extension. .br diff --git a/postfix/man/man8/local.8 b/postfix/man/man8/local.8 index 7bba0300b..84736cb29 100644 --- a/postfix/man/man8/local.8 +++ b/postfix/man/man8/local.8 @@ -223,27 +223,30 @@ are replaced with underscores. The list of acceptable characters is specified with the \fBcommand_expansion_filter\fR configuration parameter. .IP \fBSHELL\fR -The recipient user's login shell. +The envelope recipient user's login shell. .IP \fBHOME\fR -The recipient user's home directory. +The envelope recipient user's home directory. .IP \fBUSER\fR -The bare recipient name. +The bare envelope recipient name. .IP \fBEXTENSION\fR -The optional recipient address extension. +The optional envelope recipient address extension. .IP \fBDOMAIN\fR -The recipient address domain part. +The envelope recipient address domain part. .IP \fBLOGNAME\fR -The bare recipient name. +The bare envelope recipient name. .IP \fBLOCAL\fR -The entire recipient address localpart (text to the left of the -rightmost @ character). +The entire envelope recipient address localpart (text to +the left of the rightmost @ character). .IP \fBORIGINAL_RECIPIENT\fR -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). .IP \fBRECIPIENT\fR -The entire recipient address. +The entire envelope recipient address. .IP \fBSENDER\fR -The entire sender address. +The entire envelope sender address. +.IP \fBENVID\fR +The optional RFC 3461 envelope ID. Available as of Postfix +3.9. .PP Additional remote client information is made available via the following environment variables: diff --git a/postfix/man/man8/pipe.8 b/postfix/man/man8/pipe.8 index 8e54eafd7..efb9e0e5f 100644 --- a/postfix/man/man8/pipe.8 +++ b/postfix/man/man8/pipe.8 @@ -240,6 +240,11 @@ the domain is \fIdomain\fR. This information is modified by the \fBh\fR flag for case folding. .sp This feature is available as of Postfix 2.5. +.IP \fB${envid}\fR +This macro expands to the RFC 3461 envelope ID if available, +otherwise the empty string. +.sp +This feature is available as of Postfix 3.9. .IP \fB${extension}\fR This macro expands to the extension part of a recipient address. For example, with an address \fIuser+foo@domain\fR the extension is diff --git a/postfix/man/man8/proxymap.8 b/postfix/man/man8/proxymap.8 index e734a2bca..ff0d7592c 100644 --- a/postfix/man/man8/proxymap.8 +++ b/postfix/man/man8/proxymap.8 @@ -43,7 +43,7 @@ proxymap server processes. .IP \(bu To provide single\-updater functionality for lookup tables that do not reliably support multiple writers (i.e. all -file\-based tables). +file\-based tables that are not based on \fBlmdb\fR). .PP The \fBproxymap\fR(8) server implements the following requests: .IP "\fBopen\fR \fImaptype:mapname flags\fR" diff --git a/postfix/man/man8/smtp.8 b/postfix/man/man8/smtp.8 index eff350da6..95fff4d23 100644 --- a/postfix/man/man8/smtp.8 +++ b/postfix/man/man8/smtp.8 @@ -1,14 +1,16 @@ -.TH SMTP 8 +.TH SMTP, LMTP 8 .ad .fi .SH NAME -smtp +smtp, lmtp \- Postfix SMTP+LMTP client .SH "SYNOPSIS" .na .nf \fBsmtp\fR [generic Postfix daemon options] [flags=DORX] + +\fBlmtp\fR [generic Postfix daemon options] [flags=DORX] .SH DESCRIPTION .ad .fi @@ -17,7 +19,9 @@ delivery protocols. It processes message delivery requests from the queue manager. 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 \fBmaster\fR(8) process -manager. +manager. The process name, \fBsmtp\fR or \fBlmtp\fR, controls +the protocol, and the names of the configuration parameters +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 @@ -199,11 +203,10 @@ address and TCP port. .nf .ad .fi -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, \fBsmtp\fR +or \fBlmtp\fR. Most smtp_\fIxxx\fR configuration parameters have an lmtp_\fIxxx\fR "mirror" parameter for the equivalent LMTP diff --git a/postfix/proto/postconf.proto b/postfix/proto/postconf.proto index 0a60e0c01..8e014f690 100644 --- a/postfix/proto/postconf.proto +++ b/postfix/proto/postconf.proto @@ -2733,6 +2733,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.
diff --git a/postfix/proto/stop b/postfix/proto/stop index a7d431474..66dd2dab1 100644 --- a/postfix/proto/stop +++ b/postfix/proto/stop @@ -1587,3 +1587,4 @@ rpk sni Amawalk resychronization +ENVID diff --git a/postfix/proto/stop.double-history b/postfix/proto/stop.double-history index 5767fcd57..68d5bd80f 100644 --- a/postfix/proto/stop.double-history +++ b/postfix/proto/stop.double-history @@ -72,3 +72,12 @@ proto proto aliases proto virtual proto ADDRESS_REWRITING_README html src postalias postalias c src postmap postmap c src postalias postalias c src postmap postmap c src smtpd smtpd c src smtpd smtpd_check c + not proxymap or proxywrite File proxymap proxymap c + still has its all zero SIZE record File postcat postcat c + manpage text File smtp smtp c + manpage text Files smtp smtp c global mail_proto h + File proxymap proxymap c + on process name Files smtp smtp c global mail_proto h + client process name File proxymap proxymap c + available Files local command c local local c + ID if available File pipe pipe c diff --git a/postfix/proto/stop.spell-cc b/postfix/proto/stop.spell-cc index df4b069b8..9aa64c6e9 100644 --- a/postfix/proto/stop.spell-cc +++ b/postfix/proto/stop.spell-cc @@ -1812,3 +1812,5 @@ rpk ep inlined stringz +Sarvepalli +uXXXX diff --git a/postfix/proto/stop.spell-history b/postfix/proto/stop.spell-history index acecbce8b..8a4685797 100644 --- a/postfix/proto/stop.spell-history +++ b/postfix/proto/stop.spell-history @@ -63,3 +63,6 @@ Serg Kinzler smtpstone spammy +Birta +Levente +MariaDB diff --git a/postfix/src/global/mail_proto.h b/postfix/src/global/mail_proto.h index 315a2e15d..bea0886d1 100644 --- a/postfix/src/global/mail_proto.h +++ b/postfix/src/global/mail_proto.h @@ -62,6 +62,13 @@ #define MAIL_SERVICE_TLSPROXY "tlsproxy" #define MAIL_SERVICE_POSTLOG "postlog" + /* + * Process names: convention is to use the basename of an executable file, + * but there is nothing to enforce that. + */ +#define MAIL_PROC_NAME_SMTP "smtp" +#define MAIL_PROC_NAME_LMTP "lmtp" + /* * Mail source classes. Used to specify policy decisions for content * inspection and SMTPUTF8 detection. diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index 34956d70a..77f2ae7f7 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -20,7 +20,7 @@ * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ -#define MAIL_RELEASE_DATE "20231112" +#define MAIL_RELEASE_DATE "20231210" #define MAIL_VERSION_NUMBER "3.9" #ifdef SNAPSHOT diff --git a/postfix/src/local/command.c b/postfix/src/local/command.c index 4781daf08..368307d84 100644 --- a/postfix/src/local/command.c +++ b/postfix/src/local/command.c @@ -17,7 +17,8 @@ /* Duplicate commands for the same recipient are suppressed. /* A limited amount of information is exported via the environment: /* HOME, SHELL, LOGNAME, USER, EXTENSION, DOMAIN, RECIPIENT (entire -/* address) LOCAL (just the local part) and SENDER. The exported +/* address) LOCAL (just the local part), SENDER, and ENVID +/* (see RFC 3461). The exported /* information is censored with var_cmd_filter. /* /* Arguments: @@ -169,6 +170,8 @@ int deliver_command(LOCAL_STATE state, USER_ATTR usr_attr, const char *comma if (state.msg_attr.rcpt.orig_addr && state.msg_attr.rcpt.orig_addr[0]) argv_add(env, "ORIGINAL_RECIPIENT", state.msg_attr.rcpt.orig_addr, ARGV_END); + if (state.request->dsn_envid[0]) + argv_add(env, "ENVID", state.request->dsn_envid, ARGV_END); #define EXPORT_REQUEST(name, value) \ if ((value)[0]) argv_add(env, (name), (value), ARGV_END); diff --git a/postfix/src/local/local.c b/postfix/src/local/local.c index 6fa211ed7..10b80824b 100644 --- a/postfix/src/local/local.c +++ b/postfix/src/local/local.c @@ -207,27 +207,30 @@ /* is specified with the \fBcommand_expansion_filter\fR configuration /* parameter. /* .IP \fBSHELL\fR -/* The recipient user's login shell. +/* The envelope recipient user's login shell. /* .IP \fBHOME\fR -/* The recipient user's home directory. +/* The envelope recipient user's home directory. /* .IP \fBUSER\fR -/* The bare recipient name. +/* The bare envelope recipient name. /* .IP \fBEXTENSION\fR -/* The optional recipient address extension. +/* The optional envelope recipient address extension. /* .IP \fBDOMAIN\fR -/* The recipient address domain part. +/* The envelope recipient address domain part. /* .IP \fBLOGNAME\fR -/* The bare recipient name. +/* The bare envelope recipient name. /* .IP \fBLOCAL\fR -/* The entire recipient address localpart (text to the left of the -/* rightmost @ character). +/* The entire envelope recipient address localpart (text to +/* the left of the rightmost @ character). /* .IP \fBORIGINAL_RECIPIENT\fR -/* 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). /* .IP \fBRECIPIENT\fR -/* The entire recipient address. +/* The entire envelope recipient address. /* .IP \fBSENDER\fR -/* The entire sender address. +/* The entire envelope sender address. +/* .IP \fBENVID\fR +/* The optional RFC 3461 envelope ID. Available as of Postfix +/* 3.9. /* .PP /* Additional remote client information is made available via /* the following environment variables: diff --git a/postfix/src/pipe/pipe.c b/postfix/src/pipe/pipe.c index 8a994304b..301793743 100644 --- a/postfix/src/pipe/pipe.c +++ b/postfix/src/pipe/pipe.c @@ -230,6 +230,11 @@ /* This information is modified by the \fBh\fR flag for case folding. /* .sp /* This feature is available as of Postfix 2.5. +/* .IP \fB${envid}\fR +/* This macro expands to the RFC 3461 envelope ID if available, +/* otherwise the empty string. +/* .sp +/* This feature is available as of Postfix 3.9. /* .IP \fB${extension}\fR /* This macro expands to the extension part of a recipient address. /* For example, with an address \fIuser+foo@domain\fR the extension is @@ -544,6 +549,7 @@ #define PIPE_DICT_SASL_USERNAME "sasl_username" /* key */ #define PIPE_DICT_SASL_SENDER "sasl_sender" /* key */ #define PIPE_DICT_QUEUE_ID "queue_id" /* key */ +#define PIPE_DICT_ENVID "envid" /* key */ /* * Flags used to pass back the type of special parameter found by @@ -649,6 +655,7 @@ static int parse_callback(int type, VSTRING *buf, void *context) PIPE_DICT_SASL_USERNAME, 0, PIPE_DICT_SASL_SENDER, 0, PIPE_DICT_QUEUE_ID, 0, + PIPE_DICT_ENVID, 0, 0, 0, }; struct cmd_flags *p; @@ -1278,6 +1285,8 @@ static int deliver_message(DELIVER_REQUEST *request, char *service, char **argv) request->sasl_sender); dict_update(PIPE_DICT_TABLE, PIPE_DICT_QUEUE_ID, request->queue_id); + dict_update(PIPE_DICT_TABLE, PIPE_DICT_ENVID, + request->dsn_envid); vstring_free(buf); if ((expanded_argv = expand_argv(service, attr.command, diff --git a/postfix/src/postqueue/showq_json.c b/postfix/src/postqueue/showq_json.c index fc205c726..db7940462 100644 --- a/postfix/src/postqueue/showq_json.c +++ b/postfix/src/postqueue/showq_json.c @@ -96,7 +96,7 @@ static char *json_quote(VSTRING *result, const char *text) VSTRING_ADDCH(result, 't'); break; default: - vstring_sprintf(result, "\\u%04X", ch); + vstring_sprintf_append(result, "\\u%04X", ch); break; } } else { diff --git a/postfix/src/posttls-finger/posttls-finger.c b/postfix/src/posttls-finger/posttls-finger.c index 29c17e396..91bbc6669 100644 --- a/postfix/src/posttls-finger/posttls-finger.c +++ b/postfix/src/posttls-finger/posttls-finger.c @@ -2138,7 +2138,15 @@ static void parse_match(STATE *state, int argc, char *argv[]) #ifdef USE_TLS int smtp_mode = 1; + /* + * DANE match names are configured late, once the TLSA records are in hand. + * For now, prepare to fall back to "secure". + */ switch (state->level) { + default: + state->match = 0; + break; + case TLS_LEV_DANE: case TLS_LEV_SECURE: state->match = argv_alloc(2); while (*argv) @@ -2159,11 +2167,6 @@ static void parse_match(STATE *state, int argc, char *argv[]) tls_dane_add_fpt_digests(state->dane, state->options.enable_rpk, *argv++, "", smtp_mode); break; - case TLS_LEV_DANE: - case TLS_LEV_DANE_ONLY: - state->match = argv_alloc(2); - argv_add(state->match, "nexthop", "hostname", ARGV_END); - break; } #endif } diff --git a/postfix/src/proxymap/proxymap.c b/postfix/src/proxymap/proxymap.c index 9bfab7904..c0af411f6 100644 --- a/postfix/src/proxymap/proxymap.c +++ b/postfix/src/proxymap/proxymap.c @@ -37,7 +37,7 @@ /* .IP \(bu /* To provide single-updater functionality for lookup tables /* that do not reliably support multiple writers (i.e. all -/* file-based tables). +/* file-based tables that are not based on \fBlmdb\fR). /* .PP /* The \fBproxymap\fR(8) server implements the following requests: /* .IP "\fBopen\fR \fImaptype:mapname flags\fR" @@ -752,8 +752,10 @@ static void post_jail_init(char *service_name, char **unused_argv) if (strcmp(service_name, MAIL_SERVICE_PROXYWRITE) == 0) proxy_writer = 1; else if (strcmp(service_name, MAIL_SERVICE_PROXYMAP) != 0) - msg_fatal("service name must be one of %s or %s", - MAIL_SERVICE_PROXYWRITE, MAIL_SERVICE_PROXYMAP); + msg_fatal("invalid service name: \"%s\" - " + "service name must be \"%s\" or \"%s\"", + service_name, MAIL_SERVICE_PROXYWRITE, + MAIL_SERVICE_PROXYMAP); /* * Pre-allocate buffers. @@ -841,6 +843,36 @@ int main(int argc, char **argv) */ MAIL_VERSION_STAMP_ALLOCATE; + /* + * XXX When invoked with the master.cf service name "proxywrite", the + * proxymap daemon will allow update requests. To update a table that is + * not multi-writer safe (for example, some versions of Berkeley DB), the + * "proxywrite" service should run as a single updater (i.e. a process + * limit of 1, which could be enforced below by requesting + * CA_MAIL_SERVER_SOLITARY). + * + * In the default master.cf file, the "proxywrite" service has a process + * limit of 1. Assuming that updates will be rare, this process limit + * will suffice. Latency-sensitive services such as postscreen must not + * use the proxywrite service (in fact, postscreen has a latency check + * built-in). + * + * Optimizing for multi-writer operation would suffer from all kinds of + * complexity that would make it hard to use: + * + * - The master daemon specifies the "proxywrite" service name with the -n + * command-line option. This information is not known here, before the + * multi_server_main() call. The multi_server_main() function could + * reveal process limit information to its call-back functions, and leave + * single-updater enforcement to its call-back functions. + * + * - If we really want multi-writer update support, the "proxywrite" service + * would have to parse the $proxy_write_maps value, and permit + * multi-writer operation only if all tables are multi-writer safe. That + * would require a new dict(3) method, to query each lookup table + * implementation if it is multi-writer safe, without instantiating a + * lookup table client. + */ multi_server_main(argc, argv, proxymap_service, CA_MAIL_SERVER_STR_TABLE(str_table), CA_MAIL_SERVER_POST_INIT(post_jail_init), diff --git a/postfix/src/smtp/smtp.c b/postfix/src/smtp/smtp.c index 3b079ce7f..f3eade0ce 100644 --- a/postfix/src/smtp/smtp.c +++ b/postfix/src/smtp/smtp.c @@ -1,17 +1,21 @@ /*++ /* NAME -/* smtp 8 +/* smtp, lmtp 8 /* SUMMARY /* Postfix SMTP+LMTP client /* SYNOPSIS /* \fBsmtp\fR [generic Postfix daemon options] [flags=DORX] +/* +/* \fBlmtp\fR [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 manager. 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 \fBmaster\fR(8) process -/* manager. +/* manager. The process name, \fBsmtp\fR or \fBlmtp\fR, controls +/* the protocol, and the names of the configuration parameters +/* 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 @@ -175,11 +179,10 @@ /* CONFIGURATION PARAMETERS /* .ad /* .fi -/* 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, \fBsmtp\fR +/* or \fBlmtp\fR. /* /* Most smtp_\fIxxx\fR configuration parameters have an /* lmtp_\fIxxx\fR "mirror" parameter for the equivalent LMTP @@ -1470,6 +1473,19 @@ static void pre_init(char *unused_name, char **unused_argv) 0, -1, }; + /* + * The process name, "smtp" or "lmtp", determines the configuration + * parameters to use, protocol, DSN server reply type, SASL service + * information lookup, and more. We peeked at the name in the main() + * function before logging was initialized. Here, we detect and report an + * invalid process name. + */ + if (strcmp(var_procname, MAIL_PROC_NAME_SMTP) != 0 + && strcmp(var_procname, MAIL_PROC_NAME_LMTP) != 0) + msg_fatal("unexpected process name \"%s\" - " + "specify \"%s\" or \"%s\"", var_procname, + MAIL_PROC_NAME_SMTP, MAIL_PROC_NAME_LMTP); + /* * Turn on per-peer debugging. */ @@ -1661,21 +1677,15 @@ int main(int argc, char **argv) MAIL_VERSION_STAMP_ALLOCATE; /* - * XXX At this point, var_procname etc. are not initialized. - * - * The process name, "smtp" or "lmtp", determines the protocol, the DSN - * server reply type, SASL service information lookup, and more. Prepare - * for the possibility there may be another personality. + * XXX The process name, "smtp" or "lmtp", determines what configuration + * parameter settings to use, and more. However, at this point, logging + * and var_procname are not initialized. Here, we peek at the process + * name to determine what configuration parameter settings to use. Later, + * we detect and report an invalid process name. */ sane_procname = sane_basename((VSTRING *) 0, argv[0]); - if (strcmp(sane_procname, "smtp") == 0) + if (strcmp(sane_procname, MAIL_PROC_NAME_SMTP) == 0) smtp_mode = 1; - else if (strcmp(sane_procname, "lmtp") == 0) - smtp_mode = 0; - else - /* TODO: logging is not initialized. */ - msg_fatal("unexpected process name \"%s\" - " - "specify \"smtp\" or \"lmtp\"", var_procname); /* * Initialize with the LMTP or SMTP parameter name space. diff --git a/postfix/src/smtpd/smtpd_check.c b/postfix/src/smtpd/smtpd_check.c index 0efd9794d..560cd0b2e 100644 --- a/postfix/src/smtpd/smtpd_check.c +++ b/postfix/src/smtpd/smtpd_check.c @@ -5274,8 +5274,9 @@ static int check_recipient_rcpt_maps(SMTPD_STATE *state, const char *recipient) { /* - * Duplicate suppression. There's an implicit check_recipient_maps - * restriction at the end of all recipient restrictions. + * Duplicate suppression. With "smtpd_reject_unlisted_recipient = yes", + * there's an implicit reject_unlisted_recipient restriction at the end + * of all recipient restrictions. */ if (smtpd_input_transp_mask & INPUT_TRANSP_UNKNOWN_RCPT) return (0); @@ -5294,8 +5295,9 @@ static int check_sender_rcpt_maps(SMTPD_STATE *state, const char *sender) { /* - * Duplicate suppression. There's an implicit check_sender_maps - * restriction at the end of all sender restrictions. + * Duplicate suppression. With "smtpd_reject_unlisted_sender = yes", + * there's an implicit reject_unlisted_sender restriction at the end of + * all sender restrictions. */ if (smtpd_input_transp_mask & INPUT_TRANSP_UNKNOWN_RCPT) return (0);