333 lines
15 KiB
HTML
333 lines
15 KiB
HTML
<!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 <b>oqmgr</b> 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 <b>oqmgr</b> daemon maintains the following queues:
|
|
|
|
<b>incoming</b>
|
|
Inbound mail from the network, or mail picked up by
|
|
the local <b>pickup</b> 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 <b>oqmgr</b> daemon keeps an eye on per-message delivery sta-
|
|
tus 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 <b>oqmgr</b> 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>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 <b>oqmgr</b> 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> pre-
|
|
cede <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>
|
|
None. The <b>oqmgr</b> daemon does not interact with the outside
|
|
world.
|
|
|
|
<b>SECURITY</b>
|
|
The <b>oqmgr</b> daemon is not security sensitive. It reads sin-
|
|
gle-character messages from untrusted local users, and
|
|
thus may be susceptible to denial of service attacks. The
|
|
<b>oqmgr</b> 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 <b>smtpd</b>. A
|
|
sudden burst of inbound mail can negatively impact out-
|
|
bound delivery rates.
|
|
|
|
<b>CONFIGURATION PARAMETERS</b>
|
|
Changes to <b>main.cf</b> are not picked up automatically, as
|
|
<a href="qmgr.8.html">oqmgr(8)</a> processes are persistent. Use the command "<b>post-</b>
|
|
<b>fix reload</b>" after a configuration change.
|
|
|
|
The text below provides only a parameter summary. See
|
|
<a href="postconf.5.html">postconf(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>
|
|
<b><a href="postconf.5.html#allow_min_user">allow_min_user</a> (no)</b>
|
|
Allow a 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>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.
|
|
|
|
<i>transport</i><b>_destination_concurrency_limit</b>
|
|
Idem, for delivery via the named message <i>transport</i>.
|
|
|
|
<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.
|
|
|
|
<i>transport</i><b>_destination_recipient_limit</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> (1000s)</b>
|
|
The minimal time between attempts to deliver a
|
|
deferred message.
|
|
|
|
<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> (1000s)</b>
|
|
The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue
|
|
manager.
|
|
|
|
<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.
|
|
|
|
<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 main.cf and
|
|
master.cf 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 be delivered to unless someone issues
|
|
"<b>sendmail -q</b>" or equivalent.
|
|
|
|
<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 pro-
|
|
cess.
|
|
|
|
<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 pro-
|
|
cess 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.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
|
|
|
|
OQMGR(8)
|
|
</pre> </body> </html>
|