CLEANUP(8)                                             CLEANUP(8)

NAME
       cleanup - canonicalize and enqueue Postfix message

SYNOPSIS
       cleanup [generic Postfix daemon options]

DESCRIPTION
       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 transfor-
       mations:

       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  recipi-
              ents are specified in the message envelope.

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

       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  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 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)

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
       The following main.cf parameters are  especially  relevant
       to  this  program. See the Postfix main.cf file for syntax
       details and for default values.  Use  the  postfix  reload
       command after a configuration change.

Content filtering
       body_checks
              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.

       body_checks_size_limit
              The amount of content per message body segment that
              is subjected to $body_checks filtering.

       header_checks

       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  mes-
              sage,  and  to the initial headers of attached mes-
              sages.  These filters see logical headers one at  a
              time, including headers that span multiple lines.

MIME Processing
       disable_mime_input_processing
              While  receiving, give no special treatment to Con-
              tent-Type: message headers; all text after the ini-
              tial  message  headers  is considered to be part of
              the message body.

       mime_boundary_length_limit
              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   $mime_bound-
              ary_length_limit characters.

       mime_nesting_limit
              The maximal nesting level of  multipart  mail  that
              the  MIME processor can handle. Refuse mail that is
              nested deeper.

       strict_8bitmime
              Turn on both strict_7bit_headers  and  strict_8bit-
              mime_body.

       strict_7bit_headers
              Reject  mail  with  8-bit  text in message headers.
              This blocks mail from poorly written  applications.

       strict_8bitmime_body
              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.  Unfortunately,
              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 content  (for  exam-
              ple,  bounces  from  qmail  or from old versions of
              Postfix).

       strict_mime_encoding_domain
              Reject mail with invalid Content-Transfer-Encoding:
              information  for  message/*  or  multipart/*.  This
              blocks mail from poorly written software.

Miscellaneous
       always_bcc
              Address to send a copy of each message that  enters
              the system.

       hopcount_limit
              Limit the number of Received: message headers.

       undisclosed_recipients_header
              The header line that is inserted when no recipients
              were specified in (Resent-)To: or (Resent-)Cc: mes-
              sage headers.

Address transformations
       empty_address_recipient
              The  destination  for  undeliverable  mail from <>.
              This substitution is done before all other  address
              rewriting.

       canonical_maps
              Address mapping lookup table for sender and recipi-
              ent addresses in envelopes and headers.

       recipient_canonical_maps
              Address  mapping  lookup  table  for  envelope  and
              header recipient addresses.

       sender_canonical_maps
              Address  mapping  lookup  table  for  envelope  and
              header sender addresses.

       masquerade_classes
              List of address classes  subject  to  masquerading:
              zero  or  more of envelope_sender, envelope_recipi-
              ent, header_sender, header_recipient.

       masquerade_domains
              List of domains that hide  their  subdomain  struc-
              ture.

       masquerade_exceptions
              List  of user names that are not subject to address
              masquerading.

       virtual_alias_maps
              Address mapping lookup table for envelope recipient
              addresses.

Resource controls
       duplicate_filter_limit
              Limits  the  number of envelope recipients that are
              remembered.

       header_address_token_limit
              Limits the number of address tokens used to process
              a message header.

       header_size_limit
              Limits  the  amount of memory in bytes used to pro-
              cess a message header.

       in_flow_delay
              Amount of time to pause before accepting a message,
              when  the  message arrival rate exceeds the message
              delivery rate.

       extract_recipient_limit
              Limit the amount of recipients extracted from  mes-
              sage headers.

SEE ALSO
       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

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

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)