MirBSD manpage: 07.mail(USD)

                             MAIL REFERENCE MANUAL

                                  Kurt Shoens

                                   Revised by

                          Craig Leres and Mark Andrews

                                  Version 5.5

                                December 7, 2021

     1. Introduction

          Mail provides a simple and friendly environment for  sending  and
     receiving mail. It divides incoming mail into its constituent messages
     and allows the user to deal with them in any order.  In  addition,  it
     provides a set of ed-like commands for manipulating messages and send-
     ing mail. Mail offers the user simple editing capabilities to ease the
     composition  of outgoing messages, as well as providing the ability to
     define and send to names which address groups of users.  Finally, Mail
     is  able  to  send  and  receive  messages across such networks as the
     ARPANET, UUCP, and Berkeley network.

          This document describes how to use the Mail program to  send  and
     receive messages.  The reader is not assumed to be familiar with other
     message handling systems, but should  be  familiar  with  the  UNIX[1]
     shell,  the  text  editor,  and some of the common UNIX commands. "The
     UNIX Programmer's Manual," "An Introduction to Csh," and "Text Editing
     with Ex and Vi" can be consulted for more information on these topics.

          A word of explanation is in order here concerning the name  Mail:
     the  original  UNIX  mail program was known as /bin/mail. The BSD mail
     program was called Mail  to  differentiate  it  from  the  older  mail
        [1] UNIX is a trademark of Bell Laboratories.

     USD:7-2                                          Mail Reference Manual

     program. /bin/mail is not included in OpenBSD so there is no ambiguity
     and  the BSD mail program is installed as /usr/bin/mail; /usr/bin/Mail
     is simply a link for backwards compatibility. To further  confuse  the
     issue,  a second link was retained for compatibility with SystemV sys-
     tems, mailx. In this document, we use the original  name,  `Mail',  to
     refer to any of these.

          Here is how messages are handled: the mail system accepts  incom-
     ing  messages  for  you from other people and collects them in a file,
     called your system mailbox. When you log in, the system  notifies  you
     if  there are any messages waiting in your system mailbox.  If you are
     a csh user, you will be notified when new mail arrives if  you  inform
     the  shell  of  the location of your mailbox.  On OpenBSD, your system
     mailbox is located in the directory /var/mail  in  a  file  with  your
     login name.  If your login name is "sam," then you can make csh notify
     you of new mail by including the following line in your .cshrc file:

         set mail=/var/mail/sam

     When you read your mail using Mail, it reads your system  mailbox  and
     separates  that  file into the individual messages that have been sent
     to you.  You can then read, reply to, delete, or save these  messages.
     Each message is marked with its author and the date they sent it.

     2. Common usage

          The Mail command has two distinct usages,  according  to  whether
     one wants to send or receive mail.  Sending mail is simple:  to send a
     message to a user whose login name is, say, "root," use the shell com-

         % Mail root

     then type your message.  When you reach the end of the  message,  type
     an  EOT  (Control-D) at the beginning of a line, which will cause Mail
     to echo "EOT" and return you to the Shell.  When  the  user  you  sent
     mail to next logs in, he will receive the message:

         You have mail.

     to alert him to the existence of your message.

          If, while you are composing the message you decide  that  you  do
     not  wish  to  send  it  after  all,  you  can abort the letter with a
     <Control-C>.  Typing a single <Control-C> causes Mail to print

         (Interrupt -- one more to kill letter)

     Typing a second <Control-C> causes Mail to save your partial letter on
     the  file  "dead.letter"  in your home directory and abort the letter.
     Once you have sent mail to someone, there is no way to undo  the  act,
     so be careful.

     Mail Reference Manual                                          USD:7-3

          The message your recipient reads will consist of the message  you
     typed,  preceded  by  a  line telling who sent the message (your login
     name) and the date and time it was sent.

          If you want to send the same message to several other people, you
     can list their login names on the command line. Thus,

         % Mail sam bob john
         Tuition fees are due next Friday.  Don't forget!!

     will send the reminder to sam, bob, and john.

          If, when you log in, you see the message,

         You have mail.

     you can read the mail by typing simply:

         % Mail

     Mail will respond by typing its version number and date and then list-
     ing  the  messages  you  have waiting.  Then it will type a prompt and
     await your command.  The messages are assigned numbers starting with 1
     --  you  refer to the messages with these numbers. Mail keeps track of
     which messages are new (have been sent since you last read your  mail)
     and read (have been read by you).  New messages have an N next to them
     in the header listing and old, but unread messages have a  U  next  to
     them.  Mail keeps track of new/old and read/unread messages by putting
     a header field called "Status" into your messages.

          To look at a specific message, use the type command, which may be
     abbreviated  to  simply  t. For example, if you had the following mes-

         N 1 root     Wed Sep 21 09:21  "Tuition fees"
         N 2 sam      Tue Sep 20 22:55

     you could examine the first message by giving the command:

         type 1

     which might cause Mail to respond with, for example:

         Message  1:
         From root  Wed Sep 21 09:21:45 1978
         Subject: Tuition fees
         Status: R

         Tuition fees are due next Wednesday.  Don't forget!!

     USD:7-4                                          Mail Reference Manual

     Many Mail commands that operate on messages take a message  number  as
     an  argument  like  the  type command.  For these commands, there is a
     notion of a current message.  When you enter  the  Mail  program,  the
     current  message is initially the first one.  Thus, you can often omit
     the message number and use, for example,


     to type the current message.  As a further shorthand, you can  type  a
     message by simply giving its message number.  Hence,


     would type the first message.

          Frequently, it is useful to read the messages in your mailbox  in
     order,  one  after  another.  You can read the next message in Mail by
     simply typing a newline.  As a special case, you can type a newline as
     your first command to Mail to type the first message.

          If, after reading a message,  you  wish  to  immediately  send  a
     reply, you can do so with the reply command. Reply, like type, takes a
     message number as an argument. Mail then begins a message addressed to
     the user who sent you the message. You may then type in your letter in
     reply, followed by a <Control-D>  at  the  beginning  of  a  line,  as
     before. Mail will type EOT, then type the ampersand prompt to indicate
     its readiness to accept another command.  In our  example,  if,  after
     typing  the  first  message, you wished to reply to it, you might give
     the command:


     Mail responds by typing:

         To: root
         Subject: Re: Tuition fees

     and waiting for you to enter your letter. You are now in  the  message
     collection  mode  described  at the beginning of this section and Mail
     will gather up your message up to a <Control-D>. Note that  it  copies
     the  subject header from the original message.  This is useful in that
     correspondence about a particular matter will tend to retain the  same
     subject  heading,  making  it  easy  to recognize.  If there are other
     header fields in the message, the information found will also be used.
     For  example,  if  the letter had a "To:" header listing several reci-
     pients, Mail would arrange to send your reply to the  same  people  as
     well.  Similarly,  if  the  original message contained a "Cc:" (carbon
     copies to) field, Mail would send your reply to those users, too. Mail
     is  careful,  though,  not  too  send  the message to you, even if you
     appear in the "To:" or "Cc:" field, unless  you  ask  to  be  included
     explicitly.  See section 4 for more details.

     Mail Reference Manual                                          USD:7-5

          After typing in your letter, the dialog with Mail might look like
     the following:

         To: root
         Subject: Tuition fees

         Thanks for the reminder

          The reply command is especially useful  for  sustaining  extended
     conversations  over  the  message system, with other "listening" users
     receiving copies of the conversation.  The reply command can be abbre-
     viated to r.

          Sometimes you will receive  a  message  that  has  been  sent  to
     several people and wish to reply only to the person who sent it. Reply
     with a capital R replies to a message, but sends a copy to the  sender

          If you wish, while reading your mail, to send a message to  some-
     one, but not as a reply to one of your messages, you can send the mes-
     sage directly with the mail command,  which  takes  as  arguments  the
     names  of  the recipients you wish to send to.  For example, to send a
     message to "frank," you would do:

         mail frank
         This is to confirm our meeting next Friday at 4.

     The mail command can be abbreviated to m.

          Normally, each message you receive is saved in the file  mbox  in
     your  login  directory at the time you leave Mail. Often, however, you
     will not want to save a particular message you have  received  because
     it is only of passing interest.  To avoid saving a message in mbox you
     can delete it using the delete command.  In our example,

         delete 1

     will prevent Mail from saving message 1 (from root) in mbox. In  addi-
     tion  to not saving deleted messages, Mail will not let you type them,
     either.  The effect is to make the message disappear altogether, along
     with its number.  The delete command can be abbreviated to simply d.

          Many features of Mail can be tailored to your liking with the set
     command.   The set command has two forms, depending on whether you are
     setting a binary option or a valued option. Binary options are  either
     on  or off.  For example, the "ask" option informs Mail that each time
     you send a message, you want it to prompt you for a subject header, to

     USD:7-6                                          Mail Reference Manual

     be included in the message. To set the "ask" option, you would type

         set ask

          Another useful Mail option is "hold." Unless told otherwise, Mail
     moves  the  messages from your system mailbox to the file mbox in your
     home directory when you leave Mail. If you  want  Mail  to  keep  your
     letters in the system mailbox instead, you can set the "hold" option.

          Valued options are values  which  Mail  uses  to  adapt  to  your
     tastes.   For  example,  the "SHELL" option tells Mail which shell you
     like to use, and is specified by

         set SHELL=/bin/csh

     for example.  Note that no spaces are allowed in  "SHELL=/bin/csh."  A
     complete list of the Mail options appears in section 5.

          Another important valued option is "crt." If you use a fast video
     terminal, you will find that when you print long messages, they fly by
     too quickly for you to read them. With the "crt" option, you can  make
     Mail  print any message larger than a given number of lines by sending
     it through a paging program. This program is specified by  the  valued
     option  PAGER.  If  PAGER is not set, a default paginator is used. For
     example, most CRT users with 24-line screens should do:

         set crt=24

     to paginate messages that will  not  fit  on  their  screens.  In  the
     default state, more (default paginator) prints a screenful of informa-
     tion, then types ``byte XXX'', where `XXX' represents  the  number  of
     bytes paginated. Type a space to see the next screenful.

          Another adaptation to user needs that Mail provides  is  that  of
     aliases.  An  alias is simply a name which stands for one or more real
     user names. Mail sent to an alias is really sent to the list  of  real
     users  associated  with  it.  For example, an alias can be defined for
     the members of a project, so that you can send mail to the whole  pro-
     ject by sending mail to just a single name.  The alias command in Mail
     defines an alias.  Suppose that the users in a project are named  Sam,
     Sally,  Steve,  and  Susan.   To  define an alias called "project" for
     them, you would use the Mail command:

         alias project sam sally steve susan

     The alias command can also be used to provide a  convenient  name  for
     someone whose user name is inconvenient.  For example, if a user named
     "Bob Anderson" had the login name "anderson,"" you might want to use:

         alias bob anderson

     so that you could send mail to the shorter name, "bob."

     Mail Reference Manual                                          USD:7-7

          While the alias and set commands allow  you  to  customize  Mail,
     they  have  the drawback that they must be retyped each time you enter
     Mail. To make them more convenient to use, Mail always looks  for  two
     files  when  it  is  invoked.   It  first  reads  a  system  wide file
     "/etc/mail.rc," then a user specific file, ".mailrc," which  is  found
     in  the  user's  home directory. The system wide file is maintained by
     the system administrator and contains set commands that are applicable
     to all users of the system. The ".mailrc" file is usually used by each
     user to set options the way he likes and  define  individual  aliases.
     For example, my .mailrc file looks like this:

         set ask nosave SHELL=/bin/csh

     As you can see, it is possible to set many options  in  the  same  set
     command.  The "nosave" option is described in section 5.

          Mail aliasing is implemented at the system-wide level by the mail
     delivery  system  sendmail.  These  aliases  are  stored  in  the file
     /etc/mail/aliases and are accessible to all users of the  system.  The
     lines in /etc/mail/aliases are of the form:

         alias: name<1>, name<2>, name<3>

     where alias is the mailing list name and the name<i> are  the  members
     of the list.  Long lists can be continued onto the next line by start-
     ing the next line with a space or tab.  Remember that you must execute
     the  command newaliases (as superuser) after editing /etc/mail/aliases
     since the delivery system uses an indexed file created by newaliases.

          We have seen that Mail can be invoked with command line arguments
     which  are people to send the message to, or with no arguments to read
     mail. Specifying the -f flag on the command line causes Mail  to  read
     messages  from  a file other than your system mailbox. For example, if
     you have a collection of messages in the file "letters"  you  can  use
     Mail to read them with:

         % Mail -f letters

     You can use all the Mail commands described in this document to  exam-
     ine,  modify,  or delete messages from your "letters" file, which will
     be rewritten when you leave  Mail  with  the  quit  command  described

          Since mail that you read is saved in the file mbox in  your  home
     directory  by  default,  you  can  read mbox in your home directory by
     using simply

         % Mail -f

          Normally, messages that you examine using the  type  command  are
     saved in the file "mbox" in your home directory if you leave Mail with
     the quit command described below. If you wish to retain a  message  in

     USD:7-8                                          Mail Reference Manual

     your  system  mailbox you can use the preserve command to tell Mail to
     leave it there.  The  preserve  command  accepts  a  list  of  message
     numbers, just like type and may be abbreviated to pre.

          Messages in your system mailbox that you do not examine are  nor-
     mally  retained  in  your system mailbox automatically. If you wish to
     have such a message saved in mbox without reading it, you may use  the
     mbox command to have them so saved.  For example,

         mbox 2

     in our example would cause the second message (from sam) to  be  saved
     in  mbox  when  the  quit command is executed. Mbox is also the way to
     direct messages to your mbox file if you have set  the  "hold"  option
     described above. Mbox can be abbreviated to mb.

          When you have perused all the messages of interest, you can leave
     Mail  with  the  quit command, which saves the messages you have typed
     but not deleted in the file mbox in  your  login  directory.   Deleted
     messages  are discarded irretrievably, and messages left untouched are
     preserved in your system mailbox so that you will see  them  the  next
     time you type:

         % Mail

     The quit command can be abbreviated to simply q.

          If you wish for some reason to leave Mail quickly without  alter-
     ing  either  your  system  mailbox or mbox, you can type the x command
     (short for exit), which will  immediately  return  you  to  the  Shell
     without changing anything.

          If, instead, you want to execute a Shell command without  leaving
     Mail,  you can type the command preceded by an exclamation point, just
     as in the text editor.  Thus, for instance:


     will print the current date without leaving Mail.

          Finally, the help command is available to print out a brief  sum-
     mary  of  the  Mail  commands, using only the single character command

     3. Maintaining folders

          Mail includes a simple facility for maintaining  groups  of  mes-
     sages together in folders.  This section describes this facility.

          To use the folder facility, you must tell Mail where you wish  to
     keep  your  folders.   Each  folder of messages will be a single file.
     For convenience, all of your folders are kept in a single directory of
     your  choosing.   To  tell  Mail where your folder directory is, put a

     Mail Reference Manual                                          USD:7-9

     line of the form

         set folder=letters

     in your .mailrc file.  If, as in the example above, your folder direc-
     tory  does  not  begin  with  a `/,' Mail will assume that your folder
     directory is to be found starting from your home directory.  Thus,  if
     your  home  directory  is  /home/person the above example told Mail to
     find your folder directory in /home/person/letters.

          Anywhere a file name is expected, you can use a folder name, pre-
     ceded  with `+.'  For example, to put a message into a folder with the
     save command, you can use:

         save +classwork

     to save the current message in the classwork folder.  If the classwork
     folder  does  not  yet  exist, it will be created.  Note that messages
     which are saved with the save command are automatically  removed  from
     your system mailbox.

          In order to make a copy of a message in a folder without  causing
     that message to be removed from your system mailbox, use the copy com-
     mand, which is identical in all other respects to  the  save  command.
     For example,

         copy +classwork

     copies the current message into the classwork folder and leaves a copy
     in your system mailbox.

          The folder command can be used to direct Mail to the contents  of
     a different folder. For example,

         folder +classwork

     directs Mail to read the contents of the classwork folder.  All of the
     commands  that  you can use on your system mailbox are also applicable
     to folders, including type, delete, and reply. To inquire which folder
     you are currently editing, use simply:


          To list your current set of folders, use the folders command.

          To start Mail reading one of your folders, you  can  use  the  -f
     option described in section 2.  For example:

         % Mail -f +classwork

     will cause Mail to read your classwork folder without looking at  your
     system mailbox.

     USD:7-10                                         Mail Reference Manual

     4. More about sending mail

     4.1. Tilde escapes

          While typing in a message to be sent to others, it is often  use-
     ful to be able to invoke the text editor on the partial message, print
     the message, execute a shell command, or do some other auxiliary func-
     tion.  Mail  provides  these capabilities through tilde escapes, which
     consist of a tilde (~) at the beginning of a line, followed by a  sin-
     gle character which indicates the function to be performed.  For exam-
     ple, to print the text of the message so far, use:


     which will print a line of dashes, the recipients of your message, and
     the  text  of  the message so far. Since Mail requires two consecutive
     <Control-C>'s to abort a letter, you can use a single  <Control-C>  to
     abort  the  output  of  ~p  or any other ~ escape without killing your

          If you are dissatisfied with the message as it  stands,  you  can
     invoke the text editor on it using the escape


     which causes the message to be copied into a  temporary  file  and  an
     instance  of the editor to be spawned.  After modifying the message to
     your satisfaction, write it out and quit the editor. Mail will respond
     by typing


     after which you may continue typing text which  will  be  appended  to
     your  message, or type <Control-D> to end the message. A standard text
     editor is provided by Mail. You can override this default  by  setting
     the  valued option "EDITOR" to something else.  For example, you might

         set EDITOR=/bin/ed

          Many systems offer a screen editor as an alternative to the stan-
     dard  text  editor,  such as the vi editor from UC Berkeley, or mg, an
     emacs-like editor. To use  the  screen,  or  visual  editor,  on  your
     current message, you can use the escape,


     ~v works like ~e, except that the screen editor is invoked instead.  A
     default screen editor is defined by Mail. If it does not suit you, you
     can set the valued option "VISUAL" to the path  name  of  a  different

     Mail Reference Manual                                         USD:7-11

          It is often useful to be able to include  the  contents  of  some
     file in your message; the escape

         ~r filename

     is provided for this purpose, and causes the named file to be appended
     to  your  current message. Mail complains if the file doesn't exist or
     can't be read.  If the read is successful, the  number  of  lines  and
     characters  appended  to  your message is printed, after which you may
     continue appending text.  The filename may contain  shell  metacharac-
     ters  like  * and ? which are expanded according to the conventions of
     your shell.

          As a special case of ~r, the escape


     reads in the file "dead.letter" in your home directory.  This is often
     useful since Mail copies the text of your message there when you abort
     a message with <Control-C>.

          To save the current text of your message on a file  you  may  use

         ~w filename

     escape. Mail will print out the number of lines and characters written
     to  the file, after which you may continue appending text to your mes-
     sage. Shell metacharacters may be used in the filename, as in  ~r  and
     are expanded with the conventions of your shell.

          If you are sending mail from within Mail's command mode  you  can
     read  a message sent to you into the message you are constructing with
     the escape:

         ~m 4

     which will read message 4 into the current message, shifted  right  by
     one  tab  stop.  You can name any non-deleted message, or list of mes-
     sages. Messages can also be forwarded without shifting by a  tab  stop
     with ~f. This is the usual way to forward a message.

          If, in the process of composing a  message,  you  decide  to  add
     additional  people  to  the  list of message recipients, you can do so
     with the escape

         ~t name1 name2 ...

     You may name as few or many additional recipients as you  wish.   Note
     that the users originally on the recipient list will still receive the
     message; you cannot remove someone from the recipient list with ~t.

     USD:7-12                                         Mail Reference Manual

          If you wish, you can associate a subject  with  your  message  by
     using the escape

         ~s Arbitrary string of text

     which replaces any previous subject with "Arbitrary string  of  text."
     The  subject,  if  given, is sent near the top of the message prefixed
     with "Subject:" You can see what the message will look like  by  using

          For political reasons, one occasionally prefers to  list  certain
     people  as recipients of carbon copies of a message rather than direct
     recipients.  The escape

         ~c name1 name2 ...

     adds the named people to the "Cc:" list, similar to ~t. Again, you can
     execute ~p to see what the message will look like.

          The escape

         ~b name1 name2 ...

     adds the named people to the "Cc:" list, but does not make  the  names
     visible in the "Cc:" line ("blind" carbon copy).

          The recipients of  the  message  together  constitute  the  "To:"
     field,  the  subject  the  "Subject:" field, and the carbon copies the
     "Cc:" field.  If you wish to edit these in ways  impossible  with  the
     ~t, ~s, ~c and ~b escapes, you can use the escape


     which prints "To:" followed by the  current  list  of  recipients  and
     leaves  the cursor (or printhead) at the end of the line.  If you type
     in ordinary characters, they are appended to the end  of  the  current
     list  of  recipients.   You can also use your erase character to erase
     back into the list of recipients, or your kill character to erase them
     altogether.  Thus,  for example, if your erase and kill characters are
     the standard (on printing terminals) <Control-H> and <Control-U> keys,

         To: root kurt^H^H^H^Hbill

     would change the initial recipients "root kurt" to "root  bill."  When
     you  type  a newline, Mail advances to the "Subject:" field, where the
     same rules apply.  Another newline brings  you  to  the  "Cc:"  field,
     which  may  be edited in the same fashion.  Another newline brings you
     to the "Bcc:" ("blind" carbon copy)  field,  which  follows  the  same
     rules  as  the "Cc:" field.  Another newline leaves you appending text
     to the end of your message.  You can use ~p to print the current  text
     of the header fields and the body of the message.

     Mail Reference Manual                                         USD:7-13

          To effect a temporary escape to the shell, the escape


     is used, which executes  command  and  returns  you  to  mailing  mode
     without  altering  the text of your message.  If you wish, instead, to
     filter the body of your message through a shell command, then you  can


     which pipes your message through the command and uses  the  output  as
     the new text of your message.  If the command produces no output, Mail
     assumes that something is amiss and retains the old  version  of  your
     message.   A  frequently-used  filter  is the command fmt, designed to
     format outgoing mail.

          To effect a temporary escape to Mail command  mode  instead,  you
     can use the

         ~:Mail command

     escape.  This is especially useful for retyping the  message  you  are
     replying to, using, for example:


     It is also useful for setting options and modifying aliases.

          If you wish abort the current message, you can use the escape


     This will terminate the current message and return you  to  the  shell
     (or  Mail  if  you were using the mail command). If the save option is
     set, the message will be copied to the file "dead.letter" in your home

          If you wish (for some reason) to send a message that  contains  a
     line beginning with a tilde, you must double it.  Thus, for example,

         ~~This line begins with a tilde.

     sends the line

         ~This line begins with a tilde.

          Finally, the escape


     prints out a brief summary of the available tilde escapes.

     USD:7-14                                         Mail Reference Manual

          On some terminals (particularly ones with no lower case)  tilde's
     are  difficult to type. Mail allows you to change the escape character
     with the "escape" option.  For example, I set

         set escape=]

     and use a right bracket instead of a tilde.  If I ever need to send  a
     line  beginning with right bracket, I double it, just as for ~. Chang-
     ing the escape character removes the special meaning of ~.

     4.2. Network access

          This section describes how  to  send  mail  to  people  on  other
     machines. Recall that sending to a plain login name sends mail to that
     person on your machine.  If your machine is  directly  (or  sometimes,
     even,  indirectly) connected to the Internet, you can send messages to
     people on the Internet using a name of the form


     where name is the login name of the person  you're  trying  to  reach,
     host  is  the  name  of the machine on the Internet, and domain is the
     higher-level scope within which the hostname is known, e.g.  EDU  (for
     educational  institutions),  COM  (for  commercial entities), GOV (for
     governmental agencies), ARPA for many other things,  BITNET  or  CSNET
     for those networks.

          If your recipient logs in on a machine connected to yours by UUCP
     (the  Bell  Laboratories supplied network that communicates over tele-
     phone lines), sending mail can be a bit  more  complicated.  You  must
     know  the  list  of machines through which your message must travel to
     arrive at his site.  So, if  his  machine  is  directly  connected  to
     yours, you can send mail to him using the syntax:


     where, again, host is the name of the machine and name  is  the  login
     name.  If  your message must go through an intermediary machine first,
     you must use the syntax:


     and so on.  It is actually a feature of UUCP that the map of  all  the
     systems  in  the  network  is  not known anywhere (except where people
     decide to write  it  down  for  convenience).   Talk  to  your  system
     administrator  about  good ways to get places; the uuname command will
     tell you systems whose names are recognized, but not  which  ones  are
     frequently called or well-connected.

          When you use the reply command to respond to a letter, there is a
     problem  of figuring out the names of the users in the "To:" and "Cc:"
     lists relative to the current machine. If the original letter was sent
     to  you  by  someone  on the local machine, then this problem does not

     Mail Reference Manual                                         USD:7-15

     exist, but if the message came from a remote machine, the problem must
     be  dealt  with.  Mail  uses a heuristic to build the correct name for
     each user relative to the local machine.  So, when you reply to remote
     mail, the names in the "To:" and "Cc:" lists may change somewhat.

     4.3. Special recipients

          As described previously, you can send mail to either  user  names
     or  alias  names.   It  is  also possible to send messages directly to
     files or to programs, using special conventions.  If a recipient  name
     has  a  `/'  in  it or begins with a `+', it is assumed to be the path
     name of a file into which to send the message.  If  the  file  already
     exists,  the  message is appended to the end of the file.  If you want
     to name a file in your current directory (ie,  one  for  which  a  `/'
     would not usually be needed) you can precede the name with `./' So, to
     send mail to the file "memo" in the current directory,  you  can  give
     the command:

         % Mail ./memo

     If the name begins with a `+,' it is expanded into the full path  name
     of the folder name in your folder directory. This ability to send mail
     to files can be used for a variety of purposes, such as maintaining  a
     journal and keeping a record of mail sent to a certain group of users.
     The second example can be done automatically  by  including  the  full
     pathname of the record file in the alias command for the group.  Using
     our previous alias example, you might give the command:

         alias project sam sally steve susan /usr/project/mail_record

     Then,  all  mail  sent  to  "project"  would  be  saved  on  the  file
     "/usr/project/mail_record" as well as being sent to the members of the
     project.  This file can be examined using Mail -f.

          It is sometimes useful to send mail directly to  a  program,  for
     example one might write a project billboard program and want to access
     it using Mail. To send messages to the billboard program, one can send
     mail  to  the special name `|billboard' for example. Mail treats reci-
     pient names that begin with a `|' as a program to send  the  mail  to.
     An  alias  can  be set up to reference a `|' prefaced name if desired.
     Caveats: the shell treats `|' specially, so it must be quoted  on  the
     command  line.   Also,  the  `| program' must be presented as a single
     argument to mail.  The safest course is to surround  the  entire  name
     with  double quotes.  This also applies to usage in the alias command.
     For example, if we wanted to alias `rmsgs' to `rmsgs -s' we would need
     to say:

         alias rmsgs "| rmsgs -s"

     USD:7-16                                         Mail Reference Manual

     5. Additional features

          This section describes some additional commands useful for  read-
     ing your mail, setting options, and handling lists of messages.

     5.1. Message lists

          Several Mail commands accept a list of messages as  an  argument.
     Along  with type and delete, described in section 2, there is the from
     command, which prints the message headers associated with the  message
     list passed to it. The from command is particularly useful in conjunc-
     tion with some of the message list features described below.

          A message list consists of a list of message numbers, ranges, and
     names,  separated  by  spaces  or tabs.  Message numbers may be either
     decimal numbers, which directly specify messages, or one of  the  spe-
     cial  characters  "^",  ".",  or  "$"  to  specify the first relevant,
     current, or last relevant message, respectively. Relevant here  means,
     for  most  commands  "not deleted" and "deleted" for the undelete com-

          A range of messages consists of two message numbers (of the  form
     described  in  the  previous  paragraph) separated by a dash. Thus, to
     print the first four messages, use

         type 1-4

     and to print all the messages from the current  message  to  the  last
     message, use

         type .-$

          A name is a user name.  The user names given in the message  list
     are  collected  together  and  each message selected by other means is
     checked to make sure it was sent by one of the  named  users.  If  the
     message  consists  entirely  of user names, then every message sent by
     one of those users that is relevant (in the sense  described  earlier)
     is selected.  Thus, to print every message sent to you by "root," do

         type root

          As a shorthand notation, you can specify simply "*" to get  every
     relevant (same sense) message.  Thus,

         type *

     prints all undeleted messages,

         delete *

     deletes all undeleted messages, and

     Mail Reference Manual                                         USD:7-17

         undelete *

     undeletes all deleted messages.

          You can search for the presence of a word in subject  lines  with
     /.  For example, to print the headers of all messages that contain the
     word "PASCAL," do:

         from /pascal

     Note that subject searching ignores upper/lower case differences.

     5.2. List of commands

          This section describes  all  the  Mail  commands  available  when
     receiving mail.

     -    The - command goes to the previous message and prints it.  The  -
          command  may be given a decimal number n as an argument, in which
          case the nth previous message is gone to and printed.

     ?    Prints a brief summary of commands.

     !    Used to preface a command to be executed by the shell.

          Like print, but also print out ignored header fields.   See  also
          print, ignore, and retain. Print can be abbreviated to P.

     Reply or Respond
          Note the capital R in the name. Frame a reply to one or more mes-
          sages.  The  reply  (or replies if you are using this on multiple
          messages) will be sent ONLY to the person who sent you  the  mes-
          sage  (respectively,  the set of people who sent the messages you
          are replying to). You can add people using the  ~t,  ~c,  and  ~b
          tilde  escapes.  The subject in your reply is formed by prefacing
          the subject in the original message with "Re:" unless it  already
          began  thus. If the original message included a "reply-to" header
          field, the reply will go only to the recipient named  by  "reply-
          to."  You  type in your message using the same conventions avail-
          able to you through the mail command. The Reply command is  espe-
          cially useful for replying to messages that were sent to enormous
          distribution groups when you really just want to send  a  message
          to  the  originator.   Use  it  often. Reply (and Respond) can be
          abbreviated to R.

          Identical to the Print command. Type can be abbreviated to T.

          Define a name to stand for a set of other  names.  This  is  used
          when  you  want to send messages to a certain group of people and
          want to avoid retyping their names. For example

     USD:7-18                                         Mail Reference Manual

              alias project john sue willie kathryn

          creates an alias project which expands to the four  people  John,
          Sue,  Willie,  and  Kathryn.  If  no  arguments  are  given,  all
          currently-defined aliases are printed. If one argument is  given,
          that alias is printed (if it exists). Alias can be abbreviated to

          If you have accounts on several machines, you may  find  it  con-
          venient  to  use /etc/mail/aliases on all the machines except one
          to direct your mail to a single account. The  alternates  command
          is  used  to  inform  Mail  that each of these other addresses is
          really you. Alternates takes a list of user names  and  remembers
          that  they  are all actually you. When you reply to messages that
          were sent to one of these alternate names, Mail will  not  bother
          to  send a copy of the message to this other address (which would
          simply be directed back to you by the alias mechanism). If alter-
          nates is given no argument, it lists the current set of alternate
          names. Alternates is usually used in the .mailrc file. Alternates
          can be abbreviated to alt.

          The chdir command allows you to change  your  current  directory.
          Chdir  takes a single argument, which is taken to be the pathname
          of the directory to change to.  If no argument  is  given,  chdir
          changes to your home directory. Chdir can be abbreviated to c.

          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. Copy can be abbreviated to co.

          Deletes a list of messages.  Deleted messages  can  be  reclaimed
          with the undelete command. Delete can be abbreviated to d.

     dp or dt
          These commands delete the current message and print the next mes-
          sage.  They are useful for quickly reading and disposing of mail.
          If there is no next message, Mail says ``No more messages.''

          To edit individual messages using the text editor, the edit  com-
          mand  is  provided.  The edit command takes a list of messages as
          described under the type command and processes each by writing it
          into the file Messagex where x is the message number being edited
          and executing the text editor on it. When  you  have  edited  the
          message  to  your  satisfaction,  write the message out and quit,
          upon which Mail will read the message back and remove  the  file.
          Edit can be abbreviated to e.

     Mail Reference Manual                                         USD:7-19

          Marks the end of the then-part of an if statement and the  begin-
          ning of the part to take effect if the condition of the if state-
          ment is false.

          Marks the end of an if statement.

     exit or xit
          Leave Mail without updating the system mailbox or  the  file  you
          were  reading. Thus, if you accidentally delete several messages,
          you can use exit to avoid scrambling your mailbox.  Exit  can  be
          abbreviated to ex or x.

          The same as folder. File can be abbreviated to fi.

          List the names of the folders in your folder directory.

          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 the new
          file. Some special conventions are recognized for the name:

                        Name                  Meaning
                       #          Previous file read
                       %          Your system mailbox
                       %name      Name's system mailbox
                       &          Your ~/mbox file
                       +folder    A file in your folder directory

          Folder can be abbreviated to fo.

          The from command takes a list of  messages  and  prints  out  the
          header lines for each one; hence

              from joe

          is the easy way to display all the message  headers  from  "joe."
          From can be abbreviated to f.

          When you start up Mail to read your mail, it  lists  the  message
          headers that you have. These headers tell you who each message is
          from, when they were received, how many lines and characters each

     USD:7-20                                         Mail Reference Manual

          message  is,  and the "Subject:" header field of each message, if
          present.  In addition, Mail tags the message header of each  mes-
          sage that has been the object of the preserve command with a "P."
          Messages that have been saved or written are flagged with a  "*."
          Finally, deleted messages are not printed at all.  If you wish to
          reprint the current list of message headers, you can do  so  with
          the  headers  command.  The headers command (and thus the initial
          header listing) only lists the first so many message headers. The
          number  of  headers listed depends on the speed of your terminal.
          Mail maintains a notion of the current "window"  into  your  mes-
          sages  for the purposes of printing headers. Use the z command to
          move forward a window, and z- to move back a window. You can move
          Mail's notion of the current window directly to a particular mes-
          sage by using, for example,

              headers 40

          to move Mail's attention  to  the  messages  around  message  40.
          Headers can be abbreviated to h.

          Print a brief and usually out of date help message about the com-
          mands  in  Mail. The man page for mail is usually more up-to-date
          than either the help message or this manual. It is also a synonym
          for ?.

          Arrange to hold a list of messages in the system mailbox, instead
          of  moving  them to the file mbox in your home directory.  If you
          set the binary option hold, this will happen by default. It  does
          not override the delete command. Hold can be abbreviated to ho.

     if   Commands in your ".mailrc" file  can  be  executed  conditionally
          depending  on  whether you are sending or receiving mail with the
          if command.  For example, you can do:

              if receive

          An else form is also available:

              if send

          Note that the only allowed conditions are receive and send.

          N.B.: Ignore has been superseded by retain.
          Add the list of header fields named to the  ignore  list.  Header

     Mail Reference Manual                                         USD:7-21

          fields  in  the ignore list are not printed on your terminal when
          you print a message.  This allows you  to  suppress  printing  of
          certain  machine-generated  header  fields, such as Via which are
          not usually of interest.  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.

          Incorporate any new messages that  have  arrived  while  mail  is
          being  read. The new messages are added to the end of the message
          list, and the current message is reset to be the first  new  mail
          message.  This  does  not renumber the existing message list, nor
          does it cause any changes made so far to be saved.

          List the valid Mail commands. List can be abbreviated to l.

          Send mail to one or more people.  If you have the ask option set,
          Mail will prompt you for a subject to your message.  Then you can
          type in your message, using tilde escapes as described in section
          4  to edit, print, or modify your message.  To signal your satis-
          faction with the message and send it,  type  <Control-D>  at  the
          beginning of a line, or a . alone on a line if you set the option
          dot.  To  abort  the  message,  type  two  interrupt   characters
          (Control-C  by  default)  in a row or use the ~q escape. The mail
          command can be abbreviated to m.

          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.

          Takes a message list and invokes the pager on that list.

     next or +
          The next command goes to the next message and types it.  If given
          a message list, next goes to the first such message and types it.

              next root

          goes to the next message sent by "root" and types it.   The  next
          command  can be abbreviated to simply a newline, which means that
          one can go to and type a message by  simply  giving  its  message
          number or one of the magic characters "^" "." or "$". Thus,


          prints the current message and

     USD:7-22                                         Mail Reference Manual


          prints message 4, as described previously. Next can  be  abbrevi-
          ated to n.

          Same as hold. Cause a list of messages to be held in your  system
          mailbox when you quit. Preserve can be abbreviated to pre.

          Print the specified messages. If the crt variable  is  set,  mes-
          sages  longer  than  the  number  of lines it indicates are paged
          through the command specified by the PAGER  variable.  The  print
          command can be abbreviated to p.

          Terminates the session, saving all undeleted, unsaved and unwrit-
          ten  messages  in  the  user's mbox file in their login directory
          (messages marked as having been read),  preserving  all  messages
          marked  with hold or preserve or never referenced in their system
          mailbox. Any messages that were deleted, saved, written, or saved
          to  mbox  are  removed from their 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. Quit can  be  abbrevi-
          ated to q.

     reply or respond
          Frame a reply to a single message. The reply will be sent to  the
          person who sent you the message (to which you are replying), plus
          all the people who received the  original  message,  except  you.
          You  can  add people using the ~t, ~c, and ~b tilde escapes.  The
          subject in your reply is formed by prefacing the subject  in  the
          original  message with "Re:" unless it already began thus. If the
          original message included a "reply-to" header  field,  the  reply
          will  go  only  to the recipient named by "reply-to." You type in
          your message using the same conventions available to you  through
          the mail command. The reply (and respond) command can be abbrevi-
          ated to r.

          Add the list of header fields named to the  retained  list.  Only
          the  header  fields in the retain list are shown on your terminal
          when you print a message. All other header fields are suppressed.
          The Type and Print commands can be used to print a message in its
          entirety. If retain is executed with no arguments, it  lists  the
          current set of retained fields.

          It is often useful to be able to save messages on related  topics
          in  a  file.   The save command gives you the ability to do this.

     Mail Reference Manual                                         USD:7-23

          The save command takes as an argument a list of message  numbers,
          followed  by  the name of the file in which to save the messages.
          The messages are appended to the named file, thus allowing one to
          keep  several messages in the file, stored in the order they were
          put there. The filename in quotes, followed by the line count and
          character  count  is echoed on the user's terminal. An example of
          the save command relative to our running example is:

              s 1 2 tuitionmail

          Saved messages are not automatically saved in mbox at quit  time,
          nor are they selected by the next command described above, unless
          explicitly specified. Save can be abbreviated to s.

          saveignore is to save what ignore is to print  and  type.  Header
          fields thus marked are filtered out when saving a message by save
          or when automatically saving to mbox.

          saveretain is to save what retain is to print  and  type.  Header
          fields  thus  marked  are the only ones saved with a message when
          saving by save or when automatically saving to  mbox.  saveretain
          overrides saveignore.

          Set an option or give an option a value.  Used to customize Mail.
          Section  5.3  contains  a  list  of  the options.  Options can be
          binary, in which case they are on or off, or  valued.  To  set  a
          binary option option on, do

              set option

          To give the valued option option the value value, do

              set option=value

          There must be no space before or after  the  ``=''  sign.  If  no
          arguments  are  given,  all  variable values are printed. Several
          options can be specified in a single  set  command.  Set  can  be
          abbreviated to se.

          The shell command allows  you  to  escape  to  the  shell.  Shell
          invokes  an  interactive shell and allows you to type commands to
          it. When you leave the shell, you will return to Mail. The  shell
          used  is a default assumed by Mail; you can override this default
          by setting the valued option "SHELL," eg:

              set SHELL=/bin/csh

          Shell can be abbreviated to sh.

     USD:7-24                                         Mail Reference Manual

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

          The source command reads mail commands from a file.  It is useful
          when  you  are  trying to fix your ".mailrc" file and you need to
          re-read it. Source can be abbreviated to so.

          The top command takes a message list and prints  the  first  five
          lines  of each addressed message. If you wish, you can change the
          number of lines that top prints out by setting the valued  option
          "toplines." On a CRT terminal,

              set toplines=10

          might be preferred. Top can be abbreviated to to.

          Same as print. Takes a message list and types out each message on
          the terminal. The type command can be abbreviated to t.

          Takes a list of names defined by alias commands and discards  the
          remembered  groups  of  users. The group names no longer have any

          Takes a message list and marks each message as not being deleted.
          Undelete can be abbreviated to u.

          Takes a message list and marks each message as  not  having  been
          read. Unread can be abbreviated to U.

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

          It is often useful to be able to invoke one of two editors, based
          on  the  type  of  terminal  one  is  using.  To invoke a display
          oriented editor, you can use the visual command.   The  operation
          of  the visual command is otherwise identical to that of the edit

          Both the edit and visual commands assume some default  text  edi-
          tors.  The  default  for "EDITOR" is /usr/bin/ex. The default for
          "VISUAL" is /usr/bin/vi. These default editors can be  overridden
          by  the valued options "EDITOR" and "VISUAL" for the standard and
          screen editors.  You might want to do:

     Mail Reference Manual                                         USD:7-25

              set EDITOR=/bin/ed VISUAL=/usr/bin/mg

          Visual can be abbreviated to v.

          The save command always writes the entire message, including  the
          headers,  into  the  file.  If you want to write just the message
          itself, you can use the write command.  The write command has the
          same syntax as the save command, and can be abbreviated to simply
          w. Thus, we could write the second message by doing:

              w 2 file.c

          As suggested by this example, the write  command  is  useful  for
          such  tasks as sending and receiving source program text over the
          message system. The filename in quotes,  followed  by  additional
          file information, is echoed on the user's terminal.

     z    Mail presents message headers in windowfuls  as  described  under
          the headers command. You can move Mail's attention forward to the
          next window by giving the


          command.  Analogously, you can move to the previous window with:


     5.3. Custom options

          Throughout this manual, we  have  seen  examples  of  binary  and
     valued  options.  This section describes each of the options in alpha-
     betical order, including some that you have not  seen  yet.  To  avoid
     confusion,  please  note  that  the  options are either all lower case
     letters or all upper case letters.  When I start a sentence  such  as:
     "Ask"  causes Mail to prompt you for a subject header, I am only capi-
     talizing "ask" as a courtesy to English.

          The valued option "EDITOR" defines the pathname of the text  edi-
          tor to be used in the edit command and ~e escape. If not defined,
          /usr/bin/ex is used.

          Pathname of the directory lister to use in the  folders  command.
          Default is /bin/ls.

          The name of the mbox file. It can be the name of  a  folder.  The
          default is ``mbox'' in the user's home directory.

     USD:7-26                                         Mail Reference Manual

          Pathname of the program to use  for  paginating  output  when  it
          exceeds  crt lines. A default paginator is used if this option is
          not defined.

          The valued option "SHELL" gives the  path  name  of  your  shell.
          This shell is used for the ! command and ~! escape.  In addition,
          this shell expands file names with shell  metacharacters  like  *
          and ? in them.

          The valued option "VISUAL" defines the  pathname  of  the  screen
          editor  to  be  used  in the visual command and ~v escape. If not
          defined, /usr/bin/vi is used.

          The "append" option is binary and causes messages saved  in  mbox
          to  be  appended to the end rather than prepended. Normally, Mail
          will put messages in mbox in the same order that the system  puts
          messages  in  your  system  mailbox. By setting "append," you are
          requesting that mbox be appended to regardless.   It  is  in  any
          event quicker to append.

          "Ask" is a binary option which causes Mail to prompt you for  the
          subject  of  each  message you send. If you respond with simply a
          newline, no subject field will be sent.

          "Askbcc" is a binary option which causes you to be  prompted  for
          additional  blind  carbon copy recipients at the end of each mes-
          sage.  Responding with a newline shows your satisfaction with the
          current list.

          "Askcc" is a binary option which causes you to  be  prompted  for
          additional  carbon  copy  recipients  at the end of each message.
          Responding with  a  newline  shows  your  satisfaction  with  the
          current list.

          Causes new mail to be automatically incorporated when it arrives.
          Setting  this  is  similar  to  issuing  the  inc command at each
          prompt, except that the current message is  not  reset  when  new
          mail arrives.

          "Autoprint" is a binary option which causes the delete command to
          behave  like  dp  -- thus, after deleting a message, the next one
          will be typed automatically.  This is useful when  quickly  scan-
          ning and deleting messages in your mailbox.

     Mail Reference Manual                                         USD:7-27

          The valued option is used as a threshold to determine how long  a
          message must be before PAGER is used to read it.

          The binary option "debug"  causes  debugging  information  to  be
          displayed. Use of this option is the same as using the -d command
          line flag.

          "Dot" is a binary option which, if set, causes Mail to  interpret
          a period alone on a line as the terminator of the message you are

          To allow you to change the escape  character  used  when  sending
          mail,  you  can  set  the  valued option "escape." Only the first
          character of the "escape" option is used, and it must be  doubled
          if  it is to appear as the first character of a line of your mes-
          sage.  If you change your escape character, then ~ loses all  its
          special  meaning,  and need no longer be doubled at the beginning
          of a line.

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

          The binary option "hold" causes messages that have been read  but
          not  manually  dealt  with to be held in the system mailbox. This
          prevents such messages from being automatically swept  into  your
          mbox file.

          The binary option "ignore"  causes  <Control-C>  characters  from
          your terminal to be ignored and echoed as @'s while you are send-
          ing mail.  <Control-C> characters retain their  original  meaning
          in  Mail  command mode. Setting the "ignore" option is equivalent
          to supplying the -i flag on the command line as described in sec-
          tion 6.

          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.

          String used by the ~m tilde escape  for  indenting  messages,  in
          place  of  the  normal tab character (`^I'). Be sure to quote the
          value if it contains spaces or tabs.

     USD:7-28                                         Mail Reference Manual

          The "keep" option causes Mail to  truncate  your  system  mailbox
          instead  of  deleting it when it is empty.  This is useful if you
          elect to protect your mailbox, which you would do with the  shell

              chmod 600 /var/mail/yourname

          where yourname is your login name.  If you do not do this, anyone
          can probably read your mail, although people usually don't.

          When you save a message, Mail usually discards it when you  quit.
          To retain all saved messages, set the "keepsave" option.

          When sending mail to an alias, Mail makes sure that  if  you  are
          included  in  the alias, that mail will not be sent to you.  This
          is useful if a single alias is being used by all members  of  the
          group.   If  however,  you wish to receive a copy of all the mes-
          sages you send to the  alias,  you  can  set  the  binary  option

          The binary option "noheader" suppresses the printing of the  ver-
          sion  and headers when Mail is first invoked. Setting this option
          is the same as using -N on the command line.

          Normally, when you abort a message with two  <Control-C>'s,  Mail
          copies  the partial letter to the file "dead.letter" in your home
          directory.  Setting the binary option "nosave" prevents this.

          Reverses the sense of reply and Reply commands.

          The binary option "quiet" suppresses the printing of the  version
          when  Mail  is first invoked, as well as printing the for example
          "Message 4:" from the type command.

          If you love to keep records, then the valued option "record"  can
          be set to the name of a file to save your outgoing mail. Each new
          message you send is appended to the end of the file.

          When Mail initially prints the message headers, it determines the
          number  to  print  by looking at the speed of your terminal.  The
          faster your terminal, the  more  it  prints.  The  valued  option
          "screen"  overrides  this calculation and specifies how many mes-
          sage headers you want printed.  This  number  is  also  used  for
          scrolling with the z command.

     Mail Reference Manual                                         USD:7-29

          If this option is set, then a message-list specifier in the  form
          ``/x:y'' will expand to all messages containing the substring `y'
          in the header field `x'. The string search is  case  insensitive.
          If  `x'  is  omitted,  it  will default to the ``Subject'' header
          field. The form ``/to:y'' is a special case, and will  expand  to
          all  messages containing the substring `y' in the ``To'', ``Cc'',
          or ``Bcc'' header fields. The check for ``to'' is case sensitive,
          so that ``/To:y'' can be used to limit the search for `y' to just
          the ``To:'' field.

          To use an alternate mail  delivery  system,  set  the  "sendmail"
          option  to  the full pathname of the program to use.  Note:  this
          is not for everyone!  Most people should use the default delivery

          The valued option "toplines" defines the number of lines that the
          "top" command will print out instead of the default five lines.

          The binary option "verbose" causes Mail to invoke  sendmail  with
          the -v flag, which causes it to go into verbose mode and announce
          expansion of  aliases,  etc.  Setting  the  "verbose"  option  is
          equivalent to invoking Mail with the -v flag as described in sec-
          tion 6.

     6. Command line options

          This section describes command line options  for  Mail  and  what
     they are used for.

     -b list
          Send blind carbon copies to list.

     -c list
          Send carbon copies to list of  users.  List  should  be  a  comma
          separated list of names.

     -f file
          Show the messages in file instead of  your  system  mailbox.   If
          file is omitted, Mail reads mbox in your home directory.

     -I   Forces mail to run in interactive mode, even when input is not  a
          terminal.  In  particular,  the special ~ command character, used
          when sending mail, is only available interactively.

     -i   Ignore tty interrupt signals. This is  particularly  useful  when
          using mail on noisy phone lines.

     -N   Suppress the initial printing of headers.

     USD:7-30                                         Mail Reference Manual

     -n   Inhibit reading of /etc/mail.rc upon startup.

     -s string
          Used for sending mail. String is used as the subject of the  mes-
          sage  being  composed.   If string contains blanks, you must sur-
          round it with quote marks.

     -u name
          Read names's mail instead of your own.   Unwitting  others  often
          neglect  to  protect  their mailboxes, but discretion is advised.
          Essentially,  -u  user  is  a   shorthand   way   of   doing   -f

     -v   Use the -v flag when invoking sendmail. This feature may also  be
          enabled by setting the the option "verbose".

          The following command line flags are  also  recognized,  but  are
     intended for use by programs invoking Mail and not for people.

     -d   Turn on debugging information.  Not of general interest.

     -T file
          Arrange to print on file the contents of the article-id fields of
          all  messages  that  were  either  read or deleted. -T is for the
          readnews program and should NOT be used for reading your mail.

     7. Format of messages

          This section describes the format  of  messages.  Messages  begin
     with a from line, which consists of the word "From" followed by a user
     name, followed by anything, followed by a date in the format  returned
     by  the  ctime  library  routine  described  in  section 3 of the Unix
     Programmer's Manual.  A possible ctime format date is:

         Tue Dec  1 10:58:23 1981

     The ctime date may be optionally followed by a single space and a time
     zone indication, which should be three capital letters, such as PDT.

          Following the from line are zero or more header field lines. Each
     header field line is of the form:

         name: information

     Name can be anything, but only certain header fields are recognized as
     having  any  meaning.   The  recognized header fields are: article-id,
     bcc, cc, from, reply-to, sender, subject, and to. Other header  fields
     are  also  significant to other systems; see, for example, the current
     Arpanet message standard for much more information on  this  topic.  A
     header field can be continued onto following lines by making the first
     character on the following line a space or tab character.

     Mail Reference Manual                                         USD:7-31

          If any headers are present, they must  be  followed  by  a  blank
     line.  The  part  that  follows is called the body of the message, and
     must be ASCII text, not containing null characters. Each line  in  the
     message body must be no longer than 512 characters and terminated with
     an ASCII newline character. If binary data must be passed through  the
     mail  system,  it  is  suggested that this data be encoded in a system
     which encodes six bits into a printable  character  (i.e.:  uuencode).
     For  example,  one  could  use  the  upper and lower case letters, the
     digits, and the characters comma and period to make up the 64  charac-
     ters.  Then,  one can send a 16-bit binary number as three characters.
     These characters should be packed into lines, preferably  lines  about
     70 characters long as long lines are transmitted more efficiently.

          The message delivery system always adds a blank line to  the  end
     of each message.  This blank line must not be deleted.

          The UUCP message delivery system sometimes adds a blank  line  to
     the end of a message each time it is forwarded through a machine.

          It should be noted that some network transport protocols  enforce
     limits to the lengths of messages.

     8. Glossary

          This section contains the definitions of a few  phrases  peculiar
     to Mail.

          An alternative name for a person or list of people.

     flag An option, given on the command line of Mail, prefaced with a  -.
          For example, -f is a flag.

     header field
          At the beginning of a message, a line which contains  information
          that  is  part  of  the structure of the message.  Popular header
          fields include to, cc, and subject.

          A collection of messages.  Often used in the  phrase,  "Have  you
          read your mail?"

          The place where your mail is stored, typically in  the  directory

          A single letter from someone, initially stored in your mailbox.

     message list
          A string used in Mail command mode to describe a sequence of mes-

     USD:7-32                                         Mail Reference Manual

          A piece of special purpose information used  to  tailor  Mail  to
          your taste. Options are specified with the set command.

     9. Summary of commands, options, and escapes

          This section gives a quick summary of the Mail  commands,  binary
     and valued options, and tilde escapes.

          The following table describes the commands:

      Command                             Description
     +            Same as next
     -            Back up to previous message
     ?            Print brief summary of Mail commands
     !            Single command escape to shell
     Print        Type message with ignored fields
     Reply        Reply to author of message only
     Respond      Same as Reply
     Type         Type message with ignored fields
     alias        Define an alias as a set of user names
     alternates   List other names you are known by
     chdir        Change working directory, home by default
     copy         Copy a message to a file or folder
     delete       Delete a list of messages
     dp           Same as dt
     dt           Delete current message, type next message
     edit         Edit a list of messages
     else         Start of else part of conditional; see if
     endif        End of conditional statement; see if
     exit         Leave mail without changing anything
     file         Interrogate/change current mail file
     folder       Same as file
     folders      List the folders in your folder directory
     from         List headers of a list of messages
     headers      List current window of messages
     help         Same as ?
     hold         Same as preserve
     if           Conditional execution of Mail commands
     ignore       Set/examine list of ignored header fields
     inc          Incorporate new messages
     list         List valid Mail commands
     mail         Send mail to specified names
     mbox         Arrange to save a list of messages in mbox
     more         Invoke pager on message list
     next         Go to next message and type it
     preserve     Arrange to leave list of messages in system mailbox
     print        Print messages
     quit         Leave Mail; update system mailbox, mbox as appropriate
     reply        Compose a reply to a message

     Mail Reference Manual                                         USD:7-33

     respond      Same as reply
     retain       Supersedes ignore
     save         Append messages, headers included, on a file
     saveignore   List of headers to ignore when using the save command
     saveretain   List of headers to retain when using the save command
     set          Set binary or valued options
     shell        Invoke an interactive shell
     size         Prints out size of message list
     source       Read mail commands from a file
     top          Print first so many (5 by default) lines of list of messages
     type         Same as print
     unalias      Remove alias
     undelete     Undelete list of messages
     unread       Marks list of messages as not been read
     unset        Undo the operation of a set
     visual       Invoke visual editor on a list of messages
     write        Append messages to a file, don't include headers
     xit          Same as exit
     z            Scroll to next/previous screenful of headers

     USD:7-34                                         Mail Reference Manual

          The following table describes the options.   Each  option  is
     shown as being either a binary or valued option.

        Option        Type                       Description
     EDITOR          valued   Pathname of editor for ~e and edit
     LISTER          valued   Pathname of directory lister
     MBOX            valued   Pathname of the mbox file
     PAGER           valued   Pathname of pager for Print, print, Type and type
     SHELL           valued   Pathname of shell for shell, ~! and !
     VISUAL          valued   Pathname of screen editor for ~v, visual
     append          binary   Always append messages to end of mbox
     ask             binary   Prompt user for Subject: field when sending
     askbcc          binary   Prompt user for additional BCc's at end of message
     askcc           binary   Prompt user for additional Cc's at end of message
     autoinc         binary   Automatically incorporate new mail
     autoprint       binary   Print next message after delete
     crt             valued   Minimum number of lines before using PAGER
     debug           binary   Print out debugging information
     dot             binary   Accept . alone on line to terminate message input
     escape          valued   Escape character to be used instead of  ~
     folder          valued   Directory to store folders in
     hold            binary   Hold messages in system mailbox by default
     ignore          binary   Ignore <Control-C> while sending mail
     ignoreeof       binary   Don't terminate letters/command input with ^D
     indentprefix    valued   String used for indenting messages
     keep            binary   Don't unlink system mailbox when empty
     keepsave        binary   Don't delete saved messages by default
     metoo           binary   Include sending user in aliases
     noheader        binary   Suppress initial printing of version and headers
     nosave          binary   Don't save partial letter in dead.letter
     Replyall        binary   Reverses the sense of the [Rr]eply commands
     quiet           binary   Suppress printing of Mail version/message numbers
     record          valued   File to save all outgoing mail in
     screen          valued   Size of window of message headers for z, etc.
     searchheaders   binary   Search string for message headers
     sendmail        valued   Choose alternate mail delivery system
     toplines        valued   Number of lines to print in top
     verbose         binary   Invoke sendmail with the -v flag

     Mail Reference Manual                                         USD:7-35

          The following table summarizes the  tilde  escapes  available
     while sending mail.

        Escape    Arguments                   Description
        ~!       command        Execute shell command
        ~b       name ...       Add names to "blind" Cc: list
        ~c       name ...       Add names to Cc: field
        ~d                      Read dead.letter into message
        ~e                      Invoke text editor on partial message
        ~f       messages       Read named messages
        ~F       messages       Same as ~f, but includes all headers
        ~h                      Edit the header fields
        ~m       messages       Read named messages, right shift by tab
        ~M       messages       Same as ~m, but includes all headers
        ~p                      Print message entered so far
        ~q                      Abort entry of letter; like <Control-C>
        ~r       filename       Read file into message
        ~s       string         Set Subject: field to string
        ~t       name ...       Add names to To: field
        ~v                      Invoke screen editor on message
        ~w       filename       Write message on file
        ~|       command        Pipe message through command
        ~:       Mail command   Execute a Mail command
        ~~       string         Quote a ~ in front of string

          The following table shows the command line  flags  that  Mail

             Flag                        Description
          -b list       Send blind carbon copies to list.
          -c list       Send carbon copies to list
          -d            Turn on debugging
          -f [name]     Show messages in name or ~/mbox
          -I            Force Mail to run in interactive mode
          -i            Ignore tty interrupt signals
          -N            Suppress the initial printing of headers
          -n            Inhibit reading of /etc/mail.rc
          -s subject    Use subject as subject in outgoing mail
          -T file       Article-id's of read/deleted messages to file
          -u user       Read user's mail instead of your own
          -v            Invoke sendmail with the -v flag

     Notes: -d and -T are not for human use.

Generated on 2021-12-07 11:07:08 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.