POSTFIX(1) | POSTFIX(1) |
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:
check | Warn about bad directory/file ownership or permissions, and create missing directories. |
start | Start the Postfix mail system. This also runs the configuration check described above. |
stop |
Stop the Postfix mail system in an orderly fashion. If possible, running processes are allowed to terminate at their earliest convenience. |
abort | Stop the Postfix mail system abruptly. Running processes are signaled to stop immediately. |
flush |
Force delivery: attempt to deliver every message in the deferred mail queue. Normally, attempts to deliver delayed mail happen at regular intervals, the interval doubling after each failed attempt. |
reload | Re-read configuration files. Running processes terminate at their earliest convenience. |
status | Indicate if the Postfix mail system is currently running. |
set-permissions [name=value ...] |
Set the ownership and permissions of Postfix related files and directories, as specified in the postfix-files file. |
upgrade-configuration [name=value ...] |
Update the main.cf and master.cf files with information that Postfix needs in order to run: add or update services, and add or update configuration parameter settings. |
The following options are implemented:
-c config_dir |
Read the main.cf and master.cf configuration files in the named directory instead of the default configuration directory. Use this to distinguish between multiple Postfix instances on the same host. 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. |
-D (with postfix start only) | Run each Postfix daemon under control of a debugger as specified via the debugger_command configuration parameter. |
-v | Enable verbose logging for debugging purposes. Multiple -v options make the software increasingly verbose. |
MAIL_CONFIG |
This is set when the -c command-line option is present. 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. |
MAIL_VERBOSE | This is set when the -v command-line option is present. |
MAIL_DEBUG | This is set when the -D command-line option is present. |
command_directory (see 'postconf -d' output) | The location of all postfix administrative commands. |
daemon_directory (see 'postconf -d' output) | The directory with Postfix support programs and daemon programs. |
config_directory (see 'postconf -d' output) | The default location of the Postfix main.cf and master.cf configuration files. |
queue_directory (see 'postconf -d' output) | The location of the Postfix top-level queue directory. |
mail_owner (postfix) | The UNIX system account that owns the Postfix queue and most Postfix daemon processes. |
setgid_group (postdrop) | The group ownership of set-gid Postfix commands and of group-writable Postfix directories. |
sendmail_path (see 'postconf -d' output) | A Sendmail compatibility feature that specifies the location of the Postfix sendmail(1) command. |
newaliases_path (see 'postconf -d' output) | Sendmail compatibility feature that specifies the location of the newaliases(1) command. |
mailq_path (see 'postconf -d' output) | Sendmail compatibility feature that specifies where the Postfix mailq(1) command is installed. |
html_directory (see 'postconf -d' output) | The location of Postfix HTML files that describe how to build, configure or operate a specific Postfix subsystem or feature. |
manpage_directory (see 'postconf -d' output) | Where the Postfix manual pages are installed. |
readme_directory (see 'postconf -d' output) | The location of Postfix README files that describe how to build, configure or operate a specific Postfix subsystem or feature. |
Available in Postfix version 2.5 and later:
data_directory (see 'postconf -d' output) | The directory with Postfix-writable data files (for example: caches, pseudo-random numbers). |
Other configuration parameters:
config_directory (see 'postconf -d' output) | The default location of the Postfix main.cf and master.cf configuration files. |
import_environment (see 'postconf -d' output) | The list of environment parameters that a Postfix process will import from a non-Postfix parent process. |
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". |
Available in Postfix version 2.6 and later:
multi_instance_directories (empty) | An optional list of non-default Postfix configuration directories; these directories belong to additional Postfix instances that share the Postfix executable files and documentation with the default Postfix instance, and that are started, stopped, etc., together with the default Postfix instance. |
multi_instance_wrapper (empty) | The pathname of a multi-instance manager command that the postfix(1) command invokes when the multi_instance_directories parameter value is non-empty. |
multi_instance_group (empty) | The optional instance group name of this Postfix instance. |
multi_instance_name (empty) | The optional instance name of this Postfix instance. |
multi_instance_enable (no) | Allow this Postfix instance to be started, stopped, etc., by a multi-instance manager. |
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-files, file/directory permissions
$daemon_directory/postfix-script, administrative commands
$daemon_directory/post-install, post-installation configuration
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
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
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 black/whitelist 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
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
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
August 25, 2011 |