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

       enable_errors_to (no)
              Report mail delivery errors to the  address  speci-
              fied   with  the  non-standard  Errors-To:  message
              header, instead of the envelope sender address.

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 nesting level of  multipart  mail  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.

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  nesting  level of multipart mail 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  default  domain  name that locally-posted mail
              appears to come from, and that locally posted  mail
              is delivered 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(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)