Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
POSTFIX(1)		     General Commands Manual		      POSTFIX(1)

NAME
     postfix - Postfix control program

SYNOPSIS
     postfix [-Dv] [-c config_dir] command

DESCRIPTION
     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  mainte-
     nance.

     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,  post-
     fix(1)  executes the command specified with the multi_instance_wrapper con-
     figuration parameter.  This command will execute the command for  each  ap-
     plicable 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.

     start-fg
	    Like start, but keep the master(8) daemon running in the foreground,
	    and  enable  master(8) "init" mode when running as PID 1.  This com-
	    mand requires that multi-instance  support	is  disabled  (i.e.  the
	    multi_instance_directories parameter value must be empty).

	    When running Postfix inside a container, see MAILLOG_README for log-
	    ging 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  in-
	    stance.

     stop   Stop  the  Postfix	mail  system in an orderly fashion. If possible,
	    running processes are allowed to terminate at their earliest  conve-
	    nience.

	    Note: in order to refresh the Postfix mail system after a configura-
	    tion  change,  do not use the start and stop commands in succession.
	    Use the reload command instead.

     abort  Stop the Postfix mail system abruptly. Running  processes  are  sig-
	    naled 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.

	    Warning:  flushing undeliverable mail frequently will result in poor
	    delivery performance of all other mail.

     reload Re-read configuration files. Running processes  terminate  at  their
	    earliest convenience.

     status Indicate  if the Postfix mail system is currently running (zero exit
	    status) or stopped (non-zero exit status).

     set-permissions [name=value ...]
	    Set the ownership and permissions of Postfix related files	and  di-
	    rectories, as specified in the postfix-files file.

	    Specify  name=value to override and update specific main.cf configu-
	    ration 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-permis-
	    sions".

     logrotate
	    Rotate  the  logfile  specified  with  $maillog_file, by appending a
	    time-stamp suffix that is formatted according  to  $maillog_file_ro-
	    tate_suffix,  and by compressing the file with the command specified
	    with $maillog_file_compressor.  This will not rotate /dev/* files.

     non-bdb subcommand
	    Migrate a Postfix configuration  that  uses  Berkeley  DB  hash:  or
	    btree:  tables,  to a configuration that uses lmdb: or a combination
	    of cdb: and lmdb:. This is needed because some (Linux) distributions
	    have removed Berkeley DB support.  See postfix-nbdb(1) for	documen-
	    tation.

	    This feature is available in Postfix 3.11 and later.

     tls subcommand
	    Enable  opportunistic  TLS in the Postfix SMTP client or server, and
	    manage Postfix SMTP server TLS private keys and  certificates.   See
	    postfix-tls(1) for documentation.

	    This feature is available in Postfix 3.1 and later.

     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.

	    Specify name=value to override and update specific main.cf	configu-
	    ration parameters.

	    This  feature  is  available in Postfix 2.1 and later.  With Postfix
	    2.0 and earlier, use "$config_directory/post-install upgrade-config-
	    uration".

     The following options are implemented:

     -c config_dir
	    Read the main.cf and master.cf configuration files in the named  di-
	    rectory 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) com-
	    mand to operate on the specified Postfix instance only.  This behav-
	    ior 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.

ENVIRONMENT
     The postfix(1) command exports the following environment  variables  before
     executing the postfix-script file:

     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.

     When  the internal logging service is enabled (by setting a non-empty mail-
     log_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.

     POSTLOG_SERVICE
	    The name of the public postlog service endpoint.

     POSTLOG_HOSTNAME
	    The hostname to prepend to internal logging.

CONFIGURATION PARAMETERS
     The following main.cf configuration parameters are exported as  environment
     variables with the same names:

     config_directory (see 'postconf -d' output)
	    The default location of the Postfix main.cf and master.cf configura-
	    tion files.

     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.

     html_directory (see 'postconf -d' output)
	    The  location of Postfix HTML files that describe how to build, con-
	    figure or operate a specific Postfix subsystem or feature.

     mail_owner (postfix)
	    The UNIX system account that owns the Postfix queue and most Postfix
	    daemon processes.

     mailq_path (see 'postconf -d' output)
	    Sendmail compatibility feature  that  specifies  where  the  Postfix
	    mailq(1) command is installed.

     manpage_directory (see 'postconf -d' output)
	    Where the Postfix manual pages are installed.

     newaliases_path (see 'postconf -d' output)
	    Sendmail  compatibility  feature  that specifies the location of the
	    newaliases(1) command.

     queue_directory (see 'postconf -d' output)
	    The location of the Postfix top-level queue directory.

     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.

     sendmail_path (see 'postconf -d' output)
	    A  Sendmail compatibility feature that specifies the location of the
	    Postfix sendmail(1) command.

     setgid_group (postdrop)
	    The  group	ownership   of	 set-gid   Postfix   commands	and   of
	    group-writable Postfix directories.

     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).

     Available in Postfix version 3.0 and later:

     compatibility_level (0)
	    A  safety  net  that causes Postfix to run with backwards-compatible
	    default settings after an upgrade to a newer Postfix version.

     meta_directory (see 'postconf -d' output)
	    The location of non-executable files that are shared among	multiple
	    Postfix  instances,  such  as postfix-files, dynamicmaps.cf, and the
	    multi-instance template files main.cf.proto and master.cf.proto.

     shlib_directory (see 'postconf -d' output)
	    The  location  of  Postfix	dynamically-linked  libraries  (libpost-
	    fix-*.so),	and  the  default  location  of Postfix database plugins
	    (postfix-*.so) that have a relative pathname in  the  dynamicmaps.cf
	    file.

     Available in Postfix version 3.1 and later:

     openssl_path (openssl)
	    The location of the OpenSSL command line program openssl(1).

     Other configuration parameters:

     import_environment (see 'postconf -d' output)
	    The  list of environment variables that a privileged Postfix process
	    will import from a non-Postfix parent process, or  name=value  envi-
	    ronment overrides.

     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 records, so
	    that, for example, "smtpd" becomes "prefix/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.

     Available in Postfix version 3.4 and later:

     maillog_file (empty)
	    The name of an optional logfile that is written by the Postfix post-
	    logd(8) service.

     maillog_file_compressor (gzip)
	    The program to run after rotating $maillog_file with "postfix logro-
	    tate".

     maillog_file_prefixes (/var, /dev/stdout)
	    A list of allowed prefixes for a maillog_file value.

     maillog_file_rotate_suffix (%Y%m%d-%H%M%S)
	    The format of the suffix to append to $maillog_file  while	rotating
	    the file with "postfix logrotate".

     postlog_service_name (postlog)
	    The name of the postlogd(8) service entry in master.cf.

FILES
     Prior  to	Postfix  version  2.6,	all of the following files were in $con-
     fig_directory. Some files are now in $daemon_directory  or  $meta_directory
     so that they can be shared among multiple instances that run the same Post-
     fix 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

SEE ALSO
     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-non-bdb(1), Postfix Non-Berkeley-DB migration
     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 local aliasing
     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
     mongodb_table(5), Postfix MongoDB 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

README FILES
     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

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

     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

								      POSTFIX(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=postfix&sektion=1&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help