sendmail(1M)




NAME

     sendmail - send mail over the internet


SYNOPSIS

     /usr/lib/sendmail [-Ac] [-Am] [-ba] [-bD] [-bd] [-bi]  [-bm]
     [-bp]  [-bP] [-bs] [-bt] [-bv] [-B type] [-C file] [-d X] [-
     F fullname] [-f name] [-G] [-h N] [-L tag] [ -M  xvalue]  [-
     Nnotifications]  [-n]  [  -Ooption  =value]  [ -o xvalue] [-
     p protocol] [ -q [time]] [-q Xstring] [-R ret] [-r name]  [-
     t] [-V envid] [-v] [-X logfile] [ address...]


DESCRIPTION

     The sendmail utility sends a message to one or more  people,
     routing  the  message  over whatever networks are necessary.
     sendmail  does  internetwork  forwarding  as  necessary   to
     deliver the message to the correct place.

     sendmail is not intended as a user interface routine.  Other
     programs  provide user-friendly front ends. sendmail is used
     only to deliver pre-formatted messages.

     With no flags, sendmail reads its standard input  up  to  an
     EOF,  or  a  line with a single dot, and sends a copy of the
     letter found there to all of the addresses listed. It deter-
     mines the network to use based on the syntax and contents of
     the addresses.

     Local addresses are looked up in the local aliases(4)  file,
     or  in  a  name  service  as defined by the nsswitch.conf(4)
     file, and aliased appropriately. In addition, if there is  a
     .forward file in a recipient's home directory, sendmail for-
     wards a copy of each message to the list of recipients  that
     file  contains. Refer to the NOTES section for more informa-
     tion about .forward files.  Aliasing  can  be  prevented  by
     preceding the address with a backslash.

     There  are  several  conditions  under  which  the  expected
     behavior  is  for  the  alias database to be either built or
     rebuilt. This cannot occur under  any  circumstances  unless
     root   owns  and  has  exclusive  write  permission  to  the
     /etc/mail/aliases* files.

     If a message is found to be undeliverable, it is returned to
     the  sender  with diagnostics that indicate the location and
     nature of the failure;  or,  the  message  is  placed  in  a
     dead.letter file in the sender's home directory.

  Startup Options
     The /etc/default/sendmail file stores  startup  options  for
     sendmail  so that the options are not removed when a host is
     upgraded.

     You   can   use   the    following    variables    in    the
     /etc/default/sendmail startup file:  "" .nr )I string""n

     CLIENTOPTIONS=
          Selects additional options to be used with  the  client
          daemon,   which   looks   in   the   client-only  queue
          (/var/spool/clientmqueue) and acts as  a  client  queue
          runner.  No syntax checking is done, so be careful when
          making changes to this variable.

     CLIENTQUEUEINTERVAL=#
           Similar to the QUEUEINTERVAL option, CLIENTQUEUEINTER-
           VAL  sets  the time interval for mail queue runs. How-
           ever,  the  CLIENTQUEUEINTERVAL  option  controls  the
           functions  of  the client daemon, instead of the func-
           tions of the master daemon. Typically, the master dae-
           mon  is able to deliver all messages to the SMTP port.
           However, if the message load is too high or the master
           daemon  is  not  running,  then  messages  go into the
           client-only queue, /var/spool/clientmqueue. The client
           daemon,  which  checks  in the client-only queue, then
           acts as a client queue processor.  "" .nr )I string""n

     ETRN_HOSTS=
           Enables an SMTP client and server to interact  immedi-
           ately  without  waiting  for  the queue run intervals,
           which are periodic. The server can immediately deliver
           the  portion  of  its queue that goes to the specified
           hosts. For more information, refer to the etrn(1M) man
           page.

     MODE=-bd
           Selects the mode to start sendmail with. Use  the  -bd
           option or leave it undefined.

     OPTIONS=string
           Selects additional options to be used with the  master
           daemon. No syntax checking is done, so be careful when
           making changes to this variable.

     QUEUEINTERVAL=#
           Sets the interval for mail queue runs  on  the  master
           daemon.  #  can be a positive integer that is followed
           by either s for seconds, m for minutes, h for hours, d
           for days, or w for weeks. The syntax is checked before
           sendmail is started. If the interval is negative or if
           the entry does not end with an appropriate letter, the
           interval is ignored and sendmail starts with  a  queue
           interval of 15 minutes.

     QUEUEOPTIONS=p
           Enables  one  persistent  queue  runner  that   sleeps
           between  queue  run  intervals, instead of a new queue
           runner for each queue run interval. You can  set  this
           option to p, which is the only setting available. Oth-
           erwise, this option is not set.


OPTIONS

     The following options are supported:

     -Ac   Uses submit.cf even if the  operation  mode  does  not
           indicate an initial mail submission.

     -Am   Uses sendmail.cf even if the operation mode  indicates
           an initial mail submission.

     -ba   Goes into ARPANET mode. All input lines must end  with
           a  <RETURN-LINEFEED>,  and  all messages are generated
           with a <RETURN-LINEFEED> at the end. Also,  the  From:
           and  Sender:  fields  are examined for the name of the
           sender.

     -bd   Runs as a daemon in the background, waiting for incom-
           ing SMTP connections.

     -bD   Runs as a daemon in the foreground, waiting for incom-
           ing SMTP connections.

     -bi   Initializes the aliases(4) database. Root must own and
           have     exclusive    write    permission    to    the
           /etc/mail/aliases* files for successful  use  of  this
           option.

     -bm   Delivers mail in the usual way (default).

     -bp   Prints a summary of the mail queues.

     -bP   Prints the number  of  entries  in  the  queues.  This
           option is only available with shared memory support.

     -bs   Uses the SMTP protocol as described in RFC  821.  This
           flag  implies  all the operations of the -ba flag that
           are compatible with SMTP.

     -bt   Runs in address test mode. This mode  reads  addresses
           and  shows the steps in parsing; it is used for debug-
           ging configuration tables.

     -bv   Verifies names  only.  Does  not  try  to  collect  or
           deliver  a  message.  Verify mode is normally used for
           validating users or mailing lists.

     -B type
           Indicates body type (7BIT or 8BITMIME).

     -C file
           Uses alternate configuration file.

     -d X  Sets debugging value to X.

     -f name
           Sets the name of  the  "from"  person  (that  is,  the
           sender of the mail).

     -F fullname
           Sets the full name of the sender.

     -G    When accepting messages by way of  the  command  line,
           indicates  that  they  are for relay (gateway) submis-
           sion. When this flag is set, sendmail  might  complain
           about  syntactically  invalid  messages,  for example,
           unqualified host names, rather than fixing them. send-
           mail does not do any canonicalization in this mode.

     -h N  Sets the hop count to N. The hop count is  incremented
           every  time  the  mail is processed. When it reaches a
           limit, the mail is returned with an error message, the
           victim of an aliasing loop.

     -L tag
           Sets the identifier used in  syslog  messages  to  the
           supplied tag.

     -Mxvalue
           Sets macro x to the specified value.

     -n    Does not do aliasing.

     -N notifications
           Tags all addresses being sent as wanting the indicated
           notifications, which consists of the word "NEVER" or a
           comma-separated  list  of  "SUCCESS",  "FAILURE",  and
           "DELAY" for successful delivery, failure and a message
           that is stuck in a  queue  somwhere.  The  default  is
           "FAILURE,DELAY".

     -oxvalue
           Sets option  x  to  the  specified  value.  Processing
           Options are described below.

     -Ooption=value
           Sets option to the  specified  value  (for  long  from
           names). Processing Options are described below.

     -p protocol
           Sets the sending protocol. The protocol field  can  be
           in form protocol:host to set both the sending protocol
           and the sending host. For example:  -pUUCP:uunet  sets
           the  sending  protocol to UUCP and the sending host to
           uunet. Some existing programs use -oM to set the r and
           s macros; this is equivalent to using -p.

     -q[time]
           Processes saved messages in the queue at given  inter-
           vals.  If  time  is omitted, processes the queue once.
           time is given as a tagged number, where s is  seconds,
           m  is  minutes, h is hours, d is days, and w is weeks.
           For example, -q1h30m  or  -q90m  would  both  set  the
           timeout to one hour thirty minutes.

           By default, sendmail  runs  in  the  background.  This
           option can be used safely with -bd.

     -qp[time]
           Similar to -q[time], except that instead  of  periodi-
           cally  forking  a child to process the queue, sendmail
           forks a single persistent child for  each  queue  that
           alternates  between processing the queue and sleeping.
           The sleep time (time) is specified as the argument; it
           defaults  to  1  second.  The process always sleeps at
           least 5 seconds if the queue was empty in the previous
           queue run.

     -qf   Processes saved messages in the queue  once  and  does
           not fork(2), but runs in the foreground.

     -qG name
            Processes jobs in queue group called name only.

     -q[!]I substr
           Limits processed jobs to those containing substr as  a
           substring of the queue ID or not when ! is specified.

     -q[!]R substr
           Limits processed jobs to those containing substr as  a
           substring  of  one  of the recipients or not when ! is
           specified.

     -q[!]S substr
           Limits processed jobs to those containing substr as  a
           substring of the sender or not when ! is specified.

     -r name
           An alternate and obsolete form of the -f flag.

     -R ret
           Identifies the information you want  returned  if  the
           message  bounces.  ret can be HDRS for headers only or
           FULL for headers plus body.

     -t    Reads message for recipients. To:, Cc:, and Bcc: lines
           are  scanned  for  people to send to. The Bcc: line is
           deleted before  transmission.  Any  addresses  in  the
           argument  list  is  suppressed.  The NoRecipientAction
           Processing Option can be used to change  the  behavior
           when no legal recipients are included in the message.

     -v    Goes  into  verbose   mode.   Alias   expansions   are
           announced, and so forth.

     -V envid
           The indicated envid is passed with the envelope of the
           message and returned if the message bounces.

     -X logfile
           Logs all traffic in and out of sendmail in  the  indi-
           cated logfile for debugging mailer problems. This pro-
           duces a lot of data very quickly and  should  be  used
           sparingly.

  Processing Options
     There are a number of "random" options that can be set  from
     a  configuration  file.  Options are represented by a single
     character or by multiple character names. The syntax for the
     single character names of is:

     Oxvalue

     This sets option x to be value.  Depending  on  the  option,
     value  may  be  a  string, an integer, a boolean (with legal
     values t, T, f, or F; the default is TRUE), or a time inter-
     val.

     The multiple character or long names use this syntax:

     O Longname=argument

     This sets the option Longname to be argument. The long names
     are beneficial because they are easier to interpret than the
     single character names.

     Not all processing options have single character names asso-
     ciated  with them. In the list below, the multiple character
     name is presented first followed  by  the  single  character
     syntax enclosed in parentheses.

     AliasFile (Afile)
           Specifies possible alias files.

     AliasWait (a N)
           If set, waits up to N minutes for an  "@:@"  entry  to
           exist  in  the aliases(4) database before starting up.
           If it does not appear in N minutes, issues a  warning.
           Defaults to 10 minutes.

     AllowBogusHELO
           Allows a HELO SMTP command that  does  not  include  a
           host name. By default this option is disabled.

     BadRcptThrottle=N
           If set and more than the  specified  number  of  reci-
           pients  in a single SMTP envelope are rejected, sleeps
           for one second after each rejected RCPT command.

     BlankSub (Bc)
           Sets the blank substitution character to  c.  Unquoted
           spaces  in  addresses  are replaced by this character.
           Defaults to SPACE (that is, no change is made).

     CheckAliases (n)
           Validates the  RHS  of  aliases  when  rebuilding  the
           aliases(4) database.

     CheckpointInterval (CN)
           Checkpoints the queue every N (default  10)  addresses
           sent.  If  your  system  crashes  during delivery to a
           large list, this prevents retransmission  to  any  but
           the last N recipients.

     ClassFactor (zfact)
           The indicated factor fact is multiplied by the message
           class (determined by the Precedence: field in the user
           header and the P lines in the configuration file)  and
           subtracted  from  the  priority. Thus, messages with a
           higher Priority: are favored. Defaults to 1800.

     ClientPortOptions
           Sets client SMTP options. The  options  are  key=value
           pairs. Known keys are:

           Addr Address Mask
                 Address Mask defaults to INADDR_ANY. The address
                 mask can be a numeric address in dot notation or
                 a network name.

           Family
                 Address family (defaults to INET).

           Listen
                 Size of listen queue (defaults to 10).

           Port  Name/number  of  listening  port  (defaults   to
                 smtp).

           RcvBufSize
                 The size of the TCP/IP receive buffer.

           SndBufSize
                 The size of the TCP/IP send buffer.

           Modifier
                 Options (flags) for the daemon. Can be:

                 h     Uses name of interface for HELO command.

                 If h is set, the name corresponding to the  out-
                 going interface address (whether chosen by means
                 of the Connection parameter or the  default)  is
                 used for the HELO/EHLO command.

     ColonOkInAddr
           If set, colons are treated as a regular  character  in
           addresses.  If not set, they are treated as the intro-
           ducer to the RFC 822 "group" syntax. This option is on
           for version 5 and lower configuration files.

     ConnectionCacheSize (kN)
           The maximum number of open connections that are to  be
           cached  at a time. The default is 1. This delays clos-
           ing the current connection until either  this  invoca-
           tion  of  sendmail needs to connect to another host or
           it terminates. Setting it to 0  defaults  to  the  old
           behavior, that is, connections are closed immediately.

     ConnectionCacheTimeout (Ktimeout)
           The maximum amount of time a cached connection is per-
           mitted  to  idle  without  activity.  If  this time is
           exceeded, the connection is immediately  closed.  This
           value  should  be small (on the order of ten minutes).
           Before sendmail uses a cached  connection,  it  always
           sends  a NOOP (no operation) command to check the con-
           nection. If the NOOP command  fails,  it  reopens  the
           connection.  This  keeps  your end from failing if the
           other end times out. The point of this option is to be
           a  good  network neighbor and avoid using up excessive
           resources on  the  other  end.  The  default  is  five
           minutes.

     ConnectionRateThrottle
           The  maximum  number  of  connections  permitted   per
           second.  After  this  many  connections  are accepted,
           further connections are delayed. If not set or  <=  0,
           there is no limit.

     ControlSocketName
           Name of the control socket for  daemon  management.  A
           running sendmail daemon can be controlled through this
           Unix domain socket. Available commands are: help, res-
           tart, shutdown, and status. The status command returns
           the current number of daemon children, the  free  disk
           space (in blocks) of the queue directory, and the load
           average of the machine expressed as an integer. If not
           set,  no  control socket is available. For the sake of
           security, this Unix domain socket must be in a  direc-
           tory    which    is    accessible    only   by   root;
           /var/spool/mqueue/.smcontrol is  recommended  for  the
           socket name.

     DaemonPortOptions (Ooptions)
           Sets server SMTP options. The  options  are  key=value
           pairs. Known keys are:

           Name  User-definable name for the daemon (defaults  to
                 "Daemon#"). Used for error messages and logging.

           Addr  Address mask (defaults INADDR_ANY).

                 The address mask may be a numeric address in dot
                 notation or a network name.

           Family
                 Address family (defaults to INET).

           Listen
                 Size of listen queue (defaults to 10).

           Modifier
                 Options  (flags)  for  the  daemon;  can  be   a
                 sequence (without any delimiters) of:

                 a     Requires authentication.

                 b     Binds to interface through which mail  has
                       been received.

                 c     Performs hostname canonification (.cf).

                 f     Requires fully qualified hostname (.cf).

                 h     Uses name of interface for HELO command.

                 u     Allows unqualified addresses (.cf).

                 C     Does not perform hostname canonification.

                 E     Disallows ETRN (see RFC 2476).

           Name  User-definable name for the daemon (defaults  to
                 Daemon#). Used for error messages and logging.

           Port  Name/number  of  listening  port  (defaults   to
                 smtp).

           ReceiveSize
                 The size of the TCP/IP receive buffer.

           SendSize
                 The size of the TCP/IP send buffer.

           sendmail listens on a new socket for  each  occurrence
           of  the  DaemonPortOptions  option  in a configuration
           file.

     DataFileBufferSize
           Sets the threshold, in bytes,  before  a  memory-bases
           queue  data  file  becomes  disk-based. The default is
           4096 bytes.

     DeadLetterDrop
           Defines the location of  the  system-wide  dead.letter
           file,  formerly hard-coded to /var/tmp/dead.letter. If
           this option is not set (the  default),  sendmail  does
           not  attempt to save to a system-wide dead.letter file
           in the event it cannot bounce the mail to the user  or
           postmaster.  Instead, it renames the qf file as it has
           in the past when the dead.letter  file  could  not  be
           opened.

     DefaultCharSet
           Sets the default character set to use when  converting
           unlabeled 8 bit input to MIME.

     DefaultUser (ggid) or (uuid)
           Sets the default group ID for mailers to run in to gid
           or set the default userid for mailers to uid. Defaults
           to 1. The value can also be given as a symbolic  group
           or user name.

     DelayLA=LA
           When the system  load  average  exceeds  LA,  sendmail
           sleeps for one second on most SMTP commands and before
           accepting connections.

     DeliverByMin=time
           Sets minimum time for Deliver By SMTP  Service  Exten-
           sion (RFC 2852). If 0, no time is listed, if less than
           0, the extension is not offered, if greater than 0, it
           is  listed  as  minimum  time  for  the  EHLO  keyword
           DELIVERBY.

     DeliveryMode (dx)
           Delivers in mode x. Legal modes are:

           i     Delivers interactively (synchronously).

           b     Delivers in background (asynchronously).

           d     Deferred mode.  Database  lookups  are  deferred
                 until the actual queue run.

           q     Just queues the message (delivers  during  queue
                 run).

           Defaults to b if no option is specified, i  if  it  is
           specified  but  given  no  argument  (that  is,  Od is
           equivalent to Odi).

     DialDelay
           If a connection fails, waits  this  many  seconds  and
           tries again. Zero means "do not retry".

     DontBlameSendmail
           If  set,  overrides  the  file  safety  checks.   This
           compromises  system  security  and should not be used.
           See
           http://www.sendmail.org/tips/DontBlameSendmail.html
           for more information.

     DontExpandCnames
           If set, $[ ... $] lookups that do DNS-based lookups do
           not expand CNAME records.

     DontInitGroups
           If set, the initgroups(3C) routine is  never  invoked.
           If  you  set  this, agents run on behalf of users only
           have their primary (/etc/passwd) group permissions.

     DontProbeInterfaces
           If  set,  sendmail  does  not  insert  the  names  and
           addresses  of any local interfaces into the $=w class.
           If set,  you  must  also  include  support  for  these
           addresses,  otherwise  mail  to addresses in this list
           bounces with a configuration error.

     DontPruneRoutes (R)
           If set, does not prune route-addr syntax addresses  to
           the minimum possible.

     DoubleBounceAddress
           If an error occurs  when  sending  an  error  message,
           sends  that  "double  bounce"  error  message  to this
           address.

     EightBitMode (8)
           Uses 8-bit data handling. This option requires one  of
           the following keys. The key can selected by using just
           the first character, but using the full word is better
           for clarity.

           mimify
                 Does any necessary conversion of 8BITMIME to  7-
                 bit.

           pass  Passes unlabeled 8-bit input through as is.

           strict
                 Rejects unlabeled 8-bit input.

     ErrorHeader (Efile/message)
           Appends error messages with the indicated message.  If
           it  begins with a slash, it is assumed to be the path-
           name of a file  containing  a  message  (this  is  the
           recommended  setting). Otherwise, it is a literal mes-
           sage. The error file might  contain  the  name,  email
           address, and/or phone number of a local postmaster who
           could provide assistance to end users. If  the  option
           is  missing  or NULL, or if it names a file which does
           not exist or which is  not  readable,  no  message  is
           printed.

     ErrorMode (ex)
           Disposes of errors using mode x. The values for x are:

           e     Mails  back  errors  and  gives  0  exit  status
                 always.

           m     Mails back errors.

           p     Prints error messages (default).

           q     No messages, just gives exit status.

           w     Writes back errors (mail if user not logged in).

     FallbackMXhost (Vfallbackhost)
           If specified, the fallbackhost acts like  a  very  low
           priority MX on every host. This is intended to be used
           by sites with poor network connectivity.

     FastSplit
           If set to a value greater than zero  (the  default  is
           one),  it  suppresses the MX lookups on addresses when
           they are initially sorted,  that  is,  for  the  first
           delivery  attempt.  This  usually  results  in  faster
           envelope splitting unless the MX records  are  readily
           available  in  a  local  DNS cache. To enforce initial
           sorting based on MX records set FastSplit to zero.  If
           the  mail is submitted directly from the command line,
           then the value also limits the number of processes  to
           deliver  the  envelopes; if more envelopes are created
           they are only queued up and must be taken care of by a
           queue  run.  Since the default submission method is by
           way of SMTP (either from a MUA or by way of the  MSP),
           the  value  of  FastSplit  is seldom used to limit the
           number of processes to deliver the envelopes.

     ForkEachJob (Y)
           If set, delivers each job that is run from  the  queue
           in  a  separate  process.  Use  this option if you are
           short of memory, since the default  tends  to  consume
           considerable  amounts  of  memory  while  the queue is
           being processed.

     ForwardPath (Jpath)
           Sets the path for searching for users' .forward files.
           The  default  is  $z/.forward. Some sites that use the
           automounter   may   prefer   to   change    this    to
           /var/forward/$u to search a file with the same name as
           the user in a system directory. It can also be set  to
           a  sequence  of  paths  separated  by colons; sendmail
           stops at the first file it can successfully and safely
           open.    For    example,   /var/forward/$u:$z/.forward
           searches first in /var/forward/ username and  then  in
           ~username/.forward  (but  only  if the first file does
           not exist). Refer to the NOTES section for more infor-
           mation.

     HelpFile (Hfile)
           Specifies the help file for SMTP.

     HoldExpensive (c)
           If an outgoing mailer is marked  as  being  expensive,
           does not connect immediately.

     HostsFile
           Sets the file to use when doing "file" type access  of
           host names.

     HostStatusDirectory
           If set, host status is kept on disk  between  sendmail
           runs  in  the  named directory tree. If a full path is
           not used, then the path is interpreted relative to the
           queue directory.

     IgnoreDots (i)
           Ignores dots in incoming messages. This is always dis-
           abled (that is, dots are always accepted) when reading
           SMTP mail.

     LogLevel (Ln)
           Sets the default log level to n. Defaults to 9.

     (Mxvalue)
           Sets the macro x to value. This is intended  only  for
           use from the command line.

     MailboxDatabase
           Type of lookup to find information  about  local  mail
           boxes,  defaults  to pw which uses getpwnam(3C). Other
           types can be introduced by adding them to  the  source
           code, see libsm/mbdb.c for details.

     MatchGECOS (G)
           Tries to match recipient names using the GECOS  field.
           This  allows  for  mail  to  be  delivered using names
           defined in the GECOS field in /etc/passwd as  well  as
           the login name.

     MaxDaemonChildren
           The maximum number of  children  the  daemon  permits.
           After  this  number,  connections are rejected. If not
           set or <=0, there is no limit.

     MaxHopCount (hN)
           The maximum hop count. Messages that  have  been  pro-
           cessed  more  than N times are assumed to be in a loop
           and are rejected. Defaults to 25.

     MaxMessageSize
           The maximum size of messages  that  are  accepted  (in
           bytes).

     MaxMimeHeaderLength=M[/N]
           Sets the maximum length of certain MIME  header  field
           values  to  M  characters.  For  some of these headers
           which take parameters,  the  maximum  length  of  each
           parameter  is  set  to  N  if  specified. If /N is not
           specified, one half of M is used.  By  default,  these
           values are 0, meaning no checks are done.

     MaxQueueChildren=N
           When set, this limits the number of  concurrent  queue
           runner  processes  to  N.  This  helps  to control the
           amount of system resources used  when  processing  the
           queue.  When  there  are multiple queue groups defined
           and the total number of queue runners for these  queue
           groups  would  exceed  MaxQueueChildren then the queue
           groups are not all run  concurrently.  That  is,  some
           portion of the queue groups run concurrently such that
           MaxQueueChildren is not be exceeded, while the remain-
           ing queue groups are run later (in round robin order).
           See MaxRunnersPerQueue.

     MaxQueueRunSize
           If set, limits the maximum size of any given queue run
           to  this  number  of  entries.  This stops reading the
           queue  directory  after  this  number  of  entries  is
           reached;  job  priority is not used. If not set, there
           is no limit.

     MaxRunnersPerQueue=N
           This sets the default maximum number of queue  runners
           for queue groups. Up to N queue runners work in paral-
           lel on a queue group's messages. This is useful  where
           the  processing  of a message in the queue might delay
           the processing of subsequent messages.  Such  a  delay
           can  be the result of non-erroneous situations such as
           a low bandwidth connection. The can be overridden on a
           per  queue  group basis by setting the Runners option.
           The default is 1 when not set.

     MeToo (M)
           Sends to me too, even if I am in an alias expansion.

     MaxRecipientsPerMessage
           If set, allows no more than the  specified  number  of
           recipients  in  an  SMTP  envelope. Further recipients
           receive a 452 error code and are deferred for the next
           delivery attempt.

     MinFreeBlocks (bN/M)
           Insists on at least N blocks free on the  file  system
           that  holds  the queue files before accepting email by
           way of SMTP. If there is insufficient space,  sendmail
           gives a 452 response to the MAIL command. This invites
           the sender to try again later. The  optional  M  is  a
           maximum  message  size  advertised  in  the ESMTP EHLO
           response. It is currently otherwise unused.

     MinQueueAge
           Specifies the amount of time a job  must  sit  in  the
           queue  between  queue runs. This allows you to set the
           queue  run  interval  low  for  better  responsiveness
           without trying all jobs in each run. The default value
           is 0.

     MustQuoteChars
           Specifies the characters to be quoted in a  full  name
           phrase. &,;:\()[] are quoted automatically.

     NiceQueueRun
           Specifies the priority of queue runners. See nice(1).

     NoRecipientAction
           Sets action if there are no legal recipient  files  in
           the message. The legal values are:

           add-apparently-to
                 Adds an Apparently-to: header with all the known
                 recipients (which may expose blind recipients).

           add-bcc
                 Adds an empty Bcc: header.

           add-to
                 Adds a To: header with all the known  recipients
                 (which may expose blind recipients).

           add-to-undisclosed
                 Adds a To: undisclosed-recipients: header.

           none  Does nothing, that is, leaves the message as  it
                 is.

     OldStyleHeaders (o)
           Assumes that the headers may be in  old  format,  that
           is,  spaces  delimit  names. This actually turns on an
           adaptive algorithm: if any recipient address  contains
           a  comma, parenthesis, or angle bracket, it is assumed
           that commas already exist. If this  flag  is  not  on,
           only  commas  delimit names. Headers are always output
           with commas between the names.

     OperatorChars or $o
           Defines the list of characters that  can  be  used  to
           separate the components of an address into tokens.

     PidFile
           Specifies the filename of the pid file. The default is
           /var/run/sendmail.pid.  The filename is macro-expanded
           before it is opened.

     PostmasterCopy (Ppostmaster)
           If set, copies of error messages are sent to the named
           postmaster.  Only  the header of the failed message is
           sent. Since most errors are  user  problems,  this  is
           probably  not a good idea on large sites, and arguably
           contains all sorts of privacy violations, but it seems
           to be popular with certain operating systems vendors.

     PrivacyOptions (popt,opt,...)
           Sets privacy options. Privacy is  really  a  misnomer;
           many  of  these options are just a way of insisting on
           stricter adherence to the SMTP protocol.

           The goaway pseudo-flag sets  all  flags  except  nore-
           ceipts,  restrictmailq,  restrictqrun, restrictexpand,
           noetrn, and nobodyreturn. If mailq is restricted, only
           people  in  the  same group as the queue directory can
           print the queue. If queue runs  are  restricted,  only
           root  and the owner of the queue directory can run the
           queue. The restrict-expand pseudo-flag instructs send-
           mail  to  drop privileges when the -bv option is given
           by users who are neither root nor the  TrustedUser  so
           users   cannot  read  private  aliases,  forwards,  or
           :include: files. It adds the  NonRootSafeAddr  to  the
           "DontBlame-Sendmail"   option  to  prevent  misleading
           unsafe address warnings.  It  also  overrides  the  -v
           (verbose)  command  line option to prevent information
           leakage. Authentication Warnings  add  warnings  about
           various  conditions that may indicate attempts to fool
           the mail system, such as using an  non-standard  queue
           directory.

           The options can be selected from:

           authwarnings
                 Puts X-Authentication-Warning: headers  in  mes-
                 sages.

           goaway
                 Disallows essentially all SMTP status queries.

           needexpnhelo
                 Insists on HELO or EHLO command before EXPN.

           needmailhelo
                 Insists on HELO or EHLO command before MAIL.

           needvrfyhelo
                 Insists on HELO or EHLO command before VRFY.

           noetrn
                 Disallows ETRN entirely.

           noexpn
                 Disallows EXPN entirely.

           noreceipts
                 Prevents return receipts.

           nobodyreturn
                 Does not return the body of a message with DSNs.

           novrfy
                 Disallows VRFY entirely.

           public
                 Allows open access.

           restrictexpand
                 Restricts -bv and -v command line flags.

           restrictmailq
                 Restricts mailq command.

           restrictqrun
                 Restricts -q command line flag.

     ProcessTitlePrefix string
           Prefixes  the  process  title  shown  on  "/usr/ucb/ps
           auxww"  listings with string. The string is macro pro-
           cessed.

     QueueDirectory (Qdir)
           Uses the named dir as the queue directory.

     QueueFactor (qfactor)
           Uses factor as the multiplier in the map  function  to
           decide  when  to  just  queue  up jobs rather than run
           them. This value is divided by the difference  between
           the current load average and the load average limit (x
           flag) to determine the maximum message priority to  be
           sent. Defaults to 600000.

     QueueFileMode=mode
           Defaults permissions for queue files (octal).  If  not
           set,  sendmail uses 0600 unless its real and effective
           uid are different in which case it uses 0644.

     QueueLA (xLA)
           When the system load average exceeds LA,  just  queues
           messages  (that  is,  does  not  try  to  send  them).
           Defaults to  eight  times  the  number  of  processors
           online when sendmail starts.

     QueueSortOrder=algorithm
           Sets the algorithm used for sorting  the  queue.  Only
           the first character of the value is used. Legal values
           are host (to order by the name of the first host  name
           of  the  first  recipient),  filename (to order by the
           name of the queue file name), time (to  order  by  the
           submission/creation time), random (to order randomly),
           modification (to order by the modification time of the
           qf file (older entries first)), and priority (to order
           by message priority). Host ordering makes  better  use
           of  the  connection cache, but may tend to process low
           priority messages that go to a single host  over  high
           priority  messages  that go to several hosts; it prob-
           ably shouldn't be used on
            slow network links. Filename  and  modification  time
           ordering  saves  the  overhead  of  reading all of the
           queued items before starting the queue  run.  Creation
           (submission)  time  ordering  is  almost  always a bad
           idea, since it allows  large,  bulk  mail  to  go  out
           before  smaller,  personal mail, but may have applica-
           bility on some hosts with very fast connections.  Ran-
           dom  is useful if several queue runners are started by
           hand which try to drain the same queue since odds  are
           they  are  working  on different parts of the queue at
           the same time. Priority ordering is the default.

     QueueTimeout (Trtime/wtime)
           Sets the queue timeout to rtime. After this  interval,
           messages  that  have  not  been  successfully sent are
           returned to the sender. Defaults to  five  days  (5d).
           The  optional  wtime is the time after which a warning
           message is sent. If it is missing or 0, then no  warn-
           ing messages are sent.

     RecipientFactor (yfact)
           The indicated factor fact is  added  to  the  priority
           (thus lowering the priority of the job) for each reci-
           pient, that is, this value penalizes jobs  with  large
           numbers of recipients. Defaults to 30000.

     RefuseLA (XLA)
           When the  system  load  average  exceeds  LA,  refuses
           incoming  SMTP  connections.  Defaults to 12 times the
           number of processors online when sendmail starts.

     ResolverOptions (I)
           Tunes DNS lookups.

     RetryFactor (Zfact)
           The indicated factor fact is  added  to  the  priority
           every  time  a job is processed. Thus, each time a job
           is processed, its priority is decreased by  the  indi-
           cated value. In most environments this should be posi-
           tive, since hosts that are down are all too often down
           for a long time. Defaults to 90000.

     RrtImpliesDsn
           If this option is  set,  a  Return-Receipt-To:  header
           causes  the  request  of  a  DSN, which is sent to the
           envelope sender as required by RFC 1891,  not  to  the
           address given in the header.

     RunAsUser
           If set, becomes this user when reading and  delivering
           mail. Intended for use of firewalls where users do not
           have accounts.

     SafeFileEnvironment
           If set, sendmail does a  chroot  into  this  directory
           before writing files.

     SaveFromLine (f)
           Saves Unix-style From lines at the front  of  headers.
           Normally they are assumed redundant and discarded.

     SendMimeErrors (j)
           If set, sends error messages in MIME format  (see  RFC
           2045  and RFC 1344 for details). If disabled, sendmail
           does not return the DSN keyword in response to an EHLO
           and  does not do Delivery Status Notification process-
           ing as described in RFC 1891.

     ServiceSwitchFile
           Defines the path to the service-switch file. Since the
           service-switch  file is defined in the Solaris operat-
           ing environment this option is ignored.

     SevenBitInput (7)
           Strips input to seven bits for compatibility with  old
           systems. This should not be necessary.

     SharedMemoryKey
           Specifies key to use for shared memory segment. If not
           set  (or  0),  shared  memory  is not be used. If this
           option is set, sendmail can share  some  data  between
           different   instances.  For  example,  the  number  of
           entries in a queue directory or the available space in
           a  file system. This allows for more efficient program
           execution, since only one process needs to update  the
           data  instead of each individual process gathering the
           data each time it is required.

     SingleLineFromHeader
           If set, From: lines that have  embedded  newlines  are
           unwrapped onto one line.

     SingleThreadDelivery
           If this option and the HostStatusDirectory option  are
           both  set,  uses  single  thread  deliveries  to other
           hosts.

     SmtpGreetingMessage or $e
           Specifies the initial SMTP greeting message.

     StatusFile (Sfile)
           Logs statistics in the named file. By default, this is
           /etc/mail/sendmail.st. As root, you must touch(1) this
           file to enable mailstats(1).

     SuperSafe (s)
           This option can be set to True, False, or Interactive.
           If  set  to  True,  sendmail is set to super-safe when
           running things, that is, always instantiate the  queue
           file,  even  if  you  are  going  to attempt immediate
           delivery. sendmail always instantiates the queue  file
           before  returning control to the client under any cir-
           cumstances. This should really always be set to  True.
           The  Interactive value has been introduced in 8.12 and
           can be used together  with  DeliveryMode=i.  It  skips
           some  synchronization calls which are effectively dou-
           bled in the code execution path for this mode.

     TempFileMode (Fmode)
           Specifies the file mode for queue files.

     Timeout (rtimeouts)
           Timeout reads after time interval. The timeouts  argu-
           ment is a list of keyword=value pairs. All but command
           apply to client SMTP. For  backward  compatibility,  a
           timeout with no keyword= part is set all of the longer
           values. The  recognized  timeouts  and  their  default
           values, and their minimum values specified in RFC 1123
           section 5.3.2 are:

           aconnect
                 all connections for a  single  delivery  attempt
                 [0, unspecified]

           command
                 command read [1h, 5m]

           connect
                 initial connect [0, unspecified]

           control
                 complete control socket transaction [2m, none]

           datablock
                 data block read [1h, 3m]

           datafinal
                 reply to final . in data [1h, 10m]

           datainit
                 reply to DATA command [5m, 2m]

           fileopen
                 file open [60sec, none]

           helo  reply to HELO or EHLO command [5m, none]

           hoststatus
                 host retry [30m, unspecified]

           iconnect
                 first attempt to connect to a host [0,  unspeci-
                 fied]

           ident IDENT protocol timeout [5s, none]

           initial
                 wait for initial greeting message [5m, 5m]

           lhlo  wait for reply to  an  LMTP  LHLO  command  [2m,
                 unspecified]

           mail  reply to MAIL command [10m, 5m]

           misc  reply to NOOP and VERB commands [2m, none]

           queuereturn
                 undeliverable message returned [5d]

           queuewarn
                 deferred warning [4h]

           quit  reply to QUIT command [2m, none]

           rcpt  reply to RCPT command [1h, 5m]

           resolver.retrans
                 Resolver's  retransmission  time  interval   (in
                 seconds)        [varies].        Sets       both
                 Timeout.resolver.retrans.first               and
                 Timeout.resolver.retrans.normal.

           resolver.retrans.first
                 Resolver's  retransmission  time  interval   (in
                 seconds) for the first attempt to deliver a mes-
                 sage [varies].

           resolver.retrans.normal
                 Resolver's  retransmission  time  interval   (in
                 seconds)  for  all  look-ups  except  the  first
                 delivery attempt [varies].

           resolver.retry
                 Number of times to retransmit a  resolver  query
                 [varies]. Sets both Timeout.resolver.retry.first
                 and Timeout.resolver.retry.normal.

           resolver.retry.first
                 Number of times to retransmit a  resolver  query
                 for  the  first  attempt  to  deliver  a message
                 [varies].

           resolver.retry.normal
                 Number of times to retransmit a  resolver  query
                 for  all  look-ups  except  the  first  delivery
                 attempt [varies].

           rset  reply to RSET command [5m, none]

     TimeZoneSpec (ttzinfo)
           Sets the local time zone info to tzinfo, for  example,
           "PST8PDT  ".  Actually,  if  this  is  not set, the TZ
           environment variable is cleared (so the system default
           is  used);  if set but null, the user's TZ variable is
           used, and if set and non-null, the TZ variable is  set
           to this value.

     TrustedUser
           The user parameter can be a user name  (looked  up  in
           the passwd map) or a numeric user id. Trusted user for
           file ownership and starting the daemon. If  set,  gen-
           erated alias databases and the control socket (if con-
           figured) are automatically owned by this user.

     TryNullMXList (w)
           If you are the "best" (that is, lowest preference)  MX
           for  a  given  host,  you  should normally detect this
           situation and treat that condition specially, by  for-
           warding the mail to a UUCP feed, treating it as local,
           or whatever. However, in some cases (such as  Internet
           firewalls)  you may want to try to connect directly to
           that host as though it had no MX records at all.  Set-
           ting  this  option  causes  sendmail  to try this. The
           downside is that  errors  in  your  configuration  are
           likely  to  be diagnosed as "host unknown" or "message
           timed out" instead of something more meaningful.  This
           option is deprecated.

     UnixFromLine or $l
           The "From " line used when sending to  files  or  pro-
           grams.

     UnsafeGroupWrites
           If set, group-writable :include:  and  .forward  files
           are  considered  "unsafe", that is, programs and files
           cannot be directly referenced from such files.

     UseErrorsTo (l)
           If there is an Errors-To: header, sends error messages
           to the addresses listed there. They normally go to the
           envelope sender. Use of this option causes sendmail to
           violate  RFC  1123. This option is not recommended and
           deprecated.

     UseMSP
           Uses as mail submission program, that is, allows group
           writable  queue files if the group is the same as that
           of a set-group-id sendmail binary.

     UserDatabaseSpec (U)
           Defines the name and location of the  file  containing
           User Database information.

     Verbose (v)
           Runs in verbose mode. If this is set, sendmail adjusts
           the HoldExpensive and DeliveryMode options so that all
           mail is delivered completely in a single job  so  that
           you  can  see the entire delivery process. The Verbose
           option should never be set in the configuration  file;
           it is intended for command line use only.

     XscriptFileBufferSize
           Sets the threshold, in bytes,  before  a  memory-bases
           queue  transcript file becomes disk-based. The default
           is 4096 bytes.

     If the first character of the user name is a  vertical  bar,
     the  rest  of the user name is used as the name of a program
     to pipe the mail to. It may be necessary to quote  the  name
     of  the  user  to  keep sendmail from suppressing the blanks
     from between arguments.

     If invoked as newaliases, sendmail rebuilds the alias  data-
     base,  so  long as the /etc/mail/aliases* files are owned by
     root and root has exclusive write permission. If invoked  as
     mailq, sendmail prints the contents of the mail queue.


