SENDMAIL(8)                                           SENDMAIL(8)


NAME
       sendmail - an electronic mail transport agent

SYNOPSIS
       sendmail [flags] [address ...]
       newaliases
       mailq [-v]
       hoststat
       purgestat
       smtpd

DESCRIPTION
       Sendmail  sends a message to one or more recipients, rout-
       ing 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
       end-of-file  or a line consisting only of a single dot and
       sends a copy of the message found  there  to  all  of  the
       addresses  listed.   It  determines  the network(s) to use
       based on the syntax and contents of the addresses.

       Local addresses are looked up in a file and aliased appro-
       priately.   Aliasing  can  be  prevented  by preceding the
       address with a backslash.  Beginning with 8.10, the sender
       is included in any alias expansions, e.g., if `john' sends
       to `group', and `group' includes `john' in the  expansion,
       then the letter will also be delivered to `john'.

   Parameters
       -Btype Set  the  body  type to type.  Current legal values
              are 7BIT or 8BITMIME.

       -ba    Go into ARPANET mode.  All  input  lines  must  end
              with  a  CR-LF,  and all messages will be generated
              with a CR-LF at the end.  Also, the  ``From:''  and
              ``Sender:'' fields are examined for the name of the
              sender.

       -bd    Run as  a  daemon.   This  requires  Berkeley  IPC.
              Sendmail  will fork and run in background listening
              on socket 25 for incoming SMTP  connections.   This
              is normally run from /etc/rc.

       -bD    Same as -bd except runs in foreground.

       -bh    Print the persistent host status database.

       -bH    Purge  expired  entries  from  the  persistent host



                    Date: 2000/02/01 05:49:57                   1





SENDMAIL(8)                                           SENDMAIL(8)


              status database.

       -bi    Initialize the alias database.

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

       -bp    Print a listing of the queue.

       -bs    Use the SMTP protocol as  described  in  RFC821  on
              standard  input  and output.  This flag implies all
              the operations of the -ba flag that are  compatible
              with SMTP.

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

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

       -Cfile Use alternate configuration file.  Sendmail refuses
              to run as root if an alternate  configuration  file
              is specified.

       -dX    Set debugging value to X.

       -Ffullname
              Set the full name of the sender.

       -fname Sets  the  name  of  the ``from'' person (i.e., the
              envelope sender of the  mail).   This  address  may
              also  be used in the From: header if that header is
              missing during initial  submission.   The  envelope
              sender  address is used as the recipient for deliv-
              ery status notifications and may also appear  in  a
              Return-Path:  header.   -f  should  only be used by
              ``trusted'' users (normally root, daemon, and  net-
              work)  or if the person you are trying to become is
              the same as the person you are.  Otherwise,  an  X-
              Authentication-Warning  header will be added to the
              message.

       -hN    Set the hop count to N.  The hop  count  is  incre-
              mented  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.  If not
              specified, ``Received:'' lines in the  message  are
              counted.

       -i     Ignore  dots alone on lines by themselves in incom-
              ing messages.  This should be set if you are  read-
              ing data from a file.




                    Date: 2000/02/01 05:49:57                   2





SENDMAIL(8)                                           SENDMAIL(8)


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

       -N dsn Set delivery status notification conditions to dsn,
              which  can  be  `never'  for  no notifications or a
              comma separated list of the values `failure' to  be
              notified if delivery failed, `delay' to be notified
              if delivery is delayed, and `success' to  be  noti-
              fied when the message is successfully delivered.

       -n     Don't do aliasing.

       -O option=value
              Set  option  option  to  the specified value.  This
              form uses long names.  See below for more  details.

       -ox value
              Set  option  x  to  the specified value.  This form
              uses single character names only.  The short  names
              are  not  described  in  this  manual page; see the
              Sendmail  Installation  and  Operation  Guide   for
              details.

       -pprotocol
              Set  the  name  of the protocol used to receive the
              message.  This can be a simple protocol  name  such
              as  ``UUCP''  or  a  protocol and hostname, such as
              ``UUCP:ucbvax''.

       -q[time]
              Processed saved messages  in  the  queue  at  given
              intervals.   If  time is omitted, process the queue
              once.  Time is given as a tagged number,  with  `s'
              being  seconds, `m' being minutes, `h' being hours,
              `d' being days, and `w' being weeks.  For  example,
              `-q1h30m'  or `-q90m' would both set the timeout to
              one hour thirty minutes.   If  time  is  specified,
              sendmail  will  run in the background.  This option
              can be used safely with -bd.

       -qIsubstr
              Limit processed jobs to those containing substr  as
              a substring of the queue id.

       -qRsubstr
              Limit  processed jobs to those containing substr as
              a substring of one of the recipients.

       -qSsubstr
              Limit processed jobs to those containing substr  as
              a substring of the sender.

       -R return
              Set the amount of the message to be returned if the



                    Date: 2000/02/01 05:49:57                   3





