POSTFIX(1) | General Commands Manual | POSTFIX(1) |
postfix - Postfix control program
postfix [-Dv] [-c config_dir] command
This command is reserved for the superuser. To submit mail, use the Postfix sendmail(1) command.
The postfix(1) command controls the operation of the Postfix mail system: start or stop the master(8) daemon, do a health check, and other maintenance.
By default, the postfix(1) command sets up a standardized environment and runs the postfix-script shell script to do the actual work.
However, when support for multiple Postfix instances is configured, postfix(1) executes the command specified with the multi_instance_wrapper configuration parameter. This command will execute the command for each applicable Postfix instance.
The following commands are implemented:
When running Postfix inside a container, see MAILLOG_README for logging to stdout. Postfix logs to syslog by default, which requires a) running a syslogd process inside the container, or b) mounting the container host's /dev/log socket inside the container (example: "docker run -v /dev/log:/dev/log ..."), and c) a distinct Postfix "syslog_name" prefix that identifies logging from the Postfix instance.
Note: in order to refresh the Postfix mail system after a configuration change, do not use the start and stop commands in succession. Use the reload command instead.
Warning: flushing undeliverable mail frequently will result in poor delivery performance of all other mail.
Specify name=value to override and update specific main.cf configuration parameters. Use this, for example, to change the mail_owner or setgid_group setting for an already installed Postfix system.
This feature is available in Postfix 2.1 and later. With Postfix 2.0 and earlier, use "$config_directory/post-install set-permissions".
This feature is available in Postfix 3.4 and later.
This feature is available in Postfix 3.1 and later.
Specify name=value to override and update specific main.cf configuration parameters.
This feature is available in Postfix 2.1 and later. With Postfix 2.0 and earlier, use "$config_directory/post-install upgrade-configuration".
The following options are implemented:
With Postfix 2.6 and later, this option forces the postfix(1) command to operate on the specified Postfix instance only. This behavior is inherited by postfix(1) commands that run as a descendant of the current process.
The postfix(1) command exports the following environment variables before executing the postfix-script file:
With Postfix 2.6 and later, this environment variable forces the postfix(1) command to operate on the specified Postfix instance only. This behavior is inherited by postfix(1) commands that run as a descendant of the current process.
When the internal logging service is enabled (by setting a non-empty maillog_file parameter value) the postfix(1) command exports settings that are used by child processes before they have processed main.cf or command-line settings.
The following main.cf configuration parameters are exported as environment variables with the same names:
Available in Postfix version 2.5 and later:
Available in Postfix version 3.0 and later:
Available in Postfix version 3.1 and later:
Other configuration parameters:
Available in Postfix version 2.6 and later:
Available in Postfix version 3.4 and later:
Prior to Postfix version 2.6, all of the following files were in $config_directory. Some files are now in $daemon_directory or $meta_directory so that they can be shared among multiple instances that run the same Postfix version.
Use the command "postconf config_directory" or "postconf daemon_directory" to expand the names into their actual values.
$config_directory/main.cf, Postfix configuration parameters $config_directory/master.cf, Postfix daemon processes $daemon_directory/postfix-script, administrative commands $daemon_directory/post-install, post-installation configuration $meta_directory/dynamicmaps.cf, plug-in database clients $meta_directory/postfix-files, file/directory permissions
Commands: postalias(1), create/update/query alias database postcat(1), examine Postfix queue file postconf(1), Postfix configuration utility postdrop(1), Postfix mail posting utility postfix(1), Postfix control program postfix-tls(1), Postfix TLS management postkick(1), trigger Postfix daemon postlock(1), Postfix-compatible locking postlog(1), Postfix-compatible logging postmap(1), Postfix lookup table manager postmulti(1), Postfix multi-instance manager postqueue(1), Postfix mail queue control postsuper(1), Postfix housekeeping mailq(1), Sendmail compatibility interface newaliases(1), Sendmail compatibility interface sendmail(1), Sendmail compatibility interface Postfix configuration: bounce(5), Postfix bounce message templates master(5), Postfix master.cf file syntax postconf(5), Postfix main.cf file syntax postfix-wrapper(5), Postfix multi-instance API Table-driven mechanisms: access(5), Postfix SMTP access control table aliases(5), Postfix alias database canonical(5), Postfix input address rewriting generic(5), Postfix output address rewriting header_checks(5), body_checks(5), Postfix content inspection relocated(5), Users that have moved transport(5), Postfix routing table virtual(5), Postfix virtual aliasing Table lookup mechanisms: cidr_table(5), Associate CIDR pattern with value ldap_table(5), Postfix LDAP client lmdb_table(5), Postfix LMDB database driver memcache_table(5), Postfix memcache client mysql_table(5), Postfix MYSQL client nisplus_table(5), Postfix NIS+ client pcre_table(5), Associate PCRE pattern with value pgsql_table(5), Postfix PostgreSQL client regexp_table(5), Associate POSIX regexp pattern with value socketmap_table(5), Postfix socketmap client sqlite_table(5), Postfix SQLite database driver tcp_table(5), Postfix client-server table lookup Daemon processes: anvil(8), Postfix connection/rate limiting bounce(8), defer(8), trace(8), Delivery status reports cleanup(8), canonicalize and enqueue message discard(8), Postfix discard delivery agent dnsblog(8), DNS allow/denylist logger error(8), Postfix error delivery agent flush(8), Postfix fast ETRN service local(8), Postfix local delivery agent master(8), Postfix master daemon oqmgr(8), old Postfix queue manager pickup(8), Postfix local mail pickup pipe(8), deliver mail to non-Postfix command postlogd(8), Postfix internal logging service postscreen(8), Postfix zombie blocker proxymap(8), Postfix lookup table proxy server qmgr(8), Postfix queue manager qmqpd(8), Postfix QMQP server scache(8), Postfix connection cache manager showq(8), list Postfix mail queue smtp(8), lmtp(8), Postfix SMTP+LMTP client smtpd(8), Postfix SMTP server spawn(8), run non-Postfix server tlsmgr(8), Postfix TLS cache and randomness manager tlsproxy(8), Postfix TLS proxy server trivial-rewrite(8), Postfix address rewriting verify(8), Postfix address verification virtual(8), Postfix virtual delivery agent Other: syslogd(8), system logging
Use "postconf readme_directory" or "postconf html_directory" to locate this information.
OVERVIEW, overview of Postfix commands and processes BASIC_CONFIGURATION_README, Postfix basic configuration ADDRESS_REWRITING_README, Postfix address rewriting SMTPD_ACCESS_README, SMTP relay/access control CONTENT_INSPECTION_README, Postfix content inspection QSHAPE_README, Postfix queue analysis
The Secure Mailer license must be distributed with this software.
Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA Wietse Venema Google, Inc. 111 8th Avenue New York, NY 10011, USA TLS support by: Lutz Jaenicke Brandenburg University of Technology Cottbus, Germany Victor Duchovni Morgan Stanley SASL support originally by: Till Franke SuSE Rhein/Main AG 65760 Eschborn, Germany LMTP support originally by: Philip A. Prindeville Mirapoint, Inc. USA. Amos Gouaux University of Texas at Dallas P.O. Box 830688, MC34 Richardson, TX 75083, USA IPv6 support originally by: Mark Huizer, Eindhoven University, The Netherlands Jun-ichiro 'itojun' Hagino, KAME project, Japan The Linux PLD project Dean Strik, Eindhoven University, The Netherlands