BOUNCE(8postfix)
π BOUNCE β Postfix delivery status reports π
okay bestie, buckle up, we're talking about bounce, and it lives in the 8postfix section of the manual, so you already know it's a daemon situation. this one is literally the post office's β¨feelings journalβ¨ β it keeps receipts on every message and then tells you the tea. let's go π«Ά
β¨ NAME β¨
bounce β Postfix delivery status reports π¬
π SYNOPSIS π
bounce [generic Postfix daemon options]
π¦ DESCRIPTION π¦
so the bounce(8) daemon is out here maintaining per-message log files stuffed with delivery status info. every single log file is named after the queue file it corresponds to, and it lives in a queue subdirectory named after the service name in the master.cf file β and that's either bounce, defer or trace. no cap, that's the naming scheme. and btw this program expects to be run from the master(8) process manager, so don't just go launching it yourself like it's a little indie app, bestie.
the bounce(8) daemon handles two types of service requests, and yes, both of them ate:
- Append a recipient (non-)delivery status record to a per-message log file. π
- Enqueue a delivery status notification message, with a copy of a per-message log file and of the corresponding message. When the delivery status notification message is enqueued successfully, the per-message log file is deleted. ποΈ
the software does a best notification effort. a non-delivery notification is sent even when the log file or the original message cannot be read. like, it's trying its best okay π
optionally, a bounce (defer, trace) client can request that the per-message log file be deleted when the requested operation fails. this is used by clients that cannot retry transactions by themselves, and that depend on retry logic in their own client. main character clients only π
π STANDARDS π
the receipts, in list form:
- RFC 822 (ARPA Internet Text Messages)
- RFC 2045 (Format of Internet Message Bodies)
- RFC 2822 (Internet Message Format)
- RFC 3462 (Delivery Status Notifications)
- RFC 3464 (Delivery Status Notifications)
- RFC 3834 (Auto-Submitted: message header)
- RFC 5322 (Internet Message Format)
- RFC 6531 (Internationalized SMTP)
- RFC 6532 (Internationalized Message Format)
- RFC 6533 (Internationalized Delivery Status Notifications)
π DIAGNOSTICS π
Problems and transactions are logged to syslogd(8) or postlogd(8). so if something goes sideways, the logs know. the logs always know π
π CONFIGURATION PARAMETERS π
Changes to main.cf are picked up automatically, as bounce(8) processes run for only a limited amount of time. Use the command postfix reload to speed up a change. (she's fast, but you can make her faster β¨)
The text below provides only a parameter summary. See postconf(5) for more details including examples.
2bounce_notice_recipient(default:postmaster) β The recipient of undeliverable mail that cannot be returned to the sender. the "even we couldn't deliver this" pile πbackwards_bounce_logfile_compatibility(default:yes) β Produce additionalbounce(8)logfile records that can be read by Postfix versions before 2.0. it's giving nostalgia π°οΈbounce_notice_recipient(default:postmaster) β The recipient of postmaster notifications with the message headers of mail that Postfix did not deliver and of SMTP conversation transcripts of mail that Postfix did not receive.bounce_size_limit(default:50000) β The maximal amount of original message text that is sent in a non-delivery notification. we are NOT quoting the whole essay back, bestie βοΈbounce_template_file(default:empty) β Pathname of a configuration file with bounce message templates.config_directory(default: see'postconf -d'output) β The default location of the Postfixmain.cfandmaster.cfconfiguration files.daemon_timeout(default:18000s) β How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. the watchdog is not playing πdelay_notice_recipient(default:postmaster) β The recipient of postmaster notifications with the message headers of mail that cannot be delivered within$delay_warning_timetime units.deliver_lock_attempts(default:20) β The maximal number of attempts to acquire an exclusive lock on a mailbox file orbounce(8)logfile.deliver_lock_delay(default:1s) β The time between attempts to acquire an exclusive lock on a mailbox file orbounce(8)logfile.ipc_timeout(default:3600s) β The time limit for sending or receiving information over an internal communication channel.internal_mail_filter_classes(default:empty) β What categories of Postfix-generated mail are subject to before-queue content inspection bynon_smtpd_milters,header_checksandbody_checks.mail_name(default:Postfix) β The mail system name that is displayed inReceived:headers, in the SMTP greeting banner, and in bounced mail.max_idle(default:100s) β The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. she's leaving the party early, respectfully πͺmax_use(default:100) β The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily.notify_classes(default:resource, software) β The list of error classes that are reported to the postmaster.process_id(default:read-only) β The process ID of a Postfix command or daemon process.process_name(default:read-only) β The process name of a Postfix command or daemon process.queue_directory(default: see'postconf -d'output) β The location of the Postfix top-level queue directory.syslog_facility(default:mail) β The syslog facility of Postfix logging.syslog_name(default: see'postconf -d'output) β A prefix that is prepended to the process name in syslog records, so that, for example,"smtpd"becomes"prefix/smtpd".
πΈ Available in Postfix 3.0 and later:
smtputf8_autodetect_classes(default:sendmail, verify) β Detect that a message requires SMTPUTF8 support for the specified mail origin classes.
π Available in Postfix 3.3 and later:
service_name(default:read-only) β Themaster.cfservice name of a Postfix daemon process.
π§ Available in Postfix 3.6 and later:
enable_threaded_bounces(default:no) β Enable non-delivery, success, and delay notifications that link to the original message by including aReferences:andIn-Reply-To:header with the originalMessage-IDvalue.
π Available in Postfix 3.7 and later:
header_from_format(default:standard) β The format of the Postfix-generatedFrom:header.
π FILES π
the places these little receipts hang out:
/var/spool/postfix/bounce/*β non-delivery records/var/spool/postfix/defer/*β non-delivery records/var/spool/postfix/trace/*β delivery status records
π₯ SEE ALSO π₯
iykyk, go read these next:
bounce(5), bounce message template formatqmgr(8), queue managerpostconf(5), configuration parametersmaster(5), generic daemon optionsmaster(8), process managerpostlogd(8), Postfix loggingsyslogd(8), system logging
π LICENSE π
The Secure Mailer license must be distributed with this software. periodt. don't be weird about it π«Ά
π 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
okay that's the whole thing, bestie, we literally covered every flag and every line πβ¨ and yeah, the vibe stamp at the bottom of the page is BOUNCE(8postfix) β that's the version/date sign-off, mwah π
π
π¦ where this page comes from
- debian bookworm: postfix 3.7.11-0+deb12u1
- ubuntu noble: postfix 3.8.6-1build2
- ubuntu noble: postfix 3.8.6-1ubuntu0.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms