## SYNOPSIS

           nail [-BFintv~] [-s subject] [-a attachment ] [-c cc-addr]
           [-b bcc-addr] [-r from-addr] [-h hops] to-addr ...

           nail [-BeHiInNv~] [-T name] -f [name]

           nail [-BeinNv~] [-u user]

## DESCRIPTION

           Nail is an intelligent mail processing system, which has a
           command syntax reminiscent of ed(1) with lines replaced by
           messages.  It is based on Berkeley Mail 8.1,  is  intended
           to provide the functionality of the POSIX.2 mailx command,
           and offers extensions for MIME messages, POP3 and SMTP.

## OPTIONS

           -a file
                  Attach the given file to the message.

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

           -b address
                  Send blind carbon copies to list.  List should be a
                  comma-separated list of names.

           -c address
                  Send carbon copies to list of users.

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

           -f [file]
                  Read in the contents of your mbox (or the specified
                  file)  for  processing;  when you quit, nail writes
                  undeleted messages back to this file.

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

           -H     Print header summaries for all messages and exit.

           -h hops
                  Invoke sendmail with the specified hop count.  This
                  option has no effect when SMTP is used for  sending
                  mail.

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

           -I     Shows the `Newsgroup:' or `Article-Id:'  fields  in
                  specified  in  environment or startup files.  Tilde
                  escapes are disabled.  The -r address  options  are
                  passed  to  the  mail transfer agent unless SMTP is
                  used.

           -s subject
                  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).

           -R address
                  Specify reply-to adress on command line.  Only  the
                  first  argument  after  the  -R flag is used as the
                  address.

           -T name
                  Writes the  `Message-Id'  and  `Article-Id'  header
                  fields  of  each  message  read  in  the file name.
                  Implies -I.

           -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 user
                  Reads the mailbox of the given user name.

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

           -V     Print nail's version and exit.

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

