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

FreeBSD Manual Pages


home | help
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  sys-
       tem:  start  or stop the	master(8) daemon, do a health check, and other

       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_wrap-
       per 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 cre-
	      ate missing directories.

       start  Start  the Postfix mail system. This also	runs the configuration
	      check described above.

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

	      When running Postfix inside a container, see MAILLOG_README  for
	      logging  to stdout. Postfix logs to syslog by default, which re-
	      quires a)	running	a syslogd process inside the container,	or  b)
	      mounting	the  container	host's /dev/log	socket inside the con-
	      tainer (example: "docker run -v /dev/log:/dev/log	..."), and  c)
	      a	 distinct Postfix "syslog_name"	prefix that identifies logging
	      from the Postfix instance.

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

	      Note: in order to	refresh	the Postfix mail system	after  a  con-
	      figuration  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
	      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 at-

	      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.

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

	      Specify  name=value to override and update specific con-
	      figuration 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	 Post-
	      fix   2.0	  and	earlier,  use  "$config_directory/post-install

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

	      This feature is available	in Postfix 3.4 and later.

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

	      This feature is available	in Postfix 3.1 and later.

       upgrade-configuration [name=value ...]
	      Update the and	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  con-
	      figuration parameters.

	      This  feature is available in Postfix 2.1	and later.  With Post-
	      fix 2.0 and  earlier,  use  "$config_directory/post-install  up-

       The following options are implemented:

       -c config_dir
	      Read  the	and 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  de-
	      scendant 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  op-
	      tions make the software increasingly verbose.

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

	      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.

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

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

       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 or
       command-line settings.

	      The name of the public postlog service endpoint.

	      The hostname to prepend to internal logging.

       The following configuration parameters are exported as environ-
       ment variables with the same names:

       config_directory	(see 'postconf -d' output)
	      The  default  location of	the Postfix and con-
	      figuration 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,
	      configure	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-compati-
	      ble  default  settings  after an upgrade to a newer Postfix ver-

       meta_directory (see 'postconf -d' output)
	      The location of non-executable files that	are shared among  mul-
	      tiple  Postfix instances,	such as	postfix-files,,
	      and the multi-instance template  files  and  mas-

       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	dynam-	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 environment 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 directo-
	      ries; 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 post-
	      fix(1) command invokes when the  multi_instance_directories  pa-
	      rameter 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
	      postlogd(8) service.

       maillog_file_compressor (gzip)
	      The  program  to	run after rotating $maillog_file with "postfix

       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	rotat-
	      ing the file with	"postfix logrotate".

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

       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_direc-
       tory  so	 that they can be shared among multiple	instances that run the
       same Postfix version.

       Use the command "postconf config_directory" or "postconf	 daemon_direc-
       tory" to	expand the names into their actual values.

       $config_directory/, Postfix configuration	parameters
       $config_directory/, Postfix daemon processes
       $daemon_directory/postfix-script, administrative	commands
       $daemon_directory/post-install, post-installation configuration
       $meta_directory/, plug-in database	clients
       $meta_directory/postfix-files, file/directory permissions

       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 file syntax
       postconf(5), Postfix 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

       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.

       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



Want to link to this manual page? Use this URL:

home | help