SENDMAIL(8)                                           SENDMAIL(8)


              message  bounces.   The  return  parameter  can  be
              `full'  to  return  the entire message or `hdrs' to
              return only the headers.  In the latter  case  also
              local bounces return only the headers.

       -rname An alternate and obsolete form of the -f flag.

       -t     Read  message  for  recipients.  To:, Cc:, and Bcc:
              lines will be scanned for recipient addresses.  The
              Bcc: line will be deleted before transmission.

       -U     Initial  (user)  submission.  This should always be
              set when called from a user agent such as  Mail  or
              exmh  and  never  be  set  when called by a network
              delivery agent such as rmail.

       -V envid
              Set the original envelope id.  This  is  propagated
              across  SMTP  to  servers  that support DSNs and is
              returned in DSN-compliant error messages.

       -v     Go into verbose mode.   Alias  expansions  will  be
              announced, etc.

       -X logfile
              Log  all traffic in and out of mailers in the indi-
              cated log file.  This should only be used as a last
              resort  for  debugging  mailer bugs.  It will log a
              lot of data very quickly.

       --     Stop processing command flags and use the  rest  of
              the arguments as addresses.

   Options
       There  are also a number of processing options that may be
       set.  Normally these will only be used by a system  admin-
       istrator.   Options  may be set either on the command line
       using the -o flag (for short names), the -O flag (for long
       names),  or  in the configuration file.  This is a partial
       list limited to those options that are likely to be useful
       on  the  command line and only shows the long names; for a
       complete list (and details), consult the Sendmail  Instal-
       lation and Operation Guide.  The options are:

       AliasFile=file
              Use alternate alias file.

       HoldExpensive
              On  mailers  that  are  considered ``expensive'' to
              connect to, don't  initiate  immediate  connection.
              This requires queueing.

       CheckpointInterval=N
              Checkpoint  the queue file after every N successful



                    Date: 2000/02/01 05:49:57                   4





SENDMAIL(8)                                           SENDMAIL(8)


              deliveries (default  10).   This  avoids  excessive
              duplicate  deliveries  when sending to long mailing
              lists interrupted by system crashes.

       DeliveryMode=x
              Set the delivery mode to x.  Delivery modes are `i'
              for  interactive  (synchronous)  delivery,  `b' for
              background (asynchronous) delivery, `q'  for  queue
              only  - i.e., actual delivery is done the next time
              the queue is run, and `d' for deferred -  the  same
              as  `q' except that database lookups for maps which
              have set the -D option (default for the  host  map)
              are avoided.

       ErrorMode=x
              Set  error  processing  to mode x.  Valid modes are
              `m'  to  mail  back  the  error  message,  `w'   to
              ``write''  back  the error message (or mail it back
              if the sender is not logged in), `p' to  print  the
              errors on the terminal (default), `q' to throw away
              error messages (only exit status is returned),  and
              `e'  to  do special processing for the BerkNet.  If
              the text of the message is not mailed back by modes
              `m'  or  `w'  and  if  the  sender is local to this
              machine, a copy of the message is appended  to  the
              file dead.letter in the sender's home directory.

       SaveFromLine
              Save  UNIX-style  From  lines  at the front of mes-
              sages.

       MaxHopCount=N
              The maximum number of times a message is allowed to
              ``hop'' before we decide it is in a loop.

       IgnoreDots
              Do  not take dots on a line by themselves as a mes-
              sage terminator.

       SendMimeErrors
              Send error messages in MIME format.   If  not  set,
              the  DSN (Delivery Status Notification) SMTP exten-
              sion is disabled.

       ConnectionCacheTimeout=timeout
              Set connection cache timeout.

       ConnectionCacheSize=N
              Set connection cache size.

       LogLevel=n
              The log level.





                    Date: 2000/02/01 05:49:57                   5





SENDMAIL(8)                                           SENDMAIL(8)


       MeToo=False
              Don't send to ``me'' (the sender) if  I  am  in  an
              alias expansion.

       CheckAliases
              Validate  the  right  hand side of aliases during a
              newaliases(1) command.

       OldStyleHeaders
              If set, this message may have  old  style  headers.
              If  not set, this message is guaranteed to have new
              style  headers  (i.e.,  commas  instead  of  spaces
              between  addresses).  If set, an adaptive algorithm
              is used that will correctly  determine  the  header
              format in most cases.

       QueueDirectory=queuedir
              Select the directory in which to queue messages.

       StatusFile=file
              Save statistics in the named file.

       Timeout.queuereturn=time
              Set  the  timeout  on  undelivered  messages in the
              queue to the specified time.   After  delivery  has
              failed  (e.g.,  because  of  a host being down) for
              this  amount  of  time,  failed  messages  will  be
              returned  to the sender.  The default is five days.

       UserDatabaseSpec=userdatabase
              If set, a user database is consulted  to  get  for-
              warding  information.   You  can  consider  this an
              adjunct to the aliasing mechanism, except that  the
              database is intended to be distributed; aliases are
              local to a particular host.  This may not be avail-
              able  if  your  sendmail  does  not have the USERDB
              option compiled in.

       ForkEachJob
              Fork each job during queue runs.  May be convenient
              on memory-poor machines.

       SevenBitInput
              Strip incoming messages to seven bits.

       EightBitMode=mode
              Set  the  handling  of eight bit input to seven bit
              destinations to mode: m (mimefy)  will  convert  to
              seven-bit  MIME  format,  p  (pass) will pass it as
              eight bits (but violates protocols), and s (strict)
              will bounce the message.

       MinQueueAge=timeout
              Sets  how  long  a  job  must  ferment in the queue



                    Date: 2000/02/01 05:49:57                   6





SENDMAIL(8)                                           SENDMAIL(8)


              between attempts to send it.

       DefaultCharSet=charset
              Sets the default character set used to label  8-bit
              data that is not otherwise labelled.

       DialDelay=sleeptime
              If  opening a connection fails, sleep for sleeptime
              seconds and try again.   Useful  on  dial-on-demand
              sites.

       NoRecipientAction=action
              Set the behaviour when there are no recipient head-
              ers (To:, Cc: or Bcc:) in the  message  to  action:
              none  leaves  the  message unchanged, add-to adds a
              To: header with the envelope recipients, add-appar-
              ently-to  adds  an  Apparently-To:  header with the
              envelope recipients, add-bcc  adds  an  empty  Bcc:
              header,  and add-to-undisclosed adds a header read-
              ing `To: undisclosed-recipients:;'.

       MaxDaemonChildren=N
              Sets the maximum number of children that an  incom-
              ing  SMTP daemon will allow to spawn at any time to
              N.

       ConnectionRateThrottle=N
              Sets the maximum number of connections  per  second
              to the SMTP port to N.

       In  aliases, the first character of a name may be a verti-
       cal bar to cause interpretation of the rest of the name as
       a  command  to  pipe  the mail to.  It may be necessary to
       quote the name  to  keep  sendmail  from  suppressing  the
       blanks  from  between  arguments.   For  example, a common
       alias is:

              msgs: "|/usr/bin/msgs -s"

       Aliases may also have the syntax ``:include:filename''  to
       ask  sendmail to read the named file for a list of recipi-
       ents.  For example, an alias such as:

              poets: ":include:/usr/local/lib/poets.list"

       would  read  /usr/local/lib/poets.list  for  the  list  of
       addresses making up the group.

       Sendmail  returns  an  exit status describing what it did.
       The codes are defined in <sysexits.h>:

       EX_OK  Successful completion on all addresses.





                    Date: 2000/02/01 05:49:57                   7





SENDMAIL(8)                                           SENDMAIL(8)


       EX_NOUSER
              User name not recognized.

       EX_UNAVAILABLE
              Catchall  meaning  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.

       If  invoked as newaliases, sendmail will rebuild the alias
       database.  If invoked as mailq, sendmail  will  print  the
       contents of the mail queue.  If invoked as hoststat, send-
       mail will print the persistent host status  database.   If
       invoked  as purgestat, sendmail will purge expired entries
       from the persistent host status database.  If  invoked  as
       smtpd, sendmail will act as a daemon, as if the -bd option
       were specified.

NOTES
       sendmail often gets blamed  for  many  problems  that  are
       actually the result of other problems, such as overly per-
       missive modes on directories.  For this  reason,  sendmail
       checks the modes on system directories and files to deter-
       mine if they can be trusted.  Although these checks can be
       turned off and your system security reduced by setting the
       DontBlameSendmail option, the permission  problems  should
       be fixed.  For more information, see:

       http://www.sendmail.org/tips/DontBlameSendmail.html

FILES
       Except  for the file /etc/mail/sendmail.cf itself the fol-
       lowing pathnames  are  all  specified  in  /etc/mail/send-
       mail.cf.  Thus, these values are only approximations.


        /etc/mail/aliases
              raw data for alias names




                    Date: 2000/02/01 05:49:57                   8





SENDMAIL(8)                                           SENDMAIL(8)


        /etc/mail/aliases.db
              data base of alias names

        /etc/mail/sendmail.cf
              configuration file

        /etc/mail/helpfile
              help file

        /etc/mail/statistics
              collected statistics

        /var/spool/mqueue/*
              temp files

SEE ALSO
       binmail(1),   mail(1),  rmail(1),  syslog(3),  aliases(5),
       mailaddr(7), rc(8)

       DARPA  Internet  Request  For  Comments  RFC819,   RFC821,
       RFC822.   Sendmail  -  An Internetwork Mail Router, No. 9,
       SMM.  Sendmail Installation and Operation  Guide,  No.  8,
       SMM.

       http://www.sendmail.org/

HISTORY
       The sendmail command appeared in 4.2BSD.





























                    Date: 2000/02/01 05:49:57                   9



You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias
©1996-2019 Modified for NetBSD by Kimmo Suominen