Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

<!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 - oqmgr(8) </title>
</head> <body> <pre>
OQMGR(8)                                                              OQMGR(8)

<b>NAME</b>
       oqmgr - old Postfix queue manager

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

<b>DESCRIPTION</b>
       The  <a href="qmgr.8.html"><b>oqmgr</b>(8)</a>  daemon  awaits the arrival of incoming mail and arranges
       for its delivery via Postfix delivery processes.  The actual mail rout-
       ing  strategy is delegated to the <a href="trivial-rewrite.8.html"><b>trivial-rewrite</b>(8)</a> daemon.  This pro-
       gram 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  dis-
       carded.   This  stops  potential  loops  caused by undeliverable bounce
       notifications.

<b>MAIL QUEUES</b>
       The <a href="qmgr.8.html"><b>oqmgr</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> agent from the <b>maildrop</b> directory.

       <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>oqmgr</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>" command.  These files are  main-
              tained by the <a href="trace.8.html"><b>trace</b>(8)</a> daemon.

       The  <a href="qmgr.8.html"><b>oqmgr</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 mes-
              sage 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 deliveries to the same destina-
              tion.

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

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

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

<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 mes-
       sage.  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 forever. The action is to  start
              an <a href="QSHAPE_README.html#incoming_queue">incoming queue</a> scan.

       The <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> daemon reads an entire buffer worth of triggers.  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>oqmgr</b>(8)</a> daemon is not security sensitive. It reads single-charac-
       ter messages from untrusted local users, and thus may be susceptible to
       denial  of  service  attacks.  The <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> daemon does not talk to the
       outside world, and it can be run at fixed low privilege in  a  chrooted
       environment.

<b>DIAGNOSTICS</b>
       Problems  and  transactions  are  logged to the <b>syslog</b>(8) daemon.  Cor-
       rupted message files are saved to the <b>corrupt</b> queue for further inspec-
       tion.

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

<b>BUGS</b>
       A single queue manager process has to compete for disk access with mul-
       tiple 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>oqmgr</b>(8)</a>  is  a
       persistent process. Use the command "<b>postfix reload</b>" after a configura-
       tion 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 <a href="master.5.html"><b>master.cf</b></a> 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.

       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 $<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> instead; when
              that value is empty, use the domain in the recipient address.

<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 <a href="QSHAPE_README.html#active_queue">active queue</a>.

       <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 short-term, in-memory
              "dead" destination status cache.

<b>DELIVERY CONCURRENCY CONTROLS</b>
       <b><a href="postconf.5.html#qmgr_fudge_factor">qmgr_fudge_factor</a> (100)</b>
              Obsolete  feature:  the  percentage of delivery resources that a
              busy mail system will use up for delivery  of  a  large  mailing
              list message.

       <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_destination_concur</a>-</b>
       <b><a href="postconf.5.html#default_destination_concurrency_limit">rency_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_destination_concur</a>-</b>
       <b><a href="postconf.5.html#initial_destination_concurrency">rency</a>)</b>
              Initial  concurrency  for  delivery via the named message <i>trans-</i>
              <i>port</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>  ($<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_desti</a>-</b>
       <b><a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">nation_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 hand-
              shake failure.

       <b><a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>  ($<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destina</a>-</b>
       <b><a href="postconf.5.html#default_destination_concurrency_negative_feedback">tion_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 without connection or hand-
              shake failure.

       <b><a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>  ($<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destina</a>-</b>
       <b><a href="postconf.5.html#default_destination_concurrency_positive_feedback">tion_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  perfor-
              mance 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 message delivery.

       <b><a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</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>
              Consider  a message as undeliverable, when delivery fails with a
              temporary error, and the time in the queue has reached the <a href="postconf.5.html#maximal_queue_lifetime">maxi</a>-
              <a href="postconf.5.html#maximal_queue_lifetime">mal_queue_lifetime</a> limit.

       <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 manager  to  con-
              tact 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>
              Consider  a bounce message as undeliverable, when delivery fails
              with a temporary error, and the time in the  queue  has  reached
              the <a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> limit.

       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  destination;  the  resulting  behavior
              depends on the value of the corresponding per-destination recip-
              ient limit.

       <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_destination_rate_delay</a></b>
              Idem, for delivery via the named message <i>transport</i>.

       Available in Postfix version 3.1 and later:

       <b><a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a> (0s)</b>
              The default amount of delay that is inserted between  individual
              deliveries  over the same message delivery transport, regardless
              of destination.

       <b><a href="postconf.5.html#transport_transport_rate_delay"><i>transport</i>_transport_rate_delay</a> $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a></b>
              Idem, for delivery via the named message <i>transport</i>.

<b>SAFETY CONTROLS</b>
       <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 informa-
              tion over an internal communication channel.

       Available in Postfix version 3.1 and later:

       <b><a href="postconf.5.html#address_verify_pending_request_limit">address_verify_pending_request_limit</a> (see 'postconf -d' output)</b>
              A  safety limit that prevents address verification requests from
              overwhelming the Postfix queue.

<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>  con-
              figuration 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  log-
              ging sub-second delay values.

       <b><a href="postconf.5.html#helpful_warnings">helpful_warnings</a> (yes)</b>
              Log  warnings about problematic configuration settings, and pro-
              vide 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 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 directory.

       <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, "post-
              fix/smtpd".

       Available in Postfix version 3.0 and later:

       <b><a href="postconf.5.html#confirm_delay_cleared">confirm_delay_cleared</a> (no)</b>
              After sending a "your message is delayed"  notification,  inform
              the sender when the delay clears up.

<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="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

       Wietse Venema
       Google, Inc.
       111 8th Avenue
       New York, NY 10011, USA

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