CLEANUP(8) System Manager's Manual CLEANUP(8)
cleanup - canonicalize and enqueue Postfix message
cleanup [generic Postfix daemon options]
The cleanup daemon processes inbound mail, inserts it into the incoming
mail queue, and informs the queue manager of its arrival.
The cleanup daemon always performs the following transformations:
o Insert missing message headers: (Resent-) From:, To:, Message-
Id:, and Date:.
o Extract envelope recipient addresses from (Resent-) To:, Cc: and
Bcc: message headers when no recipients are specified in the
o Transform envelope and header addresses to the standard
user@fully-qualified-domain form that is expected by other Post-
fix programs. This task is delegated to the trivial-rewrite(8)
o Eliminate duplicate envelope recipient addresses.
The following address transformations are optional:
o Optionally, rewrite all envelope and header addresses according
to the mappings specified in the canonical(5) lookup tables.
o Optionally, masquerade envelope sender addresses and message
header addresses (i.e. strip host or domain information below
all domains listed in the masquerade_domains parameter, except
for user names listed in masquerade_exceptions). By default,
address masquerading does not affect envelope recipients.
o Optionally, expand envelope recipients according to information
found in the virtual(5) lookup tables.
The cleanup daemon performs sanity checks on the content of each mes-
sage. When it finds a problem, by default it returns a diagnostic sta-
tus to the client, and leaves it up to the client to deal with the
problem. Alternatively, the client can request the cleanup daemon to
bounce the message back to the sender in case of trouble.
RFC 822 (ARPA Internet Text Messages)
RFC 2045 (MIME: Format of Internet Message Bodies)
RFC 2046 (MIME: Media Types)
Problems and transactions are logged to syslogd(8).
Table-driven rewriting rules make it hard to express if then else and
other logical relationships.
The following main.cf parameters are especially relevant to this pro-
gram. See the Postfix main.cf file for syntax details and for default
values. Use the postfix reload command after a configuration change.
Lookup tables with content filters for message body lines.
These filters see physical lines one at a time, in chunks of at
most line_length_limit bytes.
The amount of content per message body segment that is subjected
to $body_checks filtering.
mime_header_checks (default: $header_checks)
nested_header_checks (default: $header_checks)
Lookup tables with content filters for message header lines:
respectively, these are applied to the primary message headers
(not including MIME headers), to the MIME headers anywhere in
the message, and to the initial headers of attached messages.
These filters see logical headers one at a time, including head-
ers that span multiple lines.
While receiving, give no special treatment to Content-Type: mes-
sage headers; all text after the initial message headers is con-
sidered to be part of the message body.
The amount of space that will be allocated for MIME multipart
boundary strings. The MIME processor is unable to distinguish
between boundary strings that do not differ in the first
The maximal nesting level of multipart mail that the MIME pro-
cessor can handle. Refuse mail that is nested deeper.
Turn on both strict_7bit_headers and strict_8bitmime_body.
Reject mail with 8-bit text in message headers. This blocks mail
from poorly written applications.
Reject mail with 8-bit text in content that claims to be 7-bit,
or in content that has no explicit content encoding information.
This blocks mail from poorly written mail software. Unfortu-
nately, this also breaks majordomo approval requests when the
included request contains valid 8-bit MIME mail, and it breaks
bounces from mailers that do not properly encapsulate 8-bit con-
tent (for example, bounces from qmail or from old versions of
Reject mail with invalid Content-Transfer-Encoding: information
for message/* or multipart/*. This blocks mail from poorly writ-
Address to send a copy of each message that enters the system.
Limit the number of Received: message headers.
The header line that is inserted when no recipients were speci-
fied in (Resent-)To: or (Resent-)Cc: message headers.
The destination for undeliverable mail from <>. This substitu-
tion is done before all other address rewriting.
Address mapping lookup table for sender and recipient addresses
in envelopes and headers.
Address mapping lookup table for envelope and header recipient
Address mapping lookup table for envelope and header sender
By default (recipient address) canonicalization is applied even
to the envelope recipient. To prevent delivery loops when using
external canonical addresses, while still having recipient head-
ers rewritten to the canonical addresses, set this to 'no'.
List of address classes subject to masquerading: zero or more of
envelope_sender, envelope_recipient, header_sender,
List of domains that hide their subdomain structure.
List of user names that are not subject to address masquerading.
Address mapping lookup table for envelope recipient addresses.
Limits the number of envelope recipients that are remembered.
Limits the number of address tokens used to process a message
Limits the amount of memory in bytes used to store a message
Amount of time to pause before accepting a message, when the
message arrival rate exceeds the message delivery rate.
Limit the amount of recipients extracted from message headers.
canonical(5) canonical address lookup table format
qmgr(8) queue manager daemon
syslogd(8) system logging
trivial-rewrite(8) address rewriting
virtual(5) virtual alias lookup table format
/etc/postfix/canonical*, canonical mapping table
/etc/postfix/virtual*, virtual mapping table
The Secure Mailer license must be distributed with this software.
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA