autoupdate
[postfix-master.git] / postfix-master / oqmgr.8.html
blob43116cae01ecbdeaa1a03f25ad415cb064cbd5f5
1 <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
3 <html> <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
5 <title> Postfix manual - oqmgr(8) </title>
6 </head> <body> <pre>
7 OQMGR(8) OQMGR(8)
9 <b>NAME</b>
10 oqmgr - old Postfix queue manager
12 <b>SYNOPSIS</b>
13 <b>oqmgr</b> [generic Postfix daemon options]
15 <b>DESCRIPTION</b>
16 The <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> daemon awaits the arrival of incoming mail
17 and arranges for its delivery via Postfix delivery pro-
18 cesses. The actual mail routing strategy is delegated to
19 the <a href="trivial-rewrite.8.html"><b>trivial-rewrite</b>(8)</a> daemon. This program expects to be
20 run from the <a href="master.8.html"><b>master</b>(8)</a> process manager.
22 Mail addressed to the local <b>double-bounce</b> address is
23 logged and discarded. This stops potential loops caused
24 by undeliverable bounce notifications.
26 <b>MAIL QUEUES</b>
27 The <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> daemon maintains the following queues:
29 <b>incoming</b>
30 Inbound mail from the network, or mail picked up by
31 the local <a href="pickup.8.html"><b>pickup</b>(8)</a> agent from the <b>maildrop</b> direc-
32 tory.
34 <b>active</b> Messages that the queue manager has opened for
35 delivery. Only a limited number of messages is
36 allowed to enter the <b>active</b> queue (leaky bucket
37 strategy, for a fixed delivery rate).
39 <b>deferred</b>
40 Mail that could not be delivered upon the first
41 attempt. The queue manager implements exponential
42 backoff by doubling the time between delivery
43 attempts.
45 <b>corrupt</b>
46 Unreadable or damaged queue files are moved here
47 for inspection.
49 <b>hold</b> Messages that are kept "on hold" are kept here
50 until someone sets them free.
52 <b>DELIVERY STATUS REPORTS</b>
53 The <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> daemon keeps an eye on per-message delivery
54 status reports in the following directories. Each status
55 report file has the same name as the corresponding message
56 file:
58 <b>bounce</b> Per-recipient status information about why mail is
59 bounced. These files are maintained by the
60 <a href="bounce.8.html"><b>bounce</b>(8)</a> daemon.
62 <b>defer</b> Per-recipient status information about why mail is
63 delayed. These files are maintained by the
64 <a href="defer.8.html"><b>defer</b>(8)</a> daemon.
66 <b>trace</b> Per-recipient status information as requested with
67 the Postfix "<b>sendmail -v</b>" or "<b>sendmail -bv</b>" com-
68 mand. These files are maintained by the <a href="trace.8.html"><b>trace</b>(8)</a>
69 daemon.
71 The <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> daemon is responsible for asking the
72 <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
73 reports.
75 <b>STRATEGIES</b>
76 The queue manager implements a variety of strategies for
77 either opening queue files (input) or for message delivery
78 (output).
80 <b>leaky bucket</b>
81 This strategy limits the number of messages in the
82 <b>active</b> queue and prevents the queue manager from
83 running out of memory under heavy load.
85 <b>fairness</b>
86 When the <b>active</b> queue has room, the queue manager
87 takes one message from the <a href="QSHAPE_README.html#incoming_queue"><b>incoming</b> queue</a> and one
88 from the <b>deferred</b> queue. This prevents a large mail
89 backlog from blocking the delivery of new mail.
91 <b>slow start</b>
92 This strategy eliminates "thundering herd" problems
93 by slowly adjusting the number of parallel deliver-
94 ies to the same destination.
96 <b>round robin</b>
97 The queue manager sorts delivery requests by desti-
98 nation. Round-robin selection prevents one desti-
99 nation from dominating deliveries to other destina-
100 tions.
102 <b>exponential backoff</b>
103 Mail that cannot be delivered upon the first
104 attempt is deferred. The time interval between
105 delivery attempts is doubled after each attempt.
107 <b>destination status cache</b>
108 The queue manager avoids unnecessary delivery
109 attempts by maintaining a short-term, in-memory
110 list of unreachable destinations.
112 <b>TRIGGERS</b>
113 On an idle system, the queue manager waits for the arrival
114 of trigger events, or it waits for a timer to go off. A
115 trigger is a one-byte message. Depending on the message
116 received, the queue manager performs one of the following
117 actions (the message is followed by the symbolic constant
118 used internally by the software):
120 <b>D (QMGR_REQ_SCAN_DEFERRED)</b>
121 Start a <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scan. If a deferred queue
122 scan is already in progress, that scan will be
123 restarted as soon as it finishes.
125 <b>I (QMGR_REQ_SCAN_INCOMING)</b>
126 Start an <a href="QSHAPE_README.html#incoming_queue">incoming queue</a> scan. If an incoming queue
127 scan is already in progress, that scan will be
128 restarted as soon as it finishes.
130 <b>A (QMGR_REQ_SCAN_ALL)</b>
131 Ignore <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> file time stamps. The request
132 affects the next <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scan.
134 <b>F (QMGR_REQ_FLUSH_DEAD)</b>
135 Purge all information about dead transports and
136 destinations.
138 <b>W (TRIGGER_REQ_WAKEUP)</b>
139 Wakeup call, This is used by the master server to
140 instantiate servers that should not go away for-
141 ever. The action is to start an <a href="QSHAPE_README.html#incoming_queue">incoming queue</a>
142 scan.
144 The <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> daemon reads an entire buffer worth of trig-
145 gers. Multiple identical trigger requests are collapsed
146 into one, and trigger requests are sorted so that <b>A</b> and <b>F</b>
147 precede <b>D</b> and <b>I</b>. Thus, in order to force a <a href="QSHAPE_README.html#deferred_queue">deferred queue</a>
148 run, one would request <b>A F D</b>; in order to notify the queue
149 manager of the arrival of new mail one would request <b>I</b>.
151 <b>STANDARDS</b>
152 <a href="http://tools.ietf.org/html/rfc3463">RFC 3463</a> (Enhanced status codes)
153 <a href="http://tools.ietf.org/html/rfc3464">RFC 3464</a> (Delivery status notifications)
155 <b>SECURITY</b>
156 The <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> daemon is not security sensitive. It reads
157 single-character messages from untrusted local users, and
158 thus may be susceptible to denial of service attacks. The
159 <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> daemon does not talk to the outside world, and it
160 can be run at fixed low privilege in a chrooted environ-
161 ment.
163 <b>DIAGNOSTICS</b>
164 Problems and transactions are logged to the <b>syslog</b>(8) dae-
165 mon. Corrupted message files are saved to the <b>corrupt</b>
166 queue for further inspection.
168 Depending on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter,
169 the postmaster is notified of bounces and of other trou-
170 ble.
172 <b>BUGS</b>
173 A single queue manager process has to compete for disk
174 access with multiple front-end processes such as
175 <a href="cleanup.8.html"><b>cleanup</b>(8)</a>. A sudden burst of inbound mail can negatively
176 impact outbound delivery rates.
178 <b>CONFIGURATION PARAMETERS</b>
179 Changes to <a href="postconf.5.html"><b>main.cf</b></a> are not picked up automatically, as
180 <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> is a persistent process. Use the command "<b>postfix</b>
181 <b>reload</b>" after a configuration change.
183 The text below provides only a parameter summary. See
184 <a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including examples.
186 In the text below, <i>transport</i> is the first field in a <b>mas-</b>
187 <b>ter.cf</b> entry.
189 <b>COMPATIBILITY CONTROLS</b>
190 Available before Postfix version 2.5:
192 <b><a href="postconf.5.html#allow_min_user">allow_min_user</a> (no)</b>
193 Allow a sender or recipient address to have `-' as
194 the first character.
196 Available with Postfix version 2.7 and later:
198 <b><a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> (empty)</b>
199 When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies
200 no explicit next-hop destination, use $default_fil-
201 ter_nexthop instead; when that value is empty, use
202 the domain in the recipient address.
204 <b>ACTIVE QUEUE CONTROLS</b>
205 <b><a href="postconf.5.html#qmgr_clog_warn_time">qmgr_clog_warn_time</a> (300s)</b>
206 The minimal delay between warnings that a specific
207 destination is clogging up the Postfix active
208 queue.
210 <b><a href="postconf.5.html#qmgr_message_active_limit">qmgr_message_active_limit</a> (20000)</b>
211 The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>.
213 <b><a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> (20000)</b>
214 The maximal number of recipients held in memory by
215 the Postfix queue manager, and the maximal size of
216 the size of the short-term, in-memory "dead" desti-
217 nation status cache.
219 <b>DELIVERY CONCURRENCY CONTROLS</b>
220 <b><a href="postconf.5.html#qmgr_fudge_factor">qmgr_fudge_factor</a> (100)</b>
221 Obsolete feature: the percentage of delivery
222 resources that a busy mail system will use up for
223 delivery of a large mailing list message.
225 <b><a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a> (5)</b>
226 The initial per-destination concurrency level for
227 parallel delivery to the same destination.
229 <b><a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> (20)</b>
230 The default maximal number of parallel deliveries
231 to the same destination.
233 <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>
234 <b><a href="postconf.5.html#default_destination_concurrency_limit">tion_concurrency_limit</a>)</b>
235 Idem, for delivery via the named message <i>transport</i>.
237 Available in Postfix version 2.5 and later:
239 <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>
240 <b><a href="postconf.5.html#initial_destination_concurrency">nation_concurrency</a>)</b>
241 Initial concurrency for delivery via the named mes-
242 sage <i>transport</i>.
244 <b><a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> (1)</b>
245 How many pseudo-cohorts must suffer connection or
246 handshake failure before a specific destination is
247 considered unavailable (and further delivery is
248 suspended).
250 <b><a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a></b>
251 <b>($<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>)</b>
252 Idem, for delivery via the named message <i>transport</i>.
254 <b><a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> (1)</b>
255 The per-destination amount of delivery concurrency
256 negative feedback, after a delivery completes with
257 a connection or handshake failure.
259 <b><a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a></b>
260 <b>($<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>)</b>
261 Idem, for delivery via the named message <i>transport</i>.
263 <b><a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> (1)</b>
264 The per-destination amount of delivery concurrency
265 positive feedback, after a delivery completes with-
266 out connection or handshake failure.
268 <b><a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a></b>
269 <b>($<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>)</b>
270 Idem, for delivery via the named message <i>transport</i>.
272 <b><a href="postconf.5.html#destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a> (no)</b>
273 Make the queue manager's feedback algorithm verbose
274 for performance analysis purposes.
276 <b>RECIPIENT SCHEDULING CONTROLS</b>
277 <b><a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> (50)</b>
278 The default maximal number of recipients per mes-
279 sage delivery.
281 <b><a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a></b>
282 Idem, for delivery via the named message <i>transport</i>.
284 <b>OTHER RESOURCE AND RATE CONTROLS</b>
285 <b><a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a> (300s)</b>
286 The minimal time between attempts to deliver a
287 deferred message; prior to Postfix 2.4 the default
288 value was 1000s.
290 <b><a href="postconf.5.html#maximal_backoff_time">maximal_backoff_time</a> (4000s)</b>
291 The maximal time between attempts to deliver a
292 deferred message.
294 <b><a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> (5d)</b>
295 The maximal time a message is queued before it is
296 sent back as undeliverable.
298 <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a> (300s)</b>
299 The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue
300 manager; prior to Postfix 2.4 the default value was
301 1000s.
303 <b><a href="postconf.5.html#transport_retry_time">transport_retry_time</a> (60s)</b>
304 The time between attempts by the Postfix queue man-
305 ager to contact a malfunctioning message delivery
306 transport.
308 Available in Postfix version 2.1 and later:
310 <b><a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> (5d)</b>
311 The maximal time a bounce message is queued before
312 it is considered undeliverable.
314 Available in Postfix version 2.5 and later:
316 <b><a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a> (0s)</b>
317 The default amount of delay that is inserted
318 between individual deliveries to the same destina-
319 tion; with per-destination recipient limit &gt; 1, a
320 destination is a domain, otherwise it is a recipi-
321 ent.
323 <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>
324 <b><a href="postconf.5.html#default_destination_rate_delay">tion_rate_delay</a></b>
325 Idem, for delivery via the named message <i>transport</i>.
327 <b>SAFETY CONTROLS</b>
328 <b><a href="postconf.5.html#qmgr_daemon_timeout">qmgr_daemon_timeout</a> (1000s)</b>
329 How much time a Postfix queue manager process may
330 take to handle a request before it is terminated by
331 a built-in watchdog timer.
333 <b><a href="postconf.5.html#qmgr_ipc_timeout">qmgr_ipc_timeout</a> (60s)</b>
334 The time limit for the queue manager to send or
335 receive information over an internal communication
336 channel.
338 <b>MISCELLANEOUS CONTROLS</b>
339 <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
340 The default location of the Postfix <a href="postconf.5.html">main.cf</a> and
341 <a href="master.5.html">master.cf</a> configuration files.
343 <b><a href="postconf.5.html#defer_transports">defer_transports</a> (empty)</b>
344 The names of message delivery transports that
345 should not deliver mail unless someone issues
346 "<b>sendmail -q</b>" or equivalent.
348 <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
349 The maximal number of digits after the decimal
350 point when logging sub-second delay values.
352 <b><a href="postconf.5.html#helpful_warnings">helpful_warnings</a> (yes)</b>
353 Log warnings about problematic configuration set-
354 tings, and provide helpful suggestions.
356 <b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
357 The process ID of a Postfix command or daemon
358 process.
360 <b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b>
361 The process name of a Postfix command or daemon
362 process.
364 <b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
365 The location of the Postfix top-level queue direc-
366 tory.
368 <b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
369 The syslog facility of Postfix logging.
371 <b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b>
372 The mail system name that is prepended to the
373 process name in syslog records, so that "smtpd"
374 becomes, for example, "postfix/smtpd".
376 <b>FILES</b>
377 /var/spool/postfix/incoming, <a href="QSHAPE_README.html#incoming_queue">incoming queue</a>
378 /var/spool/postfix/active, <a href="QSHAPE_README.html#active_queue">active queue</a>
379 /var/spool/postfix/deferred, <a href="QSHAPE_README.html#deferred_queue">deferred queue</a>
380 /var/spool/postfix/bounce, non-delivery status
381 /var/spool/postfix/defer, non-delivery status
382 /var/spool/postfix/trace, delivery status
384 <b>SEE ALSO</b>
385 <a href="trivial-rewrite.8.html">trivial-rewrite(8)</a>, address routing
386 <a href="bounce.8.html">bounce(8)</a>, delivery status reports
387 <a href="postconf.5.html">postconf(5)</a>, configuration parameters
388 <a href="master.5.html">master(5)</a>, generic daemon options
389 <a href="master.8.html">master(8)</a>, process manager
390 syslogd(8), system logging
392 <b>README FILES</b>
393 <a href="QSHAPE_README.html">QSHAPE_README</a>, Postfix queue analysis
395 <b>LICENSE</b>
396 The Secure Mailer license must be distributed with this
397 software.
399 <b>AUTHOR(S)</b>
400 Wietse Venema
401 IBM T.J. Watson Research
402 P.O. Box 704
403 Yorktown Heights, NY 10598, USA
405 OQMGR(8)
406 </pre> </body> </html>