CLEANUP(8)                                             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  man-
       ager of its arrival.

       The cleanup(8) daemon always performs the following trans-
       formations:

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

       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(8) daemon performs sanity checks on  the  con-
       tent  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. Alterna-
       tively, 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)

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.

COMPATIBILITY CONTROLS
       undisclosed_recipients_header   (To:   undisclosed-recipi-
       ents:;)
              Message  header  that the Postfix cleanup(8) server
              inserts when a message contains no To: or Cc:  mes-
              sage header.

       Available in Postfix version 2.1 and later:

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 attach-
              ment,  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.

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.

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

       strict_8bitmime (no)
              Enable both  strict_7bit_headers  and  strict_8bit-
              mime_body.

       strict_7bit_headers (no)
              Reject mail with 8-bit text in message headers.

       strict_8bitmime_body (no)
              Reject  8-bit  message body text without 8-bit MIME
              content encoding information.

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

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 Post-
              fix 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 exten-
              sion from the lookup key to the lookup result.

       Available before Postfix version 2.0:

       virtual_maps (empty)
              Optional lookup tables with a) names of domains for
              which  all  addresses  are  aliased to addresses in
              other local or remote  domains,  and  b)  addresses
              that  are  aliased  to  addresses in other local or
              remote domains.

       Available in Postfix version 2.0 and later:

       virtual_alias_maps ($virtual_maps)
              Optional lookup tables  that  alias  specific  mail
              addresses  or  domains  to  other  local  or remote
              address.

       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_canoni-
              cal_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,
              rewrite remote message headers and append the spec-
              ified 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 vir-
              tual(5) alias expansion, or for showq(8) queue dis-
              plays.

       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)
              The  maximal  nesting depth of virtual alias expan-
              sion.

MISCELLANEOUS CONTROLS
       config_directory (see 'postconf -d' output)
              The default location of  the  Postfix  main.cf  and
              master.cf 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_warning_time (0h)
              The  time  after which the sender receives the mes-
              sage 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 the next  service  request
              before exiting.

       max_use (100)
              The  maximal number of connection requests before a
              Postfix daemon process terminates.

       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  pro-
              cess.

       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  direc-
              tory.

       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 (postfix)
              The mail system name that is prepended to the  pro-
              cess  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
       body_checks(5), body parts content inspection
       canonical(5), canonical address lookup table format
       virtual(5), virtual alias lookup table format
       postconf(5), configuration parameters
       master(5), generic daemon options
       master(8), process manager
       syslogd(8), system logging

README FILES
       ADDRESS_REWRITING_README Postfix address manipulation

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)