qmgr.8.html   [plain text]

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
<html> <head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<title> Postfix manual - qmgr(8) </title>
</head> <body> <pre>
QMGR(8)                                                                QMGR(8)

       qmgr - Postfix queue manager

       <b>qmgr</b> [generic Postfix daemon options]

       The <a href="qmgr.8.html"><b>qmgr</b>(8)</a> daemon awaits the arrival of incoming mail and
       arranges for its delivery via Postfix delivery  processes.
       The actual mail routing strategy is delegated to the <a href="trivial-rewrite.8.html"><b>triv-</b></a>
       <a href="trivial-rewrite.8.html"><b>ial-rewrite</b>(8)</a> daemon.  This program  expects  to  be  run
       from the <a href="master.8.html"><b>master</b>(8)</a> process manager.

       Mail  addressed  to  the  local  <b>double-bounce</b>  address is
       logged and discarded.  This stops potential  loops  caused
       by undeliverable bounce notifications.

       The <a href="qmgr.8.html"><b>qmgr</b>(8)</a> daemon maintains the following queues:

              Inbound mail from the network, or mail picked up by
              the local <a href="pickup.8.html"><b>pickup</b>(8)</a> daemon from the <b>maildrop</b> direc-

       <b>active</b> Messages  that  the  queue  manager  has opened for
              delivery. Only a  limited  number  of  messages  is
              allowed  to  enter  the  <b>active</b> queue (leaky bucket
              strategy, for a fixed delivery rate).

              Mail that could not be  delivered  upon  the  first
              attempt.  The  queue manager implements exponential
              backoff  by  doubling  the  time  between  delivery

              Unreadable  or  damaged  queue files are moved here
              for inspection.

       <b>hold</b>   Messages that are kept  "on  hold"  are  kept  here
              until someone sets them free.

       The  <a href="qmgr.8.html"><b>qmgr</b>(8)</a>  daemon  keeps an eye on per-message delivery
       status reports in the following directories.  Each  status
       report file has the same name as the corresponding message

       <b>bounce</b> Per-recipient status information about why mail  is
              bounced.    These   files  are  maintained  by  the
              <a href="bounce.8.html"><b>bounce</b>(8)</a> daemon.

       <b>defer</b>  Per-recipient status information about why mail  is
              delayed.    These   files  are  maintained  by  the
              <a href="defer.8.html"><b>defer</b>(8)</a> daemon.

       <b>trace</b>  Per-recipient status information as requested  with
              the  Postfix  "<b>sendmail  -v</b>" or "<b>sendmail -bv</b>" com-
              mand.  These files are maintained by  the  <a href="trace.8.html"><b>trace</b>(8)</a>

       The   <a href="qmgr.8.html"><b>qmgr</b>(8)</a>   daemon   is  responsible  for  asking  the
       <a href="bounce.8.html"><b>bounce</b>(8)</a>, <a href="defer.8.html"><b>defer</b>(8)</a> or <a href="trace.8.html"><b>trace</b>(8)</a> daemons to  send  delivery

       The  queue  manager implements a variety of strategies for
       either opening queue files (input) or for message delivery

       <b>leaky bucket</b>
              This  strategy limits the number of messages in the
              <b>active</b> queue and prevents the  queue  manager  from
              running out of memory under heavy load.

              When  the  <b>active</b> queue has room, the queue manager
              takes one message from the <a href="QSHAPE_README.html#incoming_queue"><b>incoming</b> queue</a>  and  one
              from the <b>deferred</b> queue. This prevents a large mail
              backlog from blocking the delivery of new mail.

       <b>slow start</b>
              This strategy eliminates "thundering herd" problems
              by slowly adjusting the number of parallel deliver-
              ies to the same destination.

       <b>round robin</b>
              The queue manager sorts delivery requests by desti-
              nation.   Round-robin selection prevents one desti-
              nation from dominating deliveries to other destina-

       <b>exponential backoff</b>
              Mail  that  cannot  be  delivered  upon  the  first
              attempt is deferred.   The  time  interval  between
              delivery attempts is doubled after each attempt.

       <b>destination status cache</b>
              The   queue  manager  avoids  unnecessary  delivery
              attempts by  maintaining  a  short-term,  in-memory
              list of unreachable destinations.

       <b>preemptive message scheduling</b>
              The  queue manager attempts to minimize the average
              per-recipient delay while still preserving the cor-
              rect per-message delays, using a sophisticated pre-
              emptive message scheduling.

       On an idle system, the queue manager waits for the arrival
       of  trigger  events,  or it waits for a timer to go off. A
       trigger is a one-byte message.  Depending on  the  message
       received,  the queue manager performs one of the following
       actions (the message is followed by the symbolic  constant
       used internally by the software):

       <b>D (QMGR_REQ_SCAN_DEFERRED)</b>
              Start  a  <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scan.  If a deferred queue
              scan is already in  progress,  that  scan  will  be
              restarted as soon as it finishes.

       <b>I (QMGR_REQ_SCAN_INCOMING)</b>
              Start  an <a href="QSHAPE_README.html#incoming_queue">incoming queue</a> scan. If an incoming queue
              scan is already in  progress,  that  scan  will  be
              restarted as soon as it finishes.

       <b>A (QMGR_REQ_SCAN_ALL)</b>
              Ignore <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> file time stamps. The request
              affects the next <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scan.

       <b>F (QMGR_REQ_FLUSH_DEAD)</b>
              Purge all information  about  dead  transports  and

       <b>W (TRIGGER_REQ_WAKEUP)</b>
              Wakeup  call,  This is used by the master server to
              instantiate servers that should not  go  away  for-
              ever.  The  action  is  to  start an <a href="QSHAPE_README.html#incoming_queue">incoming queue</a>

       The <a href="qmgr.8.html"><b>qmgr</b>(8)</a> daemon reads an entire buffer worth  of  trig-
       gers.   Multiple  identical trigger requests are collapsed
       into one, and trigger requests are sorted so that <b>A</b> and  <b>F</b>
       precede  <b>D</b> and <b>I</b>. Thus, in order to force a <a href="QSHAPE_README.html#deferred_queue">deferred queue</a>
       run, one would request <b>A F D</b>; in order to notify the queue
       manager of the arrival of new mail one would request <b>I</b>.

       <a href="http://tools.ietf.org/html/rfc3463">RFC 3463</a> (Enhanced status codes)
       <a href="http://tools.ietf.org/html/rfc3464">RFC 3464</a> (Delivery status notifications)

       The  <a href="qmgr.8.html"><b>qmgr</b>(8)</a>  daemon  is  not security sensitive. It reads
       single-character messages from untrusted local users,  and
       thus  may be susceptible to denial of service attacks. The
       <a href="qmgr.8.html"><b>qmgr</b>(8)</a> daemon does not talk to the outside world, and  it
       can  be  run at fixed low privilege in a chrooted environ-

       Problems and transactions are logged to the syslog daemon.
       Corrupted message files are saved to the <b>corrupt</b> queue for
       further inspection.

       Depending on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b>  parameter,
       the  postmaster  is notified of bounces and of other trou-

       A single queue manager process has  to  compete  for  disk
       access   with   multiple   front-end   processes  such  as
       <a href="cleanup.8.html"><b>cleanup</b>(8)</a>. A sudden burst of inbound mail can  negatively
       impact outbound delivery rates.

       Changes  to  <a href="postconf.5.html"><b>main.cf</b></a>  are  not  picked up automatically as
       <a href="qmgr.8.html"><b>qmgr</b>(8)</a> is a persistent process. Use the "<b>postfix  reload</b>"
       command after a configuration change.

       The  text  below  provides  only  a parameter summary. See
       <a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including examples.

       In the text below, <i>transport</i> is the first field in a  <b>mas-</b>
       <b>ter.cf</b> entry.

       Available before Postfix version 2.5:

       <b><a href="postconf.5.html#allow_min_user">allow_min_user</a> (no)</b>
              Allow  a sender or recipient address to have `-' as
              the first character.

       Available with Postfix version 2.7 and later:

       <b><a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> (empty)</b>
              When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER  request  specifies
              no explicit next-hop destination, use $default_fil-
              ter_nexthop instead; when that value is empty,  use
              the domain in the recipient address.

       <b><a href="postconf.5.html#qmgr_clog_warn_time">qmgr_clog_warn_time</a> (300s)</b>
              The  minimal delay between warnings that a specific
              destination  is  clogging  up  the  Postfix  active

       <b><a href="postconf.5.html#qmgr_message_active_limit">qmgr_message_active_limit</a> (20000)</b>
              The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>.

       <b><a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> (20000)</b>
              The maximal number of recipients held in memory  by
              the  Postfix queue manager, and the maximal size of
              the size of the short-term, in-memory "dead" desti-
              nation status cache.

       <b><a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a> (10)</b>
              The  minimal number of in-memory recipients for any

       <b><a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a> (20000)</b>
              The default per-transport upper limit on the number
              of in-memory recipients.

       <b><a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> ($<a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       <b><a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a> (1000)</b>
              The default value for the extra per-transport limit
              imposed on the number of in-memory recipients.

       <b><a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a>    ($<a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipi</a>-</b>
       <b><a href="postconf.5.html#default_extra_recipient_limit">ent_limit</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       Available in Postfix version 2.4 and later:

       <b><a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> (100)</b>
              The default per-transport limit on  the  number  of
              recipients refilled at once.

       <b><a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a>         ($<a href="postconf.5.html#default_recipient_refill_limit">default_recipi</a>-</b>
       <b><a href="postconf.5.html#default_recipient_refill_limit">ent_refill_limit</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       <b><a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a> (5s)</b>
              The default  per-transport  maximum  delay  between
              recipients refills.

       <b><a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a>         ($<a href="postconf.5.html#default_recipient_refill_delay">default_recipi</a>-</b>
       <b><a href="postconf.5.html#default_recipient_refill_delay">ent_refill_delay</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       <b><a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a> (5)</b>
              The initial per-destination concurrency  level  for
              parallel delivery to the same destination.

       <b><a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> (20)</b>
              The  default  maximal number of parallel deliveries
              to the same destination.

       <b><a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destina</a>-</b>
       <b><a href="postconf.5.html#default_destination_concurrency_limit">tion_concurrency_limit</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       Available in Postfix version 2.5 and later:

       <b><a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> ($<a href="postconf.5.html#initial_destination_concurrency">initial_desti</a>-</b>
       <b><a href="postconf.5.html#initial_destination_concurrency">nation_concurrency</a>)</b>
              Initial concurrency for delivery via the named mes-
              sage <i>transport</i>.

       <b><a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> (1)</b>
              How many pseudo-cohorts must suffer  connection  or
              handshake  failure before a specific destination is
              considered unavailable  (and  further  delivery  is

       <b><a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a></b>
       <b>($<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       <b><a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> (1)</b>
              The per-destination amount of delivery  concurrency
              negative  feedback, after a delivery completes with
              a connection or handshake failure.

       <b><a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a></b>
       <b>($<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       <b><a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> (1)</b>
              The  per-destination amount of delivery concurrency
              positive feedback, after a delivery completes with-
              out connection or handshake failure.

       <b><a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a></b>
       <b>($<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       <b><a href="postconf.5.html#destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a> (no)</b>
              Make the queue manager's feedback algorithm verbose
              for performance analysis purposes.

       <b><a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> (50)</b>
              The  default  maximal number of recipients per mes-
              sage delivery.

       <b><a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a>   ($<a href="postconf.5.html#default_destination_recipient_limit">default_destina</a>-</b>
       <b><a href="postconf.5.html#default_destination_recipient_limit">tion_recipient_limit</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       <b><a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> (5)</b>
              How  often the Postfix queue manager's scheduler is
              allowed to preempt delivery  of  one  message  with

       <b><a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> ($<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       <b><a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a> (3)</b>
              How many recipients a message must have in order to
              invoke the Postfix queue manager's scheduling algo-
              rithm at all.

       <b><a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a>  ($<a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_deliv</a>-</b>
       <b><a href="postconf.5.html#default_minimum_delivery_slots">ery_slots</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       <b><a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a> (50)</b>
              The  default  value  for transport-specific _deliv-
              ery_slot_discount settings.

       <b><a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a>          ($<a href="postconf.5.html#default_delivery_slot_discount">default_deliv</a>-</b>
       <b><a href="postconf.5.html#default_delivery_slot_discount">ery_slot_discount</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       <b><a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a> (3)</b>
              The  default  value  for transport-specific _deliv-
              ery_slot_loan settings.

       <b><a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> ($<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b>
              Idem, for delivery via the named message <i>transport</i>.

       <b><a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a> (300s)</b>
              The  minimal  time  between  attempts  to deliver a
              deferred message; prior to Postfix 2.4 the  default
              value was 1000s.

       <b><a href="postconf.5.html#maximal_backoff_time">maximal_backoff_time</a> (4000s)</b>
              The  maximal  time  between  attempts  to deliver a
              deferred message.

       <b><a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> (5d)</b>
              The maximal time a message is queued before  it  is
              sent back as undeliverable.

       <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a> (300s)</b>
              The  time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue
              manager; prior to Postfix 2.4 the default value was

       <b><a href="postconf.5.html#transport_retry_time">transport_retry_time</a> (60s)</b>
              The time between attempts by the Postfix queue man-
              ager to contact a malfunctioning  message  delivery

       Available in Postfix version 2.1 and later:

       <b><a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> (5d)</b>
              The  maximal time a bounce message is queued before
              it is considered undeliverable.

       Available in Postfix version 2.5 and later:

       <b><a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a> (0s)</b>
              The  default  amount  of  delay  that  is  inserted
              between  individual deliveries to the same destina-
              tion; with per-destination recipient limit &gt;  1,  a
              destination  is a domain, otherwise it is a recipi-

       <b><a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a>         $<a href="postconf.5.html#default_destination_rate_delay">default_destina</a>-</b>
       <b><a href="postconf.5.html#default_destination_rate_delay">tion_rate_delay</a></b>
              Idem, for delivery via the named message <i>transport</i>.

       <b><a href="postconf.5.html#qmgr_daemon_timeout">qmgr_daemon_timeout</a> (1000s)</b>
              How  much  time a Postfix queue manager process may
              take to handle a request before it is terminated by
              a built-in watchdog timer.

       <b><a href="postconf.5.html#qmgr_ipc_timeout">qmgr_ipc_timeout</a> (60s)</b>
              The  time  limit  for  the queue manager to send or
              receive information over an internal  communication

       <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
              <a href="master.5.html">master.cf</a> configuration files.

       <b><a href="postconf.5.html#defer_transports">defer_transports</a> (empty)</b>
              The  names  of  message  delivery  transports  that
              should  not  deliver  mail  unless  someone  issues
              "<b>sendmail -q</b>" or equivalent.

       <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
              The maximal number  of  digits  after  the  decimal
              point when logging sub-second delay values.

       <b><a href="postconf.5.html#helpful_warnings">helpful_warnings</a> (yes)</b>
              Log  warnings  about problematic configuration set-
              tings, and provide helpful suggestions.

       <b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
              The process ID  of  a  Postfix  command  or  daemon

       <b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b>
              The  process  name  of  a Postfix command or daemon

       <b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
              The location of the Postfix top-level queue  direc-

       <b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
              The syslog facility of Postfix logging.

       <b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b>
              The  mail  system  name  that  is  prepended to the
              process name in syslog  records,  so  that  "smtpd"
              becomes, for example, "postfix/smtpd".

       /var/spool/postfix/incoming, <a href="QSHAPE_README.html#incoming_queue">incoming queue</a>
       /var/spool/postfix/active, <a href="QSHAPE_README.html#active_queue">active queue</a>
       /var/spool/postfix/deferred, <a href="QSHAPE_README.html#deferred_queue">deferred queue</a>
       /var/spool/postfix/bounce, non-delivery status
       /var/spool/postfix/defer, non-delivery status
       /var/spool/postfix/trace, delivery status

<b>SEE ALSO</b>
       <a href="trivial-rewrite.8.html">trivial-rewrite(8)</a>, address routing
       <a href="bounce.8.html">bounce(8)</a>, delivery status reports
       <a href="postconf.5.html">postconf(5)</a>, configuration parameters
       <a href="master.5.html">master(5)</a>, generic daemon options
       <a href="master.8.html">master(8)</a>, process manager
       syslogd(8), system logging

       <a href="SCHEDULER_README.html">SCHEDULER_README</a>, scheduling algorithm
       <a href="QSHAPE_README.html">QSHAPE_README</a>, Postfix queue analysis

       The Secure Mailer license must be  distributed  with  this

       Wietse Venema
       IBM T.J. Watson Research
       P.O. Box 704
       Yorktown Heights, NY 10598, USA

       Preemptive scheduler enhancements:
       Patrik Rak
       Modra 6
       155 00, Prague, Czech Republic

</pre> </body> </html>