Provided by: postfix_3.8.6-1build2_amd64 bug

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

              #      The message is forced to expire. See the postsuper(1) options -e or -f.

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

       -bl    Go  into  daemon  mode.  To  accept  only local connections as with Sendmail's -bl option, specify
              "inet_interfaces = loopback" in the Postfix main.cf configuration file.

       -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  Postfix  version  3.2  and  later, a non-default directory must be authorized in the default
              main.cf file, through the alternate_config_directories or multi_instance_directories parameters.

              With all Postfix versions, you can specify a directory pathname with the  MAIL_CONFIG  environment
              variable 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_rewrite_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')
              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 all).

              This feature is available in Postfix 2.3 and later.

       -n (ignored)
              Backwards compatibility.

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

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

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

              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
              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
              debugging 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.  It is prepared to  handle  message  content  from
       untrusted, possibly remote, users.

       However,  like most Postfix programs, this program does not enforce a security policy on its command-line
       arguments.  Instead, it relies on the UNIX system to enforce access policies based on the effective  user
       and  group IDs of the process. Concretely, this means that running Postfix commands as root (from sudo or
       equivalent) on behalf of a non-root user is likely to create privilege escalation opportunities.

       If an application runs any Postfix programs on behalf of users that do not have normal  shell  access  to
       Postfix  commands,  then  that  application  MUST restrict user-specified command-line arguments to avoid
       privilege escalation.

       •      Filter all command-line arguments, for example arguments that contain a pathname or that specify a
              database access method. These pathname checks must reject user-controlled symlinks or hardlinks to
              sensitive files, and must not be vulnerable to TOCTOU race attacks.

       •      Disable command options processing for all command arguments that contain user-specified data. For
              example, the Postfix sendmail(1) command line MUST be structured as follows:

                  /path/to/sendmail system-arguments -- user-arguments

              Here, the "--" disables command option processing for all user-arguments that follow.

              Without the "--", a malicious user could enable Postfix sendmail(1) command options, by specifying
              an email address that starts with "-".

DIAGNOSTICS

       Problems are logged to syslogd(8) or postlogd(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
              parameter.

       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 troubleshoot a Postfix system.

       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 nexthop destination, remote client or server name or
              network address matches a pattern given with the debug_peer_list parameter.

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

ACCESS CONTROLS

       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 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)
              The default location of the Postfix main.cf and master.cf configuration 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 a copy of the message  headers  of  mail  that  is  still
              queued.

       import_environment (see 'postconf -d' output)
              The list of environment variables that a privileged Postfix process will import from a non-Postfix
              parent process, or name=value environment overrides.

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

       Postfix 3.2 and later:

       alternate_config_directories (empty)
              A  list  of  non-default  Postfix  configuration  directories  that  may  be  specified  with  "-c
              config_directory" on the command line (in the case of sendmail(1), with the "-C" option),  or  via
              the MAIL_CONFIG environment parameter.

       multi_instance_directories (empty)
              An  optional  list  of  non-default Postfix configuration directories; these directories belong to
              additional Postfix instances that share the Postfix executable files and  documentation  with  the
              default  Postfix  instance, and that are started, stopped, etc., together with the default Postfix
              instance.

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
       postlogd(8), Postfix logging
       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

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

                                                                                                     SENDMAIL(1)