OPERANDS

     address
           address of an intended recipient of the message  being
           sent.


USAGE

     See largefile(5) for the  description  of  the  behavior  of
     sendmail  when encountering files greater than or equal to 2
     Gbyte ( 2**31 bytes).


EXIT STATUS

     sendmail returns an exit status describing what it did.  The
     codes are defined in /usr/include/sysexits.h.

     EX_OK Successful completion on all addresses.

     EX_NOUSER
           User name not recognized.

     EX_UNAVAILABLE
           Catchall. Necessary resources were not available.

     EX_SYNTAX
           Syntax error in address.

     EX_SOFTWARE
           Internal software error, including bad arguments.

     EX_OSERR
           Temporary operating  system  error,  such  as  "cannot
           fork".

     EX_NOHOST
           Host name not recognized.

     EX_TEMPFAIL
           Message could not be sent immediately, but was queued.


ENVIRONMENT VARIABLES

     No  environment  variables  are  used.  However,  at  system
     start-up,  /etc/init.d/sendmail reads /etc/default/sendmail.
     In  this  file,  if  the   variable   ETRN_HOSTS   is   set,
     /etc/init.d/sendmail   parses   this  variable  and  invokes
     etrn(1M) appropriately. ETRN_HOSTS should be of the form:

     "s1:c1.1,c1.2        s2:c2.1 s3:c3.1,c3.2,c3.3"

     That is, white-space separated groups of server:client where
     client can be one or more comma-separated names. The :client
     part is optional. server is the name of the server to  prod;
     a  mail queue run is requested for each client name. This is
     comparable to running:

     /usr/lib/sendmail -qR client

     on the host server.


