# man > OQMGR(8postfix)

[OQMGR(8postfix)](https://www.chedong.com/phpMan.php/man/OQMGR/8postfix/markdown)                                                                      [OQMGR(8postfix)](https://www.chedong.com/phpMan.php/man/OQMGR/8postfix/markdown)



## NAME
       oqmgr - old Postfix queue manager

## SYNOPSIS
       **oqmgr** [generic Postfix daemon options]

## DESCRIPTION
       The  [**oqmgr**(8)](https://www.chedong.com/phpMan.php/man/oqmgr/8/markdown)  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 **trivial-re**‐‐
       [**write**(8)](https://www.chedong.com/phpMan.php/man/write/8/markdown) daemon.  This program expects to be run from the [**master**(8)](https://www.chedong.com/phpMan.php/man/master/8/markdown) process manager.

       Mail addressed to the local **double-bounce** address is logged and discarded.  This stops poten‐
       tial loops caused by undeliverable bounce notifications.

## MAIL QUEUES
       The [**oqmgr**(8)](https://www.chedong.com/phpMan.php/man/oqmgr/8/markdown) daemon maintains the following queues:

### incoming
              Inbound mail from the network, or mail picked up by the local [**pickup**(8)](https://www.chedong.com/phpMan.php/man/pickup/8/markdown) agent from the
              **maildrop** directory.

       **active** Messages that the queue manager has opened for delivery. Only a limited number of mes‐
              sages is allowed to enter the **active** queue (leaky bucket strategy, for a fixed  deliv‐
              ery rate).

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

### corrupt
              Unreadable or damaged queue files are moved here for inspection.

       **hold**   Messages that are kept "on hold" are kept here until someone sets them free.

## DELIVERY STATUS REPORTS
       The [**oqmgr**(8)](https://www.chedong.com/phpMan.php/man/oqmgr/8/markdown) daemon keeps an eye on per-message delivery status reports in the following  di‐
       rectories. Each status report file has the same name as the corresponding message file:

       **bounce** Per-recipient  status  information  about  why mail is bounced.  These files are main‐
              tained by the [**bounce**(8)](https://www.chedong.com/phpMan.php/man/bounce/8/markdown) daemon.

       **defer**  Per-recipient status information about why mail is delayed.   These  files  are  main‐
              tained by the [**defer**(8)](https://www.chedong.com/phpMan.php/man/defer/8/markdown) daemon.

       **trace**  Per-recipient status information as requested with the Postfix "**sendmail** **-v**" or "**send**‐‐
              **mail** **-bv**" command.  These files are maintained by the [**trace**(8)](https://www.chedong.com/phpMan.php/man/trace/8/markdown) daemon.

       The [**oqmgr**(8)](https://www.chedong.com/phpMan.php/man/oqmgr/8/markdown) daemon is responsible for asking the [**bounce**(8)](https://www.chedong.com/phpMan.php/man/bounce/8/markdown), [**defer**(8)](https://www.chedong.com/phpMan.php/man/defer/8/markdown) or [**trace**(8)](https://www.chedong.com/phpMan.php/man/trace/8/markdown) daemons  to
       send delivery reports.

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

### leaky bucket
              This strategy limits the number of messages in the **active** queue and prevents the queue
              manager from running out of memory under heavy load.

### fairness
              When  the **active** queue has room, the queue manager takes one message from the **incoming**
              queue and one from the **deferred** queue. This prevents a large mail backlog from  block‐
              ing the delivery of new mail.

### slow start
              This  strategy eliminates "thundering herd" problems by slowly adjusting the number of
              parallel deliveries to the same destination.

### round robin
              The queue manager sorts delivery requests by destination.  Round-robin selection  pre‐
              vents one destination from dominating deliveries to other destinations.

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

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

## TRIGGERS
       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):

       **D** **(QMGR**___**REQ**___**SCAN**___**DEFERRED)**
              Start a deferred queue scan.  If a deferred queue scan is already  in  progress,  that
              scan will be restarted as soon as it finishes.

       **I** **(QMGR**___**REQ**___**SCAN**___**INCOMING)**
              Start  an  incoming queue scan. If an incoming queue scan is already in progress, that
              scan will be restarted as soon as it finishes.

       **A** **(QMGR**___**REQ**___**SCAN**___**ALL)**
              Ignore deferred queue file time stamps. The request affects the  next  deferred  queue
              scan.

       **F** **(QMGR**___**REQ**___**FLUSH**___**DEAD)**
              Purge all information about dead transports and destinations.

       **W** **(TRIGGER**___**REQ**___**WAKEUP)**
              Wakeup  call, This is used by the master server to instantiate servers that should not
              go away forever. The action is to start an incoming queue scan.

       The [**oqmgr**(8)](https://www.chedong.com/phpMan.php/man/oqmgr/8/markdown) daemon reads an entire buffer worth of triggers.  Multiple identical trigger re‐
       quests  are collapsed into one, and trigger requests are sorted so that **A** and **F** precede **D** and
       **I**. Thus, in order to force a deferred queue run, one would request **A** **F** **D**; in order to  notify
       the queue manager of the arrival of new mail one would request **I**.

## STANDARDS
       RFC 3463 (Enhanced status codes)
       RFC 3464 (Delivery status notifications)

## SECURITY
       The  [**oqmgr**(8)](https://www.chedong.com/phpMan.php/man/oqmgr/8/markdown)  daemon  is not security sensitive. It reads single-character messages from un‐
       trusted local users, and thus may be susceptible to denial of service attacks.  The  [**oqmgr**(8)](https://www.chedong.com/phpMan.php/man/oqmgr/8/markdown)
       daemon  does not talk to the outside world, and it can be run at fixed low privilege in a ch‐
       rooted environment.

## DIAGNOSTICS
       Problems and transactions are logged to the [**syslogd**(8)](https://www.chedong.com/phpMan.php/man/syslogd/8/markdown) or [**postlogd**(8)](https://www.chedong.com/phpMan.php/man/postlogd/8/markdown) daemon.  Corrupted mes‐
       sage files are saved to the **corrupt** queue for further inspection.

       Depending  on  the  setting  of  the  **notify**___**classes** parameter, the postmaster is notified of
       bounces and of other trouble.

## BUGS
       A single queue manager process has to compete for disk access with  multiple  front-end  pro‐
       cesses  such as [**cleanup**(8)](https://www.chedong.com/phpMan.php/man/cleanup/8/markdown). A sudden burst of inbound mail can negatively impact outbound de‐
       livery rates.

## CONFIGURATION PARAMETERS
       Changes to **main.cf** are not picked up automatically, as [**oqmgr**(8)](https://www.chedong.com/phpMan.php/man/oqmgr/8/markdown) is a persistent process.  Use
       the command "**postfix** **reload**" after a configuration change.

       The  text below provides only a parameter summary. See [**postconf**(5)](https://www.chedong.com/phpMan.php/man/postconf/5/markdown) for more details including
       examples.

       In the text below, _transport_ is the first field in a **master.cf** entry.

## COMPATIBILITY CONTROLS
       Available before Postfix version 2.5:

       **allow**___**min**___**user** **(no)**
              Allow a sender or recipient address to have `-' as the first character.

       Available with Postfix version 2.7 and later:

       **default**___**filter**___**nexthop** **(empty)**
              When a content_filter or FILTER request specifies no  explicit  next-hop  destination,
              use  $default_filter_nexthop  instead; when that value is empty, use the domain in the
              recipient address.

## ACTIVE QUEUE CONTROLS
       **qmgr**___**clog**___**warn**___**time** **(300s)**
              The minimal delay between warnings that a specific  destination  is  clogging  up  the
              Postfix active queue.

       **qmgr**___**message**___**active**___**limit** **(20000)**
              The maximal number of messages in the active queue.

       **qmgr**___**message**___**recipient**___**limit** **(20000)**
              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.

## DELIVERY CONCURRENCY CONTROLS
       **qmgr**___**fudge**___**factor** **(100)**
              Obsolete feature: the percentage of delivery resources that a busy  mail  system  will
              use up for delivery of a large mailing  list message.

       **initial**___**destination**___**concurrency** **(5)**
              The initial per-destination concurrency level for parallel delivery to the same desti‐
              nation.

       **default**___**destination**___**concurrency**___**limit** **(20)**
              The default maximal number of parallel deliveries to the same destination.

       **transport**___**destination**___**concurrency**___**limit** **($default**___**destination**___**concurrency**___**limit)**
              A transport-specific override for the default_destination_concurrency_limit  parameter
              value, where _transport_ is the master.cf name of the message delivery transport.

       Available in Postfix version 2.5 and later:

       **transport**___**initial**___**destination**___**concurrency** **($initial**___**destination**___**concurrency)**
              A transport-specific override for the initial_destination_concurrency parameter value,
              where _transport_ is the master.cf name of the message delivery transport.

       **default**___**destination**___**concurrency**___**failed**___**cohort**___**limit** **(1)**
              How many pseudo-cohorts must suffer connection or handshake failure before a  specific
              destination is considered unavailable (and further delivery is suspended).

       **transport**___**destination**___**concurrency**___**failed**___**cohort**___**limit**           **($default**___**destination**___**concur**‐‐
       **rency**___**failed**___**cohort**___**limit)**
              A  transport-specific  override  for  the   default_destination_concurrency_failed_co‐
              hort_limit  parameter  value, where _transport_ is the master.cf name of the message de‐
              livery transport.

       **default**___**destination**___**concurrency**___**negative**___**feedback** **(1)**
              The per-destination amount of delivery concurrency negative feedback, after a delivery
              completes with a connection or handshake failure.

       **transport**___**destination**___**concurrency**___**negative**___**feedback**   **($default**___**destination**___**concurrency**___**nega**‐‐
       **tive**___**feedback)**
              A transport-specific override for  the  default_destination_concurrency_negative_feed‐
              back  parameter  value,  where _transport_ is the master.cf name of the message delivery
              transport.

       **default**___**destination**___**concurrency**___**positive**___**feedback** **(1)**
              The per-destination amount of delivery concurrency positive feedback, after a delivery
              completes without connection or handshake failure.

       **transport**___**destination**___**concurrency**___**positive**___**feedback**   **($default**___**destination**___**concurrency**___**posi**‐‐
       **tive**___**feedback)**
              A transport-specific override for  the  default_destination_concurrency_positive_feed‐
              back  parameter  value,  where _transport_ is the master.cf name of the message delivery
              transport.

       **destination**___**concurrency**___**feedback**___**debug** **(no)**
              Make the queue manager's feedback algorithm verbose for performance analysis purposes.

## RECIPIENT SCHEDULING CONTROLS
       **default**___**destination**___**recipient**___**limit** **(50)**
              The default maximal number of recipients per message delivery.

       **transport**___**destination**___**recipient**___**limit** **($default**___**destination**___**recipient**___**limit)**
              A transport-specific override for  the  default_destination_recipient_limit  parameter
              value, where _transport_ is the master.cf name of the message delivery transport.

## OTHER RESOURCE AND RATE CONTROLS
       **minimal**___**backoff**___**time** **(300s)**
              The  minimal time between attempts to deliver a deferred message; prior to Postfix 2.4
              the default value was 1000s.

       **maximal**___**backoff**___**time** **(4000s)**
              The maximal time between attempts to deliver a deferred message.

       **maximal**___**queue**___**lifetime** **(5d)**
              Consider a message as undeliverable, when delivery fails with a temporary  error,  and
              the time in the queue has reached the maximal_queue_lifetime limit.

       **queue**___**run**___**delay** **(300s)**
              The  time  between deferred queue scans by the queue manager; prior to Postfix 2.4 the
              default value was 1000s.

       **transport**___**retry**___**time** **(60s)**
              The time between attempts by the Postfix queue manager  to  contact  a  malfunctioning
              message delivery transport.

       Available in Postfix version 2.1 and later:

       **bounce**___**queue**___**lifetime** **(5d)**
              Consider  a  bounce message as undeliverable, when delivery fails with a temporary er‐
              ror, and the time in the queue has reached the bounce_queue_lifetime limit.

       Available in Postfix version 2.5 and later:

       **default**___**destination**___**rate**___**delay** **(0s)**
              The default amount of delay that is inserted between individual message deliveries  to
              the same destination and over the same message delivery transport.

       **transport**___**destination**___**rate**___**delay** **($default**___**destination**___**rate**___**delay)**
              A  transport-specific override for the default_destination_rate_delay parameter value,
              where _transport_ is the master.cf name of the message delivery transport.

       Available in Postfix version 3.1 and later:

       **default**___**transport**___**rate**___**delay** **(0s)**
              The default amount of delay that is inserted  between  individual  message  deliveries
              over the same message delivery transport, regardless of destination.

       **transport**___**transport**___**rate**___**delay** **($default**___**transport**___**rate**___**delay)**
              A  transport-specific  override  for the default_transport_rate_delay parameter value,
              where the initial _transport_ in the parameter name is the master.cf name of the message
              delivery transport.

## SAFETY CONTROLS
       **qmgr**___**daemon**___**timeout** **(1000s)**
              How  much  time a Postfix queue manager process may take to handle a request before it
              is terminated by a built-in watchdog timer.

       **qmgr**___**ipc**___**timeout** **(60s)**
              The time limit for the queue manager to send or receive information over  an  internal
              communication channel.

       Available in Postfix version 3.1 and later:

       **address**___**verify**___**pending**___**request**___**limit** **(see** **'postconf** **-d'** **output)**
              A safety limit that prevents address verification requests from overwhelming the Post‐
              fix queue.

## MISCELLANEOUS CONTROLS
       **config**___**directory** **(see** **'postconf** **-d'** **output)**
              The default location of the Postfix main.cf and master.cf configuration files.

       **defer**___**transports** **(empty)**
              The names of message delivery transports that should not deliver mail  unless  someone
              issues "**sendmail** **-q**" or equivalent.

       **delay**___**logging**___**resolution**___**limit** **(2)**
              The  maximal  number  of  digits after the decimal point when logging sub-second delay
              values.

       **helpful**___**warnings** **(yes)**
              Log warnings about problematic configuration settings,  and  provide  helpful  sugges‐
              tions.

       **process**___**id** **(read-only)**
              The process ID of a Postfix command or daemon process.

       **process**___**name** **(read-only)**
              The process name of a Postfix command or daemon process.

       **queue**___**directory** **(see** **'postconf** **-d'** **output)**
              The location of the Postfix top-level queue directory.

       **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 exam‐
              ple, "smtpd" becomes "prefix/smtpd".

       Available in Postfix version 3.0 and later:

       **confirm**___**delay**___**cleared** **(no)**
              After sending a "your message is delayed" notification, inform the sender when the de‐
              lay clears up.

       Available in Postfix 3.3 and later:

       **service**___**name** **(read-only)**
              The master.cf service name of a Postfix daemon process.

       Available in Postfix 3.5 and later:

       **info**___**log**___**address**___**format** **(external)**
              The email address form that will be used in non-debug logging (info, warning, etc.).

## FILES
       /var/spool/postfix/incoming, incoming queue
       /var/spool/postfix/active, active queue
       /var/spool/postfix/deferred, deferred queue
       /var/spool/postfix/bounce, non-delivery status
       /var/spool/postfix/defer, non-delivery status
       /var/spool/postfix/trace, delivery status

## SEE ALSO
       [trivial-rewrite(8)](https://www.chedong.com/phpMan.php/man/trivial-rewrite/8/markdown), address routing
       [bounce(8)](https://www.chedong.com/phpMan.php/man/bounce/8/markdown), delivery status reports
       [postconf(5)](https://www.chedong.com/phpMan.php/man/postconf/5/markdown), configuration parameters
       [master(5)](https://www.chedong.com/phpMan.php/man/master/5/markdown), generic daemon options
       [master(8)](https://www.chedong.com/phpMan.php/man/master/8/markdown), process manager
       [postlogd(8)](https://www.chedong.com/phpMan.php/man/postlogd/8/markdown), Postfix logging
       [syslogd(8)](https://www.chedong.com/phpMan.php/man/syslogd/8/markdown), system logging

## README FILES
       Use "**postconf** **readme**___**directory**" or "**postconf** **html**___**directory**" to locate this information.
       QSHAPE_README, Postfix queue analysis

## LICENSE
       The Secure Mailer license must be distributed with this software.

**AUTHOR(S)**
       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(8postfix)](https://www.chedong.com/phpMan.php/man/OQMGR/8postfix/markdown)
