Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 in-
       coming mail queue, and informs the queue	manager	of its arrival.

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

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

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

       o      Eliminate	duplicate envelope recipient addresses.

       o      Remove message headers:  Bcc,  Content-Length,  Resent-Bcc,  Re-
	      turn-Path.

       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 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) or postlogd(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 (see 'postconf -d'	output)
	      Message header that the Postfix cleanup(8) server	inserts	when a
	      message contains no To: or Cc: message header.

       Available in Postfix version 2.1	only:

       enable_errors_to	(no)
	      Report mail delivery errors to the address  specified  with  the
	      non-standard  Errors-To: message header, instead of the envelope
	      sender address (this feature is  removed	with  Postfix  version
	      2.2,  is	turned off by default with Postfix version 2.1,	and is
	      always turned on with older Postfix versions).

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

       Available in Postfix version 3.0	and later:

       message_drop_headers (bcc, content-length, resent-bcc, return-path)
	      Names  of	message	headers	that the cleanup(8) daemon will	remove
	      after applying header_checks(5) and before invoking  Milter  ap-
	      plications.

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  mes-
	      sage   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  con-
	      tent.

       message_strip_characters	(empty)
	      The set of characters that Postfix will remove from message con-
	      tent.

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)
	      The mail filter protocol version and  optional  protocol	exten-
	      sions  for  communication	 with  a  Milter application; prior to
	      Postfix 2.6 the default protocol is 2.

       milter_default_action (tempfail)
	      The default action when a	Milter (mail  filter)  application  is
	      unavailable or mis-configured.

       milter_macro_daemon_name	($myhostname)
	      The  {daemon_name} macro value for Milter	(mail filter) applica-
	      tions.

       milter_macro_v ($mail_name $mail_version)
	      The {v} macro value for Milter (mail filter) applications.

       milter_connect_timeout (30s)
	      The time limit for connecting to a Milter	(mail filter) applica-
	      tion, 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 applications.

       Available in Postfix version 3.1	and later:

       milter_macro_defaults (empty)
	      Optional list of name=value pairs	that  specify  default	values
	      for  arbitrary  macros  that Postfix may send to 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.

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

       strict_8bitmime (no)
	      Enable both strict_7bit_headers and strict_8bitmime_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	encod-
	      ing information.

       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  Con-
	      tent-Transfer-Encoding:  message headers;	historically, this be-
	      havior 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  addresses	match  $masquerade_do-
	      mains.

       propagate_unmatched_extensions (canonical, virtual)
	      What  address  lookup  tables copy an address extension 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 do-
	      mains, 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 do-
	      mains 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_canonical_maps address
	      mapping.

       sender_canonical_classes	(envelope_sender, header_sender)
	      What addresses are subject to sender_canonical_maps address map-
	      ping.

       remote_header_rewrite_domain (empty)
	      Don't  rewrite  message  headers from remote clients at all when
	      this parameter is	empty; otherwise, rewrite 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	dupli-
	      cate 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 delivery	rate.

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

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

       Available in Postfix version 3.0	and later:

       virtual_alias_address_length_limit (1000)
	      The maximal length of an email address after virtual  alias  ex-
	      pansion.

SMTPUTF8 CONTROLS
       Preliminary SMTPUTF8 support is introduced with Postfix 3.0.

       smtputf8_enable (yes)
	      Enable  preliminary SMTPUTF8 support for the protocols described
	      in RFC 6531..6533.

       smtputf8_autodetect_classes (sendmail, verify)
	      Detect that a message requires SMTPUTF8 support for  the	speci-
	      fied mail	origin classes.

       Available in Postfix version 3.2	and later:

       enable_idna2003_compatibility (no)
	      Enable   'transitional'	compatibility	between	 IDNA2003  and
	      IDNA2008,	when converting	UTF-8 domain names to/from  the	 ASCII
	      form that	is used	for DNS	lookups.

MISCELLANEOUS CONTROLS
       config_directory	(see 'postconf -d' output)
	      The  default  location of	the Postfix main.cf and	master.cf con-
	      figuration files.

       daemon_timeout (18000s)
	      How much time a Postfix daemon process may take to handle	a  re-
	      quest before it is terminated by a built-in watchdog timer.

       delay_logging_resolution_limit (2)
	      The  maximal  number of digits after the decimal point when log-
	      ging sub-second delay values.

       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 in-
	      ternal 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 terminating 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 delivered	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)
	      A	prefix that  is	 prepended  to	the  process  name  in	syslog
	      records, so that,	for example, "smtpd" becomes "prefix/smtpd".

       Available in Postfix version 2.1	and later:

       enable_original_recipient (yes)
	      Enable  support  for the original	recipient address after	an ad-
	      dress is rewritten to a  different  address  (for	 example  with
	      aliasing or with canonical mapping).

       Available in Postfix 3.3	and later:

       service_name (read-only)
	      The master.cf service name of a Postfix daemon process.

       Available in Postfix 3.5	and later:

       info_log_address_format (external)
	      The  email  address  form	that will be used in non-debug logging
	      (info, warning, etc.).

FILES
       /usr/local/etc/postfix/canonical*, canonical mapping table
       /usr/local/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
       postlogd(8), Postfix logging
       syslogd(8), system logging

README FILES
       Use "postconf readme_directory" or "postconf html_directory" to	locate
       this information.
       ADDRESS_REWRITING_README	Postfix	address	manipulation
       CONTENT_INSPECTION_README 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

       Wietse Venema
       Google, Inc.
       111 8th Avenue
       New York, NY 10011, USA

								    CLEANUP(8)

NAME | SYNOPSIS | DESCRIPTION | STANDARDS | DIAGNOSTICS | BUGS | CONFIGURATION PARAMETERS | COMPATIBILITY CONTROLS | BUILT-IN CONTENT FILTERING CONTROLS | BEFORE QUEUE MILTER CONTROLS | MIME PROCESSING CONTROLS | AUTOMATIC BCC RECIPIENT CONTROLS | ADDRESS TRANSFORMATION CONTROLS | RESOURCE AND RATE CONTROLS | SMTPUTF8 CONTROLS | MISCELLANEOUS CONTROLS | FILES | SEE ALSO | README FILES | LICENSE | AUTHOR(S)

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=cleanup&sektion=8&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help