unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (4.2BSD)
Page:
Section:
Apropos / Subsearch:
optional field

MAIL(1)                                                                MAIL(1)



NAME
       mail - send and receive mail

SYNOPSIS
       mail [ -v ] [ -i ] [ -n ] [ -s subject ] [ user ...  ]
       mail [ -v ] [ -i ] [ -n ] -f [ name ]
       mail [ -v ] [ -i ] [ -n ] -u user

INTRODUCTION
       Mail  is a intelligent mail processing system, which has a command syn-
       tax reminiscent of ed with lines replaced by messages.

       The -v flag puts mail into verbose mode; the details  of  delivery  are
       displayed on the users terminal.  The -i flag causes tty interrupt sig-
       nals to be ignored. This is particularly  useful  when  using  mail  on
       noisy   phone   lines.    The   -n   flag   inhibits   the  reading  of
       /usr/lib/Mail.rc.

       Sending mail.  To send a message to one or more other people, mail  can
       be  invoked  with  arguments  which are the names of people to send to.
       You are then expected to type in your message, followed by an EOT (con-
       trol-D)  at the beginning of a line.  A subject may be specified on the
       command line by using the -s flag. (Only the first argument  after  the
       -s  flag  is used as a subject; be careful to quote subjects containing
       spaces.)  The section below, labeled Replying to or  originating  mail,
       describes some features of mail available to help you compose your let-
       ter.

       Reading mail.  In normal usage mail is given no  arguments  and  checks
       your  mail out of the post office, then prints out a one line header of
       each message there.  The current message is initially the first message
       (numbered  1)  and can be printed using the print command (which can be
       abbreviated p).  You can move among  the  messages  much  as  you  move
       between lines in ed, with the commands `+' and `-' moving backwards and
       forwards, and simple numbers.

       Disposing of mail.  After examining a message you can  delete  (d)  the
       message or reply (r) to it.  Deletion causes the mail program to forget
       about the message.  This  is  not  irreversible;  the  message  can  be
       undeleted  (u) by giving its number, or the mail session can be aborted
       by giving the exit (x) command.  Deleted messages will,  however,  usu-
       ally disappear never to be seen again.

       Specifying  messages.  Commands such as print and delete can be given a
       list of message numbers as arguments to apply to a number  of  messages
       at  once.  Thus ``delete 1 2'' deletes messages 1 and 2, while ``delete
       1-5'' deletes messages 1 through 5.  The special name  ``*''  addresses
       all  messages,  and  ``$'' addresses the last message; thus the command
       top which prints the first few lines of a  message  could  be  used  in
       ``top *'' to print the first few lines of all messages.

       Replying  to or originating mail.  You can use the reply command to set
       up a response to a message, sending it back to the person  who  it  was
       from.   Text  you  then type in, up to an end-of-file, defines the con-
       tents of the message.  While you are composing a message,  mail  treats
       lines beginning with the character `~' specially.  For instance, typing
       ``~m'' (alone on a line) will place a copy of the current message  into
       the response right shifting it by a tabstop.  Other escapes will set up
       subject fields, add and delete recipients to the message and allow  you
       to  escape to an editor to revise the message or to a shell to run some
       commands.  (These options are given in the summary below.)

       Ending a mail processing session.  You can end a mail session with  the
       quit  (q)  command.   Messages which have been examined go to your mbox
       file unless they have been deleted in which case  they  are  discarded.
       Unexamined  messages  go back to the post office.  The -f option causes
       mail to read in the contents of your mbox (or the specified  file)  for
       processing;  when you quit, mail writes undeleted messages back to this
       file.   The  -u   flag   is   a   short   way   of   doing   "mail   -f
       /usr/spool/mail/user".

       Personal  and  systemwide  distribution  lists.  It is also possible to
       create a personal distribution lists so that,  for  instance,  you  can
       send  mail  to  ``cohorts''  and have it go to a group of people.  Such
       lists can be defined by placing a line like

              alias cohorts bill ozalp jkf mark kridle@ucbcory

       in the file .mailrc in your home directory.  The current list  of  such
       aliases  can  be  displayed with the alias (a) command in mail.  System
       wide distribution lists can be created by editing /usr/lib/aliases, see
       aliases(5)  and  sendmail(8); these are kept in a different syntax.  In
       mail you send, personal aliases will be expanded in mail sent to others
       so  that  they  will  be  able to reply to the recipients.  System wide
       aliases are not expanded when the mail is sent, but any reply  returned
       to  the  machine  will  have the system wide alias expanded as all mail
       goes through sendmail.

       Network mail (ARPA, UUCP, Berknet)  See mailaddr(7) for  a  description
       of network addresses.

       Mail  has  a  number of options which can be set in the .mailrc file to
       alter its behavior; thus ``set askcc'' enables the  ``askcc''  feature.
       (These options are summarized below.)

SUMMARY
       (Adapted from the `Mail Reference Manual')

       Each  command is typed on a line by itself, and may take arguments fol-
       lowing the command word.  The command need not be typed in its entirety
       -  the  first command which matches the typed prefix is used.  For com-
       mands which take message lists as arguments,  if  no  message  list  is
       given,  then  the  next  message  forward which satisfies the command's
       requirements is used.  If there are no messages forward of the  current
       message,  the  search proceeds backwards, and if there are no good mes-
       sages at all, mail types ``No applicable messages'' and aborts the com-
       mand.

       -           Goes to the previous message and prints it out.  If given a
                   numeric argument n, goes to the n-th previous  message  and
                   prints it.

       ?           Prints a brief summary of commands.

       !           Executes the UNIX shell command which follows.

       Print       (P)  Like  print but also prints out ignored header fields.
                   See also print and ignore.

       Reply       (R) Reply to originator. Does not reply to other recipients
                   of the original message.

       Type        (T) Identical to the Print command.

       alias       (a)  With  no  arguments,  prints out all currently-defined
                   aliases.  With one argument, prints out that  alias.   With
                   more than one argument, creates an new or changes an on old
                   alias.

       alternates  (alt) The alternates command is useful if you have accounts
                   on  several  machines.   It can be used to inform mail that
                   the listed addresses are really you. When you reply to mes-
                   sages,  mail  will not send a copy of the message to any of
                   the addresses listed on the alternates list. If the  alter-
                   nates command is given with no argument, the current set of
                   alternate names is displayed.

       chdir       (c) Changes the user's working directory to that specified,
                   if  given.   If  no directory is given, then changes to the
                   user's login directory.

       copy        (co) The copy command does the same thing that  save  does,
                   except that it does not mark the messages it is used on for
                   deletion when you quit.

       delete      (d) Takes a list of messages as argument and marks them all
                   as  deleted.   Deleted  messages will not be saved in mbox,
                   nor will they be available for most other commands.

       dp          (also dt) Deletes the current message and prints  the  next
                   message.   If  there  is  no  next  message, mail says ``at
                   EOF.''

       edit        (e) Takes a list of messages and points the text editor  at
                   each  one  in turn.  On return from the editor, the message
                   is read back in.

       exit        (ex or x) Effects an immediate return to the Shell  without
                   modifying  the user's system mailbox, his mbox file, or his
                   edit file in -f.

       file        (fi) The same as folder.

       folders     List the names of the folders in your folder directory.

       folder      (fo) The folder command switches to  a  new  mail  file  or
                   folder.  With no arguments, it tells you which file you are
                   currently reading.  If you give it  an  argument,  it  will
                   write  out changes (such as deletions) you have made in the
                   current file and read in the new file. Some special conven-
                   tions  are  recognized  for  the name. # means the previous
                   file, % means your system mailbox, %user means user's  sys-
                   tem  mailbox, & means your  /mbox file, and +folder means a
                   file in your folder directory.

       from        (f) Takes a list of messages and prints their message head-
                   ers.

       headers     (h) Lists the current range of headers, which is an 18 mes-
                   sage group.  If a ``+'' argument is given, then the next 18
                   message group is printed, and if a ``-'' argument is given,
                   the previous 18 message group is printed.

       help        A synonym for ?

       hold        (ho, also preserve) Takes a message  list  and  marks  each
                   message  therein  to  be saved in the user's system mailbox
                   instead of in mbox.  Does not override the delete command.

       ignore      Add the list of header fields named to  the  ignored  list.
                   Header  fields  in  the ignore list are not printed on your
                   terminal when you print a message.  This  command  is  very
                   handy  for  suppression of certain machine-generated header
                   fields. The Type and Print commands can be used to print  a
                   message  in  its  entirety,  including  ignored  fields. If
                   ignore is executed with no arguments, it lists the  current
                   set of ignored fields.

       mail        (m)  Takes  as  argument login names and distribution group
                   names and sends mail to those people.

       mbox        Indicate that a list of messages be sent to  mbox  in  your
                   home  directory  when  you quit. This is the default action
                   for messages if you do not have the hold option set.

       next        (n like + or CR) Goes to the next message in  sequence  and
                   types  it.   With an argument list, types the next matching
                   message.

       preserve    (pre) A synonym for hold.

       print       (p) Takes a message list and types out each message on  the
                   user's terminal.

       quit        (q)  Terminates  the session, saving all undeleted, unsaved
                   messages in the user's mbox file in  his  login  directory,
                   preserving  all  messages  marked  with hold or preserve or
                   never referenced in his system mailbox,  and  removing  all
                   other  messages  from  his system mailbox.  If new mail has
                   arrived during the session,  the  message  ``You  have  new
                   mail''  is  given.   If  given while editing a mailbox file
                   with the -f flag, then  the  edit  file  is  rewritten.   A
                   return to the Shell is effected, unless the rewrite of edit
                   file fails, in which case the user can escape with the exit
                   command.

       reply       (r)  Takes  a message list and sends mail to the sender and
                   all recipients of the specified message.  The default  mes-
                   sage must not be deleted.

       respond     A synonym for reply.

       save        (s)  Takes  a  message list and a filename and appends each
                   message in turn to the end of the file.   The  filename  in
                   quotes,  followed  by the line count and character count is
                   echoed on the user's terminal.

       set         (se) With no arguments, prints all variable values.  Other-
                   wise,   sets   option.    Arguments   are   of   the   form
                   ``option=value'' or ``option.''

       shell       (sh) Invokes an interactive version of the shell.

       size        Takes a message list and prints out the size in  characters
                   of each message.

       source      (so) The source command reads mail commands from a file.

       top         Takes  a message list and prints the top few lines of each.
                   The number of lines printed is controlled by  the  variable
                   toplines and defaults to five.

       type        (t) A synonym for print.

       unalias     Takes  a  list  of names defined by alias commands and dis-
                   cards the remembered groups of users.  The group  names  no
                   longer have any significance.

       undelete    (u)  Takes  a  message list and marks each one as not being
                   deleted.

       unset       Takes a list of option names and discards their  remembered
                   values; the inverse of set.

       visual      (v)  Takes a message list and invokes the display editor on
                   each message.

       write       (w) A synonym for save.

       xit         (x) A synonym for exit.

       z           Mail presents message headers in  windowfuls  as  described
                   under  the  headers  command. You can move mail's attention
                   forward to the next window with the z  command.  Also,  you
                   can move to the previous window by using z-.

       Here  is  a summary of the tilde escapes, which are used when composing
       messages to perform special functions.  Tilde escapes are  only  recog-
       nized at the beginning of lines.  The name ``tilde escape'' is somewhat
       of a misnomer since the actual escape  character  can  be  set  by  the
       option escape.

       ~!command   Execute  the  indicated  shell  command, then return to the
                   message.

       ~c name ... Add the given names to the list of carbon copy recipients.

       ~d          Read the file ``dead.letter'' from your home directory into
                   the message.

       ~e          Invoke  the  text  editor  on the message collected so far.
                   After the editing session is  finished,  you  may  continue
                   appending text to the message.

       ~f messages Read the named messages into the message being sent.  If no
                   messages are specified, read in the current message.

       ~h          Edit the message header fields by typing each one  in  turn
                   and  allowing  the user to append text to the end or modify
                   the field by using the  current  terminal  erase  and  kill
                   characters.

       ~m messages Read  the  named  messages  into  the  message  being sent,
                   shifted right one tab.  If no messages are specified,  read
                   the current message.

       ~p          Print  out  the  message  collected so far, prefaced by the
                   message header fields.

       ~q          Abort the  message  being  sent,  copying  the  message  to
                   ``dead.letter'' in your home directory if save is set.

       ~r filename Read the named file into the message.

       ~s string   Cause the named string to become the current subject field.

       ~t name ... Add the given names to the direct recipient list.

       ~v          Invoke  an  alternate editor (defined by the VISUAL option)
                   on the message collected so far.   Usually,  the  alternate
                   editor will be a screen editor.  After you quit the editor,
                   you may resume appending text to the end of your message.

       ~w filename Write the message onto the named file.

       ~|command   Pipe the message through the command as a filter.   If  the
                   command  gives  no  output or terminates abnormally, retain
                   the original text of the message.  The  command  fmt(1)  is
                   often used as command to rejustify the message.

       ~~string    Insert the string of text in the message prefaced by a sin-
                   gle ~.  If you have changed the escape character, then  you
                   should double that character in order to send it.

       Options  are controlled via the set and unset commands.  Options may be
       either binary, in which case it is only significant to see whether they
       are  set or not, or string, in which case the actual value is of inter-
       est.  The binary options include the following:

       append         Causes messages saved in mbox to be appended to the  end
                      rather than prepended.  (This is set in /usr/lib/Mail.rc
                      on version 7 systems.)

       ask            Causes mail to prompt you for the subject of  each  mes-
                      sage you send.  If you respond with simply a newline, no
                      subject field will be sent.

       askcc          Causes you to be prompted  for  additional  carbon  copy
                      recipients  at the end of each message.  Responding with
                      a newline indicates your satisfaction with  the  current
                      list.

       autoprint      Causes  the  delete  command  to  behave like dp - thus,
                      after deleting a message, the next  one  will  be  typed
                      automatically.

       debug          Setting  the binary option debug is the same as specify-
                      ing -d on the command line and causes mail to output all
                      sorts of information useful for debugging mail.

       dot            The  binary option dot causes mail to interpret a period
                      alone on a line as the terminator of a message  you  are
                      sending.

       hold           This option is used to hold messages in the system mail-
                      box by default.

       ignore         Causes  interrupt  signals  from  your  terminal  to  be
                      ignored and echoed as @'s.

       ignoreeof      An  option  related to dot is ignoreeof which makes mail
                      refuse to accept a control-d as the end  of  a  message.
                      Ignoreeof also applies to mail command mode.

       metoo          Usually,  when  a  group  is  expanded that contains the
                      sender, the sender is removed from the expansion.   Set-
                      ting this option causes the sender to be included in the
                      group.

       nosave         Normally, when you abort a message with two RUBOUT, mail
                      copies the partial letter to the file ``dead.letter'' in
                      your home directory. Setting the  binary  option  nosave
                      prevents this.

       quiet          Suppresses  the  printing  of  the  version  when  first
                      invoked.

       verbose        Setting the option verbose is the same as using  the  -v
                      flag  on  the  command  line.  When mail runs in verbose
                      mode, the actual delivery of messages is displayed on he
                      users terminal.

       The following options have string values:

       EDITOR         Pathname  of  the text editor to use in the edit command
                      and ~e escape.  If not defined, then a default editor is
                      used.

       SHELL          Pathname  of  the shell to use in the !  command and the
                      ~! escape.  A default shell is used if  this  option  is
                      not defined.

       VISUAL         Pathname of the text editor to use in the visual command
                      and ~v escape.

       crt            The valued option crt is used as a threshold  to  deter-
                      mine  how  long a message must be before more is used to
                      read it.

       escape         If defined, the first character of this option gives the
                      character to use in the place of ~ to denote escapes.

       folder         The  name of the directory to use for storing folders of
                      messages. If this name begins with a `/', mail considers
                      it  to  be  an  absolute pathname; otherwise, the folder
                      directory is found relative to your home directory.

       record         If defined, gives the  pathname  of  the  file  used  to
                      record all outgoing mail.  If not defined, then outgoing
                      mail is not so saved.

       toplines       If defined, gives the number of lines of a message to be
                      printed  out  with  the top command; normally, the first
                      five lines are printed.

FILES
       /usr/spool/mail/*        post office
       ~/mbox                   your old mail
       ~/.mailrc                file giving initial mail commands
       /tmp/R#                  temporary for editor escape
       /usr/lib/Mail.help*      help files
       /usr/lib/Mail.rc         system initialization file
       Message*                 temporary for editing messages

SEE ALSO
       binmail(1), fmt(1), newaliases(1), aliases(5),
       mailaddr(7), sendmail(8)
       `The Mail Reference Manual'

BUGS
       There are many flags that are not documented here. Most are not  useful
       to the general user.
       Usually, mail is just a link to Mail, which can be confusing.

AUTHOR
       Kurt Shoens



4th Berkeley Distribution        1 April 1983                          MAIL(1)