FILES

     dead.letter
           Unmailable text

     /etc/default/sendmail
           Contains default settings. You can  override  some  of
           the settings by command line options.

     /etc/mail/aliases
           Mail aliases file (ASCII)

     /etc/mail/aliases.db
           Database of mail aliases (binary)

     /etc/mail/aliases.dir
           Database of mail aliases (binary)

     /etc/mail/aliases.pag
           Database of mail aliases (binary)

     /etc/mail/sendmail.cf
           Defines environment for sendmail

     /var/spool/clientmqueue/*
           Temporary files and queued mail

     /var/spool/mqueue/*
           Temporary files and queued mail

     ~/.forward
           List of recipients for forwarding messages


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWsndmu                   |
    |_____________________________|_____________________________|


SEE ALSO

     biff(1B),  mail(1),  mailq(1),  mailx(1),  nice(1),   check-
     hostname(1M),        check-permissions(1M),        etrn(1M),
     newaliases(1M),  fork(2),  getpwnam(3C),   getusershell(3C),
     resolver(3RESOLV),  aliases(4),  hosts(4), shells(4), attri-
     butes(5), largefile(5)

     Postel, Jon, Simple Mail Transfer Protocol, RFC 821, Network
     Information  Center,  SRI International, Menlo Park, Calif.,
     August 1982.

     Crocker, Dave, Standard for the Format of ARPA-Internet Text
     Messages,  RFC 822, Network Information Center, SRI Interna-
     tional, Menlo Park, Calif., August 1982.

     Costales, Bryan with Eric Allman, sendmail, Second  Edition,
     O'Reilly & Associates, Inc., 1997.


NOTES

     The sendmail program requires a fully  qualified  host  name
     when  starting. A script has been included to help verify if
     the host name is defined properly (see check-hostname(1M)).

     The permissions and the  ownership  of  several  directories
     have been changed in order to increase security. In particu-
     lar, access to /etc/mail and /var/spool/mqueue has been res-
     tricted.

     Security restrictions have been placed users using  .forward
     files  to pipe mail to a program or redirect mail to a file.
     The default shell (as listed in /etc/passwd) of these  users
     must  be  listed  in  /etc/shells. This restriction does not
     affect mail that is being redirected to another alias.

     Additional restrictions have been put in place  on  .forward
     and :include: files. These files and the directory structure
     that they are placed in cannot be group- or  world-writable.
     See check-permissions(1M).

     If you have interfaces that map  to  domains  that  have  MX
     records that point to non-local destinations, you might need
     to enable the DontProbeInterfaces option to enable  delivery
     to  those  destinations.  In  its  default startup behavior,
     sendmail probes each interface and adds  an  interface's  IP
     addresses,  as  well as any domains that those addresses map
     to, to its list of domains that are  considered  local.  For
     domains  thus  added,  being on the list of local domains is
     equivalent  to  having  a  0-preference  MX   record,   with
     localhost  as  the  MX  value. If this is not the result you
     want, enable DontProbeInterfaces.


Man(1) output converted with man2html