NAIL(1)                          User Commands
NAIL(1)



NNAAMMEE
       nail - send and receive Internet mail

SSYYNNOOPPSSIISS
       nnaaiill [--BBDDddFFiinnttvv~~]
       [--ss _s_u_b_j_e_c_t] [--aa
       _a_t_t_a_c_h_m_e_n_t ] [--cc
       _c_c_-_a_d_d_r] [--bb _b_c_c_-
              _a_d_d_r] [--rr
              _f_r_o_m_-_a_d_d_r] [--hh
              _h_o_p_s] [--AA _a_c_c_o_u_n_t]
              _t_o_-_a_d_d_r . . .
       nnaaiill [--BBDDddeeHHiiIInnNNRRvv~~]
       [--TT _n_a_m_e] [--AA _a_c_c_o_u_n_t]
       --ff [_n_a_m_e] nnaaiill
       [--BBDDddeeiinnNNRRvv~~] [--AA
       _a_c_c_o_u_n_t] [--uu _u_s_e_r]

DDEESSCCRRIIPPTTIIOONN
       _N_a_i_l is an intelligent mail processing
       system, which has a command syn‐ tax  reminiscent
       of _e_d(1) with lines replaced by messages.  It is
       based on Berkeley Mail 8.1, is intended to provide
       the functionality  of  the POSIX  mmaaiillxx
       command, and offers extensions for MIME, IMAP, POP3,
       SMTP, and S/MIME.  _N_a_i_l provides enhanced
       features for interactive use,  such as  caching  and
       disconnected  operation  for IMAP, message threading,
       scoring, and filtering.  It is also usable as a  mail
       batch  language, both for sending and receiving mail.

       The following options are accepted:

       --AA _n_a_m_e
              Executes  an  _a_c_c_o_u_n_t  command
              (see  below)  for _n_a_m_e after the startup
              files have been read.

       --aa _f_i_l_e
              Attach the given file to the message.

       --BB     Make standard input and standard output
       line-buffered.

       --bb _a_d_d_r_e_s_s
              Send blind carbon copies to list.  List should
              be a  comma-sepa‐ rated list of names.

       --cc _a_d_d_r_e_s_s
              Send carbon copies to list of users.

       --DD     Start  in
       _d_i_s_c_o_n_n_e_c_t_e_d mode; see the
       description for the _d_i_s_c_o_n_‐
              _n_e_c_t_e_d variable option.

       --dd     Enables debugging messages and disables
       the actual  delivery  of
              messages.   Unlike _-_v, this option is
              intended for _n_a_i_l develop‐ ment only.

       --ee     Just check if mail is present in the
       system  mailbox.   If  yes,
              return an exit status of zero, else, a non-zero
              value.

       --ff [_f_i_l_e]
              Read  in the contents of the user's mbox (or the
              specified file) for processing; when _n_a_i_l
              is quit, it writes undeleted  messages back  to
              this file.  The string _f_i_l_e is handled
              as described for the _f_o_l_d_e_r command
              below.

       --FF     Save the message to send in a file named
       after the local part of
              the first recipient's address.

       --HH     Print header summaries for all messages
       and exit.

       --hh _h_o_p_s
              Invoke  sendmail  with the specified hop count.
              This option has no effect when SMTP is used
              for sending mail.

       --ii     Ignore tty interrupt signals.  This is
       particularly useful  when
              using _n_a_i_l on noisy phone lines.

       --II     Shows  the  `Newsgroup:'  or  `Article-Id:'
       fields in the header
              summary.  Only applicable in combination
              with _-_f.

       --nn     Inhibits reading /etc/nail.rc upon startup.
       This option  should
              be  activated for _n_a_i_l scripts that are
              invoked on more than one machine, because the
              contents of that file  may  differ  between them.

       --NN     Inhibits  the  initial  display  of message
       headers when reading
              mail or editing a mail folder.

       --qq _f_i_l_e
              Start the message with the contents of the
              specified file.   May be given in send mode only.

       --rr _a_d_d_r_e_s_s
              Sets  the _F_r_o_m address. Overrides any
              _f_r_o_m variable specified in environment
              or startup files.  Tilde escapes are disabled.
              The _-_r  _a_d_d_r_e_s_s options are
              passed to the mail transfer agent unless SMTP
              is used.  This option exists for compatibility
              only; it  is recommended to set the _f_r_o_m
              variable directly instead.

       --RR     Opens any folders read-only.

       --ss _s_u_b_j_e_c_t
              Specify  subject  on command line (only the
              first argument after the _-_s flag is used
              as a subject; be careful to  quote  subjects
              containing spaces).

       --TT _n_a_m_e
              Writes the `Message-Id:' and `Article-Id:'
              header fields of each message read in
              the file _n_a_m_e.  Implies  _-_I.
              Compressed  files are handled as described for
              the _f_o_l_d_e_r command below.

       --tt     The  message  to be sent is expected to
       contain a message header
              with `To:', `Cc:',  or  `Bcc:'  fields  giving
              its  recipients.  Recipients specified on the
              command line are ignored.

       --uu _u_s_e_r
              Reads the mailbox of the given user name.

       --vv     Verbose  mode.   The  details  of  delivery
       are displayed on the
              user's terminal.

       --VV     Print _n_a_i_l's version and exit.

       --~~     Enable tilde escapes even if not in
       interactive mode.

   SSeennddiinngg mmaaiill
       To send a message to one or more people, _n_a_i_l
       can be invoked with argu‐ ments which are the names
       of people to whom the mail will be sent.  The user is
       then expected to type in his message, followed by an
       `control- D' at the beginning of a line.  The section
       below Replying to or origi‐ nating mail, describes
       some features of _n_a_i_l  available  to  help
       when composing letters.

   RReeaaddiinngg mmaaiill
       In  normal  usage _n_a_i_l is given no arguments
       and checks the user's mail out of the post office,
       then prints out a one line header of each  mes‐
       sage  found.   The current message is initially the
       first message (num‐ bered 1) and can be printed using
       the print command which can be abbre‐ viated  `p').
       The  user  can move among the messages much as he moves
       between lines in _e_d(1), with the commands `+' and
       `-' moving  backwards and forwards, and simple numbers.

   DDiissppoossiinngg ooff mmaaiill
       After examining a message the user can delete `d')
       the message or reply `r') to it.  Deletion causes the
       _n_a_i_l program to forget about the  mes‐ sage.
       This  is not irreversible; the message can be undeleted
       `u') by giving its number, or the _n_a_i_l session
       can be  aborted  by  giving  the exit  `x')  command.
       Deleted messages will, however, usually disappear
       never to be seen again.

   SSppeecciiffyyiinngg mmeessssaaggeess
       Commands such as print and delete can be given
       a list of  message  num‐ bers  as  arguments
       to  apply  to  a number of messages at once.  Thus
       `_d_e_l_e_t_e _1 _2' deletes messages 1 and 2,
       while `_d_e_l_e_t_e _1_-_5' deletes  mes‐
       sages 1 through 5.  In sorted or threaded mode (see
       the _s_o_r_t and _t_h_r_e_a_d commands),
       `_d_e_l_e_t_e _1_-_5' deletes the messages
       that are  located  between (and  including)  messages
       1 through 5 in the sorted/threaded order, as shown in
       the header  summary.   The  following  special  message
       names exist:

       ::nn     All new messages.

       ::oo     All old messages (any not in state read
       or new).

       ::uu     All unread messages.

       ::dd     All deleted messages (for the
       _u_n_d_e_l_e_t_e command).

       ::rr     All read messages.

       ::ff     All `flagged' messages.

       ::aa     All answered messages (cf. the
       _m_a_r_k_a_n_s_w_e_r_e_d variable).

       ::tt     All messages marked as draft.

       ::kk     All `killed' messages.

       ::jj     All messages classified as junk.

       ..      The current message.

       ;;      The message that was previously the current
       message.

       ,,      The  parent  message of the current message,
       that is the message
              with the Message-ID given in the  `In-Reply-To:'
              field  or  the last entry of the `References:'
              field of the current message.

       --      The  next  previous  undeleted  message,
       or  the  next previous
              deleted message for the _u_n_d_e_l_e_t_e
              command.   In  sorted/threaded mode,  the  next
              previous  such  message in the sorted/threaded
              order.

       ++      The next undeleted message, or the next
       deleted message for  the
              _u_n_d_e_l_e_t_e  command.
              In sorted/threaded mode, the next such mes‐
              sage in the sorted/threaded order.

       ^^      The first undeleted message, or the first
       deleted  message  for
              the  _u_n_d_e_l_e_t_e  command.
              In sorted/threaded mode, the first such message
              in the sorted/threaded order.

       $$      The last message.  In sorted/threaded mode,
       the last message  in
              the sorted/threaded order.

       &&_x     In  threaded mode, selects the message
       addressed with _x, where _x
              is any other message specification, and all
              messages  from  the thread  that begins at it.
              Otherwise, it is identical to _x.  If _x is
              omitted, the thread beginning with the current
              message  is selected.

       **      All messages.

       ``      All messages that were included in the message
       list for the pre‐
              vious command.

       //_s_t_r_i_n_g
              All messages that contain _s_t_r_i_n_g  in
              the  subject  field  (case ignored).   See  also
              the _s_e_a_r_c_h_h_e_a_d_e_r_s
              variable.  If _s_t_r_i_n_g is empty,
              the string from the previous specification of
              that  type is used again.

       _a_d_d_r_e_s_s
              All messages from _a_d_d_r_e_s_s.

       ((_c_r_i_t_e_r_i_o_n))
              All messages that satisfy the given IMAP-style
              SEARCH _c_r_i_t_e_r_i_o_n.  This
              addressing mode is available with all types
              of folders; for folders  not  located  on IMAP
              servers, or for servers unable to execute  the
              SEARCH  command,  _n_a_i_l  will  perform
              the  search locally.  Strings must be enclosed
              by double quotes `"' in their entirety if they
              contain white space or parentheses; within
              the quotes, only backslash `\' is recognized
              as an escape character.  All string searches
              are case-insensitive.  When the  description
              indicates that the `envelope' representation
              of an address field is used, this means that
              the search string  is  checked  against both
              a list constructed as

              ((""_r_e_a_l _n_a_m_e""
              ""_s_o_u_r_c_e_-_r_o_u_t_e""
              ""_l_o_c_a_l_-_p_a_r_t""
              ""_d_o_m_a_i_n_-_p_a_r_t""))

              for  each address, and the addresses without
              real names from the respective header field.
              Criteria can be nested using parenthe‐ ses.

       ((_c_r_i_t_e_r_i_o_n_1
       _c_r_i_t_e_r_i_o_n_2
       ... _c_r_i_t_e_r_i_o_n_N))
              All messages that satisfy all of the given
              criteria.

       ((oorr _c_r_i_t_e_r_i_o_n_1
       _c_r_i_t_e_r_i_o_n_2))
              All  messages  that  satisfy either
              _c_r_i_t_e_r_i_o_n_1 or
              _c_r_i_t_e_r_i_o_n_2, or both.
              To connect more than two criteria using `or',
              (or) speci‐ fications  have  to  be  nested
              using additional parentheses, as with `(or a (or
              b c))'; `(or a b c)' means ((a  or  b)  and  c).
              For  a simple `or' operation of independent
              criteria on the low‐ est nesting level, it is
              possible to achieve similar effects  by using
              three separate criteria, as with `(a) (b) (c)'.

       ((nnoott _c_r_i_t_e_r_i_o_n))
              All messages that do not satisfy
              _c_r_i_t_e_r_i_o_n.

       ((bbcccc _s_t_r_i_n_g))
              All  messages  that contain _s_t_r_i_n_g
              in the `envelope' representa‐ tion of the
              _B_c_c_: field.

       ((cccc _s_t_r_i_n_g))
              All messages that contain _s_t_r_i_n_g
              in the  `envelope'  representa‐ tion of the
              _C_c_: field.

       ((ffrroomm _s_t_r_i_n_g))
              All  messages  that contain _s_t_r_i_n_g
              in the `envelope' representa‐ tion of the
              _F_r_o_m_: field.

       ((ssuubbjjeecctt _s_t_r_i_n_g))
              All messages that contain _s_t_r_i_n_g
              in the _S_u_b_j_e_c_t_: field.

       ((ttoo _s_t_r_i_n_g))
              All messages that contain _s_t_r_i_n_g
              in the  `envelope'  representa‐ tion of the
              _T_o_: field.

       ((hheeaaddeerr _n_a_m_e _s_t_r_i_n_g))
              All messages that contain _s_t_r_i_n_g
              in the specified _N_a_m_e_: field.

       ((bbooddyy _s_t_r_i_n_g))
              All messages that contain _s_t_r_i_n_g
              in their body.

       ((tteexxtt _s_t_r_i_n_g))
              All messages that contain _s_t_r_i_n_g
              in their header or body.

       ((llaarrggeerr _s_i_z_e))
              All messages that are larger than _s_i_z_e
              (in bytes).

       ((ssmmaalllleerr _s_i_z_e))
              All messages that are smaller than _s_i_z_e
              (in bytes).

       ((bbeeffoorree _d_a_t_e))
              All messages that were received before
              _d_a_t_e; _d_a_t_e must be in the
              form _d[_d]--_m_o_n--_y_y_y_y,
              where _d[_d] is the day of the month as one
              or two  digits,  _m_o_n  is the name of the
              month—one of `Jan', `Feb', `Mar', `Apr', `May',
              `Jun', `Jul', `Aug', `Sep',  `Oct',  `Nov', or
              `Dec',   and   _y_y_y_y  is  the  year  as
              four  digits;  e.g.  "30-Aug-2004".

       ((oonn _d_a_t_e))
              All messages that were received on the specified
              date.

       ((ssiinnccee _d_a_t_e))
              All messages that were received since the
              specified date.

       ((sseennttbbeeffoorree _d_a_t_e))
              All messages that were sent on the specified
              date.

       ((sseennttoonn _d_a_t_e))
              All messages that were sent on the specified
              date.

       ((sseennttssiinnccee _d_a_t_e))
              All messages that were sent since the specified
              date.

       (())     The same criterion as for the previous
       search.  This  specifica‐
              tion cannot be used as part of another criterion.
              If the previ‐ ous command line contained more
              than one independent  criterion, the last of
              those criteria is used.

       A practical method to read a set of messages is to
       issue a _f_r_o_m command with the search criteria
       first to check for appropriate  messages,  and to read
       each single message then by typing ```' repeatedly.

   RReeppllyyiinngg ttoo oorr
   oorriiggiinnaattiinngg mmaaiill
       The  _r_e_p_l_y command can be used to set up
       a response to a message, send‐ ing it back to the
       person who it was from.   Text  the  user  types  in
       then, up to an end-of-file, defines the contents of
       the message.  While the user is composing a message,
       _n_a_i_l 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 shift‐ ing  it by a tabstop (see
       _i_n_d_e_n_t_p_r_e_f_i_x variable, below).
       Other escapes will set up subject fields, add and
       delete recipients to  the  message, attach  files
       to it and allow the user 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.)

   EEnnddiinngg aa mmaaiill
   pprroocceessssiinngg sseessssiioonn
       The  user can end a _n_a_i_l session with the quit
       (`q') command.  Messages which have been examined go to
       the user's mbox file  unless  they  have been  deleted
       in which case they are discarded.  Unexamined messages
       go back to the post office.  (See the -f option above).

   PPeerrssoonnaall aanndd
   ssyysstteemmwwiiddee
   ddiissttrriibbuuttiioonn lliissttss
       It is also possible to create a personal distribution
       lists  so  that, for  instance,  the user can send
       mail to `_c_o_h_o_r_t_s' and have it go to a
       group of people.  Such lists can be defined by placing
       a line like

               aalliiaass _c_o_h_o_r_t_s
               _b_i_l_l _o_z_a_l_p
               _j_k_f _m_a_r_k
               _k_r_i_d_l_e_@_u_c_b_c_o_r_y

       in the file .mailrc in the user's home directory.
       The current list  of such  aliases  can be displayed
       with the alias command in _n_a_i_l.  System wide
       distribution lists can be created  by  editing
       /etc/aliases,  see _a_l_i_a_s_e_s(5)  and
       _s_e_n_d_m_a_i_l(8); these are kept in a
       different syntax.  In mail the user sends, 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.

   RReecciippiieenntt aaddddrreessss
   ssppeecciiffiiccaattiioonnss
       When an address is used to name a recipient (in any
       of To, Cc, or Bcc), names  of local mail folders and
       pipes to external commands can also be specified; the
       message text is then written to them.   The  rules
       are: Any  name  which starts with a `||' character
       specifies a pipe, the com‐ mand string following
       the `|' is executed and the message  is  sent  to its
       standard  input;  any other name which contains a `@@'
       character is treated as a mail address; any other name
       which starts with a `++' char‐ acter  specifies  a
       folder  name;  any other name which contains a `//'
       character but no `!!'  or `%%' character before also
       specifies  a  folder name;  what  remains  is treated
       as a mail address.  Compressed folders are handled as
       described for the _f_o_l_d_e_r command below.

   NNeettwwoorrkk mmaaiill
   ((IInntteerrnneett // AARRPPAA,,
   UUUUCCPP,, BBeerrkknneett))
       See _m_a_i_l_a_d_d_r(7) for a description
       of network  addresses.   _N_a_i_l  has  a number
       of  options  which  can be set in the .mailrc file to
       alter its behavior; thus `_s_e_t _a_s_k_c_c'
       enables the askcc feature.   (These  options are
       summarized below).

   MMIIMMEE ttyyppeess
       For  any outgoing attachment, _n_a_i_l tries to
       determine the content type.  It does this by reading
       MIME type files whose lines have the  following syntax:

               _t_y_p_e//_s_u_b_t_y_p_e
               _e_x_t_e_n_s_i_o_n
               [_e_x_t_e_n_s_i_o_n . . .]

       where type/subtype are strings describing the
       file contents, and exten‐ sion is the part of a
       filename starting after the last dot.   Any  line not
       immediately  beginning  with  an  ASCII  alphabetical
       character is ignored by _n_a_i_l.  If there is
       a match with the extension of the file to attach,
       the  given  type/subtype  pair  is used.  Otherwise,
       or if the filename has no extension, the content
       types  text/plain  or  applica‐ tion/octet-stream
       are  used,  the first for text or international text
       files, the second for any  file  that  contains
       formatting  characters other than newlines and
       horizontal tabulators.

   CChhaarraacctteerr sseettss
       _N_a_i_l  normally  detects  the  character  set
       of the terminal using the LC_CTYPE locale setting.
       If the locale cannot be  used  appropriately, the
       _t_t_y_c_h_a_r_s_e_t  variable  should  be set
       to provide an explicit value.  When reading messages,
       their text is converted to the terminal  charac‐ ter
       set if possible.  Unprintable characters and illegal
       byte sequences are detected and replaced by Unicode
       substitute characters or  question marks unless the
       _p_r_i_n_t_-_a_l_l_-_c_h_a_r_s is set
       at initialization time.

       The  character set for outgoing messages is not
       necessarily the same as the one used on the terminal.
       If an  outgoing  text  message  contains characters
       not representable in US-ASCII, the character set
       being used must be declared within its header.
       Permissible values can be declared using  the
       _s_e_n_d_c_h_a_r_s_e_t_s variable,
       separated by commas; _n_a_i_l tries each of the
       values in order and uses the first appropriate one.
       If the mes‐ sage contains characters that cannot
       be represented in any of the given character sets,
       the message will not be sent,  and  its  text  will
       be saved  to the `dead.letter' file.  Messages that
       contains NUL bytes are not converted.

       Outgoing attachments are also not converted
       even  if  they  are  plain text.   If  the
       _s_e_n_d_c_h_a_r_s_e_t_s variable contains
       more than one character set name, the _~_@ tilde
       escape will ask for the character sets for indi‐
       vidual attachments if it is invoked without arguments.

       Best results are usually achieved when _n_a_i_l
       is run in a UTF-8 locale on a UTF-8 capable terminal.
       In this setup, characters from various coun‐ tries
       can  be displayed, while it is still possible to
       use more simple character sets for sending to retain
       maximum compatibility  with  older mail clients.

   CCoommmmaannddss
       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,
       _n_a_i_l types `_a_p_p_l_i_c_a_b_l_e
       _m_e_s_s_a_g_e_s' and aborts the  command.
       If the command begins with a _# sign, the line
       is ignored.

       The arguments to commands can be quoted, using the
       following methods:

       ·      An  argument  can be enclosed between paired
       double-quotes "" or
              single-quotes ''; any white  space,  shell
              word  expansion,  or backslash  characters
              within the quotes are treated literally as
              part of the argument.  A double-quote will be
              treated  literally within single-quotes and
              vice versa. These special properties of the
              quote marks occur only when they are paired at
              the beginning and end of the argument.

       ·      A backslash outside of the enclosing quotes
       is discarded and the
              following character is treated literally as
              part  of  the  argu‐ ment.

       ·      An  unquoted backslash at the end of a command
       line is discarded
              and the next line continues the command.

       Filenames, where expected, are subjected to the
       following  transforma‐ tions, in sequence:

       ·      If  the  filename  begins  with  an  unquoted
       plus sign, and the
              _f_o_l_d_e_r variable is defined, the
              plus sign will  be  replaced  by the  value
              of  the  _f_o_l_d_e_r variable followed
              by a slash. If the _f_o_l_d_e_r variable
              is unset or is set to null, the filename will
              be unchanged.

       ·      Shell word expansions are applied to the
       filename.  If more than
              a single pathname results from this expansion
              and the command is expecting one file, an
              error results.

       The following commands are provided:

       --      Print out the preceding message.  If given
       a numeric argument n,
              goes to the n'th previous message and prints it.

       ??      Prints a brief summary of commands.

       !!      Executes the shell (see _s_h(1) and
       _c_s_h(1)) command which follows.

       ||      A synonym for the _p_i_p_e command.

       aaccccoouunntt
              (ac) Creates, selects or lists an email account.
              An account  is formed  by  a group of commands,
              primarily of those to set vari‐ ables.
              With two arguments, of which the second is  a
              `{',  the first  argument  gives  an account
              name, and the following lines create a group
              of commands for that account until  a  line
              con‐ taining a single `}' appears.  With one
              argument, the previously created group of
              commands for the account name is executed,  and
              a  _f_o_l_d_e_r command is executed for
              the system mailbox or inbox of that account.
              Without arguments, the list of accounts and
              their contents are printed.  As an example,

                  aaccccoouunntt _m_y_i_s_p {{
                      set
                      folder=imaps://mylogin@imap.myisp.example
                      set record=+Sent set
                      from="myname@myisp.example (My Name)"
                      set smtp=smtp.myisp.example
                  }}

              creates  an account named `myisp' which can
              later be selected by specifying `account myisp'.

       aalliiaass  (a) With no arguments, prints out
       all currently-defined aliases.
              With  one  argument,  prints out that alias.
              With more than one argument, creates a new
              alias or changes an old one.

       aalltteerrnnaatteess
              (alt) The alternates command is useful if the
              user has  accounts on  several  machines.
              It  can be used to inform _n_a_i_l
              that the listed addresses all belong  to
              the  invoking  user.   When  he replies to
              messages, _n_a_i_l will not send a copy of
              the message to any of the addresses listed on
              the  alternates  list.   If  the alternates
              command is given with no argument, the current
              set of alternate names is displayed.

       aannsswweerreedd
              (ans) Takes a message list and marks each message
              as  a  having been  answered.   This mark
              has no technical meaning in the mail system;
              it just causes messages to be marked in the
              header  sum‐ mary, and makes them specially
              addressable.

       ccaacchhee  Only  applicable  to cached IMAP
       mailboxes; takes a message list
              and reads the specified messages into the
              IMAP cache.

       ccaallll   Calls a macro (see the _d_e_f_i_n_e
       command).

       ccdd     Same as chdir.

       cceerrttssaavvee
              Only applicable to S/MIME signed messages.
              Takes a message list and  a file name
              and saves the certificates contained
              within the message signatures to the
              named file in both human-readable  and
              PEM  format.   The  certificates  can
              later  be  used  to  send encrypted messages
              to the messages' originators by  setting  the
              _s_m_i_m_e_-_e_n_c_r_y_p_t_-_u_s_e_r_@_h_o_s_t
              variable.

       cchhddiirr  (ch)  Changes the user's working
       directory to that specified, if
              given.  If no directory is given, then  changes
              to  the  user's login directory.

       ccllaassssiiffyy
              (cl)  Takes  a  list of messages and examines
              their contents for characteristics of junk mail
              using Bayesian filtering.  Messages considered
              to  be  junk are then marked as such.  The junk
              mail database is not changed.

       ccoollllaappssee
              (coll) Only applicable to threaded mode.
              Takes a  message  list and makes all replies
              to these messages invisible in header sum‐
              maries, unless they are in state `new'.

       ccoonnnneecctt
              (conn) If operating in disconnected mode  on  an
              IMAP  mailbox, switch  to  online  mode  and
              connect  to the mail server while retaining
              the mailbox status.  See the description of
              the  _d_i_s_‐ _c_o_n_n_e_c_t_e_d
              variable for more information.

       ccooppyy   (c)  The copy command does the same
       thing that _s_a_v_e does, except
              that it does not mark the messages it is used
              on  for  deletion when  the  user  quits.
              Compressed files and IMAP mailboxes are handled
              as described for the _f_o_l_d_e_r command.

       CCooppyy   (C) Similar to _c_o_p_y, but saves
       the  messages  in  a  file  named
              after the local part of the sender address of
              the first message.

       ddeeccrryypptt
              (dec)  For  unencrypted  messages,  this command
              is identical to _c_o_p_y.  Encrypted
              messages are first decrypted, if possible,
              and then copied.

       DDeeccrryypptt
              (Dec) Similar to _d_e_c_r_y_p_t, but saves
              the messages in a file named after the local
              part of the sender address of the first message.

       ddeeffiinnee (def) Defines a macro.  A macro
       definition is a sequence of com‐
              mands in the following form:

                  ddeeffiinnee _n_a_m_e {{
                      _c_o_m_m_a_n_d_1
                      _c_o_m_m_a_n_d_2 ...
                      _c_o_m_m_a_n_d_N
                  }}

              Once  defined,  a macro can be explicitly
              invoked using the _c_a_l_l command,
              or can be implicitly invoked by setting
              the _f_o_l_d_e_r_-_h_o_o_k or
              _f_o_l_d_e_r_-_h_o_o_k_-_f_u_l_l_n_a_m_e
              variables.

       ddeeffiinneess
              Prints the currently defined macros including
              their contents.

       ddeelleettee (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.

       ddiissccaarrdd
              Same as ignore.

       ddiissccoonnnneecctt
              (disco)  If  operating in online mode on
              an IMAP mailbox, switch to disconnected
              mode while retaining the  mailbox
              status.   See the  description  of the
              _d_i_s_c_o_n_n_e_c_t_e_d variable
              for more informa‐ tion.  A list of messages
              may optionally be given  as  argument; the
              respective messages are then read into the cache
              before the connection is closed.  Thus `disco *'
              makes the  entire  current mailbox available
              for disconnected use.

       ddpp or ddtt
              Deletes  the  current  message  and prints the
              next message.  If there is no next message,
              _n_a_i_l says `_a_t _E_O_F'.

       ddrraafftt  Takes a message list and marks each
       message as  a  draft.   This
              mark has no technical meaning in the mail
              system; it just causes messages to be marked
              in the header summary, and makes them spe‐
              cially addressable.

       eecchhoo   Echoes  its arguments, resolving special
       names as documented for
              the folder command.  The  escape  sequences
              `\\aa',  `\\bb',  `\\cc', `\\ff',
              `\\nn', `\\rr', `\\tt', `\\vv', `\\\\',
              and `\\00_n_u_m' are interpreted as with
              the _e_c_h_o(1) command.

       eeddiitt   (e) Takes a list of messages and points
       the text editor at  each
              one  in turn.  Modified contents are
              discarded unless the _w_r_i_t_e_‐
              _b_a_c_k_e_d_i_t_e_d variable is set.

       eellssee   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 statement is false.

       eennddiiff  Marks the end of an if statement.

       eexxiitt   (ex or x) Effects an immediate return
       to the Shell without modi‐
              fying the user's system mailbox, his mbox file,
              or his edit file in -f.

       ffiillee   (fi) The same as folder.

       ffllaagg   (fl) Takes a message list and marks
       the  messages  as  `flagged'
              for  urgent/special attention.  This mark has
              no technical mean‐ ing in the mail system;
              it just  causes  messages  to  be  high‐
              lighted in the header summary, and makes them
              specially address‐ able.

       ffoollddeerrss
              With no arguments, list the names of the folders
              in  the  folder directory.   With  an existing
              folder as an argument, lists then names of
              folders below the named folder; e.g. the command
              `fold‐ ers  @'  lists the folders on the base
              level of the current IMAP server.  See also the
              _i_m_a_p_-_l_i_s_t_-_d_e_p_t_h
              variable.

       ffoollddeerr (fold) The folder command switches
       to a new mail file or folder.
              With  no arguments, it tells the user which
              file he is currently reading.  If an argument
              is given, it  will  write  out  changes
              (such  as  deletions)  the user has made in
              the current file and read in the new file.
              Some special conventions  are  recognized for
              the  name.  ## means the previous file, %%
              means the invoking user's system mailbox,
              %%_u_s_e_r  means  _u_s_e_r_'_s
              system  mailbox,  && means  the  invoking user's
              mbox file, and ++_f_i_l_e _m_e_a_n_s
              _a _f_i_l_e in the folder directory.
              %%::_f_i_l_e_s_p_e_c expands to the
              same  value  as _f_i_l_e_s_p_e_c,
              but  the file is handled as a system
              mailbox e. g. by the mbox and save commands.
              If the  name  matches  one  of  the strings
              defined with the _s_h_o_r_t_c_u_t
              command, it is replaced by its long form and
              expanded.  If the name ends with ..ggzz or
              ..bbzz22,  it is treated as compressed
              with _g_z_i_p(1) or _b_z_i_p_2(1),
              respectively.  Likewise, if _n_a_m_e does
              not exist, but either _n_a_m_e..ggzz or
              _n_a_m_e..bbzz22 exists, the compressed
              file is used.  If _n_a_m_e refers to a
              direc‐ tory with the subdirectories `tmp',
              `new',  and  `cur',  it  is treated as a folder
              in _m_a_i_l_d_i_r format.  A name of
              the form

                     _p_r_o_t_o_c_o_l::////[_u_s_e_r@@]_h_o_s_t[::_p_o_r_t][//_f_i_l_e]

              is  taken  as  an Internet mailbox specification.
              The supported protocols are currently
              iimmaapp  (IMAP  v4r1),  iimmaappss
              (IMAP  with SSL/TLS  encryption),  ppoopp33
              (POP3), and ppoopp33ss (POP3 with SSL/TLS
              encryption).  If _u_s_e_r contains special
              characters, in particular `/'  or  `%',  they
              must be escaped in URL notation, as `%2F'
              or `%25'.  The optional _f_i_l_e part
              applies to IMAP only;  if  it  is omitted,
              the  default `INBOX' is used.  If _n_a_i_l
              is connected to an IMAP server, a name of the
              form @@_m_a_i_l_b_o_x refers to the
              _m_a_i_l_‐ _b_o_x  on that server.
              If the `folder' variable refers to an IMAP
              account, the special  name  `%'  selects  the
              `INBOX'  on  that account.

       FFoolllloowwuupp
              (F)  Similar  to  _R_e_s_p_o_n_d, but
              saves the message in a file named after the
              local part of the first recipient's address.

       ffoolllloowwuupp
              (fo) Similar to _r_e_s_p_o_n_d, but
              saves the message in a  file  named after the
              local part of the first recipient's address.

       ffoolllloowwuuppaallll
              Similar  to  _f_o_l_l_o_w_u_p, but
              responds to all recipients regardless of the
              _f_l_i_p_r and _R_e_p_l_y_a_l_l
              variables.

       ffoolllloowwuuppsseennddeerr
              Similar to _F_o_l_l_o_w_u_p, but
              responds to the sender only  regardless of the
              _f_l_i_p_r and _R_e_p_l_y_a_l_l
              variables.

       ffoorrwwaarrdd
              (fwd)  Takes  a  message and the address
              of a recipient and for‐ wards the message
              to him.  The text of the original  message  is
              included  in the new one, with the value of
              the _f_w_d_h_e_a_d_i_n_g vari‐ able
              printed before.  The _f_w_d_i_g_n_o_r_e
              and _f_w_d_r_e_t_a_i_n commands
              spec‐ ify  which  header fields are included
              in the new message.  Only the first part of
              a multipart message  is  included  unless  the
              _f_o_r_w_a_r_d_-_a_s_-_a_t_t_a_c_h_m_e_n_t
              option is set.

       FFoorrwwaarrdd
              (Fwd)  Similar to _f_o_r_w_a_r_d, but
              saves the message in a file named after the
              local part of the recipient's address.

       ffrroomm   (f) Takes a list of messages and prints
       their  message  headers,
              piped  through  the  pager  if  the  output
              does not fit on the screen.

       ffwwddiiggnnoorree
              Specifies which header fields are to be
              ignored with the _f_o_r_w_a_r_d
              command.  This command has no effect when the
              _f_o_r_w_a_r_d_-_a_s_-_a_t_t_a_c_h_‐
              _m_e_n_t option is set.

       ffwwddrreettaaiinn
              Specifies which header fields are to be retained
              with  the  _f_o_r_‐ _w_a_r_d
              command.  _f_w_d_r_e_t_a_i_n
              overrides _f_w_d_i_g_n_o_r_e.
              This command has no effect when the
              _f_o_r_w_a_r_d_-_a_s_-_a_t_t_a_c_h_m_e_n_t
              option is set.

       ggoooodd   (go) Takes a list of messages and marks
       all of them as not being
              junk  mail.   Data from these messages is then
              inserted into the junk mail database for future
              classification.

       hheeaaddeerrss
              (h) Lists the current range of headers, which is
              an  18-message 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.

       hheellpp   A synonym for ?.

       hhoolldd   (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.  _n_a_i_l deviates from the
              POSIX standard with this command, as a `next'
              command issued after `hold' will display the
              following message, not the current one.

       iiff     Commands in _n_a_i_l's startup files
       can be  executed  conditionally
              depending  on whether the user is sending or
              receiving mail with the if command.  For example:

                      iiff _r_e_c_e_i_v_e
                              _c_o_m_m_a_n_d_s
                              _. _. _.
                      eennddiiff

              An else form is also available:

                      iiff _r_e_c_e_i_v_e
                              _c_o_m_m_a_n_d_s
                              _. _. _.
                      eellssee
                              _c_o_m_m_a_n_d_s
                              _. _. _.
                      eennddiiff

              Note that the only allowed conditions  are
              rreecceeiivvee,  sseenndd,  and
              tteerrmm (execute command if standard input
              is a tty).

       iiggnnoorree Add the list of header fields named
       to the ignored list.  Header
              fields in the ignore list are not printed
              on the terminal when a message  is printed.
              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, includ‐ ing ignored
              fields.  If ignore is executed with no arguments,
              it lists the current set of ignored fields.

       iimmaapp   Sends command strings directly to the
       current IMAP server.  _N_a_i_l
              operates always in IMAP _s_e_l_e_c_t_e_d
              _s_t_a_t_e on the  current  mailbox;
              commands  that  change this will produce
              undesirable results and should be avoided.
              Useful IMAP commands are:

              ccrreeaattee Takes the name of an IMAP
              mailbox as an argument and cre‐
                     ates it.

              ggeettqquuoottaarroooott
                     Takes  the  name  of  an  IMAP mailbox
                     as an argument and prints the quotas
                     that apply to  the  mailbox.   Not  all
                     IMAP servers support this command.

              nnaammeessppaaccee
                     Takes  no  arguments  and prints the
                     Personal Namespaces, the Other User's
                     Namespaces, and the  Shared  Namespaces.
                     Each  namespace  type is printed in
                     parentheses; if there are multiple
                     namespaces of the same type, inner
                     parenthe‐ ses  separate them.  For each
                     namespace, a namespace pre‐ fix and a
                     hierarchy separator is listed.   Not  all
                     IMAP servers support this command.

       iinncc    Same as _n_e_w_m_a_i_l.

       jjuunnkk   (j) Takes a list of messages and marks
       all of them as junk mail.
              Data from these messages is then inserted
              into  the  junk  mail database for future
              classification.

       kkiillll   (k)  Takes a list of messages and
       `kills' them.  Killed messages
              are not printed in header summaries, and
              are ignored by the _n_e_x_t command.
              The  _k_i_l_l command also sets the
              score of the messages to negative infinity,
              so that subsequent _s_c_o_r_e commands
              will not unkill  them  again.   Killing is only
              effective for the current session on a folder;
              when it is quit, all messages are automati‐
              cally unkilled.

       lliisstt   Prints the names of all available
       commands.

       MMaaiill   (M) Similar to _m_a_i_l, but saves
       the message in a file named after
              the local part of the first recipient's address.

       mmaaiill   (m) Takes as argument login names and
       distribution  group  names
              and sends mail to those people.

       mmbbooxx   Indicate  that  a list of messages be
       sent to mbox in the user's
              home directory when _n_a_i_l is quit.
              This is  the  default  action for  messages
              if  unless the _h_o_l_d option is set.
              _n_a_i_l deviates from the POSIX standard
              with this command, as a  `next'  command issued
              after `mbox' will display the following message,
              not the current one.

       mmoovvee   (mv) Acts like _c_o_p_y, but marks
       the messages for deletion if they
              were transferred successfully.

       MMoovvee   (Mv)  Similar  to  _m_o_v_e,  but
       moves the messages to a file named
              after the local part of the sender address of
              the first message.

       nneewwmmaaiill
              Checks for new mail in the current folder
              without committing any changes  before.
              If new mail is present, a message is printed.
              If the _h_e_a_d_e_r variable is set, the
              headers of each  new  message are also printed.

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

       NNeeww    Same as _u_n_r_e_a_d.

       nneeww    Same as _u_n_r_e_a_d.

       oonnlliinnee Same as _c_o_n_n_e_c_t.

       nnoooopp   If the current folder is located on an
       IMAP or  POP3  server,  a
              NOOP command is sent.  Otherwise, no operation
              is performed.

       PPiippee   (Pi)  Like  _p_i_p_e  but  also
       pipes ignored header fields and all
              parts of MIME
              _m_u_l_t_i_p_a_r_t_/_a_l_t_e_r_n_a_t_i_v_e
              messages.

       ppiippee   (pi) Takes a message list and a shell
       command and pipes the mes‐
              sages  through  the  command.   Without an
              argument, the current message is piped through
              the command given by the _c_m_d  variable.
              If  the   _p_a_g_e  variable  is set, every
              message is followed by a formfeed character.

       pprreesseerrvvee
              (pre) A synonym for _h_o_l_d.

       PPrriinntt  (P) Like _p_r_i_n_t but also
       prints out ignored header fields and all
              parts  of  MIME
              _m_u_l_t_i_p_a_r_t_/_a_l_t_e_r_n_a_t_i_v_e
              messages.  See also _p_r_i_n_t,
              _i_g_n_o_r_e, and _r_e_t_a_i_n.

       pprriinntt  (p) Takes a message list and  types
       out  each  message  on  the
              user's  terminal.   If  the message is a MIME
              multipart message, all parts with a content
              type of `text' or `message' are  shown, the
              other  are  hidden  except for their headers.
              Messages are decrypted and converted to the
              terminal character set if  neces‐ sary.

       pprroobbaabbiilliittyy
              (prob) For each word given as argument, the
              contents of its junk mail database entry are
              printed.

       qquuiitt   (q) Terminates the session, saving all
       undeleted,  unsaved  mes‐
              sages 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
              `_Y_o_u _h_a_v_e _n_e_w _m_a_i_l'
              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
              com‐ mand.

       rreeddiirreecctt
              (red) Same as _r_e_s_e_n_d.

       RReeddiirreecctt
              (Red) Same as _R_e_s_e_n_d.

       rreemmoovvee (rem)  Removes the named folders.
       The user is asked for confir‐
              mation in interactive mode.

       rreennaammee (ren) Takes the name of an existing
       folder and the name for  the
              new  folder and renames the first to the
              second one.  Both fold‐ ers must be of the
              same type and must be located on the  current
              server for IMAP.

       RReeppllyy  (R)  Reply to originator.  Does not
       reply to other recipients of
              the original message.

       rreeppllyy  (r) Takes a message list and sends
       mail to the  sender  and  all
              recipients  of  the specified message.
              The default message must not be deleted.

       rreeppllyyaallll
              Similar to _r_e_p_l_y, but responds to all
              recipients  regardless  of the _f_l_i_p_r
              and _R_e_p_l_y_a_l_l variables.

       rreeppllyysseennddeerr
              Similar  to _R_e_p_l_y, but responds to the
              sender only regardless of the _f_l_i_p_r
              and _R_e_p_l_y_a_l_l variables.

       RReesseenndd Like _r_e_s_e_n_d, but does
       not add any header lines.  This is  not  a
              way to hide the sender's identity, but useful
              for sending a mes‐ sage again to the same
              recipients.

       rreesseenndd Takes a list of messages and a user
       name and sends each  message
              to the named user.  `Resent-From:' and related
              header fields are prepended to the new copy of
              the message.

       RReessppoonndd
              Same as _R_e_p_l_y.

       rreessppoonndd
              Same as _r_e_p_l_y.

       rreessppoonnddaallll
              Same as _r_e_p_l_y_a_l_l.

       rreessppoonnddsseennddeerr
              Same as _r_e_p_l_y_s_e_n_d_e_r.

       rreettaaiinn Add the list of header fields named
       to the retained list.   Only
              the  header  fields in the retain list are
              shown on the terminal when a message is printed.
              All other  header  fields  are  sup‐ pressed.
              The  Type  and  Print commands can be used to
              print a message in its entirety.  If retain
              is executed  with  no  argu‐ ments, it lists
              the current set of retained fields.

       SSaavvee   (S)  Similar  to  _s_a_v_e,  but
       saves the messages in a file named
              after the local part of the sender of the first
              message  instead of taking a filename argument.

       ssaavvee   (s) Takes a message list and a filename
       and appends each message
              in turn to the end of the file.  If no filename
              is  given,  the mbox file is used.  The filename
              in quotes, followed by the line count and
              character count is echoed on the user's terminal.
              If editing  a system mailbox, the messages are
              marked for deletion.  Compressed files and
              IMAP mailboxes are handled as described for
              the _-_f command line option above.

       ssaavveeddiissccaarrdd
              Same as saveignore.

       ssaavveeiiggnnoorree
              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.
              This command should only be applied to header
              fields that do not contain information needed  to
              decode  the  message, as MIME content fields do.
              If saving messages on an IMAP account,  ignoring
              fields  makes  it impossible  to copy the data
              directly on the server, thus opera‐ tion
              usually becomes much slower.

       ssaavveerreettaaiinn
              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.  The use of
              this command is strongly dis‐ couraged since
              it may strip header fields  that  are  needed
              to decode the message correctly.

       ssccoorree  (sc)  Takes  a message list and a
       floating point number and adds
              the number to the score of each  given  message.
              All  messages start  at  score 0 when a folder
              is opened.  When the score of a message becomes
              negative,  it  is  `killed'  with  the  effects
              described  for  the  _k_i_l_l  command;
              otherwise if it was negative before and becomes
              positive,  it  is  `unkilled'.   Scores  only
              refer to the currently opened instance of
              a folder.

       sseett    (se)  With  no  arguments,  prints  all
       variable  values, piped
              through the pager if the output does  not  fit
              on  the  screen.  Otherwise,  sets option.
              Arguments are of the form option=value
              (no space before or after =) or option.
              Quotation marks may  be placed  around
              any  part  of  the assignment statement
              to quote blanks or tabs, i.e. `_s_e_t
              _i_n_d_e_n_t_p_r_e_f_i_x_=_"_-_>_"'.
              If  an  argument begins  with  nnoo,  as in
              `sseett nnoo_s_a_v_e', the effect is
              the same as invoking the _u_n_s_e_t command
              with the remaining part of the  vari‐ able
              (`_u_n_s_e_t _s_a_v_e').

       sseeeenn   Takes a message list and marks all
       messages as having been read.

       sshheellll  (sh) Invokes an interactive version
       of the shell.

       sshhoorrttccuutt
              Defines  a  shortcut  name  and  its
              string  for  expansion, as described for the
              _f_o_l_d_e_r command.  With no arguments,
              a list  of defined shortcuts is printed.

       sshhooww   (Sh)  Like _p_r_i_n_t, but performs
       neither MIME decoding nor decryp‐
              tion so that the raw message text is shown.

       ssiizzee   Takes a message list and prints out
       the size  in  characters  of
              each message.

       ssoorrtt   Create a sorted representation of the
       current folder, and change
              the _n_e_x_t command and the addressing
              modes such that  they  refer to  messages  in the
              sorted order.  Message numbers are the same as in
              regular mode.  If the _h_e_a_d_e_r variable
              is  set,  a  header summary in the new order is
              also printed.  Possible sorting cri‐ teria are:

              ddaattee   Sort the messages by their
              `Date:' field, that is by  the
                     time they were sent.

              ffrroomm   Sort  messages  by the value of
              their `From:' field, that
                     is by the address of the sender.  If the
                     _s_h_o_w_n_a_m_e  vari‐ able
                     is set, the sender's real name (if any)
                     is used.

              ssiizzee   Sort the messages by their size.

              ssccoorree  Sort the messages by their
              score.

              ssttaattuuss Sort  the  messages  by
              their message status (new, read,
                     old, etc.).

              ssuubbjjeecctt
                     Sort the messages by their subject.

              tthhrreeaadd Create a threaded order,
              as with the _t_h_r_e_a_d command.

              ttoo     Sort messages by the value of their
              `To:' field, that  is
                     by  the  address of the recipient.
                     If the _s_h_o_w_n_a_m_e vari‐
                     able is set, the recipient's real name
                     (if any) is used.

              If no argument  is  given,  the  current  sorting
              criterion  is printed.

       ssoouurrccee The source command reads commands
       from a file.

       tthhrreeaadd (th)  Create  a  threaded
       representation of the current folder,
              i.e. indent messages that are replies to other
              messages  in  the header  display,  and change
              the _n_e_x_t command and the addressing
              modes such that they refer to messages in
              the  threaded  order.  Message  numbers  are
              the  same  as in unthreaded mode.  If the
              _h_e_a_d_e_r variable is set, a header
              summary in  threaded  order  is also printed.

       ttoopp    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.

       ttoouucchh  Takes  a  message  list and marks
       the messages for saving in the
              _m_b_o_x file.  _n_a_i_l deviates from
              the POSIX standard with this com‐ mand,  as  a
              `next' command issued after `mbox' will display
              the following message, not the current one.

       TTyyppee   (T) Identical to the Print command.

       ttyyppee   (t) A synonym for print.

       uunnaalliiaass
              Takes a list of names defined by alias commands
              and discards the remembered  groups of users.
              The group names no longer have any significance.

       uunnaannsswweerreedd
              Takes a message list and marks each message as
              not  having  been answered.

       uunnccoollllaappssee
              (unc)  Only  applicable  to threaded mode.
              Takes a message list and makes the message
              and all replies to it  visible  in  header
              summaries again.  When a message becomes the
              current message, it is automatically made
              visible.  Also when a  message  with  col‐
              lapsed replies is printed, all of these are
              automatically uncol‐ lapsed.

       uunnddeeff  Undefines each of the named macros.
       It is not an error to use a
              name  that  does  not  belong  to  one  of the
              currently defined macros.

       uunnddeelleettee
              (u) Takes a message list and marks each  message
              as  not  being deleted.

       uunnddrraafftt
              Takes a message list and marks each message as
              a draft.

       uunnffllaagg Takes  a  message  list  and  marks
       each  message  as not being
              `flagged'.

       uunnffwwddiiggnnoorree
              Removes the header field names from the list of
              ignored  fields for the _f_o_r_w_a_r_d
              command.

       uunnffwwddrreettaaiinn
              Removes  the header field names from the list
              of retained fields for the _f_o_r_w_a_r_d
              command.

       uunnggoooodd Takes a message list and undoes
       the effect  of  a  _g_o_o_d  command
              that was previously applied on exactly these
              messages.

       uunniiggnnoorree
              Removes the header field names from the list
              of ignored fields.

       uunnjjuunnkk Takes  a  message  list  and undoes
       the effect of a _j_u_n_k command
              that was previously applied on exactly these
              messages.

       uunnkkiillll Takes a message list and `unkills'
       each message.  Also sets  the
              score of the messages to 0.

       UUnnrreeaadd Same as _u_n_r_e_a_d.

       uunnrreeaadd (U)  Takes  a  message list and
       marks each message as not having
              been read.

       uunnrreettaaiinn
              Removes the header field names from the list
              of retained fields.

       uunnssaavveeiiggnnoorree
              Removes the header field names from the list
              of  ignored  fields for saving.

       uunnssaavveerreettaaiinn
              Removes  the header field names from the list
              of retained fields for saving.

       uunnsseett  Takes a list of option names and
       discards their remembered  val‐
              ues; the inverse of set.

       uunnsshhoorrttccuutt
              Deletes the shortcut names given as arguments.

       uunnssoorrtt Disable  sorted  or  threaded mode
       (see the _s_o_r_t and _t_h_r_e_a_d com‐
              mands), return to normal message order and,
              if the _h_e_a_d_e_r  vari‐ able is set,
              print a header summary.

       uunntthhrreeaadd
              (unth) Same as _u_n_s_o_r_t.

       vveerriiffyy (verif)  Takes  a  message list
       and verifies each message.  If a
              message is not an S/MIME signed message,
              verification will  fail for  it.   The
              verification  process  checks if the message
              was signed using a valid certificate, if the
              message sender's  email address  matches  one
              of those contained within the certificate,
              and if the message content has been altered.

       vviissuuaall (v) Takes a message list and invokes
       the display editor on  each
              message.   Modified  contents  are
              discarded  unless the _w_r_i_t_e_‐
              _b_a_c_k_e_d_i_t_e_d variable is set.

       wwrriittee  (w) For conventional messages, the
       body without all  headers  is
              written.   The  output  is decrypted and
              converted to its native format, if necessary.
              If the output file exists,  the  text
              is appended.—If  a  message  is in MIME
              multipart format, its first part is written to
              the specified file as for  conventional  mes‐
              sages,  and  the user is asked for a filename
              to save each other part; if the contents
              of the first part are  not  to  be  saved,
              `write  /dev/null'  can  be  used.  If the
              filename given starts with a `|' character,
              the part is piped through the remainder of
              the filename interpreted as a shell command.
              In non-interactive mode, only the parts of
              the multipart message that have a  file‐
              name  given  in  the part header are written,
              the other are dis‐ carded.  The original
              message is never marked  for  deletion  in the
              originating  mail folder.  For attachments, the
              contents of the destination file are  overwritten
              if  the  file  previously existed.  No special
              handling of compressed files is performed.

       xxiitt    (x) A synonym for exit.

       zz      _N_a_i_l  presents  message headers in
       windowfuls as described under
              the headers command.  The z command scrolls
              to the  next  window of  messages.   If an
              argument is given, it specifies the window
              to use.  A number prefixed by `+' or `-'
              indicates that the win‐ dow is calculated
              in relation to the current position.  A number
              without a prefix specifies an absolute window
              number, and a  `$' lets _n_a_i_l scroll to
              the last window of messages.

       ZZ      Similar  to  _z,  but scrolls to the next
       or previous window that
              contains at least one new or `flagged' message.

   TTiillddee eessccaappeess
       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 `_t_i_l_d_e _e_s_c_a_p_e'
       is  somewhat of  a  misnomer  since  the  actual
       escape character can be set by the option escape.

       ~~!!_c_o_m_m_a_n_d
              Execute the indicated shell command, then return
              to the message.

       ~~..     Same effect as typing the end-of-file
       character.

       ~~<<_f_i_l_e_n_a_m_e
              Identical to ~r.

       ~~<<!!_c_o_m_m_a_n_d
              Command is executed using the shell.   Its
              standard  output  is inserted into the message.

       ~~@@ [_f_i_l_e_n_a_m_e . . . ]
              With  no  arguments,  edit the attachment list.
              First, the user can edit all existing attachment
              data.  If an attachment's  file name  is  left
              empty, that attachment is deleted from the
              list.  When the end of the attachment list is
              reached,  _n_a_i_l  will  ask for  further
              attachments, until an empty file name is given.
              If _f_i_l_e_n_a_m_e arguments are
              specified, all of them  are  appended  to the
              end  of the attachment list.  Filenames which
              contain white space can only be specified with
              the first method  (no  _f_i_l_e_n_a_m_e
              arguments).

       ~~AA     Inserts  the  string contained in the
       _S_i_g_n variable (same as `~i
              Sign').  The escape sequences `\\tt'
              (tabulator)  and  `\\nn'  (new‐ line)
              are understood.

       ~~aa     Inserts  the  string contained in the
       ssiiggnn variable (same as `~i
              sign').  The escape sequences `\\tt'
              (tabulator)  and  `\\nn'  (new‐ line)
              are understood.

       ~~bb_n_a_m_e _. _. _.
              Add the given names to the list of carbon copy
              recipients but do not make the names visible
              in  the  Cc:  line  (`blind'  carbon copy).

       ~~cc_n_a_m_e _. _. _.
              Add the given names to the list of carbon
              copy recipients.

       ~~dd     Read  the file `dead.letter' from the user's
       home directory into
              the message.

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

       ~~ff_m_e_s_s_a_g_e_s
              Read the named messages into the message
              being sent.  If no mes‐ sages are specified,
              read in the current message.  Message head‐
              ers currently being ignored (by the ignore  or
              retain  command) are  not  included.  For MIME
              multipart messages, only the first printable
              part is included.

       ~~FF_m_e_s_s_a_g_e_s
              Identical to ~f, except all message headers
              and all  MIME  parts are included.

       ~~hh     Edit  the  message header fields `To:',
       `Cc:', `Bcc:', and `Sub‐
              ject:' 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.

       ~~HH     Edit the message header fields `From:',
       `Reply-To:',  `Sender:',
              and `Organization:' in the same manner as
              described for _~_h.  The default  values
              for  these  fields  originate  from  the
              _f_r_o_m, _r_e_p_l_y_t_o,  and
              _O_R_G_A_N_I_Z_A_T_I_O_N variables.
              If this tilde command has been used, changing
              the variables has no effect on  the  current
              message anymore.

       ~~ii_v_a_r_i_a_b_l_e
              Insert  the  value  of  the  specified variable
              into the message adding a newline character at
              the end.  If the variable is unset or  empty,
              the message remains unaltered.  The escape
              sequences `\\tt' (tabulator) and `\\nn'
              (newline) are understood.

       ~~mm_m_e_s_s_a_g_e_s
              Read the named messages into the message
              being sent, indented by a tab or by the
              value of indentprefix.  If no messages are
              spec‐ ified, read the  current  message.
              Message  headers  currently being  ignored
              (by  the  ignore  or  retain  command)  are
              not included.  For MIME multipart messages,
              only the first printable part is included.

       ~~MM_m_e_s_s_a_g_e_s
              Identical  to  ~m, except all message headers
              and all MIME parts are included.

       ~~pp     Print out the message collected so far,
       prefaced by the  message
              header  fields  and followed by the attachment
              list, if any.  If the message text is longer
              than the screen  size,  it  is  piped through
              the pager.

       ~~qq     Abort  the message being sent, copying the
       message to `dead.let‐
              ter' in the user's home directory if save is set.

       ~~rr_f_i_l_e_n_a_m_e
              Read the named file into the message.

       ~~ss_s_t_r_i_n_g
              Cause the named string to become the current
              subject field.

       ~~tt_n_a_m_e _. _. _.
              Add the given names to the direct recipient list.

       ~~v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 the editor is quit, the user may  resume
              appending text to the end of the message.

       ~~ww_f_i_l_e_n_a_m_e
              Write  the message onto the named file.  If the
              file exists, the message is appended to it.

       ~~xx     Same as ~q,  except  that  the  message
       is  not  saved  to  the
              `dead.letter' file.

       ~~||_c_o_m_m_a_n_d
              Pipe  the  message through the command as
              a filter.  If the com‐ mand gives no output
              or terminates abnormally, retain the origi‐
              nal  text  of  the message.  The command
              _f_m_t(1) is often used as command to
              rejustify the message.

       ~~::_n_a_i_l_-_c_o_m_m_a_n_d
              Execute the given _n_a_i_l command.  Not all
              commands, however,  are allowed.

       ~~___n_a_i_l_-_c_o_m_m_a_n_d
              Identical to ~:.

       ~~~~_s_t_r_i_n_g
              Insert the string of text in the message prefaced
              by a single ~.  If the escape character has
              been changed, that character must be doubled
              in order to send it at the beginning of a line.

   VVaarriiaabbllee ooppttiioonnss
       Options  are  controlled  via set and unset commands,
       see their entries for a syntax description.  An option
       is also set if  it  is  passed  to _n_a_i_l  as
       part  of  the environment (this is not restricted to
       specific variables as in the POSIX standard).  A value
       given in a  startup  file overrides a value imported
       from the environment.  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 interest.

   BBiinnaarryy ooppttiioonnss
       The binary options include the following:

       aallllnneett Causes  only  the  local  part  to
       be  evaluated when comparing
              addresses.

       aappppeenndd Causes messages saved in mbox to
       be appended to the  end  rather
              than prepended.  This should always be set.

       aasskk or aasskkssuubb
              Causes  _n_a_i_l to prompt for the subject
              of each message sent.  If the user responds
              with simply a newline, no subject  field  will
              be sent.

       aasskkaatteenndd
              Causes  the  prompts  for `Cc:' and `Bcc:' lists
              to appear after the message has been edited.

       aasskkaattttaacchh
              If set, _n_a_i_l asks for files to
              attach at the end  of  each  mes‐ sage.
              Responding  with  a  newline indicates not to
              include an attachment.

       aasskkcccc  Causes the user to be prompted for
       additional carbon copy recip‐
              ients  (at  the  end of each
              message if _a_s_k_a_t_e_n_d
              or _b_s_d_c_o_m_p_a_t is set).
              Responding with a newline indicates the user's
              satisfac‐ tion with the current list.

       aasskkbbcccc Causes  the user to be prompted
       for additional blind carbon copy
              recipients (at the end of each
              message if _a_s_k_a_t_e_n_d
              or  _b_s_d_c_o_m_p_a_t is  set).
              Responding with a newline indicates the user's
              satis‐ faction with the current list.

       aasskkssiiggnn
              Causes the user to be prompted if the message
              is to be signed at the  end  of  each  message.
              The _s_m_i_m_e_-_s_i_g_n variable is
              ignored when this variable is set.

       aauuttooccoollllaappssee
              Causes threads to be collapsed automatically
              when threaded  mode is entered (see the
              _c_o_l_l_a_p_s_e command).

       aauuttooiinncc
              Same as _n_e_w_m_a_i_l.

       aauuttoopprriinntt
              Causes the delete command to behave like dp -
              thus, after delet‐ ing a message, the next
              one will be typed automatically.

       aauuttootthhrreeaadd
              Causes threaded mode (see the  _t_h_r_e_a_d
              command)  to  be  entered automatically when
              a folder is opened.

       bbaanngg   Enables  the  substitution  of  `!!'
       by the contents of the last
              command line in shell escapes.

       bbssddaannnnoouunnccee
              Causes automatic display of a header summary
              after  executing  a _f_o_l_d_e_r command.

       bbssddccoommppaatt
              Sets  some cosmetical features to traditional
              BSD style; has the same affect as setting
              `askatend' and all other  variables  pre‐
              fixed  with  `bsd',  setting  prompt  to  `& ',
              and changing the default pager to _m_o_r_e.

       bbssddffllaaggss
              Changes the letters printed in the first column
              of a header sum‐ mary to traditional BSD style.

       bbssddhheeaaddlliinnee
              Changes  the  display  of  columns in a header
              summary to tradi‐ tional BSD style.

       bbssddmmssggss
              Changes some informational messages to
              traditional BSD style.

       bbssddoorrddeerr
              Causes the `Subject:' field  to  appear
              immediately  after  the `To:' field in message
              headers and with the _~_h tilde command.

       bbssddsseett Changes  the output format of the
       _s_e_t command to traditional BSD
              style.

       cchhaaiinneedd--jjuunnkk--ttookkeennss
              Normally, the Bayesian junk mail filter  bases
              its  classifica‐ tions  on  single  word
              tokens extracted from messages.  If this option
              is set, adjacent words are combined to pairs,
              which  are then used as additional tokens.
              This usually improves the accu‐ racy of the
              filter, but also increases the  junk  mail
              database five- to tenfold.

       ddaatteeffiieelldd
              The date in a header summary is normally the
              date of the mailbox `From ' line of the message.
              If this variable is set, the  date as given in
              the `Date:' header field is used, converted to
              local time.

       ddeebbuugg  Prints debugging messages and disables
       the  actual  delivery  of
              messages.   Unlike  _v_e_r_b_o_s_e,
              this  option  is intended for _n_a_i_l
              development only.

       ddiissccoonnnneecctteedd
              When an IMAP mailbox is selected and
              this variable  is  set,  no connection
              to  the  server  is  initiated.   Instead,
              data  is obtained from the local cache (see
              _i_m_a_p_-_c_a_c_h_e).  Mailboxes  that
              are  not  present  in  the  cache and messages
              that have not yet entirely been fetched from
              the  server  are  not  available;  to fetch  all
              messages  in  a mailbox at once, the command
              `copy * /dev/null' can be used while still
              in _o_n_l_i_n_e mode.  Changes that are
              made  to IMAP mailboxes in disconnected mode are
              queued and committed later when a connection
              to that server  is  opened  in online mode.
              This procedure is not completely reliable since
              it cannot be guaranteed that the IMAP unique
              identifiers (UIDs)  on the server still match
              the ones in the cache at that time.  Data is
              saved to `dead.letter' when this problem occurs.

       ddiissccoonnnneecctteedd--_u_s_e_r@@_h_o_s_t
              The specified account is handled as
              described  for  the  _d_i_s_c_o_n_‐
              _n_e_c_t_e_d variable above, but other
              accounts are not affected.

       ddoott    The binary option dot causes _n_a_i_l
       to interpret a period alone on
              a line as the terminator of a message the user
              is sending.

       eeddiitthheeaaddeerrss
              When a message is edited while being  composed,
              its  header  is included  in  the  editable
              text.   `To:', `Cc:', `Bcc:', `Sub‐ ject:',
              `From:',  `Reply-To:',  `Sender:',  and
              'Organization:' fields are accepted within the
              header, other fields are ignored.

       eemmppttyybbooxx
              If  set, an empty mailbox file is not removed.
              This may improve the interoperability with
              other mail user agents  when  using  a common
              folder directory.

       eemmppttyyssttaarrtt
              If the mailbox is empty, _n_a_i_l normally
              prints _`_N_o _m_a_i_l _f_o_r
              _u_s_e_r_' and exits immediately.  If this
              option is set, _n_a_i_l starts  even with
              an empty mailbox.

       fflliipprr  Exchanges the _R_e_s_p_o_n_d
       with the _r_e_s_p_o_n_d commands and vice-versa.

       ffoorrwwaarrdd--aass--aattttaacchhmmeenntt
              Original messages are normally sent as inline
              text with the _f_o_r_‐ _w_a_r_d
              command, and only the first part of a multipart
              message  is included.   With  this  option,
              messages  are sent as MIME _m_e_s_‐
              _s_a_g_e_/_r_f_c_8_2_2 attachments,
              and all of their  parts  are  included.
              The  _f_w_d_i_g_n_o_r_e  and
              _f_w_d_r_e_t_a_i_n options
              are ignored when the _f_o_r_‐
              _w_a_r_d_-_a_s_-_a_t_t_a_c_h_m_e_n_t
              option is set.

       ffuullllnnaammeess
              When replying to a message, _n_a_i_l normally
              removes  the  comment parts  of  email addresses,
              which by convention contain the full names of
              the recipients.  If this variable is set,  such
              strip‐ ping is not performed, and comments
              are retained.

       hheeaaddeerr Causes  the  header  summary  to
       be written at startup and after
              commands that affect the number of messages or
              the order of mes‐ sages in the current folder;
              enabled by default.

       hhoolldd   This  option  is  used to hold messages
       in the system mailbox by
              default.

       iiggnnoorree Causes interrupt signals from the
       terminal  to  be  ignored  and
              echoed as @'s.

       iiggnnoorreeeeooff
              An option related to dot is ignoreeof which
              makes _n_a_i_l refuse to accept a control-d
              as the end  of  a  message.   Ignoreeof  also
              applies to _n_a_i_l command mode.

       iimmaapp--uussee--ssttaarrttttllss
              Causes  _n_a_i_l  to issue a STARTTLS command
              to make an unencrypted IMAP session SSL/TLS
              encrypted.  This functionality is not  sup‐
              ported by all servers, and is not used if the
              session is already encrypted by the IMAPS method.

       iimmaapp--uussee--ssttaarrttttllss--_u_s_e_r@@_h_o_s_t
              Activates
              _i_m_a_p_-_u_s_e_-_s_t_a_r_t_t_l_s
              for a specific account.

       kkeeeepp   This option causes _n_a_i_l to
       truncate the  user's  system  mailbox
              instead  of deleting it when it is empty.
              This should always be set, since it prevents
              malicious users from creating  fake  mail
              folders in a world-writable spool directory.

       kkeeeeppssaavvee
              When a message is saved, it is usually discarded
              from the origi‐ nating folder when _n_a_i_l
              is quit.  Setting this option causes all saved
              message to be retained.

       mmaarrkkaannsswweerreedd
              When  a  message  is  replied to and this
              variable is set, it is marked as having been
              answered.   This  mark  has  no  technical
              meaning in the mail system; it just causes
              messages to be marked in the header summary,
              and makes them specially addressable.

       mmeettoooo  Usually, when a group is expanded
       that contains the sender,  the
              sender  is  removed  from  the  expansion.
              Setting this option causes the sender to be
              included in the group.

       nneewwmmaaiill
              Checks for new mail in the current folder
              each time  the  prompt is  printed.   For IMAP
              mailboxes, the server is then polled for new
              mail, which may result in delayed operation
              if  the  connec‐ tion to the server is slow.
              A _m_a_i_l_d_i_r folder must be re-scanned
              to determine if new mail has arrived.

              If this variable is set to the special  value
              nnooppoollll,  an  IMAP server  is  not
              actively  asked  for new mail, but new mail
              may still be detected and announced with any
              other IMAP command that is sent to the server.
              A _m_a_i_l_d_i_r folder is not scanned
              then.

              In  any  case, the IMAP server may send
              notifications about mes‐ sages that have been
              deleted on the server by another process or
              client.   In this case, `Expunged _n messages'
              is printed regard‐ less of this variable,
              and message numbers may have changed.

       nnoohheeaaddeerr
              Setting the option noheader is the same as
              giving the -N flag on the command line.

       oouuttffoollddeerr
              Causes the filename given in the
              _r_e_c_o_r_d variable and the sender- based
              filenames for the _C_o_p_y and _S_a_v_e
              commands to be interpreted relative  to  the
              directory given in the _f_o_l_d_e_r
              variable rather than to the current directory
              unless it is an absolute pathname.

       ppaaggee   If set, each message the _p_i_p_e
       command prints out is followed  by
              a formfeed character.

       ppiippeerraaww
              Send  messages  to  the _p_i_p_e command
              without performing MIME and character set
              conversions.

       ppoopp33--uussee--aappoopp
              If this variable is set, the APOP authentication
              method is  used when  a connection to a POP3
              server is initiated.  The advantage of this
              method over the usual USER/PASS authentication
              is  that the  password  is  not sent over the
              network in clear text.  The connection fails
              if the server does not support  the  APOP
              com‐ mand.

       ppoopp33--uussee--aappoopp--_u_s_e_r@@_h_o_s_t
              Enables _p_o_p_3_-_u_s_e_-_a_p_o_p
              for a specific account.

       ppoopp33--uussee--ssttaarrttttllss
              Causes  _n_a_i_l to issue a STLS command
              to make an unencrypted POP3 session SSL/TLS
              encrypted.  This functionality is not  supported
              by  all  servers,  and  is  not  used  if the
              session is already encrypted by the POP3S method.

       ppoopp33--uussee--ssttaarrttttllss--_u_s_e_r@@_h_o_s_t
              Activates
              _p_o_p_3_-_u_s_e_-_s_t_a_r_t_t_l_s
              for a specific account.

       pprriinntt--aallll--cchhaarrss
              This option causes all characters to  be
              considered  printable.  It  is  only  effective
              if  given in a startup file.  With this option
              set, some character sequences in  messages  may
              put  the user's  terminal  in  an undefined state
              when printed; it should only be used as a last
              resort if no working system locale can be found.

       pprriinntt--aalltteerrnnaattiivveess
              When  a  MIME message part of type
              _m_u_l_t_i_p_a_r_t_/_a_l_t_e_r_n_a_t_i_v_e
              is dis‐ played and it contains a subpart
              of type _t_e_x_t_/_p_l_a_i_n, other
              parts are  normally  discarded.  Setting this
              variable causes all sub‐ parts to be displayed,
              just as if the surrounding  part  was  of type
              _m_u_l_t_i_p_a_r_t_/_m_i_x_e_d.

       qquuiieett  Suppresses the printing of the version
       when first invoked.

       rreeccoorrdd--rreesseenntt
              If  both  this  variable  and  the
              _r_e_c_o_r_d variable are set, the
              _r_e_s_e_n_d and _R_e_s_e_n_d
              commands save messages to the _r_e_c_o_r_d
              folder as it is normally only done for newly
              composed messages.

       rreeppllyy--iinn--ssaammee--cchhaarrsseett
              If  this variable is set, _n_a_i_l first
              tries to use the same char‐ acter set of the
              original message for replies.  If  this  fails,
              the _s_e_n_d_c_h_a_r_s_e_t_s variable
              is evaluated as usual.

       RReeppllyyaallll
              Reverses the sense of reply and Reply commands.

       ssaavvee   When  the user aborts a message with
       two RUBOUT (interrupt char‐
              acters) _n_a_i_l copies the partial letter
              to the file `dead.letter' in the home directory.
              This option is set by default.

       sseeaarrcchhhheeaaddeerrss
              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.

       sseennddwwaaiitt
              When sending a message, wait until the mail
              transfer agent exits before accepting further
              commands.  If the mail  transfer  agent returns
              a  non-zero  exit  status, the exit status of
              nail will also be non-zero.

       sshhoowwllaasstt
              Setting this option causes _n_a_i_l to
              start  at  the  last  message instead of the
              first one when opening a mail folder.

       sshhoowwnnaammee
              Causes  _n_a_i_l  to use the sender's real
              name instead of the plain address in the header
              field summary and  in  message  specifica‐
              tions.

       sshhoowwttoo Causes  the  recipient  of the
       message to be shown in the header
              summary if the message was sent by the user.

       ssmmiimmee--ffoorrccee--eennccrryyppttiioonn
              Causes _n_a_i_l to refuse sending unencrypted
              messages.

       ssmmiimmee--ssiiggnn
              If this variable is set, outgoing  messages
              are  S/MIME  signed with the user's private
              key.  Signing a message enables a recip‐
              ient to verify that the sender used a  valid
              certificate,  that the  email  addresses in
              the certificate match those in the mes‐
              sage header, and that the message content has
              not been  altered.  It  does not change the
              message text, and people will be able to read
              the message as usual.

       ssmmiimmee--nnoo--ddeeffaauulltt--ccaa
              Do not load the  default  CA  locations
              when  verifying  S/MIME signed  messages.
              Only  applicable  if S/MIME support is built
              using OpenSSL.

       ssmmttpp--uussee--ssttaarrttttllss
              Causes _n_a_i_l to issue a STARTTLS command
              to make an SMTP  session SSL/TLS  encrypted.
              Not  all  servers  support  this  command;
              because of common implementation defects, it
              cannot be automati‐ cally determined whether
              a server supports it or not.

       ssssll--nnoo--ddeeffaauulltt--ccaa
              Do  not  load  the default CA locations to verify
              SSL/TLS server certificates.  Only applicable
              if SSL/TLS support is built using OpenSSL.

       ssssll--vv22--aallllooww
              Accept  SSLv2  connections.   These  are
              normally  not  allowed because this protocol
              version is insecure.

       sstteeaalltthhmmuuaa
              Inhibits the generation of the
              _`_M_e_s_s_a_g_e_-_I_d_:_'  and
              _`_U_s_e_r_-_A_g_e_n_t_:_' header
              fields  that  include obvious references
              to _n_a_i_l.  There are two pitfalls
              associated with this: First, the message id
              of outgoing  messages  is not known anymore.
              Second, an expert may still use the remaining
              information in the header to track  down the
              originating mail user agent.

       vveerrbboossee
              Setting  the  option verbose is the same
              as using the -v flag on the command line.
              When _n_a_i_l runs in verbose  mode,
              details  of the actual message delivery and
              protocol conversations for IMAP, POP3, and
              SMTP, as well as of other internal processes,
              are dis‐ played on the user's terminal,
              This is sometimes useful to debug problems.
              _N_a_i_l prints all data that is sent to
              remote  servers in  clear  texts,  including
              passwords, so care should be taken that no
              unauthorized option can view the screen if
              this  option is enabled.

       wwrriitteebbaacckkeeddiitteedd
              If  this  variable  is  set, messages modified
              using the _e_d_i_t or _v_i_s_u_a_l
              commands are written back to the current folder
              when  it is  quit.   This  is  only possible for
              writable folders in _m_b_o_x format.  Setting
              this variable also disables MIME  decoding  and
              decryption for the editing commands.

   SSttrriinngg OOppttiioonnss
       The string options include the following:

       aattttrrlliisstt
              A sequence of characters to print in the
              `attribute' column of a header summary, each for
              one type of messages in  the  following order:
              new,  unread but old, new but read, read and old,
              saved, preserved, mboxed, flagged, answered,
              draft, killed, start of  a collapsed thread,
              collapsed, classified as junk.  The default
              is `NUROSPMFATK+-J', or `NU  *HMFATK+-J' if
              _b_s_d_f_l_a_g_s or  the  _S_Y_S_V_3
              environment variable are set.

       aauuttoobbcccc
              Specifies  a  list of recipients to which a
              blind carbon copy of each outgoing message will
              be sent automatically.

       aauuttoocccc Specifies a list of recipients to
       which a carbon  copy  of  each
              outgoing message will be sent automatically.

       aauuttoossoorrtt
              Causes sorted mode (see the _s_o_r_t command)
              to be entered automat‐ ically with the value
              of this option as sorting  method  when  a
              folder is opened.

       ccmmdd    The default value for the _p_i_p_e
       command.

       ccrrtt    The  valued  option  crt is used as a
       threshold to determine how
              long a message must be before PAGER is used
              to read it.  If  crt is  set  without a value,
              then the height of the terminal screen stored in
              the system is  used  to  compute  the  threshold
              (see _s_t_t_y(1)).

       DDEEAADD   The  name  of the file to use for saving
       aborted messages.  This
              defaults to `dead.letter' in the user's home
              directory.

       EEDDIITTOORR Pathname of the text editor to use
       in the edit  command  and  ~e
              escape.  If not defined, then a default editor
              is used.

       eennccooddiinngg
              The  default  MIME encoding to use
              in outgoing text messages and message
              parts.  Valid values are _8_b_i_t or
              _q_u_o_t_e_d_-_p_r_i_n_t_a_b_l_e.
              The default  is _8_b_i_t.  In case the
              mail transfer system is not ESMTP compliant,
              _q_u_o_t_e_d_-_p_r_i_n_t_a_b_l_e
              should be used instead.  If there is no need to
              encode a message, _7_b_i_t transfer mode
              is used, without regard to the value of this
              variable.   Binary  data  is  always encoded
              in _b_a_s_e_6_4 mode.

       eessccaappee If defined, the first character of
       this option gives the charac‐
              ter to use in the place of ~ to denote escapes.

       ffoollddeerr The name of the directory to use
       for  storing  folders  of  mes‐
              sages.   All  folder  names  that  begin with
              `+' refer to files below that directory.
              If the directory name begins with a  `/',
              _n_a_i_l  considers  it  to  be an absolute
              pathname; otherwise, the folder directory is
              found relative to the user's home directory.

              The directory name may also refer to an IMAP
              account; any  names that  begin  with  `+'  then
              refer  to  IMAP  mailboxes on that account.
              An IMAP folder is normally given in the form

                  imaps://mylogin@imap.myisp.example

              In this case, the `+' and `@' prefixes for
              folder names have the same effect (see the
              _f_o_l_d_e_r command).

              Some IMAP servers do not accept the creation of
              mailboxes in the hierarchy base; they require
              that they are created as subfolders of `INBOX'.
              With such servers, a folder name of the form

                  imaps://mylogin@imap.myisp.example/INBOX.

              should  be  used  (the  last character is the
              server's hierarchy delimiter).  Folder names
              prefixed by `+'  will  then  refer  to folders
              below `INBOX', while folder names prefixed by `@'
              refer to folders below the hierarchy base.   See
              the  _i_m_a_p  _n_a_m_e_s_p_a_c_e
              command for a method to detect the appropriate
              prefix and delim‐ iter.

       ffoollddeerr--hhooookk
              When a folder is opened and this variable is
              set, the macro cor‐ responding to the value of
              this variable is executed.  The macro is also
              invoked when new mail arrives,  but  message
              lists  for commands executed from the macro
              only include newly arrived mes‐ sages then.

       ffoollddeerr--hhooookk--_f_u_l_l_n_a_m_e
              When a folder named _f_u_l_l_n_a_m_e is
              opened, the macro  corresponding to  the value
              of this variable is executed.  Unlike other
              folder specifications, the fully expanded name
              of  a  folder,  without metacharacters,  is
              used to avoid ambiguities.  The macro speci‐
              fied with _f_o_l_d_e_r_-_h_o_o_k
              is not executed if this variable is effec‐
              tive  for  a  folder (unless it is explicitly
              invoked within the called macro).

       ffrroomm   The address (or a list of addresses)
       to  put  into  the  _`_F_r_o_m_:_'
              field  of  the  message header.  If replying
              to a message, these addresses are handled
              as if they were in  the  alternates  list.
              If  the  machine's  hostname  is  not
              valid at the Internet (for example at a
              dialup machine), either this variable  or
              _h_o_s_t_n_a_m_e have to be set
              to get correct Message-ID header fields.
              If _f_r_o_m contains more than one address,
              the _s_e_n_d_e_r variable must also be set.

       ffwwddhheeaaddiinngg
              The  string  to print before
              the text of a message with the
              _f_o_r_‐ _w_a_r_d command (unless the
              _f_o_r_w_a_r_d_-_a_s_-_a_t_t_a_c_h_m_e_n_t
              variable is set).  Defaults to ``--------
              Original Message --------'' if unset.  If it is
              set to the empty string, no heading is printed.

       hheeaaddlliinnee
              A format string to use for the header summary,
              similar to _p_r_i_n_t_f formats.  A `%'
              character introduces a format specifier.  It may
              be followed by a number indicating  the  field
              width.   If  the field  is  a  number, the width
              may be negative, which indicates that it is to
              be left-aligned.  Valid format specifiers are:


                  lfB4 l.  %a   Message attributes.   %c
                  The  score  of  the message.   %d   The
                  date  when  the  message  was received.
                  %e   The indenting level in threaded mode.
                  %f   The address of  the  message sender.
                  %i   The message thread structure.  %l   The
                  number of lines of the message.  %m   Message
                  num‐ ber.   %o   The  number  of  octets
                  (bytes) in the message.  %s   Message subject
                  (if  any).   %S   Message  subject  (if any)
                  in double quotes.  %t   The position in
                  threaded/sorted order.  %>   A `>' for the
                  current message, otherwise  `  '.  %<   A
                  `<'  for the current message, otherwise `
                  '.  %%   A `%' character.

              The    default    is    `%>%a%m %18f %16d
              %4l/%-5o %i%s',     or `%>%a%m %20f  %16d
              %3l/%-5o %i%S' if _b_s_d_c_o_m_p_a_t
              is set.

       hhoossttnnaammee
              Use  this  string  as  hostname  when
              expanding local addresses instead of the
              value obtained from _u_n_a_m_e(2) and
              _g_e_t_a_d_d_r_i_n_f_o(3).

       iimmaapp--aauutthh
              Sets the IMAP authentication method.
              Valid values  are  `login' for  the
              usual  password-based  authentication  (the
              default), `cram-md5', which is a password-based
              authentication  that  does not  send the password
              over the network in clear text, and `gss‐ api'
              for GSSAPI-based authentication.

       iimmaapp--aauutthh--_u_s_e_r@@_h_o_s_t
              Sets the IMAP authentication method for a
              specific account.

       iimmaapp--ccaacchhee
              Enables caching of IMAP mailboxes.  The value
              of  this  variable must point to a directory
              that is either existent or can be cre‐ ated
              by _n_a_i_l.  All contents of the cache
              can be deleted by  _n_a_i_l at any time;
              it is not safe to make assumptions about them.

       iimmaapp--kkeeeeppaalliivvee
              IMAP servers may close the connection after a
              period of inactiv‐ ity; the standard requires
              this to be at least 30  minutes,  but practical
              experience  may  vary.   Setting  this  variable
              to a numeric _v_a_l_u_e greater than
              0 causes a NOOP command  to  be  sent each
              _v_a_l_u_e seconds if no other operation
              is performed.

       iimmaapp--lliisstt--ddeepptthh
              When retrieving the list of folders on an IMAP
              server, the _f_o_l_d_‐ _e_r_s command
              stops after it has reached a certain depth to
              avoid possible  infinite  loops.   The value of
              this variable sets the maximum depth allowed.
              The default is 2.  If the folder separa‐
              tor on the current IMAP server is a slash
              `/', this variable has no effect, and the
              _f_o_l_d_e_r_s command does not descend
              to  subfold‐ ers.

       iinnddeennttpprreeffiixx
              String  used by the `_~_m' and `_~_M' tilde
              escapes and by the _q_u_o_t_e option for
              indenting messages, in place of the normal tab
              char‐ acter (^I).  Be sure to quote the value
              if it contains spaces or tabs.

       jjuunnkkddbb The location of the junk mail
       database.  The string  is  treated
              like a folder name, as described for the
              _f_o_l_d_e_r command.

              The  files in the junk mail database are normally
              stored in _c_o_m_‐ _p_r_e_s_s(1)
              format for saving space.  If processing
              time is consid‐ ered  more important,
              _u_n_c_o_m_p_r_e_s_s(1) can be used
              to store them in plain form.  _N_a_i_l will
              then work using the uncompressed files.

       LLIISSTTEERR Pathname of the directory lister
       to use in the  _f_o_l_d_e_r_s  command
              when operating on local mailboxes.  Default is
              /bin/ls.

       MMAAIILL   Is  used  as  the  user's mailbox,
       if set.  Otherwise, a system-
              dependent default is used.  Can be a
              _p_r_o_t_o_c_o_l:://// string (see the
              _f_o_l_d_e_r command for more information).

       MMAAIILLXX__HHEEAADD
              A  string  to  put  at  the  beginning of each
              new message.  The escape sequences `\\tt'
              (tabulator) and `\\nn' (newline) are  under‐
              stood.

       MMAAIILLXX__TTAAIILL
              A  string  to  put  at  the end of each
              new message.  The escape sequences `\\tt'
              (tabulator) and `\\nn' (newline) are
              understood.

       mmaaxxiimmuumm--uunneennccooddeedd--lliinnee--lleennggtthh
              Messages that contain lines longer than the
              value of this  vari‐ able  are  encoded in
              quoted-printable even if they contain only
              ASCII characters.  The maximum effective
              value is 950.   If  set to  0,  all ASCII
              text messages are encoded in quoted-printable.
              S/MIME signed messages are always  encoded  in
              quoted-printable regardless of the value of
              this variable.

       MMBBOOXX   The name of the mbox file.  It can be
       the name of a folder.  The
              default is `_m_b_o_x' in the user's home
              directory.

       NNAAIILL__EEXXTTRRAA__RRCC
              The name of an optional startup file to be read
              after ~/.mailrc.  This variable is ignored if
              it is imported from the environment; it has
              an effect only if it is set in /etc/nail.rc
              or  ~/.mailrc to    allow    bypassing
              the   configuration   with   e.   g.
              `MAILRC=/dev/null'.  Use this file for
              _n_a_i_l  commands  that  are not understood
              by other mailx implementations.

       nneewwffoollddeerrss
              If  this  variable  has  the  value
              mmaaiillddiirr, newly created local
              folders will be in _m_a_i_l_d_i_r format.

       nnssss--ccoonnffiigg--ddiirr
              A directory that contains the files cert_N.db
              to  retrieve  cer‐ tificates,  key_N.db
              to  retrieve  private  keys, and secmod.db,
              where _N is a  digit.   These  are  usually
              taken  from  Mozilla installations,    so
              an    appropriate    value    might   be
              `~/.mozilla/firefox/default.clm'.  _N_a_i_l
              opens these files  read- only  and does not
              modify them.  However, if the files are modi‐
              fied by Mozilla while _n_a_i_l is running,
              it  will  print  a  `Bad database'  message.
              It  may  be  necessary to create copies of
              these files that are exclusively used by
              _n_a_i_l then.  Only appli‐ cable if
              S/MIME and SSL/TLS support is built using
              Network Secu‐ rity Services (NSS).

       OORRGGAANNIIZZAATTIIOONN
              The value to put into the
              _`_O_r_g_a_n_i_z_a_t_i_o_n_:_'
              field of  the  message header.

       PPAAGGEERR  Pathname  of  the program to use in
       the more command or when crt
              variable is set.  The default paginator
              _p_g(1) or, in BSD compat‐ ibility mode,
              _m_o_r_e(1) is used if this option is
              not defined.

       ppaasssswwoorrdd--_u_s_e_r@@_h_o_s_t
              Set  the  password for _u_s_e_r when
              connecting to _h_o_s_t.  If no such variable
              is defined for a host, the user will  be
              asked  for  a password  on  standard input.
              Specifying passwords in a startup file is
              generally a security risk, the file should  be
              readable by the invoking user only.

       ppiippee--_c_o_n_t_e_n_t_/_s_u_b_c_o_n_t_e_n_t
              When a MIME message part of
              _c_o_n_t_e_n_t_/_s_u_b_c_o_n_t_e_n_t
              type is displayed or it is replied to, its
              text is filtered through the  value  of this
              variable interpreted as a shell command.
              Special care must be taken when using such
              commands as mail viruses  may  be  dis‐
              tributed  by  this  method; if messages of type
              _a_p_p_l_i_c_a_t_i_o_n_/_x_-_s_h
              were filtered through the shell, for example,
              a  message  sender could  easily  execute
              arbitrary code on the system _n_a_i_l is
              run‐ ning on.

       ppoopp33--kkeeeeppaalliivvee
              POP3 servers may close the connection after
              a period of inactiv‐ ity;  the  standard
              requires this to be at least 10 minutes, but
              practical experience may  vary.   Setting  this
              variable  to  a numeric  _v_a_l_u_e  greater
              than 0 causes a NOOP command to be sent each
              _v_a_l_u_e seconds if no other operation
              is performed.

       pprroommpptt The string printed when a  command
       is  accepted.   Defaults  to
              `?? ', or to `&& ' if the
              _b_s_d_c_o_m_p_a_t variable is set.

       qquuoottee  If set, _n_a_i_l starts a replying
       message with the original message
              prefixed by the value of the variable
              _i_n_d_e_n_t_p_r_e_f_i_x.  Normally,
              a heading consisting of `Fromheaderfield wrote:'
              is printed before the quotation.  If the string
              _n_o_h_e_a_d_i_n_g is assigned to the
              _q_u_o_t_e variable,  this  heading  is
              omitted.  If the string _h_e_a_d_e_r_s
              is assigned, the headers selected by the
              ignore/retain commands are printed  above  the
              message body, thus _q_u_o_t_e acts like an
              auto‐ matic ~m command then.  If the string
              _a_l_l_h_e_a_d_e_r_s  is  assigned,
              all  headers  are  printed  above the message
              body, and all MIME parts are included, thus
              _q_u_o_t_e acts like an automatic ~M
              command then.

       rreeccoorrdd If  defined, gives the pathname of
       the folder used to record all
              outgoing mail.  If not defined, then outgoing
              mail  is  not  so saved.   When  saving  to
              this folder fails, the message is not sent but
              saved to the `dead.letter' file instead.

       rreeppllyyttoo
              A list of addresses to put into the
              _`_R_e_p_l_y_-_T_o_:_'  field  of  the
              message  header.   If  replying to a message,
              such addresses are handled as if they were in
              the alternates list.

       ssccrreeeenn When _n_a_i_l initially prints
       the message  headers,  it  determines
              the  number  to  print  by looking at the speed
              of the terminal.  The faster the terminal,
              the more it prints.  This option  over‐
              rides  this  calculation  and specifies how
              many message headers are printed.  This number
              is also used for scrolling with the  z command.

       sseennddcchhaarrsseettss
              A  comma-separated  list of character set
              names that can be used in Internet mail.
              When a message that contains  characters
              not representable in US-ASCII is prepared
              for sending, _n_a_i_l tries to convert
              its text to each of the given character  sets
              in  order and uses the first appropriate one.
              The default is `utf-8'.

              Character  sets  assigned  to this variable
              should be ordered in ascending complexity.
              That is, the list should start with  e.g.
              `iso-8859-1'  for  compatibility  with
              older mail clients, might contain some other
              language-specific character sets, and  should
              end with `utf-8' to handle messages that combine
              texts in multi‐ ple languages.

       sseennddeerr An address that is put into the
       `Sender:' field of outgoing mes‐
              sages.   This  field needs not normally be
              present.  It is, how‐ ever, required if
              the  `From:'  field  contains  more  than
              one address.   It  can  also  be used to
              indicate that a message was sent on behalf
              of somebody other; in this case,  `From:'
              should contain  the  address of the person
              that took responsibility for the message, and
              `Sender:' should contain  the  address  of
              the person  that  actually  sent the message.
              The _s_e_n_d_e_r address is handled as if
              it were in the _a_l_t_e_r_n_a_t_e_s
              list.

       sseennddmmaaiill
              To use an alternate mail delivery system,
              set this option to the full  pathname  of the
              program to use.  This should be used with care.

       SSHHEELLLL  Pathname of the shell to use in the
       ! command and the ~! escape.
              A default shell is used if this option is
              not defined.


       SSiiggnn   A string for use with the _~_A command.

       ssiiggnn   A string for use with the _~_a command.

       ssiiggnnaattuurree
              Must  correspond  to  the name of a readable
              file if set.  The file's content is then
              appended  to  each  singlepart message  and
              to the first part of each multipart message.
              Be warned that there is no possibility to edit
              the signa‐ ture for an individual message.

       ssmmiimmee--ccaa--ddiirr
              Specifies  a directory with CA certificates for
              verifica‐ tion of S/MIME signed messages.
              The format is  the  same as  described  in
              _S_S_L___C_T_X___l_o_a_d___v_e_r_i_f_y___l_o_c_a_t_i_o_n_s(3).
              Only applicable if S/MIME support is built
              using OpenSSL.

       ssmmiimmee--ccaa--ffiillee
              Specifies a file with CA certificates for
              verification of S/MIME  signed  messages.
              The  format  is  the  same as described  in
              _S_S_L___C_T_X___l_o_a_d___v_e_r_i_f_y___l_o_c_a_t_i_o_n_s(3).
              Only applicable if S/MIME support is built
              using OpenSSL.

       ssmmiimmee--cciipphheerr--_u_s_e_r_@_h_o_s_t
              Specifies   a   cipher  to  use  when
              generating  S/MIME encrypted messages  for
              _u_s_e_r_@_h_o_s_t.   Valid  ciphers
              are rrcc22--4400 (RC2 with 40 bits),
              rrcc22--6644 (RC2 with 64 bits), ddeess
              (DES, 56 bits) and ddeess--eeddee33
              (3DES,  112/168  bits).   The default  is 3DES.
              It is not recommended to use the other ciphers
              unless a recipient's client is actually unable
              to handle  3DES  since they are comparatively
              weak; but even so, the recipient should upgrade
              his software in  prefer‐ ence.

       ssmmiimmee--ccrrll--ffiillee
              Specifies a file that contains a CRL in PEM
              format to use when  verifying  S/MIME  messages.
              Only  applicable  if S/MIME support is built
              using OpenSSL.

       ssmmiimmee--ccrrll--ddiirr
              Specifies  a  directory  that contains files
              with CRLs in PEM format to use when verifying
              S/MIME  messages.   Only applicable if S/MIME
              support is built using OpenSSL.

       ssmmiimmee--eennccrryypptt--_u_s_e_r_@_h_o_s_t
              If  this  variable  is  set,  messages  to
              _u_s_e_r_@_h_o_s_t are encrypted
              before sending.  If  S/MIME  support  is  built
              using  OpenSSL,  the value of the variable must
              be set to the name of a file that contains  a
              certificate  in  PEM format.   If S/MIME support
              is built using NSS, the value of this variable
              is ignored, but if multiple certificates for
              _u_s_e_r_@_h_o_s_t are available, the
              _s_m_i_m_e_-_n_i_c_k_n_a_m_e_-_u_s_e_r_@_h_o_s_t
              variable should be set.  Otherwise a certificate
              for  the recipient is automatically retrieved
              from the certificate database, if possible.

              If a message is sent to multiple recipients,
              each of them for  whom a corresponding variable
              is set will receive an individually encrypted
              message;  other  recipients  will continue
              to receive the message in plain text unless the
              _s_m_i_m_e_-_f_o_r_c_e_-_e_n_c_r_y_p_t_i_o_n
              variable is  set.   It  is  recom‐ mended
              to  sign encrypted messages, i.e. to also set
              the _s_m_i_m_e_-_s_i_g_n variable.

       ssmmiimmee--nniicckknnaammee--_u_s_e_r_@_h_o_s_t
              Specifies the nickname of a certificate
              to be  used  when encrypting  messages  for
              _u_s_e_r_@_h_o_s_t _.  Only applicable
              if S/MIME support is built using NSS.

       ssmmiimmee--ssiiggnn--cceerrtt
              Points to a file in PEM format that contains  the
              user's private  key  as  well as his certificate.
              Both are used with S/MIME for signing and
              decrypting  messages.   Only applicable if
              S/MIME support is built using OpenSSL.

       ssmmiimmee--ssiiggnn--cceerrtt--_u_s_e_r_@_h_o_s_t
              Overrides
              _s_m_i_m_e_-_s_i_g_n_-_c_e_r_t
              for  the  specific addresses.
              When signing messages and the value of
              the _f_r_o_m  variable is  set  to
              _u_s_e_r_@_h_o_s_t,  the specific
              file is used.  When decrypting messages, their
              recipient fields (To: and Cc:) are  searched
              for addresses for which such a variable is set.
              _N_a_i_l always uses the first address
              that matches, so if  the  same  message  is
              sent  to more than one of the user's addresses
              using different encryption keys, decryp‐ tion
              might  fail.   Only applicable if S/MIME support
              is built using OpenSSL.

       ssmmiimmee--ssiiggnn--nniicckknnaammee
              Specifies that the named certificate be used
              for  signing mail.  If this variable is not set,
              but a single certifi‐ cate matching the current
              _f_r_o_m address is  found  in  the database,
              that one is used automatically.  Only applica‐
              ble if S/MIME support is built using NSS.

       ssmmiimmee--ssiiggnn--nniicckknnaammee--_u_s_e_r_@_h_o_s_t
              Overrides
              _s_m_i_m_e_-_s_i_g_n_-_n_i_c_k_n_a_m_e
              for  a  specific  address.  Only applicable if
              S/MIME support is built using NSS.

       ssmmttpp   Normally,  _n_a_i_l  invokes
       _s_e_n_d_m_a_i_l(8) directly to transfer
              messages.  If the _s_m_t_p variable is set,
              a SMTP connection to  the server specified by the
              value of this variable is used instead.  If the
              SMTP server does not use the  stan‐ dard port,
              a value of _s_e_r_v_e_r_:_p_o_r_t
              can be given, with _p_o_r_t as a name or
              as a number.

              There are two possible methods to
              get  SSL/TLS  encrypted SMTP sessions:
              First, the STARTTLS command can be used
              to encrypt a session after it has been
              initiated, but before any    user-related
              data    has    been    sent;   see
              _s_m_t_p_-_u_s_e_-_s_t_a_r_t_t_l_s
              above.   Second,  some  servers  accept sessions
              that are encrypted from their beginning
              on. This mode is configured by assigning
              ssmmttppss::////_s_e_r_v_e_r[::_p_o_r_t]
              to the _s_m_t_p variable.

       ssmmttpp--aauutthh
              Sets  the SMTP authentication method.  If set
              to `login', or if unset and both smtp-auth-user
              and  smtp-auth-pass‐ word  are set, AUTH LOGIN
              is used.  If set to `cram-md5', AUTH CRAM-MD5
              is used.  Otherwise, no SMTP authentication
              is performed.

       ssmmttpp--aauutthh--_u_s_e_r@@_h_o_s_t
              Overrides   _s_m_t_p_-_a_u_t_h   for
              specific  values  of  sender addresses, depending
              on the _f_r_o_m variable.

       ssmmttpp--aauutthh--ppaasssswwoorrdd
              Sets the global password for SMTP AUTH.
              Both  user  and password  have  to be given
              for AUTH LOGIN and AUTH CRAM- MD5.

       ssmmttpp--aauutthh--ppaasssswwoorrdd--_u_s_e_r@@_h_o_s_t
              Overrides
              _s_m_t_p_-_a_u_t_h_-_p_a_s_s_w_o_r_d
              for  specific  values   of sender addresses,
              depending on the _f_r_o_m variable.

       ssmmttpp--aauutthh--uusseerr
              Sets  the  global user name for SMTP AUTH.
              Both user and password have to be given for
              AUTH LOGIN and  AUTH  CRAM- MD5.

       ssmmttpp--aauutthh--uusseerr--_u_s_e_r@@_h_o_s_t
              Overrides
              _s_m_t_p_-_a_u_t_h_-_u_s_e_r  for
              specific values of sender addresses, depending
              on the _f_r_o_m variable.

       ssssll--ccaa--ddiirr
              Specifies a directory with CA
              certificates for  verifica‐ tion
              of    SSL/TLS    server    certificates.     See
              _S_S_L___C_T_X___l_o_a_d___v_e_r_i_f_y___l_o_c_a_t_i_o_n_s(3)
              for  more  information.  Only   applicable  if
              SSL/TLS  support  is  built  using OpenSSL.

       ssssll--ccaa--ffiillee
              Specifies a file with CA
              certificates for verification of
              SSL/TLS   server   certificates.   See
              _S_S_L___C_T_X___l_o_a_d___v_e_r_‐
              _i_f_y___l_o_c_a_t_i_o_n_s(3)
              for more information.   Only  applicable if
              SSL/TLS support is built using OpenSSL.

       ssssll--cceerrtt
              Sets  the  file  name  for  a  SSL/TLS
              client certificate required by some servers.
              Only  applicable  if  SSL/TLS support is built
              using OpenSSL.

       ssssll--cceerrtt--_u_s_e_r@@_h_o_s_t
              Sets  an  account-specific file name for a
              SSL/TLS client certificate required by some
              servers.  Overrides _s_s_l_-_c_e_r_t
              for  the  specified  account.  Only applicable
              if SSL/TLS support is built using OpenSSL.

       ssssll--cciipphheerr--lliisstt
              Specifies a list of ciphers for SSL/TLS
              connections.  See ciphers(1)  for  more
              information.   Only  applicable if SSL/TLS
              support is built using OpenSSL.

       ssssll--ccrrll--ffiillee
              Specifies a file that contains a CRL in PEM
              format to use when  verifying SSL/TLS server
              certificates.  Only appli‐ cable if SSL/TLS
              support is built using OpenSSL.

       ssssll--ccrrll--ddiirr
              Specifies a directory that contains files
              with  CRLs  in PEM  format to use when verifying
              SSL/TLS server certifi‐ cates.  Only applicable
              if SSL/TLS support is built using OpenSSL.

       ssssll--kkeeyy
              Sets  the  file  name  for  the  private key
              of a SSL/TLS client certificate.  If unset, the
              name of  the  certifi‐ cate  file  is  used.
              The file is expected to be in PEM format.
              Only applicable  if  SSL/TLS  support  is  built
              using OpenSSL.

       ssssll--kkeeyy--_u_s_e_r@@_h_o_s_t
              Sets an account-specific file name for the
              private key of a SSL/TLS client certificate.
              Overrides _s_s_l_-_k_e_y for  the
              specified account.  Only applicable if SSL/TLS
              support is built using OpenSSL.

       ssssll--mmeetthhoodd
              Selects a SSL/TLS  protocol  version;  valid
              values  are `ssl2',  `ssl3',  and  `tls1'.
              If  unset, the method is selected automatically,
              if possible.

       ssssll--mmeetthhoodd--_u_s_e_r@@_h_o_s_t
              Overrides _s_s_l_-_m_e_t_h_o_d for
              a specific account.

       ssssll--rraanndd--eeggdd
              Gives the pathname  to  an  entropy  daemon
              socket,  see _R_A_N_D___e_g_d(3).

       ssssll--rraanndd--ffiillee
              Gives  the  pathname  to
              a  file  with entropy data, see
              _R_A_N_D___l_o_a_d___f_i_l_e(3).
              If  the  file  is  a  regular   file writable
              by the invoking user, new data is written to
              it after it has been loaded.   Only  applicable
              if  SSL/TLS support is built using OpenSSL.

       ssssll--vveerriiffyy
              Sets the action to be performed if an error
              occurs during SSL/TLS server certificate
              validation.  Valid values  are `strict'  (fail
              and close connection immediately), `ask' (ask
              whether  to  continue  on  standard  input),
              `warn' (print  a warning and continue), `ignore'
              (do not perform validation).  The default is
              `ask'.

       ssssll--vveerriiffyy--_u_s_e_r@@_h_o_s_t
              Overrides _s_s_l_-_v_e_r_i_f_y for
              a specific account.

       ttoopplliinneess
              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.

       ttttyycchhaarrsseett
              The character set  of  the  terminal
              _n_a_i_l  operates  on.  There is normally
              no need to set this variable since _n_a_i_l
              can  determine  this  automatically  by  looking
              at  the LC_CTYPE  locale  setting; if this
              succeeds, the value is assigned at startup and
              will be displayed by the _s_e_t com‐ mand.
              Note that this is not necessarily a character
              set name that can be used in Internet messages.

       VVIISSUUAALL Pathname of the text editor to use
       in the visual  command
              and ~v escape.

EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
       Besides  the  variables described above, _n_a_i_l
       uses the following environment strings:

       HHOOMMEE   The user's home directory.

       LLAANNGG, LLCC__AALLLL,
       LLCC__CCOOLLLLAATTEE,
       LLCC__CCTTYYPPEE,
       LLCC__MMEESSSSAAGGEESS
              See _l_o_c_a_l_e(7).

       MMAAIILLRRCC Is used as startup file  instead
       of  ~/.mailrc  if  set.
              When  _n_a_i_l  scripts are invoked on behalf
              of other users, this variable should be set to
              `/dev/null' to avoid side- effects from reading
              their configuration files.

       NNAAIILLRRCC If this variable is set and
       _M_A_I_L_R_C is not set, it is read
              as startup file.

       SSYYSSVV33  Changes the letters printed in  the
       first  column  of  a
              header summary.

       TTMMPPDDIIRR Used as directory for temporary
       files instead of /tmp, if
              set.

FFIILLEESS
       ~/.mailrc
              File giving initial commands.

       /etc/nail.rc
              System wide initialization file.

       ~/.mime.types
              Personal MIME types.

       /etc/mime.types
              System wide MIME types.

EEXXAAMMPPLLEESS
   GGeettttiinngg ssttaarrtteedd
       The _n_a_i_l 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  email  address  is,   say,
       <bill@host.example>, use the shell command:

           $ nnaaiill
           _b_i_l_l_@_h_o_s_t_._e_x_a_m_p_l_e

       then type your message.  _N_a_i_l will prompt you
       for a message _s_u_b_‐ _j_e_c_t first; after
       that, lines typed by you form the body of  the message.
       When  you  reach  the end of the message, type an EOT
       (control-d) at the beginning of a line, which will cause
       _n_a_i_l to echo `EOT' and return you to the shell.

       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 RUBOUT.  Typing a single
       RUBOUT causes _n_a_i_l to print `(Interrupt --
       one more to kill letter)'.  Typing  a  second  RUBOUT
       causes _n_a_i_l to save your partial letter on
       the file _d_e_a_d_._l_e_t_t_e_r 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.

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

           $ nnaaiill
           _s_a_m_@_w_o_r_k_s_t_a_t_i_o_n_._e_x_a_m_p_l_e
           _b_o_b_@_s_e_r_v_e_r_._e_x_a_m_p_l_e
           Subject: Fees Tuition fees are due next Friday.
           Don't forget!  <Control-d> EOT $

       will  send  the  reminder  to
       _<_s_a_m_@_w_o_r_k_s_t_a_t_i_o_n_._e_x_a_m_p_l_e_>.
       and
       _<_b_o_b_@_s_e_r_v_e_r_._e_x_a_m_p_l_e_>.

       To read your mail, simply type

           $ nnaaiill

       _N_a_i_l will respond by typing its version number
       and date and then listing the messages you have waiting.
       Then  it  will  type  a prompt  and  await your command.
       The messages are assigned num‐ bers starting with
       1—you refer to the messages with  these  num‐ bers.
       _N_a_i_l  keeps  track  of which messages are
       _n_e_w (have been sent since you last read your
       mail) and _r_e_a_d (have been read  by you).
       New messages have an NN next to them in the header
       listing and old, but unread messages have a UU next
       to them.  _N_a_i_l  keeps track  of  new/old  and
       read/unread messages by putting a header field called
       _S_t_a_t_u_s into your messages.

       To look at a specific message, use the _t_y_p_e
       command,  which  may be  abbreviated  to simply _t _.
       For example, if you had the fol‐ lowing messages:

           O 1 drfoo@myhost.example Wed Sep  1 19:52  18/631
           "Fees" O 2 sam@friends.example  Thu Sep  2 00:08
           30/895

       you could examine the first message by giving the
       command:

           ttyyppee 1

       which might cause to respond with, for example:

           Message  1: From drfoo@myhost.example Wed Sep  1
           19:52:25 2004 Subject: Fees Status: R

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


       Many _n_a_i_l commands that operate on messages
       take a message  num‐ ber  as  an argument like the
       _t_y_p_e command.  For these commands, there
       is a notion of a current message.  When you enter
       the _n_a_i_l program,  the  current  message
       is  initially the first (or the first recent) one.
       Thus, you can often omit the message  number and use,
       for example,

           tt

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

           1

       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 _n_a_i_l by simply typing a newline.
       As a special case, you can  type  a newline as your
       first command to _n_a_i_l to type the first message.

       If,  after  typing  a  message,  you  wish to
       immediately send a reply, you can do so with
       the _r_e_p_l_y command.  This command, like
       _t_y_p_e, takes a message number as an argument.
       _n_a_i_l 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.

       Note that _n_a_i_l copies the subject header from
       the original  mes‐ sage.   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 mes‐ sage, like `Cc:', the information found
       will also be used.

       Sometimes you will receive a message that has been
       sent to  sev‐ eral  people  and  wish to reply only
       to the person who sent it.  _R_e_p_l_y with a
       capital _R replies to a message, but sends a copy to
       the sender only.

       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 message
       directly with the _m_a_i_l command, which takes as
       argu‐ ments the names of the recipients you  wish
       to  send  to.   For example, to send a message to
       <frank@machine.example>, you would do:

           mmaaiill
           _f_r_a_n_k_@_m_a_c_h_i_n_e_._e_x_a_m_p_l_e

       To delete a message from the mail folder, you can use
       the _d_e_l_e_t_e command.   In addition to not
       saving deleted messages, _n_a_i_l will not let
       you type them, either.  The effect is to make  the
       mes‐ sage disappear altogether, along with its number.

       Many  features  of  _n_a_i_l can be tailored to your
       liking with the _s_e_t command.  The  _s_e_t
       command  has  two  forms,  depending  on whether
       you  are  setting  a  _b_i_n_a_r_y option or a
       _v_a_l_u_e_d option.  Binary options are either
       on or off.   For  example,  the  _a_s_k_c_c
       option  informs _n_a_i_l that each time you send
       a message, you want it to prompt you for a `Cc:'
       header, to be included in the  mes‐ sage.  To set
       the _a_s_k_c_c option, you would type

           sseett askcc

       Valued  options  are  values  which  _n_a_i_l
       uses to adapt to your tastes.  For example, the
       _r_e_c_o_r_d option tells _n_a_i_l where to
       save messages sent by you, and is specified by

           sseett record=Sent

       for example.  Note that no spaces are allowed in
       _s_e_t _r_e_c_o_r_d_=_S_e_n_t _.

       _N_a_i_l includes a simple facility for maintaining
       groups  of  mes‐ sages together in folders.  To use
       the folder facility, you must tell _n_a_i_l 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 _n_a_i_l where your
       folder directory is, put a line of the form

           sseett ffoollddeerr==_l_e_t_t_e_r_s

       in  your _._m_a_i_l_r_c file.  If, as in the
       example above, your folder directory does not begin
       with a `/', _n_a_i_l will assume that  your folder
       directory  is to be found starting from your home
       direc‐ tory.

       Anywhere a file name is expected, you can  use  a
       folder  name, preceded  with `+'.  For example, to put
       a message into a folder with the _s_a_v_e command,
       you can use:

           ssaavvee ++_c_l_a_s_s_w_o_r_k

       to save the current message in the
       _c_l_a_s_s_w_o_r_k  folder.   If  the
       _c_l_a_s_s_w_o_r_k  folder  does not yet
       exist, it will be created.  Note that messages which
       are saved with the _s_a_v_e command are automat‐
       ically 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 _c_o_p_y  command,
       which  is identical in all other respects to the
       _s_a_v_e command.

       The _f_o_l_d_e_r command can be used to direct
       _n_a_i_l to the contents of a different folder.
       For example,

           ffoollddeerr ++_c_l_a_s_s_w_o_r_k

       directs  _n_a_i_l to read the contents of the
       _c_l_a_s_s_w_o_r_k folder.  All of the
       commands that you can use on your system mailbox are
       also applicable  to  folders,  including _t_y_p_e,
       _d_e_l_e_t_e, and _r_e_p_l_y.  To inquire
       which folder you are currently editing, use simply:

           ffoollddeerr

       To list your current set of folders, use the
       _f_o_l_d_e_r_s command.

       Finally, the _h_e_l_p command is available to
       print out a brief sum‐ mary of the most important
       _n_a_i_l commands.

       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 function.
       _N_a_i_l provides  these  capabilities  through
       _t_i_l_d_e _e_s_c_a_p_e_s _, which consist
       of a tilde (~) at the beginning of a line, followed by
       a single character which indicates the func‐ tion
       to  be  performed.   For example, to print the text
       of the message so far, use:

           ~~pp

       which will print a line of dashes, the recipients of
       your  mes‐ sage,  and  the  text of the message
       so far.  A list of the most important tilde escapes
       is available with `~?'.

   IIMMAAPP oorr PPOOPP33 cclliieenntt
   sseettuupp
       First you need the following data from your ISP: the
       host  name of  the  IMAP  or  POP3  server, user name
       and password for this server, and a notice whether
       the server uses SSL/TLS encryption.  Assuming  the
       host name is `server.myisp.example' and your user
       name for that server is `mylogin', you can refer to
       this account using the _f_o_l_d_e_r command or
       _-_f command line option with

           iimmaappss::////_m_y_l_o_g_i_n@@_s_e_r_v_e_r_._m_y_i_s_p_._e_x_a_m_p_l_e

       (This  string  is not necessarily the same as your
       Internet mail address.)  You can replace  `imaps://'
       with  `imap://'  if  the server  does  not support
       SSL/TLS.  (If SSL/TLS support is built using NSS, the
       _n_s_s_-_c_o_n_f_i_g_-_d_i_r variable must
       be set before a con‐ nection  can  be  initiated,
       see  above).   Use  `pop3s://'  or `pop3://' if the
       server does not offer  IMAP.   You  should  use IMAP if
       you can, though; first because it requires fewer network
       operations than POP3 to get the contents of the mailbox
       and  is thus  faster;  and  second  because message
       attributes are main‐ tained by the IMAP server, so
       you can easily distinguish new and old messages each
       time you connect.  Even if the server does not accept
       IMAPS or POP3S connections, it is possible that  it
       sup‐ ports  the  STARTTLS  method to make a session
       SSL/TLS encrypted after the initial connection  has
       been  performed,  but  before authentication  begins.
       The only reliable method to see if this works is to
       try it; enter one of

           sseett
           iimmaapp--uussee--ssttaarrttttllss
           sseett
           ppoopp33--uussee--ssttaarrttttllss

       before you initiate the connection.

       As you probably want messages to be deleted  from  this
       account after  saving  them,  prefix it with `_%_:'.
       The _s_h_o_r_t_c_u_t command can be used to
       avoid typing that many characters every time  you want
       to connect:

           sshhoorrttccuutt _m_y_i_s_p
           %%::iimmaappss::////_m_y_l_o_g_i_n@@_s_e_r_v_e_r_._m_y_i_s_p_._e_x_a_m_p_l_e

       You  might  want to put this string into a startup
       file.  As the _s_h_o_r_t_c_u_t command is
       _n_a_i_l_-specific and will confuse  other
       _m_a_i_l_x implementations,  it  should  not be
       used in _~_/_._m_a_i_l_r_c, instead, put

           sseett
           NNAAIILL__EEXXTTRRAA__RRCC==_~_/_._n_a_i_l_r_c

       in _~_/_._m_a_i_l_r_c and create a
       file _~_/_._n_a_i_l_r_c containing the
       _s_h_o_r_t_c_u_t command  above.   You  can
       then  access  your remote mailbox by invoking `nail -f
       _m_y_i_s_p' on the command line,  or  by  executing
       `fi _m_y_i_s_p' within nail.

       If you want to use more than one IMAP mailbox on a
       server, or if you want to use the  IMAP  server  for
       mail  storage  too,  the _a_c_c_o_u_n_t  command
       (which is also _n_a_i_l_-specific) is more
       appropri‐ ate than the _s_h_o_r_t_c_u_t
       command.  You can  put  the  following  in
       _~_/_._n_a_i_l_r_c:

           aaccccoouunntt _m_y_i_s_p {{
               sseett
               ffoollddeerr==iimmaappss::////_m_y_l_o_g_i_n@@_s_e_r_v_e_r_._m_y_i_s_p_._e_x_a_m_p_l_e
               sseett rreeccoorrdd==++_S_e_n_t
               MMBBOOXX==++_m_b_o_x
               oouuttffoollddeerr
           }}

       and  can  then access incoming mail for this
       account by invoking `nail -A _m_y_i_s_p' on the
       command line, or by executing `ac  _m_y_i_s_p'
       within  nail.   After that, a command like `copy _1
       +_o_t_h_e_r_f_o_l_d_e_r' will refer to
       _o_t_h_e_r_f_o_l_d_e_r on the IMAP  server.
       In  particular, `fi  &' will change to the _m_b_o_x
       folder, and `fi +Sent' will show your recorded sent
       mail, with both folders located on  the  IMAP server.

       _N_a_i_l will ask you for a password string each
       time you connect to a remote account.  If you can
       reasonably trust the  security  of your workstation,
       you can give this password in the startup file as

           sseett
           ppaasssswwoorrdd--_m_y_l_o_g_i_n@@_s_e_r_v_e_r_._m_y_i_s_p_._e_x_a_m_p_l_e==""_S_E_C_R_E_T""

       You should change the permissions of  this  file  to
       0600,  see _c_h_m_o_d(1).

       _N_a_i_l supports different authentication methods
       for both IMAP and POP3.  If Kerberos is used at your
       location,  you  can  try  to activate GSSAPI-based
       authentication by

           sseett
           iimmaapp--aauutthh==ggssssaappii

       The  advantage of this method is that _n_a_i_l
       does not need to know your password at all, nor needs
       to send sensitive data over  the network.  Otherwise,
       the options

           sseett
           iimmaapp--aauutthh==ccrraamm--mmdd55
           sseett ppoopp33--uussee--aappoopp

       for  IMAP  and  POP3, respectively, offer authentication
       methods that avoid to send the password in clear text
       over the  network, which is especially important if
       SSL/TLS cannot be used.  If the server does not offer
       any of these authentication methods,  con‐ ventional
       user/password  based authentication must be used.  It is
       sometimes helpful to set the _v_e_r_b_o_s_e
       option when  authentica‐ tion  problems  occur.
       _N_a_i_l  will display all data sent to the
       server in clear text on the screen with this  option,
       including passwords.   You should thus take care that
       no unauthorized per‐ son can look at your terminal
       when this option is set.

       If you  regularly  use  the  same  workstation
       to  access  IMAP accounts,  you can greatly enhance
       performance by enabling local caching of IMAP messages.
       For any message that has  been  fully or  partially
       fetched from the server, a local copy is made and is
       used when the message is accessed  again,  so  most
       data  is transferred  over  the  network  once  only.
       To enable the IMAP cache, select a local directory
       name and put

           sseett
           iimmaapp--ccaacchhee==_~_/_l_o_c_a_l_d_i_r_e_c_t_o_r_y

       in the startup file.  All files within  that  directory
       can  be overwritten  or  deleted  by _n_a_i_l at
       any time, so you should not use the directory to store
       other information.

       Once the cache contains some messages, it is not
       strictly neces‐ sary  anymore  to open a connection
       to the IMAP server to access them.  When _n_a_i_l
       is invoked with the _-_D option, or when the
       _d_i_s_‐ _c_o_n_n_e_c_t_e_d  variable  is
       set,  only  cached data is used for any folder you open.
       Messages that have  not  yet  been  completely cached
       are  not  available  then, but all other messages can
       be handled as usual.  Changes made to  IMAP  mailboxes
       in  _d_i_s_c_o_n_‐ _n_e_c_t_e_d  mode
       are  committed  to the IMAP server next time it is
       used in _o_n_l_i_n_e mode.  Synchronizing the
       local  status  with  the status  on the server is
       thus partially within your responsibil‐ ity; if you
       forget to initiate a connection to the server  again
       before  you leave your location, changes made on one
       workstation are not available on others.  Also if
       you alter  IMAP  mailboxes from  a  workstation while
       uncommitted changes are still pending on another, the
       latter data may become invalid.  The same  might also
       happen  because  of  internal  server status changes.
       You should thus carefully evaluate this feature in
       your  environment before you rely on it.

       Many  servers  will close the connection after a short
       period of inactivity. Use one of

           sseett
           ppoopp33--kkeeeeppaalliivvee==_3_0
           sseett
           iimmaapp--kkeeeeppaalliivvee==_2_4_0

       to send a keepalive message each 30 seconds for POP3,
       or each  4 minutes for IMAP.

       If  you  encounter  problems connecting to a SSL/TLS
       server, try the _s_s_l_-_r_a_n_d_-_e_g_d and
       _s_s_l_-_r_a_n_d_-_f_i_l_e variables  (see
       the  OpenSSL FAQ  for  more information) or specify the
       protocol version with _s_s_l_-_m_e_t_h_o_d.
       Contact your ISP if you need a  client  certificate or
       if  verification  of  the  server certificate fails.
       If the failed certificate is indeed valid, fetch its
       CA certificate  by executing the shell command

           $ ooppeennssssll ss__cclliieenntt
           <<//ddeevv//nnuullll
           --sshhoowwcceerrttss
           --ccoonnnneecctt \\
                  _s_e_r_v_e_r_._m_y_i_s_p_._e_x_a_m_p_l_e::_i_m_a_p_s
                  22>>&&11 || tteeee _l_o_g

       (see  _s___c_l_i_e_n_t(1))  and put it into the
       file specified with _s_s_l_- _c_a_-_f_i_l_e.
       The data you need is located at the end  of  the  cer‐
       tificate  chain  within  (and including) the `BEGIN
       CERTIFICATE' and `END CERTIFICATE' lines.  (Note that
       it is possible to fetch a  forged  certificate  by
       this method.  You can only completely rely on the
       authenticity of the CA certificate if you  fetch  it
       in  a  way that is trusted by other means, such as by
       personally receiving the certificate on storage media.)

   CCrreeaattiinngg aa ssccoorree ffiillee
   oorr mmeessssaaggee ffiilltteerr
       The scoring commands are best separated from
       other configuration for  clarity,  and  are mostly
       _n_a_i_l specific.  It is thus recom‐ mended
       to put them in a separate file that is sourced from
       your NAIL_EXTRA_RC as follows:

           ssoouurrccee _~_/_._s_c_o_r_e_s

       The _._s_c_o_r_e_s file could then look as
       follows:

           ddeeffiinnee _l_i_s_t {
               ssccoorree (subject "important discussion")
               +10 ssccoorree (subject "annoying
               discussion") -10 ssccoorree (from
               "nicefellow@goodnet") +15 ssccoorree
               (from "badguy@poornet") -5 mmoovvee
               (header x-spam-flag "+++++") _+_j_u_n_k
           } sseett
           ffoollddeerr--hhooookk--imap://user@host/public.list=_l_i_s_t

       In  this  scheme,  you would see any mail from
       `nicefellow@good‐ net', even if the surrounding
       discussion is  annoying;  but  you normally  would  not
       see  mail from `badguy@poornet', unless he participates
       in the important  discussion.   Messages  that  are
       marked  with five or more plus characters in their
       `X-Spam-Flag' field (inserted by  some  server-side
       filtering  software)  are moved to the folder `junk'
       in the _f_o_l_d_e_r directory.

       Be  aware  that all criteria in () lead to substring
       matches, so you would also score messages from
       e.g. `notsobadguy@poornetmak‐ ers'  negative here.
       It is possible to select addresses exactly using
       _"_a_d_d_r_e_s_s_" message specifications,
       but these cannot be exe‐ cuted  remotely and will
       thus cause all headers to be downloaded from IMAP
       servers while looking for matches.

       When searching messages on an IMAP server, best
       performance  is usually  achieved by sending as many
       criteria as possible in one large () specification,
       because each single  such  specification will result
       in a separate network operation.

   AAccttiivvaattiinngg tthhee
   BBaayyeessiiaann ffiilltteerr
       The  Bayesian junk mail filter works by examining
       the words con‐ tained in messages.  You decide
       yourself what a good and what  a bad message is.
       Thus the resulting filter is your very personal one;
       once it is correctly set up, it will filter  only
       messages similar to those previously specified by you.

       To  use  the Bayesian filter, a location for the junk
       mail data‐ base must be defined first:

           sseett
           jjuunnkkddbb==_~_/_._j_u_n_k_d_b

       The junk mail database does not contain actual  words
       extracted from  messages,  but  hashed representations
       of them.  A foreign person who can read the database
       could  only  examine  the  fre‐ quency of previously
       known words in your mail.

       If  you have sufficient disk space (several 10
       MB) available, it is recommended that you set the
       _c_h_a_i_n_e_d_-_j_u_n_k_-_t_o_k_e_n_s
       option.  The filter  will  then  also consider two-word
       tokens, improving its accuracy.

       A set of good messages and junk messages must now be
       available; it  is  also  possible to use the incoming
       new messages for this purpose, although it will of
       course take  some  time  until  the filter  becomes
       useful then.  Do not underestimate the amount of
       statistical data needed; some  hundred  messages  are
       typically necessary  to  get  satisfactory results,
       and many thousand mes‐ sages for best operation.
       You have to pass the good messages to the _g_o_o_d
       command, and the junk messages to the _j_u_n_k
       command.  If you ever accidentally mark a good message
       as junk or vice-versa, call the _u_n_g_o_o_d or
       _u_n_j_u_n_k command to correct this.

       Once  a  reasonable amount of statistics has been
       collected, new messages can be classified automatically.
       The _c_l_a_s_s_i_f_y  command marks  all
       messages that the filter considers to be junk, but
       it does not perform any action on them by default.
       It  is  recom‐ mended  that you move these messages
       into a separate folder just for the case that false
       positives occur, or to pass them to  the _j_u_n_k
       command later again to further improve the junk mail
       data‐ base.  To automatically move incoming junk
       messages  every  time the  inbox  is  opened,  put
       lines like the following into your _._s_c_o_r_e_s
       file (or whatever name you gave to the file in the
       last example):

           ddeeffiinnee _j_u_n_k_f_i_l_t_e_r {
               ccllaassssiiffyy
               ((ssmmaalllleerr _2_0_0_0_0))
               ::nn mmoovvee ::jj _+_j_u_n_k
           } sseett
           ffoollddeerr--hhooookk--imap://user@host/INBOX=_j_u_n_k_f_i_l_t_e_r

       If  you  set the _v_e_r_b_o_s_e option before
       running the _c_l_a_s_s_i_f_y com‐ mand,
       _n_a_i_l prints the words it uses  for  calculating
       the  junk status  along  with  their  statistical
       probabilities.  This can help you to find out why some
       messages are not classified as you would  like them
       to be.  To see the statistical probability of a given
       word, use the _p_r_o_b_a_b_i_l_i_t_y command.

       If a junk message was not recognized as such, use the
       _j_u_n_k  com‐ mand to correct this.  Also if
       you encounter a false positive (a good message that
       was wrongly classified as junk),  pass  it  to the
       _g_o_o_d command.

       Since  the  _c_l_a_s_s_i_f_y command must
       examine the entire text of all new messages in the
       respective folder, this will also cause  all of  them
       to be downloaded from the IMAP server.  You should
       thus restrict the size  of  messages  for  automatic
       filtering.   If server-based  filtering is also
       available, you might try if that works for you first.

   RReeaaddiinngg HHTTMMLL mmaaiill
       You need either the _w_3_m or _l_y_n_x utility
       or another  command-line web browser that can write
       plain text to standard output.

           sseett
           ppiippee--tteexxtt//hhttmmll=="w3m
           -dump -T text/html"

       or

           sseett
           ppiippee--tteexxtt//hhttmmll=="lynx
           -dump -force_html /dev/stdin"

       will  then  cause HTML message parts to be converted
       into a more friendly form.

   VViieewwiinngg PPDDFF
   aattttaacchhmmeennttss
       Most PDF viewers do not accept input directly from a
       pipe.   It is  thus  necessary to store the attachment
       in a temporary file, as with

           sseett
           ppiippee--aapppplliiccaattiioonn//ppddff=="cat
           >/tmp/nail$$.pdf; \
                  acroread /tmp/nail$$.pdf; rm /tmp/nail$$.pdf"

       Note that security defects are discovered in  PDF
       viewers  from time  to time.  Automatical command
       execution like this can com‐ promise your system
       security, in  particular  if  you  stay  not always
       informed about such issues.

   SSiiggnneedd aanndd eennccrryypptteedd
   mmeessssaaggeess wwiitthh SS//MMIIMMEE
       S/MIME provides two central mechanisms: message signing
       and mes‐ sage encryption.  A signed message contains
       some data  in  addi‐ tion  to  the regular text.
       The data can be used to verify that the message  was
       sent  using  a  valid  certificate,  that  the sender's
       address in the message header matches that in the
       cer‐ tificate, and that the message text has not
       been altered.  Sign‐ ing  a  message does not change
       its regular text; it can be read regardless of whether
       the recipient's software is able to handle S/MIME.
       It  is thus usually possible to sign all outgoing mes‐
       sages if so desired.—Encryption, in contrast, makes
       the  message text  invisible  for  all people except
       those who have access to the secret decryption key.
       To encrypt a message,  the  specific recipient's
       public encryption key must be known.  It is thus
       not possible to send encrypted mail to people unless
       their  key  has been  retrieved from either previous
       communication or public key directories.  A message
       should always be  signed  before  it  is encrypted.
       Otherwise,  it is still possible that the encrypted
       message text is altered.

       A central concept to S/MIME is that of the certification
       author‐ ity  (CA).   A  CA is a trusted institution
       that issues certifi‐ cates.  For each of these
       certificates, it can be verified  that it  really
       originates  from  the CA, provided that the CA's
       own certificate is previously known.  A set of  CA
       certificates  is usually delivered with OpenSSL and
       installed on your system.  If you trust the source
       of your OpenSSL software installation, this offers
       reasonable security for S/MIME on the Internet.
       In gen‐ eral, a certificate cannot be more secure
       than the method its CA certificate  has been retrieved
       with, though.  Thus if you down‐ load a CA certificate
       from the Internet, you can only trust  the messages
       you verify using that certificate as much as you trust
       the download process.

       The first thing you need for  participating  in  S/MIME
       message exchange  is your personal certificate,
       including a private key.  The certificate contains
       public information, in particular  your name  and your
       email address, and the public key that is used by others
       to encrypt messages for you, and to  verify  signed
       mes‐ sages  they  supposedly  received  from you.
       The certificate is included in each signed message
       you send.  The private key  must be kept secret.
       It is used to decrypt messages that were previ‐ ously
       encrypted with your public key, and to sign messages.

       For personal use, it is recommended that you get a
       S/MIME  cer‐ tificate  from  one  of the major CAs
       on the Internet using your WWW browser.  (Many CAs
       offer such certificates for free.)   You will  usually
       receive a combined certificate and private key in
       PKCS#12 format which _n_a_i_l does not  directly
       accept  if  S/MIME support  is  built  using OpenSSL.
       To convert it to PEM format, use the following shell
       command:

           $ ooppeennssssll ppkkccss1122
           --iinn _c_e_r_t_._p_1_2 --oouutt
           _c_e_r_t_._p_e_m --ccllcceerrttss
           \\
               --nnooddeess

       If you omit the _-_n_o_d_e_s parameter, you
       can specifiy an additional _P_E_M  _p_a_s_s
       _p_h_r_a_s_e for protecting the private key.
       _N_a_i_l will then ask you for that pass phrase
       each time it signs  or  decrypts  a message.  You can
       then use

           sseett
           ssmmiimmee--ssiiggnn--cceerrtt--_m_y_n_a_m_e_@_m_y_i_s_p_._e_x_a_m_p_l_e==_c_e_r_t_._p_e_m

       to make this private key and certificate known to
       _n_a_i_l.

       If  S/MIME  support is built using NSS, the PKCS#12
       file must be installed using Mozilla (provided  that
       _n_s_s_-_c_o_n_f_i_g_-_d_i_r  is  set
       appropriately,  see  above),  and no further action
       is necessary unless multiple user certificates for the
       same email address are installed.   In  this case, the
       _s_m_i_m_e_-_s_i_g_n_-_n_i_c_k_n_a_m_e
       variable has to be set appropriately.

       You can now sign outgoing messages.  Just use

           sseett ssmmiimmee--ssiiggnn

       to do so.

       From each signed message you send, the recipient
       can fetch  your certificate  and  use  it  to  send
       encrypted mail back to you.  Accordingly if somebody
       sends you a signed message, you  can  do the same.
       First use the _v_e_r_i_f_y command to check the
       validity of the certificate.  After that, retrieve the
       certificate and  tell _n_a_i_l that it should use
       it for encryption:

           cceerrttssaavvee
           _f_i_l_e_n_a_m_e sseett
           ssmmiimmee--eennccrryypptt--_u_s_e_r_@_h_o_s_t==_f_i_l_e_n_a_m_e

       If S/MIME support is built using NSS, the saved
       certificate must be installed using Mozilla.  The  value
       of  the  _s_m_i_m_e_-_e_n_c_r_y_p_t_-
       _u_s_e_r_@_h_o_s_t  is ignored
       then, but if multiple certificates
       for the recipient are available, the
       _s_m_i_m_e_-_n_i_c_k_n_a_m_e_-_u_s_e_r_@_h_o_s_t
       variable must be set.

       You  should  carefully consider if you prefer to store
       encrypted messages in decrypted form.  If you do,
       anybody who  has  access to your mail folders can
       read them, but if you do not, you might be unable to
       read them yourself later if you happen to lose your
       private  key.   The  _d_e_c_r_y_p_t command saves
       messages in decrypted form, while  the  _s_a_v_e,
       _c_o_p_y,  and  _m_o_v_e  commands  leave
       them encrypted.

       Note  that neither S/MIME signing nor encryption
       applies to mes‐ sage subjects or other header fields.
       Thus they may not contain sensitive  information  for
       encrypted  messages,  and cannot be trusted even if the
       message content  has  been  verified.   When sending
       signed messages, it is recommended to repeat any
       impor‐ tant header information in the message text.

   UUssiinngg CCRRLLss wwiitthh SS//MMIIMMEE
   oorr SSSSLL//TTLLSS
       Certification authorities  (CAs)  issue  certificate
       revocation lists (CRLs) on a regular basis.  These lists
       contain the serial numbers of certificates that have
       been  declared  invalid  after they have been issued.
       Such usually happens because the private key for the
       certificate has been compromised, because the  owner
       of  the  certificate has left the organization that
       is mentioned in the certificate, etc.  To seriously
       use  S/MIME  or  SSL/TLS verification, an up-to-date
       CRL is required for each trusted CA.  There is
       otherwise no method to distinguish  between  valid
       and invalidated certificates.  _N_a_i_l currently
       offers no mechanism to fetch CRLs, or to access them
       on the Internet, so  you  have  to retrieve them by
       some external mechanism.

       If  S/MIME  and  SSL/TLS  support  are built using
       OpenSSL, _n_a_i_l accepts CRLs in PEM format only;
       CRLs in DER format must be con‐ verted, e.g. with
       the shell command

           $ ooppeennssssll ccrrll
           --iinnffoorrmm DDEERR --iinn
           _c_r_l_._d_e_r --oouutt
           _c_r_l_._p_e_m

       To  tell  _n_a_i_l about the CRLs, a directory that
       contains all CRL files (and no other files) must be
       created.   The  _s_m_i_m_e_-_c_r_l_-_d_i_r
       or  _s_s_l_-_c_r_l_-_d_i_r  variables,
       respectively,  must  then be set to point to that
       directory.  After that, _n_a_i_l requires a CRL
       to  be present for each CA that is used to verify
       a certificate.

       If  S/MIME  and SSL/TLS support are built using NSS,
       CRLs can be imported in Mozilla applications (provided
       that  _n_s_s_-_c_o_n_f_i_g_-_d_i_r is
       set appropriately).

   SSeennddiinngg mmaaiill ffrroomm
   ssccrriippttss
       If  you  want  to send mail from scripts, you
       must be aware that _n_a_i_l reads the user's
       configuration files by default.  So unless your  script
       is only intended for your own personal use (as e.g.
       a cron job), you need to circumvent this by invoking
       _n_a_i_l like

           MMAAIILLRRCC==//ddeevv//nnuullll
           nnaaiill --nn

       You then need to  create  a  configuration  for
       _n_a_i_l  for  your script.  This can be done
       by either pointing the _M_A_I_L_R_C variable
       to a custom configuration file, or by passing
       the  configuration in  environment  variables.
       Since  many  of  the configuration options are not
       valid shell variables, the _e_n_v command is useful
       in this situation.  An invocation could thus look like

           eennvv
           MMAAIILLRRCC==//ddeevv//nnuullll
           from=_s_c_r_i_p_t_r_e_p_l_y_@_d_o_m_a_i_n
           smtp=_h_o_s_t \
                 smtp-auth-user=_l_o_g_i_n
                 smtp-auth-password=_s_e_c_r_e_t \
                 smtp-auth=_l_o_g_i_n nnaaiill
                 --nn -s "_s_u_b_j_e_c_t" \ -a
                 _a_t_t_a_c_h_m_e_n_t___f_i_l_e
                 _r_e_c_i_p_i_e_n_t_@_d_o_m_a_i_n
                 <_c_o_n_t_e_n_t___f_i_l_e

SSEEEE AALLSSOO
       fmt(1),  newaliases(1), openssl(1), pg(1), more(1),
       vacation(1), ssl(3), aliases(5), locale(7), mailaddr(7),
       sendmail(8)

NNOOTTEESS
       Variables in the environment passed to _n_a_i_l
       cannot be unset.

       The character set conversion relies on  the
       _i_c_o_n_v(3)  function.  Its  functionality
       differs  widely  between  the various system
       environments _n_a_i_l runs on.  If the message
       `Cannot convert  from _a  to  _b'  appears,  either
       some  characters within the message header or text
       are not appropriate for  the  currently  selected
       terminal  character  set,  or  the needed conversion
       is not sup‐ ported by the system.  In the first
       case, it is necessary to set an  appropriate
       LC_CTYPE  locale (e.g. _e_n___U_S) or the
       _t_t_y_c_h_a_r_s_e_t variable.  In the
       second case, the _s_e_n_d_c_h_a_r_s_e_t_s
       and  _t_t_y_c_h_a_r_s_e_t variables must
       be set to the same value to inhibit character
       set conversion.  If _i_c_o_n_v_(_) is
       not  available  at  all,  the  value assigned  to
       _s_e_n_d_c_h_a_r_s_e_t_s  must match the
       character set that is used on the terminal.

       Nail expects input text to be in Unix format, with
       lines  sepa‐ rated  by _n_e_w_l_i_n_e (^J,
       \n) characters only.  Non-Unix text files that use
       _c_a_r_r_i_a_g_e _r_e_t_u_r_n (^M, \r)
       characters in addition will be treated  as binary data;
       to send such files as text, strip these characters
       e. g. by

              tr -d '\015' <input | nail . . .

       or fix the tools that generate them.

       Limitations with IMAP mailboxes are: It is not
       possible to  edit messages,  but  it  is  possible
       to append them.  Thus to edit a message, create
       a local copy of it,  edit  it,  append  it,  and
       delete  the  original.  The line count for the
       header display is only appropriate if the entire
       message has been downloaded  from the  server.
       The  marking of messages as `new' is performed by the
       IMAP server; use of the _e_x_i_t command instead
       of  _q_u_i_t  will not  cause  it to be reset,
       and if the _a_u_t_o_i_n_c/_n_e_w_m_a_i_l
       variables are unset, messages that arrived during a
       session will not be in state  `new'  anymore  when the
       folder is opened again.  Also if commands queued in
       disconnected mode  are  committed,  the  IMAP server
       will  delete  the  `new'  flag  for  all messages
       in the changed folder, and new messages will appear
       as unread  when  it is  selected  for viewing later.
       The `flagged', `answered', and `draft' attributes are
       usually permanent, but some IMAP  servers are  known
       to  drop them without notification.  Message numbers
       may change with IMAP every time before the prompt is
       printed  if _n_a_i_l  is  notified by the server
       that messages have been deleted by some other client
       or process.  In this case, `Expunged _n mes‐ sages'
       is printed, and message numbers may have changed.

       Limitations  with POP3 mailboxes are: It is not possible
       to edit messages, they can only be copied and deleted.
       The  line  count for the header display is only
       appropriate if the entire message has been downloaded
       from the server.  The status field of a mes‐ sage  is
       maintained  by  the  server  between connections; some
       servers do not update it at all, and with a  server
       that  does, the  `exit'  command  will  not  cause
       the message status to be reset.  The `newmail' command
       and the `newmail' variable have no effect.   It  is
       not possible to rename or to remove POP3 mail‐ boxes.

       If a RUBOUT (interrupt) is typed while an IMAP or
       POP3 operation is in progress, _n_a_i_l will
       wait until the operation can be safely aborted,
       and will then return to the command loop and print
       the prompt again.  When a second _R_U_B_O_U_T
       is typed while _n_a_i_l is wait‐ ing for the
       operation to complete, the operation itself will
       be canceled.  In this case, data that has not been
       fetched yet will have to be fetched before the next
       command can be performed.  If the  canceled  operation
       was using an SSL/TLS encrypted channel, an error in
       the SSL transport will very likely result,  and  the
       connection is no longer usable.

       As  _n_a_i_l  is a mail user agent, it provides
       only basic SMTP ser‐ vices.  If it fails to contact
       its upstream SMTP server, it will not  make  further
       attempts  to transfer the message at a later time, and
       it does not leave other information about this  condi‐
       tion  than  an error message on the terminal and a
       `dead.letter' file.  This is usually not a  problem
       if  the  SMTP  server  is located  in the same local
       network as the computer on which _n_a_i_l is run.
       However, care should  be  taken  when  using  a  remote
       server  of  an  ISP;  it  might be better to set up
       a local SMTP server then which just acts as a proxy.

       _N_a_i_l immediately contacts the SMTP server (or
       _/_u_s_r_/_l_i_b_/_s_e_n_d_m_a_i_l)
       even  when  operating  in
       _d_i_s_c_o_n_n_e_c_t_e_d mode.
       It would not make much sense for _n_a_i_l to
       defer outgoing mail  since  SMTP  servers usually
       provide  much  more elaborated delay handling
       than _n_a_i_l could perform as a client.
       Thus the recommended setup for send‐ ing  mail
       in  _d_i_s_c_o_n_n_e_c_t_e_d  mode
       is  to configure a local SMTP server such that it
       sends outgoing mail as soon as  an  external network
       connection  is available again, i.e. to advise it to
       do that from a network startup script.

       The junk mail filter follows the concepts
       developed by Paul Gra‐ ham   in  his
       articles,  ``A  Plan  for  Spam'',  August  2002,
       <http://www.paulgraham.com/spam.html>,  and  ``Better
       Bayesian Filtering'',                    January
       2003, <http://www.paulgraham.com/better.html>.
       Chained tokens are due to a paper by Jonathan
       A. Zdziarski, ``Advanced Language Classi‐ fication
       using    Chained    Tokens'',     February     2004,
       <http://www.nuclearelephant.com/papers/chained.html>.

       A  _m_a_i_l  command appeared in Version 1 AT&T
       Unix.  Berkeley Mail was written in 1978 by Kurt Shoens.
       This man  page  is  derived from  from  The Mail
       Reference Manual originally written by Kurt Shoens.
       _N_a_i_l enhancements are maintained and documented
       by Gun‐ nar Ritter.

       Portions of this text are reprinted and reproduced in
       electronic form from IEEE Std 1003.1, 2003 Edition,
       Standard  for  Informa‐ tion  Technology  —
       Operating System Interface (POSIX), The Open Group
       Base Specifications Issue 6, Copyright © 2001-2003
       by  the Institute  of  Electrical and Electronics
       Engineers, Inc and The Open Group. In the event of any
       discrepancy between this version and  the original
       IEEE and The Open Group Standard, the original IEEE
       and The Open Group Standard is the  referee  document.
       The original     Standard     can     be    obtained
       online    at http://www.opengroup.org/unix/online.html .
       Redistribution  of this  material  is  permitted  so
       long  as  this notice remains intact.



nail 11.25                          7/29/05
NAIL(1)
