diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:18:56 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:18:56 +0000 |
commit | b7c15c31519dc44c1f691e0466badd556ffe9423 (patch) | |
tree | f944572f288bab482a615e09af627d9a2b6727d8 /html/oqmgr.8.html | |
parent | Initial commit. (diff) | |
download | postfix-upstream.tar.xz postfix-upstream.zip |
Adding upstream version 3.7.10.upstream/3.7.10upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'html/oqmgr.8.html')
-rw-r--r-- | html/oqmgr.8.html | 424 |
1 files changed, 424 insertions, 0 deletions
diff --git a/html/oqmgr.8.html b/html/oqmgr.8.html new file mode 100644 index 0000000..39c0622 --- /dev/null +++ b/html/oqmgr.8.html @@ -0,0 +1,424 @@ +<!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=utf-8"> +<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="https://tools.ietf.org/html/rfc3463">RFC 3463</a> (Enhanced status codes) + <a href="https://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>syslogd</b>(8) or <a href="postlogd.8.html"><b>postlogd</b>(8)</a> + 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 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>transport_destination_concurrency_limit ($<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> + A transport-specific override for the default_destination_con- + currency_limit parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> + name of the message delivery transport. + + Available in Postfix version 2.5 and later: + + <b>transport_initial_destination_concurrency ($<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> + A transport-specific override for the initial_destination_con- + currency parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name + of the message delivery transport. + + <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>transport_destination_concurrency_failed_cohort_limit ($<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> + A transport-specific override for the <a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_con</a>- + <a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">currency_failed_cohort_limit</a> parameter value, where <i>transport</i> is + the <a href="master.5.html">master.cf</a> name of the message delivery transport. + + <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>transport_destination_concurrency_negative_feedback ($<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> + A transport-specific override for the default_destination_con- + currency_negative_feedback parameter value, where <i>transport</i> is + the <a href="master.5.html">master.cf</a> name of the message delivery transport. + + <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>transport_destination_concurrency_positive_feedback ($<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> + A transport-specific override for the default_destination_con- + currency_positive_feedback parameter value, where <i>transport</i> is + the <a href="master.5.html">master.cf</a> name of the message delivery transport. + + <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>transport_destination_recipient_limit ($<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipi</a>-</b> + <b><a href="postconf.5.html#default_destination_recipient_limit">ent_limit</a>)</b> + A transport-specific override for the <a href="postconf.5.html#default_destination_recipient_limit">default_destination_recip</a>- + <a href="postconf.5.html#default_destination_recipient_limit">ient_limit</a> parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> + name of the message delivery transport. + +<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 + message deliveries to the same destination and over the same + message delivery transport. + + <b>transport_destination_rate_delay ($<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>)</b> + A transport-specific override for the <a href="postconf.5.html#default_destination_rate_delay">default_destina</a>- + <a href="postconf.5.html#default_destination_rate_delay">tion_rate_delay</a> parameter value, where <i>transport</i> is the <a href="master.5.html">mas- + ter.cf</a> name of the message delivery transport. + + 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 + message deliveries over the same message delivery transport, + regardless of destination. + + <b>transport_transport_rate_delay ($<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>)</b> + A transport-specific override for the <a href="postconf.5.html#default_transport_rate_delay">default_trans</a>- + <a href="postconf.5.html#default_transport_rate_delay">port_rate_delay</a> parameter value, where the initial <i>transport</i> in + the parameter name is the <a href="master.5.html">master.cf</a> name of the message delivery + transport. + +<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> + A prefix that is prepended to the process name in syslog + records, so that, for example, "smtpd" becomes "prefix/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. + + Available in Postfix 3.3 and later: + + <b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b> + The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process. + + Available in Postfix 3.5 and later: + + <b><a href="postconf.5.html#info_log_address_format">info_log_address_format</a> (external)</b> + The email address form that will be used in non-debug logging + (info, warning, etc.). + +<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 + <a href="postlogd.8.html">postlogd(8)</a>, Postfix logging + 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> |