bounce − Postfix delivery status reports


bounce [generic Postfix daemon options]


The bounce(8) daemon maintains per-message log files with delivery status information. Each log file is named after the queue file that it corresponds to, and is kept in a queue subdirectory named after the service name in the file (either bounce, defer or trace). This program expects to be run from the master(8) process manager.

The bounce(8) daemon processes two types of service requests:

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.

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.


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)


Problems and transactions are logged to syslogd(8).


Changes to 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.

The text below provides only a parameter summary. See postconf(5) for more details including examples.
2bounce_notice_recipient (postmaster)

The recipient of undeliverable mail that cannot be returned to the sender.

backwards_bounce_logfile_compatibility (yes)

Produce additional bounce(8) logfile records that can be read by Postfix versions before 2.0.

bounce_notice_recipient (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 (50000)

The maximal amount of original message text that is sent in a non-delivery notification.

bounce_template_file (empty)

Pathname of a configuration file with bounce message templates.

config_directory (see ’postconf -d’ output)

The default location of the Postfix and configuration files.

daemon_timeout (18000s)

How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer.

delay_notice_recipient (postmaster)

The recipient of postmaster notifications with the message headers of mail that cannot be delivered within $delay_warning_time time units.

deliver_lock_attempts (20)

The maximal number of attempts to acquire an exclusive lock on a mailbox file or bounce(8) logfile.

deliver_lock_delay (1s)

The time between attempts to acquire an exclusive lock on a mailbox file or bounce(8) logfile.

ipc_timeout (3600s)

The time limit for sending or receiving information over an internal communication channel.

internal_mail_filter_classes (empty)

What categories of Postfix-generated mail are subject to before-queue content inspection by non_smtpd_milters, header_checks and body_checks.

mail_name (Postfix)

The mail system name that is displayed in Received: headers, in the SMTP greeting banner, and in bounced mail.

max_idle (100s)

The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily.

max_use (100)

The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily.

notify_classes (resource, software)

The list of error classes that are reported to the postmaster.

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".


/var/spool/postfix/bounce/* non-delivery records
/var/spool/postfix/defer/* non-delivery records
/var/spool/postfix/trace/* delivery status records


bounce(5), bounce message template format
qmgr(8), queue manager
postconf(1), configuration parameters
master(5), generic daemon options
master(5), process manager
syslogd(8), system logging


The Secure Mailer license must be distributed with this software.


Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA

More Linux Commands

vdso(7) overview of the virtual ELF dynamic shared object...
The vDSO (virtual dynamic shared object) is a small shared library that the kernel automatically maps into the address space of all user-space applications. App

gnutls_psk_allocate_server_credentials(3) - API function....
gnutls_psk_allocate_server_credentials.3 - This structure is complex enough to manipulate directly thus this helper function is provided in order to allocate it

XShapeQueryVersion(3) - X nonrectangular shape functions....
The X11 Nonrectangular Window Shape Extension adds nonrectangular windows to the X Window System. PREDEFINED VALUES Operations: ShapeSet ShapeUnion ShapeInterse

gio-querymodules(1) - GIO module cache creation (Man Page)
gio-querymodules creates a giomodule.cache file in the listed directories. This file lists the implemented extension points for each module that has been found.

xmessage(1) - display a message or query in a window (X-base
The xmessage program displays a window containing a message from the command line, a file, or standard input. Along the lower edge of the message is row of butt

Socket(3pm) - load the C socket.h defines and structure mani
This module provides a variety of constants, structure manipulators and other functions related to socket-based networking. The values and functions provided ar

perror(3) - print a system error message - Linux man page...
perror.3 - The routine perror() produces a message on the standard error output, describing the last error encountered during a call to a system or library func

strtoul(3) - convert a string to an unsigned long integer...
The strtoul() function converts the initial part of the string in nptr to an unsigned long int value according to the given base, which must be between 2 and 36

XPutPixel(3) - image utilities (Library - Linux man page)...
The XInitImage function initializes the internal image manipulation routines of an image structure, based on the values of the various structure members. All fi

cisco-decrypt(1) - decrypts an obfuscated Cisco vpn client p
This command accompanies vpnc. It decrypts the obfuscated pre-shared key from *.pcf-configuration files, which must be specified on the command line. The result

arybase(3pm) Set indexing base via - Linux manual page......
This module implements Perls $[ variable. You should not use it directly. Assigning to $[ has the compile-time effect of making the assigned value, converted to

FD_SET(3) - synchronous I/O multiplexing - Linux man page...
select() and pselect() allow a program to monitor multiple file descriptors, waiting until one or more of the file descriptors become ready for some class of I/

We can't live, work or learn in freedom unless the software we use is free.