Back to main site | Back to man page index

CLEANUP(8)                                     System Manager's Manual                                     CLEANUP(8)



NAME
       cleanup - canonicalize and enqueue Postfix message

SYNOPSIS
       cleanup [generic Postfix daemon options]

DESCRIPTION
       The  cleanup(8)  daemon processes inbound mail, inserts it into the incoming mail queue, and informs the queue
       manager of its arrival.

       The cleanup(8) daemon always performs the following transformations:

       ·      Insert missing message headers: (Resent-) From:, To:, Message-Id:, and Date:.

       ·      Transform envelope and header addresses  to  the  standard  user@fully-qualified-domain  form  that  is
              expected by other Postfix programs.  This task is delegated to the trivial-rewrite(8) daemon.

       ·      Eliminate duplicate envelope recipient addresses.

       The following address transformations are optional:

       ·      Optionally, rewrite all envelope and header addresses according to the mappings specified in the canon‐
              ical(5) lookup tables.

       ·      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  recipi‐
              ents.

       ·      Optionally, expand envelope recipients according to information found in the virtual(5) lookup tables.

       The  cleanup(8)  daemon  performs  sanity  checks  on the content of each message. When it finds a problem, by
       default it returns a diagnostic status to the client, and leaves it up to the client to deal with the problem.
       Alternatively,  the  client can request the cleanup(8) daemon to bounce the message back to the sender in case
       of trouble.

STANDARDS
       RFC 822 (ARPA Internet Text Messages)
       RFC 2045 (MIME: Format of Internet Message Bodies)
       RFC 2046 (MIME: Media Types)
       RFC 2822 (Internet Message Format)
       RFC 3463 (Enhanced Status Codes)
       RFC 3464 (Delivery status notifications)
       RFC 5322 (Internet Message Format)

DIAGNOSTICS
       Problems and transactions are logged to syslogd(8).

BUGS
       Table-driven rewriting rules make it hard to express if then else and other logical relationships.