## USAGE

       Sending mail
           To  send  a  message  to  one  or more people, nail can be
           invoked with arguments which are the names  of  people  to
           whom the mail will be sent.  You are then expected to type
           in your message, followed by an 'control-D' at the  begin
           ning  of  a line.  The section below Replying to or origi
           nating mail, describes some features of nail available  to
           help you compose your letter.

       Reading mail
           In normal usage nail is given no arguments and checks your
           mail out of the post office, then prints out  a  one  line
           header of each message found.  The current message is ini
           tially the first message (numbered 1) and can  be  printed
           using  the  print  command  which can be abbreviated 'p').
           Commands such as print and delete can be given a  list  of
           message  numbers as arguments to apply to a number of mes
           sages at once.  Thus 'delete 1 2' deletes messages  1  and
           2,  while  'delete 1-5' deletes messages 1 through 5.  The
           following special message names exist:

           :n     All new messages.

           :o     All old messages.

           :u     All unread messages.

           :d     All deleted messages.

           :r     All read messages.

           /string
                  All messages that contain  string  in  the  subject
                  field (case ignored).

           address
                  All messages from address.

           .      The current message.

           ;      The  message  that  was previously the current mes
                  sage.

           ,      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  `Refer
                  ences:' field of the current message.

           -      The previous message.

           +      The next message.

           ^      The first message.

           $      The last message.

           *      All messages.

       Replying to or originating mail
           You  can  use  the reply command to set up a response to a
           message, sending it back to the person who  it  was  from.
           Text  you  then type in, up to an end-of-file, defines the
           contents of the message.  While you are composing  a  mes
           sage,  nail  treats lines beginning with the character '~'
           specially.  For instance, typing '~m' (alone  on  a  line)
           will place a copy of the current message into the response
           right shifting it by a tabstop (see indentprefix variable,
           It  is  also  possible  to  create a personal distribution
           lists  so  that,  for  instance,  you  can  send  mail  to
           'cohorts' and have it go to a group of people.  Such lists
           can be defined by placing a line like

                   alias cohorts bill ozalp jkf mark kridle@ucbcory

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

       Network mail (Internet / ARPA, UUCP, Berknet)
           See mailaddr(7) for a description  of  network  addresses.
           Nail  has  a  number  of  options  which can be set in the
           .mailrc file to  alter  its  behavior;  thus  'set  askcc'
           enables  the askcc feature.  (These options are summarized
           below).

       MIME types
           For any outgoing attachment, nail tries to  determine  the
           content  type.   It  does  this by reading MIME type files
           whose lines have the following syntax:

                   type/subtype      extension [extension ...]

           where type/subtype are strings describing  the  file  con
           tents,  and  extension  is the part of a filename starting
           after the last dot.  Any line  not  immediately  beginning
           with  an  ASCII alphabetical character is ignored by nail.
           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 application/octet-stream are used, the first
           for text or international text files, the second  for  any
           file  that  contains formatting characters other than new
           lines and horizontal tabulators.

       MIME conformance
           Nail is intended to be a MIME-conformant mail user  agent,
           with the following exception: No special handling of "mul
           tipart/alternative" messages is performed.  All parts with
           content  types  of "text" or "message" are shown.  This is
           done because the user should see as  much  information  as
           possible.
           verted, resulting in errors when this  process  cannot  be
           done  for  the  entire  text;  if the message contains NUL
           characters, it is not converted.   Attachments  are  never
           converted.  Any message that is displayed on a terminal is
           tried to convert, too, with characters not in the terminal
           character set replaced by question marks.

       Commands
           Each  command  is  typed on a line by itself, and may take
           arguments following the command word.   The  command  need
           not  be  typed  in  its entirety - the first command which
           matches the typed prefix is used.  For commands which take
           message  lists  as arguments, if no message list is given,
           then the next message forward  which  satisfies  the  com
           mand's  requirements  is  used.   If there are no messages
           forward of the current message, the search proceeds  back
           wards,  and  if  there  are  no good messages at all, nail
           types 'applicable messages' and aborts  the  command.   If
           the command begins with a # sign, the line is ignored.

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

           ?      Prints a brief summary of commands.

           !      Executes  the  shell (see sh(1) and csh(1)) command
                  which follows.

           |      A synonym for the pipe command.

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

           alternates
                  (alt)  The alternates command is useful if you have
                  accounts on several machines.  It can  be  used  to
                  inform  nail  that  the listed addresses are really
                  you.  When you reply to  messages,  nail  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.

           cd     Same as chdir.

           chdir  (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.

                  Same as ignore.

           dp or dt
                  Deletes  the  current  message  and prints the next
                  message.  If there is no next  message,  nail  says
                  'at EOF'.

           echo   Echoes  its  arguments,  resolving special names as
                  documented for the folder command.

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

           else   Marks the end of the then-part of an  if  statement
                  and the beginning of the part to take effect if the
                  condition of the if statement is false.

           endif  Marks the end of an if statement.

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

           file   (fi) The same as folder.

           folders
                  List the names of the folders in your folder direc
                  tory.

           folder (fold)  The  folder  command switches to a new mail
                  file or folder.  With no arguments,  it  tells  you
                  which  file you are currently reading.  If you give
                  it an argument, it will write out changes (such  as
                  deletions)  you  have  made in the current file and
                  read in the new file.  Some special conventions are
                  recognized  for  the  name.   #  means the previous
                  file, % means  your  system  mailbox,  %user  means
                  user's  system mailbox, & means your mbox file, and
                  +file  means  a  file  in  your  folder  directory.
                  %:filespec  expands  to the same value as filespec,
                  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  shortcut  com
                  mand, it is replaced by its long form and expanded.
                  A name of the form

                         protocol://[user@]host[:port]

                  is taken as an internet mailbox specification.  The
                  supported  protocols  are currently pop3 (POP3) and
                  pop3s (i. e. POP3 with SSL/TLS encryption).

           followupsender
                  Similar  to  Followup,  but  responds to the sender
                  only regardless of the  flipr  and  Replyall  vari
                  ables.

           Forward
                  (For)  Like  forward,  but  does not add any header
                  lines.  This is not a  way  to  hide  the  sender's
                  identity, but useful for sending a message again to
                  the same recipients.

           forward
                  (for) Takes a list of messages and a user name  and
                  sends each message to the named user.

           from   (f)  Takes a list of messages and prints their mes
                  sage headers, piped through the pager if the output
                  does not fit on the screen.

           headers
                  (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.

           help   A synonym for ?.

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

           if     Commands in nail's startup files  can  be  executed
                  conditionally  depending on whether you are sending
                  or receiving mail with the if command.   For  exam
                  ple, you can do:

                          if receive
                                  commands ...
                          endif

                  An else form is also available:

                          if receive
                                  commands ...
                          else
                                  commands ...
                          endif

                  Note  that the only allowed conditions are receive,

           list   Prints the names of all available commands.

           Mail   (M)  Similar  to  mail,  but saves the message in a
                  file named after the local part of the first recip
                  ient's address.

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

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

           newmail
                  Checks  for  new mail in the current folder without
                  commiting any changes before.  If new mail is  pre
                  sent, a message is printed.  If the header variable
                  is set, the headers of each new  message  are  also
                  printed.

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

           New    Same as unread.

           new    Same as unread.

           preserve
                  (pre) A synonym for hold.

           Pipe   (Pi)  Like  pipe  but  also  pipes  ignored  header
                  fields.

           pipe   (pi) Takes a message list and a shell  command  and
                  pipes the messages through the command.  Without an
                  argument, the current message is piped through  the
                  command  given  by  the cmd variable.  If the  page
                  variable is set, every message  is  followed  by  a
                  formfeed character.

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

           print  (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.

                  recipients of the original message.

           reply  (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.

           replyall
                  Similar to reply, but responds  to  all  recipients
                  regardless of the flipr and Replyall variables.

           replysender
                  Similar  to  Reply, but responds to the sender only
                  regardless of the flipr and Replyall variables.

           Respond
                  Same as Reply.

           respond
                  Same as reply.

           respondall
                  Same as replyall.

           respondsender
                  Same as replysender.

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

           Save   (S)  Similar  to  save, 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.

           save   (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.

           set    (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
                  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  con
                  tent information.

           saveretain
                  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
                  discouraged since it may strip header  fields  that
                  are needed to decode the message correctly.

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

           shortcut
                  Defines  a  shortcut name and its string for expan
                  sion, as described for the folder command.  With no
                  arguments,  a list of defined shortcuts is printed.

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

           source The source command reads commands from a file.

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

           touch  Takes  a  message  list  and marks the messages for
                  saving in the mbox file.

           Type   (T) Identical to the Print command.

           type   (t) A synonym for print.

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

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

           unignore
                  Removes  the  header  field  names from the list of
                  ignored fields.

           Unread Same as unread.

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

           unshortcut
                  Deletes the shortcut names given as arguments.

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

           write  (w) For conventional messages, the body without all
                  headers is written.  The output is converted to its
                  native format, if necessary.  If a  message  is  in
                  MIME multipart format, its first part is written to
                  the specified file, and the user  is  asked  for  a
                  filename  to save each other part.  In non-interac
                  tive mode, only the parts of the multipart  message
                  that  have  a filename given in the part header are
                  written, the other  are  discarded.   The  original
                  message  is never marked for deletion in the origi
                  nating mail folder.  The contents of  the  destina
                  tion  file  are  overwritten if the file previously
                  existed.

           xit    (x) A synonym for exit.

           z      Nail 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
                  window  is  calculated  in  relation to the current
                  position.  A number without a prefix  specifies  an
                  absolute  window number, and a '$' lets nail scroll
                  to the last window of messages.

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

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

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

           ~<filename
                  Identical to ~r.
                  attachment list.

           ~A     Inserts  the  string contained in the Sign variable
                  (same as `~i Sign').

           ~a     Inserts the string contained in the  sign  variable
                  (same as `~i sign').

           ~bname ...
                  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).

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

           ~d     Read the file 'dead.letter' from your  home  direc
                  tory into the message.

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

           ~fmessages
                  Read  the  named  messages  into  the message being
                  sent.  If no messages are specified,  read  in  the
                  current  message.   Message headers currently being
                  ignored (by the ignore or retain command)  are  not
                  included.

           ~Fmessages
                  Identical  to  ~f,  except  all message headers are
                  included.

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

           ~istring
                  Insert  the  value  of  the  variable  specified by
                  string into the message adding a newline  character
                  at the end.  If the variable is unset or empty, the
                  message remains unaltered.

           ~mmessages
                  Read the named  messages  into  the  message  being
                  sent,  indented by a tab or by the value of indent
                  prefix.  If no messages  are  specified,  read  the
                  current  message.   Message headers currently being
                  ignored (by the ignore or retain command)  are  not
                  set.

           ~Rstring
                  Use string as the Reply-To field.

           ~rfilename
                  Read the named file into the message.

           ~sstring
                  Cause the named string to become the  current  sub
                  ject field.

           ~tname ...
                  Add the given names to the direct recipient list.

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

           ~wfilename
                  Write the message onto the named file.

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

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

           ~:nail-command
                  Execute the given nail command.  Not all  commands,
                  however, are allowed.

           ~_nail-command
                  Identical to ~:.

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

       Variable options
           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 nail as part  of  the  environment,
           but  a  value  given  in  a  startup  file overrides this.
           ask or asksub
                  Causes  nail  to prompt you for the subject of each
                  message you send.  If you  respond  with  simply  a
                  newline, no subject field will be sent.

           askattach
                  If set, nail asks for files to attach at the end of
                  each message.  Responding with a newline  indicates
                  not to include an attachment.

           askcc  Causes  you  to  be  prompted for additional carbon
                  copy recipients (at the end of each message if bsd
                  compat  is  set).   Responding with a newline indi
                  cates your satisfaction with the current list.

           askbcc Causes you to be prompted for additional blind car
                  bon  copy recipients (at the end of each message if
                  bsdcompat is set).  Responding with a newline indi
                  cates your satisfaction with the current list.

           autoinc
                  Same as newmail.

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

           bang   Enables the substitution of `!'  by the contents of
                  the last command line in shell escapes.

           bsdcompat
                  Sets some cosmetical features  to  traditional  BSD
                  style;  affects  the  default  prompt, the order of
                  header fields, the format of  the  header  summary,
                  the  output  format  of  the  set  command, and the
                  default pager.

           datefield
                  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.

           debug  Prints debugging messages and disables  the  actual
                  delivery of messages.

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

                  option is set, nail starts even with an empty mail
                  box.

           flipr  Exchanges the Respond with the respond commands and
                  vice-versa.

           header Causes the header summary to be written at startup;
                  enabled by default.

           hold   This  option is used to hold messages in the system
                  mailbox by default.

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

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

           keep   This option causes nail  to  truncate  your  system
                  mailbox  instead  of  deleting it when it is empty.
                  This should always be set, since it prevents  mali
                  cious  users  from  creating fake mail folders in a
                  world-writable spool directory.

           keepsave
                  When you save a message, nail usually  discards  it
                  from  the  originating  folder  when  you quit.  To
                  retain all saved messages, set this option.

           metoo  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.

           newmail
                  Checks for new mail in the current folder each time
                  the prompt is printed.

           noheader
                  Setting the option noheader is the same  as  giving
                  the -N flag on the command line.

           outfolder
                  Causes the filename given in the record variable to
                  be interpreted relative to the directory  given  in
                  the  folder  variable  rather  than  to the current
                  directory unless it is an absolute pathname.

           page   If set, each message the pipe command prints out is
                  file  'dead.letter'  in  your home directory.  This
                  option is set by default.

           searchheaders
                  If this option is set, then a  message-list  speci
                  fier 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.

           sendwait
                  When  sending a message, wait until the mail trans
                  fer agent exits before accepting further  commands.

           showlast
                  Setting  this  option  causes  nail to start at the
                  last message instead of the first one when  opening
                  a mail folder.

           showto Causes  the recipient of the message to be shown in
                  the header summary if the message was sent  by  the
                  user.

           ssl-no-default-ca
                  Do  not  load  the  default  CA locations to verify
                  SSL/TLS server certificates.

           ssl-v2-allow
                  Accept SSLv2 connections.  These are  normally  not
                  allowed  because this protocol version is insecure.

           stealthmua
                  Inhibits the generation of  the  'Message-Id:'  and
                  'User-Agent:'  header  fields  that include obvious
                  references to nail.  There are two pitfalls associ
                  ated  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.

           verbose
                  Setting the option verbose is the same as using the
                  -v flag on the command line.   When  nail  runs  in
                  verbose  mode,  the  actual delivery of messages is
                  displayed on the user's terminal.

       String Options
           The string options include the following:

           charset
                  The name of the character set  used  by  nail.   If
                  unset,  iso-8859-1  is  the default.  The character
                  user's home directory.

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

           encoding
                  The default MIME encoding to use in  outgoing  text
                  messages  and message parts.  Valid values are 8bit
                  or quoted-printable.  The default is 8bit.  In case
                  the  mail  transfer  system is not ESMTP compliant,
                  quoted-printable should be used instead.  If  there
                  is  no need to encode a message, 7bit transfer mode
                  is used, without regard to the value of this  vari
                  able.   Binary  data  is  always  encoded in base64
                  mode.

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

           folder The name of the directory to use for storing  fold
                  ers  of  messages.  If this name begins with a '/',
                  nail considers it to be an absolute pathname;  oth
                  erwise,  the  folder directory is found relative to
                  your home directory.

           from   The address to put into the 'From:'  field  of  the
                  message  header.   If  replying  to a message, this
                  address is handled as if it were in the  alternates
                  list.   If  this variable is set, a 'Sender:' field
                  containing  the  user's  name  is  also  generated,
                  unless  the variable smtp is set and its value dif
                  fers from localhost.  If the machine's hostname  is
                  not  valid at the Internet (for example at a dialup
                  machine), you have to set this variable to get cor
                  rect Message-ID header fields.

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

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

           MAIL   Is  used as the user's mailbox, if set.  Otherwise,
                  a system-dependent default is used.  Can be a  pro
                  tocol://  string  (see  the folder command for more
                  information).

                  imported  from  the  environment;  it has an effect
                  only if it is set in /etc/mail.rc or  ~/.mailrc  to
                  allow   bypassing  the  configuration  with  e.  g.
                  `MAILRC=/dev/null'.  Use this file  for  nail  com
                  mands that are not understood by other mailx imple
                  mentations.

           ORGANIZATION
                  The value to put into the 'Organization:' field  of
                  the message header.

           PAGER  Pathname  of the program to use in the more command
                  or when crt variable is set.  The default paginator
                  pg(1)  or,  in  BSD  compatibility mode, more(1) is
                  used if this option is not defined.

           password-user@host
                  Set the password for user when connecting to  host.
                  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.

           pipe-content/subcontent
                  When a MIME message part of content/subcontent type
                  is displayed or it is replied to, its text is  fil
                  tered  through  the  value  of this variable inter
                  preted as a shell command.  Special  care  must  be
                  taken  when using such commands as mail viruses may
                  be distributed by this method; if messages of  type
                  application/x-sh  were  filtered through the shell,
                  for example, a message sender could easily  execute
                  arbitrary code on the system nail is running on.

           pop3-keepalive
                  Many POP3 servers will close the connection after a
                  period of inactivity.  Setting this variable  to  a
                  numeric  value greater than 0 causes a NOOP command
                  to be sent each value seconds if no other operation
                  is performed.

           prompt The  string  printed  when  a  command is accepted.
                  Defaults to "? ", or to "& " if the bsdcompat vari
                  able is set.

           quote  If  set,  nail  starts  a replying message with the
                  original message prefixed by the value of the vari
                  able  indentprefix.  Normally, a heading consisting
                  of 'Fromheaderfield wrote:' is printed  before  the
                  quotation.   If the string noheading is assigned to
                  the quote variable, this heading  is  omitted.   If
                  scrolling with the z command.

           sendmail
                  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.

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

           Sign   A string for use with the ~A command.

           sign   A string for use with the ~a command.

           smtp   Normally,  nail invokes sendmail(8) directly
                  to transfer messages.  If  smtp  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 standard
                  port, a value of server:port can  be  given,
                  with port as a name or as a number.

           ssl-ca-dir
                  Specifies  a  directory with CA certificates
                  for  verification.   See   SSL_CTX_load_ver
                  ify_locations(3) for more information.

           ssl-ca-file
                  Specifies  a  file  with CA certificates for
                  verification.  See SSL_CTX_load_verify_loca
                  tions(3) for more information.

           ssl-cert
                  Sets the file name for a SSL/TLS client cer
                  tificate required by some servers.

           ssl-cert-user@host
                  Sets an account-specific  file  name  for  a
                  SSL/TLS  client certificate required by some
                  servers.  Overrides ssl-cert for the  speci
                  fied account.

           ssl-cipher-list
                  Specifies a list of ciphers for SSL/TLS con
                  nections.  See ciphers(1) for more  informa
                  tion.

           ssl-key
                  Sets  the file name for the private key of a
                  SSL/TLS client certificate.  If  unset,  the

           ssl-rand-egd
                  Gives the  pathname  to  an  entropy  daemon
                  socket, see RAND_egd(3).

           ssl-rand-file
                  Gives  the  pathname  to a file with entropy
                  data, see RAND_load_file(3).  If the file is
                  a  regular  file  writable  by  the invoking
                  user, new data is written to it after it has
                  been loaded.

           ssl-verify
                  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'.

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

           replyto
                  The  address  to  put  into  the 'Reply-To:'
                  field of the message header.  If replying to
                  a  message, this address is handled as if it
                  were in the alternates list.

           signature
                  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  signature  for an individual mes
                  sage.

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

           ttycharset
                  The character set of the terminal nail oper
                  ates on.  There is normally no need  to  set
                  this  variable since nail can determine this
                  automatically by  looking  at  the  LC_CTYPE
                  locale  setting; if this succeeds, the value

           HOME   The user's home directory.

           LANG, LC_ALL, LC_CTYPE, LC_MESSAGES
                  See locale(7).

           MAILRC Is used as startup file instead of ~/.mailrc
                  if set.

           NAILRC If this variable is set and  MAILRC  is  not
                  set, it is read as startup file.

           TMPDIR Used   as   directory  for  temporary  files
                  instead of /tmp, if set.

## FILES

           ~/.mailrc
                  File giving initial commands.

           /etc/mail.rc
                  System wide initialization file.

           ~/.mime.types
                  Personal MIME types.

           /etc/mime.types
                  System wide MIME types.

## EXAMPLES

       POP3 client setup
           First, you need the following data from  your  ISP:
           the  host  name  of  its 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 `myname', you can refer to this
           account using the folder command or -f command line
           option with

               pop3://myname@server.myisp.example

           (replace  `pop3://'  with  `pop3s://' if the server
           supports SSL/TLS).  The string is  not  necessarily
           the  same  as  your  internet mail address.  As you
           probably want messages  to  be  deleted  from  this
           account  after  saving  them,  prefix it with `%:'.
           The shortcut command can be used  to  avoid  typing
           that  many  characters  every time you want to con
           nect:

               shortcut myisp %:pop3://myname@server.myisp.example

           You probably want to put this string into a startup

           You should change the permissions of this  file  to
           0600,  see  chmod(1).  Many POP3 servers will close
           the connection after a short period of  inactivity.
           Use

               set pop3-keepalive=30

           to  send  a  keepalive message each 30 seconds.  If
           you encounter  problems  connecting  to  a  SSL/TLS
           server,  try  the  ssl-rand-egd  and  ssl-rand-file
           variables (see the OpenSSL FAQ  for  more  informa
           tion)  or  specify  the  protocol version with ssl-
           method.  Contact your ISP if you need a client cer
           tificate  or if verification of the server certifi
           cate fails.  If the failed  certificate  is  indeed
           valid, fetch it by executing

               openssl s_client -connect server.myisp.example:pop3s

           (see  s_client(1))  and put it into the file speci
           fied with ssl-ca-file.

       Reading HTML mail
           You need the w3m utility  or  another  command-line
           web  browser  that can write plain text to standard
           output.

               set pipe-text/html="w3m -dump -T text/html"

           will then cause HTML text to be  converted  into  a
           more  friendly  form, the command string depends on
           the browser you are using.

## SEE ALSO

           fmt(1),  newaliases(1),  openssl(1),  pg(1),  proc
           mail(1),  more(1), vacation(1), ssl(3), aliases(5),
           locale(7), mailaddr(7), sendmail(8)

## NOTES

           Variables in the environment passed to nail  cannot
           be unset.

           The  character set conversion relies heavily on the
           iconv(3)  function.   Its   functionality   differs
           widely between the various system environments nail
           runs on.

           POP3 mailboxes are limited in some ways: 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
           There is no support for SSL/TLS certificate revoca
           tion lists (CRLs) yet.

           A  mail  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 Refer
           ence Manual originally written by Kurt  Shoens.   A
           revision for nail was done by Gunnar Ritter.

    nail 10.3                    11/29/02                     NAIL(1)