OQMGR(8) | OQMGR(8) |
Mail addressed to the local double-bounce address is logged and discarded. This stops potential loops caused by undeliverable bounce notifications.
incoming | Inbound mail from the network, or mail picked up by the local pickup(8) agent from the maildrop directory. |
active | Messages that the queue manager has opened for delivery. Only a limited number of messages is allowed to enter the active queue (leaky bucket strategy, for a fixed delivery 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. |
bounce | Per-recipient status information about why mail is bounced. These files are maintained by the bounce(8) daemon. |
defer | Per-recipient status information about why mail is delayed. These files are maintained by the defer(8) daemon. |
trace | Per-recipient status information as requested with the Postfix " sendmail -v" or "sendmail -bv" command. These files are maintained by the trace(8) daemon. |
The oqmgr(8) daemon is responsible for asking the bounce(8), defer(8) or trace(8) daemons to send delivery reports.
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 blocking 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 prevents 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. |
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) daemon reads an entire buffer worth of triggers. Multiple identical trigger requests 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.
Depending on the setting of the notify_classes parameter, the postmaster is notified of bounces and of other trouble.
The text below provides only a parameter summary. See postconf(5) for more details including examples.
In the text below, transport is the first field in a master.cf entry.
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. |
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 size of the short-term, in-memory "dead" destination status cache. |
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 destination. |
default_destination_concurrency_limit (20) | The default maximal number of parallel deliveries to the same destination. |
transport_destination_concurrency_limit ($default_destination_concurrency_limit) | Idem, for delivery via the named message transport. |
Available in Postfix version 2.5 and later:
transport_initial_destination_concurrency ($initial_destination_concurrency) | Initial concurrency for delivery via the named message 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_concurrency_failed_cohort_limit) | Idem, for delivery via the named message 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_negative_feedback) | Idem, for delivery via the named message 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_positive_feedback) | Idem, for delivery via the named message transport. |
destination_concurrency_feedback_debug (no) | Make the queue manager's feedback algorithm verbose for performance analysis purposes. |
default_destination_recipient_limit (50) | The default maximal number of recipients per message delivery. |
transport_destination_recipient_limit | Idem, for delivery via the named message transport. |
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) | The maximal time a message is queued before it is sent back as undeliverable. |
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) | The maximal time a bounce message is queued before it is considered undeliverable. |
Available in Postfix version 2.5 and later:
default_destination_rate_delay (0s) | The default amount of delay that is inserted between individual deliveries to the same destination; with per-destination recipient limit > 1, a destination is a domain, otherwise it is a recipient. |
transport_destination_rate_delay $default_destination_rate_delay | Idem, for delivery via the named message transport. |
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. |
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 suggestions. |
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) | The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". |
August 25, 2011 |