NAME

postfix - Postfix control program

SYNOPSIS



ppoossttffiixx [--DDvv] [--cc _c_o_n_f_i_g___d_i_r] _c_o_m_m_a_n_d

DESCRIPTION

This command is reserved for the superuser. To submit mail, use the Postfix sseennddmmaaiill(1) command.

The ppoossttffiixx(1) command controls the operation of the Postfix mail system: start or stop the mmaasstteerr(8) daemon, do a health check, and other maintenance.

By default, the ppoossttffiixx(1) command sets up a standardized environment and runs the ppoossttffiixx--ssccrriipptt shell script to do the actual work.

However, when support for multiple Postfix instances is configured, ppoossttffiixx(1) executes the command specified with the mmuullttii__iinnssttaannccee__wwrraappppeerr configuration parameter. This command will execute the _c_o_m_m_a_n_d for each applicable Postfix instance.

The following commands are implemented:

cchheecckk Warn about bad directory/file ownership or permissions,
and create missing directories.
ssttaarrtt Start the Postfix mail system. This also runs the configuration
check described above.
ssttoopp Stop the Postfix mail system in an orderly fashion. If
possible, running processes are allowed to terminate at their earliest convenience.

Note: in order to refresh the Postfix mail system after a configuration change, do not use the ssttaarrtt and ssttoopp commands in succession. Use the rreellooaadd command instead.
aabboorrtt Stop the Postfix mail system abruptly. Running processes are
signaled to stop immediately.
fflluusshh 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.

Warning: flushing undeliverable mail frequently will result in poor delivery performance of all other mail.
rreellooaadd Re-read configuration files. Running processes terminate at their
earliest convenience.
ssttaattuuss Indicate if the Postfix mail system is currently running.
sseett--ppeerrmmiissssiioonnss [[_n_a_m_e=_v_a_l_u_e _._._.]] Set the ownership and permissions of Postfix related files and
directories, as specified in the ppoossttffiixx--ffiilleess file.

Specify _n_a_m_e=_v_a_l_u_e to override and update specific main.cf configuration parameters. Use this, for example, to change the mmaaiill__oowwnneerr or sseettggiidd__ggrroouupp setting for an already installed Postfix system.

This feature is available in Postfix 2.1 and later. With Postfix 2.0 and earlier, use "$$ccoonnffiigg__ddiirreeccttoorryy//ppoosstt--iinnssttaallll sseett--ppeerrmmiissssiioonnss".
uuppggrraaddee--ccoonnffiigguurraattiioonn [[_n_a_m_e=_v_a_l_u_e _._._.]] Update the mmaaiinn..ccff and mmaasstteerr..ccff files with information
that Postfix needs in order to run: add or update services, and add or update configuration parameter settings.

Specify _n_a_m_e=_v_a_l_u_e 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 "$$ccoonnffiigg__ddiirreeccttoorryy//ppoosstt--iinnssttaallll uuppggrraaddee--ccoonnffiigguurraattiioonn".

The following options are implemented:

--cc _c_o_n_f_i_g___d_i_r Read the mmaaiinn..ccff and mmaasstteerr..ccff 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.

--DD (with ppoossttffiixx ssttaarrtt only) Run each Postfix daemon under control of a debugger as specified
via the ddeebbuuggggeerr__ccoommmmaanndd configuration parameter.
--vv Enable verbose logging for debugging purposes. Multiple --vv
options make the software increasingly verbose.

ENVIRONMENT



The ppoossttffiixx(1) command exports the following environment
variables before executing the ppoossttffiixx--ssccrriipptt file:
MMAAIILL__CCOONNFFIIGG 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.

MMAAIILL__VVEERRBBOOSSEE This is set when the -v command-line option is present.
MMAAIILL__DDEEBBUUGG This is set when the -D command-line option is present.

CONFIGURATION PARAMETERS



