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.

       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
              mail  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_domain_encoding
              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_maps
              Address mapping lookup table for envelope recipient
              addresses.

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

       header_size_limit
              Limit the amount of memory in bytes used to process
              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 address lookup table format

FILES
       /usr/local/etc/postfix/canonical*, canonical mapping table
       /usr/local/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)