master - Postfix master process configuration file format


   The  Postfix  mail  system  is  implemented by small number of (mostly)
   client commands that are invoked by users, and by a  larger  number  of
   services that run in the background.

   Postfix  services are implemented by daemon processes. These run in the
   background under control  of  the  master(8)  process.   The
   configuration  file defines how a client program connects to a service,
   and what daemon program runs when a service is requested.  Most  daemon
   processes  are  short-lived  and  terminate  voluntarily  after serving
   max_use clients, or after inactivity for  max_idle  or  more  units  of

   All  daemons  specified here must speak a Postfix-internal protocol. In
   order to execute non-Postfix software  use  the  local(8),  pipe(8)  or
   spawn(8)  services,  or  run  the  server  under control by inetd(8) or

   After changing you must execute "postfix  reload"  to  reload
   the configuration.


   The general format of the file is as follows:

   *      Empty  lines and whitespace-only lines are ignored, as are lines
          whose first non-whitespace character is a `#'.

   *      A logical line starts with  non-whitespace  text.  A  line  that
          starts with whitespace continues a logical line.

   *      Each  logical  line  defines  a  single  Postfix  service.  Each
          service is identified by its name and type as  described  below.
          When multiple lines specify the same service name and type, only
          the last one is remembered.  Otherwise, the order  of
          service definitions does not matter.

   Each  logical  line  consists  of eight fields separated by whitespace.
   These are described below in the order as they appear in the

   Where  applicable  a  field  of  "-" requests that the built-in default
   value be used. For boolean fields specify "y" or "n"  to  override  the
   default value.

   Service name
          The service name syntax depends on the service type as described

   Service type
          Specify one of the following service types:

          inet   The service listens on a TCP/IP socket and is  accessible
                 via the network.

                 The  service name is specified as host:port, denoting the
                 host  and  port  on  which  new  connections  should   be
                 accepted.  The  host  part  (and  colon)  may be omitted.
                 Either host or port may be given in symbolic  form  (host
                 or  service  name) or in numeric form (IP address or port
                 number).  Host information may be enclosed  inside  "[]";
                 this form is necessary only with IPv6 addresses.

                 Examples:  a  service  named  or ::1:smtp
                 receives mail via the  loopback  interface  only;  and  a
                 service named 10025 accepts connections on TCP port 10025
                 via all interfaces configured  with  the  inet_interfaces

                 Note:   with   Postfix  version  2.2  and  later  specify
                 "inet_interfaces = loopback-only" in, instead  of
                 hard-coding  loopback IP address information in
                 or in

          unix   The service  listens  on  a  UNIX-domain  socket  and  is
                 accessible for local clients only.

                 The  service  name  is a pathname relative to the Postfix
                 queue   directory   (pathname   controlled    with    the
                 queue_directory configuration parameter in

                 On  Solaris  8  and  earlier  systems  the  unix  type is
                 implemented with streams sockets.

          fifo   The service  listens  on  a  FIFO  (named  pipe)  and  is
                 accessible for local clients only.

                 The  service  name  is a pathname relative to the Postfix
                 queue   directory   (pathname   controlled    with    the
                 queue_directory configuration parameter in

          pass   The  service  listens  on  a  UNIX-domain  socket, and is
                 accessible to local clients only. It  receives  one  open
                 connection   (file  descriptor  passing)  per  connection

                 The service name is a pathname relative  to  the  Postfix
                 queue    directory    (pathname   controlled   with   the
                 queue_directory configuration parameter in

                 On Solaris  8  and  earlier  systems  the  pass  type  is
                 implemented with streams sockets.

                 This feature is available as of Postfix version 2.5.

   Private (default: y)
          Whether  or  not  access  is  restricted  to  the  mail  system.
          Internet (type inet) services can't be private.

   Unprivileged (default: y)
          Whether the service runs with root privileges or as the owner of
          the  Postfix  system  (the  owner  name  is  controlled  by  the
          mail_owner configuration variable in the file).

          The local(8), pipe(8), spawn(8), and virtual(8) daemons  require

   Chroot (default: Postfix >= 3.0: n, Postfix <3.0: y)
          Whether  or  not  the  service  runs  chrooted to the mail queue
          directory  (pathname  is  controlled  by   the   queue_directory
          configuration variable in the file).

          Chroot  should not be used with the local(8), pipe(8), spawn(8),
          and virtual(8) daemons.  Although the proxymap(8) server can run
          chrooted,  doing  so  defeats most of the purpose of having that
          service in the first place.

          The files  in  the  examples/chroot-setup  subdirectory  of  the
          Postfix  source archive show set up a Postfix chroot environment
          on a variety of systems. See also BASIC_CONFIGURATION_README for
          issues related to running daemons chrooted.

   Wake up time (default: 0)
          Automatically  wake  up  the  named  service after the specified
          number of seconds. The wake up is implemented by  connecting  to
          the  service  and  sending a wake up request.  A ? at the end of
          the wake-up time field requests that no wake up events  be  sent
          before  the  first  time  a  service  is used.  Specify 0 for no
          automatic wake up.

          The pickup(8), qmgr(8) and flush(8) daemons require  a  wake  up

   Process limit (default: $default_process_limit)
          The  maximum  number  of processes that may execute this service
          simultaneously. Specify 0 for no process count limit.

          NOTE:  Some  Postfix  services   must   be   configured   as   a
          single-process  service (for example, qmgr(8)) and some services
          must  be  configured  with  no  process  limit   (for   example,
          cleanup(8)).  These limits must not be changed.

   Command name + arguments
          The  command to be executed.  Characters that are special to the
          shell such as ">" or "|"  have  no  special  meaning  here,  and
          quotes   cannot   be   used   to  protect  arguments  containing
          whitespace. To protect whitespace, use "{" and "}" as  described

          The  command  name  is  relative to the Postfix daemon directory
          (pathname is controlled by  the  daemon_directory  configuration

          The  command  argument syntax for specific commands is specified
          in the respective daemon manual page.

          The following command-line options have the same effect for  all
          daemon programs:

          -D     Run  the  daemon  under  control by the command specified
                 with  the  debugger_command  variable  in   the
                 configuration file.  See DEBUG_README for hints and tips.

          -o { name = value } (long form, Postfix >= 3.0)

          -o name=value (short form)
                 Override  the  named configuration parameter. The
                 parameter value can refer to other  parameters  as  $name
                 etc., just like in  See postconf(5) for syntax.

                 NOTE  1:  With  the  "long  form" shown above, whitespace
                 after "{", around "=", and before  "}"  is  ignored,  and
                 whitespace within the parameter value is preserved.

                 NOTE 2: with the "short form" shown above, do not specify
                 whitespace around the "="  or  in  parameter  values.  To
                 specify  a  parameter value that contains whitespace, use
                 the long form described above, or use commas  instead  of
                 spaces, or specify the value in Example:

                     submission inet .... smtpd
                         -o smtpd_xxx_yyy=$submission_xxx_yyy

                     submission_xxx_yyy = text with whitespace...

                 NOTE 3: Over-zealous use of parameter overrides makes the
                 Postfix configuration hard to  understand  and  maintain.
                 At  a  certain  point,  it  might  be easier to configure
                 multiple instances of  Postfix,  instead  of  configuring
                 multiple personalities via

          -v     Increase  the  verbose logging level. Specify multiple -v
                 options to make a  Postfix  daemon  process  increasingly

          Other command-line arguments
                 Specify "{" and "}" around command arguments that contain
                 whitespace (Postfix 3.0 and later). Whitespace after  "{"
                 and before "}" is ignored.


   master(8), process manager
   postconf(5), configuration parameters


   Use  "postconf readme_directory" or "postconf html_directory" to locate
   this information.
   BASIC_CONFIGURATION_README, basic configuration
   DEBUG_README, Postfix debugging


   The Secure Mailer license must be distributed with this software.


   Initial version by
   Magnus Baeck
   Lund Institute of Technology

   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



Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.