Postfix legacy TLS Support
This document describes an old TLS user interface that is based on a third-party TLS patch by Lutz Jänicke. As of Postfix version 2.3, the old user interface still exists to allow migration from earlier Postfix releases, but its functionality is frozen.
Transport Layer Security (TLS, formerly called SSL) provides certificate-based authentication and encrypted sessions. An encrypted session protects the information that is trans address. 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 and case folding. ${sasl_method} This macro expands to the name of the SASL authentication 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 original submitter as per RFC 4954) in the MAIL FROM command when the Postfix SMTP server received the message. This feature is available as of Postfix 2.2. ${sasl_username} This macro expands to the SASL user name in the AUTH command when the Postfix SMTP server received the message. 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-DAEMON; 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 delivered. ${user} 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 recipients. This information is modified by the u flag for case folding. STANDARDS RFC 3463 (Enhanced status codes) DIAGNOSTICS Command exit status codes are expected to follow the con- ventions defined in <sysexits.h>. Exit status 0 means normal successful completion. In the case of a non-zero exit status, a limited amount of command output is reported in an delivery status notifica- tion. When the output begins with a 4.X.X or 5.X.X enhanced status code, the status code takes precedence over the non-zero exit status (Postfix version 2.3 and later). Problems and transactions are logged to syslogd(8). Cor- rupted 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 exe- cute external commands as the specified user. It is there- fore 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 speed up a change. The text below provides only a parameter summary. See postconf(5) for more details including examples. RESOURCE AND RATE CONTROLS In the text below, transport is the first field in a mas- ter.cf entry. transport_destination_concurrency_limit ($default_destina- tion_concurrency_limit) Limit the number of parallel deliveries to the same destination, for delivery via the named transport. The limit is enforced by the Postfix queue manager. transport_destination_recipient_limit ($default_destina- tion_recipient_limit) Limit the number of recipients per message deliv- ery, for delivery via the named transport. The limit is enforced by the Postfix queue manager. transport_time_limit ($command_time_limit) Limit the time for delivery to external command, for delivery via the named transport. The limit is enforced by the pipe delivery agent. Postfix 2.4 and later support a suffix that speci- fies the time unit: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is seconds. MISCELLANEOUS CONTROLS config_directory (see 'postconf -d' output) The default location of the Postfix main.cf and master.cf configuration files. daemon_timeout (18000s) 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 logging sub-second delay values. export_environment (see 'postconf -d' output) 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 internal communication channel. mail_owner (postfix) 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 waits for an incoming connection before terminating voluntarily. max_use (100) The maximal number of incoming connections that a Postfix daemon process will service before termi- nating voluntarily. process_id (read-only) The process ID of a Postfix command or daemon process. process_name (read-only) The process name of a Postfix command or daemon process. queue_directory (see 'postconf -d' output) The location of the Postfix top-level queue direc- tory. recipient_delimiter (empty) The separator between user names and address exten- sions (user+foo). syslog_facility (mail) The syslog facility of Postfix logging. syslog_name (see 'postconf -d' output) The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". SEE ALSO qmgr(8), queue manager bounce(8), delivery status reports postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging LICENSE The Secure Mailer license must be distributed with this software. AUTHOR(S) Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA PIPE(8)