qmgr.8.html   [plain text]


<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<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)

<b>NAME</b>
       qmgr - Postfix queue manager

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

<b>DESCRIPTION</b>
       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.

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

       <b>incoming</b>
              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-
              tory.

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

       <b>deferred</b>
              Mail that could not be  delivered  upon  the  first
              attempt.  The  queue manager implements exponential
              backoff  by  doubling  the  time  between  delivery
              attempts.

       <b>corrupt</b>
              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.

<b>DELIVERY STATUS REPORTS</b>
       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
       file:

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

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

<b>STRATEGIES</b>
       The  queue  manager implements a variety of strategies for
       either opening queue files (input) or for message delivery
       (output).

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

       <b>fairness</b>
              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-
              tions.

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

<b>TRIGGERS</b>
       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
              destinations.

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

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

<b>STANDARDS</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)

<b>SECURITY</b>
       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-
       ment.

<b>DIAGNOSTICS</b>
       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-
       ble.

<b>BUGS</b>
       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.

<b>CONFIGURATION PARAMETERS</b>
       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.

<b>COMPATIBILITY CONTROLS</b>
       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.

<b>ACTIVE QUEUE CONTROLS</b>
       <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
              queue.

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

       <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>DELIVERY CONCURRENCY CONTROLS</b>
       <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
              suspended).

       <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_positive_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>RECIPIENT SCHEDULING CONTROLS</b>
       <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>MESSAGE SCHEDULING CONTROLS</b>
       <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
              another.

       <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>OTHER RESOURCE AND RATE CONTROLS</b>
       <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
              1000s.

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

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

       <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>MISCELLANEOUS CONTROLS</b>
       <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#daemon_timeout">daemon_timeout</a> (18000s)</b>
              How  much time a Postfix daemon process may take to
              handle a request  before  it  is  terminated  by  a
              built-in watchdog timer.

       <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#ipc_timeout">ipc_timeout</a> (3600s)</b>
              The time limit for sending or receiving information
              over an internal communication channel.

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

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

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

       <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> (postfix)</b>
              The  mail  system  name  that  is  prepended to the
              process name in syslog  records,  so  that  "smtpd"
              becomes, for example, "postfix/smtpd".

<b>FILES</b>
       /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

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

<b>LICENSE</b>
       The Secure Mailer license must be  distributed  with  this
       software.

<b>AUTHOR(S)</b>
       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

                                                                       QMGR(8)
</pre> </body> </html>