sendmail manpage

Search topic Section

SENDMAIL(1)		    General Commands Manual		   SENDMAIL(1)

       sendmail - Postfix to Sendmail compatibility interface

       sendmail [option ...] [recipient ...]

       sendmail -bp

       sendmail -I

       The Postfix sendmail(1) command implements the Postfix to Sendmail com-
       patibility interface.  For the  sake  of	 compatibility	with  existing
       applications,  some  Sendmail  command-line  options are recognized but
       silently ignored.

       By default, Postfix sendmail(1) reads a	message	 from  standard	 input
       until  EOF  or  until  it  reads	 a  line  with only a . character, and
       arranges for delivery.  Postfix sendmail(1) relies on  the  postdrop(1)
       command to create a queue file in the maildrop directory.

       Specific	 command aliases are provided for other common modes of opera-

       mailq  List the mail queue. Each entry shows the queue file ID, message
	      size,  arrival  time, sender, and the recipients that still need
	      to be delivered.	If mail could not be delivered upon  the  last
	      attempt, the reason for failure is shown. The queue ID string is
	      followed by an optional status character:

	      *	     The message is in the active queue, i.e. the  message  is
		     selected for delivery.

	      !	     The  message is in the hold queue, i.e. no further deliv-
		     ery attempt will be made until  the  mail	is  taken  off

	      This   mode   of	operation  is  implemented  by	executing  the
	      postqueue(1) command.

	      Initialize the alias database.  If no input  file	 is  specified
	      (with  the  -oA  option,	see  below), the program processes the
	      file(s) specified with the alias_database configuration  parame-
	      ter.   If	 no alias database type is specified, the program uses
	      the type specified with the default_database_type	 configuration
	      parameter.  This mode of operation is implemented by running the
	      postalias(1) command.

	      Note: it may take a minute or so before an alias database update
	      becomes  visible.	 Use the "postfix reload" command to eliminate
	      this delay.

       These and other features can be selected by specifying the  appropriate
       combination  of	command-line  options. Some features are controlled by
       parameters in the main.cf configuration file.

       The following options are recognized:

       -Am (ignored)

       -Ac (ignored)
	      Postfix sendmail uses the same configuration file regardless  of
	      whether or not a message is an initial submission.

       -B body_type
	      The message body MIME type: 7BIT or 8BITMIME.

       -bd    Go  into	daemon	mode. This mode of operation is implemented by
	      executing the "postfix start" command.

       -bh (ignored)

       -bH (ignored)
	      Postfix has no persistent host status database.

       -bi    Initialize alias database. See the newaliases command above.

       -bm    Read mail from standard input and arrange for delivery.  This is
	      the default mode of operation.

       -bp    List the mail queue. See the mailq command above.

       -bs    Stand-alone  SMTP	 server mode. Read SMTP commands from standard
	      input, and write responses to standard output.   In  stand-alone
	      SMTP  server  mode,  mail relaying and other access controls are
	      disabled by default. To enable them,  run	 the  process  as  the
	      mail_owner user.

	      This  mode  of  operation is implemented by running the smtpd(8)

       -bv    Do not collect or deliver a  message.  Instead,  send  an	 email
	      report  after  verifying each recipient address.	This is useful
	      for testing address rewriting and routing configurations.

	      This feature is available in Postfix version 2.1 and later.

       -C config_file

       -C config_dir
	      The path name of the Postfix main.cf  file,  or  of  its	parent
	      directory.  This	information  is	 ignored with Postfix versions
	      before 2.3.

	      With all Postfix versions, you can specify a directory  pathname
	      with  the MAIL_CONFIG environment variable to override the loca-
	      tion of configuration files.

       -F full_name
	      Set the sender full name. This overrides	the  NAME  environment
	      variable, and is used only with messages that have no From: mes-
	      sage header.

       -f sender
	      Set the envelope sender  address.	 This  is  the	address	 where
	      delivery problems are sent to. With Postfix versions before 2.1,
	      the  Errors-To:  message	header	overrides  the	error	return

       -G     Gateway  (relay)	submission, as opposed to initial user submis-
	      sion.  Either do not rewrite addresses at all, or update	incom-
	      plete  addresses	with  the  domain  information	specified with

	      This option is ignored before Postfix version 2.3.

       -h hop_count (ignored)
	      Hop count limit. Use the hopcount_limit configuration  parameter

       -I     Initialize alias database. See the newaliases command above.

       -i     When  reading  a message from standard input, don't treat a line
	      with only a . character as the end of input.

       -L label (ignored)
	      The logging label. Use the syslog_name  configuration  parameter

       -m (ignored)
	      Backwards compatibility.

       -N dsn (default: 'delay, failure')
	      Delivery	status	notification  control. Specify either a comma-
	      separated list with one or more of  failure  (send  notification
	      when  delivery fails), delay (send notification when delivery is
	      delayed), or success (send  notification	when  the  message  is
	      delivered);  or  specify	never (don't send any notifications at

	      This feature is available in Postfix 2.3 and later.

       -n (ignored)
	      Backwards compatibility.

	      Non-default alias database. Specify pathname  or	type:pathname.
	      See postalias(1) for details.

       -O option=value (ignored)
	      Backwards compatibility.

       -o7 (ignored)

       -o8 (ignored)
	      To  send 8-bit or binary content, use an appropriate MIME encap-
	      sulation and specify the appropriate -B command-line option.

       -oi    When reading a message from standard input, don't treat  a  line
	      with only a . character as the end of input.

       -om (ignored)
	      The sender is never eliminated from alias etc. expansions.

       -o x value (ignored)
	      Set  option x to value. Use the equivalent configuration parame-
	      ter in main.cf instead.

       -r sender
	      Set the envelope sender  address.	 This  is  the	address	 where
	      delivery problems are sent to. With Postfix versions before 2.1,
	      the  Errors-To:  message	header	overrides  the	error	return

       -R return_limit (ignored)
	      Limit  the  size of bounced mail. Use the bounce_size_limit con-
	      figuration parameter instead.

       -q     Attempt to deliver all queued mail. This is implemented by  exe-
	      cuting the postqueue(1) command.

	      Warning:	flushing  undeliverable mail frequently will result in
	      poor delivery performance of all other mail.

       -qinterval (ignored)
	      The interval between queue runs. Use the queue_run_delay config-
	      uration parameter instead.

	      Schedule immediate delivery of mail with the specified queue ID.
	      This option is implemented by executing  the  postqueue(1)  com-
	      mand, and is available with Postfix version 2.4 and later.

	      Schedule	immediate  delivery of all mail that is queued for the
	      named site. This option accepts only site names that are	eligi-
	      ble  for the "fast flush" service, and is implemented by execut-
	      ing the postqueue(1) command.  See flush(8) for more information
	      about the "fast flush" service.

	      This  command  is	 not implemented. Use the slower "sendmail -q"
	      command instead.

       -t     Extract recipients from message headers. These are added to  any
	      recipients specified on the command line.

	      With Postfix versions prior to 2.1, this option requires that no
	      recipient addresses are specified on the command line.

       -U (ignored)
	      Initial user submission.

       -V envid
	      Specify the envelope ID for notification by servers that support

	      This feature is available in Postfix 2.3 and later.

       -XV (Postfix 2.2 and earlier: -V)
	      Variable	Envelope Return Path. Given an envelope sender address
	      of the form owner-listname@origin,  each	recipient  user@domain
	      receives mail with a personalized envelope sender address.

	      By  default,  the personalized envelope sender address is owner-
	      listname+user=domain@origin. The default + and = characters  are
	      configurable   with  the	default_verp_delimiters	 configuration

       -XVxy (Postfix 2.2 and earlier: -Vxy)
	      As -XV, but uses x and  y	 as  the  VERP	delimiter  characters,
	      instead of the characters specified with the default_verp_delim-
	      iters configuration parameter.

       -v     Send an email report of the first delivery attempt (Postfix ver-
	      sions  2.1 and later). Mail delivery always happens in the back-
	      ground. When multiple -v options are given, enable verbose  log-
	      ging for debugging purposes.

       -X log_file (ignored)
	      Log mailer traffic. Use the debug_peer_list and debug_peer_level
	      configuration parameters instead.

       By design, this program is not set-user (or group) id. However, it must
       handle  data  from  untrusted, possibly remote, users.  Thus, the usual
       precautions need to be taken against malicious inputs.

       Problems are logged to syslogd(8) and to the standard error stream.

	      Directory with Postfix configuration files.

       MAIL_VERBOSE (value does not matter)
	      Enable verbose logging for debugging purposes.

       MAIL_DEBUG (value does not matter)
	      Enable debugging with an external command, as specified with the
	      debugger_command configuration parameter.

       NAME   The  sender full name. This is used only with messages that have
	      no From: message header. See also the -F option above.

       The following main.cf parameters are especially relevant to  this  pro-
       gram.   The  text  below	 provides  only a parameter summary. See post-
       conf(5) for more details including examples.

       The DEBUG_README file gives examples of how to trouble shoot a  Postfix

       debugger_command (empty)
	      The external command to execute when a Postfix daemon program is
	      invoked with the -D option.

       debug_peer_level (2)
	      The increment in verbose logging level when a remote  client  or
	      server matches a pattern in the debug_peer_list parameter.

       debug_peer_list (empty)
	      Optional	list  of  remote  client or server hostname or network
	      address  patterns	 that  cause  the  verbose  logging  level  to
	      increase by the amount specified in $debug_peer_level.

       Available in Postfix version 2.2 and later:

       authorized_flush_users (static:anyone)
	      List of users who are authorized to flush the queue.

       authorized_mailq_users (static:anyone)
	      List of users who are authorized to view the queue.

       authorized_submit_users (static:anyone)
	      List  of	users who are authorized to submit mail with the send-
	      mail(1) command (and with the privileged postdrop(1) helper com-

       bounce_size_limit (50000)
	      The  maximal  amount  of original message text that is sent in a
	      non-delivery notification.

       fork_attempts (5)
	      The maximal number of attempts to fork() a child process.

       fork_delay (1s)
	      The delay between attempts to fork() a child process.

       hopcount_limit (50)
	      The maximal number of Received:  message headers that is allowed
	      in the primary message headers.

       queue_run_delay (300s)
	      The  time	 between  deferred  queue  scans by the queue manager;
	      prior to Postfix 2.4 the default value was 1000s.

       The ETRN_README file describes configuration and operation details  for
       the Postfix "fast flush" service.

       fast_flush_domains ($relay_domains)
	      Optional list of destinations that are eligible for per-destina-
	      tion logfiles with mail that is queued to those destinations.

       The VERP_README file describes configuration and operation  details  of
       Postfix support for variable envelope return path addresses.

       default_verp_delimiters (+=)
	      The two default VERP delimiter characters.

       verp_delimiter_filter (-=+)
	      The  characters  Postfix accepts as VERP delimiter characters on
	      the Postfix sendmail(1) command line and in SMTP commands.

       alias_database (see 'postconf -d' output)
	      The alias databases for local(8) delivery that are updated  with
	      "newaliases" or with "sendmail -bi".

       command_directory (see 'postconf -d' output)
	      The location of all postfix administrative commands.

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

       daemon_directory (see 'postconf -d' output)
	      The directory with Postfix support programs and daemon programs.

       default_database_type (see 'postconf -d' output)
	      The default database type for use in newaliases(1), postalias(1)
	      and postmap(1) commands.

       delay_warning_time (0h)
	      The  time after which the sender receives the message headers of
	      mail that is still queued.

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

       mail_owner (postfix)
	      The UNIX system account that owns the  Postfix  queue  and  most
	      Postfix daemon processes.

       queue_directory (see 'postconf -d' output)
	      The location of the Postfix top-level queue directory.

       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.

       syslog_facility (mail)
	      The syslog facility of Postfix logging.

       syslog_name (see 'postconf -d' output)
	      The  mail	 system	 name that is prepended to the process name in
	      syslog records, so that "smtpd"  becomes,	 for  example,	"post-

       /var/spool/postfix, mail queue
       /etc/postfix, configuration files

       pickup(8), mail pickup daemon
       qmgr(8), queue manager
       smtpd(8), SMTP server
       flush(8), fast flush service
       postsuper(1), queue maintenance
       postalias(1), create/update/query alias database
       postdrop(1), mail posting utility
       postfix(1), mail system control
       postqueue(1), mail queue control
       syslogd(8), system logging

       Use  "postconf readme_directory" or "postconf html_directory" to locate
       this information.
       DEBUG_README, Postfix debugging howto
       ETRN_README, Postfix ETRN howto
       VERP_README, Postfix VERP howto

       The Secure Mailer license must be distributed with this software.

       Wietse Venema
       IBM T.J. Watson Research
       P.O. Box 704
       Yorktown Heights, NY 10598, USA