The following mmaaiinn..ccff configuration parameters are
exported as environment variables with the same names:
ccoommmmaanndd__ddiirreeccttoorryy ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) The location of all postfix administrative commands.
ddaaeemmoonn__ddiirreeccttoorryy ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) The directory with Postfix support programs and daemon programs.
ccoonnffiigg__ddiirreeccttoorryy ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) The default location of the Postfix main.cf and master.cf
configuration files.
qquueeuuee__ddiirreeccttoorryy ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) The location of the Postfix top-level queue directory.
mmaaiill__oowwnneerr ((ppoossttffiixx)) The UNIX system account that owns the Postfix queue and most Postfix
daemon processes.
sseettggiidd__ggrroouupp ((ppoossttddrroopp)) The group ownership of set-gid Postfix commands and of group-writable
Postfix directories.
sseennddmmaaiill__ppaatthh ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) A Sendmail compatibility feature that specifies the location of
the Postfix sseennddmmaaiill(1) command.
nneewwaalliiaasseess__ppaatthh ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) Sendmail compatibility feature that specifies the location of the
nneewwaalliiaasseess(1) command.
mmaaiillqq__ppaatthh ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) Sendmail compatibility feature that specifies where the Postfix
mmaaiillqq(1) command is installed.
hhttmmll__ddiirreeccttoorryy ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) The location of Postfix HTML files that describe how to build,
configure or operate a specific Postfix subsystem or feature.
mmaannppaaggee__ddiirreeccttoorryy ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) Where the Postfix manual pages are installed.
rreeaaddmmee__ddiirreeccttoorryy ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) 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:

ddaattaa__ddiirreeccttoorryy ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) The directory with Postfix-writable data files (for example:
caches, pseudo-random numbers).

Other configuration parameters:

ccoonnffiigg__ddiirreeccttoorryy ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) The default location of the Postfix main.cf and master.cf
configuration files.
iimmppoorrtt__eennvviirroonnmmeenntt ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) The list of environment parameters that a Postfix process will
import from a non-Postfix parent process.
ssyysslloogg__ffaacciilliittyy ((mmaaiill)) The syslog facility of Postfix logging.
ssyysslloogg__nnaammee ((sseeee ''ppoossttccoonnff --dd'' oouuttppuutt)) 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:

mmuullttii__iinnssttaannccee__ddiirreeccttoorriieess ((eemmppttyy)) 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.
mmuullttii__iinnssttaannccee__wwrraappppeerr ((eemmppttyy)) The pathname of a multi-instance manager command that the
ppoossttffiixx(1) command invokes when the multi_instance_directories parameter value is non-empty.
mmuullttii__iinnssttaannccee__ggrroouupp ((eemmppttyy)) The optional instance group name of this Postfix instance.
mmuullttii__iinnssttaannccee__nnaammee ((eemmppttyy)) The optional instance name of this Postfix instance.
mmuullttii__iinnssttaannccee__eennaabbllee ((nnoo)) Allow this Postfix instance to be started, stopped, etc., by a
multi-instance manager.

FILES



Prior to Postfix version 2.6, all of the following files
were in $$ccoonnffiigg__ddiirreeccttoorryy. Some files are now in
$$ddaaeemmoonn__ddiirreeccttoorryy so that they can be shared among
multiple instances that run the same Postfix version.
        

Use the command "ppoossttccoonnff ccoonnffiigg__ddiirreeccttoorryy" or "ppoossttccoonnff ddaaeemmoonn__ddiirreeccttoorryy" 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

SEE ALSO


Commands:
postalias(1), create/update/query alias database
postcat(1), examine Postfix queue file
postconf(1), Postfix configuration utility
postfix(1), Postfix control program
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 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 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 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 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 trivial-rewrite(8), Postfix address rewriting verify(8), Postfix address verification virtual(8), Postfix virtual delivery agent

Other: syslogd(8), system logging

README FILES



Use "ppoossttccoonnff rreeaaddmmee__ddiirreeccttoorryy" or
"ppoossttccoonnff hhttmmll__ddiirreeccttoorryy" 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

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

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