CONFIGURATION PARAMETERS
       Changes to main.cf are picked up automatically, as cleanup(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.

       Available in Postfix version 2.6 and later:

       always_add_missing_headers (no)
              Always add (Resent-) From:, To:, Date: or Message-ID: headers when not present.

       Available in Postfix version 2.9 and later:

       enable_long_queue_ids (no)
              Enable long, non-repeating, queue IDs (queue file names).

BUILT-IN CONTENT FILTERING CONTROLS
       Postfix built-in content filtering is meant to stop a flood of worms or viruses. It is not a  general  content
       filter.

       body_checks (empty)
              Optional lookup tables for content inspection as specified in the body_checks(5) manual page.

       header_checks (empty)
              Optional  lookup tables for content inspection of primary non-MIME message headers, as specified in the
              header_checks(5) manual page.

       Available in Postfix version 2.0 and later:

       body_checks_size_limit (51200)
              How much text in a message body segment (or attachment, if you prefer to use that term) is subjected to
              body_checks inspection.

       mime_header_checks ($header_checks)
              Optional  lookup  tables  for  content  inspection of MIME related message headers, as described in the
              header_checks(5) manual page.

       nested_header_checks ($header_checks)
              Optional lookup tables for content inspection of non-MIME message  headers  in  attached  messages,  as
              described in the header_checks(5) manual page.

       Available in Postfix version 2.3 and later:

       message_reject_characters (empty)
              The set of characters that Postfix will reject in message content.

       message_strip_characters (empty)
              The set of characters that Postfix will remove from message content.

BEFORE QUEUE MILTER CONTROLS
       As  of  version  2.3,  Postfix supports the Sendmail version 8 Milter (mail filter) protocol. When mail is not
       received via the smtpd(8) server, the cleanup(8) server will simulate SMTP events to the extent that  this  is
       possible. For details see the MILTER_README document.

       non_smtpd_milters (empty)
              A  list of Milter (mail filter) applications for new mail that does not arrive via the Postfix smtpd(8)
              server.

       milter_protocol (6)
       milter_connect_timeout (30s)
              The  time  limit  for  connecting  to  a Milter (mail filter) application, and for negotiating protocol
              options.

       milter_command_timeout (30s)
              The time limit for sending an SMTP command to a Milter (mail filter) application, and for receiving the
              response.

       milter_content_timeout (300s)
              The time limit for sending message content to a Milter (mail filter) application, and for receiving the
              response.

       milter_connect_macros (see 'postconf -d' output)
              The macros that are sent to Milter (mail filter) applications after completion of an SMTP connection.

       milter_helo_macros (see 'postconf -d' output)
              The macros that are sent to Milter (mail filter) applications after the SMTP HELO or EHLO command.

       milter_mail_macros (see 'postconf -d' output)
              The macros that are sent to Milter (mail filter) applications after the SMTP MAIL FROM command.

       milter_rcpt_macros (see 'postconf -d' output)
              The macros that are sent to Milter (mail filter) applications after the SMTP RCPT TO command.

       milter_data_macros (see 'postconf -d' output)
              The macros that are sent to version 4 or higher Milter (mail filter) applications after the  SMTP  DATA
              command.

       milter_unknown_command_macros (see 'postconf -d' output)
              The macros that are sent to version 3 or higher Milter (mail filter) applications after an unknown SMTP
              command.

       milter_end_of_data_macros (see 'postconf -d' output)
              The macros that are sent to Milter (mail filter) applications after the message end-of-data.

       Available in Postfix version 2.5 and later:

       milter_end_of_header_macros (see 'postconf -d' output)
              The macros that are sent to Milter (mail filter) applications after the end of the message header.

       Available in Postfix version 2.7 and later:

       milter_header_checks (empty)
              Optional lookup tables for content inspection of message headers that are produced by  Milter  applica‐
              tions.

MIME PROCESSING CONTROLS
       Available in Postfix version 2.0 and later:

       disable_mime_input_processing (no)
              Turn off MIME processing while receiving mail.

       mime_boundary_length_limit (2048)
              The maximal length of MIME multipart boundary strings.

       strict_mime_encoding_domain (no)
              Reject  mail  with invalid Content-Transfer-Encoding: information for the message/* or multipart/* MIME
              content types.

       Available in Postfix version 2.5 and later:

       detect_8bit_encoding_header (yes)
              Automatically detect 8BITMIME body content by looking at  Content-Transfer-Encoding:  message  headers;
              historically, this behavior was hard-coded to be "always on".

AUTOMATIC BCC RECIPIENT CONTROLS
       Postfix can automatically add BCC (blind carbon copy) when mail enters the mail system:

       always_bcc (empty)
              Optional  address  that  receives a "blind carbon copy" of each message that is received by the Postfix
              mail system.

       Available in Postfix version 2.1 and later:

       sender_bcc_maps (empty)
              Optional BCC (blind carbon-copy) address lookup tables, indexed by sender address.

       recipient_bcc_maps (empty)
              Optional BCC (blind carbon-copy) address lookup tables, indexed by recipient address.

ADDRESS TRANSFORMATION CONTROLS
       Address rewriting is delegated to the trivial-rewrite(8)  daemon.   The  cleanup(8)  server  implements  table
       driven address mapping.

       empty_address_recipient (MAILER-DAEMON)
              The recipient of mail addressed to the null address.

       canonical_maps (empty)
              Optional address mapping lookup tables for message headers and envelopes.

       recipient_canonical_maps (empty)
              Optional address mapping lookup tables for envelope and header recipient addresses.

       sender_canonical_maps (empty)
              Optional address mapping lookup tables for envelope and header sender addresses.

       masquerade_classes (envelope_sender, header_sender, header_recipient)
              What addresses are subject to address masquerading.

       masquerade_domains (empty)
              Optional list of domains whose subdomain structure will be stripped off in email addresses.

       masquerade_exceptions (empty)
              Optional  list  of  user  names that are not subjected to address masquerading, even when their address
              matches $masquerade_domains.

       propagate_unmatched_extensions (canonical, virtual)
              What address lookup tables copy an address extension from the lookup key to the lookup result.

       Available in Postfix version 2.2 and later:

       canonical_classes (envelope_sender, envelope_recipient, header_sender, header_recipient)
              What addresses are subject to canonical_maps address mapping.

       recipient_canonical_classes (envelope_recipient, header_recipient)
              What addresses are subject to recipient_canonical_maps address mapping.

       sender_canonical_classes (envelope_sender, header_sender)
              What addresses are subject to sender_canonical_maps address mapping.

       remote_header_rewrite_domain (empty)
              Don't rewrite message headers from remote clients at all when this parameter is empty;  otherwise,  re‐
              write message headers and append the specified domain name to incomplete addresses.

RESOURCE AND RATE CONTROLS
       duplicate_filter_limit (1000)
              The maximal number of addresses remembered by the address duplicate filter for aliases(5) or virtual(5)
              alias expansion, or for showq(8) queue displays.

       header_size_limit (102400)
              The maximal amount of memory in bytes for storing a message header.

       hopcount_limit (50)
              The maximal number of Received:  message headers that is allowed in the primary message headers.

       in_flow_delay (1s)
              Time to pause before accepting a new message, when the message arrival rate exceeds the message  deliv‐
              ery rate.

       message_size_limit (10240000)
              The maximal size in bytes of a message, including envelope information.

       Available in Postfix version 2.0 and later:

       header_address_token_limit (10240)
              The maximal number of address tokens are allowed in an address message header.

       mime_boundary_length_limit (2048)
              The maximal length of MIME multipart boundary strings.

       mime_nesting_limit (100)
              The maximal recursion level that the MIME processor will handle.

       queue_file_attribute_count_limit (100)
              The maximal number of (name=value) attributes that may be stored in a Postfix queue file.

       Available in Postfix version 2.1 and later:

       virtual_alias_expansion_limit (1000)
              The maximal number of addresses that virtual alias expansion produces from each original recipient.

       virtual_alias_recursion_limit (1000)

       delay_warning_time (0h)
              The time after which the sender receives a copy of the message headers of mail that is still queued.

       ipc_timeout (3600s)
              The time limit for sending or receiving information over an internal communication channel.

       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 terminat‐
              ing voluntarily.

       myhostname (see 'postconf -d' output)
              The internet hostname of this mail system.

       myorigin ($myhostname)
              The domain name that locally-posted mail appears to come from, and that locally posted mail  is  deliv‐
              ered to.

       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.

       soft_bounce (no)
              Safety net to keep mail queued that would otherwise be returned to the sender.

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

       Available in Postfix version 2.1 and later:

       enable_original_recipient (yes)
              Enable support for the X-Original-To message header.

FILES
       /etc/postfix/canonical*, canonical mapping table
       /etc/postfix/virtual*, virtual mapping table

SEE ALSO
       trivial-rewrite(8), address rewriting
       qmgr(8), queue manager
       header_checks(5), message header content inspection

LICENSE
       The Secure Mailer license must be distributed with this software.

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



                                                                                                           CLEANUP(8)