Back to main site | Back to man page index

SENDMAIL(1)                                    General Commands Manual                                    SENDMAIL(1)



NAME
       sendmail - Postfix to Sendmail compatibility interface

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

       mailq
       sendmail -bp

       newaliases
       sendmail -I

DESCRIPTION
       The  Postfix  sendmail(1) command implements the Postfix to Sendmail compatibility 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  cre‐
       ate a queue file in the maildrop directory.

       Specific command aliases are provided for other common modes of operation:

       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 delivery attempt will be made until the mail
                     is taken off hold.

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

       newaliases
              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 parameter.  If no alias
              database type is specified, the program uses the type specified with the default_database_type configu‐
              ration 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.

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

       -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 vari‐
              able to override the location 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: message 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 address.

       -G     Gateway (relay) submission, as opposed to initial user submission.  Either do not rewrite addresses  at
              all,  or  update  incomplete  addresses  with  the  domain information specified with remote_header_re‐
              write_domain.

              This option is ignored before Postfix version 2.3.

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

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

       -m (ignored)
              Backwards compatibility.

       -N dsn (default: 'delay, failure')

       -O option=value (ignored)
              Set the named option to value. Use the equivalent configuration parameter in main.cf instead.

       -o7 (ignored)

       -o8 (ignored)
              To send 8-bit or binary content, use an appropriate MIME encapsulation 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 parameter 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 address.

       -R return
              Delivery status notification control.  Specify "hdrs" to return only the header when a message bounces,
              "full" to return a full copy (the default behavior).

              The -R option specifies an upper bound; Postfix will return only the header, when  a  full  copy  would
              exceed the bounce_size_limit setting.

              This option is ignored before Postfix version 2.10.

       -q     Attempt to deliver all queued mail. This is implemented by executing 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 configuration parameter instead.

       -qIqueueid
              Schedule immediate delivery of mail with the specified queue ID.  This option is implemented by execut‐
              ing the postqueue(1) command, and is available with Postfix version 2.4 and later.

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

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

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

       -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_delimiters configuration parameter.

       -v     Send an email report of the first delivery attempt (Postfix versions  2.1  and  later).  Mail  delivery
              always happens in the background. When multiple -v options are given, enable verbose logging for debug‐
              ging purposes.

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

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

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

ENVIRONMENT
       MAIL_CONFIG
              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 parame‐
              ter.

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

CONFIGURATION PARAMETERS
       The  following  main.cf  parameters  are  especially relevant to this program.  The text below provides only a
       parameter summary. See postconf(5) for more details including examples.

COMPATIBILITY CONTROLS
       Available with Postfix 2.9 and later:

       sendmail_fix_line_endings (always)
              Controls how the Postfix sendmail command converts email message line endings from <CR><LF>  into  UNIX
              format (<LF>).

TROUBLE SHOOTING CONTROLS
       The DEBUG_README file gives examples of how to trouble shoot a Postfix system.

       debugger_command (empty)

       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 sendmail(1) command (and with the privileged
              postdrop(1) helper command).

RESOURCE AND RATE CONTROLS
       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.

FAST FLUSH CONTROLS
       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-destination logfiles with mail that is queued
              to those destinations.

VERP CONTROLS
       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.

MISCELLANEOUS CONTROLS
       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)

              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,  re‐
              write 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, "postfix/smtpd".

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

SEE ALSO
       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

README_FILES
       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

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